Merge branch 'main' into chore/vscode

This commit is contained in:
David Malchin
2023-02-14 15:12:49 +02:00
committed by GitHub
9 changed files with 268 additions and 166 deletions
+21 -13
View File
@@ -117,19 +117,6 @@ RegisterNetEvent('QBCore:Command:GoToMarker', function()
end)
-- Vehicle Commands
RegisterNetEvent('QBCore:Client:VehicleInfo', function(info)
local plate = QBCore.Functions.GetPlate(info.vehicle)
local data = {
vehicle = NetToVeh(info.netid),
seat = info.seat,
name = info.modelName,
plate = plate,
driver = GetPedInVehicleSeat(info.vehicle, -1),
inseat = GetPedInVehicleSeat(info.vehicle, info.seat),
haskeys = exports['qb-vehiclekeys']:HasKeys(plate)
}
TriggerEvent('QBCore:Client:'..info.event..'Vehicle', data)
end)
RegisterNetEvent('QBCore:Command:SpawnVehicle', function(vehName)
local ped = PlayerPedId()
@@ -171,6 +158,27 @@ RegisterNetEvent('QBCore:Command:DeleteVehicle', function()
end
end)
RegisterNetEvent('QBCore:Client:VehicleInfo', function(info)
local plate = QBCore.Functions.GetPlate(info.vehicle)
local hasKeys = true
if GetResourceState('qb-vehiclekeys') == 'started' then
hasKeys = exports['qb-vehiclekeys']:HasKeys()
end
local data = {
vehicle = info.vehicle,
seat = info.seat,
name = info.modelName,
plate = plate,
driver = GetPedInVehicleSeat(info.vehicle, -1),
inseat = GetPedInVehicleSeat(info.vehicle, info.seat),
haskeys = hasKeys
}
TriggerEvent('QBCore:Client:'..info.event..'Vehicle', data)
end)
-- Other stuff
RegisterNetEvent('QBCore:Player:SetPlayerData', function(val)
+1 -1
View File
@@ -2,7 +2,7 @@ fx_version 'cerulean'
game 'gta5'
description 'QB-Core'
version '1.2.0'
version '1.2.2'
shared_scripts {
'config.lua',
+105 -5
View File
@@ -7,18 +7,118 @@ local Translations = {
no_access = 'Não tens acesso a este comando',
company_too_poor = 'A tua empresa está falida',
item_not_exist = 'O item não existe',
too_heavy = 'Inventário cheio'
too_heavy = 'Inventário cheio',
location_not_exist = 'Localização não existe',
duplicate_license = 'Licença Rockstar duplicada',
no_valid_license = 'Licença Rockstar não encontrada',
not_whitelisted = 'Não estás na whitelist deste servidor',
server_already_open = 'O Servidor já se encontra aberto',
server_already_closed = 'O Servidor já se encontra fechado',
no_permission = 'Não tem permissões para isto',
no_waypoint = 'Não colocou nenhum waypoint',
tp_error = 'Erro ao teleportar',
connecting_database_error = 'Um erro na base de dados ocorreu enquanto se conecatava ao servidor. (SQL Server Ligado?)',
connecting_database_timeout = 'Falhou a ligação à base de dados. (SQL server Ligado?)',
},
success = {
server_opened = 'O Servidor abriu',
server_closed = 'O Servidor fechou',
teleported_waypoint = 'Teleportado para o waypoint.',
},
success = {},
info = {
received_paycheck = 'Recebeste o pagamento de %{value}€',
job_info = 'Emprego: %{value} | Grau: %{value2} | Serviço: %{value3}',
gang_info = 'Gang: %{value} | Grau: %{value2}',
on_duty = 'Agora estás de serviço!',
off_duty = 'Agora estás fora de serviço!'
}
off_duty = 'Agora estás fora de serviço!',
checking_ban = 'Olá %s. Estamos a verificar se estás banido.',
join_server = 'Bem vindo %s ao {Server Name}.',
checking_whitelisted = 'Bem vindo %s. Estamos a verificiar se estás na whitelist.',
exploit_banned = 'Foste banidos por cheats. Para mais informações visita o nosso discord: %{discord}',
exploit_dropped = 'Foste kickado por cheats!',
},
command = {
tp = {
help = 'TP para jogador ou coordenadas (Apenas Admin)',
params = {
x = { name = 'id/x', help = 'ID do jogador ou posição X'},
y = { name = 'y', help = 'Posição Y'},
z = { name = 'z', help = 'Posição Z'},
},
},
tpm = { help = 'TP para Marcador (Apenas Admin)' },
togglepvp = { help = 'Ligar /Desligar PVP no servidor (Apenas Admin)' },
addpermission = {
help = 'Dar Permissões a jogador (Apenas God)',
params = {
id = { name = 'id', help = 'ID do jogador' },
permission = { name = 'permission', help = 'Nivel de permissão' },
},
},
removepermission = {
help = 'Remover permissão de jogador (Apenas God)',
params = {
id = { name = 'id', help = 'ID do jogador' },
permission = { name = 'permission', help = 'Nivel de permissão' },
},
},
openserver = { help = 'Abrir o Servidor para todos (Apenas Admin)' },
closeserver = {
help = 'Fechar o servidor para todos excepto Admins (Apenas Admin)',
params = {
reason = { name = 'reason', help = 'Razão para fechar(opcional)' },
},
},
car = {
help = 'Spawnar Veículo (Apenas Admin)',
params = {
model = { name = 'model', help = 'Modelo do veículo' },
},
},
dv = { help = 'Apagar Veículo (Apenas Admin)' },
givemoney = {
help = 'Dar dinheiro a jogador (Apenas Admin)',
params = {
id = { name = 'id', help = 'ID do jogador' },
moneytype = { name = 'moneytype', help = 'Tipo (cash, bank, crypto)' },
amount = { name = 'amount', help = 'Quantidade de dinheiro' },
},
},
setmoney = {
help = 'Definir a quantia de dinheiro do jogador (Apenas Admin)',
params = {
id = { name = 'id', help = 'ID do jogador' },
moneytype = { name = 'moneytype', help = 'Tipo(cash, bank, crypto)' },
amount = { name = 'amount', help = 'Quantidade de dinheiro' },
},
},
job = { help = 'Ver o teu trabalho' },
setjob = {
help = 'Definir o trabalho de 1 jogador (Apenas Admin)',
params = {
id = { name = 'id', help = 'ID do jogador' },
job = { name = 'job', help = 'Nome do trabalho' },
grade = { name = 'grade', help = 'Nivel do trabalho' },
},
},
gang = { help = 'Ver o teu Gang' },
setgang = {
help = 'Definir o Gang de um jogador (Apenas Admin)',
params = {
id = { name = 'id', help = 'ID do jogador' },
gang = { name = 'gang', help = 'Nome do Gang' },
grade = { name = 'grade', help = 'Nível/ Posição no Gang' },
},
},
ooc = { help = 'Mensagem Chat em OOC' },
me = {
help = 'Mostrar Mensagem local',
params = {
message = { name = 'message', help = 'Menssagem a enviar' }
},
},
},
}
if GetConvar('qb_locale', 'en') == 'pt' then
Lang = Locale:new({
phrases = Translations,
+3 -19
View File
@@ -168,19 +168,6 @@ RegisterNetEvent('QBCore:UpdatePlayer', function()
Player.Functions.Save()
end)
RegisterNetEvent('QBCore:Server:SetMetaData', function(meta, data)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if not Player then return end
if meta == 'hunger' or meta == 'thirst' then
if data > 100 then
data = 100
end
end
Player.Functions.SetMetaData(meta, data)
TriggerClientEvent('hud:client:UpdateNeeds', src, Player.PlayerData.metadata['hunger'], Player.PlayerData.metadata['thirst'])
end)
RegisterNetEvent('QBCore:ToggleDuty', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
@@ -198,25 +185,23 @@ end)
-- BaseEvents
-- Vehicles
RegisterServerEvent('baseevents:enteringVehicle', function(veh,seat,modelName,netid)
RegisterServerEvent('baseevents:enteringVehicle', function(veh,seat,modelName)
local src = source
local data = {
vehicle = veh,
seat = seat,
name = modelName,
netid = netid,
event = 'Entering'
}
TriggerClientEvent('QBCore:Client:VehicleInfo', src, data)
end)
RegisterServerEvent('baseevents:enteredVehicle', function(veh,seat,modelName,netid)
RegisterServerEvent('baseevents:enteredVehicle', function(veh,seat,modelName)
local src = source
local data = {
vehicle = veh,
seat = seat,
name = modelName,
netid = netid,
event = 'Entered'
}
TriggerClientEvent('QBCore:Client:VehicleInfo', src, data)
@@ -227,13 +212,12 @@ RegisterServerEvent('baseevents:enteringAborted', function()
TriggerClientEvent('QBCore:Client:AbortVehicleEntering', src)
end)
RegisterServerEvent('baseevents:leftVehicle', function(veh,seat,modelName,netid)
RegisterServerEvent('baseevents:leftVehicle', function(veh,seat,modelName)
local src = source
local data = {
vehicle = veh,
seat = seat,
name = modelName,
netid = netid,
event = 'Left'
}
TriggerClientEvent('QBCore:Client:VehicleInfo', src, data)
+13
View File
@@ -414,3 +414,16 @@ end
function QBCore.Functions.Notify(source, text, type, length)
TriggerClientEvent('QBCore:Notify', source, text, type, length)
end
--- SQL Pattern Matching
function QBCore.Functions.PrepForSQL(source,data,pattern)
data = tostring(data)
local src = source
local player = QBCore.Functions.GetPlayer(src)
local result = string.match(data, pattern)
if not result or string.len(result) ~= string.len(data) then
TriggerEvent('qb-log:server:CreateLog', 'anticheat', 'SQL Exploit Attempted', 'red', string.format('%s attempted to exploit SQL!', player.PlayerData.license))
return false
end
return true
end
+4 -1
View File
@@ -1,5 +1,8 @@
QBShared = QBShared or {}
QBShared.ForceJobDefaultDutyAtLogin = true -- true: Force duty state to jobdefaultDuty | false: set duty state from database last saved
QBShared.QBJobsStatus = false -- true: integrate qb-jobs into the whole of qb-core | false: treat qb-jobs as an add-on resource.
QBShared.Jobs = {} -- All of below has been migrated into qb-jobs
if QBShared.QBJobsStatus then return end
QBShared.Jobs = {
['unemployed'] = {
label = 'Civilian',
@@ -125,7 +128,7 @@ QBShared.Jobs = {
},
},
},
['bus'] = {
['bus'] = {
label = 'Bus',
defaultDuty = true,
offDutyPay = false,
+4 -4
View File
@@ -30,10 +30,10 @@ end
--- Constructor function for a new Locale class instance
--- @param opts table<string, any> - Constructor opts param
--- @return Locale
function Locale:new(opts)
setmetatable(self, Locale)
function Locale.new(_, opts)
local self = setmetatable({}, Locale)
self.fallback = opts.fallbackLang and Locale.new({}, {
self.fallback = opts.fallbackLang and Locale:new({
warnOnMissing = false,
phrases = opts.fallbackLang.phrases,
}) or false
@@ -142,4 +142,4 @@ function Locale:delete(phraseTarget, prefix)
end
end
end
end
end
+1 -12
View File
@@ -10,33 +10,25 @@ QBShared.Locations = {
['pizzaria'] = vector4(790.4561, -758.4601, 26.7424, 270.2329),
['catcafe'] = vector4(-580.8388, -1072.7872, 22.3296, 359.0078),
['carmeet'] = vector4(958.8237, -1699.6659, 29.5574, 71.2731),
['davispd'] = vector4(382.5791, -1591.1827, 29.2828, 145.0991),
['popsdiner'] = vector4(1595.9753, 6448.6421, 25.3170, 28.3026),
['davisfirestation'] = vector4(216.7576, -1638.3801, 29.5151, 137.8174),
['harmony'] = vector4(1183.0693, 2648.5313, 37.8363, 194.0603),
['haters'] = vector4(-1117.1525, -1439.4297, 5.1075, 103.4411),
['hayes'] = vector4(-1435.7040, -445.7360, 35.5964, 220.1762),
['pdm'] = vector4(-48.2113, -1105.4769, 27.2634, 339.5899),
['bennys'] = vector4(-47.5289, -1042.6086, 28.3532, 247.9748),
['impound'] = vector4(-190.5874, -1156.1343, 23.0482, 158.9385),
['lamesaauto'] = vector4(720.4776, -1092.1934, 22.2866, 310.1469),
['lamesapd'] = vector4(824.3735, -1290.0670, 28.2364, 266.1293),
['lostmc'] = vector4(982.6339, -104.7095, 74.8488, 30.8738),
['pillbox'] = vector4(298.1153, -584.2825, 43.2609, 252.7553),
['mrpd'] = vector4(432.0686, -981.6853, 30.7119, 267.3501),
['mirrorparkhouse1'] = vector4(945.9535, -652.9119, 58.0228, 90.5541),
['pacificbank'] = vector4(229.9529, 214.3890, 105.5561, 294.6791),
['paletoliquor'] = vector4(-154.2287, 6328.8682, 31.5665, 133.1992),
['paletopd'] = vector4(-436.0935, 6015.2026, 31.4892, 132.9752),
['paletogasstation'] = vector4(120.2420, 6625.4722, 31.9580, 36.5687),
['pinkcage'] = vector4(323.9055, -203.2524, 54.0866, 186.8505),
['ponsonbys1'] = vector4(-165.2497, -304.3988, 38.07126, 0.0),
['ponsonbys2'] = vector4(-1448.1, -236.8420, 48.15098, 0.0),
['ponsonbys3'] = vector4(-709.8120, -150.6267, 35.75312, 0.0),
['prison'] = vector4(1847.1284, 2586.0696, 45.6726, 91.7828),
['rangerstation'] = vector4(387.3204, 790.1508, 187.6927, 4.7656),
['recordastudio'] = vector4(473.3006, -109.4360, 62.7418, 350.8488),
['sandypd'] = vector4(1839.7510, 3667.9907, 33.8787, 29.1744),
['suburban1'] = vector4(124.9756, -217.6290, 55.81879, 0.0),
['suburban2'] = vector4(617.4776, 2757.4810, 43.34935, 0.0),
['suburban3'] = vector4(-1195.8690, -773.5746, 18.58485, 0.0),
@@ -51,8 +43,5 @@ QBShared.Locations = {
-- Unclejust
['digitalden'] = vector4(-656.28, -849.92, 24.51, 167.42),
['ifruitstore1'] = vector4(-646.78, -288.17, 35.49, 297.73),
['ifruitstore2'] = vector4(-778.7451, -598.2717, 30.2772, 181.0197),
['taxijob'] = vector4(908.7, -166.45, 74.13, 54.88),
['vineyard'] = vector4(-1892.29, 2038.47, 140.86, 339.23),
['weazelnews'] = vector4(-604.82, -933.22, 23.86, 292.3),
['ifruitstore2'] = vector4(-778.7451, -598.2717, 30.2772, 181.0197)
}
+116 -111
View File
@@ -1,17 +1,16 @@
QBShared = QBShared or {}
QBShared.VehicleHashes = {}
QBShared.Vehicles = {
--- Compacts
['asbo'] = {
['name'] = 'Asbo',
['brand'] = 'Maxwell',
['model'] = 'asbo',
['price'] = 4000,
['category'] = 'compacts',
['categoryLabel'] = 'Compacts',
['hash'] = `asbo`,
['shop'] = {'pdm'},
['asbo'] = { -- This has to match the spawn code of the vehicle
['name'] = 'Asbo', -- This is the display of the vehicle
['brand'] = 'Maxwell', -- This is the vehicle's brand (Ford, Chevrolet, BMW, Mercedes, etc)
['model'] = 'asbo', -- This must match the spawn code of the vehicle
['price'] = 4000, -- The price that the vehicle sells for
['category'] = 'compacts', -- This must match "VehicleClass" in vehicles.meta for the vehicle and must also exist in https://docs.fivem.net/natives/?_0x29439776AAA00A62
['categoryLabel'] = 'Compacts', -- Customize for your Vehicle Shop headings (can even include spaces)
['hash'] = `asbo`, -- This has to match the spawn code of the vehicle and must be surrounded by backticks. Example of a Backtick: `
['shop'] = 'pdm', -- Can be a single shop or multiple shops. For multiple shops for example {'shopname1','shopname2','shopname3'}
},
['blista'] = {
['name'] = 'Blista',
@@ -104,7 +103,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['issi5'] = { --DLC
['name'] = 'Issi Arena',
['name'] = 'Issi Future Shock',
['brand'] = 'Weeny',
['model'] = 'issi5',
['price'] = 80000,
@@ -114,7 +113,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['issi6'] = { --DLC
['name'] = 'Issi Arena',
['name'] = 'Issi Nightmare',
['brand'] = 'Weeny',
['model'] = 'issi6',
['price'] = 80000,
@@ -236,7 +235,7 @@ QBShared.Vehicles = {
},
['oracle'] = {
['name'] = 'Oracle',
['brand'] = 'Ubermacht',
['brand'] = 'Übermacht',
['model'] = 'oracle',
['price'] = 22000,
['category'] = 'sedans',
@@ -346,11 +345,11 @@ QBShared.Vehicles = {
},
['zeno'] = { --DLC +set sv_enforceGameBuild 2545
['name'] = 'Zeno',
['brand'] = 'Overflod',
['brand'] = 'Överflöd',
['model'] = 'zeno',
['price'] = 1350000,
['category'] = 'coupes',
['categoryLabel'] = 'Coupes',
['category'] = 'super',
['categoryLabel'] = 'Super',
['hash'] = `zeno`,
['shop'] = 'pdm',
},
@@ -396,7 +395,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['tribike'] = {
['name'] = 'Tri Bike',
['name'] = 'Whippet Race Bike',
['brand'] = 'Bike',
['model'] = 'tribike',
['price'] = 500,
@@ -406,7 +405,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['tribike2'] = {
['name'] = 'Tri Bike 2',
['name'] = 'Endurex Race Bike',
['brand'] = 'Bike',
['model'] = 'tribike2',
['price'] = 700,
@@ -416,7 +415,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['tribike3'] = {
['name'] = 'Tri Bike 3',
['name'] = 'Tri-Cycles Race Bike',
['brand'] = 'Bike',
['model'] = 'tribike3',
['price'] = 520,
@@ -547,8 +546,8 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['deathbike'] = { --DLC
['name'] = 'deathbike',
['brand'] = 'deathbike',
['name'] = 'Deathbike Apocalypse',
['brand'] = 'Deathbike',
['model'] = 'deathbike',
['price'] = 30000,
['category'] = 'motorcycles',
@@ -557,8 +556,8 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['deathbike2'] = { --DLC
['name'] = 'deathbike2',
['brand'] = 'deathbike',
['name'] = 'Deathbike Future Shock',
['brand'] = 'Deathbike',
['model'] = 'deathbike2',
['price'] = 30000,
['category'] = 'motorcycles',
@@ -567,8 +566,8 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['deathbike3'] = { --DLC
['name'] = 'deathbike3',
['brand'] = 'deathbike',
['name'] = 'Deathbike Nightmare',
['brand'] = 'Deathbike',
['model'] = 'deathbike3',
['price'] = 30000,
['category'] = 'motorcycles',
@@ -837,7 +836,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['shotaro'] = {
['name'] = 'Shotaro Concept',
['name'] = 'Shotaro',
['brand'] = 'Nagasaki',
['model'] = 'shotaro',
['price'] = 320000,
@@ -937,7 +936,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['manchez2'] = {
['name'] = 'Manchez',
['name'] = 'Manchez Scout',
['brand'] = 'Maibatsu',
['model'] = 'manchez2',
['price'] = 14000,
@@ -1118,7 +1117,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['dukes2'] = {
['name'] = 'Dukes Nightrider',
['name'] = 'Duke O\'Death',
['brand'] = 'Imponte',
['model'] = 'dukes2',
['price'] = 60000,
@@ -1258,7 +1257,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['impaler'] = { --DLC
['name'] = 'impaler',
['name'] = 'Impaler',
['brand'] = 'Vapid',
['model'] = 'impaler',
['price'] = 95000,
@@ -1268,7 +1267,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['impaler2'] = { --DLC
['name'] = 'impaler2',
['name'] = 'Impaler Arena',
['brand'] = 'Vapid',
['model'] = 'impaler2',
['price'] = 95000,
@@ -1278,7 +1277,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['impaler3'] = { --DLC
['name'] = 'impaler3',
['name'] = 'Impaler Future Shock',
['brand'] = 'Vapid',
['model'] = 'impaler3',
['price'] = 95000,
@@ -1288,7 +1287,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['impaler4'] = { --DLC
['name'] = 'impaler4',
['name'] = 'Impaler Nightmare',
['brand'] = 'Vapid',
['model'] = 'impaler4',
['price'] = 95000,
@@ -1298,7 +1297,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['imperator'] = { --DLC
['name'] = 'imperator',
['name'] = 'Imperator Arena',
['brand'] = 'Vapid',
['model'] = 'imperator',
['price'] = 95000,
@@ -1308,7 +1307,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['imperator2'] = { --DLC
['name'] = 'imperator2',
['name'] = 'imperator Future Shock',
['brand'] = 'Vapid',
['model'] = 'imperator2',
['price'] = 95000,
@@ -1318,7 +1317,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['imperator3'] = { --DLC
['name'] = 'imperator3',
['name'] = 'Imperator Nightmare',
['brand'] = 'Vapid',
['model'] = 'imperator3',
['price'] = 95000,
@@ -1328,7 +1327,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['lurcher'] = {
['name'] = 'Gauntlet Classic Custom',
['name'] = 'Lurcher',
['brand'] = 'Bravado',
['model'] = 'lurcher',
['price'] = 21000,
@@ -1398,7 +1397,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['ratloader2'] = {
['name'] = 'ratloader2',
['name'] = 'Ratloader',
['brand'] = 'Ratloader2',
['model'] = 'ratloader2',
['price'] = 20000,
@@ -1428,7 +1427,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['sabregt'] = {
['name'] = 'Sabre Turbo',
['name'] = 'Sabre GT Turbo',
['brand'] = 'Declasse',
['model'] = 'sabregt',
['price'] = 23000,
@@ -1438,7 +1437,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['sabregt2'] = {
['name'] = 'Sabre GT',
['name'] = 'Sabre GT Turbo Custom',
['brand'] = 'Declasse',
['model'] = 'sabregt2',
['price'] = 26500,
@@ -1558,7 +1557,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['virgo3'] = {
['name'] = 'Virgo Custom Classic',
['name'] = 'Virgo Classic',
['brand'] = 'Dundreary',
['model'] = 'virgo3',
['price'] = 21000,
@@ -1820,7 +1819,7 @@ QBShared.Vehicles = {
},
['rebel2'] = {
['name'] = 'Rebel',
['brand'] = 'Annis',
['brand'] = 'Vapid',
['model'] = 'rebel2',
['price'] = 20000,
['category'] = 'offroad',
@@ -1839,8 +1838,8 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['sandking'] = {
['name'] = 'Sandking',
['brand'] = 'Annis',
['name'] = 'Sandking XL',
['brand'] = 'Vapid',
['price'] = 25000,
['category'] = 'offroad',
['categoryLabel'] = 'Off Road',
@@ -1850,7 +1849,7 @@ QBShared.Vehicles = {
},
['sandking2'] = {
['name'] = 'Sandking SWB',
['brand'] = 'Annis',
['brand'] = 'Vapid',
['price'] = 38000,
['category'] = 'offroad',
['categoryLabel'] = 'Off Road',
@@ -1860,7 +1859,7 @@ QBShared.Vehicles = {
},
['trophytruck'] = {
['name'] = 'Trophy Truck',
['brand'] = 'Annis',
['brand'] = 'Vapid',
['price'] = 60000,
['category'] = 'offroad',
['categoryLabel'] = 'Off Road',
@@ -1869,8 +1868,8 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['trophytruck2'] = {
['name'] = 'Trophy Truck Limited',
['brand'] = 'Annis',
['name'] = 'Desert Raid',
['brand'] = 'Vapid',
['price'] = 80000,
['category'] = 'offroad',
['categoryLabel'] = 'Off Road',
@@ -1920,7 +1919,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['baller2'] = {
['name'] = 'Baller',
['name'] = 'Baller II',
['brand'] = 'Gallivanter',
['model'] = 'baller2',
['price'] = 15000,
@@ -1990,7 +1989,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['cavalcade2'] = {
['name'] = 'Cavalcade',
['name'] = 'Cavalcade II',
['brand'] = 'Albany',
['model'] = 'cavalcade2',
['price'] = 16500,
@@ -2020,7 +2019,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['dubsta2'] = {
['name'] = 'Dubsta Luxuary',
['name'] = 'Dubsta Luxury',
['brand'] = 'Benefactor',
['model'] = 'dubsta2',
['price'] = 19500,
@@ -2129,6 +2128,16 @@ QBShared.Vehicles = {
['hash'] = `patriot`,
['shop'] = 'pdm',
},
['patriot2'] = {
['name'] = 'Patriot Stretch',
['brand'] = 'Mammoth',
['model'] = 'patriot2',
['price'] = 21000,
['category'] = 'suvs',
['categoryLabel'] = 'SUVs',
['hash'] = `patriot2`,
['shop'] = 'pdm',
},
['radi'] = {
['name'] = 'Radius',
['brand'] = 'Vapid',
@@ -2291,7 +2300,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['glendale2'] = {
['name'] = 'Glendale',
['name'] = 'Glendale Custom',
['brand'] = 'Benefactor',
['model'] = 'glendale2',
['price'] = 12000,
@@ -2481,8 +2490,8 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['astron'] = { --DLC +set sv_enforceGameBuild 2545
['name'] = 'Pfister',
['brand'] = 'Astron',
['name'] = 'Astron',
['brand'] = 'Pfister',
['model'] = 'astron',
['price'] = 150000,
['category'] = 'sedans',
@@ -2531,12 +2540,12 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['patriot3'] = { --DLC +set sv_enforceGameBuild 2545
['name'] = 'Patriot',
['name'] = 'Patriot Military',
['brand'] = 'Mil-Spec',
['model'] = 'patriot3',
['price'] = 270000,
['category'] = 'sedans',
['categoryLabel'] = 'Sedans',
['category'] = 'suvs',
['categoryLabel'] = 'SUVs',
['hash'] = `patriot3`,
['shop'] = 'pdm',
},
@@ -2793,7 +2802,7 @@ QBShared.Vehicles = {
},
['imorgon'] = {
['name'] = 'Imorgon',
['brand'] = 'Overflod',
['brand'] = 'Överflöd',
['model'] = 'imorgon',
['price'] = 120000,
['category'] = 'sports',
@@ -3053,7 +3062,7 @@ QBShared.Vehicles = {
},
['revolter'] = {
['name'] = 'Revolter',
['brand'] = 'Ubermacht',
['brand'] = 'Übermacht',
['model'] = 'revolter',
['price'] = 95000,
['category'] = 'sports',
@@ -3332,7 +3341,7 @@ QBShared.Vehicles = {
['shop'] = 'luxury',
},
['vectre'] = { --DLC +set sv_enforceGameBuild 2372
['name'] = 'Emperor Vectre',
['name'] = 'Vectre',
['brand'] = 'Emperor',
['model'] = 'vectre',
['price'] = 80000,
@@ -3343,7 +3352,7 @@ QBShared.Vehicles = {
},
['cypher'] = { --DLC +set sv_enforceGameBuild 2372
['name'] = 'Cypher',
['brand'] = 'Ubermacht',
['brand'] = 'Übermacht',
['model'] = 'cypher',
['price'] = 155000,
['category'] = 'sports',
@@ -3603,7 +3612,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['rapidgt3'] = {
['name'] = 'Rapid GT',
['name'] = 'Rapid GT Classic',
['brand'] = 'Dewbauchee',
['model'] = 'rapidgt3',
['price'] = 90000,
@@ -3703,7 +3712,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['tornado2'] = {
['name'] = 'Tornado Gang',
['name'] = 'Tornado Convertible',
['brand'] = 'Declasse',
['model'] = 'tornado2',
['price'] = 22000,
@@ -3934,7 +3943,7 @@ QBShared.Vehicles = {
['shop'] = 'luxury',
},
['italigtb2'] = {
['name'] = 'Itali GTB',
['name'] = 'Itali GTB Custom',
['brand'] = 'Progen',
['model'] = 'italigtb2',
['price'] = 250000,
@@ -4405,7 +4414,7 @@ QBShared.Vehicles = {
['shop'] = 'pdm',
},
['youga4'] = { --DLC +set sv_enforceGameBuild 2545
['name'] = 'Youga',
['name'] = 'Youga Custom',
['brand'] = 'Bravado',
['model'] = 'youga4',
['price'] = 85000,
@@ -4477,7 +4486,7 @@ QBShared.Vehicles = {
['shop'] = 'boats',
},
['seashark2'] = {
['name'] = 'Seashark',
['name'] = 'Seashark Lifeguard',
['brand'] = 'Speedophile',
['model'] = 'seashark2',
['price'] = 40000,
@@ -4487,7 +4496,7 @@ QBShared.Vehicles = {
['shop'] = 'boats',
},
['seashark3'] = {
['name'] = 'Seashark',
['name'] = 'Seashark Yacht',
['brand'] = 'Speedophile',
['model'] = 'seashark3',
['price'] = 40000,
@@ -4497,8 +4506,8 @@ QBShared.Vehicles = {
['shop'] = 'boats',
},
['jetmax'] = {
['name'] = 'Shitzu',
['brand'] = 'Jetmax',
['name'] = 'Jetmax',
['brand'] = 'Shitzu',
['model'] = 'jetmax',
['price'] = 40000,
['category'] = 'boats',
@@ -4507,8 +4516,8 @@ QBShared.Vehicles = {
['shop'] = 'boats',
},
['tropic'] = {
['name'] = 'Shitzu',
['brand'] = 'Tropic',
['name'] = 'Tropic',
['brand'] = 'Shitzu',
['model'] = 'tropic',
['price'] = 40000,
['category'] = 'boats',
@@ -4517,8 +4526,8 @@ QBShared.Vehicles = {
['shop'] = 'boats',
},
['tropic2'] = {
['name'] = 'Shitzu',
['brand'] = 'Tropic',
['name'] = 'Tropic Yacht',
['brand'] = 'Shitzu',
['model'] = 'tropic2',
['price'] = 40000,
['category'] = 'boats',
@@ -4527,8 +4536,8 @@ QBShared.Vehicles = {
['shop'] = 'boats',
},
['dinghy'] = {
['name'] = 'Nagasaki',
['brand'] = 'Dinghy',
['name'] = 'Dinghy 2-Seater',
['brand'] = 'Nagasaki',
['model'] = 'dinghy',
['price'] = 40000,
['category'] = 'boats',
@@ -4537,8 +4546,8 @@ QBShared.Vehicles = {
['shop'] = 'boats',
},
['dinghy2'] = {
['name'] = 'Nagasaki',
['brand'] = 'Dinghy',
['name'] = 'Dinghy 4-Seater',
['brand'] = 'Nagasaki',
['model'] = 'dinghy2',
['price'] = 40000,
['category'] = 'boats',
@@ -4547,8 +4556,8 @@ QBShared.Vehicles = {
['shop'] = 'boats',
},
['dinghy3'] = {
['name'] = 'Nagasaki',
['brand'] = 'Dinghy',
['name'] = 'Dinghy (Heist)',
['brand'] = 'Nagasaki',
['model'] = 'dinghy3',
['price'] = 40000,
['category'] = 'boats',
@@ -4557,8 +4566,8 @@ QBShared.Vehicles = {
['shop'] = 'boats',
},
['dinghy4'] = {
['name'] = 'Nagasaki',
['brand'] = 'Dinghy',
['name'] = 'Dinghy Yacht',
['brand'] = 'Nagasaki',
['model'] = 'dinghy4',
['price'] = 40000,
['category'] = 'boats',
@@ -4567,8 +4576,8 @@ QBShared.Vehicles = {
['shop'] = 'boats',
},
['suntrap'] = {
['name'] = 'Shitzu',
['brand'] = 'Suntrap',
['name'] = 'Suntrap',
['brand'] = 'Shitzu',
['model'] = 'suntrap',
['price'] = 40000,
['category'] = 'boats',
@@ -4587,7 +4596,7 @@ QBShared.Vehicles = {
['shop'] = 'boats',
},
['speeder2'] = {
['name'] = 'Speeder',
['name'] = 'Speeder Yacht',
['brand'] = 'Pegassi',
['model'] = 'speeder2',
['price'] = 40000,
@@ -4617,7 +4626,7 @@ QBShared.Vehicles = {
['shop'] = 'boats',
},
['toro2'] = {
['name'] = 'Toro',
['name'] = 'Toro Yacht',
['brand'] = 'Lampadati',
['model'] = 'toro2',
['price'] = 40000,
@@ -4648,7 +4657,7 @@ QBShared.Vehicles = {
['shop'] = 'air',
},
['frogger2'] = {
['name'] = 'Frogger',
['name'] = 'Frogger (Trevor Philips Enterprises)',
['brand'] = 'Unknown',
['model'] = 'frogger2',
['price'] = 52000,
@@ -4678,7 +4687,7 @@ QBShared.Vehicles = {
['shop'] = 'air',
},
['swift2'] = {
['name'] = 'Swift',
['name'] = 'Swift Deluxe',
['brand'] = 'Buckingham',
['model'] = 'swift2',
['price'] = 52000,
@@ -4708,7 +4717,7 @@ QBShared.Vehicles = {
['shop'] = 'air',
},
['seasparrow3'] = {
['name'] = 'Sparrow',
['name'] = 'Sparrow (Prop)',
['brand'] = 'Unknown',
['model'] = 'seasparrow3',
['price'] = 52000,
@@ -4819,7 +4828,7 @@ QBShared.Vehicles = {
['shop'] = 'air',
},
['velum2'] = {
['name'] = 'Velum',
['name'] = 'Velum 5-Seater',
['brand'] = 'Unknown',
['model'] = 'velum2',
['price'] = 45000,
@@ -4980,8 +4989,8 @@ QBShared.Vehicles = {
},
['rhinehart'] = {
['name'] = 'Rhinehart',
['brand'] = 'Ubermacht',
['model'] = 'rhinehart ',
['brand'] = 'Übermacht',
['model'] = 'rhinehart',
['price'] = 105000,
['category'] = 'sedans',
['categoryLabel'] = 'Sedans',
@@ -5000,7 +5009,7 @@ QBShared.Vehicles = {
},
['sentinel4'] = {
['name'] = 'Sentinel Classic Widebody',
['brand'] = 'Ubermacht',
['brand'] = 'Übermacht',
['model'] = 'sentinel4',
['price'] = 140000,
['category'] = 'sports',
@@ -5075,7 +5084,7 @@ QBShared.Vehicles = {
['price'] = 100000,
['category'] = 'commercial',
["categoryLabel"] = 'Commercial',
['hash'] = `Hauler`,
['hash'] = `hauler`,
['shop'] = 'truck',
},
['packer'] = {
@@ -5089,7 +5098,7 @@ QBShared.Vehicles = {
['shop'] = 'truck',
},
['stockade'] = {
['name'] = 'stockade',
['name'] = 'Stockade',
['brand'] = 'Brute',
['model'] = 'stockade',
['price'] = 100000,
@@ -5099,7 +5108,7 @@ QBShared.Vehicles = {
['shop'] = 'truck',
},
['biff'] = {
['name'] = 'biff',
['name'] = 'Biff',
['brand'] = 'Brute',
['model'] = 'biff',
['price'] = 100000,
@@ -5115,7 +5124,7 @@ QBShared.Vehicles = {
['price'] = 100000,
['category'] = 'commercial',
["categoryLabel"] = 'Commercial',
['hash'] = `Phantom`,
['hash'] = `phantom`,
['shop'] = 'truck',
},
['phantom3'] = {
@@ -5125,7 +5134,7 @@ QBShared.Vehicles = {
['price'] = 110000,
['category'] = 'commercial',
["categoryLabel"] = 'Commercial',
['hash'] = `Phantom Custom`,
['hash'] = `phantom3`,
['shop'] = 'truck',
},
['benson'] = {
@@ -5199,7 +5208,7 @@ QBShared.Vehicles = {
['shop'] = 'truck',
},
['boxville'] = {
['name'] = 'Boxville',
['name'] = 'Boxville LSDWP',
['brand'] = 'Brute',
['model'] = 'boxville',
['price'] = 45000,
@@ -5209,7 +5218,7 @@ QBShared.Vehicles = {
['shop'] = 'truck',
},
['boxville2'] = {
['name'] = 'Boxville2',
['name'] = 'Boxville Go Postal',
['brand'] = 'Brute',
['model'] = 'boxville2',
['price'] = 45000,
@@ -5219,7 +5228,7 @@ QBShared.Vehicles = {
['shop'] = 'truck',
},
['boxville3'] = {
['name'] = 'Boxville3',
['name'] = 'Boxville Humane Labs',
['brand'] = 'Brute',
['model'] = 'boxville3',
['price'] = 45000,
@@ -5229,7 +5238,7 @@ QBShared.Vehicles = {
['shop'] = 'truck',
},
['boxville4'] = {
['name'] = 'Boxville4',
['name'] = 'Boxville Post OP',
['brand'] = 'Brute',
['model'] = 'boxville4',
['price'] = 45000,
@@ -5245,7 +5254,7 @@ QBShared.Vehicles = {
['price'] = 45000,
['category'] = 'vans',
["categoryLabel"] = 'Vans',
['hash'] = `boxville4`,
['hash'] = `boxville5`,
['shop'] = 'truck',
},
['pony'] = {
@@ -5259,7 +5268,7 @@ QBShared.Vehicles = {
['shop'] = 'truck',
},
['pony2'] = {
['name'] = 'Pony 2',
['name'] = 'Pony (Smoke on the water)',
['brand'] = 'Brute',
['model'] = 'pony2',
['price'] = 45000,
@@ -5309,7 +5318,7 @@ QBShared.Vehicles = {
['shop'] = 'truck',
},
['dump'] = {
['name'] = 'HVY Dump Truck (Off Road)',
['name'] = 'Dump Truck (Off Road)',
['brand'] = 'HVY',
['model'] = 'dump',
['price'] = 30000,
@@ -5349,7 +5358,7 @@ QBShared.Vehicles = {
['shop'] = 'truck',
},
['mixer2'] = {
['name'] = 'Mixer2',
['name'] = 'Cement Mixer 2',
['brand'] = 'HVY',
['model'] = 'mixer2',
['price'] = 30000,
@@ -5359,7 +5368,7 @@ QBShared.Vehicles = {
['shop'] = 'truck',
},
['rubble'] = {
['name'] = 'Jobuilt Dump Truck (Street Legal)',
['name'] = 'Dump Truck (Street Legal)',
['brand'] = 'Jobuilt',
['model'] = 'rubble',
['price'] = 30000,
@@ -5369,7 +5378,7 @@ QBShared.Vehicles = {
['shop'] = 'truck',
},
['tiptruck'] = {
['name'] = 'Brute Dump Truck (Street Legal)',
['name'] = 'Dump Truck (Street Legal)',
['brand'] = 'Brute',
['model'] = 'tiptruck',
['price'] = 30000,
@@ -5379,7 +5388,7 @@ QBShared.Vehicles = {
['shop'] = 'truck',
},
['tiptruck2'] = {
['name'] = 'MTL Dump Truck (Street Legal)',
['name'] = 'Dump Truck (Street Legal)',
['brand'] = 'MTL',
['model'] = 'tiptruck2',
['price'] = 30000,
@@ -5389,7 +5398,3 @@ QBShared.Vehicles = {
['shop'] = 'truck',
},
}
for _, v in pairs(QBShared.Vehicles) do
QBShared.VehicleHashes[v.hash] = v
end