Skip to content

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 = {} } },
            }
        },
    },