🖥️Installation Guide

Policejob Script Installation Guide

This page is dedicated to installation of our banking script. Follow steps listed below to start using pScripts Police Job on your server.

Additional information

We don't provide maps used in our preview videos, if you want to buy them, click the links below Prison Map (Use code "piotreq" for 10% off your purchase) Department Map

Prerequisities

Before you begin, ensure you have:

  1. FiveM server with administrator access

  2. Access to your server's database

  3. File transfer capability (FTP or direct file access)

Step 1: Installing the dependencies

Our script requires 3 dependencies:

Additionaly, we recommend you use MariaDB as your Database Management System.

Step 2: Setting up the Database

For our script to work, you need to modify your database. Run these SQL commands:

ESX
ALTER TABLE `users`
  ADD IF NOT EXISTS `badge` int(11) DEFAULT NULL,
  ADD IF NOT EXISTS `jail` int(11) NOT NULL DEFAULT 0;

ALTER TABLE `owned_vehicles`
  ADD IF NOT EXISTS `job` varchar(30) DEFAULT NULL;

CREATE TABLE IF NOT EXISTS `police_mugshots` (
  `id` int(11) NOT NULL,
  `suspect` varchar(60) NOT NULL,
  `dob` varchar(30) NOT NULL,
  `officer` varchar(60) NOT NULL,
  `description` varchar(150) NOT NULL,
  `url` longtext NOT NULL
);

CREATE TABLE IF NOT EXISTS `police_outfits` (
  `id` int(11) NOT NULL,
  `job` varchar(30) NOT NULL,
  `grade` longtext NOT NULL,
  `label` varchar(60) NOT NULL,
  `gender` varchar(10) NOT NULL,
  `license` longtext DEFAULT 'none',
  `requirements` varchar(50) NOT NULL,
  `skin` longtext NOT NULL
);

CREATE TABLE IF NOT EXISTS `judgements` (
  `id` int(11) NOT NULL,
  `officer` varchar(46) NOT NULL,
  `player` varchar(46) NOT NULL,
  `offenses` longtext NOT NULL,
  `jail` int(11) NOT NULL,
  `fine` int(11) NOT NULL,
  `time` bigint(25) NOT NULL
);

CREATE TABLE IF NOT EXISTS `police_evidences` (
  `id` varchar(20) NOT NULL,
  `item` longtext NOT NULL,
  `time` bigint(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `police_impound` (
  `officer` varchar(60) NOT NULL,
  `officer_name` varchar(100) NOT NULL,
  `owner` varchar(46) DEFAULT NULL,
  `plate` varchar(10) NOT NULL,
  `vehicle` longtext NOT NULL,
  `location` varchar(60) NOT NULL,
  `reason` varchar(200) NOT NULL,
  `price` int(11) NOT NULL,
  `duration` bigint(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

ALTER TABLE `police_evidences`
  ADD PRIMARY KEY IF NOT EXISTS (`id`);

ALTER TABLE `police_impound`
  ADD PRIMARY KEY IF NOT EXISTS (`plate`);

ALTER TABLE `judgements`
  ADD PRIMARY KEY IF NOT EXISTS (`id`);

ALTER TABLE `judgements`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
  
ALTER TABLE `police_outfits`
  ADD PRIMARY KEY IF NOT EXISTS (`id`);

ALTER TABLE `police_outfits`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

ALTER TABLE `police_mugshots`
  ADD PRIMARY KEY IF NOT EXISTS (`id`);

ALTER TABLE `police_mugshots`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;

QB
ALTER TABLE `players`
  ADD IF NOT EXISTS `badge` int(11) DEFAULT NULL,
  ADD IF NOT EXISTS `jail` int(11) NOT NULL DEFAULT 0;

ALTER TABLE `player_vehicles`
  ADD IF NOT EXISTS `job` varchar(30) DEFAULT NULL;

CREATE TABLE IF NOT EXISTS `police_mugshots` (
  `id` int(11) NOT NULL,
  `suspect` varchar(60) NOT NULL,
  `dob` varchar(30) NOT NULL,
  `officer` varchar(60) NOT NULL,
  `description` varchar(150) NOT NULL,
  `url` longtext NOT NULL
);

CREATE TABLE IF NOT EXISTS `police_outfits` (
  `id` int(11) NOT NULL,
  `job` varchar(30) NOT NULL,
  `grade` longtext NOT NULL,
  `label` varchar(60) NOT NULL,
  `gender` varchar(10) NOT NULL,
  `license` longtext DEFAULT 'none',
  `requirements` varchar(50) NOT NULL,
  `skin` longtext NOT NULL
);

CREATE TABLE IF NOT EXISTS `judgements` (
  `id` int(11) NOT NULL,
  `officer` varchar(46) NOT NULL,
  `player` varchar(46) NOT NULL,
  `offenses` longtext NOT NULL,
  `jail` int(11) NOT NULL,
  `fine` int(11) NOT NULL,
  `time` bigint(25) NOT NULL
);

CREATE TABLE IF NOT EXISTS `police_evidences` (
  `id` varchar(20) NOT NULL,
  `item` longtext NOT NULL,
  `time` bigint(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE  IF NOT EXISTS `police_impound` (
  `officer` varchar(60) NOT NULL,
  `officer_name` varchar(100) NOT NULL,
  `owner` varchar(46) DEFAULT NULL,
  `plate` varchar(10) NOT NULL,
  `vehicle` longtext NOT NULL,
  `location` varchar(60) NOT NULL,
  `reason` varchar(200) NOT NULL,
  `price` int(11) NOT NULL,
  `duration` bigint(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

ALTER TABLE `police_evidences`
  ADD PRIMARY KEY IF NOT EXISTS (`id`);

ALTER TABLE `police_impound`
  ADD PRIMARY KEY IF NOT EXISTS (`plate`);

ALTER TABLE `judgements`
  ADD PRIMARY KEY IF NOT EXISTS (`id`);

ALTER TABLE `judgements`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

ALTER TABLE `police_outfits`
  ADD PRIMARY KEY IF NOT EXISTS (`id`);

ALTER TABLE `police_outfits`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
  
ALTER TABLE `police_mugshots`
  ADD PRIMARY KEY IF NOT EXISTS (`id`);

ALTER TABLE `police_mugshots`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;
QBOX
ALTER TABLE `players`
  ADD IF NOT EXISTS `badge` int(11) DEFAULT NULL,
  ADD IF NOT EXISTS `jail` int(11) NOT NULL DEFAULT 0;

ALTER TABLE `player_vehicles`
  ADD IF NOT EXISTS `job` varchar(30) DEFAULT NULL;

CREATE TABLE IF NOT EXISTS `police_mugshots` (
  `id` int(11) NOT NULL,
  `suspect` varchar(60) NOT NULL,
  `dob` varchar(30) NOT NULL,
  `officer` varchar(60) NOT NULL,
  `description` varchar(150) NOT NULL,
  `url` longtext NOT NULL
);

CREATE TABLE IF NOT EXISTS `police_outfits` (
  `id` int(11) NOT NULL,
  `job` varchar(30) NOT NULL,
  `grade` longtext NOT NULL,
  `label` varchar(60) NOT NULL,
  `gender` varchar(10) NOT NULL,
  `license` longtext DEFAULT 'none',
  `requirements` varchar(50) NOT NULL,
  `skin` longtext NOT NULL
);

CREATE TABLE IF NOT EXISTS `judgements` (
  `id` int(11) NOT NULL,
  `officer` varchar(46) NOT NULL,
  `player` varchar(46) NOT NULL,
  `offenses` longtext NOT NULL,
  `jail` int(11) NOT NULL,
  `fine` int(11) NOT NULL,
  `time` bigint(25) NOT NULL
);

CREATE TABLE IF NOT EXISTS `police_evidences` (
  `id` varchar(20) NOT NULL,
  `item` longtext NOT NULL,
  `time` bigint(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE  IF NOT EXISTS `police_impound` (
  `officer` varchar(60) NOT NULL,
  `officer_name` varchar(100) NOT NULL,
  `owner` varchar(46) DEFAULT NULL,
  `plate` varchar(10) NOT NULL,
  `vehicle` longtext NOT NULL,
  `location` varchar(60) NOT NULL,
  `reason` varchar(200) NOT NULL,
  `price` int(11) NOT NULL,
  `duration` bigint(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

ALTER TABLE `police_evidences`
  ADD PRIMARY KEY IF NOT EXISTS (`id`);

ALTER TABLE `police_impound`
  ADD PRIMARY KEY IF NOT EXISTS (`plate`);

ALTER TABLE `judgements`
  ADD PRIMARY KEY IF NOT EXISTS (`id`);

ALTER TABLE `judgements`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

ALTER TABLE `police_outfits`
  ADD PRIMARY KEY IF NOT EXISTS (`id`);

ALTER TABLE `police_outfits`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

ALTER TABLE `police_mugshots`
  ADD PRIMARY KEY IF NOT EXISTS (`id`);

ALTER TABLE `police_mugshots`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;

You can run these on your preferred Database Management Tool (ex. HeidiSQL, phpMyAdmin etc.)

Step 3: Downloading the Police Job Script

  1. Download the script from your Keymaster.

  2. Extract the files to your resources (or any other preffered) folder.

  3. Add the following line to your server.cfg

    ensure p_policejob

Step 4: Setting up items

OX INVENTORY Setup

Add the following items to your ox_inventory/data/items.lua

['spike_strip'] = {
	label = 'Spike strip',
	weight = 50,
	stack = true,
	consume = 1,
	client = {
		export = 'p_policejob.spike_strip'
	}
},

['road_cone'] = {
	label = 'Road cone',
	weight = 50,
	stack = true,
},

['consign'] = {
	label = 'Road sign',
	weight = 50,
	stack = true,
},

['barrier'] = {
	label = 'Road barrier',
	weight = 50,
	stack = true,
},

['roadcone_light'] = {
	label = 'Road cone light',
	weight = 50,
	stack = true,
},

['headbag'] = {
	label = 'Head bag',
	weight = 50,
	stack = false,
	close = false
},

['police_diving_suit'] = {
	label = 'Police Diving Suit',
	weight = 2000,
	consume = 0,
	stack = false,
	server = {
		export = 'p_policejob.police_diving_suit'
	}
},

['player_clothes'] = {
	label = 'Your clothes',
	weight = 250,
	consume = 0,
	stack = false,
	server = {
		export = 'p_policejob.player_clothes'
	}
},

['fingerprint'] = {
	label = 'Fingerprint Sample',
	weight = 5,
	stack = false,
	consume = 0,
},

['bullet'] = {
	label = 'Bullet Sample',
	weight = 5,
	stack = false,
	consume = 0
},

['blood'] = {
	label = 'Blood Sample',
	weight = 5,
	stack = false,
	consume = 0
},

['tracking_band'] = {
	label = 'GPS Band',
	weight = 300,
	stack = false,
	close = false,
	consume = 0
},

['radio'] = {
	label = 'Radio',
	weight = 1000,
	stack = false,
	allowArmed = true
},

['vest_normal'] = {
	label = 'Bulletproof Vest',
	weight = 3000,
	stack = false,
	consume = 1,
	client = {
		export = 'p_policejob.vest_normal'
	}
},

['vest_strong'] = {
	label = 'Strong Bulletproof Vest',
	weight = 3000,
	stack = false,
	consume = 1,
	client = {
		export = 'p_policejob.vest_strong'
	}
},

['body_cam'] = {
	label = 'Police Bodycam',
	weight = 200,
	consume = 0,
	stack = false,
	server = {
		export = 'p_policejob.body_cam'
	}
},

['gps'] = {
	label = 'GPS',
	weight = 100,
	stack = false,
	consume = 0,
	allowArmed = true,
	client = {
		export = 'p_policejob.gps',
		remove = function(total)
			if total < 1 then
				local activeGPS = exports['p_policejob']:isGpsActive()
				if activeGPS then
					exports['p_policejob']:gps()
				end
			end
		end
	}
},

['camera'] = {
	label = 'Camera',
	stack = false,
	close = true,
	consume = 0,
	weight = 1000,
	client = {
		export = 'p_policejob.camera'
	}
},

['photo'] = {
	label = 'Photo',
	stack = false,
	close = true,
	weight = 10,
	consume = 0,
	server = {
		export = 'p_policejob.photo'
	},
	buttons = {
		{
			label = 'Copy URL',
			action = function(slot)
				TriggerServerEvent('p_policejob/server_camera/CopyPhoto', slot)
			end
		},
	},
},

['handcuffs'] = {
	label = 'Handcuffs',
	weight = 100,
	stack = false,
	close = false,
	consume = 0,
	client = {
		export = 'p_policejob.handcuffs'
	}
},

['cable_ties'] = {
	label = 'Cable ties',
	weight = 100,
	stack = false,
	close = false,
	consume = 0
},

['mouthtape'] = {
	label = 'Mouth Tape',
	weight = 100,
	stack = false,
	close = false,
	consume = 0
},

['police_shield'] = {
	label = 'Police Shield',
	weight = 250,
	stack = false,
	close = false,
	consume = 0,
	client = {
		event = 'p_policejob/client/objects/togglePoliceShield'
	}
},

['evidence_camera'] = {
	label = 'Evidence Camera',
	weight = 100,
	stack = false,
	close = true,
	client = {
		export = 'p_policejob.evidence_camera'
	}
},

['megaphone'] = {
	label = 'Megaphone',
	weight = 100,
	stack = false,
	close = false,
	consume = 0,
	client = {
		export = 'p_policejob.useMegaphone'
	}
},

['traffic_ticket'] = {
	label = 'Traffic Ticket',
	weight = 50,
	stack = false,
	close = false,
	consume = 0,
},

['breathalyzer'] = {
	label = 'Breathalyzer',
	weight = 150,
	stack = false,
	close = true,
	consume = 0,
	client = {
		export = 'p_policejob.useBreathalyzer'
	}
},

['cuffs_key'] = {
	label = 'Handcuffs key',
  	weight = 50,
	stack = false,
  	close = false,
	consume = 0
},

['wheel_clamp'] = {
	label = 'Wheel Clamp',
	weight = 250,
	stack = false,
  	close = false,
	consume = 0
},

Next, add the following to your ox_inventory/data/weapons.lua

['WEAPON_RADAR'] = {
	label = 'Police Radar',
	weight = 250,
	durability = 0.1,
},

AK47 INVENTORY Setup
	['spike_strip'] = {
		name = 'spike_strip',
		label = 'Spike strip',
		weight = 50,
		stack = true,
		consume = {
			remove = 1
		},
		type = "item",
		close = true,
		client = {
			onUse = function(item)
				exports['p_policejob']:spike_strip()
			end
		}
	},

	['road_cone'] = {
		name = 'road_cone',
		label = 'Road cone',
		weight = 50,
		stack = true,
		type = 'item'
	},

	['consign'] = {
		name = 'consign',
		label = 'Road sign',
		weight = 50,
		stack = true,
		type = 'item'
	},

	['barrier'] = {
		name = 'barrier',
		label = 'Road barrier',
		weight = 50,
		stack = true,
		type = 'item'
	},

	['roadcone_light'] = {
		name = 'roadcone_light',
		label = 'Road cone light',
		weight = 50,
		stack = true,
		type = 'item'
	},

	['headbag'] = {
		name = 'headbag',
		label = 'Head bag',
		weight = 50,
		stacksize = 1,
		close = false,
		type = "item"
	},

	['police_diving_suit'] = {
		name = 'police_diving_suit',
		label = 'Police Diving Suit',
		weight = 2000,
		stacksize = 1,
		type = "item",
		server = {
			onUse = function(source, item)
				exports['p_policejob']:police_diving_suit('usingItem', nil, {id = source})
			end
		}
	},

	['player_clothes'] = {
		name = 'player_clothes',
		label = 'Your clothes',
		weight = 250,
		stacksize = 1,
		type = "item",
		server = {
			onUse = function(source, item)
				exports['p_policejob']:player_clothes('usingItem', nil, {id = source})
			end
		}
	},

	['fingerprint'] = {
		name = 'fingerprint',
		label = 'Fingerprint Sample',
		weight = 5,
		stacksize = 1,
		consume = 0,
		type = 'item'
	},

	['bullet'] = {
		name = 'bullet',
		label = 'Bullet Sample',
		weight = 5,
		stacksize = 1,
		type = 'item'
	},

	['blood'] = {
		name = 'blood',
		label = 'Blood Sample',
		weight = 5,
		stack = false,
		type = 'item'
	},

	['tracking_band'] = {
		name = 'tracking_band',
		label = 'GPS Band',
		weight = 300,
		stacksize = 1,
		close = false,
		type = 'item'
	},

	['radio'] = {
		name = 'radio',
		label = 'Radio',
		weight = 1000,
		stack = false,
		allowArmed = true,
		type = 'item'
	},

	['vest_normal'] = {
		name = 'vest_normal',
		label = 'Bulletproof Vest',
		weight = 3000,
		stack = false,
		consume = {
			remove = 1
		},
		client = {
			onUse = function()
				exports['p_policejob']:vest_normal()
			end
		},
		type = 'item'
	},

	['vest_strong'] = {
		name = 'vest_strong',
		label = 'Strong Bulletproof Vest',
		weight = 3000,
		stack = false,
		consume = {
			remove = 1
		},
		client = {
			onUse = function()
				exports['p_policejob']:vest_normal()
			end
		},
		type = 'item'
	},

	['body_cam'] = {
		name = 'body_cam',
		label = 'Police Bodycam',
		weight = 200,
		consume = 0,
		stack = false,
		server = {
			onUse = function(source, item)
				exports['p_policejob']:body_cam('usingItem', nil, {id = source})
			end
		},
		type = 'item'
	},

	['gps'] = {
		name = 'gps',
		label = 'GPS',
		weight = 100,
		stacksize = 1,
		allowArmed = true,
		client = {
			onUse = function()
				exports['p_policejob']:gps()
			end,
			onRemove = function(item)
				if item.amount < 1 then
					local activeGPS = exports['p_policejob']:isGpsActive()
					if activeGPS then
						exports['p_policejob']:gps()
					end
				end
			end
		},
		type = 'item'
	},

	['camera'] = {
		name = 'camera',
		label = 'Camera',
		stack = false,
		close = true,
		consume = 0,
		weight = 1000,
		client = {
			onUse = function()
				exports['p_policejob']:camera()
			end,
		},
		type = 'item'
	},

	['photo'] = {
		name = 'photo',
		label = 'Photo',
		stacksize = 1,
		close = true,
		weight = 10,
		server = {
			onUse = function(source, item)
				exports['p_policejob']:photo('usingItem', nil, {id = source}, item.slot)
			end
		},
		type = 'item'
	},

	['handcuffs'] = {
		name = 'handcuffs',
		label = 'Handcuffs',
		weight = 100,
		stacksize = 1,
		close = false,
		client = {
			onUse = function()
				exports['p_policejob']:handcuffs()
			end,
		},
		type = 'item'
	},

	['cable_ties'] = {
		name = 'cable_ties',
		label = 'Cable ties',
		weight = 100,
		stack = false,
		close = false,
		consume = 0,
		type = 'item'
	},

	['mouthtape'] = {
		name = 'mouthtape',
		label = 'Mouth Tape',
		weight = 100,
		stack = false,
		close = false,
		consume = 0,
		type = 'item'
	},

	['police_shield'] = {
		name = 'police_shield',
		label = 'Police Shield',
		weight = 250,
		stack = false,
		close = false,
		consume = 0,
		client = {
			onUse = function()
				TriggerEvent('p_policejob/client/objects/togglePoliceShield')
			end
		},
		type = 'item'
	},

	['evidence_camera'] = {
		name = 'evidence_camera',
		label = 'Evidence Camera',
		weight = 100,
		stack = false,
		close = true,
		client = {
			onUse = function()
				exports['p_policejob']:evidence_camera()
			end
		},
		type = 'item'
	},

	['megaphone'] = {
		name = 'megaphone'
		label = 'Megaphone',
		weight = 100,
		stack = false,
		close = false,
		consume = 0,
		client = {
			onUse = function()
				exports['p_policejob']:useMegaphone()
			end
		},
		type = 'item'
	},

	['traffic_ticket'] = {
		name = 'traffic_ticket',
		label = 'Traffic Ticket',
		weight = 50,
		stack = false,
		close = false,
		consume = 0,
		type = 'item'
	},

	['breathalyzer'] = {
		name = 'breathalyzer',
		label = 'Breathalyzer',
		weight = 150,
		stack = false,
		close = true,
		consume = 0,
		client = {
			onUse = function()
				exports['p_policejob']:useBreathalyzer()
			end
		},
		type = 'item'
	},

	['cuffs_key'] = {
		name = 'cuffs_key',
		label = 'Handcuffs key',
	  	weight = 50,
		stacksize = 1,
	  	close = false,
		type = 'item'
	},

	['wheel_clamp'] = {
		name = 'wheel_clamp',
		label = 'Wheel Clamp',
		weight = 250,
		stacksize = 1,
	  	close = false,
		type = 'item'
	},

Next, add this to your weapons file

['WEAPON_RADAR'] = {
	label = 'Police Radar',
	weight = 250,
	durability = 0.1,
},
CODEM INVENTORY Setup
	['spike_strip'] = {
		name = 'spike_strip',
		image = 'spike_strip.png',
		label = 'Spike strip',
		weight = 50,
		stack = true,
		unique = false,
		consume = 1,
		type = 'item',
		useable = true
	},

	['road_cone'] = {
		name = 'road_cone',
		image = 'road_cone.png',
		label = 'Road cone',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['consign'] = {
		name = 'consign',
		image = 'consign.png',
		label = 'Road sign',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['barrier'] = {
		name = 'barrier',
		image = 'barrier.png',
		label = 'Road barrier',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['roadcone_light'] = {
		name = 'roadcone_light',
		image = 'roadcone_light.png',
		label = 'Road cone light',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['headbag'] = {
		name = 'headbag',
		image = 'headbag.png',
		label = 'Head bag',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		type = 'item'
	},

	['police_diving_suit'] = {
		name = 'police_diving_suit',
		image = 'police_diving_suit.png',
		label = 'Police Diving Suit',
		weight = 2000,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['player_clothes'] = {
		name = 'player_clothes',
		image = 'player_clothes.png',
		label = 'Your clothes',
		weight = 250,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['fingerprint'] = {
		name = 'fingerprint',
		image = 'fingerprint.png',
		label = 'Fingerprint Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['bullet'] = {
		name = 'bullet',
		image = 'bullet.png',
		label = 'Bullet Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['blood'] = {
		name = 'blood',
		image = 'blood.png',
		label = 'Blood Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['tracking_band'] = {
		name = 'tracking_band',
		image = 'tracking_band.png',
		label = 'GPS Band',
		weight = 300,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['radio'] = {
		name = 'radio',
		image = 'radio.png',
		label = 'Radio',
		weight = 1000,
		stack = false,
		unique = true,
		allowArmed = true,
		type = 'item'
	},

	['vest_normal'] = {
		name = 'vest_normal',
		image = 'vest_normal.png',
		label = 'Bulletproof Vest',
		weight = 3000,
		stack = false,
		unique = true,
		consume = 1,
		type = 'item',
		useable = true
	},

	['vest_strong'] = {
		name = 'vest_strong',
		image = 'vest_strong.png',
		label = 'Strong Bulletproof Vest',
		weight = 3000,
		stack = false,
		unique = true,
		consume = 1,
		type = 'item',
		useable = true
	},

	['body_cam'] = {
		name = 'body_cam',
		image = 'body_cam.png',
		label = 'Police Bodycam',
		weight = 200,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['gps'] = {
		name = 'gps',
		image = 'gps.png',
		label = 'GPS',
		weight = 100,
		stack = false,
		unique = true,
		consume = 0,
		allowArmed = true,
		type = 'item',
		useable = true
	},

	['camera'] = {
		name = 'camera',
		image = 'camera.png',
		label = 'Camera',
		stack = false,
		unique = true,
		close = true,
		consume = 0,
		weight = 1000,
		type = 'item',
		useable = true
	},

	['photo'] = {
		name = 'photo',
		image = 'photo.png',
		label = 'Photo',
		stack = false,
		unique = true,
		close = true,
		weight = 10,
		consume = 0,
		type = 'item',
		useable = true,
	},

	['handcuffs'] = {
		name = 'handcuffs',
		image = 'handcuffs.png',
		label = 'Handcuffs',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['cable_ties'] = {
		name = 'cable_ties',
		image = 'cable_ties.png',
		label = 'Cable ties',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['mouthtape'] = {
		name = 'mouthtape',
		image = 'mouthtape.png',
		label = 'Mouth Tape',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['police_shield'] = {
		name = 'police_shield',
		image = 'police_shield.png',
		label = 'Police Shield',
		weight = 250,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['evidence_camera'] = {
		name = 'evidence_camera',
		image = 'evidence_camera.png',
		label = 'Evidence Camera',
		weight = 100,
		stack = false,
		unique = true,
		close = true,
		type = 'item',
		useable = true
	},

	['megaphone'] = {
		name = 'megaphone',
		image = 'megaphone.png',
		label = 'Megaphone',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['traffic_ticket'] = {
		name = 'traffic_ticket',
		image = 'traffic_ticket.png',
		label = 'Traffic Ticket',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['breathalyzer'] = {
		name = 'breathalyzer',
		image = 'breathalyzer.png',
		label = 'Breathalyzer',
		weight = 150,
		stack = false,
		unique = true,
		close = true,
		consume = 0,
		type = 'item',
		useable = true
	},

	['cuffs_key'] = {
		name = 'cuffs_key',
		image = 'cuffs_key.png',
		label = 'Handcuffs key',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['wheel_clamp'] = {
		name = 'wheel_clamp',
		image = 'wheel_clamp.png',
		label = 'Wheel Clamp',
		weight = 250,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

Next, add this to your weapons file

['WEAPON_RADAR'] = {
	label = 'Police Radar',
	weight = 250,
	durability = 0.1,
},
JPR INVENTORY Setup
	['spike_strip'] = {
		name = 'spike_strip',
		image = 'spike_strip.png',
		label = 'Spike strip',
		weight = 50,
		stack = true,
		unique = false,
		consume = 1,
		type = 'item',
		useable = true
	},

	['road_cone'] = {
		name = 'road_cone',
		image = 'road_cone.png',
		label = 'Road cone',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['consign'] = {
		name = 'consign',
		image = 'consign.png',
		label = 'Road sign',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['barrier'] = {
		name = 'barrier',
		image = 'barrier.png',
		label = 'Road barrier',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['roadcone_light'] = {
		name = 'roadcone_light',
		image = 'roadcone_light.png',
		label = 'Road cone light',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['headbag'] = {
		name = 'headbag',
		image = 'headbag.png',
		label = 'Head bag',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		type = 'item'
	},

	['police_diving_suit'] = {
		name = 'police_diving_suit',
		image = 'police_diving_suit.png',
		label = 'Police Diving Suit',
		weight = 2000,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['player_clothes'] = {
		name = 'player_clothes',
		image = 'player_clothes.png',
		label = 'Your clothes',
		weight = 250,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['fingerprint'] = {
		name = 'fingerprint',
		image = 'fingerprint.png',
		label = 'Fingerprint Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['bullet'] = {
		name = 'bullet',
		image = 'bullet.png',
		label = 'Bullet Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['blood'] = {
		name = 'blood',
		image = 'blood.png',
		label = 'Blood Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['tracking_band'] = {
		name = 'tracking_band',
		image = 'tracking_band.png',
		label = 'GPS Band',
		weight = 300,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['radio'] = {
		name = 'radio',
		image = 'radio.png',
		label = 'Radio',
		weight = 1000,
		stack = false,
		unique = true,
		allowArmed = true,
		type = 'item'
	},

	['vest_normal'] = {
		name = 'vest_normal',
		image = 'vest_normal.png',
		label = 'Bulletproof Vest',
		weight = 3000,
		stack = false,
		unique = true,
		consume = 1,
		type = 'item',
		useable = true
	},

	['vest_strong'] = {
		name = 'vest_strong',
		image = 'vest_strong.png',
		label = 'Strong Bulletproof Vest',
		weight = 3000,
		stack = false,
		unique = true,
		consume = 1,
		type = 'item',
		useable = true
	},

	['body_cam'] = {
		name = 'body_cam',
		image = 'body_cam.png',
		label = 'Police Bodycam',
		weight = 200,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['gps'] = {
		name = 'gps',
		image = 'gps.png',
		label = 'GPS',
		weight = 100,
		stack = false,
		unique = true,
		consume = 0,
		allowArmed = true,
		type = 'item',
		useable = true
	},

	['camera'] = {
		name = 'camera',
		image = 'camera.png',
		label = 'Camera',
		stack = false,
		unique = true,
		close = true,
		consume = 0,
		weight = 1000,
		type = 'item',
		useable = true
	},

	['photo'] = {
		name = 'photo',
		image = 'photo.png',
		label = 'Photo',
		stack = false,
		unique = true,
		close = true,
		weight = 10,
		consume = 0,
		type = 'item',
		useable = true,
	},

	['handcuffs'] = {
		name = 'handcuffs',
		image = 'handcuffs.png',
		label = 'Handcuffs',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['cable_ties'] = {
		name = 'cable_ties',
		image = 'cable_ties.png',
		label = 'Cable ties',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['mouthtape'] = {
		name = 'mouthtape',
		image = 'mouthtape.png',
		label = 'Mouth Tape',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['police_shield'] = {
		name = 'police_shield',
		image = 'police_shield.png',
		label = 'Police Shield',
		weight = 250,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['evidence_camera'] = {
		name = 'evidence_camera',
		image = 'evidence_camera.png',
		label = 'Evidence Camera',
		weight = 100,
		stack = false,
		unique = true,
		close = true,
		type = 'item',
		useable = true
	},

	['megaphone'] = {
		name = 'megaphone',
		image = 'megaphone.png',
		label = 'Megaphone',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['traffic_ticket'] = {
		name = 'traffic_ticket',
		image = 'traffic_ticket.png',
		label = 'Traffic Ticket',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['breathalyzer'] = {
		name = 'breathalyzer',
		image = 'breathalyzer.png',
		label = 'Breathalyzer',
		weight = 150,
		stack = false,
		unique = true,
		close = true,
		consume = 0,
		type = 'item',
		useable = true
	},

	['cuffs_key'] = {
		name = 'cuffs_key',
		image = 'cuffs_key.png',
		label = 'Handcuffs key',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['wheel_clamp'] = {
		name = 'wheel_clamp',
		image = 'wheel_clamp.png',
		label = 'Wheel Clamp',
		weight = 250,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

Next, add this to your weapons file

['WEAPON_RADAR'] = {
	label = 'Police Radar',
	weight = 250,
	durability = 0.1,
},
QB INVENTORY Setup
	['spike_strip'] = {
		name = 'spike_strip',
		image = 'spike_strip.png',
		label = 'Spike strip',
		weight = 50,
		stack = true,
		unique = false,
		consume = 1,
		type = 'item',
		useable = true
	},

	['road_cone'] = {
		name = 'road_cone',
		image = 'road_cone.png',
		label = 'Road cone',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['consign'] = {
		name = 'consign',
		image = 'consign.png',
		label = 'Road sign',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['barrier'] = {
		name = 'barrier',
		image = 'barrier.png',
		label = 'Road barrier',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['roadcone_light'] = {
		name = 'roadcone_light',
		image = 'roadcone_light.png',
		label = 'Road cone light',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['headbag'] = {
		name = 'headbag',
		image = 'headbag.png',
		label = 'Head bag',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		type = 'item'
	},

	['police_diving_suit'] = {
		name = 'police_diving_suit',
		image = 'police_diving_suit.png',
		label = 'Police Diving Suit',
		weight = 2000,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['player_clothes'] = {
		name = 'player_clothes',
		image = 'player_clothes.png',
		label = 'Your clothes',
		weight = 250,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['fingerprint'] = {
		name = 'fingerprint',
		image = 'fingerprint.png',
		label = 'Fingerprint Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['bullet'] = {
		name = 'bullet',
		image = 'bullet.png',
		label = 'Bullet Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['blood'] = {
		name = 'blood',
		image = 'blood.png',
		label = 'Blood Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['tracking_band'] = {
		name = 'tracking_band',
		image = 'tracking_band.png',
		label = 'GPS Band',
		weight = 300,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['radio'] = {
		name = 'radio',
		image = 'radio.png',
		label = 'Radio',
		weight = 1000,
		stack = false,
		unique = true,
		allowArmed = true,
		type = 'item'
	},

	['vest_normal'] = {
		name = 'vest_normal',
		image = 'vest_normal.png',
		label = 'Bulletproof Vest',
		weight = 3000,
		stack = false,
		unique = true,
		consume = 1,
		type = 'item',
		useable = true
	},

	['vest_strong'] = {
		name = 'vest_strong',
		image = 'vest_strong.png',
		label = 'Strong Bulletproof Vest',
		weight = 3000,
		stack = false,
		unique = true,
		consume = 1,
		type = 'item',
		useable = true
	},

	['body_cam'] = {
		name = 'body_cam',
		image = 'body_cam.png',
		label = 'Police Bodycam',
		weight = 200,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['gps'] = {
		name = 'gps',
		image = 'gps.png',
		label = 'GPS',
		weight = 100,
		stack = false,
		unique = true,
		consume = 0,
		allowArmed = true,
		type = 'item',
		useable = true
	},

	['camera'] = {
		name = 'camera',
		image = 'camera.png',
		label = 'Camera',
		stack = false,
		unique = true,
		close = true,
		consume = 0,
		weight = 1000,
		type = 'item',
		useable = true
	},

	['photo'] = {
		name = 'photo',
		image = 'photo.png',
		label = 'Photo',
		stack = false,
		unique = true,
		close = true,
		weight = 10,
		consume = 0,
		type = 'item',
		useable = true,
	},

	['handcuffs'] = {
		name = 'handcuffs',
		image = 'handcuffs.png',
		label = 'Handcuffs',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['cable_ties'] = {
		name = 'cable_ties',
		image = 'cable_ties.png',
		label = 'Cable ties',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['mouthtape'] = {
		name = 'mouthtape',
		image = 'mouthtape.png',
		label = 'Mouth Tape',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['police_shield'] = {
		name = 'police_shield',
		image = 'police_shield.png',
		label = 'Police Shield',
		weight = 250,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['evidence_camera'] = {
		name = 'evidence_camera',
		image = 'evidence_camera.png',
		label = 'Evidence Camera',
		weight = 100,
		stack = false,
		unique = true,
		close = true,
		type = 'item',
		useable = true
	},

	['megaphone'] = {
		name = 'megaphone',
		image = 'megaphone.png',
		label = 'Megaphone',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['traffic_ticket'] = {
		name = 'traffic_ticket',
		image = 'traffic_ticket.png',
		label = 'Traffic Ticket',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['breathalyzer'] = {
		name = 'breathalyzer',
		image = 'breathalyzer.png',
		label = 'Breathalyzer',
		weight = 150,
		stack = false,
		unique = true,
		close = true,
		consume = 0,
		type = 'item',
		useable = true
	},

	['cuffs_key'] = {
		name = 'cuffs_key',
		image = 'cuffs_key.png',
		label = 'Handcuffs key',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['wheel_clamp'] = {
		name = 'wheel_clamp',
		image = 'wheel_clamp.png',
		label = 'Wheel Clamp',
		weight = 250,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

Next, add this to your weapons file

['WEAPON_RADAR'] = {
	label = 'Police Radar',
	weight = 250,
	durability = 0.1,
},
QS INVENTORY Setup
	['spike_strip'] = {
		label = 'Spike strip',
		name = 'spike_strip',
		image = 'spike_strip.png',
		weight = 50,
		unique = false,
		consume = 1,
		client = {
			export = 'p_policejob.spike_strip'
		},
		useable = true
	},

	['road_cone'] = {
		label = 'Road cone',
		name = 'road_cone',
		image = 'road_cone.png',
		weight = 50,
		unique = false,
	},

	['consign'] = {
		label = 'Road sign',
		name = 'consign',
		image = 'consign.png',
		weight = 50,
		unique = false,
	},

	['barrier'] = {
		label = 'Road barrier',
		name = 'barrier',
		image = 'barrier.png',
		weight = 50,
		unique = false,
	},

	['roadcone_light'] = {
		label = 'Road cone light',
		name = 'roadcone_light',
		image = 'roadcone_light.png',
		weight = 50,
		unique = false,
	},

	['headbag'] = {
		label = 'Head bag',
		name = 'headbag',
		image = 'headbag.png',
		weight = 50,
		unique = true,
		close = false
	},

	['police_diving_suit'] = {
		label = 'Police Diving Suit',
		name = 'police_diving_suit',
		image = 'police_diving_suit.png',
		weight = 2000,
		consume = 0,
		unique = true,
		server = {
			export = 'p_policejob.police_diving_suit'
		},
		useable = true
	},

	['player_clothes'] = {
		label = 'Your clothes',
		name = 'player_clothes',
		image = 'player_clothes.png',
		weight = 250,
		consume = 0,
		unique = true,
		server = {
			export = 'p_policejob.player_clothes'
		},
		useable = true
	},

	['fingerprint'] = {
		label = 'Fingerprint Sample',
		name = 'fingerprint',
		image = 'fingerprint.png',
		weight = 5,
		unique = true,
		consume = 0,
	},

	['bullet'] = {
		label = 'Bullet Sample',
		name = 'bullet',
		image = 'bullet.png',
		weight = 5,
		unique = true,
		consume = 0
	},

	['blood'] = {
		label = 'Blood Sample',
		name = 'blood',
		image = 'blood.png',
		weight = 5,
		unique = true,
		consume = 0
	},

	['tracking_band'] = {
		label = 'GPS Band',
		name = 'tracking_band',
		image = 'tracking_band.png',
		weight = 300,
		unique = true,
		close = false,
		consume = 0
	},

	['radio'] = {
		label = 'Radio',
		name = 'radio',
		image = 'radio.png',
		weight = 1000,
		unique = true,
		allowArmed = true
	},

	['vest_normal'] = {
		label = 'Bulletproof Vest',
		name = 'vest_normal',
		image = 'vest_normal.png',
		weight = 3000,
		unique = true,
		consume = 1,
		client = {
			export = 'p_policejob.vest_normal'
		},
		useable = true
	},

	['vest_strong'] = {
		label = 'Strong Bulletproof Vest',
		name = 'vest_strong',
		image = 'vest_strong.png',
		weight = 3000,
		unique = true,
		consume = 1,
		client = {
			export = 'p_policejob.vest_strong'
		},
		useable = true
	},

	['body_cam'] = {
		label = 'Police Bodycam',
		name = 'body_cam',
		image = 'body_cam.png',
		weight = 200,
		consume = 0,
		unique = true,
		server = {
			export = 'p_policejob.body_cam'
		},
		useable = true
	},

	['gps'] = {
		label = 'GPS',
		name = 'gps',
		image = 'gps.png',
		weight = 100,
		unique = true,
		consume = 0,
		allowArmed = true,
		client = {
			export = 'p_policejob.gps',
			remove = function(total)
		if total < 1 then
			local activeGPS = exports['p_policejob']:isGpsActive()
			if activeGPS then
				exports['p_policejob']:gps()
			end
		end
			end
		},
		useable = true
	},

	['camera'] = {
		label = 'Camera',
		name = 'camera',
		image = 'camera.png',
		unique = true,
		close = true,
		weight = 1000,
		consume = 0,
		client = {
			export = 'p_policejob.camera'
		},
		useable = true
	},

	['photo'] = {
		label = 'Photo',
		name = 'photo',
		image = 'photo.png',
		unique = true,
		close = true,
		weight = 10,
		consume = 0,
		server = {
			export = 'p_policejob.photo'
		},
		useable = true,
		buttons = {
			{
		label = 'Copy URL',
		action = function(slot)
			TriggerServerEvent('p_policejob/server_camera/CopyPhoto', slot)
		end
			},
		},
	},

	['handcuffs'] = {
		label = 'Handcuffs',
		name = 'handcuffs',
		image = 'handcuffs.png',
		weight = 100,
		unique = true,
		close = false,
		consume = 0,
		client = {
			export = 'p_policejob.handcuffs'
		},
		useable = true
	},

	['cable_ties'] = {
		label = 'Cable ties',
		name = 'cable_ties',
		image = 'cable_ties.png',
		weight = 100,
		unique = true,
		close = false,
		consume = 0
	},

	['mouthtape'] = {
		label = 'Mouth Tape',
		name = 'mouthtape',
		image = 'mouthtape.png',
		weight = 100,
		unique = true,
		close = false,
		consume = 0
	},

	['police_shield'] = {
		label = 'Police Shield',
		name = 'police_shield',
		image = 'police_shield.png',
		weight = 250,
		unique = true,
		close = false,
		consume = 0,
		client = {
			event = 'p_policejob/client/objects/togglePoliceShield'
		},
		useable = true
	},

	['evidence_camera'] = {
		label = 'Evidence Camera',
		name = 'evidence_camera',
		image = 'evidence_camera.png',
		weight = 100,
		unique = true,
		close = true,
		client = {
			export = 'p_policejob.evidence_camera'
		},
		useable = true
	},

	['megaphone'] = {
		label = 'Megaphone',
		name = 'megaphone',
		image = 'megaphone.png',
		weight = 100,
		unique = true,
		close = false,
		consume = 0,
		client = {
			export = 'p_policejob.useMegaphone'
		},
		useable = true
	},

	['traffic_ticket'] = {
		label = 'Traffic Ticket',
		name = 'traffic_ticket',
		image = 'traffic_ticket.png',
		weight = 50,
		unique = true,
		close = false,
		consume = 0,
	},

	['breathalyzer'] = {
		label = 'Breathalyzer',
		name = 'breathalyzer',
		image = 'breathalyzer.png',
		weight = 150,
		unique = true,
		close = true,
		consume = 0,
		client = {
			export = 'p_policejob.useBreathalyzer'
		},
		useable = true
	},

	['cuffs_key'] = {
		label = 'Handcuffs key',
		name = 'cuffs_key',
		image = 'cuffs_key.png',
		weight = 50,
		unique = true,
		close = false,
		consume = 0
	},

	['wheel_clamp'] = {
		label = 'Wheel Clamp',
		name = 'wheel_clamp',
		image = 'wheel_clamp.png',
		weight = 250,
		unique = true,
		close = false,
		consume = 0
	},

Next, add this to your weapons file

['WEAPON_RADAR'] = {
	label = 'Police Radar',
	weight = 250,
	durability = 0.1,
},
ORIGEN INVENTORY Setup
    ['spike_strip'] = {
		label = 'Spike strip',
		weight = 50,
		stack = true,
		consume = 1,
		client = {
			export = 'p_policejob.spike_strip'
		}
	},

	['road_cone'] = {
		label = 'Road cone',
		weight = 50,
		stack = true,
	},

	['consign'] = {
		label = 'Road sign',
		weight = 50,
		stack = true,
	},

	['barrier'] = {
		label = 'Road barrier',
		weight = 50,
		stack = true,
	},

	['roadcone_light'] = {
		label = 'Road cone light',
		weight = 50,
		stack = true,
	},

	['headbag'] = {
		label = 'Head bag',
		weight = 50,
		stack = false,
		close = false
	},

	['police_diving_suit'] = {
		label = 'Police Diving Suit',
		weight = 2000,
		consume = 0,
		stack = false,
		server = {
			export = 'p_policejob.police_diving_suit'
		}
	},

	['player_clothes'] = {
		label = 'Your clothes',
		weight = 250,
		consume = 0,
		stack = false,
		server = {
			export = 'p_policejob.player_clothes'
		}
	},

	['fingerprint'] = {
		label = 'Fingerprint Sample',
		weight = 5,
		stack = false,
		consume = 0,
	},

	['bullet'] = {
		label = 'Bullet Sample',
		weight = 5,
		stack = false,
		consume = 0
	},

	['blood'] = {
		label = 'Blood Sample',
		weight = 5,
		stack = false,
		consume = 0
	},

	['tracking_band'] = {
		label = 'GPS Band',
		weight = 300,
		stack = false,
		close = false,
		consume = 0
	},

	['radio'] = {
		label = 'Radio',
		weight = 1000,
		stack = false,
		allowArmed = true
	},

	['vest_normal'] = {
		label = 'Bulletproof Vest',
		weight = 3000,
		stack = false,
		consume = 1,
		client = {
			export = 'p_policejob.vest_normal'
		}
	},

	['vest_strong'] = {
		label = 'Strong Bulletproof Vest',
		weight = 3000,
		stack = false,
		consume = 1,
		client = {
			export = 'p_policejob.vest_strong'
		}
	},

	['body_cam'] = {
		label = 'Police Bodycam',
		weight = 200,
		consume = 0,
		stack = false,
		server = {
			export = 'p_policejob.body_cam'
		}
	},

	['gps'] = {
		label = 'GPS',
		weight = 100,
		stack = false,
		consume = 0,
		allowArmed = true,
		client = {
			export = 'p_policejob.gps',
			remove = function(total)
				if total < 1 then
					local activeGPS = exports['p_policejob']:isGpsActive()
					if activeGPS then
						exports['p_policejob']:gps()
					end
				end
			end
		}
	},

	['camera'] = {
		label = 'Camera',
		stack = false,
		close = true,
		consume = 0,
		weight = 1000,
		client = {
			export = 'p_policejob.camera'
		}
	},

	['photo'] = {
		label = 'Photo',
		stack = false,
		close = true,
		weight = 10,
		consume = 0,
		server = {
			export = 'p_policejob.photo'
		},
		buttons = {
			{
				label = 'Copy URL',
				action = function(slot)
					TriggerServerEvent('p_policejob/server_camera/CopyPhoto', slot)
				end
			},
		},
	},

	['handcuffs'] = {
		label = 'Handcuffs',
		weight = 100,
		stack = false,
		close = false,
		consume = 0,
		client = {
			export = 'p_policejob.handcuffs'
		}
	},

	['cable_ties'] = {
		label = 'Cable ties',
		weight = 100,
		stack = false,
		close = false,
		consume = 0
	},

	['mouthtape'] = {
		label = 'Mouth Tape',
		weight = 100,
		stack = false,
		close = false,
		consume = 0
	},

	['police_shield'] = {
		label = 'Police Shield',
		weight = 250,
		stack = false,
		close = false,
		consume = 0,
		client = {
			event = 'p_policejob/client/objects/togglePoliceShield'
		}
	},

	['evidence_camera'] = {
		label = 'Evidence Camera',
		weight = 100,
		stack = false,
		close = true,
		client = {
			export = 'p_policejob.evidence_camera'
		}
	},

	['megaphone'] = {
		label = 'Megaphone',
		weight = 100,
		stack = false,
		close = false,
		consume = 0,
		client = {
			export = 'p_policejob.useMegaphone'
		}
	},

	['traffic_ticket'] = {
		label = 'Traffic Ticket',
		weight = 50,
		stack = false,
		close = false,
		consume = 0,
	},

	['breathalyzer'] = {
		label = 'Breathalyzer',
		weight = 150,
		stack = false,
		close = true,
		consume = 0,
		client = {
			export = 'p_policejob.useBreathalyzer'
		}
	},

	['cuffs_key'] = {
		label = 'Handcuffs key',
	  	weight = 50,
		stack = false,
	  	close = false,
		consume = 0
	},

	['wheel_clamp'] = {
		label = 'Wheel Clamp',
		weight = 250,
		stack = false,
	  	close = false,
		consume = 0
	},

Next, add this to your weapons file

['WEAPON_RADAR'] = {
	label = 'Police Radar',
	weight = 250,
	durability = 0.1,
},
TGIANN INVENTORY Setup
	['spike_strip'] = {
		name = 'spike_strip',
		image = 'spike_strip.png',
		label = 'Spike strip',
		weight = 50,
		stack = true,
		unique = false,
		consume = 1,
		type = 'item',
		useable = true
	},

	['road_cone'] = {
		name = 'road_cone',
		image = 'road_cone.png',
		label = 'Road cone',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['consign'] = {
		name = 'consign',
		image = 'consign.png',
		label = 'Road sign',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['barrier'] = {
		name = 'barrier',
		image = 'barrier.png',
		label = 'Road barrier',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['roadcone_light'] = {
		name = 'roadcone_light',
		image = 'roadcone_light.png',
		label = 'Road cone light',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['headbag'] = {
		name = 'headbag',
		image = 'headbag.png',
		label = 'Head bag',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		type = 'item'
	},

	['police_diving_suit'] = {
		name = 'police_diving_suit',
		image = 'police_diving_suit.png',
		label = 'Police Diving Suit',
		weight = 2000,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['player_clothes'] = {
		name = 'player_clothes',
		image = 'player_clothes.png',
		label = 'Your clothes',
		weight = 250,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['fingerprint'] = {
		name = 'fingerprint',
		image = 'fingerprint.png',
		label = 'Fingerprint Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['bullet'] = {
		name = 'bullet',
		image = 'bullet.png',
		label = 'Bullet Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['blood'] = {
		name = 'blood',
		image = 'blood.png',
		label = 'Blood Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['tracking_band'] = {
		name = 'tracking_band',
		image = 'tracking_band.png',
		label = 'GPS Band',
		weight = 300,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['radio'] = {
		name = 'radio',
		image = 'radio.png',
		label = 'Radio',
		weight = 1000,
		stack = false,
		unique = true,
		allowArmed = true,
		type = 'item'
	},

	['vest_normal'] = {
		name = 'vest_normal',
		image = 'vest_normal.png',
		label = 'Bulletproof Vest',
		weight = 3000,
		stack = false,
		unique = true,
		consume = 1,
		type = 'item',
		useable = true
	},

	['vest_strong'] = {
		name = 'vest_strong',
		image = 'vest_strong.png',
		label = 'Strong Bulletproof Vest',
		weight = 3000,
		stack = false,
		unique = true,
		consume = 1,
		type = 'item',
		useable = true
	},

	['body_cam'] = {
		name = 'body_cam',
		image = 'body_cam.png',
		label = 'Police Bodycam',
		weight = 200,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['gps'] = {
		name = 'gps',
		image = 'gps.png',
		label = 'GPS',
		weight = 100,
		stack = false,
		unique = true,
		consume = 0,
		allowArmed = true,
		type = 'item',
		useable = true
	},

	['camera'] = {
		name = 'camera',
		image = 'camera.png',
		label = 'Camera',
		stack = false,
		unique = true,
		close = true,
		consume = 0,
		weight = 1000,
		type = 'item',
		useable = true
	},

	['photo'] = {
		name = 'photo',
		image = 'photo.png',
		label = 'Photo',
		stack = false,
		unique = true,
		close = true,
		weight = 10,
		consume = 0,
		type = 'item',
		useable = true,
	},

	['handcuffs'] = {
		name = 'handcuffs',
		image = 'handcuffs.png',
		label = 'Handcuffs',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['cable_ties'] = {
		name = 'cable_ties',
		image = 'cable_ties.png',
		label = 'Cable ties',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['mouthtape'] = {
		name = 'mouthtape',
		image = 'mouthtape.png',
		label = 'Mouth Tape',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['police_shield'] = {
		name = 'police_shield',
		image = 'police_shield.png',
		label = 'Police Shield',
		weight = 250,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['evidence_camera'] = {
		name = 'evidence_camera',
		image = 'evidence_camera.png',
		label = 'Evidence Camera',
		weight = 100,
		stack = false,
		unique = true,
		close = true,
		type = 'item',
		useable = true
	},

	['megaphone'] = {
		name = 'megaphone',
		image = 'megaphone.png',
		label = 'Megaphone',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['traffic_ticket'] = {
		name = 'traffic_ticket',
		image = 'traffic_ticket.png',
		label = 'Traffic Ticket',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['breathalyzer'] = {
		name = 'breathalyzer',
		image = 'breathalyzer.png',
		label = 'Breathalyzer',
		weight = 150,
		stack = false,
		unique = true,
		close = true,
		consume = 0,
		type = 'item',
		useable = true
	},

	['cuffs_key'] = {
		name = 'cuffs_key',
		image = 'cuffs_key.png',
		label = 'Handcuffs key',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['wheel_clamp'] = {
		name = 'wheel_clamp',
		image = 'wheel_clamp.png',
		label = 'Wheel Clamp',
		weight = 250,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

Next, add this to your weapons file

['WEAPON_RADAR'] = {
	label = 'Police Radar',
	weight = 250,
	durability = 0.1,
},

At last, go to your configMetadata.lua file and paste this at the end

local p_policejob = GetResourceState("p_policejob") == "started"
local evidences = {'blood', 'fingerprint', 'bullet'}

if p_policejob then
    for _, v in pairs(evidences) do
        config.metadata[v] = {
            { metadata = 'id', value = 'ID:' },
        }
    end
end
PS INVENTORY Setup
	['spike_strip'] = {
		name = 'spike_strip',
		image = 'spike_strip.png',
		label = 'Spike strip',
		weight = 50,
		stack = true,
		unique = false,
		consume = 1,
		type = 'item',
		useable = true
	},

	['road_cone'] = {
		name = 'road_cone',
		image = 'road_cone.png',
		label = 'Road cone',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['consign'] = {
		name = 'consign',
		image = 'consign.png',
		label = 'Road sign',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['barrier'] = {
		name = 'barrier',
		image = 'barrier.png',
		label = 'Road barrier',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['roadcone_light'] = {
		name = 'roadcone_light',
		image = 'roadcone_light.png',
		label = 'Road cone light',
		weight = 50,
		stack = true,
		unique = false,
		type = 'item'
	},

	['headbag'] = {
		name = 'headbag',
		image = 'headbag.png',
		label = 'Head bag',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		type = 'item'
	},

	['police_diving_suit'] = {
		name = 'police_diving_suit',
		image = 'police_diving_suit.png',
		label = 'Police Diving Suit',
		weight = 2000,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['player_clothes'] = {
		name = 'player_clothes',
		image = 'player_clothes.png',
		label = 'Your clothes',
		weight = 250,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['fingerprint'] = {
		name = 'fingerprint',
		image = 'fingerprint.png',
		label = 'Fingerprint Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['bullet'] = {
		name = 'bullet',
		image = 'bullet.png',
		label = 'Bullet Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['blood'] = {
		name = 'blood',
		image = 'blood.png',
		label = 'Blood Sample',
		weight = 5,
		stack = false,
		unique = true,
		consume = 0,
		type = 'item'
	},

	['tracking_band'] = {
		name = 'tracking_band',
		image = 'tracking_band.png',
		label = 'GPS Band',
		weight = 300,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['radio'] = {
		name = 'radio',
		image = 'radio.png',
		label = 'Radio',
		weight = 1000,
		stack = false,
		unique = true,
		allowArmed = true,
		type = 'item'
	},

	['vest_normal'] = {
		name = 'vest_normal',
		image = 'vest_normal.png',
		label = 'Bulletproof Vest',
		weight = 3000,
		stack = false,
		unique = true,
		consume = 1,
		type = 'item',
		useable = true
	},

	['vest_strong'] = {
		name = 'vest_strong',
		image = 'vest_strong.png',
		label = 'Strong Bulletproof Vest',
		weight = 3000,
		stack = false,
		unique = true,
		consume = 1,
		type = 'item',
		useable = true
	},

	['body_cam'] = {
		name = 'body_cam',
		image = 'body_cam.png',
		label = 'Police Bodycam',
		weight = 200,
		consume = 0,
		stack = false,
		unique = true,
		type = 'item',
		useable = true
	},

	['gps'] = {
		name = 'gps',
		image = 'gps.png',
		label = 'GPS',
		weight = 100,
		stack = false,
		unique = true,
		consume = 0,
		allowArmed = true,
		type = 'item',
		useable = true
	},

	['camera'] = {
		name = 'camera',
		image = 'camera.png',
		label = 'Camera',
		stack = false,
		unique = true,
		close = true,
		consume = 0,
		weight = 1000,
		type = 'item',
		useable = true
	},

	['photo'] = {
		name = 'photo',
		image = 'photo.png',
		label = 'Photo',
		stack = false,
		unique = true,
		close = true,
		weight = 10,
		consume = 0,
		type = 'item',
		useable = true,
	},

	['handcuffs'] = {
		name = 'handcuffs',
		image = 'handcuffs.png',
		label = 'Handcuffs',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['cable_ties'] = {
		name = 'cable_ties',
		image = 'cable_ties.png',
		label = 'Cable ties',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['mouthtape'] = {
		name = 'mouthtape',
		image = 'mouthtape.png',
		label = 'Mouth Tape',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['police_shield'] = {
		name = 'police_shield',
		image = 'police_shield.png',
		label = 'Police Shield',
		weight = 250,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['evidence_camera'] = {
		name = 'evidence_camera',
		image = 'evidence_camera.png',
		label = 'Evidence Camera',
		weight = 100,
		stack = false,
		unique = true,
		close = true,
		type = 'item',
		useable = true
	},

	['megaphone'] = {
		name = 'megaphone',
		image = 'megaphone.png',
		label = 'Megaphone',
		weight = 100,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item',
		useable = true
	},

	['traffic_ticket'] = {
		name = 'traffic_ticket',
		image = 'traffic_ticket.png',
		label = 'Traffic Ticket',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['breathalyzer'] = {
		name = 'breathalyzer',
		image = 'breathalyzer.png',
		label = 'Breathalyzer',
		weight = 150,
		stack = false,
		unique = true,
		close = true,
		consume = 0,
		type = 'item',
		useable = true
	},

	['cuffs_key'] = {
		name = 'cuffs_key',
		image = 'cuffs_key.png',
		label = 'Handcuffs key',
		weight = 50,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

	['wheel_clamp'] = {
		name = 'wheel_clamp',
		image = 'wheel_clamp.png',
		label = 'Wheel Clamp',
		weight = 250,
		stack = false,
		unique = true,
		close = false,
		consume = 0,
		type = 'item'
	},

Next, add this to your weapons file

['WEAPON_RADAR'] = {
	label = 'Police Radar',
	weight = 250,
	durability = 0.1,
},

Adding item image

Place the images from p_policejob/INSTALL/ICONS in your inventory resource's image folder:

  • For ox_inventory: ox_inventory/web/images/

  • For qb-inventory: qb-inventory/html/images/

  • For ESX inventory: Check your specific inventory resource's image directory

  • For other inventories: Check your specific inventory resource's image directory

Step 5: Configuration

  1. Open p_policejob/shared folder

  2. Configure our script basing on your needs.

Step 6: Start using our script

  1. Save all changes

  2. Restart / Start your FiveM server

Enjoy using your brand new pScripts Police Job Script!

Last updated