Evidence
Info
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
Resource | Status |
---|---|
qbx_core | Supported |
ESX | Supported |
QB-Core | Supported |
OX-Core | Supported |
Edit Functions | YES |
Inventory
Resource | Status |
---|---|
ox_inventory | Supported |
qb-inventory | Supported |
lj-inventory | Supported |
ps-inventory | Supported |
qs-inventory | Supported |
Edit Functions | YES |
Notify / ProgressBar etc.
Resource | Status |
---|---|
ox_lib | Supported |
based on the framework | Supported |
Edit Functions | YES |
Target
Resource | Status |
---|---|
ox_target | Supported |
qb-target | Supported |
basic gta input | Supported |
Edit Functions | YES |
Screenshot
Resource | Status |
---|---|
screenshot-basic | Optimal |
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.
- If calling from the server, add the
- 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.
- If calling from the server, add the
- 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.
- If calling from the server, add the
- 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.
- If calling from the server, add the
- 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.
- The
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.
- If calling from the server, add the
- class (string)
- Specifies the type of evidence:
"Projectile"
"Cartridge"
"Blood"
"Fingerprints"
"Fragments"
- Specifies the type of evidence:
- classType (string)
- A subcategory related to
class
, defined inConfig.Templates
.
- A subcategory related to
- 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
- just pick an icon here https://fontawesome.com/icons
icon = 'fa-solid fa-droplet'
MDT integrations
- Redutzu
edit file:
- go this way
redutzu-mdt/server/custom/evidence
- find the
custom.lua
file
- find the
- 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)
- edit the
redutzu-mdt/config
file- find the
config.lua
file - overwrite the Config.Evidence entry in it as follows:
- find the
Config.Evidence = 'd_labs_evidence'
- Restart the script and enjoy
Changelog
No information to display.