# Configuration

```lua
Config = {}

Config.Options = {
    Cooldown = 9, -- Dont touch this!
    PedDistanceCheck = 15.0, -- What distance when the PED should appear
    PedReset = 1000 * 60 * 30, -- 30 Minutes (Ped quickly resets for safety)
    JobCheckTime = 10, -- How often it checks for your "group" so you can access the armory menu.
    Jobs = {"police", "2nd Job"}, -- Jobs that can access the armory menu
    RecieveItem = false, -- If you use QBCore, set to true. This adds the weapon as an item, instead of adding it to your ped directly. 
    ReceiveAmmo = 100, -- How much ammo you should receive with your weapon
    Marker = {
        MarkerDistance = 15.0, -- How close the ped need to be before the marker appears (Only if UseTarget is false)
        DisplayDistance = 1.5, -- How close the ped need to be before the Text appears (Only if UseTarget is false)
        DrawMarkerColor = {34, 67, 153, 200}, -- Drawmarker Color (Only if UseTarget is false)
    },
}

Config.ArmoryPos = {
    [1] = {
        ped = nil, -- Dont touch this
        pedModel = "mp_s_m_armoured_01", -- What ped model the armory ped should be
        pedState = false, -- Dont touch this
        armory = vector3(452.32, -980.03, 30.68), -- Armory Location (Where you interact)
        armoryHeading = 270.0, -- What heading you should be positioned when receiving weapon
        armoryPed = vector3(454.18, -980.11, 29.68), -- Armory Ped Location (Where the ped should stand)
        armoryPedHeading = 90.0, -- Armory Ped Heading (What direction he should look)
        camCoords = vector3(451.61, -982.09, 31.25), -- Camera Coords (If you dont want to use this, just turn this to nil)
        camCoordsHeading = -30.0 -- Camera Heading (If you dont want to use this, just turn this to nil)
    }
    --[[
    [2] = {
        ped = nil, -- Dont touch this
        pedModel = "s_m_y_sheriff_01", -- What ped model the armory ped should be
        pedState = false, -- Dont touch this
        armory = vector3(444.59, -991.25, 30.69), -- Armory Location (Where you interact)
        armoryHeading = 180.2, -- What heading you should be positioned when receiving weapon
        armoryPed = vector3(444.62, -992.92, 29.69), -- Armory Ped Location (Where the ped should stand)
        armoryPedHeading = 358.1, -- Armory Ped Heading (What direction he should look)
        camCoords = nil, -- Camera Coords (If you dont want to use this, just turn this to nil)
        camCoordsHeading = nil -- Camera Heading (If you dont want to use this, just turn this to nil)
    }
    ]]
}

Config.ArmoryWeapons = {
    --[[ 
    { 
        ["hash"] = "WEAPON_NAME_HERE", -- Weapon Name
        ["name"] = "WEAPON_LABEL_TEXT_HERE", -- Label Text
        ["ammo_type"] = "WEAPON_AMMO_ITEM", -- Used for users that uses an extended inventory for ammo. If you dont use any sort of other inventory, Please ignore it. 
        ["type"] = "WEAPON_TYPE_HERE", -- pistol, rifle, ammo
        ['jobs'] = {'JOBS_WHO_CAN_ACCESS_THE_WEAPON'}, -- Jobs who can take out the specific weapon, example {"police", "swat"}
        ['grade'] = {WHAT_GRADE_IS_REQUIRED} -- Required for ESX & QBCore, If vRP then just ignore the grade part
    },  
    ]]
    { ["hash"] = "WEAPON_SMG", ["name"] = "MP5 9mm ", ["ammo_type"] = "smg_ammo", ["type"] = "rifle", ['jobs'] = {'police'}, ['grade'] = {1}},
    { ["hash"] = "WEAPON_CARBINERIFLE_MK2", ["name"] = "Carbine Rifle MK2", ["ammo_type"] = "rifle_ammo", ["type"] = "rifle", ['jobs'] = {'police'}, ['grade'] = {2}},
    { ["hash"] = "WEAPON_MARKSMANRIFLE", ["name"] = "M21 DMR", ["ammo_type"] = "snp_ammo", ["type"] = "rifle", ['jobs'] = {'police'}, ['grade'] = {2}},
    { ["hash"] = "WEAPON_COMBATPISTOL", ["name"] = "Glock 17", ["ammo_type"] = "pistol_ammo", ["type"] = "pistol", ['jobs'] = {'police'}, ['grade'] = {0}},
    { ["hash"] = "WEAPON_NIGHTSTICK", ["name"] = "Nightstick", ["ammo_type"] = "pistol_ammo", ["type"] = "pistol", ['jobs'] = {'police'}, ['grade'] = {0}},
    { ["hash"] = "WEAPON_STUNGUN", ["name"] = "Stungun", ["ammo_type"] = "pistol_ammo", ["type"] = "pistol", ['jobs'] = {'police'}, ['grade'] = {0}},
    { ["hash"] = "WEAPON_FLASHLIGHT", ["name"] = "Flashlight", ["ammo_type"] = "pistol_ammo", ["type"] = "pistol", ['jobs'] = {'police', 'Swat'}, ['grade'] = {0}},
    { ["hash"] = "WEAPON_PUMPSHOTGUN", ["name"] = "Beanbag Shotgun", ["ammo_type"] = "shotgun_ammo", ["type"] = "rifle", ['jobs'] = {'police', 'Swat'}, ['grade'] = {0}},
    { ["hash"] = "WEAPON_PUMPSHOTGUN_MK2", ["name"] = "Pump Shotgun", ["ammo_type"] = "shotgun_ammo", ["type"] = "rifle", ['jobs'] = {'police', 'Swat'}, ['grade'] = {1}}
}

Config.MetaData = nil -- MetaData to be added for the weapon if its given as a inventory item [This is for things like ox_inventory or qb-inventory]
--[[
    Config.MetaData = { registered = true, serial = 'Owner is the LSPD' }
--]]

Strings = {
    ["menu_title"] = "Police Armory",
    ["open_armory"] = "~b~Police Armory~s~",
    ["busy_armory"] = "Police Armory already in use by somebody else",
    ["try_again"] = "Please try again",
    ["wait_turn"] = "Wait for your turn",
    ['locked'] = ' | Locked',
    ['no_access'] = 'You dont have access to this weapon.'
}
```


---

# 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.txos.dev/resources/txos-armory/configuration.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.
