2025-04-07 01:41:12 +00:00

67 lines
2.1 KiB
Lua

local config = require 'config.server'
local currentVehicles = {}
local function isInList(name)
if next(currentVehicles) then
for i = 1, #currentVehicles do
if currentVehicles[i] == name then
return true
end
end
end
return false
end
local function generateVehicleList()
table.wipe(currentVehicles)
while #currentVehicles < 40 do
local randVehicle = config.vehicles[math.random(1, #config.vehicles)]
if not isInList(randVehicle) then
currentVehicles[#currentVehicles + 1] = randVehicle
end
end
TriggerClientEvent('qbx_scrapyard:client:setNewVehicles', -1, currentVehicles)
end
lib.callback.register('qbx_scrapyard:server:checkVehicleOwner', function(_, plate)
local vehicle = MySQL.single.await('SELECT * FROM player_vehicles WHERE plate = ?', {plate})
return vehicle and true or false
end)
RegisterNetEvent('QBCore:Server:OnPlayerLoaded', function()
TriggerClientEvent('qbx_scrapyard:client:setNewVehicles', source, currentVehicles)
end)
RegisterNetEvent('qbx_scrapyard:server:scrapVehicle', function(listKey, netId)
local src = source
local player = exports.qbx_core:GetPlayer(src)
local entity = NetworkGetEntityFromNetworkId(netId)
if not player or not currentVehicles[listKey] or not DoesEntityExist(entity) then return end
DeleteEntity(entity)
for _ = 1, math.random(2, 4), 1 do
local item = config.items[math.random(1, #config.items)]
exports.ox_inventory:AddItem(src, item, math.random(25, 45))
Wait(500)
end
local luck = math.random(1, 8)
local odd = math.random(1, 8)
if luck == odd then
local random = math.random(10, 20)
exports.ox_inventory:AddItem(src, 'rubber', random)
end
table.remove(currentVehicles, listKey)
TriggerClientEvent('qbx_scrapyard:client:setNewVehicles', -1, currentVehicles)
end)
AddEventHandler('onResourceStart', function(resource)
if resource ~= GetCurrentResourceName() then return end
SetTimeout(2000, generateVehicleList)
end)
SetInterval(generateVehicleList, 60 * 60000)