From 2e67cf644b2eaef6e83e1c8da8b3415e2fff988c Mon Sep 17 00:00:00 2001 From: Kakarot <57848836+GhzGarage@users.noreply.github.com> Date: Tue, 11 Mar 2025 23:06:37 -0500 Subject: [PATCH] Upload shared files --- shared/json/config.json | 44 + shared/json/gangs.json | 118 + shared/json/items.json | 3533 +++++++++++++ shared/json/jobs.json | 399 ++ shared/json/player_defaults.json | 90 + shared/json/vehicles.json | 8032 ++++++++++++++++++++++++++++++ shared/json/weapons.json | 884 ++++ shared/locale.lua | 144 + shared/lua/core.lua | 46 + shared/lua/functions.lua | 523 ++ shared/lua/loader.lua | 70 + 11 files changed, 13883 insertions(+) create mode 100644 shared/json/config.json create mode 100644 shared/json/gangs.json create mode 100644 shared/json/items.json create mode 100644 shared/json/jobs.json create mode 100644 shared/json/player_defaults.json create mode 100644 shared/json/vehicles.json create mode 100644 shared/json/weapons.json create mode 100644 shared/locale.lua create mode 100644 shared/lua/core.lua create mode 100644 shared/lua/functions.lua create mode 100644 shared/lua/loader.lua diff --git a/shared/json/config.json b/shared/json/config.json new file mode 100644 index 0000000..14a6e04 --- /dev/null +++ b/shared/json/config.json @@ -0,0 +1,44 @@ +{ + "General": { + "cash": { + "amount": 500, + "allowminus": false, + "minuslimit": -5000 + }, + "bank": { + "amount": 5000, + "allowminus": false, + "minuslimit": -50000 + }, + "crypto": { + "amount": 0, + "allowminus": false, + "minuslimit": -5000 + }, + "DefaultSpawn": { "x": -1035.71, "y": -2731.87, "z": 12.86, "h": 0.0 }, + "UpdateInterval": 5, + "StatusInterval": 5000, + "ForceJobDefaultDutyAtLogin": true, + "HungerRate": 4.2, + "ThirstRate": 3.8, + "PayCheckTimeOut": 10, + "PayCheckSociety": false, + "Bloodtypes": ["A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"], + "items": [ + { "item": "driver_license", "amount": 1 }, + { "item": "id_card", "amount": 1 }, + { "item": "phone", "amount": 1 } + ] + }, + "Server": { + "Closed": false, + "ClosedReason": "Server Closed", + "Uptime": 0, + "Whitelist": false, + "WhitelistPermission": "admin", + "PVP": true, + "Discord": "", + "CheckDuplicateLicense": true, + "Permissions": ["god", "admin", "mod"] + } +} \ No newline at end of file diff --git a/shared/json/gangs.json b/shared/json/gangs.json new file mode 100644 index 0000000..1b038f5 --- /dev/null +++ b/shared/json/gangs.json @@ -0,0 +1,118 @@ +{ + "none": { + "label": "No Gang", + "grades": [ + { + "name": "Unaffiliated" + } + ] + }, + "lostmc": { + "label": "The Lost MC", + "grades": [ + { + "name": "Recruit" + }, + { + "name": "Enforcer" + }, + { + "name": "Shot Caller" + }, + { + "name": "Boss", + "isboss": true + } + ] + }, + "ballas": { + "label": "Ballas", + "grades": [ + { + "name": "Recruit" + }, + { + "name": "Enforcer" + }, + { + "name": "Shot Caller" + }, + { + "name": "Boss", + "isboss": true + } + ] + }, + "vagos": { + "label": "Vagos", + "grades": [ + { + "name": "Recruit" + }, + { + "name": "Enforcer" + }, + { + "name": "Shot Caller" + }, + { + "name": "Boss", + "isboss": true + } + ] + }, + "cartel": { + "label": "Cartel", + "grades": [ + { + "name": "Recruit" + }, + { + "name": "Enforcer" + }, + { + "name": "Shot Caller" + }, + { + "name": "Boss", + "isboss": true + } + ] + }, + "families": { + "label": "Families", + "grades": [ + { + "name": "Recruit" + }, + { + "name": "Enforcer" + }, + { + "name": "Shot Caller" + }, + { + "name": "Boss", + "isboss": true + } + ] + }, + "triads": { + "label": "Triads", + "grades": [ + { + "name": "Recruit" + }, + { + "name": "Enforcer" + }, + { + "name": "Shot Caller" + }, + { + "name": "Boss", + "isboss": true + } + ] + } +} \ No newline at end of file diff --git a/shared/json/items.json b/shared/json/items.json new file mode 100644 index 0000000..f809e7c --- /dev/null +++ b/shared/json/items.json @@ -0,0 +1,3533 @@ +{ + "weapon_unarmed": { + "name": "weapon_unarmed", + "label": "Fists", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "placeholder.png", + "unique": true, + "useable": false, + "description": "Fisticuffs" + }, + "weapon_dagger": { + "name": "weapon_dagger", + "label": "Dagger", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_dagger.png", + "unique": true, + "useable": false, + "description": "A short knife with a pointed and edged blade, used as a weapon" + }, + "weapon_bat": { + "name": "weapon_bat", + "label": "Bat", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_bat.png", + "unique": true, + "useable": false, + "description": "Used for hitting a ball in sports (or other things)" + }, + "weapon_bottle": { + "name": "weapon_bottle", + "label": "Broken Bottle", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_bottle.png", + "unique": true, + "useable": false, + "description": "A broken bottle" + }, + "weapon_crowbar": { + "name": "weapon_crowbar", + "label": "Crowbar", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_crowbar.png", + "unique": true, + "useable": false, + "description": "An iron bar with a flattened end, used as a lever" + }, + "weapon_flashlight": { + "name": "weapon_flashlight", + "label": "Flashlight", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_flashlight.png", + "unique": true, + "useable": false, + "description": "A battery-operated portable light" + }, + "weapon_golfclub": { + "name": "weapon_golfclub", + "label": "Golfclub", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_golfclub.png", + "unique": true, + "useable": false, + "description": "A club used to hit the ball in golf" + }, + "weapon_hammer": { + "name": "weapon_hammer", + "label": "Hammer", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_hammer.png", + "unique": true, + "useable": false, + "description": "Used for jobs such as breaking things (legs) and driving in nails" + }, + "weapon_hatchet": { + "name": "weapon_hatchet", + "label": "Hatchet", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_hatchet.png", + "unique": true, + "useable": false, + "description": "A small axe with a short handle for use in one hand" + }, + "weapon_knuckle": { + "name": "weapon_knuckle", + "label": "Knuckle", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_knuckle.png", + "unique": true, + "useable": false, + "description": "A metal guard worn over the knuckles in fighting, especially to increase the effect of the blows" + }, + "weapon_knife": { + "name": "weapon_knife", + "label": "Knife", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_knife.png", + "unique": true, + "useable": false, + "description": "An instrument composed of a blade fixed into a handle, used for cutting or as a weapon" + }, + "weapon_machete": { + "name": "weapon_machete", + "label": "Machete", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_machete.png", + "unique": true, + "useable": false, + "description": "A broad, heavy knife used as a weapon" + }, + "weapon_switchblade": { + "name": "weapon_switchblade", + "label": "Switchblade", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_switchblade.png", + "unique": true, + "useable": false, + "description": "A knife with a blade that springs out from the handle when a button is pressed" + }, + "weapon_nightstick": { + "name": "weapon_nightstick", + "label": "Nightstick", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_nightstick.png", + "unique": true, + "useable": false, + "description": "A police officer\"s club or billy" + }, + "weapon_wrench": { + "name": "weapon_wrench", + "label": "Wrench", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_wrench.png", + "unique": true, + "useable": false, + "description": "A tool used for gripping and turning nuts, bolts, pipes, etc" + }, + "weapon_battleaxe": { + "name": "weapon_battleaxe", + "label": "Battle Axe", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_battleaxe.png", + "unique": true, + "useable": false, + "description": "A large broad-bladed axe used in ancient warfare" + }, + "weapon_poolcue": { + "name": "weapon_poolcue", + "label": "Poolcue", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_poolcue.png", + "unique": true, + "useable": false, + "description": "A stick used to strike a ball, usually the cue ball (or other things)" + }, + "weapon_briefcase": { + "name": "weapon_briefcase", + "label": "Briefcase", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_briefcase.png", + "unique": true, + "useable": false, + "description": "A briefcase for storing important documents" + }, + "weapon_briefcase_02": { + "name": "weapon_briefcase_02", + "label": "Suitcase", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_briefcase2.png", + "unique": true, + "useable": false, + "description": "Wonderfull for nice vacation to Liberty City" + }, + "weapon_garbagebag": { + "name": "weapon_garbagebag", + "label": "Garbage Bag", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_garbagebag.png", + "unique": true, + "useable": false, + "description": "A garbage bag" + }, + "weapon_handcuffs": { + "name": "weapon_handcuffs", + "label": "Handcuffs", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_handcuffs.png", + "unique": true, + "useable": false, + "description": "A pair of lockable linked metal rings for securing a prisoner\"s wrists" + }, + "weapon_bread": { + "name": "weapon_bread", + "label": "Baquette", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_bread.png", + "unique": true, + "useable": false, + "description": "Bread...?" + }, + "weapon_stone_hatchet": { + "name": "weapon_stone_hatchet", + "label": "Stone Hatchet", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_stone_hatchet.png", + "unique": true, + "useable": true, + "description": "Stone Hatchet" + }, + "weapon_candycane": { + "name": "weapon_candycane", + "label": "Candy Cane", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_candycane.png", + "unique": true, + "useable": true, + "description": "Candy Cane" + }, + "weapon_pistol": { + "name": "weapon_pistol", + "label": "Walther P99", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_pistol.png", + "unique": true, + "useable": false, + "description": "A small firearm designed to be held in one hand" + }, + "weapon_pistol_mk2": { + "name": "weapon_pistol_mk2", + "label": "Pistol Mk II", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_pistol_mk2.png", + "unique": true, + "useable": false, + "description": "An upgraded small firearm designed to be held in one hand" + }, + "weapon_combatpistol": { + "name": "weapon_combatpistol", + "label": "Combat Pistol", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_combatpistol.png", + "unique": true, + "useable": false, + "description": "A combat version small firearm designed to be held in one hand" + }, + "weapon_appistol": { + "name": "weapon_appistol", + "label": "AP Pistol", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_appistol.png", + "unique": true, + "useable": false, + "description": "A small firearm designed to be held in one hand that is automatic" + }, + "weapon_stungun": { + "name": "weapon_stungun", + "label": "Taser", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_stungun.png", + "unique": true, + "useable": false, + "description": "A weapon firing barbs attached by wires to batteries, causing temporary paralysis" + }, + "weapon_pistol50": { + "name": "weapon_pistol50", + "label": "Pistol .50", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_pistol50.png", + "unique": true, + "useable": false, + "description": "A .50 caliber firearm designed to be held with both hands" + }, + "weapon_snspistol": { + "name": "weapon_snspistol", + "label": "SNS Pistol", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_snspistol.png", + "unique": true, + "useable": false, + "description": "A very small firearm designed to be easily concealed" + }, + "weapon_heavypistol": { + "name": "weapon_heavypistol", + "label": "Heavy Pistol", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_heavypistol.png", + "unique": true, + "useable": false, + "description": "A hefty firearm designed to be held in one hand (or attempted)" + }, + "weapon_vintagepistol": { + "name": "weapon_vintagepistol", + "label": "Vintage Pistol", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_vintagepistol.png", + "unique": true, + "useable": false, + "description": "An antique firearm designed to be held in one hand" + }, + "weapon_flaregun": { + "name": "weapon_flaregun", + "label": "Flare Gun", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_FLARE", + "image": "weapon_flaregun.png", + "unique": true, + "useable": false, + "description": "A handgun for firing signal rockets" + }, + "weapon_marksmanpistol": { + "name": "weapon_marksmanpistol", + "label": "Marksman Pistol", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_marksmanpistol.png", + "unique": true, + "useable": false, + "description": "A very accurate small firearm designed to be held in one hand" + }, + "weapon_revolver": { + "name": "weapon_revolver", + "label": "Revolver", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_revolver.png", + "unique": true, + "useable": false, + "description": "A pistol with revolving chambers enabling several shots to be fired without reloading" + }, + "weapon_revolver_mk2": { + "name": "weapon_revolver_mk2", + "label": "Violence", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_revolver_mk2.png", + "unique": true, + "useable": true, + "description": "da Violence" + }, + "weapon_doubleaction": { + "name": "weapon_doubleaction", + "label": "Double Action Revolver", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_doubleaction.png", + "unique": true, + "useable": true, + "description": "Double Action Revolver" + }, + "weapon_snspistol_mk2": { + "name": "weapon_snspistol_mk2", + "label": "SNS Pistol Mk II", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_snspistol_mk2.png", + "unique": true, + "useable": true, + "description": "SNS Pistol MK2" + }, + "weapon_raypistol": { + "name": "weapon_raypistol", + "label": "Up-n-Atomizer", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_raypistol.png", + "unique": true, + "useable": true, + "description": "Weapon Raypistol" + }, + "weapon_ceramicpistol": { + "name": "weapon_ceramicpistol", + "label": "Ceramic Pistol", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_ceramicpistol.png", + "unique": true, + "useable": true, + "description": "Weapon Ceramicpistol" + }, + "weapon_navyrevolver": { + "name": "weapon_navyrevolver", + "label": "Navy Revolver", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_navyrevolver.png", + "unique": true, + "useable": true, + "description": "Weapon Navyrevolver" + }, + "weapon_gadgetpistol": { + "name": "weapon_gadgetpistol", + "label": "Perico Pistol", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_gadgetpistol.png", + "unique": true, + "useable": true, + "description": "Weapon Gadgetpistol" + }, + "weapon_pistolxm3": { + "name": "weapon_pistolxm3", + "label": "Pistol XM3", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_pistolxm3.png", + "unique": true, + "useable": true, + "description": "Pistol XM3" + }, + "weapon_microsmg": { + "name": "weapon_microsmg", + "label": "Micro SMG", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SMG", + "image": "weapon_microsmg.png", + "unique": true, + "useable": false, + "description": "A handheld lightweight machine gun" + }, + "weapon_smg": { + "name": "weapon_smg", + "label": "SMG", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SMG", + "image": "weapon_smg.png", + "unique": true, + "useable": false, + "description": "A handheld lightweight machine gun" + }, + "weapon_smg_mk2": { + "name": "weapon_smg_mk2", + "label": "SMG Mk II", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SMG", + "image": "weapon_smg_mk2.png", + "unique": true, + "useable": true, + "description": "SMG MK2" + }, + "weapon_assaultsmg": { + "name": "weapon_assaultsmg", + "label": "Assault SMG", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SMG", + "image": "weapon_assaultsmg.png", + "unique": true, + "useable": false, + "description": "An assault version of a handheld lightweight machine gun" + }, + "weapon_combatpdw": { + "name": "weapon_combatpdw", + "label": "Combat PDW", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SMG", + "image": "weapon_combatpdw.png", + "unique": true, + "useable": false, + "description": "A combat version of a handheld lightweight machine gun" + }, + "weapon_machinepistol": { + "name": "weapon_machinepistol", + "label": "Tec-9", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PISTOL", + "image": "weapon_machinepistol.png", + "unique": true, + "useable": false, + "description": "A self-loading pistol capable of burst or fully automatic fire" + }, + "weapon_minismg": { + "name": "weapon_minismg", + "label": "Mini SMG", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SMG", + "image": "weapon_minismg.png", + "unique": true, + "useable": false, + "description": "A mini handheld lightweight machine gun" + }, + "weapon_raycarbine": { + "name": "weapon_raycarbine", + "label": "Unholy Hellbringer", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SMG", + "image": "weapon_raycarbine.png", + "unique": true, + "useable": true, + "description": "Weapon Raycarbine" + }, + "weapon_pumpshotgun": { + "name": "weapon_pumpshotgun", + "label": "Pump Shotgun", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SHOTGUN", + "image": "weapon_pumpshotgun.png", + "unique": true, + "useable": false, + "description": "A pump-action smoothbore gun for firing small shot at short range" + }, + "weapon_sawnoffshotgun": { + "name": "weapon_sawnoffshotgun", + "label": "Sawn-off Shotgun", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SHOTGUN", + "image": "weapon_sawnoffshotgun.png", + "unique": true, + "useable": false, + "description": "A sawn-off smoothbore gun for firing small shot at short range" + }, + "weapon_assaultshotgun": { + "name": "weapon_assaultshotgun", + "label": "Assault Shotgun", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SHOTGUN", + "image": "weapon_assaultshotgun.png", + "unique": true, + "useable": false, + "description": "An assault version of asmoothbore gun for firing small shot at short range" + }, + "weapon_bullpupshotgun": { + "name": "weapon_bullpupshotgun", + "label": "Bullpup Shotgun", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SHOTGUN", + "image": "weapon_bullpupshotgun.png", + "unique": true, + "useable": false, + "description": "A compact smoothbore gun for firing small shot at short range" + }, + "weapon_musket": { + "name": "weapon_musket", + "label": "Musket", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SHOTGUN", + "image": "weapon_musket.png", + "unique": true, + "useable": false, + "description": "An infantryman\"s light gun with a long barrel, typically smooth-bored, muzzleloading, and fired from the shoulder" + }, + "weapon_heavyshotgun": { + "name": "weapon_heavyshotgun", + "label": "Heavy Shotgun", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SHOTGUN", + "image": "weapon_heavyshotgun.png", + "unique": true, + "useable": false, + "description": "A large smoothbore gun for firing small shot at short range" + }, + "weapon_dbshotgun": { + "name": "weapon_dbshotgun", + "label": "Double-barrel Shotgun", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SHOTGUN", + "image": "weapon_dbshotgun.png", + "unique": true, + "useable": false, + "description": "A shotgun with two parallel barrels, allowing two single shots to be fired in quick succession" + }, + "weapon_autoshotgun": { + "name": "weapon_autoshotgun", + "label": "Auto Shotgun", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SHOTGUN", + "image": "weapon_autoshotgun.png", + "unique": true, + "useable": false, + "description": "A shotgun capable of rapid continous fire" + }, + "weapon_pumpshotgun_mk2": { + "name": "weapon_pumpshotgun_mk2", + "label": "Pumpshotgun Mk II", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SHOTGUN", + "image": "weapon_pumpshotgun_mk2.png", + "unique": true, + "useable": true, + "description": "Pumpshotgun MK2" + }, + "weapon_combatshotgun": { + "name": "weapon_combatshotgun", + "label": "Combat Shotgun", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SHOTGUN", + "image": "weapon_combatshotgun.png", + "unique": true, + "useable": true, + "description": "Weapon Combatshotgun" + }, + "weapon_assaultrifle": { + "name": "weapon_assaultrifle", + "label": "Assault Rifle", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_RIFLE", + "image": "weapon_assaultrifle.png", + "unique": true, + "useable": false, + "description": "A rapid-fire, magazine-fed automatic rifle designed for infantry use" + }, + "weapon_assaultrifle_mk2": { + "name": "weapon_assaultrifle_mk2", + "label": "Assault Rifle Mk II", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_RIFLE", + "image": "weapon_assaultrifle_mk2.png", + "unique": true, + "useable": true, + "description": "Assault Rifle MK2" + }, + "weapon_carbinerifle": { + "name": "weapon_carbinerifle", + "label": "Carbine Rifle", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_RIFLE", + "image": "weapon_carbinerifle.png", + "unique": true, + "useable": false, + "description": "A lightweight automatic rifle" + }, + "weapon_carbinerifle_mk2": { + "name": "weapon_carbinerifle_mk2", + "label": "Carbine Rifle Mk II", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_RIFLE", + "image": "weapon_carbinerifle_mk2.png", + "unique": true, + "useable": true, + "description": "Carbine Rifle MK2" + }, + "weapon_advancedrifle": { + "name": "weapon_advancedrifle", + "label": "Advanced Rifle", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_RIFLE", + "image": "weapon_advancedrifle.png", + "unique": true, + "useable": false, + "description": "An assault version of a rapid-fire, magazine-fed automatic rifle designed for infantry use" + }, + "weapon_specialcarbine": { + "name": "weapon_specialcarbine", + "label": "Special Carbine", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_RIFLE", + "image": "weapon_specialcarbine.png", + "unique": true, + "useable": false, + "description": "An extremely versatile assault rifle for any combat situation" + }, + "weapon_bullpuprifle": { + "name": "weapon_bullpuprifle", + "label": "Bullpup Rifle", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_RIFLE", + "image": "weapon_bullpuprifle.png", + "unique": true, + "useable": false, + "description": "A compact automatic assault rifle" + }, + "weapon_compactrifle": { + "name": "weapon_compactrifle", + "label": "Compact Rifle", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_RIFLE", + "image": "weapon_compactrifle.png", + "unique": true, + "useable": false, + "description": "A compact version of an assault rifle" + }, + "weapon_specialcarbine_mk2": { + "name": "weapon_specialcarbine_mk2", + "label": "Special Carbine Mk II", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_RIFLE", + "image": "weapon_specialcarbine_mk2.png", + "unique": true, + "useable": true, + "description": "Weapon Wpecialcarbine MK2" + }, + "weapon_bullpuprifle_mk2": { + "name": "weapon_bullpuprifle_mk2", + "label": "Bullpup Rifle Mk II", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_RIFLE", + "image": "weapon_bullpuprifle_mk2.png", + "unique": true, + "useable": true, + "description": "Bull Puprifle MK2" + }, + "weapon_militaryrifle": { + "name": "weapon_militaryrifle", + "label": "Military Rifle", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_RIFLE", + "image": "weapon_militaryrifle.png", + "unique": true, + "useable": true, + "description": "Weapon Militaryrifle" + }, + "weapon_mg": { + "name": "weapon_mg", + "label": "Machinegun", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_MG", + "image": "weapon_mg.png", + "unique": true, + "useable": false, + "description": "An automatic gun that fires bullets in rapid succession for as long as the trigger is pressed" + }, + "weapon_combatmg": { + "name": "weapon_combatmg", + "label": "Combat MG", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_MG", + "image": "weapon_combatmg.png", + "unique": true, + "useable": false, + "description": "A combat version of an automatic gun that fires bullets in rapid succession for as long as the trigger is pressed" + }, + "weapon_gusenberg": { + "name": "weapon_gusenberg", + "label": "Thompson SMG", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_MG", + "image": "weapon_gusenberg.png", + "unique": true, + "useable": false, + "description": "An automatic rifle commonly referred to as a tommy gun" + }, + "weapon_combatmg_mk2": { + "name": "weapon_combatmg_mk2", + "label": "Combat MG Mk II", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_MG", + "image": "weapon_combatmg_mk2.png", + "unique": true, + "useable": true, + "description": "Weapon Combatmg MK2" + }, + "weapon_sniperrifle": { + "name": "weapon_sniperrifle", + "label": "Sniper Rifle", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SNIPER", + "image": "weapon_sniperrifle.png", + "unique": true, + "useable": false, + "description": "A high-precision, long-range rifle" + }, + "weapon_heavysniper": { + "name": "weapon_heavysniper", + "label": "Heavy Sniper", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SNIPER", + "image": "weapon_heavysniper.png", + "unique": true, + "useable": false, + "description": "An upgraded high-precision, long-range rifle" + }, + "weapon_marksmanrifle": { + "name": "weapon_marksmanrifle", + "label": "Marksman Rifle", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SNIPER", + "image": "weapon_marksmanrifle.png", + "unique": true, + "useable": false, + "description": "A very accurate single-fire rifle" + }, + "weapon_remotesniper": { + "name": "weapon_remotesniper", + "label": "Remote Sniper", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SNIPER_REMOTE", + "image": "weapon_remotesniper.png", + "unique": true, + "useable": false, + "description": "A portable high-precision, long-range rifle" + }, + "weapon_heavysniper_mk2": { + "name": "weapon_heavysniper_mk2", + "label": "Heavy Sniper Mk II", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SNIPER", + "image": "weapon_heavysniper_mk2.png", + "unique": true, + "useable": true, + "description": "Weapon Heavysniper MK2" + }, + "weapon_marksmanrifle_mk2": { + "name": "weapon_marksmanrifle_mk2", + "label": "Marksman Rifle Mk II", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_SNIPER", + "image": "weapon_marksmanrifle_mk2.png", + "unique": true, + "useable": true, + "description": "Weapon Marksmanrifle MK2" + }, + "weapon_rpg": { + "name": "weapon_rpg", + "label": "RPG", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_RPG", + "image": "weapon_rpg.png", + "unique": true, + "useable": false, + "description": "A rocket-propelled grenade launcher" + }, + "weapon_grenadelauncher": { + "name": "weapon_grenadelauncher", + "label": "Grenade Launcher", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_GRENADELAUNCHER", + "image": "weapon_grenadelauncher.png", + "unique": true, + "useable": false, + "description": "A weapon that fires a specially-designed large-caliber projectile, often with an explosive, smoke or gas warhead" + }, + "weapon_grenadelauncher_smoke": { + "name": "weapon_grenadelauncher_smoke", + "label": "Smoke Grenade Launcher", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_GRENADELAUNCHER", + "image": "weapon_smokegrenade.png", + "unique": true, + "useable": false, + "description": "A bomb that produces a lot of smoke when it explodes" + }, + "weapon_minigun": { + "name": "weapon_minigun", + "label": "Minigun", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_MINIGUN", + "image": "weapon_minigun.png", + "unique": true, + "useable": false, + "description": "A portable machine gun consisting of a rotating cluster of six barrels and capable of variable rates of fire of up to 6,000 rounds per minute" + }, + "weapon_firework": { + "name": "weapon_firework", + "label": "Firework Launcher", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_firework.png", + "unique": true, + "useable": false, + "description": "A device containing gunpowder and other combustible chemicals that causes a spectacular explosion when ignited" + }, + "weapon_railgun": { + "name": "weapon_railgun", + "label": "Railgun", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_railgun.png", + "unique": true, + "useable": false, + "description": "A weapon that uses electromagnetic force to launch high velocity projectiles" + }, + "weapon_railgunxm3": { + "name": "weapon_railgunxm3", + "label": "Railgun XM3", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_railgunxm3.png", + "unique": true, + "useable": false, + "description": "A weapon that uses electromagnetic force to launch high velocity projectiles" + }, + "weapon_hominglauncher": { + "name": "weapon_hominglauncher", + "label": "Homing Launcher", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_STINGER", + "image": "weapon_hominglauncher.png", + "unique": true, + "useable": false, + "description": "A weapon fitted with an electronic device that enables it to find and hit a target" + }, + "weapon_compactlauncher": { + "name": "weapon_compactlauncher", + "label": "Compact Launcher", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_compactlauncher.png", + "unique": true, + "useable": false, + "description": "A compact grenade launcher" + }, + "weapon_rayminigun": { + "name": "weapon_rayminigun", + "label": "Widowmaker", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_MINIGUN", + "image": "weapon_rayminigun.png", + "unique": true, + "useable": true, + "description": "Weapon Rayminigun" + }, + "weapon_grenade": { + "name": "weapon_grenade", + "label": "Grenade", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_grenade.png", + "unique": true, + "useable": false, + "description": "A handheld throwable bomb" + }, + "weapon_bzgas": { + "name": "weapon_bzgas", + "label": "BZ Gas", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_bzgas.png", + "unique": true, + "useable": false, + "description": "A cannister of gas that causes extreme pain" + }, + "weapon_molotov": { + "name": "weapon_molotov", + "label": "Molotov", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_molotov.png", + "unique": true, + "useable": false, + "description": "A crude bomb made of a bottle filled with a flammable liquid and fitted with a wick for lighting" + }, + "weapon_stickybomb": { + "name": "weapon_stickybomb", + "label": "C4", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_stickybomb.png", + "unique": true, + "useable": false, + "description": "An explosive charge covered with an adhesive that when thrown against an object sticks until it explodes" + }, + "weapon_proxmine": { + "name": "weapon_proxmine", + "label": "Proxmine Grenade", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_proximitymine.png", + "unique": true, + "useable": false, + "description": "A bomb placed on the ground that detonates when going within its proximity" + }, + "weapon_snowball": { + "name": "weapon_snowball", + "label": "Snowball", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_snowball.png", + "unique": true, + "useable": false, + "description": "A ball of packed snow, especially one made for throwing at other people for fun" + }, + "weapon_pipebomb": { + "name": "weapon_pipebomb", + "label": "Pipe Bomb", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_pipebomb.png", + "unique": true, + "useable": false, + "description": "A homemade bomb, the components of which are contained in a pipe" + }, + "weapon_ball": { + "name": "weapon_ball", + "label": "Ball", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_BALL", + "image": "weapon_ball.png", + "unique": true, + "useable": false, + "description": "A solid or hollow spherical or egg-shaped object that is kicked, thrown, or hit in a game" + }, + "weapon_smokegrenade": { + "name": "weapon_smokegrenade", + "label": "Smoke Grenade", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_c4.png", + "unique": true, + "useable": false, + "description": "An explosive charge that can be remotely detonated" + }, + "weapon_flare": { + "name": "weapon_flare", + "label": "Flare pistol", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_FLARE", + "image": "weapon_flare.png", + "unique": true, + "useable": false, + "description": "A small pyrotechnic devices used for illumination and signalling" + }, + "weapon_petrolcan": { + "name": "weapon_petrolcan", + "label": "Petrol Can", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PETROLCAN", + "image": "weapon_petrolcan.png", + "unique": true, + "useable": false, + "description": "A robust liquid container made from pressed steel" + }, + "weapon_fireextinguisher": { + "name": "weapon_fireextinguisher", + "label": "Fire Extinguisher", + "weight": 1000, + "type": "weapon", + "ammotype": null, + "image": "weapon_fireextinguisher.png", + "unique": true, + "useable": false, + "description": "A portable device that discharges a jet of water, foam, gas, or other material to extinguish a fire" + }, + "weapon_hazardcan": { + "name": "weapon_hazardcan", + "label": "Hazardous Jerry Can", + "weight": 1000, + "type": "weapon", + "ammotype": "AMMO_PETROLCAN", + "image": "weapon_hazardcan.png", + "unique": true, + "useable": true, + "description": "Weapon Hazardcan" + }, + "clip_attachment": { + "name": "clip_attachment", + "label": "Clip", + "weight": 1000, + "type": "item", + "image": "clip_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A clip for a weapon" + }, + "drum_attachment": { + "name": "drum_attachment", + "label": "Drum", + "weight": 1000, + "type": "item", + "image": "drum_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A drum for a weapon" + }, + "flashlight_attachment": { + "name": "flashlight_attachment", + "label": "Flashlight", + "weight": 1000, + "type": "item", + "image": "flashlight_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A flashlight for a weapon" + }, + "suppressor_attachment": { + "name": "suppressor_attachment", + "label": "Suppressor", + "weight": 1000, + "type": "item", + "image": "suppressor_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A suppressor for a weapon" + }, + "smallscope_attachment": { + "name": "smallscope_attachment", + "label": "Small Scope", + "weight": 1000, + "type": "item", + "image": "smallscope_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A small scope for a weapon" + }, + "medscope_attachment": { + "name": "medscope_attachment", + "label": "Medium Scope", + "weight": 1000, + "type": "item", + "image": "medscope_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A medium scope for a weapon" + }, + "largescope_attachment": { + "name": "largescope_attachment", + "label": "Large Scope", + "weight": 1000, + "type": "item", + "image": "largescope_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A large scope for a weapon" + }, + "holoscope_attachment": { + "name": "holoscope_attachment", + "label": "Holo Scope", + "weight": 1000, + "type": "item", + "image": "holoscope_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A holo scope for a weapon" + }, + "advscope_attachment": { + "name": "advscope_attachment", + "label": "Advanced Scope", + "weight": 1000, + "type": "item", + "image": "advscope_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "An advanced scope for a weapon" + }, + "nvscope_attachment": { + "name": "nvscope_attachment", + "label": "Night Vision Scope", + "weight": 1000, + "type": "item", + "image": "nvscope_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A night vision scope for a weapon" + }, + "thermalscope_attachment": { + "name": "thermalscope_attachment", + "label": "Thermal Scope", + "weight": 1000, + "type": "item", + "image": "thermalscope_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A thermal scope for a weapon" + }, + "flat_muzzle_brake": { + "name": "flat_muzzle_brake", + "label": "Flat Muzzle Brake", + "weight": 1000, + "type": "item", + "image": "flat_muzzle_brake.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A muzzle brake for a weapon" + }, + "tactical_muzzle_brake": { + "name": "tactical_muzzle_brake", + "label": "Tactical Muzzle Brake", + "weight": 1000, + "type": "item", + "image": "tactical_muzzle_brake.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A muzzle brakee for a weapon" + }, + "fat_end_muzzle_brake": { + "name": "fat_end_muzzle_brake", + "label": "Fat End Muzzle Brake", + "weight": 1000, + "type": "item", + "image": "fat_end_muzzle_brake.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A muzzle brake for a weapon" + }, + "precision_muzzle_brake": { + "name": "precision_muzzle_brake", + "label": "Precision Muzzle Brake", + "weight": 1000, + "type": "item", + "image": "precision_muzzle_brake.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A muzzle brake for a weapon" + }, + "heavy_duty_muzzle_brake": { + "name": "heavy_duty_muzzle_brake", + "label": "HD Muzzle Brake", + "weight": 1000, + "type": "item", + "image": "heavy_duty_muzzle_brake.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A muzzle brake for a weapon" + }, + "slanted_muzzle_brake": { + "name": "slanted_muzzle_brake", + "label": "Slanted Muzzle Brake", + "weight": 1000, + "type": "item", + "image": "slanted_muzzle_brake.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A muzzle brake for a weapon" + }, + "split_end_muzzle_brake": { + "name": "split_end_muzzle_brake", + "label": "Split End Muzzle Brake", + "weight": 1000, + "type": "item", + "image": "split_end_muzzle_brake.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A muzzle brake for a weapon" + }, + "squared_muzzle_brake": { + "name": "squared_muzzle_brake", + "label": "Squared Muzzle Brake", + "weight": 1000, + "type": "item", + "image": "squared_muzzle_brake.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A muzzle brake for a weapon" + }, + "bellend_muzzle_brake": { + "name": "bellend_muzzle_brake", + "label": "Bellend Muzzle Brake", + "weight": 1000, + "type": "item", + "image": "bellend_muzzle_brake.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A muzzle brake for a weapon" + }, + "barrel_attachment": { + "name": "barrel_attachment", + "label": "Barrel", + "weight": 1000, + "type": "item", + "image": "barrel_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A barrel for a weapon" + }, + "grip_attachment": { + "name": "grip_attachment", + "label": "Grip", + "weight": 1000, + "type": "item", + "image": "grip_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A grip for a weapon" + }, + "comp_attachment": { + "name": "comp_attachment", + "label": "Compensator", + "weight": 1000, + "type": "item", + "image": "comp_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A compensator for a weapon" + }, + "luxuryfinish_attachment": { + "name": "luxuryfinish_attachment", + "label": "Luxury Finish", + "weight": 1000, + "type": "item", + "image": "luxuryfinish_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A luxury finish for a weapon" + }, + "digicamo_attachment": { + "name": "digicamo_attachment", + "label": "Digital Camo", + "weight": 1000, + "type": "item", + "image": "digicamo_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A digital camo for a weapon" + }, + "brushcamo_attachment": { + "name": "brushcamo_attachment", + "label": "Brushstroke Camo", + "weight": 1000, + "type": "item", + "image": "brushcamo_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A brushstroke camo for a weapon" + }, + "woodcamo_attachment": { + "name": "woodcamo_attachment", + "label": "Woodland Camo", + "weight": 1000, + "type": "item", + "image": "woodcamo_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A woodland camo for a weapon" + }, + "skullcamo_attachment": { + "name": "skullcamo_attachment", + "label": "Skull Camo", + "weight": 1000, + "type": "item", + "image": "skullcamo_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A skull camo for a weapon" + }, + "sessantacamo_attachment": { + "name": "sessantacamo_attachment", + "label": "Sessanta Nove Camo", + "weight": 1000, + "type": "item", + "image": "sessantacamo_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A sessanta nove camo for a weapon" + }, + "perseuscamo_attachment": { + "name": "perseuscamo_attachment", + "label": "Perseus Camo", + "weight": 1000, + "type": "item", + "image": "perseuscamo_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A perseus camo for a weapon" + }, + "leopardcamo_attachment": { + "name": "leopardcamo_attachment", + "label": "Leopard Camo", + "weight": 1000, + "type": "item", + "image": "leopardcamo_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A leopard camo for a weapon" + }, + "zebracamo_attachment": { + "name": "zebracamo_attachment", + "label": "Zebra Camo", + "weight": 1000, + "type": "item", + "image": "zebracamo_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A zebra camo for a weapon" + }, + "geocamo_attachment": { + "name": "geocamo_attachment", + "label": "Geometric Camo", + "weight": 1000, + "type": "item", + "image": "geocamo_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A geometric camo for a weapon" + }, + "boomcamo_attachment": { + "name": "boomcamo_attachment", + "label": "Boom Camo", + "weight": 1000, + "type": "item", + "image": "boomcamo_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A boom camo for a weapon" + }, + "patriotcamo_attachment": { + "name": "patriotcamo_attachment", + "label": "Patriot Camo", + "weight": 1000, + "type": "item", + "image": "patriotcamo_attachment.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A patriot camo for a weapon" + }, + "weapontint_0": { + "name": "weapontint_0", + "label": "Default Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Default/Black Weapon Tint" + }, + "weapontint_1": { + "name": "weapontint_1", + "label": "Green Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_green.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Green Weapon Tint" + }, + "weapontint_2": { + "name": "weapontint_2", + "label": "Gold Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_gold.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Gold Weapon Tint" + }, + "weapontint_3": { + "name": "weapontint_3", + "label": "Pink Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_pink.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Pink Weapon Tint" + }, + "weapontint_4": { + "name": "weapontint_4", + "label": "Army Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_army.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Army Weapon Tint" + }, + "weapontint_5": { + "name": "weapontint_5", + "label": "LSPD Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_lspd.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "LSPD Weapon Tint" + }, + "weapontint_6": { + "name": "weapontint_6", + "label": "Orange Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_orange.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Orange Weapon Tint" + }, + "weapontint_7": { + "name": "weapontint_7", + "label": "Platinum Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_plat.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Platinum Weapon Tint" + }, + "weapontint_mk2_0": { + "name": "weapontint_mk2_0", + "label": "Classic Black Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Classic Black Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_1": { + "name": "weapontint_mk2_1", + "label": "Classic Gray Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Classic Gray Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_2": { + "name": "weapontint_mk2_2", + "label": "Classic Two-Tone Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Classic Two-Tone Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_3": { + "name": "weapontint_mk2_3", + "label": "Classic White Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Classic White Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_4": { + "name": "weapontint_mk2_4", + "label": "Classic Beige Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Classic Beige Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_5": { + "name": "weapontint_mk2_5", + "label": "Classic Green Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Classic Green Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_6": { + "name": "weapontint_mk2_6", + "label": "Classic Blue Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Classic Blue Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_7": { + "name": "weapontint_mk2_7", + "label": "Classic Earth Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Classic Earth Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_8": { + "name": "weapontint_mk2_8", + "label": "Classic Brown & Black Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Classic Brown & Black Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_9": { + "name": "weapontint_mk2_9", + "label": "Red Contrast Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Red Contrast Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_10": { + "name": "weapontint_mk2_10", + "label": "Blue Contrast Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Blue Contrast Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_11": { + "name": "weapontint_mk2_11", + "label": "Yellow Contrast Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Yellow Contrast Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_12": { + "name": "weapontint_mk2_12", + "label": "Orange Contrast Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Orange Contrast Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_13": { + "name": "weapontint_mk2_13", + "label": "Bold Pink Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Bold Pink Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_14": { + "name": "weapontint_mk2_14", + "label": "Bold Purple & Yellow Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Bold Purple & Yellow Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_15": { + "name": "weapontint_mk2_15", + "label": "Bold Orange Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Bold Orange Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_16": { + "name": "weapontint_mk2_16", + "label": "Bold Green & Purple Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Bold Green & Purple Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_17": { + "name": "weapontint_mk2_17", + "label": "Bold Red Features Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Bold Red Features Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_18": { + "name": "weapontint_mk2_18", + "label": "Bold Green Features Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Bold Green Features Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_19": { + "name": "weapontint_mk2_19", + "label": "Bold Cyan Features Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Bold Cyan Features Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_20": { + "name": "weapontint_mk2_20", + "label": "Bold Yellow Features Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Bold Yellow Features Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_21": { + "name": "weapontint_mk2_21", + "label": "Bold Red & White Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Bold Red & White Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_22": { + "name": "weapontint_mk2_22", + "label": "Bold Blue & White Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Bold Blue & White Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_23": { + "name": "weapontint_mk2_23", + "label": "Metallic Gold Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Metallic Gold Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_24": { + "name": "weapontint_mk2_24", + "label": "Metallic Platinum Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Metallic Platinum Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_25": { + "name": "weapontint_mk2_25", + "label": "Metallic Gray & Lilac Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Metallic Gray & Lilac Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_26": { + "name": "weapontint_mk2_26", + "label": "Metallic Purple & Lime Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Metallic Purple & Lime Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_27": { + "name": "weapontint_mk2_27", + "label": "Metallic Red Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Metallic Red Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_28": { + "name": "weapontint_mk2_28", + "label": "Metallic Green Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Metallic Green Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_29": { + "name": "weapontint_mk2_29", + "label": "Metallic Blue Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Metallic Blue Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_30": { + "name": "weapontint_mk2_30", + "label": "Metallic White & Aqua Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Metallic White & Aqua Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_31": { + "name": "weapontint_mk2_31", + "label": "Metallic Orange & Yellow Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Metallic Orange & Yellow Weapon Tint for MK2 Weapons" + }, + "weapontint_mk2_32": { + "name": "weapontint_mk2_32", + "label": "Metallic Red and Yellow Tint", + "weight": 1000, + "type": "item", + "image": "weapontint_black.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Metallic Red and Yellow Weapon Tint for MK2 Weapons" + }, + "pistol_ammo": { + "name": "pistol_ammo", + "label": "Pistol ammo", + "weight": 200, + "type": "item", + "image": "pistol_ammo.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Ammo for Pistols" + }, + "rifle_ammo": { + "name": "rifle_ammo", + "label": "Rifle ammo", + "weight": 1000, + "type": "item", + "image": "rifle_ammo.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Ammo for Rifles" + }, + "smg_ammo": { + "name": "smg_ammo", + "label": "SMG ammo", + "weight": 500, + "type": "item", + "image": "smg_ammo.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Ammo for Sub Machine Guns" + }, + "shotgun_ammo": { + "name": "shotgun_ammo", + "label": "Shotgun ammo", + "weight": 500, + "type": "item", + "image": "shotgun_ammo.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Ammo for Shotguns" + }, + "mg_ammo": { + "name": "mg_ammo", + "label": "MG ammo", + "weight": 1000, + "type": "item", + "image": "mg_ammo.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Ammo for Machine Guns" + }, + "snp_ammo": { + "name": "snp_ammo", + "label": "Sniper ammo", + "weight": 1000, + "type": "item", + "image": "rifle_ammo.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Ammo for Sniper Rifles" + }, + "emp_ammo": { + "name": "emp_ammo", + "label": "EMP Ammo", + "weight": 200, + "type": "item", + "image": "emp_ammo.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Ammo for EMP Launcher" + }, + "id_card": { + "name": "id_card", + "label": "ID Card", + "weight": 0, + "type": "item", + "image": "id_card.png", + "unique": true, + "useable": true, + "shouldClose": false, + "description": "A card containing all your information to identify yourself" + }, + "driver_license": { + "name": "driver_license", + "label": "Drivers License", + "weight": 0, + "type": "item", + "image": "driver_license.png", + "unique": true, + "useable": true, + "shouldClose": false, + "description": "Permit to show you can drive a vehicle" + }, + "lawyerpass": { + "name": "lawyerpass", + "label": "Lawyer Pass", + "weight": 0, + "type": "item", + "image": "lawyerpass.png", + "unique": true, + "useable": true, + "shouldClose": false, + "description": "Pass exclusive to lawyers to show they can represent a suspect" + }, + "weaponlicense": { + "name": "weaponlicense", + "label": "Weapon License", + "weight": 0, + "type": "item", + "image": "weapon_license.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "Weapon License" + }, + "bank_card": { + "name": "bank_card", + "label": "Bank Card", + "weight": 0, + "type": "item", + "image": "bank_card.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "Used to access ATM" + }, + "security_card_01": { + "name": "security_card_01", + "label": "Security Card A", + "weight": 0, + "type": "item", + "image": "security_card_01.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A security card... I wonder what it goes to" + }, + "security_card_02": { + "name": "security_card_02", + "label": "Security Card B", + "weight": 0, + "type": "item", + "image": "security_card_02.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A security card... I wonder what it goes to" + }, + "tosti": { + "name": "tosti", + "label": "Grilled Cheese Sandwich", + "weight": 200, + "type": "item", + "image": "tosti.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Nice to eat" + }, + "twerks_candy": { + "name": "twerks_candy", + "label": "Twerks", + "weight": 100, + "type": "item", + "image": "twerks_candy.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Some delicious candy :O" + }, + "snikkel_candy": { + "name": "snikkel_candy", + "label": "Snikkel", + "weight": 100, + "type": "item", + "image": "snikkel_candy.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Some delicious candy :O" + }, + "sandwich": { + "name": "sandwich", + "label": "Sandwich", + "weight": 200, + "type": "item", + "image": "sandwich.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Nice bread for your stomach" + }, + "water_bottle": { + "name": "water_bottle", + "label": "Bottle of Water", + "weight": 500, + "type": "item", + "image": "water_bottle.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "For all the thirsty out there" + }, + "coffe": { + "name": "coffee", + "label": "Coffee", + "weight": 200, + "type": "item", + "image": "coffee.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Pump 4 Caffeine" + }, + "kurkakola": { + "name": "kurkakola", + "label": "Cola", + "weight": 500, + "type": "item", + "image": "cola.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "For all the thirsty out there" + }, + "beer": { + "name": "beer", + "label": "Beer", + "weight": 500, + "type": "item", + "image": "beer.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Nothing like a good cold beer!" + }, + "whiskey": { + "name": "whiskey", + "label": "Whiskey", + "weight": 500, + "type": "item", + "image": "whiskey.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "For all the thirsty out there" + }, + "vodka": { + "name": "vodka", + "label": "Vodka", + "weight": 500, + "type": "item", + "image": "vodka.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "For all the thirsty out there" + }, + "grape": { + "name": "grape", + "label": "Grape", + "weight": 100, + "type": "item", + "image": "grape.png", + "unique": false, + "useable": true, + "shouldClose": false, + "description": "Mmmmh yummie, grapes" + }, + "wine": { + "name": "wine", + "label": "Wine", + "weight": 300, + "type": "item", + "image": "wine.png", + "unique": false, + "useable": true, + "shouldClose": false, + "description": "Some good wine to drink on a fine evening" + }, + "grapejuice": { + "name": "grapejuice", + "label": "Grape Juice", + "weight": 200, + "type": "item", + "image": "grapejuice.png", + "unique": false, + "useable": true, + "shouldClose": false, + "description": "Grape juice is said to be healthy" + }, + "joint": { + "name": "joint", + "label": "Joint", + "weight": 0, + "type": "item", + "image": "joint.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Sidney would be very proud at you" + }, + "cokebaggy": { + "name": "cokebaggy", + "label": "Bag of Coke", + "weight": 0, + "type": "item", + "image": "cocaine_baggy.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "To get happy real quick" + }, + "crack_baggy": { + "name": "crack_baggy", + "label": "Bag of Crack", + "weight": 0, + "type": "item", + "image": "crack_baggy.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "To get happy faster" + }, + "xtcbaggy": { + "name": "xtcbaggy", + "label": "Bag of XTC", + "weight": 0, + "type": "item", + "image": "xtc_baggy.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Pop those pills baby" + }, + "coke_brick": { + "name": "coke_brick", + "label": "Coke Brick", + "weight": 1000, + "type": "item", + "image": "coke_brick.png", + "unique": true, + "useable": false, + "shouldClose": true, + "description": "Heavy package of cocaine, mostly used for deals and takes a lot of space" + }, + "weed_brick": { + "name": "weed_brick", + "label": "Weed Brick", + "weight": 1000, + "type": "item", + "image": "weed_brick.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "1KG Weed Brick to sell to large customers." + }, + "coke_small_brick": { + "name": "coke_small_brick", + "label": "Coke Package", + "weight": 350, + "type": "item", + "image": "coke_small_brick.png", + "unique": true, + "useable": false, + "shouldClose": true, + "description": "Small package of cocaine, mostly used for deals and takes a lot of space" + }, + "oxy": { + "name": "oxy", + "label": "Prescription Oxy", + "weight": 0, + "type": "item", + "image": "oxy.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "The Label Has Been Ripped Off" + }, + "meth": { + "name": "meth", + "label": "Meth", + "weight": 100, + "type": "item", + "image": "meth_baggy.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A baggie of Meth" + }, + "rolling_paper": { + "name": "rolling_paper", + "label": "Rolling Paper", + "weight": 0, + "type": "item", + "image": "rolling_paper.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "Paper made specifically for encasing and smoking tobacco or cannabis." + }, + "weed_whitewidow": { + "name": "weed_whitewidow", + "label": "White Widow 2g", + "weight": 200, + "type": "item", + "image": "weed_baggy.png", + "unique": false, + "useable": true, + "shouldClose": false, + "description": "A weed bag with 2g White Widow" + }, + "weed_skunk": { + "name": "weed_skunk", + "label": "Skunk 2g", + "weight": 200, + "type": "item", + "image": "weed_baggy.png", + "unique": false, + "useable": true, + "shouldClose": false, + "description": "A weed bag with 2g Skunk" + }, + "weed_purplehaze": { + "name": "weed_purplehaze", + "label": "Purple Haze 2g", + "weight": 200, + "type": "item", + "image": "weed_baggy.png", + "unique": false, + "useable": true, + "shouldClose": false, + "description": "A weed bag with 2g Purple Haze" + }, + "weed_ogkush": { + "name": "weed_ogkush", + "label": "OGKush 2g", + "weight": 200, + "type": "item", + "image": "weed_baggy.png", + "unique": false, + "useable": true, + "shouldClose": false, + "description": "A weed bag with 2g OG Kush" + }, + "weed_amnesia": { + "name": "weed_amnesia", + "label": "Amnesia 2g", + "weight": 200, + "type": "item", + "image": "weed_baggy.png", + "unique": false, + "useable": true, + "shouldClose": false, + "description": "A weed bag with 2g Amnesia" + }, + "weed_ak47": { + "name": "weed_ak47", + "label": "AK47 2g", + "weight": 200, + "type": "item", + "image": "weed_baggy.png", + "unique": false, + "useable": true, + "shouldClose": false, + "description": "A weed bag with 2g AK47" + }, + "weed_whitewidow_seed": { + "name": "weed_whitewidow_seed", + "label": "White Widow Seed", + "weight": 0, + "type": "item", + "image": "weed_seed.png", + "unique": false, + "useable": true, + "shouldClose": false, + "description": "A weed seed of White Widow" + }, + "weed_skunk_seed": { + "name": "weed_skunk_seed", + "label": "Skunk Seed", + "weight": 0, + "type": "item", + "image": "weed_seed.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A weed seed of Skunk" + }, + "weed_purplehaze_seed": { + "name": "weed_purplehaze_seed", + "label": "Purple Haze Seed", + "weight": 0, + "type": "item", + "image": "weed_seed.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A weed seed of Purple Haze" + }, + "weed_ogkush_seed": { + "name": "weed_ogkush_seed", + "label": "OGKush Seed", + "weight": 0, + "type": "item", + "image": "weed_seed.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A weed seed of OG Kush" + }, + "weed_amnesia_seed": { + "name": "weed_amnesia_seed", + "label": "Amnesia Seed", + "weight": 0, + "type": "item", + "image": "weed_seed.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A weed seed of Amnesia" + }, + "weed_ak47_seed": { + "name": "weed_ak47_seed", + "label": "AK47 Seed", + "weight": 0, + "type": "item", + "image": "weed_seed.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A weed seed of AK47" + }, + "empty_weed_bag": { + "name": "empty_weed_bag", + "label": "Empty Weed Bag", + "weight": 0, + "type": "item", + "image": "weed_baggy_empty.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A small empty bag" + }, + "weed_nutrition": { + "name": "weed_nutrition", + "label": "Plant Fertilizer", + "weight": 2000, + "type": "item", + "image": "weed_nutrition.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Plant nutrition" + }, + "plastic": { + "name": "plastic", + "label": "Plastic", + "weight": 100, + "type": "item", + "image": "plastic.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "RECYCLE! - Greta Thunberg 2019" + }, + "metalscrap": { + "name": "metalscrap", + "label": "Metal Scrap", + "weight": 100, + "type": "item", + "image": "metalscrap.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "You can probably make something nice out of this" + }, + "copper": { + "name": "copper", + "label": "Copper", + "weight": 100, + "type": "item", + "image": "copper.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "Nice piece of metal that you can probably use for something" + }, + "aluminum": { + "name": "aluminum", + "label": "Aluminium", + "weight": 100, + "type": "item", + "image": "aluminum.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "Nice piece of metal that you can probably use for something" + }, + "aluminumoxide": { + "name": "aluminumoxide", + "label": "Aluminium Powder", + "weight": 100, + "type": "item", + "image": "aluminumoxide.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "Some powder to mix with" + }, + "iron": { + "name": "iron", + "label": "Iron", + "weight": 100, + "type": "item", + "image": "iron.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "Handy piece of metal that you can probably use for something" + }, + "ironoxide": { + "name": "ironoxide", + "label": "Iron Powder", + "weight": 100, + "type": "item", + "image": "ironoxide.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "Some powder to mix with." + }, + "steel": { + "name": "steel", + "label": "Steel", + "weight": 100, + "type": "item", + "image": "steel.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "Nice piece of metal that you can probably use for something" + }, + "rubber": { + "name": "rubber", + "label": "Rubber", + "weight": 100, + "type": "item", + "image": "rubber.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "Rubber, I believe you can make your own rubber ducky with it :D" + }, + "glass": { + "name": "glass", + "label": "Glass", + "weight": 100, + "type": "item", + "image": "glass.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "It is very fragile, watch out" + }, + "lockpick": { + "name": "lockpick", + "label": "Lockpick", + "weight": 300, + "type": "item", + "image": "lockpick.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Very useful if you lose your keys a lot.. or if you want to use it for something else..." + }, + "advancedlockpick": { + "name": "advancedlockpick", + "label": "Advanced Lockpick", + "weight": 500, + "type": "item", + "image": "advancedlockpick.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "If you lose your keys a lot this is very useful... Also useful to open your beers" + }, + "electronickit": { + "name": "electronickit", + "label": "Electronic Kit", + "weight": 100, + "type": "item", + "image": "electronickit.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "If you\"ve always wanted to build a robot you can maybe start here. Maybe you\"ll be the new Elon Musk?" + }, + "gatecrack": { + "name": "gatecrack", + "label": "Gatecrack", + "weight": 0, + "type": "item", + "image": "usb_device.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "Handy software to tear down some fences" + }, + "thermite": { + "name": "thermite", + "label": "Thermite", + "weight": 1000, + "type": "item", + "image": "thermite.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Sometimes you\"d wish for everything to burn" + }, + "trojan_usb": { + "name": "trojan_usb", + "label": "Trojan USB", + "weight": 0, + "type": "item", + "image": "usb_device.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "Handy software to shut down some systems" + }, + "screwdriverset": { + "name": "screwdriverset", + "label": "Toolkit", + "weight": 1000, + "type": "item", + "image": "screwdriverset.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "Very useful to screw... screws..." + }, + "drill": { + "name": "drill", + "label": "Drill", + "weight": 20000, + "type": "item", + "image": "drill.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "The real deal..." + }, + "nitrous": { + "name": "nitrous", + "label": "Nitrous", + "weight": 1000, + "type": "item", + "image": "nitrous.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Speed up, gas pedal! :D" + }, + "repairkit": { + "name": "repairkit", + "label": "Repairkit", + "weight": 2500, + "type": "item", + "image": "repairkit.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A nice toolbox with stuff to repair your vehicle" + }, + "advancedrepairkit": { + "name": "advancedrepairkit", + "label": "Advanced Repairkit", + "weight": 4000, + "type": "item", + "image": "advancedkit.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A nice toolbox with stuff to repair your vehicle" + }, + "cleaningkit": { + "name": "cleaningkit", + "label": "Cleaning Kit", + "weight": 250, + "type": "item", + "image": "cleaningkit.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A microfiber cloth with some soap will let your car sparkle again!" + }, + "tunerlaptop": { + "name": "tunerlaptop", + "label": "Tunerchip", + "weight": 2000, + "type": "item", + "image": "tunerchip.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "With this tunerchip you can get your car on steroids... If you know what you\"re doing" + }, + "harnes": { + "name": "harness", + "label": "Race Harness", + "weight": 1000, + "type": "item", + "image": "harness.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "Racing Harness so no matter what you stay in the car" + }, + "jerry_can": { + "name": "jerry_can", + "label": "Jerrycan 20L", + "weight": 20000, + "type": "item", + "image": "jerry_can.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A can full of Fuel" + }, + "tirerepairkit": { + "name": "tirerepairkit", + "label": "Tire Repair Kit", + "weight": 1000, + "type": "item", + "image": "tirerepairkit.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A kit to repair your tires" + }, + "veh_toolbox": { + "name": "veh_toolbox", + "label": "Toolbox", + "weight": 1000, + "type": "item", + "image": "veh_toolbox.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Check vehicle status" + }, + "veh_armor": { + "name": "veh_armor", + "label": "Armor", + "weight": 1000, + "type": "item", + "image": "veh_armor.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Upgrade vehicle armor" + }, + "veh_brakes": { + "name": "veh_brakes", + "label": "Brakes", + "weight": 1000, + "type": "item", + "image": "veh_brakes.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Upgrade vehicle brakes" + }, + "veh_engine": { + "name": "veh_engine", + "label": "Engine", + "weight": 1000, + "type": "item", + "image": "veh_engine.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Upgrade vehicle engine" + }, + "veh_suspension": { + "name": "veh_suspension", + "label": "Suspension", + "weight": 1000, + "type": "item", + "image": "veh_suspension.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Upgrade vehicle suspension" + }, + "veh_transmission": { + "name": "veh_transmission", + "label": "Transmission", + "weight": 1000, + "type": "item", + "image": "veh_transmission.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Upgrade vehicle transmission" + }, + "veh_turbo": { + "name": "veh_turbo", + "label": "Turbo", + "weight": 1000, + "type": "item", + "image": "veh_turbo.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Install vehicle turbo" + }, + "veh_interior": { + "name": "veh_interior", + "label": "Interior", + "weight": 1000, + "type": "item", + "image": "veh_interior.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Upgrade vehicle interior" + }, + "veh_exterior": { + "name": "veh_exterior", + "label": "Exterior", + "weight": 1000, + "type": "item", + "image": "veh_exterior.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Upgrade vehicle exterior" + }, + "veh_wheels": { + "name": "veh_wheels", + "label": "Wheels", + "weight": 1000, + "type": "item", + "image": "veh_wheels.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Upgrade vehicle wheels" + }, + "veh_neons": { + "name": "veh_neons", + "label": "Neons", + "weight": 1000, + "type": "item", + "image": "veh_neons.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Upgrade vehicle neons" + }, + "veh_xenons": { + "name": "veh_xenons", + "label": "Xenons", + "weight": 1000, + "type": "item", + "image": "veh_xenons.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Upgrade vehicle xenons" + }, + "veh_tint": { + "name": "veh_tint", + "label": "Tints", + "weight": 1000, + "type": "item", + "image": "veh_tint.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Install vehicle tint" + }, + "veh_plates": { + "name": "veh_plates", + "label": "Plates", + "weight": 1000, + "type": "item", + "image": "veh_plates.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Install vehicle plates" + }, + "firstaid": { + "name": "firstaid", + "label": "First Aid", + "weight": 2500, + "type": "item", + "image": "firstaid.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "You can use this First Aid kit to get people back on their feet" + }, + "bandage": { + "name": "bandage", + "label": "Bandage", + "weight": 0, + "type": "item", + "image": "bandage.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A bandage works every time" + }, + "ifaks": { + "name": "ifaks", + "label": "ifaks", + "weight": 200, + "type": "item", + "image": "ifaks.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "ifaks for healing and a complete stress remover." + }, + "painkillers": { + "name": "painkillers", + "label": "Painkillers", + "weight": 0, + "type": "item", + "image": "painkillers.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "For pain you can\"t stand anymore, take this pill that\"d make you feel great again" + }, + "walkstick": { + "name": "walkstick", + "label": "Walking Stick", + "weight": 1000, + "type": "item", + "image": "walkstick.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Walking stick for ya\"ll grannies out there.. HAHA" + }, + "phone": { + "name": "phone", + "label": "Phone", + "weight": 700, + "type": "item", + "image": "phone.png", + "unique": true, + "useable": false, + "shouldClose": false, + "description": "Neat phone ya got there" + }, + "radio": { + "name": "radio", + "label": "Radio", + "weight": 2000, + "type": "item", + "image": "radio.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "You can communicate with this through a signal" + }, + "iphone": { + "name": "iphone", + "label": "iPhone", + "weight": 1000, + "type": "item", + "image": "iphone.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "Very expensive phone" + }, + "samsungphone": { + "name": "samsungphone", + "label": "Samsung S10", + "weight": 1000, + "type": "item", + "image": "samsungphone.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "Very expensive phone" + }, + "laptop": { + "name": "laptop", + "label": "Laptop", + "weight": 4000, + "type": "item", + "image": "laptop.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "Expensive laptop" + }, + "tablet": { + "name": "tablet", + "label": "Tablet", + "weight": 2000, + "type": "item", + "image": "tablet.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "Expensive tablet" + }, + "fitbit": { + "name": "fitbit", + "label": "Fitbit", + "weight": 500, + "type": "item", + "image": "fitbit.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "I like fitbit" + }, + "radioscanner": { + "name": "radioscanner", + "label": "Radio Scanner", + "weight": 1000, + "type": "item", + "image": "radioscanner.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "With this you can get some police alerts. Not 100% effective however" + }, + "pinger": { + "name": "pinger", + "label": "Pinger", + "weight": 1000, + "type": "item", + "image": "pinger.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "With a pinger and your phone you can send out your location" + }, + "cryptostick": { + "name": "cryptostick", + "label": "Crypto Stick", + "weight": 200, + "type": "item", + "image": "cryptostick.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "Why would someone ever buy money that doesn\"t exist.. How many would it contain..?" + }, + "rolex": { + "name": "rolex", + "label": "Golden Watch", + "weight": 1500, + "type": "item", + "image": "rolex.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "A golden watch seems like the jackpot to me!" + }, + "diamond_ring": { + "name": "diamond_ring", + "label": "Diamond Ring", + "weight": 1500, + "type": "item", + "image": "diamond_ring.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "A diamond ring seems like the jackpot to me!" + }, + "diamond": { + "name": "diamond", + "label": "Diamond", + "weight": 1000, + "type": "item", + "image": "diamond.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "A diamond seems like the jackpot to me!" + }, + "goldchain": { + "name": "goldchain", + "label": "Golden Chain", + "weight": 1500, + "type": "item", + "image": "goldchain.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "A golden chain seems like the jackpot to me!" + }, + "tenkgoldchain": { + "name": "tenkgoldchain", + "label": "10k Gold Chain", + "weight": 2000, + "type": "item", + "image": "10kgoldchain.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "10 carat golden chain" + }, + "goldbar": { + "name": "goldbar", + "label": "Gold Bar", + "weight": 7000, + "type": "item", + "image": "goldbar.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "Looks pretty expensive to me" + }, + "armor": { + "name": "armor", + "label": "Armor", + "weight": 5000, + "type": "item", + "image": "armor.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Some protection won\"t hurt... right?" + }, + "heavyarmor": { + "name": "heavyarmor", + "label": "Heavy Armor", + "weight": 5000, + "type": "item", + "image": "armor.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Some protection won\"t hurt... right?" + }, + "handcuffs": { + "name": "handcuffs", + "label": "Handcuffs", + "weight": 100, + "type": "item", + "image": "handcuffs.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Comes in handy when people misbehave. Maybe it can be used for something else?" + }, + "police_stormram": { + "name": "police_stormram", + "label": "Stormram", + "weight": 18000, + "type": "item", + "image": "police_stormram.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "A nice tool to break into doors" + }, + "empty_evidence_bag": { + "name": "empty_evidence_bag", + "label": "Empty Evidence Bag", + "weight": 0, + "type": "item", + "image": "evidence.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "Used a lot to keep DNA from blood, bullet shells and more" + }, + "filled_evidence_bag": { + "name": "filled_evidence_bag", + "label": "Evidence Bag", + "weight": 200, + "type": "item", + "image": "evidence.png", + "unique": true, + "useable": false, + "shouldClose": false, + "description": "A filled evidence bag to see who committed the crime >:(" + }, + "firework1": { + "name": "firework1", + "label": "2Brothers", + "weight": 1000, + "type": "item", + "image": "firework1.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Fireworks" + }, + "firework2": { + "name": "firework2", + "label": "Poppelers", + "weight": 1000, + "type": "item", + "image": "firework2.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Fireworks" + }, + "firework3": { + "name": "firework3", + "label": "WipeOut", + "weight": 1000, + "type": "item", + "image": "firework3.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Fireworks" + }, + "firework4": { + "name": "firework4", + "label": "Weeping Willow", + "weight": 1000, + "type": "item", + "image": "firework4.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Fireworks" + }, + "dendrogyra_coral": { + "name": "dendrogyra_coral", + "label": "Dendrogyra", + "weight": 1000, + "type": "item", + "image": "dendrogyra_coral.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "Its also known as pillar coral" + }, + "antipatharia_coral": { + "name": "antipatharia_coral", + "label": "Antipatharia", + "weight": 1000, + "type": "item", + "image": "antipatharia_coral.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "Its also known as black corals or thorn corals" + }, + "diving_gear": { + "name": "diving_gear", + "label": "Diving Gear", + "weight": 30000, + "type": "item", + "image": "diving_gear.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "An oxygen tank and a rebreather" + }, + "diving_fill": { + "name": "diving_fill", + "label": "Diving Tube", + "weight": 3000, + "type": "item", + "image": "diving_tube.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "An oxygen tube and a rebreather" + }, + "casinochips": { + "name": "casinochips", + "label": "Casino Chips", + "weight": 0, + "type": "item", + "image": "casinochips.png", + "unique": false, + "useable": false, + "shouldClose": false, + "description": "Chips For Casino Gambling" + }, + "stickynote": { + "name": "stickynote", + "label": "Sticky note", + "weight": 0, + "type": "item", + "image": "stickynote.png", + "unique": true, + "useable": false, + "shouldClose": false, + "description": "Sometimes handy to remember something :)" + }, + "moneybag": { + "name": "moneybag", + "label": "Money Bag", + "weight": 0, + "type": "item", + "image": "moneybag.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "A bag with cash" + }, + "parachute": { + "name": "parachute", + "label": "Parachute", + "weight": 30000, + "type": "item", + "image": "parachute.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "The sky is the limit! Woohoo!" + }, + "binoculars": { + "name": "binoculars", + "label": "Binoculars", + "weight": 600, + "type": "item", + "image": "binoculars.png", + "unique": false, + "useable": true, + "shouldClose": true, + "description": "Sneaky Breaky..." + }, + "lighter": { + "name": "lighter", + "label": "Lighter", + "weight": 0, + "type": "item", + "image": "lighter.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "On new years eve a nice fire to stand next to" + }, + "certificate": { + "name": "certificate", + "label": "Certificate", + "weight": 0, + "type": "item", + "image": "certificate.png", + "unique": false, + "useable": false, + "shouldClose": true, + "description": "Certificate that proves you own certain stuff" + }, + "markedbills": { + "name": "markedbills", + "label": "Marked Money", + "weight": 1000, + "type": "item", + "image": "markedbills.png", + "unique": true, + "useable": false, + "shouldClose": true, + "description": "Money?" + }, + "labkey": { + "name": "labkey", + "label": "Key", + "weight": 500, + "type": "item", + "image": "labkey.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "Key for a lock...?" + }, + "printerdocument": { + "name": "printerdocument", + "label": "Document", + "weight": 500, + "type": "item", + "image": "printerdocument.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "A nice document" + }, + "newscam": { + "name": "newscam", + "label": "News Camera", + "weight": 100, + "type": "item", + "image": "newscam.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "A camera for the news" + }, + "newsmic": { + "name": "newsmic", + "label": "News Microphone", + "weight": 100, + "type": "item", + "image": "newsmic.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "A microphone for the news" + }, + "newsbmic": { + "name": "newsbmic", + "label": "Boom Microphone", + "weight": 100, + "type": "item", + "image": "newsbmic.png", + "unique": true, + "useable": true, + "shouldClose": true, + "description": "A Useable BoomMic" + } +} \ No newline at end of file diff --git a/shared/json/jobs.json b/shared/json/jobs.json new file mode 100644 index 0000000..af28ccd --- /dev/null +++ b/shared/json/jobs.json @@ -0,0 +1,399 @@ +{ + "unemployed": { + "label": "Civilian", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Freelancer", + "payment": 10 + } + ] + }, + "bus": { + "label": "Bus", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Driver", + "payment": 50 + } + ] + }, + "judge": { + "label": "Honorary", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Judge", + "payment": 100 + } + ] + }, + "lawyer": { + "label": "Law Firm", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Associate", + "payment": 50 + } + ] + }, + "reporter": { + "label": "Reporter", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Journalist", + "payment": 50 + } + ] + }, + "trucker": { + "label": "Trucker", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Driver", + "payment": 50 + } + ] + }, + "tow": { + "label": "Towing", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Driver", + "payment": 50 + } + ] + }, + "garbage": { + "label": "Garbage", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Collector", + "payment": 50 + } + ] + }, + "vineyard": { + "label": "Vineyard", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Picker", + "payment": 50 + } + ] + }, + "hotdog": { + "label": "Hotdog", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Sales", + "payment": 50 + } + ] + }, + "police": { + "label": "Law Enforcement", + "type": "leo", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Recruit", + "payment": 50 + }, + { + "name": "Officer", + "payment": 75 + }, + { + "name": "Sergeant", + "payment": 100 + }, + { + "name": "Lieutenant", + "payment": 125 + }, + { + "name": "Chief", + "isboss": true, + "payment": 150 + } + ] + }, + "ambulance": { + "label": "EMS", + "type": "ems", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Recruit", + "payment": 50 + }, + { + "name": "Paramedic", + "payment": 75 + }, + { + "name": "Doctor", + "payment": 100 + }, + { + "name": "Surgeon", + "payment": 125 + }, + { + "name": "Chief", + "isboss": true, + "payment": 150 + } + ] + }, + "realestate": { + "label": "Real Estate", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Recruit", + "payment": 50 + }, + { + "name": "House Sales", + "payment": 75 + }, + { + "name": "Business Sales", + "payment": 100 + }, + { + "name": "Broker", + "payment": 125 + }, + { + "name": "Manager", + "isboss": true, + "payment": 150 + } + ] + }, + "taxi": { + "label": "Taxi", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Recruit", + "payment": 50 + }, + { + "name": "Driver", + "payment": 75 + }, + { + "name": "Event Driver", + "payment": 100 + }, + { + "name": "Sales", + "payment": 125 + }, + { + "name": "Manager", + "isboss": true, + "payment": 150 + } + ] + }, + "cardealer": { + "label": "Vehicle Dealer", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Recruit", + "payment": 50 + }, + { + "name": "Showroom Sales", + "payment": 75 + }, + { + "name": "Business Sales", + "payment": 100 + }, + { + "name": "Finance", + "payment": 125 + }, + { + "name": "Manager", + "isboss": true, + "payment": 150 + } + ] + }, + "mechanic": { + "label": "LS Customs", + "type": "mechanic", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Recruit", + "payment": 50 + }, + { + "name": "Novice", + "payment": 75 + }, + { + "name": "Experienced", + "payment": 100 + }, + { + "name": "Advanced", + "payment": 125 + }, + { + "name": "Manager", + "isboss": true, + "payment": 150 + } + ] + }, + "mechanic2": { + "label": "LS Customs", + "type": "mechanic", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Recruit", + "payment": 50 + }, + { + "name": "Novice", + "payment": 75 + }, + { + "name": "Experienced", + "payment": 100 + }, + { + "name": "Advanced", + "payment": 125 + }, + { + "name": "Manager", + "isboss": true, + "payment": 150 + } + ] + }, + "mechanic3": { + "label": "LS Customs", + "type": "mechanic", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Recruit", + "payment": 50 + }, + { + "name": "Novice", + "payment": 75 + }, + { + "name": "Experienced", + "payment": 100 + }, + { + "name": "Advanced", + "payment": 125 + }, + { + "name": "Manager", + "isboss": true, + "payment": 150 + } + ] + }, + "beeker": { + "label": "Beeker's Garage", + "type": "mechanic", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Recruit", + "payment": 50 + }, + { + "name": "Novice", + "payment": 75 + }, + { + "name": "Experienced", + "payment": 100 + }, + { + "name": "Advanced", + "payment": 125 + }, + { + "name": "Manager", + "isboss": true, + "payment": 150 + } + ] + }, + "bennys": { + "label": "Benny's Original Motor Works", + "type": "mechanic", + "defaultDuty": true, + "offDutyPay": false, + "grades": [ + { + "name": "Recruit", + "payment": 50 + }, + { + "name": "Novice", + "payment": 75 + }, + { + "name": "Experienced", + "payment": 100 + }, + { + "name": "Advanced", + "payment": 125 + }, + { + "name": "Manager", + "isboss": true, + "payment": 150 + } + ] + } +} \ No newline at end of file diff --git a/shared/json/player_defaults.json b/shared/json/player_defaults.json new file mode 100644 index 0000000..9c5833c --- /dev/null +++ b/shared/json/player_defaults.json @@ -0,0 +1,90 @@ +{ + "citizenid": null, + "cid": 1, + "money": { + "cash": 500, + "bank": 5000, + "crypto": 0 + }, + "optin": true, + "charinfo": { + "firstname": "Firstname", + "lastname": "Lastname", + "birthdate": "00-00-0000", + "gender": 0, + "nationality": "USA", + "phone": null, + "account": null + }, + "job": { + "name": "unemployed", + "label": "Civilian", + "payment": 10, + "type": "none", + "onduty": false, + "isboss": false, + "grade": { + "name": "Freelancer", + "level": 1, + "payment": 10, + "isboss": false + } + }, + "gang": { + "name": "none", + "label": "No Gang Affiliation", + "isboss": false, + "grade": { + "name": "none", + "level": 1, + "isboss": false + } + }, + "metadata": { + "hunger": 100, + "thirst": 100, + "stress": 0, + "isdead": false, + "inlaststand": false, + "armor": 0, + "ishandcuffed": false, + "tracker": false, + "injail": 0, + "jailitems": [], + "status": {}, + "phone": {}, + "rep": {}, + "currentapartment": null, + "callsign": "NO CALLSIGN", + "bloodtype": null, + "fingerprint": null, + "walletid": null, + "criminalrecord": { + "hasRecord": false, + "date": null + }, + "licences": { + "driver": true, + "business": false, + "weapon": false + }, + "inside": { + "house": null, + "apartment": { + "apartmentType": null, + "apartmentId": null + } + }, + "phonedata": { + "SerialNumber": null, + "InstalledApps": [] + } + }, + "position": { + "x": 1000, + "y": 1000, + "z": 1000, + "h": 1000 + }, + "items": [] +} \ No newline at end of file diff --git a/shared/json/vehicles.json b/shared/json/vehicles.json new file mode 100644 index 0000000..e9e2d0f --- /dev/null +++ b/shared/json/vehicles.json @@ -0,0 +1,8032 @@ +[ + { + "model": "asbo", + "name": "Asbo", + "brand": "Maxwell", + "price": 4000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "blista", + "name": "Blista", + "brand": "Dinka", + "price": 13000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "brioso", + "name": "Brioso R/A", + "brand": "Grotti", + "price": 20000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "club", + "name": "Club", + "brand": "BF", + "price": 8000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dilettante", + "name": "Dilettante", + "brand": "Karin", + "price": 9000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dilettante2", + "name": "Dilettante Patrol", + "brand": "Karin", + "price": 12000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "kanjo", + "name": "Blista Kanjo", + "brand": "Dinka", + "price": 12000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "issi2", + "name": "Issi", + "brand": "Weeny", + "price": 7000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "issi3", + "name": "Issi Classic", + "brand": "Weeny", + "price": 5000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "issi4", + "name": "Issi Arena", + "brand": "Weeny", + "price": 80000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "issi5", + "name": "Issi Future Shock", + "brand": "Weeny", + "price": 80000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "issi6", + "name": "Issi Nightmare", + "brand": "Weeny", + "price": 80000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "panto", + "name": "Panto", + "brand": "Benefactor", + "price": 3200, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "prairie", + "name": "Prairie", + "brand": "Bollokan", + "price": 30000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "rhapsody", + "name": "Rhapsody", + "brand": "Declasse", + "price": 10000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "brioso2", + "name": "Brioso 300", + "brand": "Grotti", + "price": 12000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "weevil", + "name": "Weevil", + "brand": "BF", + "price": 9000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "issi7", + "name": "Issi Sport", + "brand": "Weeny", + "price": 100000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "blista2", + "name": "Blista Compact", + "brand": "Dinka", + "price": 18950, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "blista3", + "name": "Blista Go Go Monkey", + "brand": "Dinka", + "price": 15000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "brioso3", + "name": "Brioso 300 Widebody", + "brand": "Grotti", + "price": 125000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "boor", + "name": "Boor", + "brand": "Karin", + "price": 23000, + "category": "compacts", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "asea", + "name": "Asea", + "brand": "Declasse", + "price": 2500, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "asterope", + "name": "Asterope", + "brand": "Karin", + "price": 11000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "cog55", + "name": "Cognoscenti 55", + "brand": "Enus", + "price": 22000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "cognoscenti", + "name": "Cognoscenti", + "brand": "Enus", + "price": 22500, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "emperor", + "name": "Emperor", + "brand": "Albany", + "price": 4250, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "fugitive", + "name": "Fugitive", + "brand": "Cheval", + "price": 20000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "glendale", + "name": "Glendale", + "brand": "Benefactor", + "price": 3400, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "glendale2", + "name": "Glendale Custom", + "brand": "Benefactor", + "price": 12000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "ingot", + "name": "Ingot", + "brand": "Vulcar", + "price": 4999, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "intruder", + "name": "Intruder", + "brand": "Karin", + "price": 11250, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "premier", + "name": "Premier", + "brand": "Declasse", + "price": 12000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "primo", + "name": "Primo", + "brand": "Albany", + "price": 5000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "primo2", + "name": "Primo Custom", + "brand": "Albany", + "price": 14500, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "regina", + "name": "Regina", + "brand": "Dundreary", + "price": 7000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "stafford", + "name": "Stafford", + "brand": "Enus", + "price": 30000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "stanier", + "name": "Stanier", + "brand": "Vapid", + "price": 19000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "stratum", + "name": "Stratum", + "brand": "Zirconium", + "price": 15000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "stretch", + "name": "Stretch", + "brand": "Dundreary", + "price": 19000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "superd", + "name": "Super Diamond", + "brand": "Enus", + "price": 17000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "surge", + "name": "Surge", + "brand": "Cheval", + "price": 20000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "tailgater", + "name": "Tailgater", + "brand": "Obey", + "price": 22000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "warrener", + "name": "Warrener", + "brand": "Vulcar", + "price": 4000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "washington", + "name": "Washington", + "brand": "Albany", + "price": 7000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "tailgater2", + "name": "Tailgater S", + "brand": "Obey", + "price": 51000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "cinquemila", + "name": "Lampadati", + "brand": "Cinquemila", + "price": 125000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "iwagen", + "name": "Obey", + "brand": "I-Wagen", + "price": 225000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "astron", + "name": "Astron", + "brand": "Pfister", + "price": 150000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "baller7", + "name": "Baller ST", + "brand": "Gallivanter", + "price": 145000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "comet7", + "name": "Comet", + "brand": "S2 Cabrio", + "price": 25000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "deity", + "name": "Deity", + "brand": "Enus", + "price": 505000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "jubilee", + "name": "Jubilee", + "brand": "Enus", + "price": 485000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "oracle", + "name": "Oracle", + "brand": "Übermacht", + "price": 22000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "schafter2", + "name": "Schafter", + "brand": "Benefactor", + "price": 16000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "warrener2", + "name": "Warrener HKR", + "brand": "Vulcar", + "price": 30000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "rhinehart", + "name": "Rhinehart", + "brand": "Übermacht", + "price": 105000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "eudora", + "name": "Eudora", + "brand": "Willard", + "price": 17000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "asterope2", + "name": "Asterope GZ", + "brand": "Karin", + "price": 459000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "impaler5", + "name": "Impaler SZ", + "brand": "Declasse", + "price": 768000, + "category": "sedans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "baller", + "name": "Baller", + "brand": "Gallivanter", + "price": 22000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "baller2", + "name": "Baller II", + "brand": "Gallivanter", + "price": 15000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "baller3", + "name": "Baller LE", + "brand": "Gallivanter", + "price": 15000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "baller4", + "name": "Baller LE LWB", + "brand": "Gallivanter", + "price": 29000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "baller5", + "name": "Baller LE (Armored)", + "brand": "Gallivanter", + "price": 78000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "baller6", + "name": "Baller LE LWB (Armored)", + "brand": "Gallivanter", + "price": 82000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "bjxl", + "name": "BeeJay XL", + "brand": "Karin", + "price": 19000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "cavalcade", + "name": "Cavalcade", + "brand": "Albany", + "price": 14000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "cavalcade2", + "name": "Cavalcade II", + "brand": "Albany", + "price": 16500, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "contender", + "name": "Contender", + "brand": "Vapid", + "price": 35000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dubsta", + "name": "Dubsta", + "brand": "Benefactor", + "price": 19000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dubsta2", + "name": "Dubsta Luxury", + "brand": "Benefactor", + "price": 19500, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "fq2", + "name": "FQ2", + "brand": "Fathom", + "price": 18500, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "granger", + "name": "Granger", + "brand": "Declasse", + "price": 22000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "gresley", + "name": "Gresley", + "brand": "Bravado", + "price": 25000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "habanero", + "name": "Habanero", + "brand": "Emperor", + "price": 20000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "huntley", + "name": "Huntley S", + "brand": "Enus", + "price": 24500, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "landstalker", + "name": "Landstalker", + "brand": "Dundreary", + "price": 12000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "landstalker2", + "name": "Landstalker XL", + "brand": "Dundreary", + "price": 26000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "novak", + "name": "Novak", + "brand": "Lampadati", + "price": 70000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "patriot", + "name": "Patriot", + "brand": "Mammoth", + "price": 21000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "patriot2", + "name": "Patriot Stretch", + "brand": "Mammoth", + "price": 21000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "radi", + "name": "Radius", + "brand": "Vapid", + "price": 18000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "rebla", + "name": "Rebla GTS", + "brand": "Übermacht", + "price": 21000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "rocoto", + "name": "Rocoto", + "brand": "Obey", + "price": 13000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "seminole", + "name": "Seminole", + "brand": "Canis", + "price": 20000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "seminole2", + "name": "Seminole Frontier", + "brand": "Canis", + "price": 13000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "serrano", + "name": "Serrano", + "brand": "Benefactor", + "price": 48000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "toros", + "name": "Toros", + "brand": "Pegassi", + "price": 65000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "xls", + "name": "XLS", + "brand": "Benefactor", + "price": 17000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "granger2", + "name": "Granger 3600LX", + "brand": "Declasse", + "price": 221000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "patriot3", + "name": "Patriot Military", + "brand": "Mil-Spec", + "price": 270000, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "aleutian", + "name": "Aleutian", + "brand": "Vapid", + "price": 183500, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "baller8", + "name": "Baller ST-D", + "brand": "Gallivanter", + "price": 171500, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "cavalcade3", + "name": "Cavalcade XL", + "brand": "Albany", + "price": 166500, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dorado", + "name": "Dorado", + "brand": "Bravado", + "price": 137500, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "vivanite", + "name": "Vivanite", + "brand": "Karin", + "price": 160500, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "castigator", + "name": "Castigator", + "brand": "Canis", + "price": 160500, + "category": "suvs", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "cogcabrio", + "name": "Cognoscenti Cabrio", + "brand": "Enus", + "price": 30000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "exemplar", + "name": "Exemplar", + "brand": "Dewbauchee", + "price": 40000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "f620", + "name": "F620", + "brand": "Ocelot", + "price": 32500, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "felon", + "name": "Felon", + "brand": "Lampadati", + "price": 31000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "felon2", + "name": "Felon GT", + "brand": "Lampadati", + "price": 37000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "jackal", + "name": "Jackal", + "brand": "Ocelot", + "price": 19000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "oracle2", + "name": "Oracle XS", + "brand": "Übermacht", + "price": 28000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "sentinel", + "name": "Sentinel", + "brand": "Übermacht", + "price": 30000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "sentinel2", + "name": "Sentinel XS", + "brand": "Übermacht", + "price": 33000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "windsor", + "name": "Windsor", + "brand": "Enus", + "price": 27000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "windsor2", + "name": "Windsor Drop", + "brand": "Enus", + "price": 34000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "zion", + "name": "Zion", + "brand": "Übermacht", + "price": 22000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "zion2", + "name": "Zion Cabrio", + "brand": "Übermacht", + "price": 28000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "previon", + "name": "Previon", + "brand": "Karin", + "price": 149000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "champion", + "name": "Champion", + "brand": "Dewbauchee", + "price": 205000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "futo", + "name": "Futo", + "brand": "Karin", + "price": 17500, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "sentinel3", + "name": "Sentinel Classic", + "brand": "Übermacht", + "price": 70000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "kanjosj", + "name": "Kanjo SJ", + "brand": "Dinka", + "price": 143000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "postlude", + "name": "Postlude", + "brand": "Dinka", + "price": 90000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "tahoma", + "name": "Tahoma Coupe", + "brand": "Declasse", + "price": 12000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "broadway", + "name": "Broadway", + "brand": "Classique", + "price": 20000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "fr36", + "name": "FR36", + "brand": "Fathom", + "price": 161000, + "category": "coupes", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "blade", + "name": "Blade", + "brand": "Vapid", + "price": 23500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "buccaneer", + "name": "Buccaneer", + "brand": "Albany", + "price": 22500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "buccaneer2", + "name": "Buccaneer Rider", + "brand": "Albany", + "price": 24500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "chino", + "name": "Chino", + "brand": "Vapid", + "price": 5000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "chino2", + "name": "Chino Luxe", + "brand": "Vapid", + "price": 8000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "clique", + "name": "Clique", + "brand": "Vapid", + "price": 20000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "coquette3", + "name": "Coquette BlackFin", + "brand": "Invetero", + "price": 180000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "deviant", + "name": "Deviant", + "brand": "Schyster", + "price": 70000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dominator", + "name": "Dominator", + "brand": "Vapid", + "price": 62500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dominator2", + "name": "Pißwasser Dominator", + "brand": "Vapid", + "price": 50000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dominator3", + "name": "Dominator GTX", + "brand": "Vapid", + "price": 70000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dominator4", + "name": "Dominator Arena", + "brand": "Vapid", + "price": 200000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dominator7", + "name": "Dominator ASP", + "brand": "Vapid", + "price": 110000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dominator8", + "name": "Dominator GTT", + "brand": "Vapid", + "price": 80000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dukes", + "name": "Dukes", + "brand": "Imponte", + "price": 23500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dukes2", + "name": "Duke O\"Death", + "brand": "Imponte", + "price": 60000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dukes3", + "name": "Beater Dukes", + "brand": "Imponte", + "price": 45000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "faction", + "name": "Faction", + "brand": "Willard", + "price": 17000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "faction2", + "name": "Faction Rider", + "brand": "Willard", + "price": 19000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "faction3", + "name": "Faction Custom Donk", + "brand": "Willard", + "price": 35000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "ellie", + "name": "Ellie", + "brand": "Vapid", + "price": 42250, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "gauntlet", + "name": "Gauntlet", + "brand": "Bravado", + "price": 28500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "gauntlet2", + "name": "Redwood Gauntlet", + "brand": "Bravado", + "price": 70000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "gauntlet3", + "name": "Classic Gauntlet", + "brand": "Bravado", + "price": 75000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "gauntlet4", + "name": "Gauntlet Hellfire", + "brand": "Bravado", + "price": 80000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "gauntlet5", + "name": "Gauntlet Classic Custom", + "brand": "Bravado", + "price": 120000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "hermes", + "name": "Hermes", + "brand": "Albany", + "price": 535000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "hotknife", + "name": "Hotknife", + "brand": "Vapid", + "price": 90000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "hustler", + "name": "Hustler", + "brand": "Vapid", + "price": 95000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "impaler", + "name": "Impaler", + "brand": "Vapid", + "price": 95000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "impaler2", + "name": "Impaler Arena", + "brand": "Vapid", + "price": 95000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "impaler3", + "name": "Impaler Future Shock", + "brand": "Vapid", + "price": 95000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "impaler4", + "name": "Impaler Nightmare", + "brand": "Vapid", + "price": 95000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "imperator", + "name": "Imperator Arena", + "brand": "Vapid", + "price": 95000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "imperator2", + "name": "imperator Future Shock", + "brand": "Vapid", + "price": 95000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "imperator3", + "name": "Imperator Nightmare", + "brand": "Vapid", + "price": 95000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "lurcher", + "name": "Lurcher", + "brand": "Bravado", + "price": 21000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "nightshade", + "name": "Nightshade", + "brand": "Imponte", + "price": 70000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "phoenix", + "name": "Phoenix", + "brand": "Imponte", + "price": 65000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "picador", + "name": "Picador", + "brand": "Cheval", + "price": 20000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "ratloader2", + "name": "Ratloader", + "brand": "Ratloader2", + "price": 20000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "ruiner", + "name": "Ruiner", + "brand": "Imponte", + "price": 29000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "ruiner2", + "name": "Ruiner 2000", + "brand": "Imponte", + "price": 50000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "sabregt", + "name": "Sabre GT Turbo", + "brand": "Declasse", + "price": 23000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "sabregt2", + "name": "Sabre GT Turbo Custom", + "brand": "Declasse", + "price": 26500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "slamvan", + "name": "Slam Van", + "brand": "Vapid", + "price": 30000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "slamvan2", + "name": "Lost Slam Van", + "brand": "Vapid", + "price": 90000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "slamvan3", + "name": "Slam Van Custom", + "brand": "Vapid", + "price": 17000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "stalion", + "name": "Stallion", + "brand": "Declasse", + "price": 33000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "stalion2", + "name": "Stallion Burgershot", + "brand": "Declasse", + "price": 40000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "tampa", + "name": "Tampa", + "brand": "Declasse", + "price": 24500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "tulip", + "name": "Tulip", + "brand": "Declasse", + "price": 80000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "vamos", + "name": "Vamos", + "brand": "Declasse", + "price": 30000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "vigero", + "name": "Vigero", + "brand": "Declasse", + "price": 39500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "virgo", + "name": "Virgo", + "brand": "Albany", + "price": 22000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "virgo2", + "name": "Virgo Custom Classic", + "brand": "Dundreary", + "price": 21000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "virgo3", + "name": "Virgo Classic", + "brand": "Dundreary", + "price": 21000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "voodoo", + "name": "Voodoo", + "brand": "Declasse", + "price": 13000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "yosemite", + "name": "Yosemite", + "brand": "Declasse", + "price": 19500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "yosemite2", + "name": "Yosemite Drift", + "brand": "Declasse", + "price": 55000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "buffalo4", + "name": "Buffalo STX", + "brand": "Bravado", + "price": 345000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "manana", + "name": "Manana", + "brand": "Albany", + "price": 12800, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "manana2", + "name": "Manana Custom", + "brand": "Albany", + "price": 24000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "tampa2", + "name": "Drift Tampa", + "brand": "Declasse", + "price": 80000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "ruiner4", + "name": "Ruiner ZZ-8", + "brand": "Imponte", + "price": 85000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "vigero2", + "name": "Vigero ZX", + "brand": "Declasse", + "price": 105000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "weevil2", + "name": "Weevil Custom", + "brand": "BF", + "price": 95000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "buffalo5", + "name": "Buffalo EVX", + "brand": "Bravado", + "price": 214000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "tulip2", + "name": "Tulip M-100", + "brand": "Declasse", + "price": 80000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "clique2", + "name": "Clique Wagon", + "brand": "Vapid", + "price": 102500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "brigham", + "name": "Brigham", + "brand": "Albany", + "price": 149900, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "greenwood", + "name": "Greenwood", + "brand": "Bravado", + "price": 105000, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dominator9", + "name": "Dominator GT", + "brand": "Vapid", + "price": 219500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "impaler6", + "name": "Impaler LX", + "brand": "Declasse", + "price": 146500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "vigero3", + "name": "Vigero ZX Convertible", + "brand": "Declasse", + "price": 229500, + "category": "muscle", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "ardent", + "name": "Ardent", + "brand": "Ocelot", + "price": 30000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "btype", + "name": "Roosevelt", + "brand": "Albany", + "price": 75000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "btype2", + "name": "Franken Stange", + "brand": "Albany", + "price": 87000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "btype3", + "name": "Roosevelt Valor", + "brand": "Albany", + "price": 63000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "casco", + "name": "Casco", + "brand": "Lampadati", + "price": 100000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "deluxo", + "name": "Deluxo", + "brand": "Imponte", + "price": 55000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dynasty", + "name": "Dynasty", + "brand": "Weeny", + "price": 25000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "fagaloa", + "name": "Fagaloa", + "brand": "Vulcar", + "price": 13000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "feltzer3", + "name": "Stirling GT", + "brand": "Benefactor", + "price": 115000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "gt500", + "name": "GT500", + "brand": "Grotti", + "price": 130000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "infernus2", + "name": "Infernus Classic", + "brand": "Pegassi", + "price": 245000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "jb700", + "name": "JB 700", + "brand": "Dewbauchee", + "price": 240000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "jb7002", + "name": "JB 700W", + "brand": "Dewbauchee", + "price": 40000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "mamba", + "name": "Mamba", + "brand": "Declasse", + "price": 140000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "michelli", + "name": "Michelli GT", + "brand": "Lampadati", + "price": 30000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "monroe", + "name": "Monroe", + "brand": "Pegassi", + "price": 115000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "nebula", + "name": "Nebula", + "brand": "Vulcar", + "price": 22000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "peyote", + "name": "Peyote", + "brand": "Vapid", + "price": 23500, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "peyote3", + "name": "Peyote Custom", + "brand": "Vapid", + "price": 48000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "pigalle", + "name": "Pigalle", + "brand": "Lampadati", + "price": 92000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "rapidgt3", + "name": "Rapid GT Classic", + "brand": "Dewbauchee", + "price": 90000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "retinue", + "name": "Retinue", + "brand": "Vapid", + "price": 32000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "retinue2", + "name": "Retinue MKII", + "brand": "Vapid", + "price": 38000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "savestra", + "name": "Savestra", + "brand": "Annis", + "price": 67000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "stinger", + "name": "Stinger", + "brand": "Grotti", + "price": 39500, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "stingergt", + "name": "Stinger GT", + "brand": "Grotti", + "price": 70000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "stromberg", + "name": "Stromberg", + "brand": "Ocelot", + "price": 80000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "swinger", + "name": "Swinger", + "brand": "Ocelot", + "price": 221000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "torero", + "name": "Torero", + "brand": "Pegassi", + "price": 84000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "tornado", + "name": "Tornado", + "brand": "Declasse", + "price": 21000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "tornado2", + "name": "Tornado Convertible", + "brand": "Declasse", + "price": 22000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "tornado5", + "name": "Tornado Custom", + "brand": "Declasse", + "price": 22000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "turismo2", + "name": "Turismo Classic", + "brand": "Grotti", + "price": 170000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "viseris", + "name": "Viseris", + "brand": "Lampadati", + "price": 210000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "z190", + "name": "190Z", + "brand": "Karin", + "price": 78000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "ztype", + "name": "Z-Type", + "brand": "Truffade", + "price": 270000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "zion3", + "name": "Zion Classic", + "brand": "Übermacht", + "price": 45000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "cheburek", + "name": "Cheburek", + "brand": "Rune", + "price": 7000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "toreador", + "name": "Toreador", + "brand": "Pegassi", + "price": 50000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "peyote2", + "name": "Peyote Gasser", + "brand": "Vapid", + "price": 40000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "coquette2", + "name": "Coquette Classic", + "brand": "Invetero", + "price": 165000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "envisage", + "name": "Envisage", + "brand": "Bollokan", + "price": 190000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "driftnebula", + "name": "Nebula Turbo", + "brand": "Vulcar", + "price": 100000, + "category": "sportsclassics", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "alpha", + "name": "Alpha", + "brand": "Albany", + "price": 53000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "banshee", + "name": "Banshee", + "brand": "Bravado", + "price": 56000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "bestiagts", + "name": "Bestia GTS", + "brand": "Grotti", + "price": 37000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "buffalo", + "name": "Buffalo", + "brand": "Bravado", + "price": 18750, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "buffalo2", + "name": "Buffalo S", + "brand": "Bravado", + "price": 24500, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "carbonizzare", + "name": "Carbonizzare", + "brand": "Grotti", + "price": 155000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "comet2", + "name": "Comet", + "brand": "Pfister", + "price": 130000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "comet3", + "name": "Comet Retro Custom", + "brand": "Pfister", + "price": 175000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "comet4", + "name": "Comet Safari", + "brand": "Pfister", + "price": 110000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "comet5", + "name": "Comet SR", + "brand": "Pfister", + "price": 155000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "coquette", + "name": "Coquette", + "brand": "Invetero", + "price": 145000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "coquette4", + "name": "Coquette D10", + "brand": "Invetero", + "price": 220000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "drafter", + "name": "8F Drafter", + "brand": "Obey", + "price": 80000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "elegy", + "name": "Elegy Retro Custom", + "brand": "Annis", + "price": 145000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "elegy2", + "name": "Elegy RH8", + "brand": "Annis", + "price": 150000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "feltzer2", + "name": "Feltzer", + "brand": "Benefactor", + "price": 97000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "flashgt", + "name": "Flash GT", + "brand": "Vapid", + "price": 48000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "furoregt", + "name": "Furore GT", + "brand": "Lampadati", + "price": 78000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "gb200", + "name": "GB 200", + "brand": "Vapid", + "price": 140000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "komoda", + "name": "Komoda", + "brand": "Lampadati", + "price": 55000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "imorgon", + "name": "Imorgon", + "brand": "Överflöd", + "price": 120000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "italigto", + "name": "Itali GTO", + "brand": "Progen", + "price": 260000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "jugular", + "name": "Jugular", + "brand": "Ocelot", + "price": 80000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "jester", + "name": "Jester", + "brand": "Dinka", + "price": 132250, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "jester2", + "name": "Jester Racecar", + "brand": "Dinka", + "price": 210000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "jester3", + "name": "Jester Classic", + "brand": "Dinka", + "price": 85000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "khamelion", + "name": "Khamelion", + "brand": "Hijak", + "price": 90000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "kuruma", + "name": "Kuruma", + "brand": "Karin", + "price": 72000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "kuruma2", + "name": "kuruma2", + "brand": "Karin2", + "price": 72000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "locust", + "name": "Locust", + "brand": "Ocelot", + "price": 200000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "lynx", + "name": "Lynx", + "brand": "Ocelot", + "price": 150000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "massacro", + "name": "Massacro", + "brand": "Dewbauchee", + "price": 110000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "massacro2", + "name": "Massacro Racecar", + "brand": "Dewbauchee", + "price": 80000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "neo", + "name": "Neo", + "brand": "Vysser", + "price": 230000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "neon", + "name": "Neon", + "brand": "Pfister", + "price": 220000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "ninef", + "name": "9F", + "brand": "Obey", + "price": 95000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "ninef2", + "name": "9F Cabrio", + "brand": "Obey", + "price": 105000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "omnis", + "name": "Omnis", + "brand": "Wow", + "price": 90000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "paragon", + "name": "Paragon", + "brand": "Enus", + "price": 60000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "pariah", + "name": "Pariah", + "brand": "Ocelot", + "price": 90000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "penumbra", + "name": "Penumbra", + "brand": "Maibatsu", + "price": 22000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "penumbra2", + "name": "Penumbra FF", + "brand": "Maibatsu", + "price": 30000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "rapidgt", + "name": "Rapid GT", + "brand": "Dewbauchee", + "price": 86000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "rapidgt2", + "name": "Rapid GT Convertible", + "brand": "Dewbauchee", + "price": 92000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "raptor", + "name": "Raptor", + "brand": "BF", + "price": 90000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "revolter", + "name": "Revolter", + "brand": "Übermacht", + "price": 95000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "ruston", + "name": "Ruston", + "brand": "Hijak", + "price": 130000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "schafter3", + "name": "Schafter V12", + "brand": "Benefactor", + "price": 35000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "schafter4", + "name": "Schafter LWB", + "brand": "Benefactor", + "price": 21000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "schlagen", + "name": "Schlagen GT", + "brand": "Benefactor", + "price": 160000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "schwarzer", + "name": "Schwartzer", + "brand": "Benefactor", + "price": 47000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "seven70", + "name": "Seven-70", + "brand": "Dewbauchee", + "price": 140000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "specter", + "name": "Specter", + "brand": "Dewbauchee", + "price": 160000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "streiter", + "name": "Streiter", + "brand": "Benefactor", + "price": 40000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "sugoi", + "name": "Sugoi", + "brand": "Dinka", + "price": 85000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "sultan", + "name": "Sultan", + "brand": "Karin", + "price": 50000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "sultan2", + "name": "Sultan Custom", + "brand": "Karin", + "price": 55000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "surano", + "name": "Surano", + "brand": "Benefactor", + "price": 80000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "tropos", + "name": "Tropos Rallye", + "brand": "Lampadati", + "price": 65000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "verlierer2", + "name": "Verlierer", + "brand": "Bravado", + "price": 90500, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "vstr", + "name": "V-STR", + "brand": "Albany", + "price": 80000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "italirsx", + "name": "Itali RSX", + "brand": "Progen", + "price": 260000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "zr350", + "name": "ZR350", + "brand": "Annis", + "price": 38000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "calico", + "name": "Calico GTF", + "brand": "Karin", + "price": 39000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "futo2", + "name": "Futo GTX", + "brand": "Karin", + "price": 39000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "euros", + "name": "Euros", + "brand": "Annis", + "price": 80000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "jester4", + "name": "Jester RR", + "brand": "Dinka", + "price": 240000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "remus", + "name": "Remus", + "brand": "Annis", + "price": 48000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "comet6", + "name": "Comet S2", + "brand": "Pfister", + "price": 230000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "growler", + "name": "Growler", + "brand": "Pfister", + "price": 205000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "vectre", + "name": "Vectre", + "brand": "Emperor", + "price": 80000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "cypher", + "name": "Cypher", + "brand": "Übermacht", + "price": 155000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "sultan3", + "name": "Sultan Classic Custom", + "brand": "Karin", + "price": 56000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "rt3000", + "name": "RT3000", + "brand": "Dinka", + "price": 65000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "sultanrs", + "name": "Sultan RS", + "brand": "Karin", + "price": 76500, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "visione", + "name": "Visione", + "brand": "Grotti", + "price": 750000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "cheetah2", + "name": "Cheetah Classic", + "brand": "Grotti", + "price": 195000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "stingertt", + "name": "Itali GTO Stinger TT", + "brand": "Maibatsu", + "price": 238000, + "category": "sports", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "omnisegt", + "name": "Omnis e-GT", + "brand": "Obey", + "price": 185000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "sentinel4", + "name": "Sentinel Classic Widebody", + "brand": "Übermacht", + "price": 140000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "sm722", + "name": "SM722", + "brand": "Benefactor", + "price": 125000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "tenf", + "name": "10F", + "brand": "Obey", + "price": 185000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "tenf2", + "name": "10F Widebody", + "brand": "Obey", + "price": 215000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "everon2", + "name": "Everon Hotring", + "brand": "Karin", + "price": 80000, + "category": "sports", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "issi8", + "name": "Issi Rally", + "brand": "Weeny", + "price": 10000, + "category": "sports", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "corsita", + "name": "Corsita", + "brand": "Lampadati", + "price": 90000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "gauntlet6", + "name": "Hotring Hellfire", + "brand": "Bravado", + "price": 181000, + "category": "sports", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "coureur", + "name": "La Coureuse", + "brand": "Penaud", + "price": 199000, + "category": "sports", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "r300", + "name": "300R", + "brand": "Annis", + "price": 56000, + "category": "sports", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "panthere", + "name": "Panthere", + "brand": "Toundra", + "price": 55000, + "category": "sports", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "driftsentinel", + "name": "Drift Sentinel Classic", + "brand": "Ubermacht", + "price": 150000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "paragon3", + "name": "Paragon S", + "brand": "Enus", + "price": 220000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "eurosX32", + "name": "Euros X32", + "brand": "Annis", + "price": 180000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "vorschlaghammer", + "name": "Vorschlaghammer", + "brand": "Pfister", + "price": 250000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "driftcypher", + "name": "Drift Cypher", + "brand": "Ubermacht", + "price": 160000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "coquette5", + "name": "Coquette D1", + "brand": "Invetero", + "price": 220000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "pipistrello", + "name": "Pipistrello", + "brand": "Overflod", + "price": 240000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "niobe", + "name": "Niobe", + "brand": "Ubermacht", + "price": 180000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "driftvorschlag", + "name": "Vorschlaghammer", + "brand": "Pfister", + "price": 250000, + "category": "sports", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "adder", + "name": "Adder", + "brand": "Truffade", + "price": 280000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "autarch", + "name": "Autarch", + "brand": "Överflöd", + "price": 224000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "banshee2", + "name": "Banshee 900R", + "brand": "Bravado", + "price": 120000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "bullet", + "name": "Bullet", + "brand": "Vapid", + "price": 120000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "cheetah", + "name": "Cheetah", + "brand": "Grotti", + "price": 214000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "cyclone", + "name": "Cyclone", + "brand": "Coil", + "price": 300000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "entity2", + "name": "Entity XXR", + "brand": "Överflöd", + "price": 164000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "entityxf", + "name": "Entity XF", + "brand": "Överflöd", + "price": 180000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "emerus", + "name": "Emerus", + "brand": "Progen", + "price": 220000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "fmj", + "name": "FMJ", + "brand": "Vapid", + "price": 125000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "furia", + "name": "Furia", + "brand": "Grotti", + "price": 230000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "gp1", + "name": "GP1", + "brand": "Progen", + "price": 110000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "infernus", + "name": "Infernus", + "brand": "Pegassi", + "price": 235000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "italigtb", + "name": "Itali GTB", + "brand": "Progen", + "price": 170000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "italigtb2", + "name": "Itali GTB Custom", + "brand": "Progen", + "price": 250000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "krieger", + "name": "Krieger", + "brand": "Benefactor", + "price": 222000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "le7b", + "name": "RE-7B", + "brand": "Annis", + "price": 260000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "nero", + "name": "Nero", + "brand": "Truffade", + "price": 200000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "nero2", + "name": "Nero Custom", + "brand": "Truffade", + "price": 260000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "osiris", + "name": "Osiris", + "brand": "Pegassi", + "price": 220000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "penetrator", + "name": "Penetrator", + "brand": "Ocelot", + "price": 130000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "pfister811", + "name": "811", + "brand": "Pfister", + "price": 220000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "prototipo", + "name": "X80 Proto", + "brand": "Grotti", + "price": 235000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "reaper", + "name": "Reaper", + "brand": "Pegassi", + "price": 100000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "s80", + "name": "S80RR", + "brand": "Annis", + "price": 205000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "sc1", + "name": "SC1", + "brand": "Übermacht", + "price": 90000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "sheava", + "name": "ETR1", + "brand": "Emperor", + "price": 220000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "t20", + "name": "T20", + "brand": "Progen", + "price": 1650000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "taipan", + "name": "Taipan", + "brand": "Cheval", + "price": 1850000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "tempesta", + "name": "Tempesta", + "brand": "Pegassi", + "price": 120000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "tezeract", + "name": "Tezeract", + "brand": "Pegassi", + "price": 220000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "thrax", + "name": "Thrax", + "brand": "Truffade", + "price": 180000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "tigon", + "name": "Tigon", + "brand": "Lampadati", + "price": 240000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "turismor", + "name": "Turismo R", + "brand": "Grotti", + "price": 140000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "tyrant", + "name": "Tyrant", + "brand": "Överflöd", + "price": 2100000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "tyrus", + "name": "Tyrus", + "brand": "Progen", + "price": 230000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "vacca", + "name": "Vacca", + "brand": "Pegassi", + "price": 105000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "vagner", + "name": "Vagner", + "brand": "Dewbauchee", + "price": 1660000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "voltic", + "name": "Voltic", + "brand": "Coil", + "price": 120000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "voltic2", + "name": "Rocket Voltic", + "brand": "Coil", + "price": 9830400, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "xa21", + "name": "XA-21", + "brand": "Ocelot", + "price": 180000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "zentorno", + "name": "Zentorno", + "brand": "Pegassi", + "price": 340000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "zorrusso", + "name": "Zorrusso", + "brand": "Pegassi", + "price": 277000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "ignus", + "name": "Ignus", + "brand": "Pegassi", + "price": 1120000, + "category": "super", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "zeno", + "name": "Zeno", + "brand": "Överflöd", + "price": 1350000, + "category": "super", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "deveste", + "name": "Deveste", + "brand": "Principe", + "price": 234000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "lm87", + "name": "LM87", + "brand": "Benefactor", + "price": 155000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "torero2", + "name": "Torero XO", + "brand": "Pegassi", + "price": 245000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "entity3", + "name": "Entity MT", + "brand": "Overflod", + "price": 200000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "virtue", + "name": "Virtue", + "brand": "Ocelot", + "price": 72000, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "turismo3", + "name": "Turismo Omaggio", + "brand": "Grotti", + "price": 284500, + "category": "super", + "type": "automobile", + "shop": [ + "luxury" + ] + }, + { + "model": "akuma", + "name": "Akuma", + "brand": "Dinka", + "price": 55000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "avarus", + "name": "Avarus", + "brand": "LCC", + "price": 20000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "bagger", + "name": "Bagger", + "brand": "WMC", + "price": 13500, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "bati", + "name": "Bati 801", + "brand": "Pegassi", + "price": 24000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "bati2", + "name": "Bati 801RR", + "brand": "Pegassi", + "price": 19000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "bf400", + "name": "BF400", + "brand": "Nagasaki", + "price": 22000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "carbonrs", + "name": "Carbon RS", + "brand": "Nagasaki", + "price": 22000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "chimera", + "name": "Chimera", + "brand": "Nagasaki", + "price": 21000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "cliffhanger", + "name": "Cliffhanger", + "brand": "Western", + "price": 28500, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "daemon", + "name": "Daemon", + "brand": "WMC", + "price": 14000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "daemon2", + "name": "Daemon Custom", + "brand": "Western", + "price": 23000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "defiler", + "name": "Defiler", + "brand": "Shitzu", + "price": 30000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "deathbike", + "name": "Deathbike Apocalypse", + "brand": "Deathbike", + "price": 30000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "deathbike2", + "name": "Deathbike Future Shock", + "brand": "Deathbike", + "price": 30000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "deathbike3", + "name": "Deathbike Nightmare", + "brand": "Deathbike", + "price": 30000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "diablous", + "name": "Diablous", + "brand": "Principe", + "price": 30000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "diablous2", + "name": "Diablous Custom", + "brand": "Principe", + "price": 38000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "double", + "name": "Double-T", + "brand": "Dinka", + "price": 28000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "enduro", + "name": "Enduro", + "brand": "Dinka", + "price": 5500, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "esskey", + "name": "Esskey", + "brand": "Pegassi", + "price": 12000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "faggio", + "name": "Faggio Sport", + "brand": "Pegassi", + "price": 2000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "faggio2", + "name": "Faggio", + "brand": "Pegassi", + "price": 1900, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "faggio3", + "name": "Faggio Mod", + "brand": "Pegassi", + "price": 2500, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "fcr", + "name": "FCR 1000", + "brand": "Pegassi", + "price": 5000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "fcr2", + "name": "FCR 1000 Custom", + "brand": "Pegassi", + "price": 19000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "gargoyle", + "name": "Gargoyle", + "brand": "Western", + "price": 32000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "hakuchou", + "name": "Hakuchou", + "brand": "Shitzu", + "price": 17000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "hakuchou2", + "name": "Hakuchou Drag", + "brand": "Shitzu", + "price": 45000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "hexer", + "name": "Hexer", + "brand": "LCC", + "price": 16000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "innovation", + "name": "Innovation", + "brand": "LLC", + "price": 33500, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "lectro", + "name": "Lectro", + "brand": "Principe", + "price": 28000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "manchez", + "name": "Manchez", + "brand": "Maibatsu", + "price": 8300, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "nemesis", + "name": "Nemesis", + "brand": "Principe", + "price": 20000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "nightblade", + "name": "Nightblade", + "brand": "WMC", + "price": 23000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "oppressor", + "name": "Oppressor", + "brand": "Pegassi", + "price": 9999999, + "category": "motorcycles", + "type": "bike", + "shop": [ + "luxury" + ] + }, + { + "model": "pcj", + "name": "PCJ-600", + "brand": "Shitzu", + "price": 15000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "ratbike", + "name": "Rat Bike", + "brand": "Western", + "price": 3000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "ruffian", + "name": "Ruffian", + "brand": "Pegassi", + "price": 25000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "sanchez", + "name": "Sanchez Livery", + "brand": "Maibatsu", + "price": 5300, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "sanchez2", + "name": "Sanchez", + "brand": "Maibatsu", + "price": 5300, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "sanctus", + "name": "Sanctus", + "brand": "LCC", + "price": 35000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "shotaro", + "name": "Shotaro", + "brand": "Nagasaki", + "price": 320000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "sovereign", + "name": "Sovereign", + "brand": "WMC", + "price": 8000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "stryder", + "name": "Stryder", + "brand": "Nagasaki", + "price": 50000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "thrust", + "name": "Thrust", + "brand": "Dinka", + "price": 22000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "vader", + "name": "Vader", + "brand": "Shitzu", + "price": 7200, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "vindicator", + "name": "Vindicator", + "brand": "Dinka", + "price": 19000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "vortex", + "name": "Vortex", + "brand": "Pegassi", + "price": 31000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "wolfsbane", + "name": "Wolfsbane", + "brand": "Western", + "price": 14000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "zombiea", + "name": "Zombie Bobber", + "brand": "Western", + "price": 28000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "zombieb", + "name": "Zombie Chopper", + "brand": "Western", + "price": 27000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "manchez2", + "name": "Manchez Scout", + "brand": "Maibatsu", + "price": 14000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "shinobi", + "name": "Shinobi", + "brand": "Nagasaki", + "price": 25000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "reever", + "name": "Reever", + "brand": "Western", + "price": 25000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "manchez3", + "name": "Manchez Scout Classic", + "brand": "Maibatsu", + "price": 15000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "powersurge", + "name": "Powersurge", + "brand": "Western", + "price": 7000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "pizzaboy", + "name": "Pizza Boy", + "brand": "Pegassi", + "price": 50000, + "category": "motorcycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "bfinjection", + "name": "Bf Injection", + "brand": "Annis", + "price": 9000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "bifta", + "name": "Bifta", + "brand": "Annis", + "price": 15500, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "blazer", + "name": "Blazer", + "brand": "Annis", + "price": 7500, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "blazer2", + "name": "Blazer Lifeguard", + "brand": "Nagasaki", + "price": 7000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "blazer3", + "name": "Blazer Hot Rod", + "brand": "Nagasaki", + "price": 7000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "blazer4", + "name": "Blazer Sport", + "brand": "Annis", + "price": 9250, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "blazer5", + "name": "Blazer Aqua", + "brand": "Nagasaki", + "price": 40000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "brawler", + "name": "Brawler", + "brand": "Annis", + "price": 40000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "caracara", + "name": "Caracara", + "brand": "Vapid", + "price": 60000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "caracara2", + "name": "Caracara 4x4", + "brand": "Vapid", + "price": 80000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dubsta3", + "name": "Dubsta 6x6", + "brand": "Annis", + "price": 34000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "dune", + "name": "Dune Buggy", + "brand": "Annis", + "price": 14000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "everon", + "name": "Everon", + "brand": "Karin", + "price": 60000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "freecrawler", + "name": "Freecrawler", + "brand": "Canis", + "price": 24000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "hellion", + "name": "Hellion", + "brand": "Annis", + "price": 38000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "kalahari", + "name": "Kalahari", + "brand": "Canis", + "price": 14000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "kamacho", + "name": "Kamacho", + "brand": "Canis", + "price": 50000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "mesa3", + "name": "Mesa Merryweather", + "brand": "Canis", + "price": 400000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "outlaw", + "name": "Outlaw", + "brand": "Nagasaki", + "price": 15000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "rancherxl", + "name": "Rancher XL", + "brand": "Declasse", + "price": 24000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "rebel2", + "name": "Rebel", + "brand": "Vapid", + "price": 20000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "riata", + "name": "Riata", + "brand": "Vapid", + "price": 380000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "sandking", + "name": "Sandking XL", + "brand": "Vapid", + "price": 25000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "sandking2", + "name": "Sandking SWB", + "brand": "Vapid", + "price": 38000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "trophytruck", + "name": "Trophy Truck", + "brand": "Vapid", + "price": 60000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "trophytruck2", + "name": "Desert Raid", + "brand": "Vapid", + "price": 80000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "vagrant", + "name": "Vagrant", + "brand": "Maxwell", + "price": 50000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "verus", + "name": "Verus", + "brand": "Dinka", + "price": 20000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "winky", + "name": "Winky", + "brand": "Vapid", + "price": 10000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "yosemite3", + "name": "Yosemite Rancher", + "brand": "Declasse", + "price": 425000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "mesa", + "name": "Mesa", + "brand": "Canis", + "price": 12000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "ratel", + "name": "Ratel", + "brand": "Vapid", + "price": 199000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "l35", + "name": "Walton L35", + "brand": "Declasse", + "price": 167000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "monstrociti", + "name": "MonstroCiti", + "brand": "Maibatsu", + "price": 48000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "draugur", + "name": "Draugur", + "brand": "Declasse", + "price": 99000, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "terminus", + "name": "Terminus", + "brand": "Canis", + "price": 187750, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "yosemite4", + "name": "Yosemite 1500", + "brand": "Declasse", + "price": 187750, + "category": "offroad", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "guardian", + "name": "Guardian", + "brand": "Vapid", + "price": 30000, + "category": "industrial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "mixer2", + "name": "Mixer II", + "brand": "HVY", + "price": 30000, + "category": "industrial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "tiptruck2", + "name": "Tipper II", + "brand": "Brute", + "price": 30000, + "category": "industrial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "tiptruck", + "name": "Tipper", + "brand": "Brute", + "price": 30000, + "category": "industrial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "rubble", + "name": "Rubble", + "brand": "Jobuilt", + "price": 30000, + "category": "industrial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "mixer", + "name": "Mixer", + "brand": "HVY", + "price": 30000, + "category": "industrial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "flatbed", + "name": "Flatbed Truck", + "brand": "MTL", + "price": 30000, + "category": "industrial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "dump", + "name": "Dump Truck", + "brand": "HVY", + "price": 30000, + "category": "industrial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "bulldozer", + "name": "Dozer", + "brand": "HVY", + "price": 30000, + "category": "industrial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "handler", + "name": "Dock Handler", + "brand": "HVY", + "price": 30000, + "category": "industrial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "cutter", + "name": "Cutter", + "brand": "HVY", + "price": 30000, + "category": "industrial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "slamtruck", + "name": "Slam Truck", + "brand": "Vapid", + "price": 100000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "caddy3", + "name": "Caddy (Bunker)", + "brand": "Nagasaki", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "caddy2", + "name": "Caddy (Civilian)", + "brand": "Nagasaki", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "caddy3", + "name": "Caddy (Golf)", + "brand": "Nagasaki", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "utillitruck", + "name": "Utility Truck (Cherry Picker)", + "brand": "Brute", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "utillitruck2", + "name": "Utility Truck (Van)", + "brand": "Brute", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "utillitruck3", + "name": "Utility Truck (Contender)", + "brand": "Vapid", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "tractor", + "name": "Tractor", + "brand": "Stanley", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "tractor2", + "name": "Fieldmaster", + "brand": "Stanley", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "tractor3", + "name": "Fieldmaster", + "brand": "Stanley", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "towtruck", + "name": "Tow Truck (Large)", + "brand": "Vapid", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "towtruck2", + "name": "Tow Truck (Small)", + "brand": "Vapid", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "scrap", + "name": "Scrap Truck", + "brand": "Vapid", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "sadler", + "name": "Sadler", + "brand": "Vapid", + "price": 20000, + "category": "utility", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "ripley", + "name": "Ripley", + "brand": "HVY", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "mower", + "name": "Lawn Mower", + "brand": "Jacksheepe", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "forklift", + "name": "Forklift", + "brand": "HVY", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "docktug", + "name": "Docktug", + "brand": "HVY", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "airtug", + "name": "Airtug", + "brand": "HVY", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "trailers5", + "name": "Trailer (Christmas)", + "brand": "Unknown", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "tvtrailer2", + "name": "Trailer (TV)", + "brand": "Unknown", + "price": 30000, + "category": "utility", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "bison", + "name": "Bison", + "brand": "Bravado", + "price": 18000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "bobcatxl", + "name": "Bobcat XL Open", + "brand": "Vapid", + "price": 13500, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "burrito3", + "name": "Burrito", + "brand": "Declasse", + "price": 4000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "gburrito2", + "name": "Burrito Custom", + "brand": "Declasse", + "price": 11500, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "rumpo", + "name": "Rumpo", + "brand": "Bravado", + "price": 9000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "journey", + "name": "Journey", + "brand": "Zirconium", + "price": 6500, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "minivan", + "name": "Minivan", + "brand": "Vapid", + "price": 7000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "minivan2", + "name": "Minivan Custom", + "brand": "Vapid", + "price": 10000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "paradise", + "name": "Paradise", + "brand": "Bravado", + "price": 9000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "rumpo3", + "name": "Rumpo Custom", + "brand": "Bravado", + "price": 19500, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "speedo", + "name": "Speedo", + "brand": "Vapid", + "price": 10000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "speedo4", + "name": "Speedo Custom", + "brand": "Vapid", + "price": 15000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "surfer", + "name": "Surfer", + "brand": "BF", + "price": 9000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "youga3", + "name": "Youga Classic 4x4", + "brand": "Bravado", + "price": 15000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "youga", + "name": "Youga", + "brand": "Bravado", + "price": 8000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "youga2", + "name": "Youga Classic", + "brand": "Bravado", + "price": 14500, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "youga4", + "name": "Youga Custom", + "brand": "Bravado", + "price": 85000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "moonbeam", + "name": "Moonbeam", + "brand": "Declasse", + "price": 13000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "moonbeam2", + "name": "Moonbeam Custom", + "brand": "Declasse", + "price": 15000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "boxville", + "name": "Boxville LSDWP", + "brand": "Brute", + "price": 45000, + "category": "vans", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "boxville2", + "name": "Boxville Go Postal", + "brand": "Brute", + "price": 45000, + "category": "vans", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "boxville3", + "name": "Boxville Humane Labs", + "brand": "Brute", + "price": 45000, + "category": "vans", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "boxville4", + "name": "Boxville Post OP", + "brand": "Brute", + "price": 45000, + "category": "vans", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "boxville5", + "name": "Armored Boxville", + "brand": "Brute", + "price": 45000, + "category": "vans", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "pony", + "name": "Pony", + "brand": "Brute", + "price": 45000, + "category": "vans", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "pony2", + "name": "Pony (Smoke on the water)", + "brand": "Brute", + "price": 45000, + "category": "vans", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "journey2", + "name": "Journey II", + "brand": "Zirconium", + "price": 7000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "surfer3", + "name": "Surfer Custom", + "brand": "BF", + "price": 15000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "speedo5", + "name": "Speedo Custom", + "brand": "Vapid", + "price": 238000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "mule2", + "name": "Mule", + "brand": "Maibatsu", + "price": 40000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "mule3", + "name": "Mule", + "brand": "Maibatsu", + "price": 40000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "taco", + "name": "Taco Truck", + "brand": "Brute", + "price": 45000, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "boxville6", + "name": "Boxville (LSDS)", + "brand": "Brute", + "price": 47500, + "category": "vans", + "type": "automobile", + "shop": [ + "pdm" + ] + }, + { + "model": "bmx", + "name": "BMX", + "brand": "Bike", + "price": 160, + "category": "cycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "cruiser", + "name": "Cruiser", + "brand": "Bike", + "price": 510, + "category": "cycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "fixter", + "name": "Fixter", + "brand": "Bike", + "price": 225, + "category": "cycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "scorcher", + "name": "Scorcher", + "brand": "Bike", + "price": 280, + "category": "cycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "tribike", + "name": "Whippet Race Bike", + "brand": "Bike", + "price": 500, + "category": "cycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "tribike2", + "name": "Endurex Race Bike", + "brand": "Bike", + "price": 700, + "category": "cycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "tribike3", + "name": "Tri-Cycles Race Bike", + "brand": "Bike", + "price": 520, + "category": "cycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "inductor", + "name": "Inductor", + "brand": "Coil", + "price": 5000, + "category": "cycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "inductor2", + "name": "Junk Energy Inductor", + "brand": "Coil", + "price": 5000, + "category": "cycles", + "type": "bike", + "shop": [ + "pdm" + ] + }, + { + "model": "avisa", + "name": "Avisa", + "brand": "Kraken Subs", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "none" + ] + }, + { + "model": "patrolboat", + "name": "Kurtz 31 Patrol Boat", + "brand": "Unknown", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "none" + ] + }, + { + "model": "longfin", + "name": "Longfin", + "brand": "Shitzu", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "tug", + "name": "Tug", + "brand": "Buckingham", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "none" + ] + }, + { + "model": "toro", + "name": "Toro", + "brand": "Lampadati", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "toro2", + "name": "Toro Yacht", + "brand": "Lampadati", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "submersible2", + "name": "Kraken", + "brand": "Kraken Subs", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "none" + ] + }, + { + "model": "speeder", + "name": "Speeder", + "brand": "Pegassi", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "speeder2", + "name": "Speeder Yacht", + "brand": "Pegassi", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "tropic", + "name": "Tropic", + "brand": "Shitzu", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "tropic2", + "name": "Tropic Yacht", + "brand": "Shitzu", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "suntrap", + "name": "Suntrap", + "brand": "Shitzu", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "submersible", + "name": "Submersible", + "brand": "Kraken Subs", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "none" + ] + }, + { + "model": "squalo", + "name": "Squalo", + "brand": "Shitzu", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "seashark", + "name": "Seashark", + "brand": "Speedophile", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "seashark3", + "name": "Seashark Yacht", + "brand": "Speedophile", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "marquis", + "name": "Marquis", + "brand": "Dinka", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "jetmax", + "name": "Jetmax", + "brand": "Shitzu", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "dinghy", + "name": "Dinghy 2-Seater", + "brand": "Nagasaki", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "dinghy2", + "name": "Dinghy 4-Seater", + "brand": "Nagasaki", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "dinghy3", + "name": "Dinghy (Heist)", + "brand": "Nagasaki", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "dinghy4", + "name": "Dinghy Yacht", + "brand": "Nagasaki", + "price": 40000, + "category": "boats", + "type": "boat", + "shop": [ + "boats" + ] + }, + { + "model": "conada2", + "name": "Weaponized Conada", + "brand": "Buckingham", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "conada", + "name": "Conada", + "brand": "Buckingham", + "price": 115000, + "category": "helicopters", + "type": "heli", + "shop": [ + "air" + ] + }, + { + "model": "seasparrow2", + "name": "Sparrow", + "brand": "Unknown", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "air" + ] + }, + { + "model": "annihilator2", + "name": "Annihilator Stealth", + "brand": "Western Company", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "seasparrow", + "name": "Sea Sparrow", + "brand": "Unknown", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "air" + ] + }, + { + "model": "akula", + "name": "Akula", + "brand": "Unknown", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "hunter", + "name": "FH-1 Hunter", + "brand": "Unknown", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "havok", + "name": "Havok", + "brand": "Nagasaki", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "air" + ] + }, + { + "model": "volatus", + "name": "Volatus", + "brand": "Buckingham", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "air" + ] + }, + { + "model": "supervolito2", + "name": "SuperVolito Carbon", + "brand": "Buckingham", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "air" + ] + }, + { + "model": "supervolito", + "name": "SuperVolito", + "brand": "Buckingham", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "air" + ] + }, + { + "model": "swift2", + "name": "Swift Deluxe", + "brand": "Buckingham", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "air" + ] + }, + { + "model": "valkyrie", + "name": "Valkyrie", + "brand": "Buckingham", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "savage", + "name": "Savage", + "brand": "Unknown", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "swift", + "name": "Swift", + "brand": "Buckingham", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "air" + ] + }, + { + "model": "annihilator", + "name": "Annihilator", + "brand": "Western Company", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "cargobob2", + "name": "Cargobob Jetsam", + "brand": "Western Company", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "skylift", + "name": "Skylift", + "brand": "HVY", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "maverick", + "name": "Maverick", + "brand": "Buckingham", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "air" + ] + }, + { + "model": "frogger", + "name": "Frogger", + "brand": "Maibatsu", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "air" + ] + }, + { + "model": "frogger2", + "name": "Frogger", + "brand": "Maibatsu", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "air" + ] + }, + { + "model": "cargobob", + "name": "Cargobob", + "brand": "Western Company", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "cargobob3", + "name": "Cargobob", + "brand": "Western Company", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "seasparrow3", + "name": "Sparrow (Prop)", + "brand": "Unknown", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "buzzard", + "name": "Buzzard Attack Chopper", + "brand": "Nagasaki", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "buzzard2", + "name": "Buzzard", + "brand": "Nagasaki", + "price": 52000, + "category": "helicopters", + "type": "heli", + "shop": [ + "none" + ] + }, + { + "model": "streamer216", + "name": "Streamer216", + "brand": "Mammoth", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "raiju", + "name": "F-160 Raiju", + "brand": "Mammoth", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "alkonost", + "name": "RO-86 Alkonost", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "strikeforce", + "name": "B-11 Strikeforce", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "blimp3", + "name": "Blimp", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "avenger", + "name": "Avenger", + "brand": "Mammoth", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "avenger2", + "name": "Avenger", + "brand": "Mammoth", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "volatol", + "name": "Volatol", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "nokota", + "name": "P-45 Nokota", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "seabreeze", + "name": "Seabreeze", + "brand": "Western Company", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "pyro", + "name": "Pyro", + "brand": "Buckingham", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "mogul", + "name": "Mogul", + "brand": "Mammoth", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "howard", + "name": "Howard NX-25", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "bombushka", + "name": "RM-10 Bombushka", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "molotok", + "name": "V-65 Molotok", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "microlight", + "name": "Ultralight", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "tula", + "name": "Tula", + "brand": "Mammoth", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "rogue", + "name": "Rogue", + "brand": "Western Company", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "starling", + "name": "LF-22 Starling", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "alphaz1", + "name": "Alpha-Z1", + "brand": "Buckingham", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "nimbus", + "name": "Nimbus", + "brand": "Buckingham", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "luxor2", + "name": "Luxor Deluxe", + "brand": "Buckingham", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "velum2", + "name": "Velum 5-seater", + "brand": "JoBuilt", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "hydra", + "name": "Hydra", + "brand": "Mammoth", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "blimp2", + "name": "Xero Blimp", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "dodo", + "name": "Dodo", + "brand": "Mammoth", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "miljet", + "name": "Miljet", + "brand": "Buckingham", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "besra", + "name": "Besra", + "brand": "Western Company", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "vestra", + "name": "Vestra", + "brand": "Buckingham", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "cargoplane", + "name": "Cargo Plane", + "brand": "JoBuilt", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "velum", + "name": "Velum", + "brand": "JoBuilt", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "titan", + "name": "Titan", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "shamal", + "name": "Shamal", + "brand": "Buckingham", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "lazer", + "name": "P-996 Lazer", + "brand": "JoBuilt", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "mammatus", + "name": "Mammatus", + "brand": "JoBuilt", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "stunt", + "name": "Mallard", + "brand": "Western Company", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "luxor", + "name": "Luxor", + "brand": "Buckingham", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "jet", + "name": "Jet", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "duster", + "name": "Duster", + "brand": "Western Company", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "cuban800", + "name": "Cuban 800", + "brand": "Western Company", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "air" + ] + }, + { + "model": "blimp", + "name": "Atomic Blimp", + "brand": "Unknown", + "price": 45000, + "category": "planes", + "type": "plane", + "shop": [ + "none" + ] + }, + { + "model": "brickade", + "name": "Brickade", + "brand": "MTL", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "brickade2", + "name": "Brickade 6x6", + "brand": "MTL", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "pbus2", + "name": "Festival Bus", + "brand": "Unknown", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "wastelander", + "name": "Wastelander", + "brand": "MTL", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "rallytruck", + "name": "Dune", + "brand": "MTL", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "metrotrain", + "name": "Metro Train", + "brand": "Unknown", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "freight", + "name": "Freight Train", + "brand": "Unknown", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "cablecar", + "name": "Cable Car", + "brand": "Unknown", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "trash", + "name": "Trashmaster", + "brand": "JoBuilt", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "trash2", + "name": "Trashmaster", + "brand": "JoBuilt", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "tourbus", + "name": "Tour Bus", + "brand": "Brute", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "taxi", + "name": "Taxi", + "brand": "Vapid", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "rentalbus", + "name": "Rental Shuttle Bus", + "brand": "Brute", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "coach", + "name": "Dashound", + "brand": "Brute", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "bus", + "name": "Bus", + "brand": "Brute", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "airbus", + "name": "Airport Bus", + "brand": "Brute", + "price": 100000, + "category": "service", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "riot", + "name": "Police Riot", + "brand": "Brute", + "price": 100000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "riot2", + "name": "RCV", + "brand": "Unknown", + "price": 100000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "pbus", + "name": "Police Prison Bus", + "brand": "Vapid", + "price": 100000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "police", + "name": "Police Cruiser", + "brand": "Vapid", + "price": 100000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "police2", + "name": "Police Buffalo", + "brand": "Vapid", + "price": 100000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "police3", + "name": "Police Interceptor", + "brand": "Vapid", + "price": 100000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "police4", + "name": "Unmarked Cruiser", + "brand": "Vapid", + "price": 100000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "sheriff", + "name": "Sheriff SUV", + "brand": "Declasse", + "price": 100000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "sheriff2", + "name": "Sheriff Cruiser", + "brand": "Vapid", + "price": 100000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "policeold1", + "name": "Police Rancher", + "brand": "Declasse", + "price": 110000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "policeold2", + "name": "Police Roadcruiser", + "brand": "Albany", + "price": 110000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "policet", + "name": "Police Transporter", + "brand": "Vapid", + "price": 110000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "policeb", + "name": "Police Bike", + "brand": "Vapid", + "price": 110000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "polmav", + "name": "Police Maverick", + "brand": "Buckingham", + "price": 110000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "ambulance", + "name": "Ambulance", + "brand": "Brute", + "price": 110000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "firetruk", + "name": "Fire Truck", + "brand": "MTL", + "price": 110000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "lguard", + "name": "Lifeguard", + "brand": "Declasse", + "price": 110000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "seashark2", + "name": "Seashark Lifeguard", + "brand": "Speedophile", + "price": 40000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "pranger", + "name": "Park Ranger", + "brand": "Declasse", + "price": 40000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "fbi", + "name": "FIB Buffalo", + "brand": "Bravado", + "price": 40000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "fbi2", + "name": "FIB Granger", + "brand": "Declasse", + "price": 40000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "predator", + "name": "Police Predator", + "brand": "Unknown", + "price": 40000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "polgauntlet", + "name": "Gauntlet Interceptor", + "brand": "Bravado", + "price": 40000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "police5", + "name": "Stanier LE Cruiser", + "brand": "Vapid", + "price": 40000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "polimpaler5", + "name": "Impaler SZ Cruiser", + "brand": "Declasse", + "price": 80000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "polimpaler6", + "name": "Impaler LX Cruiser", + "brand": "Declasse", + "price": 90000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "poldominator10", + "name": "Dominator FX Interceptor", + "brand": "Vapid", + "price": 230000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "policet3", + "name": "Burrito (Bail Enforcement)", + "brand": "Declasse", + "price": 60000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "polgreenwood", + "name": "Greenwood Cruiser", + "brand": "Bravado", + "price": 80000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "poldorado", + "name": "Dorado Cruiser", + "brand": "Vapid", + "price": 80000, + "category": "emergency", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "vetir", + "name": "Vetir", + "brand": "Unknown", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "kosatka", + "name": "Kosatka", + "brand": "Rune", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "minitank", + "name": "RC Tank", + "brand": "Unknown", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "scarab", + "name": "Scarab", + "brand": "HVY", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "terbyte", + "name": "Terrorbyte", + "brand": "Benefactor", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "thruster", + "name": "Thruster", + "brand": "Mammoth", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "khanjali", + "name": "TM-02 Khanjali Tank", + "brand": "Unknown", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "chernobog", + "name": "Chernobog", + "brand": "HVY", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "barrage", + "name": "Barrage", + "brand": "HVY", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "trailerlarge", + "name": "Mobile Operations Center", + "brand": "Unknown", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "halftrack", + "name": "Half-track", + "brand": "Bravado", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "apc", + "name": "APC Tank", + "brand": "HVY", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "trailersmall2", + "name": "Anti-Aircraft Trailer", + "brand": "Vom Feuer", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "rhino", + "name": "Rhino Tank", + "brand": "Unknown", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "crusader", + "name": "Crusader", + "brand": "Canis", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "barracks", + "name": "Barracks", + "brand": "HVY", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "barracks2", + "name": "Barracks Semi", + "brand": "HVY", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "barracks3", + "name": "Barracks", + "brand": "HVY", + "price": 100000, + "category": "military", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "cerberus", + "name": "Apocalypse Cerberus", + "brand": "MTL", + "price": 100000, + "category": "commercial", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "pounder2", + "name": "Pounder Custom", + "brand": "MTL", + "price": 55000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "mule4", + "name": "Mule Custom", + "brand": "Maibatsu", + "price": 40000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "phantom3", + "name": "Phantom Custom", + "brand": "Jobuilt", + "price": 110000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "hauler2", + "name": "Hauler Custom", + "brand": "Jobuilt", + "price": 100000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "phantom2", + "name": "Phantom Wedge", + "brand": "Jobuilt", + "price": 100000, + "category": "commercial", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "mule5", + "name": "Mule (Heist)", + "brand": "Maibatsu", + "price": 40000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "stockade", + "name": "Stockade", + "brand": "Brute", + "price": 100000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "pounder", + "name": "Pounder", + "brand": "MTL", + "price": 55000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "phantom", + "name": "Phantom", + "brand": "Jobuilt", + "price": 100000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "packer", + "name": "Packer", + "brand": "MTL", + "price": 100000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "mule", + "name": "Mule", + "brand": "Maibatsu", + "price": 40000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "hauler", + "name": "Hauler", + "brand": "Jobuilt", + "price": 100000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "biff", + "name": "Biff", + "brand": "Brute", + "price": 100000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "benson", + "name": "Benson", + "brand": "Vapid", + "price": 55000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "benson2", + "name": "Benson (Cluckin Bell)", + "brand": "Vapid", + "price": 55000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "phantom4", + "name": "Phantom (Christmas)", + "brand": "Vapid", + "price": 100000, + "category": "commercial", + "type": "automobile", + "shop": [ + "truck" + ] + }, + { + "model": "openwheel2", + "name": "DR1", + "brand": "Declasse", + "price": 100000, + "category": "openwheel", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "openwheel1", + "name": "BR8", + "brand": "Benefactor", + "price": 100000, + "category": "openwheel", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "formula2", + "name": "R88", + "brand": "Ocelot", + "price": 100000, + "category": "openwheel", + "type": "automobile", + "shop": [ + "none" + ] + }, + { + "model": "formula", + "name": "PR4", + "brand": "Progen", + "price": 100000, + "category": "openwheel", + "type": "automobile", + "shop": [ + "none" + ] + } +] \ No newline at end of file diff --git a/shared/json/weapons.json b/shared/json/weapons.json new file mode 100644 index 0000000..902e687 --- /dev/null +++ b/shared/json/weapons.json @@ -0,0 +1,884 @@ +[ + { + "name": "weapon_unarmed", + "label": "Fists", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_dagger", + "label": "Dagger", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Knifed / Stabbed / Eviscerated" + }, + { + "name": "weapon_bat", + "label": "Bat", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_bottle", + "label": "Broken Bottle", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Knifed / Stabbed / Eviscerated" + }, + { + "name": "weapon_crowbar", + "label": "Crowbar", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_flashlight", + "label": "Flashlight", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_golfclub", + "label": "Golfclub", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_hammer", + "label": "Hammer", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_hatchet", + "label": "Hatchet", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Knifed / Stabbed / Eviscerated" + }, + { + "name": "weapon_knuckle", + "label": "Knuckle", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_knife", + "label": "Knife", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Knifed / Stabbed / Eviscerated" + }, + { + "name": "weapon_machete", + "label": "Machete", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Knifed / Stabbed / Eviscerated" + }, + { + "name": "weapon_switchblade", + "label": "Switchblade", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Knifed / Stabbed / Eviscerated" + }, + { + "name": "weapon_nightstick", + "label": "Nightstick", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_wrench", + "label": "Wrench", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_battleaxe", + "label": "Battle Axe", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Knifed / Stabbed / Eviscerated" + }, + { + "name": "weapon_poolcue", + "label": "Poolcue", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_briefcase", + "label": "Briefcase", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_briefcase_02", + "label": "Briefcase", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_garbagebag", + "label": "Garbage Bag", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_handcuffs", + "label": "Handcuffs", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_bread", + "label": "Baquette", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee killed / Whacked / Executed / Beat down / Murdered / Battered" + }, + { + "name": "weapon_stone_hatchet", + "label": "Stone Hatchet", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Knifed / Stabbed / Eviscerated" + }, + { + "name": "weapon_candycane", + "label": "Candy Cane", + "weapontype": "Melee", + "ammotype": null, + "damagereason": "Melee Killed / Whacked / Executed / Beat down / Musrdered / Battered / Candy Caned" + }, + { + "name": "weapon_pistol", + "label": "Pistol", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_pistol_mk2", + "label": "Pistol Mk2", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_combatpistol", + "label": "Combat Pistol", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_appistol", + "label": "AP Pistol", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_stungun", + "label": "Taser", + "weapontype": "Pistol", + "ammotype": "AMMO_STUNGUN", + "damagereason": "Died" + }, + { + "name": "weapon_pistol50", + "label": "Pistol .50 Cal", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_snspistol", + "label": "SNS Pistol", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_snspistol_mk2", + "label": "SNS Pistol MK2", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_heavypistol", + "label": "Heavy Pistol", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_vintagepistol", + "label": "Vintage Pistol", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_flaregun", + "label": "Flare Gun", + "weapontype": "Pistol", + "ammotype": "AMMO_FLARE", + "damagereason": "Died" + }, + { + "name": "weapon_marksmanpistol", + "label": "Marksman Pistol", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_revolver", + "label": "Revolver", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_revolver_mk2", + "label": "Revolver MK2", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_doubleaction", + "label": "Double Action Revolver", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_raypistol", + "label": "Ray Pistol", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_ceramicpistol", + "label": "Ceramic Pistol", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_navyrevolver", + "label": "Navy Revolver", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_gadgetpistol", + "label": "Gadget Pistol", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plugged / Bust a cap in" + }, + { + "name": "weapon_stungun_mp", + "label": "Taser", + "weapontype": "Pistol", + "ammotype": "AMMO_STUNGUN", + "damagereason": "Died" + }, + { + "name": "weapon_pistolxm3", + "label": "Pistol XM3", + "weapontype": "Pistol", + "ammotype": "AMMO_PISTOL", + "damagereason": "Pistoled / Blasted / Plaugged / Bust a cap in" + }, + { + "name": "weapon_microsmg", + "label": "Micro SMG", + "weapontype": "Submachine Gun", + "ammotype": "AMMO_SMG", + "damagereason": "Riddled / Drilled / Finished / Submachine Gunned" + }, + { + "name": "weapon_smg", + "label": "SMG", + "weapontype": "Submachine Gun", + "ammotype": "AMMO_SMG", + "damagereason": "Riddled / Drilled / Finished / Submachine Gunned" + }, + { + "name": "weapon_smg_mk2", + "label": "SMG MK2", + "weapontype": "Submachine Gun", + "ammotype": "AMMO_SMG", + "damagereason": "Riddled / Drilled / Finished / Submachine Gunned" + }, + { + "name": "weapon_assaultsmg", + "label": "Assault SMG", + "weapontype": "Submachine Gun", + "ammotype": "AMMO_SMG", + "damagereason": "Riddled / Drilled / Finished / Submachine Gunned" + }, + { + "name": "weapon_combatpdw", + "label": "Combat PDW", + "weapontype": "Submachine Gun", + "ammotype": "AMMO_SMG", + "damagereason": "Riddled / Drilled / Finished / Submachine Gunned" + }, + { + "name": "weapon_machinepistol", + "label": "Tec-9", + "weapontype": "Submachine Gun", + "ammotype": "AMMO_PISTOL", + "damagereason": "Riddled / Drilled / Finished / Submachine Gunned" + }, + { + "name": "weapon_minismg", + "label": "Mini SMG", + "weapontype": "Submachine Gun", + "ammotype": "AMMO_SMG", + "damagereason": "Riddled / Drilled / Finished / Submachine Gunned" + }, + { + "name": "weapon_raycarbine", + "label": "Raycarbine", + "weapontype": "Submachine Gun", + "ammotype": "AMMO_SMG", + "damagereason": "Riddled / Drilled / Finished / Submachine Gunned" + }, + { + "name": "weapon_pumpshotgun", + "label": "Pump Shotgun", + "weapontype": "Shotgun", + "ammotype": "AMMO_SHOTGUN", + "damagereason": "Devastated / Pulverized / Shotgunned" + }, + { + "name": "weapon_pumpshotgun_mk2", + "label": "Pump Shotgun MK2", + "weapontype": "Shotgun", + "ammotype": "AMMO_SHOTGUN", + "damagereason": "Devastated / Pulverized / Shotgunned" + }, + { + "name": "weapon_sawnoffshotgun", + "label": "Sawn-off Shotgun", + "weapontype": "Shotgun", + "ammotype": "AMMO_SHOTGUN", + "damagereason": "Devastated / Pulverized / Shotgunned" + }, + { + "name": "weapon_assaultshotgun", + "label": "Assault Shotgun", + "weapontype": "Shotgun", + "ammotype": "AMMO_SHOTGUN", + "damagereason": "Devastated / Pulverized / Shotgunned" + }, + { + "name": "weapon_bullpupshotgun", + "label": "Bullpup Shotgun", + "weapontype": "Shotgun", + "ammotype": "AMMO_SHOTGUN", + "damagereason": "Devastated / Pulverized / Shotgunned" + }, + { + "name": "weapon_musket", + "label": "Musket", + "weapontype": "Shotgun", + "ammotype": "AMMO_SHOTGUN", + "damagereason": "Devastated / Pulverized / Shotgunned" + }, + { + "name": "weapon_heavyshotgun", + "label": "Heavy Shotgun", + "weapontype": "Shotgun", + "ammotype": "AMMO_SHOTGUN", + "damagereason": "Devastated / Pulverized / Shotgunned" + }, + { + "name": "weapon_dbshotgun", + "label": "Double-barrel Shotgun", + "weapontype": "Shotgun", + "ammotype": "AMMO_SHOTGUN", + "damagereason": "Devastated / Pulverized / Shotgunned" + }, + { + "name": "weapon_autoshotgun", + "label": "Auto Shotgun", + "weapontype": "Shotgun", + "ammotype": "AMMO_SHOTGUN", + "damagereason": "Devastated / Pulverized / Shotgunned" + }, + { + "name": "weapon_combatshotgun", + "label": "Combat Shotgun", + "weapontype": "Shotgun", + "ammotype": "AMMO_SHOTGUN", + "damagereason": "Devastated / Pulverized / Shotgunned" + }, + { + "name": "weapon_assaultrifle", + "label": "Assault Rifle", + "weapontype": "Assault Rifle", + "ammotype": "AMMO_RIFLE", + "damagereason": "Ended / Rifled / Shot down / Floored" + }, + { + "name": "weapon_assaultrifle_mk2", + "label": "Assault Rifle MK2", + "weapontype": "Assault Rifle", + "ammotype": "AMMO_RIFLE", + "damagereason": "Ended / Rifled / Shot down / Floored" + }, + { + "name": "weapon_carbinerifle", + "label": "Carbine Rifle", + "weapontype": "Assault Rifle", + "ammotype": "AMMO_RIFLE", + "damagereason": "Ended / Rifled / Shot down / Floored" + }, + { + "name": "weapon_carbinerifle_mk2", + "label": "Carbine Rifle MK2", + "weapontype": "Assault Rifle", + "ammotype": "AMMO_RIFLE", + "damagereason": "Ended / Rifled / Shot down / Floored" + }, + { + "name": "weapon_advancedrifle", + "label": "Advanced Rifle", + "weapontype": "Assault Rifle", + "ammotype": "AMMO_RIFLE", + "damagereason": "Ended / Rifled / Shot down / Floored" + }, + { + "name": "weapon_specialcarbine", + "label": "Special Carbine", + "weapontype": "Assault Rifle", + "ammotype": "AMMO_RIFLE", + "damagereason": "Ended / Rifled / Shot down / Floored" + }, + { + "name": "weapon_specialcarbine_mk2", + "label": "Specialcarbine MK2", + "weapontype": "Assault Rifle", + "ammotype": "AMMO_RIFLE", + "damagereason": "Ended / Rifled / Shot down / Floored" + }, + { + "name": "weapon_bullpuprifle", + "label": "Bullpup Rifle", + "weapontype": "Assault Rifle", + "ammotype": "AMMO_RIFLE", + "damagereason": "Ended / Rifled / Shot down / Floored" + }, + { + "name": "weapon_bullpuprifle_mk2", + "label": "Bull Puprifle MK2", + "weapontype": "Assault Rifle", + "ammotype": "AMMO_RIFLE", + "damagereason": "Ended / Rifled / Shot down / Floored" + }, + { + "name": "weapon_compactrifle", + "label": "Compact Rifle", + "weapontype": "Assault Rifle", + "ammotype": "AMMO_RIFLE", + "damagereason": "Ended / Rifled / Shot down / Floored" + }, + { + "name": "weapon_militaryrifle", + "label": "Military Rifle", + "weapontype": "Assault Rifle", + "ammotype": "AMMO_RIFLE", + "damagereason": "Ended / Rifled / Shot down / Floored" + }, + { + "name": "weapon_heavyrifle", + "label": "Heavy Rifle", + "weapontype": "Assault Rifle", + "ammotype": "AMMO_RIFLE", + "damagereason": "Ended / Rifled / Shot down / Floored" + }, + { + "name": "weapon_mg", + "label": "Machinegun", + "weapontype": "Light Machine Gun", + "ammotype": "AMMO_MG", + "damagereason": "Machine gunned / Sprayed / Ruined" + }, + { + "name": "weapon_combatmg", + "label": "Combat MG", + "weapontype": "Light Machine Gun", + "ammotype": "AMMO_MG", + "damagereason": "Machine gunned / Sprayed / Ruined" + }, + { + "name": "weapon_combatmg_mk2", + "label": "Combat MG MK2", + "weapontype": "Light Machine Gun", + "ammotype": "AMMO_MG", + "damagereason": "Machine gunned / Sprayed / Ruined" + }, + { + "name": "weapon_gusenberg", + "label": "Thompson SMG", + "weapontype": "Light Machine Gun", + "ammotype": "AMMO_MG", + "damagereason": "Machine gunned / Sprayed / Ruined" + }, + { + "name": "weapon_sniperrifle", + "label": "Sniper Rifle", + "weapontype": "Sniper Rifle", + "ammotype": "AMMO_SNIPER", + "damagereason": "Sniped / Picked off / Scoped" + }, + { + "name": "weapon_heavysniper", + "label": "Heavy Sniper", + "weapontype": "Sniper Rifle", + "ammotype": "AMMO_SNIPER", + "damagereason": "Sniped / Picked off / Scoped" + }, + { + "name": "weapon_heavysniper_mk2", + "label": "Heavysniper MK2", + "weapontype": "Sniper Rifle", + "ammotype": "AMMO_SNIPER", + "damagereason": "Sniped / Picked off / Scoped" + }, + { + "name": "weapon_marksmanrifle", + "label": "Marksman Rifle", + "weapontype": "Sniper Rifle", + "ammotype": "AMMO_SNIPER", + "damagereason": "Sniped / Picked off / Scoped" + }, + { + "name": "weapon_marksmanrifle_mk2", + "label": "Marksman Rifle MK2", + "weapontype": "Sniper Rifle", + "ammotype": "AMMO_SNIPER", + "damagereason": "Sniped / Picked off / Scoped" + }, + { + "name": "weapon_remotesniper", + "label": "Remote Sniper", + "weapontype": "Sniper Rifle", + "ammotype": "AMMO_SNIPER_REMOTE", + "damagereason": "Sniped / Picked off / Scoped" + }, + { + "name": "weapon_rpg", + "label": "RPG", + "weapontype": "Heavy Weapons", + "ammotype": "AMMO_RPG", + "damagereason": "Killed / Exploded / Obliterated / Destroyed / Erased / Annihilated" + }, + { + "name": "weapon_grenadelauncher", + "label": "Grenade Launcher", + "weapontype": "Heavy Weapons", + "ammotype": "AMMO_GRENADELAUNCHER", + "damagereason": "Killed / Exploded / Obliterated / Destroyed / Erased / Annihilated" + }, + { + "name": "weapon_grenadelauncher_smoke", + "label": "Smoke Grenade Launcher", + "weapontype": "Heavy Weapons", + "ammotype": "AMMO_GRENADELAUNCHER", + "damagereason": "Killed / Exploded / Obliterated / Destroyed / Erased / Annihilated" + }, + { + "name": "weapon_minigun", + "label": "Minigun", + "weapontype": "Heavy Weapons", + "ammotype": "AMMO_MINIGUN", + "damagereason": "Killed / Exploded / Obliterated / Destroyed / Erased / Annihilated" + }, + { + "name": "weapon_firework", + "label": "Firework Launcher", + "weapontype": "Heavy Weapons", + "ammotype": null, + "damagereason": "Killed / Exploded / Obliterated / Destroyed / Erased / Annihilated" + }, + { + "name": "weapon_railgun", + "label": "Railgun", + "weapontype": "Heavy Weapons", + "ammotype": null, + "damagereason": "Killed / Exploded / Obliterated / Destroyed / Erased / Annihilated" + }, + { + "name": "weapon_railgunxm3", + "label": "Railgun XM3", + "weapontype": "Heavy Weapons", + "ammotype": null, + "damagereason": "Killed / Exploded / Obliterated / Destroyed / Erased / Annihilated" + }, + { + "name": "weapon_hominglauncher", + "label": "Homing Launcher", + "weapontype": "Heavy Weapons", + "ammotype": "AMMO_STINGER", + "damagereason": "Killed / Exploded / Obliterated / Destroyed / Erased / Annihilated" + }, + { + "name": "weapon_compactlauncher", + "label": "Compact Launcher", + "weapontype": "Heavy Weapons", + "ammotype": null, + "damagereason": "Killed / Exploded / Obliterated / Destroyed / Erased / Annihilated" + }, + { + "name": "weapon_rayminigun", + "label": "Ray Minigun", + "weapontype": "Heavy Weapons", + "ammotype": "AMMO_MINIGUN", + "damagereason": "Killed / Exploded / Obliterated / Destroyed / Erased / Annihilated" + }, + { + "name": "weapon_emplauncher", + "label": "EMP Launcher", + "weapontype": "Heavy Weapons", + "ammotype": "AMMO_EMPLAUNCHER", + "damagereason": "Died" + }, + { + "name": "weapon_grenade", + "label": "Grenade", + "weapontype": "Throwable", + "ammotype": null, + "damagereason": "Bombed / Exploded / Detonated / Blew up" + }, + { + "name": "weapon_bzgas", + "label": "BZ Gas", + "weapontype": "Throwable", + "ammotype": null, + "damagereason": "Died" + }, + { + "name": "weapon_molotov", + "label": "Molotov", + "weapontype": "Throwable", + "ammotype": null, + "damagereason": "Torched / Flambeed / Barbecued" + }, + { + "name": "weapon_stickybomb", + "label": "C4", + "weapontype": "Throwable", + "ammotype": null, + "damagereason": "Bombed / Exploded / Detonated / Blew up" + }, + { + "name": "weapon_proxmine", + "label": "Proxmine Grenade", + "weapontype": "Throwable", + "ammotype": null, + "damagereason": "Bombed / Exploded / Detonated / Blew up" + }, + { + "name": "weapon_snowball", + "label": "Snowball", + "weapontype": "Throwable", + "ammotype": null, + "damagereason": "Died" + }, + { + "name": "weapon_pipebomb", + "label": "Pipe Bomb", + "weapontype": "Throwable", + "ammotype": null, + "damagereason": "Bombed / Exploded / Detonated / Blew up" + }, + { + "name": "weapon_ball", + "label": "Ball", + "weapontype": "Throwable", + "ammotype": "AMMO_BALL", + "damagereason": "Died" + }, + { + "name": "weapon_smokegrenade", + "label": "Smoke Grenade", + "weapontype": "Throwable", + "ammotype": null, + "damagereason": "Died" + }, + { + "name": "weapon_flare", + "label": "Flare pistol", + "weapontype": "Throwable", + "ammotype": "AMMO_FLARE", + "damagereason": "Died" + }, + { + "name": "weapon_petrolcan", + "label": "Petrol Can", + "weapontype": "Miscellaneous", + "ammotype": "AMMO_PETROLCAN", + "damagereason": "Died" + }, + { + "name": "gadget_parachute", + "label": "Parachute", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Died" + }, + { + "name": "weapon_fireextinguisher", + "label": "Fire Extinguisher", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Died" + }, + { + "name": "weapon_hazardcan", + "label": "Hazardcan", + "weapontype": "Miscellaneous", + "ammotype": "AMMO_PETROLCAN", + "damagereason": "Died" + }, + { + "name": "weapon_fertilizercan", + "label": "Fertilizer Can", + "weapontype": "Miscellaneous", + "ammotype": "AMMO_FERTILIZERCAN", + "damagereason": "Died" + }, + { + "name": "weapon_barbed_wire", + "label": "Barbed Wire", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Prodded" + }, + { + "name": "weapon_drowning", + "label": "Drowning", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Died" + }, + { + "name": "weapon_drowning_in_vehicle", + "label": "Drowning in a Vehicle", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Died" + }, + { + "name": "weapon_bleeding", + "label": "Bleeding", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Bled out" + }, + { + "name": "weapon_electric_fence", + "label": "Electric Fence", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Fried" + }, + { + "name": "weapon_explosion", + "label": "Explosion", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Killed / Exploded / Obliterated / Destroyed / Erased / Annihilated" + }, + { + "name": "weapon_fall", + "label": "Fall", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Committed suicide" + }, + { + "name": "weapon_exhaustion", + "label": "Exhaustion", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Died" + }, + { + "name": "weapon_hit_by_water_cannon", + "label": "Water Cannon", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Died" + }, + { + "name": "weapon_rammed_by_car", + "label": "Rammed - Vehicle", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Flattened / Ran over / Ran down" + }, + { + "name": "weapon_run_over_by_car", + "label": "Run Over - Vehicle", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Flattened / Ran over / Ran down" + }, + { + "name": "weapon_heli_crash", + "label": "Heli Crash", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Helicopter Crash" + }, + { + "name": "weapon_fire", + "label": "Fire", + "weapontype": "Miscellaneous", + "ammotype": null, + "damagereason": "Torched / Flambeed / Barbecued" + }, + { + "name": "weapon_animal", + "label": "Animal", + "weapontype": "Animals", + "ammotype": null, + "damagereason": "Mauled" + }, + { + "name": "weapon_cougar", + "label": "Cougar", + "weapontype": "Animals", + "ammotype": null, + "damagereason": "Mauled" + } +] \ No newline at end of file diff --git a/shared/locale.lua b/shared/locale.lua new file mode 100644 index 0000000..f2dff66 --- /dev/null +++ b/shared/locale.lua @@ -0,0 +1,144 @@ +Locale = {} +Locale.__index = Locale + +local function translateKey(phrase, subs) + if type(phrase) ~= 'string' then + error('TypeError: translateKey function expects arg #1 to be a string') + end + + -- Substituions + if not subs then + return phrase + end + + -- We should be escaping gsub just in case of any + -- shenanigans with nested template patterns or injection + + -- Create and copy our return string + local result = phrase + + -- Initial Scan over result looking for substituions + for k, v in pairs(subs) do + local templateToFind = '%%{' .. k .. '}' + result = result:gsub(templateToFind, tostring(v)) -- string to allow all types + end + + return result +end + +--- Constructor function for a new Locale class instance +--- @param opts table - Constructor opts param +--- @return Locale +function Locale.new(_, opts) + local self = setmetatable({}, Locale) + + self.fallback = opts.fallbackLang and Locale:new({ + warnOnMissing = false, + phrases = opts.fallbackLang.phrases, + }) or false + + self.warnOnMissing = type(opts.warnOnMissing) ~= 'boolean' and true or opts.warnOnMissing + + self.phrases = {} + self:extend(opts.phrases or {}) + + return self +end + +--- Method for extending an instances phrases map. This is also, used +--- internally for initial population of phrases field. +--- @param phrases table - Table of phrase definitions +--- @param prefix string | nil - Optional prefix used for recursive calls +--- @return nil +function Locale:extend(phrases, prefix) + for key, phrase in pairs(phrases) do + local prefixKey = prefix and ('%s.%s'):format(prefix, key) or key + -- If this is a nested table, we need to go reeeeeeeeeeeecursive + if type(phrase) == 'table' then + self:extend(phrase, prefixKey) + else + self.phrases[prefixKey] = phrase + end + end +end + +--- Clear locale instance phrases +--- Might be useful for memory management of large phrase maps. +--- @return nil +function Locale:clear() + self.phrases = {} +end + +--- Clears all phrases and replaces it with the passed phrases table +--- @param phrases table +function Locale:replace(phrases) + phrases = phrases or {} + self:clear() + self:extend(phrases) +end + +--- Gets & Sets a locale depending on if an argument is passed +--- @param newLocale string - Optional new locale to set +--- @return string +function Locale:locale(newLocale) + if (newLocale) then + self.currentLocale = newLocale + end + return self.currentLocale +end + +--- Primary translation method for a phrase of given key +--- @param key string - The phrase key to target +--- @param subs table | nil +--- @return string +function Locale:t(key, subs) + local phrase, result + subs = subs or {} + + -- See if the passed key resolves to a valid phrase string + if type(self.phrases[key]) == 'string' then + phrase = self.phrases[key] + -- At this point we know whether the phrase does not exist for this key + else + if self.warnOnMissing then + print(('^3Warning: Missing phrase for key: "%s"'):format(key)) + end + if self.fallback then + return self.fallback:t(key, subs) + end + result = key + end + + if type(phrase) == 'string' then + result = translateKey(phrase, subs) + end + + return result +end + +--- Check if a phrase key has already been defined within the Locale instance phrase maps. +--- @return boolean +function Locale:has(key) + return self.phrases[key] ~= nil +end + +--- Will remove phrase keys from a Locale instance, using recursion/ +--- @param phraseTarget string | table +--- @param prefix string +function Locale:delete(phraseTarget, prefix) + -- If the target is a string, we know that this is the end + -- of nested table tree. + if type(phraseTarget) == 'string' then + self.phrases[phraseTarget] = nil + else + for key, phrase in pairs(phraseTarget) do + local prefixKey = prefix and prefix .. '.' .. key or key + + if type(phrase) == 'table' then + self:delete(phrase, prefixKey) + else + self.phrases[prefixKey] = nil + end + end + end +end diff --git a/shared/lua/core.lua b/shared/lua/core.lua new file mode 100644 index 0000000..d53b647 --- /dev/null +++ b/shared/lua/core.lua @@ -0,0 +1,46 @@ +QBCore = { + Config = {}, + Shared = { + Jobs = {}, + Gangs = {}, + Items = {}, + Vehicles = {}, + Weapons = {}, + VehicleHashes = {}, + }, + Player = {}, + Players = {}, + PlayerData = {}, + Functions = {}, + ClientCallbacks = {}, + ServerCallbacks = {}, + Player_Buckets = {}, + Entity_Buckets = {}, + UsableItems = {}, + Commands = { + List = {}, + IgnoreList = { + ['god'] = true, + ['user'] = true + } + } +} + +local function GetCoreObject(filters) + if not filters then return QBCore end + local results = {} + for i = 1, #filters do + local key = filters[i] + if QBCore[key] then + results[key] = QBCore[key] + end + end + return results +end + +exports('GetCoreObject', GetCoreObject) +exports('GetSharedItems', function() return QBCore.Shared.Items end) +exports('GetSharedVehicles', function() return QBCore.Shared.Vehicles end) +exports('GetSharedWeapons', function() return QBCore.Shared.Weapons end) +exports('GetSharedJobs', function() return QBCore.Shared.Jobs end) +exports('GetSharedGangs', function() return QBCore.Shared.Gangs end) diff --git a/shared/lua/functions.lua b/shared/lua/functions.lua new file mode 100644 index 0000000..2f6183f --- /dev/null +++ b/shared/lua/functions.lua @@ -0,0 +1,523 @@ +function QBCore.Functions.GetVehicles() + if IsDuplicityVersion() then + return GetAllVehicles() + else + return GetGamePool('CVehicle') + end +end + +function QBCore.Functions.GetObjects() + if IsDuplicityVersion() then + return GetAllObjects() + else + return GetGamePool('CObject') + end +end + +function QBCore.Functions.GetPeds() + if IsDuplicityVersion() then + local pedPool = GetAllPeds() + local peds = {} + + for i = 1, #pedPool do + if NetworkGetEntityOwner(pedPool[i]) == 0 then + table.insert(peds, pedPool[i]) + end + end + + return peds + else + local pedPool = GetGamePool('CPed') + local peds = {} + + for i = 1, #pedPool do + if not IsPedAPlayer(pedPool[i]) then + table.insert(peds, pedPool[i]) + end + end + + return peds + end +end + +function QBCore.Functions.GetPlayers() + if IsDuplicityVersion() then + local sources = {} + for k in pairs(QBCore.Players) do + sources[#sources + 1] = k + end + return sources + else + return GetActivePlayers() + end +end + +function QBCore.Functions.GetCoords(entity) + local coords = GetEntityCoords(entity, false) + local heading = GetEntityHeading(entity) + return vector4(coords.x, coords.y, coords.z, heading) +end + +function QBCore.Functions.HasItem(...) + if GetResourceState('qb-inventory') == 'missing' then return false end + if IsDuplicityVersion() then + local source, items, amount = ... + return exports['qb-inventory']:HasItem(source, items, amount) + else + local items, amount = ... + return exports['qb-inventory']:HasItem(items, amount) + end +end + +function QBCore.Functions.Notify(...) + if IsDuplicityVersion() then + local source, text, texttype, length = ... + TriggerClientEvent('QBCore:Notify', source, text, texttype, length) + else + local text, texttype, length, icon = ... + local message = { + action = 'notify', + type = texttype or 'primary', + length = length or 5000, + } + if type(text) == 'table' then + message.text = text.text or 'Placeholder' + message.caption = text.caption or 'Placeholder' + else + message.text = text + end + if icon then + message.icon = icon + end + SendNUIMessage(message) + end +end + +function QBCore.Functions.SpawnVehicle(...) + if IsDuplicityVersion() then + local source, model, coords, warp = ... + local ped = GetPlayerPed(source) + model = type(model) == 'string' and joaat(model) or model + if not coords then coords = GetEntityCoords(ped) end + local heading = coords.w and coords.w or 0.0 + local veh = CreateVehicle(model, coords.x, coords.y, coords.z, heading, true, true) + while not DoesEntityExist(veh) do Wait(0) end + if warp then + while GetVehiclePedIsIn(ped, false) ~= veh do + Wait(0) + TaskWarpPedIntoVehicle(ped, veh, -1) + end + end + while NetworkGetEntityOwner(veh) ~= source do Wait(0) end + return veh + else + local model, cb, coords, isnetworked, teleportInto = ... + local ped = PlayerPedId() + model = type(model) == 'string' and joaat(model) or model + if not IsModelInCdimage(model) then return end + if coords then + coords = type(coords) == 'table' and vec3(coords.x, coords.y, coords.z) or coords + else + coords = GetEntityCoords(ped) + end + isnetworked = isnetworked == nil or isnetworked + QBCore.Functions.LoadModel(model) + local veh = CreateVehicle(model, coords.x, coords.y, coords.z, coords.w or 0.0, isnetworked, false) + local netid = NetworkGetNetworkIdFromEntity(veh) + SetVehicleHasBeenOwnedByPlayer(veh, true) + SetNetworkIdCanMigrate(netid, true) + SetVehicleNeedsToBeHotwired(veh, false) + SetVehRadioStation(veh, 'OFF') + SetVehicleFuelLevel(veh, 100.0) + SetModelAsNoLongerNeeded(model) + if teleportInto then TaskWarpPedIntoVehicle(PlayerPedId(), veh, -1) end + if cb then cb(veh) end + end +end + +function QBCore.Functions.GetClosestPed(...) + if IsDuplicityVersion() then + local source, coords = ... + local ped = GetPlayerPed(source) + local peds = GetAllPeds() + local closestDistance, closestPed = -1, -1 + + if coords then + coords = type(coords) == 'table' and vector3(coords.x, coords.y, coords.z) or coords + else + coords = GetEntityCoords(ped) + end + + for i = 1, #peds do + if peds[i] ~= ped then + local pedCoords = GetEntityCoords(peds[i]) + local distance = #(pedCoords - coords) + if closestDistance == -1 or closestDistance > distance then + closestPed = peds[i] + closestDistance = distance + end + end + end + return closestPed, closestDistance + else + local coords, ignoreList = ... + local ped = PlayerPedId() + if coords then + coords = type(coords) == 'table' and vec3(coords.x, coords.y, coords.z) or coords + else + coords = GetEntityCoords(ped) + end + + ignoreList = ignoreList or {} + local peds = QBCore.Functions.GetPeds(ignoreList) + local closestDistance, closestPed = -1, -1 + + for i = 1, #peds do + local pedCoords = GetEntityCoords(peds[i]) + local distance = #(pedCoords - coords) + if closestDistance == -1 or closestDistance > distance then + closestPed = peds[i] + closestDistance = distance + end + end + return closestPed, closestDistance + end +end + +function QBCore.Functions.GetClosestVehicle(...) + if IsDuplicityVersion() then + local source, coords = ... + local ped = GetPlayerPed(source) + local vehicles = GetAllVehicles() + local closestDistance, closestVehicle = -1, -1 + + if coords then + coords = type(coords) == 'table' and vector3(coords.x, coords.y, coords.z) or coords + else + coords = GetEntityCoords(ped) + end + + for i = 1, #vehicles do + local vehicleCoords = GetEntityCoords(vehicles[i]) + local distance = #(vehicleCoords - coords) + if closestDistance == -1 or closestDistance > distance then + closestVehicle = vehicles[i] + closestDistance = distance + end + end + return closestVehicle, closestDistance + else + local coords = ... + local ped = PlayerPedId() + local vehicles = GetGamePool('CVehicle') + local closestDistance, closestVehicle = -1, -1 + + if coords then + coords = type(coords) == 'table' and vec3(coords.x, coords.y, coords.z) or coords + else + coords = GetEntityCoords(ped) + end + + for i = 1, #vehicles do + local vehicleCoords = GetEntityCoords(vehicles[i]) + local distance = #(vehicleCoords - coords) + if closestDistance == -1 or closestDistance > distance then + closestVehicle = vehicles[i] + closestDistance = distance + end + end + return closestVehicle, closestDistance + end +end + +function QBCore.Functions.GetClosestObject(...) + if IsDuplicityVersion() then + local source, coords = ... + local ped = GetPlayerPed(source) + local objects = GetAllObjects() + local closestDistance, closestObject = -1, -1 + + if coords then + coords = type(coords) == 'table' and vector3(coords.x, coords.y, coords.z) or coords + else + coords = GetEntityCoords(ped) + end + + for i = 1, #objects do + local objectCoords = GetEntityCoords(objects[i]) + local distance = #(objectCoords - coords) + if closestDistance == -1 or closestDistance > distance then + closestObject = objects[i] + closestDistance = distance + end + end + return closestObject, closestDistance + else + local coords = ... + local ped = PlayerPedId() + local objects = GetGamePool('CObject') + local closestDistance, closestObject = -1, -1 + + if coords then + coords = type(coords) == 'table' and vec3(coords.x, coords.y, coords.z) or coords + else + coords = GetEntityCoords(ped) + end + + for i = 1, #objects do + local objectCoords = GetEntityCoords(objects[i]) + local distance = #(objectCoords - coords) + if closestDistance == -1 or closestDistance > distance then + closestObject = objects[i] + closestDistance = distance + end + end + return closestObject, closestDistance + end +end + +function QBCore.Functions.GetClosestPlayer(...) + if IsDuplicityVersion() then + local source, coords = ... + local ped = GetPlayerPed(source) + local players = GetPlayers() + local closestDistance, closestPlayer = -1, -1 + + if coords then + coords = type(coords) == 'table' and vector3(coords.x, coords.y, coords.z) or coords + else + coords = GetEntityCoords(ped) + end + + for i = 1, #players do + local playerId = players[i] + local playerPed = GetPlayerPed(playerId) + if playerPed ~= ped then + local playerCoords = GetEntityCoords(playerPed) + local distance = #(playerCoords - coords) + if closestDistance == -1 or distance < closestDistance then + closestPlayer = playerId + closestDistance = distance + end + end + end + return closestPlayer, closestDistance + else + local coords = ... + local ped = PlayerPedId() + + if coords then + coords = type(coords) == 'table' and vec3(coords.x, coords.y, coords.z) or coords + else + coords = GetEntityCoords(ped) + end + + local closestPlayers = QBCore.Functions.GetPlayersFromCoords(coords) + local closestDistance, closestPlayer = -1, -1 + + for i = 1, #closestPlayers do + if closestPlayers[i] ~= PlayerId() and closestPlayers[i] ~= -1 then + local pos = GetEntityCoords(GetPlayerPed(closestPlayers[i])) + local distance = #(pos - coords) + if closestDistance == -1 or closestDistance > distance then + closestPlayer = closestPlayers[i] + closestDistance = distance + end + end + end + return closestPlayer, closestDistance + end +end + +local StringCharset = {} +local NumberCharset = {} + +for i = 48, 57 do NumberCharset[#NumberCharset + 1] = string.char(i) end +for i = 65, 90 do StringCharset[#StringCharset + 1] = string.char(i) end +for i = 97, 122 do StringCharset[#StringCharset + 1] = string.char(i) end + +-- String Functions + +function QBCore.Functions.RandomStr(length) + local result = '' + for i = 1, length do + result = result .. StringCharset[math.random(1, #StringCharset)] + end + return result +end + +function QBCore.Functions.SplitStr(str, delimiter) + local result = {} + local from = 1 + local delim_from, delim_to = string.find(str, delimiter, from) + while delim_from do + result[#result + 1] = string.sub(str, from, delim_from - 1) + from = delim_to + 1 + delim_from, delim_to = string.find(str, delimiter, from) + end + result[#result + 1] = string.sub(str, from) + return result +end + +function QBCore.Functions.Trim(value) + if not value then return nil end + return (string.gsub(value, '^%s*(.-)%s*$', '%1')) +end + +function QBCore.Functions.FirstToUpper(value) + if not value then return nil end + return (value:gsub('^%l', string.upper)) +end + +function QBCore.Functions.SplitLines(str) + local lines = {} + for line in str:gmatch('[^\r\n]+') do + table.insert(lines, line) + end + return lines +end + +function QBCore.Functions.NormalizeString(str) + return str:gsub('[^%w]', ''):lower() +end + +-- Number Functions + +function QBCore.Functions.RandomInt(length) + local result = '' + for i = 1, length do + result = result .. NumberCharset[math.random(1, #NumberCharset)] + end + return result +end + +function QBCore.Functions.Round(value, numDecimalPlaces) + if not numDecimalPlaces then return math.floor(value + 0.5) end + local power = 10 ^ numDecimalPlaces + return math.floor((value * power) + 0.5) / (power) +end + +function QBCore.Functions.Clamp(value, min, max) + return math.max(min, math.min(value, max)) +end + +-- Table Functions + +function QBCore.Functions.TableLength(tbl) + local count = 0 + for _ in pairs(tbl) do count = count + 1 end + return count +end + +function QBCore.Functions.ShuffleTable(tbl) + for i = #tbl, 2, -1 do + local j = math.random(1, i) + tbl[i], tbl[j] = tbl[j], tbl[i] + end + return tbl +end + +function QBCore.Functions.DeepCopy(tbl) + if type(tbl) ~= 'table' then return tbl end + local copy = {} + for k, v in pairs(tbl) do + copy[k] = QBCore.Functions.DeepCopy(v) + end + return copy +end + +function QBCore.Functions.ContainsKey(tbl, key) + return tbl[key] ~= nil +end + +function QBCore.Functions.Contains(tbl, value) + for _, v in pairs(tbl) do + if v == value then return true end + end + return false +end + +function QBCore.Functions.MergeTables(tbl1, tbl2) + local merged = QBCore.Functions.DeepCopy(tbl1) + for k, v in pairs(tbl2) do + merged[k] = v + end + return merged +end + +function QBCore.Functions.ReverseTable(tbl) + local reversed = {} + for i = #tbl, 1, -1 do + table.insert(reversed, tbl[i]) + end + return reversed +end + +function QBCore.Functions.RandomWeightedChoice(choices) + local totalWeight = 0 + for _, choice in pairs(choices) do + totalWeight = totalWeight + choice.weight + end + + local rand = math.random() * totalWeight + local cumulative = 0 + + for key, choice in pairs(choices) do + cumulative = cumulative + choice.weight + if rand <= cumulative then return key, choice end + end +end + +function QBCore.Functions.GetRandomElement(tbl) + return tbl[math.random(1, #tbl)] +end + +function QBCore.Functions.PrintTable(tbl, indent) + indent = indent or 0 + if type(tbl) == 'table' then + for k, v in pairs(tbl) do + local tblType = type(v) + local formatting = ('%s ^3%s:^0'):format(string.rep(' ', indent), k) + if tblType == 'table' then + print(formatting) + QBCore.Functions.PrintTable(v, indent + 1) + elseif tblType == 'boolean' then + print(('%s^1 %s ^0'):format(formatting, tostring(v))) + elseif tblType == 'function' then + print(('%s^9 %s ^0'):format(formatting, tostring(v))) + elseif tblType == 'number' then + print(('%s^5 %s ^0'):format(formatting, v)) + elseif tblType == 'string' then + print(("%s ^2'%s' ^0"):format(formatting, v)) + else + print(('%s^2 %s ^0'):format(formatting, tostring(v))) + end + end + else + print(('%s^0 %s'):format(string.rep(' ', indent), tostring(tbl))) + end +end + +function QBCore.Functions.Debug(tbl, indent, resource) + local resource_name = resource or GetInvokingResource() or 'qb-core' + print(('\x1b[4m\x1b[36m[ %s : DEBUG]\x1b[0m'):format(resource_name)) + QBCore.Functions.PrintTable(tbl, indent) + print('\x1b[4m\x1b[36m[ END DEBUG ]\x1b[0m') +end + +function QBCore.Functions.ShowError(resource, msg) + local resource_name = resource or GetInvokingResource() or 'qb-core' + print('\x1b[31m[' .. resource_name .. ':ERROR]\x1b[0m ' .. msg) +end + +function QBCore.Functions.ShowSuccess(resource, msg) + local resource_name = resource or GetInvokingResource() or 'qb-core' + print('\x1b[32m[' .. resource_name .. ':LOG]\x1b[0m ' .. msg) +end + +function QBCore.Functions.IsFunction(value) + if type(value) == 'table' then + return value.__cfx_functionReference ~= nil and type(value.__cfx_functionReference) == 'string' + end + return type(value) == 'function' +end diff --git a/shared/lua/loader.lua b/shared/lua/loader.lua new file mode 100644 index 0000000..4946ac2 --- /dev/null +++ b/shared/lua/loader.lua @@ -0,0 +1,70 @@ +local resourceName = GetCurrentResourceName() + +-- Load Config + +if IsDuplicityVersion() then + local configData = LoadResourceFile(resourceName, 'shared/json/config.json') + if not configData then return print('^1[QBCore] Failed to Load Config JSON File') end + QBCore.Config = json.decode(configData) or {} + print('^2[QBCore] Loaded Config.json') +end + +-- Load Vehicles + +local Vehicles = LoadResourceFile(resourceName, 'shared/json/vehicles.json') +if not Vehicles then return print('^1[QBCore] Failed to Load Vehicles JSON File') end +Vehicles = json.decode(Vehicles) +for i = 1, #Vehicles do + local hash = joaat(Vehicles[i].model) + QBCore.Shared.Vehicles[Vehicles[i].model] = { + spawncode = Vehicles[i].model, + name = Vehicles[i].name, + brand = Vehicles[i].brand, + model = Vehicles[i].model, + price = Vehicles[i].price, + category = Vehicles[i].category, + hash = hash, + type = Vehicles[i].type, + shop = Vehicles[i].shop + } + QBCore.Shared.VehicleHashes[hash] = QBCore.Shared.Vehicles[Vehicles[i].model] +end +print('^2[QBCore] Loaded Vehicles.json') + +-- Load Jobs + +local Jobs = LoadResourceFile(resourceName, 'shared/json/jobs.json') +if not Jobs then return print('^1[QBCore] Failed to Load Jobs JSON File') end +QBCore.Shared.Jobs = json.decode(Jobs) or {} +print('^2[QBCore] Loaded Jobs.json') + +-- Load Gangs + +local Gangs = LoadResourceFile(resourceName, 'shared/json/gangs.json') +if not Gangs then return print('^1[QBCore] Failed to Load Gangs JSON File') end +QBCore.Shared.Gangs = json.decode(Gangs) or {} +print('^2[QBCore] Loaded Gangs.json') + +-- Load Items + +local Items = LoadResourceFile(resourceName, 'shared/json/items.json') +if not Items then return print('^1[QBCore] Failed to Load Items JSON File') end +QBCore.Shared.Items = json.decode(Items) or {} +print('^2[QBCore] Loaded Items.json') + +-- Load Weapons + +local Weapons = LoadResourceFile(resourceName, 'shared/json/weapons.json') +if not Weapons then return print('^1[QBCore] Failed to Load Weapons JSON File') end +Weapons = json.decode(Weapons) +for i = 1, #Weapons do + local weaponHash = joaat(Weapons[i].name) + QBCore.Shared.Weapons[weaponHash] = { + name = Weapons[i].name, + label = Weapons[i].label, + weapontype = Weapons[i].weapontype, + ammotype = Weapons[i].ammotype, + damagereason = Weapons[i].damagereason + } +end +print('^2[QBCore] Loaded Weapons.json')