Files
esx_core/server/main.lua
T
2017-08-05 12:56:56 +02:00

67 lines
1.7 KiB
Lua

ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
RegisterServerEvent('esx_garage:setParking')
AddEventHandler('esx_garage:setParking', function(garage, zone, vehicleProps)
local xPlayer = ESX.GetPlayerFromId(source)
if vehicleProps == false then
MySQL.Async.execute(
'DELETE FROM `user_parkings` WHERE `identifier` = @identifier AND `garage` = @garage AND zone = @zone',
{
['@identifier'] = xPlayer.identifier,
['@garage'] = garage;
['@zone'] = zone
}, function(rowsChanged)
TriggerClientEvent('esx:showNotification', xPlayer.source, 'Véhicule ~g~sorti')
end
)
else
MySQL.Async.execute(
'DELETE FROM `user_parkings` WHERE `identifier` = @identifier AND `garage` = @garage AND zone = @zone; INSERT INTO `user_parkings` (`identifier`, `garage`, `zone`, `vehicle`) VALUES (@identifier, @garage, @zone, @vehicle)',
{
['@identifier'] = xPlayer.identifier,
['@garage'] = garage;
['@zone'] = zone,
['vehicle'] = json.encode(vehicleProps)
}, function(rowsChanged)
TriggerClientEvent('esx:showNotification', xPlayer.source, 'Véhicule ~g~rangé')
end
)
end
end)
ESX.RegisterServerCallback('esx_vehicleshop:getVehiclesInGarage', function(source, cb, garage)
local xPlayer = ESX.GetPlayerFromId(source)
MySQL.Async.fetchAll(
'SELECT * FROM `user_parkings` WHERE `identifier` = @identifier AND garage = @garage',
{
['@identifier'] = xPlayer.identifier,
['@garage'] = garage
},
function(result)
local vehicles = {}
for i=1, #result, 1 do
table.insert(vehicles, {
zone = result[i].zone,
vehicle = json.decode(result[i].vehicle)
})
end
cb(vehicles)
end
)
end)