diff --git a/client/main.lua b/client/main.lua index cc5e2af4..bc5d6b2a 100644 --- a/client/main.lua +++ b/client/main.lua @@ -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 .. ' [$' .. returnPrice .. ']', + 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 $' .. vehicles[i].price .. ']', value = vehicles[i].name}) - end + for i=1, #vehicles, 1 do + table.insert(elements, { + label = vehicles[i].name .. ' [MSRP $' .. vehicles[i].price .. ']', + 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) diff --git a/config.lua b/config.lua index 8458c0f3..6d0f81a5 100644 --- a/config.lua +++ b/config.lua @@ -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, }, diff --git a/locales/br.lua b/locales/br.lua index 072268bd..7b8be885 100644 --- a/locales/br.lua +++ b/locales/br.lua @@ -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', diff --git a/locales/de.lua b/locales/de.lua index ca5369dd..9a460209 100644 --- a/locales/de.lua +++ b/locales/de.lua @@ -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', diff --git a/locales/en.lua b/locales/en.lua index be12da60..d7ea8eca 100644 --- a/locales/en.lua +++ b/locales/en.lua @@ -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', diff --git a/locales/fi.lua b/locales/fi.lua index 88e4e658..2e4a2aaf 100644 --- a/locales/fi.lua +++ b/locales/fi.lua @@ -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ä', diff --git a/locales/fr.lua b/locales/fr.lua index 80ab37f3..3042bc63 100644 --- a/locales/fr.lua +++ b/locales/fr.lua @@ -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', diff --git a/locales/sv.lua b/locales/sv.lua index 21f1d590..0ad82da5 100644 --- a/locales/sv.lua +++ b/locales/sv.lua @@ -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', diff --git a/server/main.lua b/server/main.lua index d623d457..f0e25384 100644 --- a/server/main.lua +++ b/server/main.lua @@ -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 = {}