[Release-Archived] Cops FiveM


GitHub release GitHub license

Cops_FiveM is a resource mainly for RP servers. It gives servers a cops system with loadouts, vehicles, fines, …
You can find a complete overview with all the features here.


You can find the latest changes here.


If you are using a database then you need to setup ghmattimysql before you can start using Cops_FiveM.
Are you using ZAP-Hosting and don’t know what your database name/username/password is then watch this video.

  • Download ghmattimysql
  • Extract the zipfile and make sure that the folder is named ghmattimysql.
  • Open ghmattimysql/config.json and edit the config lines with your db name/user/password/host.
  • Copy the ghmattimysql folder to resources/.
  • Open server.cfg and add start ghmattimysql


  1. Verify that you have installed the requirements from above.
  2. Download the latest version from the GitHub repository.
  3. Only copy the subdirectory police to the resources folder on your server.
  4. Edit config file to your preferences
  5. Add start police in server.cfg (make sure you start this resource after all dependencies).
  6. The first time when you enter the game you will need to add yourself to the police database.
    you can do this in your server console enter CopAddAdmin 1 or CopAdd 1 press enter and you should receive a confirmation message.


You can use these commands with RCON (CopAdd / CopAddAdmin / CopDept/ CopRem / CopRank).
To see how to use them, just type the command you want without any parameter.


ID Name
0 Park Rangers
1 Los Santos Police Department
2 Sheriff’s Department
3 State Highway Patrol
4 Prison Department


ID Name
0 Trainee
1 Trooper
2 Master Police Officer
3 Sergeant
4 Lieutenant
5 Captain
6 Chief of Police
7 Admin Police Rank


If you are a developer and would like to contribute any help is welcome!.
The contribution guide can be found here.


OMG ! I love you !!! I want thiiiisss !!! <3 :smiley:


Very nice share, it will be usefull to a lot ! :slight_smile:


Amazing :slight_smile: Thanks for this so useful release !

1 Like

Hi, can you add when we add or leave the job we respawn with mp_m_freemode_01plz ?

SetPedComponentVariation(playerPed, 0, 0, 0, 2) --Face
SetPedComponentVariation(playerPed, 2, 11, 4, 2) --Hair
SetPedComponentVariation(playerPed, 4, 1, 5, 2) – Pantalon
SetPedComponentVariation(playerPed, 6, 1, 0, 2) – Shoes
SetPedComponentVariation(playerPed, 11, 7, 2, 2) – Jacket

1 Like

is it for police uniform ?

1 Like

no sorry it’s for civil respawn, I did not find the values for the police uniform

1 Like

pants 25,2
shoes 24,0
torso 55,0
shirt 58,0

that’s your cop uniform

1 Like

Thanks you for your script @Kyominii

@Ked Where did you found it ?

searched on my own trying out outfits with my skin script


Kyo, I don’ understand very well what to do with the SQL Table ( Modification 3).

Could you explain us a better way please ? :slight_smile:

Kyominii your are my king ^^ good job

1 Like

Thanks ked, I’ll add this soon :slight_smile:

Scapin :

1 Like

no prob, this gave me a headache tbh x)


Thanks Kyo. i just dunno where to put the line you wrote. Creating the Column in the table it’s Ok. But I don’t realy understand this :

Step 2 :
add "i1.limitation AS raw_lim, i2.limitation AS treat_lim" in SQL request and add "'raw_lim', 'treat_lim'" in getResults (server.lua in vdk_recolt : jobs:getJobs event handler)

Thanks :slight_smile:

AddEventHandler("jobs:getJobs", function ()
	jobs = {}
	if(not result) then
		local executed_query = MySQL:executeQuery("SELECT price, i1.`id` AS raw_id, i1.`libelle` AS raw_item, i2.`id` AS treat_id, i2.`libelle` AS treat_item, p1.x AS fx, p1.y AS fy, p1.z AS fz, p2.x AS tx, p2.y AS ty, p2.z AS tz, p3.x AS sx, p3.y AS sy, p3.z AS sz, job_id, i1.limitation AS raw_lim, i2.limitation AS treat_lim FROM recolt LEFT JOIN items i1 ON recolt.`raw_id`=i1.id LEFT JOIN items i2 ON recolt.`treated_id`=i2.id LEFT JOIN coordinates p1 ON recolt.`field_id`=p1.id LEFT JOIN coordinates p2 ON recolt.`treatment_id`=p2.id LEFT JOIN coordinates p3 ON recolt.`seller_id`=p3.id")
		result = MySQL:getResults(executed_query, { 'price', 'raw_id', 'raw_item', 'treat_id', 'treat_item', 'fx', 'fy', 'fz', 'tx', 'ty', 'tz', 'sx', 'sy', 'sz', 'job_id', 'raw_lim', 'treat_lim' })
		if (result) then
			jobs = result
		jobs = result
    TriggerClientEvent("cli:getJobs", source, jobs)

In server.lua (vdk_recolt)


hii thx for script, I have a few questions I use vdk inventory well but not VDK_recolt, I use the script illegal its walking when same or not? thx :slight_smile:

You have to modify checkInventory in server.lua to make my script compatible with your inventory

Hi Kyo,

In modification #2 there is no instruction, are we supposed to write your code inside the end of the function like this ?

function setBlip(x, y, z, num)
    local blip = AddBlipForCoord(x, y, z)
    SetBlipSprite(blip, tonumber(num))
    SetBlipAsShortRange(blip, true)
    table.insert(BLIPS, blip)
    local name = ""
    if(tonumber(num) == 17) then
        name = "Recolt"
        if(tonumber(num) == 18) then
            name = "Treatment"
            name = "Sell"

There are instructions ^^

–in vdkrec.lua : setBlip function, around line 90–

And yes, it’s that function to modify