# Config

### 📝 Field Reference

* **key** → Internal identifier for the menu item.
* **label** → Text shown in the menu.
* **type** → Defines if it’s a submenu (`"submenu"`) or direct item.
* **items** → List of actions inside a submenu.
* **event** → What happens when clicked:
  * **side** → Where the event runs (`client` or `command`).
  * **name** → Event/command name triggered.
  * **args** → Arguments passed to the event.

***

### 👤 Citizen Transactions

Actions you can perform on citizens:

* **Search Person** → Triggers `frkn:police:searchPerson`.
* **Handcuff / Uncuff** → Uses items (`handcuffs` or `cuffkeys`) to restrain or free.
* **Transport Handcuffed Person** → Escort system.
* **Carry Person** → Carry animation/interaction.
* **Put in Vehicle / Take out of Vehicle** → Place or remove handcuffed person from a vehicle.
* **Send to Public Authorities** → Custom action (`frkn:police:sendPublic`).
* **Send to Jail** → Uses the command `jailmenu`.
* **Perform GSR Test** → Gunshot residue test.
* **Perform Alcohol Test** → Breathalyzer test.

***

### 🚗 Vehicle Operations

Police vehicle-related actions:

* **Check Tuning Status** → Detect modifications.
* **Check Window Tint / Remove Tint** → Inspect or remove tint.
* **Towing Vehicle** → Tow/impound vehicle (`VehicleScuff`).
* **Parking Violation** → Issue violation ticket.

***

### 🪧 Object Operations

Allows placing world props for police operations:

* **Barriers, Cones, Road Signs, Tents, Lights, Stands, Metal Barriers, Bollards, Fences, Checkpoints**.
* Each item has:
  * `prop` → Model to spawn.
  * `freeze` → Whether it’s locked in place.
  * `count` → How many to place.
  * `spacing` → Distance between multiple props.
  * `grade` → Minimum police rank required.

***

### 🚔 Police Operations

General police tools:

* **Show Badge** → Show police badge.
* **Vehicle Radar** → Activate in-vehicle radar.
* **Radar Remote** → Open radar remote control.
* **Fingerprint** → Open fingerprint system.
* **K9 Menu** → Open dog companion menu.

***

👉 In short:\
This `ActionMenu` organizes **police job features** into **submenus** for citizen handling, vehicle operations, prop placement, and advanced police tools (radar, K9, etc.).

```lua
  ActionMenu = {
        { 
            key = "citizen", label = "Citizen Transactions", type = "submenu", 
            items = {
                { key = "search_person", label = "Search Person", event = { side = "client", name = "frkn:police:searchPerson", args = {} } },
                { key = "handcuff", label = "Handcuff", event = { side = "client", name = "police:client:CuffPlayer", args = { item = "handcuffs", menu = "main" } } },
                { key = "uncuff", label = "Uncuff", event = { side = "client", name = "police:client:UnCuffPlayer", args = { item = "cuffkeys", menu = "main" } } },
                { key = "transport_cuffed", label = "Transport Handcuffed Person", event = { side = "client", name = "frkn-policejob:client:EscortPlayer", args = {} } },
                { key = "carry", label = "Carry Person", event = { side = "client", name = "frkn:police:carry", args = {} } },
                { key = "put_in_vehicle", label = "Put Handcuffed Person in Vehicle", event = { side = "client", name = "police:client:PutPlayerInVehicle", args = {} } },
                { key = "take_out_vehicle", label = "Take Handcuffed Person out of Vehicle", event = { side = "client", name = "police:client:SetPlayerOutVehicle", args = {} } },
                { key = "send_public", label = "Send to public authorities", event = { side = "client", name = "frkn:police:sendPublic", args = {} } },
                { key = "send_jail", label = "Send to jail", event = { side = "command", name = "jailmenu", args = {} } },
                { key = "gsr", label = "Perform GSR test", event = { side = "client", name = "frkn-policejob:gsr", args = {} } },
                { key = "alcohol", label = "Perform alcohol test", event = { side = "client", name = "frkn-policejob:alcoholtest", args = {} } },
            }
        },
        { 
            key = "vehicle", label = "Vehicle Operations", type = "submenu", 
            items = {
                { key = "check_tuning", label = "Check tuning status", event = { side = "client", name = "frkn:vehicle:checkTuning", args = {} } },
                { key = "check_tint", label = "Check window tint", event = { side = "client", name = "frkn:vehicle:checkTint", args = {} } },
                { key = "remove_tint", label = "Remove window tint", event = { side = "client", name = "frkn:vehicle:removeTint", args = {} } },
                { key = "vehicle_scuff", label = "Towing Vehicle",  event = { side = "client", name = "frkn-policejob:client:VehicleScuff", args = {} } },
                { key = "parking_violation", label = "Parking Violation", event = { side = "client", name = "frkn-policejob:client:ParkingViolation", args = {} } },
            }
        },
        {
            key = "objects",
            label = "Object Operations",
            type = "submenu",
            items = {
                { key = "place_barrier",   label = "Place barrier",        event = { side = "client", name = "frkn:props:place", args = { prop = "prop_barrier_work06a", freeze = true,  count = 1, spacing = 1.5, grade = 0 } } },
                { key = "place_spike",     label = "Place spike",          event = { side = "client", name = "frkn:props:place", args = { prop = "P_ld_stinger_s",     freeze = false, count = 1, spacing = 3.5, grade = 2 } } },
                { key = "place_cone",      label = "Place cone",           event = { side = "client", name = "frkn:props:place", args = { prop = "prop_roadcone02a",   freeze = false, count = 1, spacing = 1.5, grade = 0 } } },
                { key = "place_roadsign",  label = "Place road sign",      event = { side = "client", name = "frkn:props:place", args = { prop = "prop_snow_sign_road_06g", freeze = true, count = 1, spacing = 1.5, grade = 1 } } },
                { key = "place_tent",      label = "Place tent",           event = { side = "client", name = "frkn:props:place", args = { prop = "prop_gazebo_03",    freeze = true,  count = 1, spacing = 1.5, grade = 2 } } },
                { key = "place_light",     label = "Place light",          event = { side = "client", name = "frkn:props:place", args = { prop = "prop_worklight_03b", freeze = true,  count = 1, spacing = 1.5, grade = 0 } } },
                { key = "place_stand",     label = "Place Police Stand",   event = { side = "client", name = "frkn:props:place", args = { prop = "p_amb_cop_stand",   freeze = true,  count = 1, spacing = 1.5, grade = 1 } } },
                { key = "place_barrier_2", label = "Place Metal Barrier",  event = { side = "client", name = "frkn:props:place", args = { prop = "prop_barrier_02a",  freeze = true,  count = 1, spacing = 1.5, grade = 1 } } },
                { key = "place_bollard",   label = "Place Concrete Bollard", event = { side = "client", name = "frkn:props:place", args = { prop = "prop_bollard_01a", freeze = true,  count = 1, spacing = 1.5, grade = 2 } } },
                { key = "place_fence",     label = "Place Temporary Fence", event = { side = "client", name = "frkn:props:place", args = { prop = "prop_temp_fence_01", freeze = true, count = 1, spacing = 1.5, grade = 2 } } },
                { key = "place_cone_2",    label = "Place Orange Cone",    event = { side = "client", name = "frkn:props:place", args = { prop = "prop_coner",        freeze = false, count = 1, spacing = 1.5, grade = 0 } } },
                { key = "place_checkpoint",label = "Place Checkpoint",     event = { side = "client", name = "frkn:props:place", args = { prop = "prop_air_mainsign",  freeze = true,  count = 1, spacing = 1.5, grade = 2 } } },
            }
        },

        { 
            key = "policeops", label = "Police Operations", type = "submenu", 
            items = {
                { key = "show_badge", label = "Show Badge", event = { side = "client", name = "frkn-policejob:showBadge", args = {} } },
                { key = "vehicle_radar_on", label = "Vehicle Radar", event = { side = "client", name = "frkn-policejob:radarOn", args = {} } },
                { key = "vehicle_remote_opn", label = "Radar Remote", event = { side = "client", name = "frkn-policejob:radarRemote", args = {} } },
                { key = "finger", label = "Fingerprint", event = { side = "client", name = "frkn-policejob:openFingerPrint", args = {} } },
                { key = "k9", label = "K9 Menu", event = { side = "client", name = "frkn-k9:open", args = {} } },
            }
        },
    },
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.0resmon.org/0resmon/frkn-resources/frkn-police-job/action-menu/config.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
