From a3f2e3e8cae64b9cd29ac2dbedf9ef7fdcec8c4d Mon Sep 17 00:00:00 2001 From: Pride1922 <48358139+Pride1922@users.noreply.github.com> Date: Tue, 13 Dec 2022 09:20:52 +0100 Subject: [PATCH 01/16] Update pt.lua (#891) Up to date portuguese translation --- locale/pt.lua | 110 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 105 insertions(+), 5 deletions(-) diff --git a/locale/pt.lua b/locale/pt.lua index 8cbfebf..b181e52 100644 --- a/locale/pt.lua +++ b/locale/pt.lua @@ -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, From 1ef7337ce5e267aa50724646128358b0ead47965 Mon Sep 17 00:00:00 2001 From: David Malchin Date: Wed, 14 Dec 2022 18:55:17 +0200 Subject: [PATCH 02/16] [BUG] Locale instances not actually being created (#860) Co-authored-by: Zerio <54480523+Z3rio@users.noreply.github.com> --- shared/locale.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/shared/locale.lua b/shared/locale.lua index ce7b2f5..34fa835 100644 --- a/shared/locale.lua +++ b/shared/locale.lua @@ -30,10 +30,10 @@ end --- Constructor function for a new Locale class instance --- @param opts table - 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 \ No newline at end of file From cc64ee38e88c0b20f26afa989360067b8102a1b4 Mon Sep 17 00:00:00 2001 From: R0adRa93 <42512379+r0adra93@users.noreply.github.com> Date: Fri, 16 Dec 2022 17:38:31 -0500 Subject: [PATCH 03/16] Getting QB-Core ready for qb-jobs (#883) Co-authored-by: Zerio <54480523+Z3rio@users.noreply.github.com> --- client/events.lua | 13 ------------- fxmanifest.lua | 2 +- server/events.lua | 44 -------------------------------------------- shared/jobs.lua | 10 +++++++--- shared/locations.lua | 13 +------------ shared/vehicles.lua | 36 ++++++++++++++++++------------------ 6 files changed, 27 insertions(+), 91 deletions(-) diff --git a/client/events.lua b/client/events.lua index b4f91d0..b183bfb 100644 --- a/client/events.lua +++ b/client/events.lua @@ -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() diff --git a/fxmanifest.lua b/fxmanifest.lua index 1b2f859..d2e2ff5 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -2,7 +2,7 @@ fx_version 'cerulean' game 'gta5' description 'QB-Core' -version '1.2.0' +version '1.2.1' shared_scripts { 'config.lua', diff --git a/server/events.lua b/server/events.lua index 6bd9e22..32c0eb1 100644 --- a/server/events.lua +++ b/server/events.lua @@ -195,50 +195,6 @@ RegisterNetEvent('QBCore:ToggleDuty', function() TriggerClientEvent('QBCore:Client:SetDuty', src, Player.PlayerData.job.onduty) end) --- BaseEvents - --- Vehicles -RegisterServerEvent('baseevents:enteringVehicle', function(veh,seat,modelName,netid) - 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) - local src = source - local data = { - vehicle = veh, - seat = seat, - name = modelName, - netid = netid, - event = 'Entered' - } - TriggerClientEvent('QBCore:Client:VehicleInfo', src, data) -end) - -RegisterServerEvent('baseevents:enteringAborted', function() - local src = source - TriggerClientEvent('QBCore:Client:AbortVehicleEntering', src) -end) - -RegisterServerEvent('baseevents:leftVehicle', function(veh,seat,modelName,netid) - local src = source - local data = { - vehicle = veh, - seat = seat, - name = modelName, - netid = netid, - event = 'Left' - } - TriggerClientEvent('QBCore:Client:VehicleInfo', src, data) -end) - -- Items -- This event is exploitable and should not be used. It has been deprecated, and will be removed soon. diff --git a/shared/jobs.lua b/shared/jobs.lua index 9f6615d..398b026 100644 --- a/shared/jobs.lua +++ b/shared/jobs.lua @@ -1,6 +1,9 @@ QBShared = QBShared or {} QBShared.ForceJobDefaultDutyAtLogin = true -- true: Force duty state to jobdefaultDuty | false: set duty state from database last saved -QBShared.Jobs = { +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 not QBShared.QBJobsStatus then + QBShared.Jobs = { ['unemployed'] = { label = 'Civilian', defaultDuty = true, @@ -125,7 +128,7 @@ QBShared.Jobs = { }, }, }, - ['bus'] = { + ['bus'] = { label = 'Bus', defaultDuty = true, offDutyPay = false, @@ -281,4 +284,5 @@ QBShared.Jobs = { }, }, }, -} + } +end diff --git a/shared/locations.lua b/shared/locations.lua index 7c97fed..1317991 100644 --- a/shared/locations.lua +++ b/shared/locations.lua @@ -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) } \ No newline at end of file diff --git a/shared/vehicles.lua b/shared/vehicles.lua index 32f9dbf..8b396fb 100644 --- a/shared/vehicles.lua +++ b/shared/vehicles.lua @@ -3,15 +3,15 @@ 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', @@ -5075,7 +5075,7 @@ QBShared.Vehicles = { ['price'] = 100000, ['category'] = 'commercial', ["categoryLabel"] = 'Commercial', - ['hash'] = `Hauler`, + ['hash'] = `hauler`, ['shop'] = 'truck', }, ['packer'] = { @@ -5115,7 +5115,7 @@ QBShared.Vehicles = { ['price'] = 100000, ['category'] = 'commercial', ["categoryLabel"] = 'Commercial', - ['hash'] = `Phantom`, + ['hash'] = `phantom`, ['shop'] = 'truck', }, ['phantom3'] = { @@ -5125,7 +5125,7 @@ QBShared.Vehicles = { ['price'] = 110000, ['category'] = 'commercial', ["categoryLabel"] = 'Commercial', - ['hash'] = `Phantom Custom`, + ['hash'] = `phantom3`, ['shop'] = 'truck', }, ['benson'] = { @@ -5245,7 +5245,7 @@ QBShared.Vehicles = { ['price'] = 45000, ['category'] = 'vans', ["categoryLabel"] = 'Vans', - ['hash'] = `boxville4`, + ['hash'] = `boxville5`, ['shop'] = 'truck', }, ['pony'] = { @@ -5309,7 +5309,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 +5349,7 @@ QBShared.Vehicles = { ['shop'] = 'truck', }, ['mixer2'] = { - ['name'] = 'Mixer2', + ['name'] = 'Cement Mixer 2', ['brand'] = 'HVY', ['model'] = 'mixer2', ['price'] = 30000, @@ -5359,7 +5359,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 +5369,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 +5379,7 @@ QBShared.Vehicles = { ['shop'] = 'truck', }, ['tiptruck2'] = { - ['name'] = 'MTL Dump Truck (Street Legal)', + ['name'] = 'Dump Truck (Street Legal)', ['brand'] = 'MTL', ['model'] = 'tiptruck2', ['price'] = 30000, From 091bcd2c3e92a8763883f7b8a010a7fd18321f03 Mon Sep 17 00:00:00 2001 From: Zerio <54480523+Z3rio@users.noreply.github.com> Date: Sat, 17 Dec 2022 01:17:02 +0100 Subject: [PATCH 04/16] Remove unnused & vulnerable event --- server/events.lua | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/server/events.lua b/server/events.lua index 06876ce..5abce10 100644 --- a/server/events.lua +++ b/server/events.lua @@ -138,19 +138,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) From b057ef039550fbf94946da3c072e2f74cad69f18 Mon Sep 17 00:00:00 2001 From: Zerio <54480523+Z3rio@users.noreply.github.com> Date: Sat, 17 Dec 2022 01:18:16 +0100 Subject: [PATCH 05/16] Remove deprecated events --- server/events.lua | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/server/events.lua b/server/events.lua index 5abce10..251d88c 100644 --- a/server/events.lua +++ b/server/events.lua @@ -152,26 +152,6 @@ RegisterNetEvent('QBCore:ToggleDuty', function() TriggerClientEvent('QBCore:Client:SetDuty', src, Player.PlayerData.job.onduty) end) --- Items - --- This event is exploitable and should not be used. It has been deprecated, and will be removed soon. -RegisterNetEvent('QBCore:Server:UseItem', function(item) - print(string.format("%s triggered QBCore:Server:UseItem by ID %s with the following data. This event is deprecated due to exploitation, and will be removed soon. Check qb-inventory for the right use on this event.", GetInvokingResource(), source)) - QBCore.Debug(item) -end) - --- This event is exploitable and should not be used. It has been deprecated, and will be removed soon. function(itemName, amount, slot) -RegisterNetEvent('QBCore:Server:RemoveItem', function(itemName, amount) - local src = source - print(string.format("%s triggered QBCore:Server:RemoveItem by ID %s for %s %s. This event is deprecated due to exploitation, and will be removed soon. Adjust your events accordingly to do this server side with player functions.", GetInvokingResource(), src, amount, itemName)) -end) - --- This event is exploitable and should not be used. It has been deprecated, and will be removed soon. function(itemName, amount, slot, info) -RegisterNetEvent('QBCore:Server:AddItem', function(itemName, amount) - local src = source - print(string.format("%s triggered QBCore:Server:AddItem by ID %s for %s %s. This event is deprecated due to exploitation, and will be removed soon. Adjust your events accordingly to do this server side with player functions.", GetInvokingResource(), src, amount, itemName)) -end) - -- Non-Chat Command Calling (ex: qb-adminmenu) RegisterNetEvent('QBCore:CallCommand', function(command, args) From c79a7b907a6eed0e603d9338bc9ed0fce2bbf376 Mon Sep 17 00:00:00 2001 From: KamuiKody <62488881+KamuiKody@users.noreply.github.com> Date: Mon, 19 Dec 2022 16:29:18 -0500 Subject: [PATCH 06/16] add baseevents back (#898) --- client/events.lua | 14 ++++++++++++++ server/events.lua | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/client/events.lua b/client/events.lua index b183bfb..b720f59 100644 --- a/client/events.lua +++ b/client/events.lua @@ -158,6 +158,20 @@ RegisterNetEvent('QBCore:Command:DeleteVehicle', function() end end) +RegisterNetEvent('QBCore:Client:VehicleInfo', function(info) + local plate = QBCore.Functions.GetPlate(info.vehicle) + 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 = exports['qb-vehiclekeys']:HasKeys(plate) + } + TriggerEvent('QBCore:Client:'..info.event..'Vehicle', data) +end) + -- Other stuff RegisterNetEvent('QBCore:Player:SetPlayerData', function(val) diff --git a/server/events.lua b/server/events.lua index 32c0eb1..0171994 100644 --- a/server/events.lua +++ b/server/events.lua @@ -195,6 +195,47 @@ RegisterNetEvent('QBCore:ToggleDuty', function() TriggerClientEvent('QBCore:Client:SetDuty', src, Player.PlayerData.job.onduty) end) +-- BaseEvents + +-- Vehicles +RegisterServerEvent('baseevents:enteringVehicle', function(veh,seat,modelName) + local src = source + local data = { + vehicle = veh, + seat = seat, + name = modelName, + event = 'Entering' + } + TriggerClientEvent('QBCore:Client:VehicleInfo', src, data) +end) + +RegisterServerEvent('baseevents:enteredVehicle', function(veh,seat,modelName) + local src = source + local data = { + vehicle = veh, + seat = seat, + name = modelName, + event = 'Entered' + } + TriggerClientEvent('QBCore:Client:VehicleInfo', src, data) +end) + +RegisterServerEvent('baseevents:enteringAborted', function() + local src = source + TriggerClientEvent('QBCore:Client:AbortVehicleEntering', src) +end) + +RegisterServerEvent('baseevents:leftVehicle', function(veh,seat,modelName) + local src = source + local data = { + vehicle = veh, + seat = seat, + name = modelName, + event = 'Left' + } + TriggerClientEvent('QBCore:Client:VehicleInfo', src, data) +end) + -- Items -- This event is exploitable and should not be used. It has been deprecated, and will be removed soon. From a96052ee262ef0585eddc5177e9b5f27b31a9da2 Mon Sep 17 00:00:00 2001 From: Joel <34402846+Qwerty1Verified@users.noreply.github.com> Date: Wed, 21 Dec 2022 15:42:45 +0000 Subject: [PATCH 07/16] Refactor: Removes indenting, reduces to one line (#899) --- shared/jobs.lua | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/shared/jobs.lua b/shared/jobs.lua index 398b026..67c813d 100644 --- a/shared/jobs.lua +++ b/shared/jobs.lua @@ -2,8 +2,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 not QBShared.QBJobsStatus then - QBShared.Jobs = { +if QBShared.QBJobsStatus then return end +QBShared.Jobs = { ['unemployed'] = { label = 'Civilian', defaultDuty = true, @@ -284,5 +284,4 @@ if not QBShared.QBJobsStatus then }, }, }, - } -end +} From 3ca665c76a0f109f56b88034d9d1a98ae7920c4f Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 22 Dec 2022 17:22:30 +0000 Subject: [PATCH 08/16] [FIX] shared/vehicles.lua car names & other issues (#893) Co-authored-by: Zerio <54480523+Z3rio@users.noreply.github.com> --- shared/vehicles.lua | 138 ++++++++++++++++++++++++-------------------- 1 file changed, 74 insertions(+), 64 deletions(-) diff --git a/shared/vehicles.lua b/shared/vehicles.lua index 8b396fb..201c4d0 100644 --- a/shared/vehicles.lua +++ b/shared/vehicles.lua @@ -11,7 +11,7 @@ QBShared.Vehicles = { ['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'} + ['shop'] = 'pdm', -- Can be a single shop or multiple shops. For multiple shops for example {'shopname1','shopname2','shopname3'} }, ['blista'] = { ['name'] = 'Blista', @@ -104,7 +104,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['issi5'] = { --DLC - ['name'] = 'Issi Arena', + ['name'] = 'Issi Future Shock', ['brand'] = 'Weeny', ['model'] = 'issi5', ['price'] = 80000, @@ -114,7 +114,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['issi6'] = { --DLC - ['name'] = 'Issi Arena', + ['name'] = 'Issi Nightmare', ['brand'] = 'Weeny', ['model'] = 'issi6', ['price'] = 80000, @@ -349,8 +349,8 @@ QBShared.Vehicles = { ['brand'] = 'Overflod', ['model'] = 'zeno', ['price'] = 1350000, - ['category'] = 'coupes', - ['categoryLabel'] = 'Coupes', + ['category'] = 'super', + ['categoryLabel'] = 'Super', ['hash'] = `zeno`, ['shop'] = 'pdm', }, @@ -396,7 +396,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['tribike'] = { - ['name'] = 'Tri Bike', + ['name'] = 'Whippet Race Bike', ['brand'] = 'Bike', ['model'] = 'tribike', ['price'] = 500, @@ -406,7 +406,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['tribike2'] = { - ['name'] = 'Tri Bike 2', + ['name'] = 'Endurex Race Bike', ['brand'] = 'Bike', ['model'] = 'tribike2', ['price'] = 700, @@ -416,7 +416,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['tribike3'] = { - ['name'] = 'Tri Bike 3', + ['name'] = 'Tri-Cycles Race Bike', ['brand'] = 'Bike', ['model'] = 'tribike3', ['price'] = 520, @@ -547,8 +547,8 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['deathbike'] = { --DLC - ['name'] = 'deathbike', - ['brand'] = 'deathbike', + ['name'] = 'Deathbike Apocalypse', + ['brand'] = 'Deathbike', ['model'] = 'deathbike', ['price'] = 30000, ['category'] = 'motorcycles', @@ -557,8 +557,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 +567,8 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['deathbike3'] = { --DLC - ['name'] = 'deathbike3', - ['brand'] = 'deathbike', + ['name'] = 'Deathbike Nightmare', + ['brand'] = 'Deathbike', ['model'] = 'deathbike3', ['price'] = 30000, ['category'] = 'motorcycles', @@ -937,7 +937,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['manchez2'] = { - ['name'] = 'Manchez', + ['name'] = 'Manchez Scout', ['brand'] = 'Maibatsu', ['model'] = 'manchez2', ['price'] = 14000, @@ -1118,7 +1118,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['dukes2'] = { - ['name'] = 'Dukes Nightrider', + ['name'] = 'Duke O\'Death', ['brand'] = 'Imponte', ['model'] = 'dukes2', ['price'] = 60000, @@ -1258,7 +1258,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['impaler'] = { --DLC - ['name'] = 'impaler', + ['name'] = 'Impaler', ['brand'] = 'Vapid', ['model'] = 'impaler', ['price'] = 95000, @@ -1268,7 +1268,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['impaler2'] = { --DLC - ['name'] = 'impaler2', + ['name'] = 'Impaler Arena', ['brand'] = 'Vapid', ['model'] = 'impaler2', ['price'] = 95000, @@ -1278,7 +1278,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['impaler3'] = { --DLC - ['name'] = 'impaler3', + ['name'] = 'Impaler Future Shock', ['brand'] = 'Vapid', ['model'] = 'impaler3', ['price'] = 95000, @@ -1288,7 +1288,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['impaler4'] = { --DLC - ['name'] = 'impaler4', + ['name'] = 'Impaler Nightmare', ['brand'] = 'Vapid', ['model'] = 'impaler4', ['price'] = 95000, @@ -1298,7 +1298,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['imperator'] = { --DLC - ['name'] = 'imperator', + ['name'] = 'Imperator Arena', ['brand'] = 'Vapid', ['model'] = 'imperator', ['price'] = 95000, @@ -1308,7 +1308,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['imperator2'] = { --DLC - ['name'] = 'imperator2', + ['name'] = 'imperator Future Shock', ['brand'] = 'Vapid', ['model'] = 'imperator2', ['price'] = 95000, @@ -1318,7 +1318,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['imperator3'] = { --DLC - ['name'] = 'imperator3', + ['name'] = 'Imperator Nightmare', ['brand'] = 'Vapid', ['model'] = 'imperator3', ['price'] = 95000, @@ -1328,7 +1328,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['lurcher'] = { - ['name'] = 'Gauntlet Classic Custom', + ['name'] = 'Lurcher', ['brand'] = 'Bravado', ['model'] = 'lurcher', ['price'] = 21000, @@ -1398,7 +1398,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['ratloader2'] = { - ['name'] = 'ratloader2', + ['name'] = 'Ratloader', ['brand'] = 'Ratloader2', ['model'] = 'ratloader2', ['price'] = 20000, @@ -1558,7 +1558,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['virgo3'] = { - ['name'] = 'Virgo Custom Classic', + ['name'] = 'Virgo Classic', ['brand'] = 'Dundreary', ['model'] = 'virgo3', ['price'] = 21000, @@ -1920,7 +1920,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['baller2'] = { - ['name'] = 'Baller', + ['name'] = 'Baller II', ['brand'] = 'Gallivanter', ['model'] = 'baller2', ['price'] = 15000, @@ -1990,7 +1990,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['cavalcade2'] = { - ['name'] = 'Cavalcade', + ['name'] = 'Cavalcade II', ['brand'] = 'Albany', ['model'] = 'cavalcade2', ['price'] = 16500, @@ -2129,6 +2129,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 +2301,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['glendale2'] = { - ['name'] = 'Glendale', + ['name'] = 'Glendale Custom', ['brand'] = 'Benefactor', ['model'] = 'glendale2', ['price'] = 12000, @@ -2531,12 +2541,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', }, @@ -3332,7 +3342,7 @@ QBShared.Vehicles = { ['shop'] = 'luxury', }, ['vectre'] = { --DLC +set sv_enforceGameBuild 2372 - ['name'] = 'Emperor Vectre', + ['name'] = 'Vectre', ['brand'] = 'Emperor', ['model'] = 'vectre', ['price'] = 80000, @@ -3934,7 +3944,7 @@ QBShared.Vehicles = { ['shop'] = 'luxury', }, ['italigtb2'] = { - ['name'] = 'Itali GTB', + ['name'] = 'Itali GTB Custom', ['brand'] = 'Progen', ['model'] = 'italigtb2', ['price'] = 250000, @@ -4405,7 +4415,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['youga4'] = { --DLC +set sv_enforceGameBuild 2545 - ['name'] = 'Youga', + ['name'] = 'Youga Custom', ['brand'] = 'Bravado', ['model'] = 'youga4', ['price'] = 85000, @@ -4477,7 +4487,7 @@ QBShared.Vehicles = { ['shop'] = 'boats', }, ['seashark2'] = { - ['name'] = 'Seashark', + ['name'] = 'Seashark Lifeguard', ['brand'] = 'Speedophile', ['model'] = 'seashark2', ['price'] = 40000, @@ -4487,7 +4497,7 @@ QBShared.Vehicles = { ['shop'] = 'boats', }, ['seashark3'] = { - ['name'] = 'Seashark', + ['name'] = 'Seashark Yacht', ['brand'] = 'Speedophile', ['model'] = 'seashark3', ['price'] = 40000, @@ -4497,8 +4507,8 @@ QBShared.Vehicles = { ['shop'] = 'boats', }, ['jetmax'] = { - ['name'] = 'Shitzu', - ['brand'] = 'Jetmax', + ['name'] = 'Jetmax', + ['brand'] = 'Shitzu', ['model'] = 'jetmax', ['price'] = 40000, ['category'] = 'boats', @@ -4507,8 +4517,8 @@ QBShared.Vehicles = { ['shop'] = 'boats', }, ['tropic'] = { - ['name'] = 'Shitzu', - ['brand'] = 'Tropic', + ['name'] = 'Tropic', + ['brand'] = 'Shitzu', ['model'] = 'tropic', ['price'] = 40000, ['category'] = 'boats', @@ -4517,8 +4527,8 @@ QBShared.Vehicles = { ['shop'] = 'boats', }, ['tropic2'] = { - ['name'] = 'Shitzu', - ['brand'] = 'Tropic', + ['name'] = 'Tropic Yacht', + ['brand'] = 'Shitzu', ['model'] = 'tropic2', ['price'] = 40000, ['category'] = 'boats', @@ -4527,8 +4537,8 @@ QBShared.Vehicles = { ['shop'] = 'boats', }, ['dinghy'] = { - ['name'] = 'Nagasaki', - ['brand'] = 'Dinghy', + ['name'] = 'Dinghy 2-Seater', + ['brand'] = 'Nagasaki', ['model'] = 'dinghy', ['price'] = 40000, ['category'] = 'boats', @@ -4537,8 +4547,8 @@ QBShared.Vehicles = { ['shop'] = 'boats', }, ['dinghy2'] = { - ['name'] = 'Nagasaki', - ['brand'] = 'Dinghy', + ['name'] = 'Dinghy 4-Seater', + ['brand'] = 'Nagasaki', ['model'] = 'dinghy2', ['price'] = 40000, ['category'] = 'boats', @@ -4547,8 +4557,8 @@ QBShared.Vehicles = { ['shop'] = 'boats', }, ['dinghy3'] = { - ['name'] = 'Nagasaki', - ['brand'] = 'Dinghy', + ['name'] = 'Dinghy (Heist)', + ['brand'] = 'Nagasaki', ['model'] = 'dinghy3', ['price'] = 40000, ['category'] = 'boats', @@ -4557,8 +4567,8 @@ QBShared.Vehicles = { ['shop'] = 'boats', }, ['dinghy4'] = { - ['name'] = 'Nagasaki', - ['brand'] = 'Dinghy', + ['name'] = 'Dinghy Yacht', + ['brand'] = 'Nagasaki', ['model'] = 'dinghy4', ['price'] = 40000, ['category'] = 'boats', @@ -4567,8 +4577,8 @@ QBShared.Vehicles = { ['shop'] = 'boats', }, ['suntrap'] = { - ['name'] = 'Shitzu', - ['brand'] = 'Suntrap', + ['name'] = 'Suntrap', + ['brand'] = 'Shitzu', ['model'] = 'suntrap', ['price'] = 40000, ['category'] = 'boats', @@ -4587,7 +4597,7 @@ QBShared.Vehicles = { ['shop'] = 'boats', }, ['speeder2'] = { - ['name'] = 'Speeder', + ['name'] = 'Speeder Yacht', ['brand'] = 'Pegassi', ['model'] = 'speeder2', ['price'] = 40000, @@ -4617,7 +4627,7 @@ QBShared.Vehicles = { ['shop'] = 'boats', }, ['toro2'] = { - ['name'] = 'Toro', + ['name'] = 'Toro Yacht', ['brand'] = 'Lampadati', ['model'] = 'toro2', ['price'] = 40000, @@ -4648,7 +4658,7 @@ QBShared.Vehicles = { ['shop'] = 'air', }, ['frogger2'] = { - ['name'] = 'Frogger', + ['name'] = 'Frogger (Trevor Philips Enterprises)', ['brand'] = 'Unknown', ['model'] = 'frogger2', ['price'] = 52000, @@ -4678,7 +4688,7 @@ QBShared.Vehicles = { ['shop'] = 'air', }, ['swift2'] = { - ['name'] = 'Swift', + ['name'] = 'Swift Deluxe', ['brand'] = 'Buckingham', ['model'] = 'swift2', ['price'] = 52000, @@ -4708,7 +4718,7 @@ QBShared.Vehicles = { ['shop'] = 'air', }, ['seasparrow3'] = { - ['name'] = 'Sparrow', + ['name'] = 'Sparrow (Prop)', ['brand'] = 'Unknown', ['model'] = 'seasparrow3', ['price'] = 52000, @@ -4819,7 +4829,7 @@ QBShared.Vehicles = { ['shop'] = 'air', }, ['velum2'] = { - ['name'] = 'Velum', + ['name'] = 'Velum 5-Seater', ['brand'] = 'Unknown', ['model'] = 'velum2', ['price'] = 45000, @@ -5199,7 +5209,7 @@ QBShared.Vehicles = { ['shop'] = 'truck', }, ['boxville'] = { - ['name'] = 'Boxville', + ['name'] = 'Boxville LSDWP', ['brand'] = 'Brute', ['model'] = 'boxville', ['price'] = 45000, @@ -5209,7 +5219,7 @@ QBShared.Vehicles = { ['shop'] = 'truck', }, ['boxville2'] = { - ['name'] = 'Boxville2', + ['name'] = 'Boxville Go Postal', ['brand'] = 'Brute', ['model'] = 'boxville2', ['price'] = 45000, @@ -5219,7 +5229,7 @@ QBShared.Vehicles = { ['shop'] = 'truck', }, ['boxville3'] = { - ['name'] = 'Boxville3', + ['name'] = 'Boxville Humane Labs', ['brand'] = 'Brute', ['model'] = 'boxville3', ['price'] = 45000, @@ -5229,7 +5239,7 @@ QBShared.Vehicles = { ['shop'] = 'truck', }, ['boxville4'] = { - ['name'] = 'Boxville4', + ['name'] = 'Boxville Post OP', ['brand'] = 'Brute', ['model'] = 'boxville4', ['price'] = 45000, @@ -5259,7 +5269,7 @@ QBShared.Vehicles = { ['shop'] = 'truck', }, ['pony2'] = { - ['name'] = 'Pony 2', + ['name'] = 'Pony (Smoke on the water)', ['brand'] = 'Brute', ['model'] = 'pony2', ['price'] = 45000, From 33979cbede30423af26deb3993849a8425754ac5 Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 22 Dec 2022 22:22:05 +0000 Subject: [PATCH 09/16] [FIX] more shared/vehicles.lua car names & brands (#901) Co-authored-by: Zerio <54480523+Z3rio@users.noreply.github.com> --- shared/vehicles.lua | 48 ++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/shared/vehicles.lua b/shared/vehicles.lua index 201c4d0..c5cadd6 100644 --- a/shared/vehicles.lua +++ b/shared/vehicles.lua @@ -236,7 +236,7 @@ QBShared.Vehicles = { }, ['oracle'] = { ['name'] = 'Oracle', - ['brand'] = 'Ubermacht', + ['brand'] = 'Übermacht', ['model'] = 'oracle', ['price'] = 22000, ['category'] = 'sedans', @@ -346,7 +346,7 @@ QBShared.Vehicles = { }, ['zeno'] = { --DLC +set sv_enforceGameBuild 2545 ['name'] = 'Zeno', - ['brand'] = 'Overflod', + ['brand'] = 'Överflöd', ['model'] = 'zeno', ['price'] = 1350000, ['category'] = 'super', @@ -837,7 +837,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['shotaro'] = { - ['name'] = 'Shotaro Concept', + ['name'] = 'Shotaro', ['brand'] = 'Nagasaki', ['model'] = 'shotaro', ['price'] = 320000, @@ -1428,7 +1428,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['sabregt'] = { - ['name'] = 'Sabre Turbo', + ['name'] = 'Sabre GT Turbo', ['brand'] = 'Declasse', ['model'] = 'sabregt', ['price'] = 23000, @@ -1438,7 +1438,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['sabregt2'] = { - ['name'] = 'Sabre GT', + ['name'] = 'Sabre GT Turbo Custom', ['brand'] = 'Declasse', ['model'] = 'sabregt2', ['price'] = 26500, @@ -1820,7 +1820,7 @@ QBShared.Vehicles = { }, ['rebel2'] = { ['name'] = 'Rebel', - ['brand'] = 'Annis', + ['brand'] = 'Vapid', ['model'] = 'rebel2', ['price'] = 20000, ['category'] = 'offroad', @@ -1839,8 +1839,8 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['sandking'] = { - ['name'] = 'Sandking', - ['brand'] = 'Annis', + ['name'] = 'Sandking XL', + ['brand'] = 'Vapid', ['price'] = 25000, ['category'] = 'offroad', ['categoryLabel'] = 'Off Road', @@ -1850,7 +1850,7 @@ QBShared.Vehicles = { }, ['sandking2'] = { ['name'] = 'Sandking SWB', - ['brand'] = 'Annis', + ['brand'] = 'Vapid', ['price'] = 38000, ['category'] = 'offroad', ['categoryLabel'] = 'Off Road', @@ -1860,7 +1860,7 @@ QBShared.Vehicles = { }, ['trophytruck'] = { ['name'] = 'Trophy Truck', - ['brand'] = 'Annis', + ['brand'] = 'Vapid', ['price'] = 60000, ['category'] = 'offroad', ['categoryLabel'] = 'Off Road', @@ -1869,8 +1869,8 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['trophytruck2'] = { - ['name'] = 'Trophy Truck Limited', - ['brand'] = 'Annis', + ['name'] = 'Desert Raid', + ['brand'] = 'Vapid', ['price'] = 80000, ['category'] = 'offroad', ['categoryLabel'] = 'Off Road', @@ -2020,7 +2020,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['dubsta2'] = { - ['name'] = 'Dubsta Luxuary', + ['name'] = 'Dubsta Luxury', ['brand'] = 'Benefactor', ['model'] = 'dubsta2', ['price'] = 19500, @@ -2491,8 +2491,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', @@ -2803,7 +2803,7 @@ QBShared.Vehicles = { }, ['imorgon'] = { ['name'] = 'Imorgon', - ['brand'] = 'Overflod', + ['brand'] = 'Överflöd', ['model'] = 'imorgon', ['price'] = 120000, ['category'] = 'sports', @@ -3063,7 +3063,7 @@ QBShared.Vehicles = { }, ['revolter'] = { ['name'] = 'Revolter', - ['brand'] = 'Ubermacht', + ['brand'] = 'Übermacht', ['model'] = 'revolter', ['price'] = 95000, ['category'] = 'sports', @@ -3353,7 +3353,7 @@ QBShared.Vehicles = { }, ['cypher'] = { --DLC +set sv_enforceGameBuild 2372 ['name'] = 'Cypher', - ['brand'] = 'Ubermacht', + ['brand'] = 'Übermacht', ['model'] = 'cypher', ['price'] = 155000, ['category'] = 'sports', @@ -3613,7 +3613,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['rapidgt3'] = { - ['name'] = 'Rapid GT', + ['name'] = 'Rapid GT Classic', ['brand'] = 'Dewbauchee', ['model'] = 'rapidgt3', ['price'] = 90000, @@ -3713,7 +3713,7 @@ QBShared.Vehicles = { ['shop'] = 'pdm', }, ['tornado2'] = { - ['name'] = 'Tornado Gang', + ['name'] = 'Tornado Convertible', ['brand'] = 'Declasse', ['model'] = 'tornado2', ['price'] = 22000, @@ -4990,7 +4990,7 @@ QBShared.Vehicles = { }, ['rhinehart'] = { ['name'] = 'Rhinehart', - ['brand'] = 'Ubermacht', + ['brand'] = 'Übermacht', ['model'] = 'rhinehart ', ['price'] = 105000, ['category'] = 'sedans', @@ -5010,7 +5010,7 @@ QBShared.Vehicles = { }, ['sentinel4'] = { ['name'] = 'Sentinel Classic Widebody', - ['brand'] = 'Ubermacht', + ['brand'] = 'Übermacht', ['model'] = 'sentinel4', ['price'] = 140000, ['category'] = 'sports', @@ -5099,7 +5099,7 @@ QBShared.Vehicles = { ['shop'] = 'truck', }, ['stockade'] = { - ['name'] = 'stockade', + ['name'] = 'Stockade', ['brand'] = 'Brute', ['model'] = 'stockade', ['price'] = 100000, @@ -5109,7 +5109,7 @@ QBShared.Vehicles = { ['shop'] = 'truck', }, ['biff'] = { - ['name'] = 'biff', + ['name'] = 'Biff', ['brand'] = 'Brute', ['model'] = 'biff', ['price'] = 100000, From 9878aeaeb2b59f7bef2eafbadf34b34b2e8e37f3 Mon Sep 17 00:00:00 2001 From: R0adRa93 <42512379+r0adra93@users.noreply.github.com> Date: Tue, 17 Jan 2023 10:01:36 -0500 Subject: [PATCH 10/16] Added PrepForSQL function (#914) performs a check to a string with expected patterns to be matched. --- server/functions.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/server/functions.lua b/server/functions.lua index c472b68..7df5403 100644 --- a/server/functions.lua +++ b/server/functions.lua @@ -414,3 +414,15 @@ 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) + 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 Injection Attempted', 'red', string.format('%s Attempted a SQL Exploit!', player.PlayerData.license)) + return false + end + return true +end \ No newline at end of file From e6f5bf5ab686cbf53f73871421226480d7877814 Mon Sep 17 00:00:00 2001 From: Charlie Date: Wed, 18 Jan 2023 16:17:15 +0000 Subject: [PATCH 11/16] Remove vehicle keys depdency from core (#920) Co-authored-by: Zerio <54480523+Z3rio@users.noreply.github.com> --- client/events.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/client/events.lua b/client/events.lua index b720f59..60fae33 100644 --- a/client/events.lua +++ b/client/events.lua @@ -160,6 +160,12 @@ 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, @@ -167,8 +173,9 @@ RegisterNetEvent('QBCore:Client:VehicleInfo', function(info) plate = plate, driver = GetPedInVehicleSeat(info.vehicle, -1), inseat = GetPedInVehicleSeat(info.vehicle, info.seat), - haskeys = exports['qb-vehiclekeys']:HasKeys(plate) + haskeys = hasKeys } + TriggerEvent('QBCore:Client:'..info.event..'Vehicle', data) end) From 01e8597f07c30bbfa7071146b1d9e6bead33bebf Mon Sep 17 00:00:00 2001 From: R0adRa93 <42512379+r0adra93@users.noreply.github.com> Date: Wed, 18 Jan 2023 12:53:38 -0500 Subject: [PATCH 12/16] [FIX] Security match sql (#925) * Added PrepForSQL function performs a check to a string with expected patterns to be matched. * Bug Fixes After talking with Stan I realized that it wasn't testing strings so I set it up to ensure data is a string. I also reworded the event log. --- server/functions.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/functions.lua b/server/functions.lua index 7df5403..54218f0 100644 --- a/server/functions.lua +++ b/server/functions.lua @@ -417,11 +417,12 @@ 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 Injection Attempted', 'red', string.format('%s Attempted a SQL Exploit!', player.PlayerData.license)) + 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 From 7b68f72cecc70808bb18fd3f59457188f97e6872 Mon Sep 17 00:00:00 2001 From: Jack Date: Thu, 26 Jan 2023 01:58:28 +0000 Subject: [PATCH 13/16] Update vehicles.lua (#929) * Update vehicles.lua Remove the space after this, as when somebody tries to pull it out, it will break PDM due to the space in the model hash. * Bump version number Co-authored-by: zwkf --- fxmanifest.lua | 2 +- shared/vehicles.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fxmanifest.lua b/fxmanifest.lua index d2e2ff5..55e59bf 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -2,7 +2,7 @@ fx_version 'cerulean' game 'gta5' description 'QB-Core' -version '1.2.1' +version '1.2.2' shared_scripts { 'config.lua', diff --git a/shared/vehicles.lua b/shared/vehicles.lua index c5cadd6..f9784bd 100644 --- a/shared/vehicles.lua +++ b/shared/vehicles.lua @@ -4991,7 +4991,7 @@ QBShared.Vehicles = { ['rhinehart'] = { ['name'] = 'Rhinehart', ['brand'] = 'Übermacht', - ['model'] = 'rhinehart ', + ['model'] = 'rhinehart', ['price'] = 105000, ['category'] = 'sedans', ['categoryLabel'] = 'Sedans', From 14340bb374691068662a0ccd9c013fcfadae0406 Mon Sep 17 00:00:00 2001 From: "worapol.pan.buraphan" Date: Wed, 1 Feb 2023 06:59:36 +0700 Subject: [PATCH 14/16] Fix drawtext error (#938) 1. Start QB-Core on a slow or low-spec computer 2. Access the Debug UI page (localhost:13172) 3. Encounter an error in the drawtext.js file 4. The issue stems from the script loading successfully but any resource call function (hideText) and sending an event message before index.html of all resources are fully loaded on NUI it make `html
` is not loaded. --- html/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/html/index.html b/html/index.html index ee1875f..4424117 100644 --- a/html/index.html +++ b/html/index.html @@ -7,8 +7,6 @@ - - @@ -16,5 +14,7 @@
+ + - \ No newline at end of file + From 29d159cab1ea7a84fdf99d7fd58a06de3e34478e Mon Sep 17 00:00:00 2001 From: R0adRa93 <42512379+r0adra93@users.noreply.github.com> Date: Fri, 10 Feb 2023 12:49:56 -0500 Subject: [PATCH 15/16] Revert "Fix drawtext error (#938)" (#944) This reverts commit 14340bb374691068662a0ccd9c013fcfadae0406. --- html/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/html/index.html b/html/index.html index 4424117..ee1875f 100644 --- a/html/index.html +++ b/html/index.html @@ -7,6 +7,8 @@ + + @@ -14,7 +16,5 @@
- - - + \ No newline at end of file From 0a42541f34eb7810b1fe2059d52365a083117f73 Mon Sep 17 00:00:00 2001 From: KamuiKody <62488881+KamuiKody@users.noreply.github.com> Date: Mon, 13 Feb 2023 04:56:55 -0500 Subject: [PATCH 16/16] remove unnecessary table (#936) at startup there is no need to repopulate the same table it doesnt get called anywhere else in the entire resource folder. Co-authored-by: zwkf --- shared/vehicles.lua | 5 ----- 1 file changed, 5 deletions(-) diff --git a/shared/vehicles.lua b/shared/vehicles.lua index f9784bd..476cac4 100644 --- a/shared/vehicles.lua +++ b/shared/vehicles.lua @@ -1,5 +1,4 @@ QBShared = QBShared or {} -QBShared.VehicleHashes = {} QBShared.Vehicles = { --- Compacts @@ -5399,7 +5398,3 @@ QBShared.Vehicles = { ['shop'] = 'truck', }, } - -for _, v in pairs(QBShared.Vehicles) do - QBShared.VehicleHashes[v.hash] = v -end