# Config

```lua
Config = {}

Config.Framework = 'esx' -- 'esx' | 'qb'
Config.NotificationType = 'esx' -- 'esx' | 'qb' | 'ox' | 'mythic'
Config.Locale = 'en' -- 'en' | 'fi'
Config.DebugMode = false -- false | true

Config.Inventory = 'default' -- 'default' | 'ox' | 'qs'
Config.Target = 'none' -- 'none' | 'ox' | 'qb'
Config.UseOxLib = false -- false | true, remember to add " shared_script '@ox_lib/init.lua' " to fxmanifest.lua if set to true

Config.UISettings = {
    color = 'blue', -- https://v6.mantine.dev/theming/colors/
    shade = 6, -- 1-9
}
Config.DateFormat = {year = 'numeric', month = '2-digit', day = '2-digit', hour = '2-digit', minute = '2-digit' } -- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString#options
Config.Use3DViewer = true

Config.Controls = {
    interact = 38, -- E
    remove = 246, -- Y
}

Config.Anims = {
    collect = {
        dict = 'weapons@first_person@aim_rng@generic@projectile@sticky_bomb@',
        name = 'plant_floor',
        duration = 1000,
    },
    remove = {
        dict = 'weapons@first_person@aim_rng@generic@projectile@sticky_bomb@',
        name = 'plant_floor',
        duration = 1000,
    },
}

Config.Dist = {
    analyze = 2.0,
    evidence = {
        see = 10.0,
        interact = 2.0,
    },
    reconstruction = 20.0,
}

Config.PoliceJobs = {
    police = 0, -- job name, minimum grade required
    sheriff = 0,
}

Config.EnableEvidence = true
Config.EnableGSR = true
Config.EnableVehFingerprints = true

Config.Items = {
    gsrTest = 'gsr_test_kit',
    gsrCloth = 'gsr_cloth',
    uvLight = 'uv_light',
    camera = 'evidence_camera',
}

Config.Markers = { -- marker settings for different evidence types
    bullet_casing = {
        type = 27,
        color = {r = 204, g = 150, b = 24, a = 200},
    },
    bullet_fragment = {
        type = 27,
        color = {r = 174, g = 124, b = 0, a = 200},
    },
    bullet_hole = {
        type = 3,
        color = {r = 24, g = 96, b = 240, a = 200},
    },
    fingerprint = {
        type = 3,
        color = {r = 24, g = 96, b = 240, a = 200},
    },
    blood_sample = {
        type = 27,
        color = {r = 150, g = 0, b = 0, a = 200},
    },
    evidence = {
        type = 3,
        color = {r = 24, g = 96, b = 240, a = 200},
    },
}

Config.WeaponsNoShells = { -- Weapons that shouldn't drop shells
    --[`WEAPON_STUNGUN`] = true,
}
Config.WeaponsNoGSR = { -- Weapons that won't leave a GSR
    [`WEAPON_STUNGUN`] = true,
}
Config.WeaponsNoFragments = { -- Weapons that won't leave bullet fragments
    [`WEAPON_STUNGUN`] = true,
}
Config.WeaponsNoHoles = { -- Weapons that won't leave bullet holes
    [`WEAPON_STUNGUN`] = true,
}

Config.WeaponToSeeEvidence = 'WEAPON_FLASHLIGHT' -- Weapon needed to see evidence on ground, leave to blank if you want players to always see evidence on ground
Config.ShellRandomness = true -- Should shell coords have a small random offset

Config.ShootingWait = 250 -- How many milliseconds to wait before checking again if player is shooting, bigger = better performance
Config.UpdateEvidenceTime = 1000 * 60 * 10 -- How often should server check whether an evidence should be deleted, bigger = better performance (last number = time in minues)
Config.UpdateGSRTime = 1000 * 60 * 5 -- How often should server check whether a gsr should be deleted, bigger = better performance (last number = time in minues)

Config.AnalyzeCoords = { -- Coords where you can analyze evidence
    vector3(483.54, -987.9, 30.69),
    vector3(453.64, -978.72, 30.51),
}

Config.GSR = {
    removeInWater = true, -- Should gsr be removed when player goes into water (true / false)
    cleanTime = 15, -- How long should it take to remove gsr when in water (in seconds)
    disappearTime = 60 * 60, -- How long should it take for GSR to disappear from hands (last number = time in minutes)
    recentTime = 60 * 10, -- Time for the GSR test to show that the GSR is recent (last number = time in minutes)
    testDuration = 5000, -- How long should it take to do a GSR test (in milliseconds)
    clothDuration = 5000, -- How long should it take to use a GSR cloth (in milliseconds)
    needJob = true, -- Do you need a job to use the GSR test kit (true / false)
    useCloth = true, -- Use GSR cloth item (allows players to take off GSR by using this item)
}

Config.SerialChance = { -- chance for player weapon serial number to be shown when evidence analyzed (percentage), only evidence listed here will have a chance for serial number to be shown (only works with ox_inventory)
    bullet_casing = 100,
    --bullet_fragment = 10,
}

Config.NameChance = { -- chance for player name to be shown when evidence analyzed (percentage), only evidence listed here will have a chance for name to be shown
    blood_sample = 100,
    bullet_casing = 50,
    fingerprint = 100,
    --bullet_fragment = 50,
}

Config.GlovesAffect = { -- should gloves affect the chance of fingerprints being left in certain evidence
    bullet_casing = true,
    bullet_fragment = true,
    fingerprint = true,
}

Config.DuplicateDistance = { -- distance to check for duplicate evidence before spawning new one
    bullet_fragment = 0.1,
    bullet_casing = 0.1,
    bullet_hole = 0.1,
    blood_sample = 0.1,
}

Config.Disappear = { -- how long for different evidence types to disappear
    bullet_casing = 60 * 360,  -- (last number = time in minutes)
    bullet_fragment = 60 * 360,
    bullet_hole = 60 * 360,
    fingerprint = 60 * 360,
    blood_sample = 60 * 360,
    evidence = 60 * 360,
    vehicle_fingerprint = 1000 * 60 * 120
}
```


---

# 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://tk-scripts.gitbook.io/docs/tk_evidence/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.
