Implemented selling back vehicle to provider, closes #51

This commit is contained in:
ElPumpo
2018-07-25 14:08:45 +02:00
parent dec706afed
commit 5bdb3e90ba
9 changed files with 144 additions and 73 deletions
+87 -57
View File
@@ -91,6 +91,38 @@ function DeleteShopInsideVehicles ()
end
end
function ReturnVehicleProvider()
ESX.TriggerServerCallback('esx_vehicleshop:getCommercialVehicles', function (vehicles)
local elements = {}
local returnPrice
for i=1, #vehicles, 1 do
returnPrice = ESX.Round(vehicles[i].price * 0.75)
table.insert(elements, {
label = vehicles[i].name .. ' [<span style="color: orange;">$' .. returnPrice .. '</span>]',
value = vehicles[i].name
})
end
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'return_provider_menu',
{
title = _U('return_provider_menu'),
align = 'top-left',
elements = elements
}, function (data, menu)
TriggerServerEvent('esx_vehicleshop:returnProvider', data.current.value)
Citizen.Wait(300)
menu.close()
ReturnVehicleProvider()
end, function (data, menu)
menu.close()
end)
end)
end
function OpenShopMenu ()
IsInShopMenu = true
@@ -218,7 +250,10 @@ function OpenShopMenu ()
TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
local newPlate = GeneratePlate()
local vehicleProps = ESX.Game.GetVehicleProperties(vehicle)
vehicleProps.plate = newPlate
SetVehicleNumberPlateText(vehicle, newPlate)
if Config.EnableOwnedVehicles then
TriggerServerEvent('esx_vehicleshop:setVehicleOwned', vehicleProps)
@@ -251,7 +286,10 @@ function OpenShopMenu ()
TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
local newPlate = GeneratePlate()
local vehicleProps = ESX.Game.GetVehicleProperties(vehicle)
vehicleProps.plate = newPlate
SetVehicleNumberPlateText(vehicle, newPlate)
TriggerServerEvent('esx_vehicleshop:setVehicleOwnedSociety', playerData.job.name, vehicleProps)
@@ -286,7 +324,10 @@ function OpenShopMenu ()
TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
local newPlate = GeneratePlate()
local vehicleProps = ESX.Game.GetVehicleProperties(vehicle)
vehicleProps.plate = newPlate
SetVehicleNumberPlateText(vehicle, newPlate)
if Config.EnableOwnedVehicles then
TriggerServerEvent('esx_vehicleshop:setVehicleOwned', vehicleProps)
@@ -372,6 +413,7 @@ function OpenResellerMenu ()
{label = _U('buy_vehicle'), value = 'buy_vehicle'},
{label = _U('pop_vehicle'), value = 'pop_vehicle'},
{label = _U('depop_vehicle'), value = 'depop_vehicle'},
{label = _U('return_provider'), value = 'return_provider'},
{label = _U('create_bill'), value = 'create_bill'},
{label = _U('get_rented_vehicles'), value = 'get_rented_vehicles'},
{label = _U('set_vehicle_owner_sell'), value = 'set_vehicle_owner_sell'},
@@ -382,26 +424,21 @@ function OpenResellerMenu ()
}
},
function (data, menu)
if data.current.value == 'buy_vehicle' then
local action = data.current.value
if action == 'buy_vehicle' then
OpenShopMenu()
end
if data.current.value == 'put_stock' then
elseif action == 'put_stock' then
OpenPutStocksMenu()
end
if data.current.value == 'get_stock' then
elseif action == 'get_stock' then
OpenGetStocksMenu()
end
if data.current.value == 'pop_vehicle' then
elseif action == 'pop_vehicle' then
OpenPopVehicleMenu()
end
if data.current.value == 'depop_vehicle' then
elseif action == 'depop_vehicle' then
DeleteShopInsideVehicles()
end
if data.current.value == 'create_bill' then
elseif action == 'return_provider' then
ReturnVehicleProvider()
elseif action == 'create_bill' then
local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
if closestPlayer == -1 or closestDistance > 3.0 then
ESX.ShowNotification(_U('no_players'))
@@ -434,13 +471,9 @@ function OpenResellerMenu ()
menu.close()
end
)
end
if data.current.value == 'get_rented_vehicles' then
elseif action == 'get_rented_vehicles' then
OpenRentedVehiclesMenu()
end
if data.current.value == 'set_vehicle_owner_sell' then
elseif action == 'set_vehicle_owner_sell' then
local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
if closestPlayer == -1 or closestDistance > 3.0 then
@@ -463,9 +496,7 @@ function OpenResellerMenu ()
ESX.ShowNotification(_U('vehicle_sold_to', vehicleProps.plate, GetPlayerName(closestPlayer)))
end
end
end
if data.current.value == 'set_vehicle_owner_sell_society' then
elseif action == 'set_vehicle_owner_sell_society' then
local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
if closestPlayer == -1 or closestDistance > 3.0 then
@@ -488,9 +519,7 @@ function OpenResellerMenu ()
end
end, GetPlayerServerId(closestPlayer))
end
end
if data.current.value == 'set_vehicle_owner_rent' then
elseif action == 'set_vehicle_owner_rent' then
ESX.UI.Menu.Open(
'dialog', GetCurrentResourceName(), 'set_vehicle_owner_rent_amount',
{
@@ -596,41 +625,40 @@ function OpenPersonnalVehicleMenu ()
end
function OpenPopVehicleMenu ()
ESX.TriggerServerCallback('esx_vehicleshop:getCommercialVehicles', function (vehicles)
local elements = {}
ESX.TriggerServerCallback('esx_vehicleshop:getCommercialVehicles', function (vehicles)
local elements = {}
for i=1, #vehicles, 1 do
table.insert(elements, {label = vehicles[i].name .. ' [MSRP <span style="color: green;">$' .. vehicles[i].price .. '</span>]', value = vehicles[i].name})
end
for i=1, #vehicles, 1 do
table.insert(elements, {
label = vehicles[i].name .. ' [MSRP <span style="color: green;">$' .. vehicles[i].price .. '</span>]',
value = vehicles[i].name
})
end
ESX.UI.Menu.Open(
'default', GetCurrentResourceName(), 'commercial_vehicles',
{
title = _U('vehicle_dealer'),
align = 'top-left',
elements = elements
},
function (data, menu)
local model = data.current.value
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'commercial_vehicles',
{
title = _U('vehicle_dealer'),
align = 'top-left',
elements = elements
}, function (data, menu)
local model = data.current.value
DeleteShopInsideVehicles()
DeleteShopInsideVehicles()
ESX.Game.SpawnVehicle(model, Config.Zones.ShopInside.Pos, Config.Zones.ShopInside.Heading, function (vehicle)
ESX.Game.SpawnVehicle(model, Config.Zones.ShopInside.Pos, Config.Zones.ShopInside.Heading, function (vehicle)
table.insert(LastVehicles, vehicle)
table.insert(LastVehicles, vehicle)
for i=1, #Vehicles, 1 do
if model == Vehicles[i].model then
CurrentVehicleData = Vehicles[i]
end
end
end)
for i=1, #Vehicles, 1 do
if model == Vehicles[i].model then
CurrentVehicleData = Vehicles[i]
end
end
end)
end,
function (data, menu)
menu.close()
end
)
end)
end, function (data, menu)
menu.close()
end)
end)
end
function OpenRentedVehiclesMenu ()
@@ -965,7 +993,9 @@ Citizen.CreateThread(function ()
ESX.ShowHelpNotification(CurrentActionMsg)
if IsControlJustReleased(0, Keys['E']) then
if CurrentAction == 'reseller_menu' then
if CurrentAction == 'shop_menu' then
OpenShopMenu()
elseif CurrentAction == 'reseller_menu' then
OpenResellerMenu()
elseif CurrentAction == 'give_back_vehicle' then
ESX.TriggerServerCallback('esx_vehicleshop:giveBackVehicle', function (isRentedVehicle)
+3 -3
View File
@@ -1,10 +1,10 @@
Config = {}
Config.DrawDistance = 100.0
Config.MarkerColor = { r = 120, g = 120, b = 240 }
Config.EnablePlayerManagement = false -- If set to true, you need esx_addonaccount, esx_billing and esx_society
Config.EnablePlayerManagement = false -- enables the actual car dealer job. You'll need esx_addonaccount, esx_billing and esx_society
Config.EnablePvCommand = true
Config.EnableOwnedVehicles = true
Config.EnableSocietyOwnedVehicles = false
Config.EnableSocietyOwnedVehicles = false -- use with EnablePlayerManagement disabled, or else it wont have any effects
Config.ResellPercentage = 50
Config.Locale = 'fr'
@@ -32,7 +32,7 @@ Config.Zones = {
ShopOutside = {
Pos = { x = -28.637, y = -1085.691, z = 25.565 },
Size = { x = 1.5, y = 1.5, z = 1.0 },
Heading = 90.0,
Heading = 330.0,
Type = -1,
},
+3 -1
View File
@@ -10,6 +10,7 @@ Locales['br'] = {
['dealer_boss'] = 'Concessionária de carros - Chefe',
['delivered'] = 'veículo ~g~entregue~s~ para o revendedor',
['depop_vehicle'] = 'volte ao veiculo',
['return_provider'] = 'return vehicle to provider',
['deposit_amount'] = 'valor do depósito',
['deposit_money'] = 'depositar dinheiro',
['experianced'] = 'com experiência',
@@ -27,12 +28,12 @@ Locales['br'] = {
['pop_vehicle'] = 'sai do veiculo',
['recruit'] = 'Recrutar',
['rent_vehicle'] = 'Concessionária - Veículos para alugar',
['return_provider_menu'] = 'car Dealer - Return vehicle to provider',
['rental_amount'] = 'montante do aluguel',
['sell_menu'] = 'Pressione ~INPUT_CONTEXT~ para vender ',
['set_vehicle_owner_rent'] = 'Atribuir veículo [Alugar]',
['set_vehicle_owner_sell'] = 'Veículos para [Venda]',
['shop_menu'] = 'pressione ~INPUT_CONTEXT~ para acessar o menu ~y~%s~s~ pela quantidade de ~g~$%s~s~',
['the_boss'] = 'Chefe',
['vehicle'] = 'veículo ',
['vehicle_dealer'] = 'Veículo - Concessionária',
['vehicle_menu'] = 'Pressione ~INPUT_CONTEXT~ para fazer o seu veículo',
@@ -40,6 +41,7 @@ Locales['br'] = {
['vehicle_set_owned'] = 'Veículo ~y~%s~s~ foi atribuído a ~b~%s~s~',
['vehicle_set_rented'] = 'Veículo ~y~%s~s~ foi alugado para ~b~%s~s~',
['vehicle_sold'] = 'Veículo ~g~vendido~s~',
['vehicle_sold_for'] = 'the ~b~%s~s~ has been ~y~sold~s~ for ~g~$%s~s~',
['vehicle_sold_to'] = 'Veículo ~y~%s~s~ vendido to ~b~%s~s~',
['wash_money'] = 'lavagem de dinheiro',
['withdraw_amount'] = 'quantidade de retirada',
+3 -1
View File
@@ -10,6 +10,7 @@ Locales['de'] = {
['dealer_boss'] = 'Autohändler - Boss',
['delivered'] = 'Fahrzeug zum Händler ~g~gebracht~s~',
['depop_vehicle'] = 'Fahrzeug zurückholen',
['return_provider'] = 'return vehicle to provider',
['deposit_amount'] = 'Einzahlbetrag',
['deposit_money'] = 'Geld einzahlen',
['experianced'] = 'erfahren',
@@ -27,13 +28,13 @@ Locales['de'] = {
['pop_vehicle'] = 'Fahrzeug holen',
['recruit'] = 'Neuling',
['rent_vehicle'] = 'Autohändler - Fahrzeuge zum vermieten',
['return_provider_menu'] = 'car Dealer - Return vehicle to provider',
['rental_amount'] = 'Mietbetrag',
['sell_menu'] = 'drücke ~INPUT_CONTEXT~ zum verkaufen ~y~%s~s~ für den Betrag ~g~$%s~s~',
['set_vehicle_owner_rent'] = 'Fahrzeug zuweisen [Mieten]',
['set_vehicle_owner_sell'] = 'Fahrzeuge [Verkauf]',
['set_vehicle_owner_sell_society'] = 'Fahrzeuge [Verkauf] [Society]',
['shop_menu'] = 'Drücke ~INPUT_CONTEXT~ um das Menü zu öffnen',
['the_boss'] = 'boss',
['vehicle'] = 'Fahrzeug ',
['vehicle_dealer'] = 'Autohändler',
['vehicle_menu'] = 'Drücke ~INPUT_CONTEXT~ um ein Fahrzeug zu übergeben',
@@ -41,6 +42,7 @@ Locales['de'] = {
['vehicle_set_owned'] = 'Vehicle ~y~%s~s~ has been assigned to ~b~%s~s~',
['vehicle_set_rented'] = 'Vehicle ~y~%s~s~ has been rented to ~b~%s~s~',
['vehicle_sold'] = 'Fahrzeug ~g~verkauft~s~',
['vehicle_sold_for'] = 'the ~b~%s~s~ has been ~y~sold~s~ for ~g~$%s~s~',
['vehicle_sold_to'] = 'Vehicle ~y~%s~s~ sold to ~b~%s~s~',
['wash_money'] = 'Geld waschen',
['withdraw_amount'] = 'Abhebebetrag',
+6 -4
View File
@@ -7,7 +7,7 @@ Locales['en'] = {
['broke_company'] = 'you do not have enough money in the company account',
['purchase_type'] = 'type of purchase',
['society_type'] = 'society',
['staff_type'] = 'staff',
['staff_type'] = 'personal usage',
['buy_vehicle_shop'] = 'do you want to purchase %s for $%s?',
['buy_vehicle'] = 'buy vehicle',
['car_dealer'] = 'car Dealership',
@@ -15,6 +15,7 @@ Locales['en'] = {
['dealer_boss'] = 'car Dealer - Boss',
['delivered'] = 'the vehicle has been ~g~delivered~s~ to the dealer',
['depop_vehicle'] = 'return vehicle',
['return_provider'] = 'return vehicle to provider',
['deposit_amount'] = 'deposit amount',
['deposit_money'] = 'deposit money',
['experianced'] = 'experianced',
@@ -32,19 +33,20 @@ Locales['en'] = {
['pop_vehicle'] = 'put out vehicle for sale',
['recruit'] = 'recruit',
['rent_vehicle'] = 'car Dealer - Vehicles for rent',
['return_provider_menu'] = 'car Dealer - Return vehicle to provider',
['rental_amount'] = 'rental amount',
['sell_menu'] = 'press ~INPUT_CONTEXT~ to sell your ~y~%s~s~ for ~g~$%s~s~',
['set_vehicle_owner_rent'] = 'assign vehicle [Location]',
['set_vehicle_owner_sell'] = 'Sell vehicle',
['set_vehicle_owner_sell_society'] = 'Assign Vehicle [Sale] [Society]',
['set_vehicle_owner_sell'] = 'sell vehicle',
['set_vehicle_owner_sell_society'] = 'assign Vehicle [Sale] [Society]',
['shop_menu'] = 'press ~INPUT_CONTEXT~ to access the menu',
['the_boss'] = 'boss',
['vehicle_dealer'] = 'vehicle - Car Dealer',
['vehicle_menu'] = 'press ~INPUT_CONTEXT~ to give back the rented vehicle',
['vehicle_purchased'] = 'you bought a vehicle',
['vehicle_set_owned'] = 'vehicle ~y~%s~s~ has been assigned to ~b~%s~s~',
['vehicle_set_rented'] = 'vehicle ~y~%s~s~ has been rented to ~b~%s~s~',
['vehicle_sold'] = 'the vehicle has been ~g~sold~s~',
['vehicle_sold_for'] = 'the ~b~%s~s~ has been ~y~sold~s~ for ~g~$%s~s~',
['vehicle_sold_to'] = 'the vehicle with plate ~y~%s~s~ has been sold to ~b~%s~s~',
['wash_money'] = 'money laundering',
['withdraw_amount'] = 'amount of withdrawal',
+3 -1
View File
@@ -15,6 +15,7 @@ Locales['fi'] = {
['dealer_boss'] = 'autokauppa - Pomo',
['delivered'] = 'ajoneuvo on ~g~kuljetettu~s~ myyjälle',
['depop_vehicle'] = 'palauta ajoneuvo',
['return_provider'] = 'return vehicle to provider',
['deposit_amount'] = 'talletus summa',
['deposit_money'] = 'talleta rahaa',
['experianced'] = 'kokenut',
@@ -32,19 +33,20 @@ Locales['fi'] = {
['pop_vehicle'] = 'ota ajoneuvo ulos näkyville myyntiä varten',
['recruit'] = 'tulokas',
['rent_vehicle'] = 'autokauppa - Vuokrattavat ajokit',
['return_provider_menu'] = 'car Dealer - Return vehicle to provider',
['rental_amount'] = 'vuokran summa',
['sell_menu'] = 'paina ~INPUT_CONTEXT~ myydäksesi ~y~%s~s~ hintaan: ~g~$%s~s~',
['set_vehicle_owner_rent'] = 'määritä ajoneuvon [Vuokra]',
['set_vehicle_owner_sell'] = 'myy ajoneuvo',
['set_vehicle_owner_sell_society'] = 'määritä ajoneuvon [Hinta] [Firma]',
['shop_menu'] = 'paina ~INPUT_CONTEXT~ avataksesi menu',
['the_boss'] = 'pomo',
['vehicle_dealer'] = 'ajonevuo - Autokauppa',
['vehicle_menu'] = 'paina ~INPUT_CONTEXT~ tehdäksesi tästä sinun ajoneuvo',
['vehicle_purchased'] = 'sinä ostit ajoneuvon',
['vehicle_set_owned'] = 'ajoneuvo ~y~%s~s~ on nyt määritetty henkilölle ~b~%s~s~',
['vehicle_set_rented'] = 'ajoneuvo ~y~%s~s~ on nyt vuokrattu henkilölle ~b~%s~s~',
['vehicle_sold'] = 'ajoneuvo ~g~myyty~s~',
['vehicle_sold_for'] = 'the ~b~%s~s~ has been ~y~sold~s~ for ~g~$%s~s~',
['vehicle_sold_to'] = 'ajoneuvo ~y~%s~s~ myyty henkilölle ~b~%s~s~',
['wash_money'] = 'rahanpesu',
['withdraw_amount'] = 'nostettava määrä',
+3 -1
View File
@@ -13,6 +13,7 @@ Locales['fr'] = {
['dealer_boss'] = 'Concessionnaire - Patron',
['delivered'] = 'Véhicule ~g~rendu~s~ au concessionnaire',
['depop_vehicle'] = 'Rentrer véhicule',
['return_provider'] = 'return vehicle to provider',
['deposit_amount'] = 'Montant du dépôt',
['deposit_money'] = 'Déposer argent',
['experianced'] = 'Experimente',
@@ -30,13 +31,13 @@ Locales['fr'] = {
['pop_vehicle'] = 'Sortir véhicule',
['recruit'] = 'Recrue',
['rent_vehicle'] = 'Concessionnaire - Véhicules en location',
['return_provider_menu'] = 'car Dealer - Return vehicle to provider',
['rental_amount'] = 'Montant de la location',
['sell_menu'] = 'Appuez sur ~INPUT_CONTEXT~ pour vendre ~y~%s~s~ au prix de ~g~$%s~s~',
['set_vehicle_owner_rent'] = 'Attribuer véhicule [Location]',
['set_vehicle_owner_sell'] = 'Attribuer véhicule [Vente]',
['set_vehicle_owner_sell_society'] = 'Attribuer véhicule [Vente] [Société]',
['shop_menu'] = 'Appuez sur ~INPUT_CONTEXT~ pour accéder au menu',
['the_boss'] = 'Patron',
['vehicle'] = 'Le véhicule',
['vehicle_dealer'] = 'Concessionnaire - Véhicules',
['vehicle_menu'] = 'Appuez sur ~INPUT_CONTEXT~ pour rendre votre véhicule',
@@ -44,6 +45,7 @@ Locales['fr'] = {
['vehicle_set_owned'] = 'Le véhicule ~y~%s~s~ a été attribué à ~b~%s~s~',
['vehicle_set_rented'] = 'Le véhicule ~y~%s~s~ a été loué à ~b~%s~s~',
['vehicle_sold'] = 'Véhicule ~g~vendu~s~',
['vehicle_sold_for'] = 'the ~b~%s~s~ has been ~y~sold~s~ for ~g~$%s~s~',
['vehicle_sold_to'] = 'Véhicule ~y~%s~s~ vendu à ~b~%s~s~',
['wash_money'] = 'Blanchir argent',
['withdraw_amount'] = 'Montant du retrait',
+7 -5
View File
@@ -5,9 +5,9 @@ Locales['sv'] = {
['vehicle_belongs'] = 'Fordonet med reg numret ~y~%s~s~ tillhör nu ~b~dig~s~',
['bleach amount'] = 'Belopp att tvätta',
['broke_company'] = 'Det finns inte tillräckligt mycket pengar i företagskontot',
['purchase_type'] = 'type of purchase',
['society_type'] = 'society',
['staff_type'] = 'staff',
['purchase_type'] = 'till vem är fordonet?',
['society_type'] = 'företag',
['staff_type'] = 'personlig användning',
['buy_vehicle_shop'] = 'Vill du köpa in %s för $%s?',
['buy_vehicle'] = 'Köp in fordon',
['car_dealer'] = 'Bilhandlaren',
@@ -15,6 +15,7 @@ Locales['sv'] = {
['dealer_boss'] = 'Chefmeny',
['delivered'] = 'Fordonet har ~g~levererats~s~ till firman',
['depop_vehicle'] = 'Ställ tillbaka fordonet',
['return_provider'] = 'sälj tillbaka fordon till leverantör',
['deposit_amount'] = 'Belopp att lägga in',
['deposit_money'] = 'Belopp att lägga in',
['experianced'] = 'Erfaren',
@@ -31,20 +32,21 @@ Locales['sv'] = {
['personal_vehicle'] = 'Privat fordon',
['pop_vehicle'] = 'Ställ ut fordon till salu',
['recruit'] = 'Anställ',
['rent_vehicle'] = 'Bilhandlaren - Fordon för uthyrning',
['rent_vehicle'] = 'bilförsäljare - Fordon för uthyrning',
['return_provider_menu'] = 'bilförsäljare - sälj tillbaka fordon till leverantör',
['rental_amount'] = 'Uthyrningsbelopp',
['sell_menu'] = 'Tryck ~INPUT_CONTEXT~ för att sälja ~y~%s~s~ för ~g~$%s~s~',
['set_vehicle_owner_rent'] = 'Anse ägare av uthyrt fordon',
['set_vehicle_owner_sell'] = 'Sälj fordon',
['set_vehicle_owner_sell_society'] = 'Assign Vehicle [Sale] [Society]',
['shop_menu'] = 'Tryck ~INPUT_CONTEXT~ för att få fram menyn',
['the_boss'] = 'Chef',
['vehicle_dealer'] = 'vehicle - Car Dealer',
['vehicle_menu'] = 'Tryck på~INPUT_CONTEXT~ för att göra dig till ägare av fordonet',
['vehicle_purchased'] = 'Du köpte fordonet',
['vehicle_set_owned'] = 'Fordonet ~y~%s~s~ har tilldelats till ~b~%s~s~',
['vehicle_set_rented'] = 'Fordonet ~y~%s~s~ har hyrts ut till ~b~%s~s~',
['vehicle_sold'] = 'Fordonet har ~g~sålts~s~',
['vehicle_sold_for'] = '~b~%s~s~ har ~y~sålts~s~ för ~g~$%s~s~',
['vehicle_sold_to'] = '~y~%s~s~ har sålts till ~b~%s~s~',
['wash_money'] = 'Tvätta pengar',
['withdraw_amount'] = 'Belopp att ta ut',
+29
View File
@@ -275,6 +275,35 @@ ESX.RegisterServerCallback('esx_vehicleshop:getCommercialVehicles', function (so
end)
end)
RegisterServerEvent('esx_vehicleshop:returnProvider')
AddEventHandler('esx_vehicleshop:returnProvider', function(vehicleModel)
local _source = source
MySQL.Async.fetchAll('SELECT * FROM cardealer_vehicles WHERE vehicle = @vehicle LIMIT 1', {
['@vehicle'] = vehicleModel
}, function (result)
if result[1] then
local id = result[1].id
local price = ESX.Round(result[1].price * 0.75)
TriggerEvent('esx_addonaccount:getSharedAccount', 'society_cardealer', function(account)
account.addMoney(price)
end)
MySQL.Async.execute('DELETE FROM cardealer_vehicles WHERE id = @id', {
['@id'] = id
})
TriggerClientEvent('esx:showNotification', _source, _U('vehicle_sold_for', vehicleModel, price))
else
print('esx_vehicleshop: ' .. GetPlayerIdentifiers(_source)[1] .. ' attempted selling an invalid vehicle!')
end
end)
end)
ESX.RegisterServerCallback('esx_vehicleshop:getRentedVehicles', function (source, cb)
MySQL.Async.fetchAll('SELECT * FROM rented_vehicles ORDER BY player_name ASC', {}, function (result)
local vehicles = {}