Skip to main content

Evidence

Evidence

Info

Trailer
Showcase
BUY HERE

General benefits and script support

Dependencies & Installation

  • Insert icons and items into your invatars which you can find in d_labs_evidence\items
  • Put the script in the server and add ensure "script_name" to server.cfg
  • enjoy...
tip

Edit Functions means that the script can be integrated with any of yours, using this

Framework

ResourceStatus
qbx_coreSupported
ESXSupported
QB-CoreSupported
OX-CoreSupported
Edit FunctionsYES

Inventory

ResourceStatus
ox_inventorySupported
qb-inventorySupported
lj-inventorySupported
ps-inventorySupported
qs-inventorySupported
Edit FunctionsYES

Notify / ProgressBar etc.

ResourceStatus
ox_libSupported
based on the frameworkSupported
Edit FunctionsYES

Target

ResourceStatus
ox_targetSupported
qb-targetSupported
basic gta inputSupported
Edit FunctionsYES

Screenshot

ResourceStatus
screenshot-basicOptimal

Config demo

Open Config
config.lua
Config = {}

Config.Debug = {
print = false, -- Debug print
targetZone = false, -- showing the target zone
}

Config.Framework = {
language = 'en', -- the language used in Config.Texts
framework = false, -- if false, the framework will automatically detect your framework
frameworkVersion = false, -- set to false if you are using the latest framework, otherwise check the docs at http://www.d-labs.site/docs/advantages/framework
autoInsertSQL = true, -- the database will be set automatically
logs = '', -- discord webooks for logs
}

-- if set to false, the script will find itself automatically, if you want to use custum functions (server_open / client_open) set to true
Config.Custom = {
notif = false,
skill = false,
progressBar = false,
badge = false, -- whether you want to write their badge for the officers using another script (custom integration must be set)
convertItemToCommand = false, -- if you don't want to use items (e.g. if you don't have an inventory, then Config.Item will behave like commands
}

Config.Settings = {
pageSize = 30, -- maximum number of results per page
deleteTime = 5, -- how often to check if the proof should be deleted (server side)
sendTime = 3, -- how long it takes to update the evidence (client side)
saveDB = true, -- whether the evidence should be saved and retrieved when the server is switched on
timeFormat = '%m/%d/%Y %I:%M:%S %p', -- EU = %Y-%m-%d %H:%M:%S US = %m/%d/%Y %I:%M:%S %p
nuiColor = 'blue', -- blue / red / green / orange / purple / police / sheriff (if you want to fully edit, set to false and go to css)
}

Config.Job = {'police','sheriff'} -- jobs that have access to functions

Config.JobProtection = false -- not to create evidence if ped is part of the job

Config.JobProtectionFingers = true -- Even though (Config.JobProtection) is not enabled, should police officers still not leave fingerprints (to prevent it from being overwritten)

Config.WeaponFlashlight = 'WEAPON_FLASHLIGHT' -- if you want to change the weapon you have to have in your hand to show evidence.

Config.Permissions = { -- if the job is not listed here, it automatically has full rights
['police'] = { -- job name
openTablet = 1, -- minimum grade for action
collect = 1,
delete = false, -- if you don't want anyone to be able to delete evidence enter false or set number
},
-- ['sheriff'] = {
-- openTablet = 1,
-- collect = 1,
-- delete = 2,
-- }
}

Config.Item = {
evidence_bag = 'evidence_bag',
evidence_folder = 'evidence_folder',
evidence_bag_empty = 'evidence_bag_empty', -- put in the shop
evidence_tablet = 'evidence_tablet', -- put in the shop
evidence_briefcase = 'evidence_briefcase', -- put in the shop
evidence_cleankit = 'evidence_cleankit', -- put in the shop
evidence_camera = 'evidence_camera', -- put in the shop
evidence_gsr = 'evidence_gsr', -- put in the shop
evidence_dna = 'evidence_dna', -- put in the shop
}

Config.TabletCommand = 'openEvidence'

Config.Key = {
destroy = {
label = 'Destroy',
key = 'E'
},
grabe = {
label = 'Take',
key = 'E'
},
info = {
label = 'Examine',
key = 'G'
},
}

Config.Target = {
[1] = {
label = 'Insert Evidence',
icon = 'fa-solid fa-flask',
prompt = { -- if you don't use target it is necessary to use prompt
key = 'E',
label = 'Insert Evidence %s',
}
},
[2] = {
label = 'Weapon Analysis',
icon = 'fa-solid fa-gun',
prompt = {
key = 'G',
label = 'Weapon Analysis %s',
},
},
[3] = {
label = 'Open Evidence',
icon = 'fa-solid fa-computer',
prompt = {
key = 'E',
label = 'Open Evidence %s',
},
},
[4] = {
label = 'Order to Depart',
icon = 'fa-solid fa-truck-fast',
prompt = {
key = 'F',
label = 'Order to Depart %s',
},
},
[5] = {
label = 'Start Collecting Evidence',
icon = 'fa-solid fa-magnifying-glass',
prompt = {
key = 'H',
label = 'Start Collecting Evidence %s',
},
},
}

Config.Templates = {
-- Documentation: https://platejs.org/docs/api/core/plate#initialValue

-- if you don't want any information, simply delete or edit the line
['Projectile'] = {
{ id = "1", type = "h1", children = {{ text = "Bullet Analysis" }}, align = "center" },
{ id = "2", type = "p", children = {{ text = "Location Found: {location}" }}},
{ id = "3", type = "p", children = {{ text = "Weapon Type: {weapon}" }}},
{ id = "4", type = "p", children = {{ text = "Caliber: {calibre}" }}},
{ id = "5", type = "h2", children = {{ text = "Serial Number Matches: {serial}", color = "#ff1e1e" }}}
},
['Cartridge'] = {
{ id = "1", type = "h1", children = {{ text = "Shell Casing Analysis" }}, align = "center" },
{ id = "2", type = "p", children = {{ text = "Location Found: {location}" }}},
{ id = "3", type = "p", children = {{ text = "Weapon Type: {weapon}" }}},
{ id = "4", type = "p", children = {{ text = "Caliber: {calibre}" }}},
{ id = "5", type = "h2", children = {{ text = "Serial Number Matches: {serial}", color = "#ff1e1e" }}}
},
['Blood'] = {
{ id = "1", type = "h1", children = {{ text = "Blood Analysis" }}, align = "center" },
{ id = "2", type = "p", children = {{ text = "Location Found: {location}"}}},
{ id = "3", type = "p", children = {{ text = "DNA ID: {id}"}}},
{ id = "4", type = "h2", children = {{ text = "Matches Person: {person}", color = "#ff1e1e"}}}
},
['Weapon'] = {
{ id = "1", type = "h1", children = {{ text = "Weapon Information" }}, align = "center" },
{ id = "2", type = "p", children = {{ text = "Weapon Type: {weapon}" }}},
{ id = "3", type = "p", children = {{ text = "Caliber: {calibre}" }}},
{ id = "4", type = "h2", children = {{ text = "Matches Weapon: {serial}", color = "#ff1e1e" }}}
},
['Fingerprints'] = {
car = {
{ id = "1", type = "h1", children = {{ text = "Fingerprints from Vehicle" }}, align = "center" },
{ id = "2", type = "p", children = {{ text = "Location Found: {location}"}}},
{ id = "3", type = "p", children = {{ text = "Prints Found at: {seat}"}}},
{ id = "4", type = "p", children = {{ text = "In Vehicle Type: {car}"}}},
{ id = "5", type = "h2", children = {{ text = "Matches Person: {person}", color = "#ff1e1e" }}}
},
weapon = {
{ id = "1", type = "h1", children = {{ text = "Fingerprints from Weapon" }}, align = "center" },
{ id = "2", type = "p", children = {{ text = "Weapon Type: {weapon}" }}},
{ id = "3", type = "p", children = {{ text = "Caliber: {calibre}" }}},
{ id = "4", type = "p", children = {{ text = "Serial Number: {serial}"}}},
{ id = "5", type = "h2", children = {{ text = "Matches Person: {person}", color = "#ff1e1e" }}},
},
},
['DNA'] = {
{ id = "1", type = "h1", children = {{ text = "DNA Test" }}, align = "center" },
{ id = "2", type = "p", children = {{ text = "DNA ID: {id}", color = "#ff1e1e" }}},
{ id = "3", type = "h2", children = {{ text = "Person in Database: {person}", color = "#ff1e1e" }}}
},
['Fragments'] = {
{ id = "1", type = "h1", children = {{ text = "Vehicle Fragments Analysis" }}, align = "center" },
{ id = "2", type = "p", children = {{ text = "Location Found: {location}"}}},
{ id = "3", type = "p", children = {{ text = "Primary Text Color: {primaryColor}"}}},
{ id = "4", type = "p", children = {{ text = "Secondary Text Color: {secondaryColor}"}}},
{ id = "5", type = "h2", children = {{ text = "RGB Primary Color: {rgbPrimary}", color = "#ff1e1e"}}},
{ id = "6", type = "h2", children = {{ text = "RGB Secondary Color: {rgbSecondary}", color = "#ff1e1e"}}},
},
['GSR'] = {
person = {
{ id = "1", type = "h1", children = {{ text = "GSR Tests from Person" }}, align = "center" },
{ id = "2", type = "p", children = {{ text = "Tests Conducted on Person: {person}"}}},
{ id = "3", type = "h2", children = {{ text = "Residue Present in: {gsr}", color = "#ff1e1e" }}},
},
weapon = {
{ id = "1", type = "h1", children = {{ text = "GSR Tests from Weapon" }}, align = "center" },
{ id = "2", type = "p", children = {{ text = "Weapon Type: {weapon}" }}},
{ id = "3", type = "p", children = {{ text = "Weapon Serial: {serial}" }}},
{ id = "4", type = "h2", children = {{ text = "Residue Present in: {gsr}", color = "#ff1e1e" }}},
},
},
}

Config.ClearKit = {
time = 10000, --ms execution time
destroy = 100, -- % the chances of it being executed if the minigame is not set
destroyMinigame = 'easy', -- if you want to use percentage chance, set to false
findAll = true, -- if you want to take the projectiles out of the car.
}

Config.EvidenceCar = {
time = 10000, --ms execution time
destroy = 100, -- % the chances of it being executed if the minigame is not set
destroyMinigame = 'easy', -- if you want to use percentage chance, set to false
findAll = true, -- if you want to take the projectiles out of the car.
destroyFail = true, -- evidence in the vehicle is destroyed on failure
}

Config.All = { -- settings for NUI
label = 'All',
icon = 'fa-solid fa-folder',
iconColor = '#FFF',
}

Config.Favorites = { -- settings for NUI
label = 'Favorites',
icon = 'fa-solid fa-heart',
iconColor = '#FFF',
}

Config.Evidence = {
['Projectile'] = {
enable = true, -- if you don't want to use evidence enter false
label = 'Bullet',
icon = 'projectile.png', -- enter fas icon or image ending in .png
iconColor = '#FFF', -- icon color, if you don't want white
shotgunLogic = true, -- if you want the shotgun not to be able to do ballistics
chances = { -- setting the odds and skill system
drop = 70, --% drop
analysis = 100, --% analysis
analysisMinigame = 'easy', -- does not want false if you only want to use percentage chance [Settings: easy / medium / hard]
destroy = 100, --%
destroyMinigame = 'easy', -- does not want false if you only want to use percentage chance [Settings: easy / medium / hard]
},
marker = {
marker = 28, -- https://docs.fivem.net/docs/game-references/markers/
scale = 0.06, -- scale
z = 0.0, -- whether you want to increase the Z axis
rgba = {120, 0, 0, 70}, -- r / g / b / a [0 - 255]
},
line = {
enable = true, -- whether you want to see the lines from which direction the projectile was fired
r = 255,
g = 0,
b = 0,
a = 255,
},
analysis = {
MustBeTested = true, -- whether the proof has to match something to show the whole [ the weapon must be scanned in the database ]
},
durability = { -- how long it takes for the evidence to devalue itself
day = 0,
hours = 1,
minutes = 30,
},
destroyedRain = true, -- whether you want the evidence to be destroyed if it rains
},
['Cartridge'] = {
enable = true,
label = 'Shell Casing',
icon = 'cartridge.png',
iconColor = '#FFF',
chances = {
drop = 70,
analysis = 100,
analysisMinigame = 'easy',
destroy = 100,
destroyMinigame = 'easy',
},
marker = {
marker = 20,
scale = 0.2,
z = 0.2,
rgba = {0, 120, 0, 100},
},
time = { -- indication of how long the evidence has been in place
[5] = 'Hot', -- [ minutes ] = Hot (0 to 5 minutes )
[10] = 'warm',
[20] = 'Cold'
},
analysis = {
MustBeTested = true, -- whether the proof has to match something to show the whole [ the weapon must be scanned in the database ]
},
durability = {
day = 0,
hours = 1,
minutes = 0,
},
destroyedRain = true,
},
['Blood'] = {
enable = true,
label = 'Blood',
icon = 'fa-solid fa-droplet',
iconColor = '#FFF',
notif = true, -- whether you want to trigger a notification when a proof is created to the person who creates it
chances = {
drop = 70,
analysis = 100,
analysisMinigame = 'easy',
destroy = 100,
destroyMinigame = 'easy',
},
marker = {
marker = 0,
scale = 0.2,
z = 0.3,
rgba = {138, 43, 226, 100},
},
time = {
[10] = 'Fresh',
[30] = 'Sizzling',
[60] = 'Dried'
},
analysis = {
MustBeTested = true, -- whether the proof has to match something to show the whole [ DNA must be in the database ]
},
durability = {
day = 0,
hours = 1,
minutes = 45,
},
armour = { -- whether you want armor to have an effect on blood loss [turn on only one]
fullProtection = true, -- whether you want to always disable blood drop when he has armor / set to true
-- percentage = 80, --% whether you want blood to fall below a certain percentage of armor / set to 1 to 100
-- protectionMultiplaier = 1 -- when you want to set random chance, the more armor = the more chance that it won't trigger / set to 0.1 to 2
},
bloodProp = true, -- whether to spawn visible blood streaks
maxBloodDrop = 30, -- phow many drops of blood can fall before it stops spontaneously
destroyedRain = true,
},
['Fingerprints'] = {
enable = true,
label = 'Fingerprints',
icon = 'fingerprints.png',
iconColor = '#FFF',
notif = true, -- whether you want to trigger a notification when a proof is created to the person who creates it
chances = {
drop = 100,
analysis = 100,
analysisMinigame = 'easy',
destroy = 100,
destroyMinigame = 'easy',
},
analysis = {
MustBeTested = false, -- whether the proof has to match something to show the whole [ DNA must be in the database ]
},
durability = {
day = 0,
hours = 1,
minutes = 30,
},
onWeapon = true, -- whether you want to allow imprinting on the weapon
timeWeapon = 3000, --ms how long does the gun have to be held for the evidence to form
timeInVehicle = 3000, --ms how long does it have to be in the car for the evidence to form
destroyedRain = false,
},
['Fragments'] = {
enable = true,
label = 'Vehicle Fragments',
icon = 'fa-solid fa-car',
iconColor = '#FFF',
notif = false, -- whether you want to trigger a notification when a proof is created to the person who creates it
chances = {
drop = 70,
analysis = 100,
analysisMinigame = 'easy',
destroy = 100,
destroyMinigame = 'easy',
},
marker = {
marker = 42,
scale = 0.3,
z = 0.4,
rgba = {128, 128, 128, 100},
},
durability = {
day = 0,
hours = 1,
minutes = 0,
},
difference = 0.5, -- % the difference between damage
bodyHealth = 80, -- % how many percent does the bodywork have to be below to have any chance of dropping
destroyedRain = false,
},
['Weapon'] = {
enable = true,
label = 'Weapons',
icon = 'fa-solid fa-gun',
iconColor = '#FFF',
chances = {
analysis = 100,
analysisMinigame = 'easy',
},
},
['DNA'] = {
enable = true,
label = 'DNA',
icon = 'fa-solid fa-dna',
iconColor = '#FFF',
analysis = {
MustBeTested = true,
},
chances = {
analysis = 100,
analysisMinigame = 'easy',
},
},
['GSR'] = {
enable = true,
label = 'Gunpowder Residue',
icon = 'fas fa-user-tag',
iconColor = '#FFF',
notif = true, -- whether you want to trigger a notification when a proof is created to the person who creates it
chances = {
drop = 100,
analysis = 100,
analysisMinigame = 'easy',
destroy = 100,
destroyMinigame = 'easy',
},
analysis = {
MustBeTested = true, -- whether the DNA must be tested in the database
},
durability = {
day = 0,
hours = 1,
minutes = 30,
},
percentAdd = 5, -- what percentage is added to the GSR per shot
destroyedRain = false,
},
['Photo'] = {
enable = true,
label = 'Photographs',
icon = 'fa-solid fa-camera',
iconColor = '#FFF',
iconInNui = true, -- whether he wants an icon in NUI
command = 'takePhoto',
options = {
UploadMethod = 'fivemanage', -- discord, fivemanage, custom
apiKey = '', -- Webhook or API key
},
}

}

Config.Hands = { -- list of hands / to verify whether the ped has hands or gloves
male = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,18,52,53,54,55,56,57,58,59,60,61,62,112,113,114,118,125,132,184,188,198,202},
female = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,19,59,60,61,62,63,64,65,66,67,68,69,70,71,129,130,131,135,142,149,153,157,161,165,229,233},
ped = {
['u_m_y_rsranger_01'] = false -- option to define for pawns if they have gloves set false
}
}

Config.Labs = {
[1] = {
coords = vec3(443.6938, -975.0375, 30.6893)
},
}

Config.Database = {
[1] = {
coords = vec3(440.3943, -975.7180, 30.6893)
},
}

Config.ForensicsVan = {
enable = true,
command = 'callForensics', -- when false, this function is disabled
iconInNui = true, -- when false, calling from the tablet is disabled
car = 'policet', -- boxville3 // policet or a completely custom vehicle
automaticCollection = true, -- Whether to allow automatic evidence collection
isRunning = true, -- Whether NPCs are running (Collection is then faster)
distance = 40.0, -- The distance from the Van that NPCs search
searchesVehicles = true, -- whether he's searching vehicles in the area
chances = {
analysis = 80, -- % chance of successfully collecting evidence
dropFind = 60, -- % chance of successfully finding evidence
},
}

Config.Weapons = { -- if you don't use OX inventory you must define the calibre here by weapon
['WEAPON_PISTOL'] = "9mm",
['WEAPON_COMBATPISTOL'] = "9mm",
['WEAPON_PISTOL50'] = ".50 AE",
['WEAPON_SNSPISTOL'] = "9mm",
['WEAPON_HEAVYPISTOL'] = ".45 ACP",
['WEAPON_VINTAGEPISTOL'] = ".380 ACP",
['WEAPON_MARKSMANPISTOL'] = ".22 LR",
['WEAPON_REVOLVER'] = ".357 Magnum",
['WEAPON_DOUBLEACTION'] = ".38 Special",
['WEAPON_CERAMICPISTOL'] = "9mm",
['WEAPON_NAVYREVOLVER'] = ".36 Caliber",
['WEAPON_GADGETPISTOL'] = ".22 LR",

-- SMGs and machine guns
['WEAPON_MICROSMG'] = "9mm",
['WEAPON_SMG'] = "9mm",
['WEAPON_ASSAULTSMG'] = "5.7×28mm",
['WEAPON_MINISMG'] = "9mm",
['WEAPON_MG'] = "7.62mm NATO",
['WEAPON_COMBATMG'] = "7.62mm NATO",
['WEAPON_COMBATMG_MK2'] = "7.62mm NATO",

-- Assault rifles
['WEAPON_ASSAULTRIFLE'] = "5.56mm NATO",
['WEAPON_ASSAULTRIFLE_MK2'] = "5.56mm NATO",
['WEAPON_CARBINERIFLE'] = "5.56mm NATO",
['WEAPON_CARBINERIFLE_MK2'] = "5.56mm NATO",
['WEAPON_ADVANCEDRIFLE'] = "5.56mm NATO",
['WEAPON_SPECIALCARBINE'] = "7.62mm NATO",
['WEAPON_SPECIALCARBINE_MK2'] = "7.62mm NATO",
['WEAPON_BULLPUPRIFLE'] = "5.56mm NATO",
['WEAPON_BULLPUPRIFLE_MK2'] = "5.56mm NATO",
['WEAPON_MILITARYRIFLE'] = "7.62mm NATO",
['WEAPON_HEAVYRIFLE'] = "7.62mm NATO",
['WEAPON_TACTICALRIFLE'] = "5.56mm NATO",

-- Sniper rifles
['WEAPON_SNIPERRIFLE'] = ".308 Winchester",
['WEAPON_HEAVYSNIPER'] = ".50 BMG",
['WEAPON_HEAVYSNIPER_MK2'] = ".50 BMG",
['WEAPON_MARKSMANRIFLE'] = "7.62mm NATO",
['WEAPON_MARKSMANRIFLE_MK2'] = "7.62mm NATO",

-- Shotguns
['WEAPON_PUMPSHOTGUN'] = "12 Gauge",
['WEAPON_PUMPSHOTGUN_MK2'] = "12 Gauge",
['WEAPON_SAWNOFFSHOTGUN'] = "12 Gauge",
['WEAPON_BULLPUPSHOTGUN'] = "12 Gauge",
['WEAPON_ASSAULTSHOTGUN'] = "12 Gauge",
['WEAPON_MUSKET'] = ".50 Caliber",
['WEAPON_HEAVYSHOTGUN'] = "12 Gauge",
['WEAPON_DBSHOTGUN'] = "12 Gauge",
['WEAPON_AUTOSHOTGUN'] = "12 Gauge",

-- Other
['WEAPON_RAILGUN'] = "Electromagnetic",
['WEAPON_RAYPISTOL'] = "Energy Beam",
['WEAPON_RAYCARBINE'] = "Energy Beam",
['WEAPON_RAYMINIGUN'] = "Energy Beam",
['WEAPON_GRENADELAUNCHER'] = "40mm Grenade",
['WEAPON_RPG'] = "85mm",
['WEAPON_HOMINGLAUNCHER'] = "Infrared Guided Missile",
['WEAPON_COMPACTLAUNCHER'] = "40mm Grenade"
}


Exports

Open Evidence

Client
exports["d_labs_evidence"]:openEvidenceByID(idEvidence, fullUI)
Server
exports["d_labs_evidence"]:openEvidenceByID(source, idEvidence, fullUI)

Parameters:

  • source (number, optional)
    • If calling from the server, add the source value first, followed by the remaining parameters as usual.
  • idEvidence (number)
    • The ID of the specific evidence.
  • fullUI (boolean)
    • true to display the full tablet UI, false to show only the specific evidence.

Open Tablet

Client
exports["d_labs_evidence"]:openTablet(tablet)
Server
exports["d_labs_evidence"]:openTablet(source, tablet)

Parameters:

  • source (number, optional)
    • If calling from the server, add the source value first, followed by the remaining parameters as usual.
  • tablet (boolean)
    • true enables tablet mode, allowing Forensics and photo capture; false disables it.

Open UI

Client
exports["d_labs_evidence"]:openTablet(tablet)
Server
exports["d_labs_evidence"]:openTablet(source, tablet)

Parameters:

  • source (number, optional)
    • If calling from the server, add the source value first, followed by the remaining parameters as usual.
  • tablet (boolean)
    • true enables tablet mode, allowing Forensics and photo capture; false disables it.

Cancel Bleeding from Ped

Client
exports["d_labs_evidence"]:cancelDropBlood()
Server
exports["d_labs_evidence"]:cancelDropBlood(source)

Parameters:

  • source (number, optional)
    • If calling from the server, add the source value first, followed by the remaining parameters as usual.
  • This function can be used to interfere with the custom bloodletting logic.

Repairing Vehicle (Removing Bullets)

Client
exports["d_labs_evidence"]:fixCar(netId)

Parameters:

  • netId (number)
    • The netId of the vehicle entity.

This function can be called from both the client and server in the same way, as it does not rely on source.

Example Usage
RegisterCommand("fixcar", function()
{
local ped = PlayerPedId()
if IsPedInAnyVehicle(ped, false) then
local vehicle = GetVehiclePedIsIn(ped, false)
local netId = NetworkGetNetworkIdFromEntity(vehicle)
exports["d_labs_evidence"]:fixCar(netId)

print('Vehicle repaired after gunshots')
else
print("You are not in the vehicle!")
end
end)

Creating Custom Evidence at Specific Coordinates

Client
exports["d_labs_evidence"]:addEvidenceToCoords(class, coords, classType, label, weaponHash, weaponSerial)
Server
exports["d_labs_evidence"]:addEvidenceToCoords(source, class, coords, classType, label, weaponHash, weaponSerial)

Parameters:

  • source (number, optional)
    • If calling from the server, add the source value first, followed by the remaining parameters as usual.
  • class (string)
    • Specifies the type of evidence:
      • "Projectile"
      • "Cartridge"
      • "Blood"
      • "Fingerprints"
      • "Fragments"
  • classType (string)
    • A subcategory related to class, defined in Config.Templates.
  • label (string)
    • The label of the evidence, which will be displayed in the menu.
  • weaponHash (string)
    • The weapon hash used for game evaluation.
  • weaponSerial (string)
    • The serial number of the weapon.

Custom NUI icon

PNG

  • You can upload the icon to the script in this way
    • d_labs_evidence\html\image
    • icon must be .png
  • in config.lua edit the icon name according to the file
    • icon = 'projectile.png'

fas icon

MDT integrations

edit file:

  1. go this way redutzu-mdt/server/custom/evidence
    • find the custom.lua file
  2. paste this code
if Config.Evidence ~= 'd_labs_evidence' then
return
end

function SearchArchiveEvidence(query)
local results = MySQL.Sync.fetchAll('SELECT id FROM d_labs_evidence WHERE id LIKE ?', { '%' .. query .. '%' })
return results
end

RegisterNetEvent('redutzu-mdt:server:openArchiveEvidence', function(id)
exports["d_labs_evidence"]:openEvidenceByID(source,id,false)
end)
  1. edit the redutzu-mdt/config file
    • find the config.lua file
    • overwrite the Config.Evidence entry in it as follows:
Config.Evidence = 'd_labs_evidence' 
  1. Restart the script and enjoy

Changelog

No information to display.