141 lines
4.1 KiB
Lua
141 lines
4.1 KiB
Lua
RegisterServerEvent('esx_garage:updateOwnedVehicle')
|
|
AddEventHandler('esx_garage:updateOwnedVehicle', function(stored, parking, Impound, data, spawn)
|
|
local source = source
|
|
local xPlayer = ESX.Player(source)
|
|
MySQL.update('UPDATE owned_vehicles SET `stored` = @stored, `parking` = @parking, `pound` = @Impound, `vehicle` = @vehicle WHERE `plate` = @plate AND `owner` = @identifier',
|
|
{
|
|
['@identifier'] = xPlayer.getIdentifier(),
|
|
['@vehicle'] = json.encode(data.vehicleProps),
|
|
['@plate'] = data.vehicleProps.plate,
|
|
['@stored'] = stored,
|
|
['@parking'] = parking,
|
|
['@Impound'] = Impound
|
|
})
|
|
|
|
if stored then
|
|
xPlayer.showNotification(TranslateCap('veh_stored'))
|
|
else
|
|
ESX.OneSync.SpawnVehicle(data.vehicleProps.model, spawn, data.spawnPoint.heading,data.vehicleProps, function(vehicle)
|
|
local vehicle = NetworkGetEntityFromNetworkId(vehicle)
|
|
Wait(300)
|
|
TaskWarpPedIntoVehicle(GetPlayerPed(source), vehicle, -1)
|
|
end)
|
|
end
|
|
end)
|
|
|
|
RegisterServerEvent('esx_garage:setImpound')
|
|
AddEventHandler('esx_garage:setImpound', function(Impound, vehicleProps)
|
|
local source = source
|
|
local xPlayer = ESX.Player(source)
|
|
|
|
MySQL.update('UPDATE owned_vehicles SET `stored` = @stored, `pound` = @Impound, `vehicle` = @vehicle WHERE `plate` = @plate AND `owner` = @identifier',
|
|
{
|
|
['@identifier'] = xPlayer.getIdentifier(),
|
|
['@vehicle'] = json.encode(vehicleProps),
|
|
['@plate'] = vehicleProps.plate,
|
|
['@stored'] = 2,
|
|
['@Impound'] = Impound
|
|
})
|
|
|
|
xPlayer.showNotification(TranslateCap('veh_impounded'))
|
|
end)
|
|
|
|
|
|
ESX.RegisterServerCallback('esx_garage:getVehiclesInParking', function(source, cb, parking)
|
|
local xPlayer = ESX.Player(source)
|
|
|
|
MySQL.query('SELECT * FROM `owned_vehicles` WHERE `owner` = @identifier AND `parking` = @parking AND `stored` = 1',
|
|
{
|
|
['@identifier'] = xPlayer.getIdentifier(),
|
|
['@parking'] = parking
|
|
}, function(result)
|
|
|
|
local vehicles = {}
|
|
for i = 1, #result, 1 do
|
|
table.insert(vehicles, {
|
|
vehicle = json.decode(result[i].vehicle),
|
|
plate = result[i].plate
|
|
})
|
|
end
|
|
|
|
cb(vehicles)
|
|
end)
|
|
end)
|
|
|
|
ESX.RegisterServerCallback('esx_garage:checkVehicleOwner', function(source, cb, plate)
|
|
local xPlayer = ESX.Player(source)
|
|
|
|
MySQL.query('SELECT COUNT(*) as count FROM `owned_vehicles` WHERE `owner` = @identifier AND `plate` = @plate',
|
|
{
|
|
['@identifier'] = xPlayer.getIdentifier(),
|
|
['@plate'] = plate
|
|
}, function(result)
|
|
|
|
if tonumber(result[1].count) > 0 then
|
|
return cb(true)
|
|
else
|
|
return cb(false)
|
|
end
|
|
end)
|
|
end)
|
|
|
|
-- Pounds part
|
|
ESX.RegisterServerCallback('esx_garage:getVehiclesImpounded', function(source, cb)
|
|
local xPlayer = ESX.Player(source)
|
|
|
|
MySQL.query('SELECT * FROM `owned_vehicles` WHERE `owner` = @identifier AND `stored` = 0',
|
|
{
|
|
['@identifier'] = xPlayer.getIdentifier(),
|
|
}, function(result)
|
|
local vehicles = {}
|
|
|
|
for i = 1, #result, 1 do
|
|
table.insert(vehicles, {
|
|
vehicle = json.decode(result[i].vehicle),
|
|
plate = result[i].plate
|
|
})
|
|
end
|
|
|
|
cb(vehicles)
|
|
end)
|
|
end)
|
|
|
|
ESX.RegisterServerCallback('esx_garage:getVehiclesInPound', function(source, cb, Impound)
|
|
local xPlayer = ESX.Player(source)
|
|
|
|
MySQL.query('SELECT * FROM `owned_vehicles` WHERE `owner` = @identifier AND `pound` = @Impound AND `stored` = 2',
|
|
{
|
|
['@identifier'] = xPlayer.getIdentifier(),
|
|
['@Impound'] = Impound
|
|
}, function(result)
|
|
local vehicles = {}
|
|
|
|
for i = 1, #result, 1 do
|
|
table.insert(vehicles, {
|
|
vehicle = json.decode(result[i].vehicle),
|
|
plate = result[i].plate
|
|
})
|
|
end
|
|
|
|
cb(vehicles)
|
|
end)
|
|
end)
|
|
|
|
ESX.RegisterServerCallback('esx_garage:checkMoney', function(source, cb, amount)
|
|
local xPlayer = ESX.Player(source)
|
|
|
|
cb(xPlayer.getMoney() >= amount)
|
|
end)
|
|
|
|
RegisterServerEvent("esx_garage:payPound")
|
|
AddEventHandler("esx_garage:payPound", function(amount)
|
|
local source = source
|
|
local xPlayer = ESX.Player(source)
|
|
|
|
if xPlayer.getMoney() >= amount then
|
|
xPlayer.removeMoney(amount, "Impound Fee")
|
|
xPlayer.showNotification(TranslateCap('pay_Impound_bill', amount))
|
|
else
|
|
xPlayer.showNotification(TranslateCap('missing_money'))
|
|
end
|
|
end) |