AdvancedGarage Server

创建于 差异永不过期
0 删除
403 行
51 添加
454 行
ESX = nil
ESX = nil


TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)


-- Make sure all Vehicles are Stored on restart
-- Make sure all Vehicles are Stored on restart
MySQL.ready(function()
MySQL.ready(function()
ParkVehicles()
ParkVehicles()
end)
end)


function ParkVehicles()
function ParkVehicles()
MySQL.Async.execute('UPDATE owned_vehicles SET `stored` = true WHERE `stored` = @stored', {
MySQL.Async.execute('UPDATE owned_vehicles SET `stored` = true WHERE `stored` = @stored', {
['@stored'] = false
['@stored'] = false
}, function(rowsChanged)
}, function(rowsChanged)
if rowsChanged > 0 then
if rowsChanged > 0 then
print(('esx_advancedgarage: %s vehicle(s) have been stored!'):format(rowsChanged))
print(('esx_advancedgarage: %s vehicle(s) have been stored!'):format(rowsChanged))
end
end
end)
end)
end
end


-- Get Owned Properties
-- Get Owned Properties
ESX.RegisterServerCallback('esx_advancedgarage:getOwnedProperties', function(source, cb)
ESX.RegisterServerCallback('esx_advancedgarage:getOwnedProperties', function(source, cb)
local _source = source
local _source = source
local xPlayer = ESX.GetPlayerFromId(_source)
local xPlayer = ESX.GetPlayerFromId(_source)
local properties = {}
local properties = {}


MySQL.Async.fetchAll('SELECT * FROM owned_properties WHERE owner = @owner', {
MySQL.Async.fetchAll('SELECT * FROM owned_properties WHERE owner = @owner', {
['@owner'] = xPlayer.getIdentifier()
['@owner'] = xPlayer.getIdentifier()
}, function(data)
}, function(data)
for _,v in pairs(data) do
for _,v in pairs(data) do
table.insert(properties, v.name)
table.insert(properties, v.name)
end
end
cb(properties)
cb(properties)
end)
end)
end)
end)


-- Fetch Owned Aircrafts
-- Fetch Owned Aircrafts
ESX.RegisterServerCallback('esx_advancedgarage:getOwnedAircrafts', function(source, cb)
ESX.RegisterServerCallback('esx_advancedgarage:getOwnedAircrafts', function(source, cb)
local ownedAircrafts = {}
local ownedAircrafts = {}


if Config.DontShowPoundCarsInGarage == true then
if Config.DontShowPoundCarsInGarage == true then
MySQL.Async.fetchAll('SELECT * FROM owned_vehicles WHERE owner = @owner AND Type = @Type AND job = @job AND `stored` = @stored', {
MySQL.Async.fetchAll('SELECT * FROM owned_vehicles WHERE owner = @owner AND Type = @Type AND job = @job AND `stored` = @stored', {
['@owner'] = GetPlayerIdentifiers(source)[1],
['@owner'] = GetPlayerIdentifiers(source)[1],
['@Type'] = 'aircraft',
['@Type'] = 'aircraft',
['@job'] = '',
['@job'] = '',
['@stored'] = true
['@stored'] = true
}, function(data)
}, function(data)
for _,v in pairs(data) do
for _,v in pairs(data) do
local vehicle = json.decode(v.vehicle)
local vehicle = json.decode(v.vehicle)
table.insert(ownedAircrafts, {vehicle = vehicle, stored = v.stored, plate = v.plate})
table.insert(ownedAircrafts, {vehicle = vehicle, stored = v.stored, plate = v.plate})
end
end
cb(ownedAircrafts)
cb(ownedAircrafts)
end)
end)
else
else
MySQL.Async.fetchAll('SELECT * FROM owned_vehicles WHERE owner = @owner AND Type = @Type AND job = @job', {
MySQL.Async.fetchAll('SELECT * FROM owned_vehicles WHERE owner = @owner AND Type = @Type AND job = @job', {
['@owner'] = GetPlayerIdentifiers(source)[1],
['@owner'] = GetPlayerIdentifiers(source)[1],
['@Type'] = 'aircraft',
['@Type'] = 'aircraft',
['@job'] = ''
['@job'] = ''
}, function(data)
}, function(data)
for _,v in pairs(data) do
for _,v in pairs(data) do
local vehicle = json.decode(v.vehicle)
local vehicle = json.decode(v.vehicle)
table.insert(ownedAircrafts, {vehicle = vehicle, stored = v.stored, plate = v.plate})
table.insert(ownedAircrafts, {vehicle = vehicle, stored = v.stored, plate = v.plate})
end
end
cb(ownedAircrafts)
cb(ownedAircrafts)
end)
end)
end
end
end)
end)


-- Fetch Owned Boats
-- Fetch Owned Boats
ESX.RegisterServerCallback('esx_advancedgarage:getOwnedBoats', function(source, cb)
ESX.RegisterServerCallback('esx_advancedgarage:getOwnedBoats', function(source, cb)
local ownedBoats = {}
local ownedBoats = {}


if Config.DontShowPoundCarsInGarage == true then
if Config.DontShowPoundCarsInGarage == true then
MySQL.Async.fetchAll('SELECT * FROM owned_vehicles WHERE owner = @owner AND Type = @Type AND job = @job AND `stored` = @stored', {
MySQL.Async.fetchAll('SELECT * FROM owned_vehicles WHERE owner = @owner AND Type = @Type AND job = @job AND `stored` = @stored', {
['@owner'] = GetPlayerIdentifiers(source)[1],
['@owner'] = GetPlayerIdentifiers(source)[1],
['@Type'] = 'boat',
['@Type'] = 'boat',
['@job'] = '',
['@job'] = '',
['@stored'] = true
['@stored'] = true
}, function(data)
}, function(data)
for _,v in pairs(data) do
for _,v in pairs(data) do
local vehicle = json.decode(v.vehicle)
local vehicle = json.decode(v.vehicle)
table.insert(ownedBoats, {vehicle = vehicle, stored = v.stored, plate = v.plate})
table.insert(ownedBoats, {vehicle = vehicle, stored = v.stored, plate = v.plate})
end
end
cb(ownedBoats)
cb(ownedBoats)
end)
end)
else
else
MySQL.Async.fetchAll('SELECT * FROM owned_vehicles WHERE owner = @owner AND Type = @Type AND job = @job', {
MySQL.Async.fetchAll('SELECT * FROM owned_vehicles WHERE owner = @owner AND Type = @Type AND job = @job', {
['@owner'] = GetPlayerIdentifiers(source)[1],
['@owner'] = GetPlayerIdentifiers(source)[1],
['@Type'] = 'boat',
['@Type'] = 'boat',
['@job'] = ''
['@job'] = ''
}, function(data)
}, function(data)
for _,v in pairs(data) do
for _,v in pairs(data) do
local vehicle = json.decode(v.vehicle)
local vehicle = json.decode(v.vehicle)
table.insert(ownedBoats, {vehicle = vehicle, stored = v.stored, plate = v.plate})
table.insert(ownedBoats, {vehicle = vehicle, stored = v.stored, plate = v.plate})
end
end
cb(ownedBoats)
cb(ownedBoats)
end)
end)
end
end
end)
end)


-- Fetch Owned Cars
-- Fetch Owned Cars