mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-31 02:08:55 +00:00
Multi-language support
Added en language support
This commit is contained in:
@@ -4,11 +4,17 @@ description 'ESX Vehicle Shop'
|
||||
|
||||
server_scripts {
|
||||
'@mysql-async/lib/MySQL.lua',
|
||||
'@es_extended/locale.lua' ,
|
||||
'locales/en.lua' ,
|
||||
'locales/fr.lua' ,
|
||||
'config.lua',
|
||||
'server/main.lua'
|
||||
}
|
||||
|
||||
client_scripts {
|
||||
'@es_extended/locale.lua' ,
|
||||
'locales/en.lua' ,
|
||||
'locales/fr.lua' ,
|
||||
'config.lua',
|
||||
'client/main.lua'
|
||||
}
|
||||
|
||||
+77
-77
@@ -1,10 +1,10 @@
|
||||
local Keys = {
|
||||
["ESC"] = 322, ["F1"] = 288, ["F2"] = 289, ["F3"] = 170, ["F5"] = 166, ["F6"] = 167, ["F7"] = 168, ["F8"] = 169, ["F9"] = 56, ["F10"] = 57,
|
||||
["~"] = 243, ["1"] = 157, ["2"] = 158, ["3"] = 160, ["4"] = 164, ["5"] = 165, ["6"] = 159, ["7"] = 161, ["8"] = 162, ["9"] = 163, ["-"] = 84, ["="] = 83, ["BACKSPACE"] = 177,
|
||||
["ESC"] = 322, ["F1"] = 288, ["F2"] = 289, ["F3"] = 170, ["F5"] = 166, ["F6"] = 167, ["F7"] = 168, ["F8"] = 169, ["F9"] = 56, ["F10"] = 57,
|
||||
["~"] = 243, ["1"] = 157, ["2"] = 158, ["3"] = 160, ["4"] = 164, ["5"] = 165, ["6"] = 159, ["7"] = 161, ["8"] = 162, ["9"] = 163, ["-"] = 84, ["="] = 83, ["BACKSPACE"] = 177,
|
||||
["TAB"] = 37, ["Q"] = 44, ["W"] = 32, ["E"] = 38, ["R"] = 45, ["T"] = 245, ["Y"] = 246, ["U"] = 303, ["P"] = 199, ["["] = 39, ["]"] = 40, ["ENTER"] = 18,
|
||||
["CAPS"] = 137, ["A"] = 34, ["S"] = 8, ["D"] = 9, ["F"] = 23, ["G"] = 47, ["H"] = 74, ["K"] = 311, ["L"] = 182,
|
||||
["LEFTSHIFT"] = 21, ["Z"] = 20, ["X"] = 73, ["C"] = 26, ["V"] = 0, ["B"] = 29, ["N"] = 249, ["M"] = 244, [","] = 82, ["."] = 81,
|
||||
["LEFTCTRL"] = 36, ["LEFTALT"] = 19, ["SPACE"] = 22, ["RIGHTCTRL"] = 70,
|
||||
["LEFTCTRL"] = 36, ["LEFTALT"] = 19, ["SPACE"] = 22, ["RIGHTCTRL"] = 70,
|
||||
["HOME"] = 213, ["PAGEUP"] = 10, ["PAGEDOWN"] = 11, ["DELETE"] = 178,
|
||||
["LEFT"] = 174, ["RIGHT"] = 175, ["TOP"] = 27, ["DOWN"] = 173,
|
||||
["NENTER"] = 201, ["N4"] = 108, ["N5"] = 60, ["N6"] = 107, ["N+"] = 96, ["N-"] = 97, ["N7"] = 117, ["N8"] = 61, ["N9"] = 118
|
||||
@@ -83,7 +83,7 @@ function OpenShopMenu()
|
||||
local options = {}
|
||||
|
||||
for j=1, #categoryVehicles, 1 do
|
||||
|
||||
|
||||
local vehicle = categoryVehicles[j]
|
||||
|
||||
if i == 1 and j == 1 then
|
||||
@@ -107,7 +107,7 @@ function OpenShopMenu()
|
||||
ESX.UI.Menu.Open(
|
||||
'default', GetCurrentResourceName(), 'vehicle_shop',
|
||||
{
|
||||
title = 'Concessionnaire',
|
||||
title = _U('car_dealer'),
|
||||
align = 'top-left',
|
||||
elements = elements
|
||||
},
|
||||
@@ -118,11 +118,11 @@ function OpenShopMenu()
|
||||
ESX.UI.Menu.Open(
|
||||
'default', GetCurrentResourceName(), 'shop_confirm',
|
||||
{
|
||||
title = 'Acheter ' .. vehicleData.name .. ' pour $' .. vehicleData.price .. ' ?',
|
||||
title = _U('buy').. vehicleData.name .. _U('for').. vehicleData.price .. ' ?',
|
||||
align = 'top-left',
|
||||
elements = {
|
||||
{label = 'Oui', value = 'yes'},
|
||||
{label = 'Non', value = 'no'},
|
||||
{label = _U('yes'), value = 'yes'},
|
||||
{label = _U('no'), value = 'no'},
|
||||
}
|
||||
},
|
||||
function(data2, menu2)
|
||||
@@ -140,9 +140,9 @@ function OpenShopMenu()
|
||||
DeleteShopInsideVehicles()
|
||||
|
||||
local playerPed = GetPlayerPed(-1)
|
||||
|
||||
|
||||
CurrentAction = 'shop_menu'
|
||||
CurrentActionMsg = 'Appuez sur ~INPUT_CONTEXT~ pour accéder au menu'
|
||||
CurrentActionMsg = _U('shop_menu')
|
||||
CurrentActionData = {}
|
||||
|
||||
FreezeEntityPosition(playerPed, false)
|
||||
@@ -152,9 +152,9 @@ function OpenShopMenu()
|
||||
menu2.close()
|
||||
menu.close()
|
||||
|
||||
ESX.ShowNotification('Vous avez acheté un véhicule')
|
||||
ESX.ShowNotification(_U('vehicle_purchased'))
|
||||
else
|
||||
ESX.ShowNotification('Vous n\'avez pas assez d\'argent sur votre compte société')
|
||||
ESX.ShowNotification(_U('broke_company'))
|
||||
end
|
||||
|
||||
end, vehicleData.model)
|
||||
@@ -177,7 +177,7 @@ function OpenShopMenu()
|
||||
y = Config.Zones.ShopOutside.Pos.y,
|
||||
z = Config.Zones.ShopOutside.Pos.z
|
||||
}, -20.0, function(vehicle)
|
||||
|
||||
|
||||
TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
|
||||
|
||||
local vehicleProps = ESX.Game.GetVehicleProperties(vehicle)
|
||||
@@ -190,7 +190,7 @@ function OpenShopMenu()
|
||||
SetEntityVisible(playerPed, true)
|
||||
|
||||
else
|
||||
ESX.ShowNotification('Vous n\'avez pas assez d\'argent')
|
||||
ESX.ShowNotification(_U('not_enough_money'))
|
||||
end
|
||||
|
||||
end, vehicleData.model)
|
||||
@@ -211,7 +211,7 @@ function OpenShopMenu()
|
||||
|
||||
end,
|
||||
function(data, menu)
|
||||
|
||||
|
||||
menu.close()
|
||||
|
||||
DeleteShopInsideVehicles()
|
||||
@@ -219,7 +219,7 @@ function OpenShopMenu()
|
||||
local playerPed = GetPlayerPed(-1)
|
||||
|
||||
CurrentAction = 'shop_menu'
|
||||
CurrentActionMsg = 'Appuez sur ~INPUT_CONTEXT~ pour accéder au menu'
|
||||
CurrentActionMsg = _U('shop_menu')
|
||||
CurrentActionData = {}
|
||||
|
||||
FreezeEntityPosition(playerPed, false)
|
||||
@@ -275,15 +275,15 @@ function OpenResellerMenu()
|
||||
ESX.UI.Menu.Open(
|
||||
'default', GetCurrentResourceName(), 'reseller',
|
||||
{
|
||||
title = 'Concessionnaire',
|
||||
title = _U('car_dealer'),
|
||||
align = 'top-left',
|
||||
elements = {
|
||||
{label = 'Sortir véhicule', value = 'pop_vehicle'},
|
||||
{label = 'Rentrer véhicule', value = 'depop_vehicle'},
|
||||
{label = 'Créer facture', value = 'create_bill'},
|
||||
{label = 'Véhicules en location', value = 'get_rented_vehicles'},
|
||||
{label = 'Attribuer véhicule [Vente]', value = 'set_vehicle_owner_sell'},
|
||||
{label = 'Attribuer véhicule [Location]', value = 'set_vehicle_owner_rent'},
|
||||
{label = _U('pop_vehicle'), value = 'pop_vehicle'},
|
||||
{label = _U('depop_vehicle'), value = 'depop_vehicle'},
|
||||
{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'},
|
||||
{label = _U('set_vehicle_owner_rent'), value = 'set_vehicle_owner_rent'},
|
||||
}
|
||||
},
|
||||
function(data, menu)
|
||||
@@ -301,24 +301,24 @@ function OpenResellerMenu()
|
||||
ESX.UI.Menu.Open(
|
||||
'dialog', GetCurrentResourceName(), 'set_vehicle_owner_sell_amount',
|
||||
{
|
||||
title = 'Montant de la facture'
|
||||
title = _U('invoice_amount')
|
||||
},
|
||||
function(data2, menu)
|
||||
|
||||
local amount = tonumber(data2.value)
|
||||
|
||||
if amount == nil then
|
||||
ESX.ShowNotification('Montant invalide')
|
||||
ESX.ShowNotification(_U('invoice_amount'))
|
||||
else
|
||||
|
||||
|
||||
menu.close()
|
||||
|
||||
local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
|
||||
|
||||
if closestPlayer == -1 or closestDistance > 3.0 then
|
||||
ESX.ShowNotification('Aucun joueur à proximité')
|
||||
ESX.ShowNotification(_U('invoice_amount'))
|
||||
else
|
||||
TriggerServerEvent('esx_billing:sendBill', GetPlayerServerId(closestPlayer), 'society_cardealer', 'Concessionnaire', tonumber(data2.value))
|
||||
TriggerServerEvent('esx_billing:sendBill', GetPlayerServerId(closestPlayer), 'society_cardealer', _U('car_dealership'), tonumber(data2.value))
|
||||
end
|
||||
|
||||
end
|
||||
@@ -340,7 +340,7 @@ function OpenResellerMenu()
|
||||
local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
|
||||
|
||||
if closestPlayer == -1 or closestDistance > 3.0 then
|
||||
ESX.ShowNotification('Aucun joueur à proximité')
|
||||
ESX.ShowNotification(_U('no_players'))
|
||||
else
|
||||
|
||||
local vehicleProps = ESX.Game.GetVehicleProperties(LastVehicles[#LastVehicles])
|
||||
@@ -357,22 +357,22 @@ function OpenResellerMenu()
|
||||
ESX.UI.Menu.Open(
|
||||
'dialog', GetCurrentResourceName(), 'set_vehicle_owner_rent_amount',
|
||||
{
|
||||
title = 'Montant de la location'
|
||||
title = _U('rental_amount')
|
||||
},
|
||||
function(data2, menu)
|
||||
|
||||
local amount = tonumber(data2.value)
|
||||
|
||||
if amount == nil then
|
||||
ESX.ShowNotification('Montant invalide')
|
||||
ESX.ShowNotification(_U('invalid_amount'))
|
||||
else
|
||||
|
||||
|
||||
menu.close()
|
||||
|
||||
local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
|
||||
|
||||
if closestPlayer == -1 or closestDistance > 5.0 then
|
||||
ESX.ShowNotification('Aucun joueur à proximité')
|
||||
ESX.ShowNotification(_U('no_players'))
|
||||
else
|
||||
|
||||
SetVehicleNumberPlateText(LastVehicles[#LastVehicles], 'LOC ' .. ESX.GetRandomString(5))
|
||||
@@ -397,11 +397,11 @@ function OpenResellerMenu()
|
||||
|
||||
end,
|
||||
function(data, menu)
|
||||
|
||||
|
||||
menu.close()
|
||||
|
||||
CurrentAction = 'reseller_menu'
|
||||
CurrentActionMsg = 'Appuez sur ~INPUT_CONTEXT~ pour accéder au menu'
|
||||
CurrentActionMsg = _U('shop_menu')
|
||||
CurrentActionData = {}
|
||||
|
||||
end
|
||||
@@ -432,12 +432,12 @@ function OpenPersonnalVehicleMenu()
|
||||
ESX.UI.Menu.Open(
|
||||
'default', GetCurrentResourceName(), 'personnal_vehicle',
|
||||
{
|
||||
title = 'Véhicule personnel',
|
||||
title = _U('personal_vehicle'),
|
||||
align = 'top-left',
|
||||
elements = elements
|
||||
},
|
||||
function(data, menu)
|
||||
|
||||
|
||||
local playerPed = GetPlayerPed(-1)
|
||||
local coords = GetEntityCoords(playerPed)
|
||||
local heading = GetEntityHeading(playerPed)
|
||||
@@ -476,7 +476,7 @@ function OpenPopVehicleMenu()
|
||||
ESX.UI.Menu.Open(
|
||||
'default', GetCurrentResourceName(), 'commercial_vehicles',
|
||||
{
|
||||
title = 'Concessionnaire - Véhicules',
|
||||
title = _U('vehicle_dealer'),
|
||||
align = 'top-left',
|
||||
elements = elements
|
||||
},
|
||||
@@ -491,7 +491,7 @@ function OpenPopVehicleMenu()
|
||||
y = Config.Zones.ShopInside.Pos.y,
|
||||
z = Config.Zones.ShopInside.Pos.z
|
||||
}, 90.0, function(vehicle)
|
||||
|
||||
|
||||
table.insert(LastVehicles, vehicle)
|
||||
|
||||
for i=1, #Vehicles, 1 do
|
||||
@@ -525,7 +525,7 @@ function OpenRentedVehiclesMenu()
|
||||
ESX.UI.Menu.Open(
|
||||
'default', GetCurrentResourceName(), 'rented_vehicles',
|
||||
{
|
||||
title = 'Concessionnaire - Véhicules en location',
|
||||
title = _U('rent_vehicle'),
|
||||
align = 'top-left',
|
||||
elements = elements
|
||||
},
|
||||
@@ -546,13 +546,13 @@ function OpenBossActionsMenu()
|
||||
ESX.UI.Menu.Open(
|
||||
'default', GetCurrentResourceName(), 'reseller',
|
||||
{
|
||||
title = 'Concessionnaire - Patron',
|
||||
title = _U('dealer_boss'),
|
||||
align = 'top-left',
|
||||
elements = {
|
||||
{label = 'Acheter véhicule', value = 'buy_vehicle'},
|
||||
{label = 'Retirer argent société', value = 'withdraw_society_money'},
|
||||
{label = 'Déposer argent ', value = 'deposit_money'},
|
||||
{label = 'Blanchir argent', value = 'wash_money'}
|
||||
{label = _U('buy_vehicle'), value = 'buy_vehicle'},
|
||||
{label = _U('withdraw_money'), value = 'withdraw_society_money'},
|
||||
{label = _U('deposit_money'), value = 'deposit_money'},
|
||||
{label = _U('wash_money'), value = 'wash_money'}
|
||||
}
|
||||
},
|
||||
function(data, menu)
|
||||
@@ -566,14 +566,14 @@ function OpenBossActionsMenu()
|
||||
ESX.UI.Menu.Open(
|
||||
'dialog', GetCurrentResourceName(), 'withdraw_society_money_amount',
|
||||
{
|
||||
title = 'Montant du retrait'
|
||||
title = _U('withdraw_amount'),
|
||||
},
|
||||
function(data, menu)
|
||||
|
||||
local amount = tonumber(data.value)
|
||||
|
||||
if amount == nil then
|
||||
ESX.ShowNotification('Montant invalide')
|
||||
ESX.ShowNotification(_U('invalid_amount'))
|
||||
else
|
||||
menu.close()
|
||||
TriggerServerEvent('esx_society:withdrawMoney', 'cardealer', amount)
|
||||
@@ -592,14 +592,14 @@ function OpenBossActionsMenu()
|
||||
ESX.UI.Menu.Open(
|
||||
'dialog', GetCurrentResourceName(), 'deposit_money_amount',
|
||||
{
|
||||
title = 'Montant du dépôt'
|
||||
title = _U('deposit_money'),
|
||||
},
|
||||
function(data, menu)
|
||||
|
||||
local amount = tonumber(data.value)
|
||||
|
||||
if amount == nil then
|
||||
ESX.ShowNotification('Montant invalide')
|
||||
ESX.ShowNotification(_U('invalid_amount'))
|
||||
else
|
||||
menu.close()
|
||||
TriggerServerEvent('esx_society:depositMoney', 'cardealer', amount)
|
||||
@@ -618,14 +618,14 @@ function OpenBossActionsMenu()
|
||||
ESX.UI.Menu.Open(
|
||||
'dialog', GetCurrentResourceName(), 'wash_money_amount',
|
||||
{
|
||||
title = 'Montant à blanchir'
|
||||
title = _U('bleach_amount'),
|
||||
},
|
||||
function(data, menu)
|
||||
|
||||
local amount = tonumber(data.value)
|
||||
|
||||
if amount == nil then
|
||||
ESX.ShowNotification('Montant invalide')
|
||||
ESX.ShowNotification(_U('invalid_amount'))
|
||||
else
|
||||
menu.close()
|
||||
TriggerServerEvent('esx_society:washMoney', 'cardealer', amount)
|
||||
@@ -641,11 +641,11 @@ function OpenBossActionsMenu()
|
||||
|
||||
end,
|
||||
function(data, menu)
|
||||
|
||||
|
||||
menu.close()
|
||||
|
||||
CurrentAction = 'boss_actions_menu'
|
||||
CurrentActionMsg = 'Appuez sur ~INPUT_CONTEXT~ pour accéder au menu'
|
||||
CurrentActionMsg = _U('shop_menu')
|
||||
CurrentActionData = {}
|
||||
|
||||
end
|
||||
@@ -655,7 +655,7 @@ end
|
||||
|
||||
RegisterNetEvent('esx:playerLoaded')
|
||||
AddEventHandler('esx:playerLoaded', function(xPlayer)
|
||||
|
||||
|
||||
PlayerData = xPlayer
|
||||
|
||||
if Config.EnablePlayerManagement then
|
||||
@@ -679,7 +679,7 @@ end)
|
||||
|
||||
RegisterNetEvent('esx:setJob')
|
||||
AddEventHandler('esx:setJob', function(job)
|
||||
|
||||
|
||||
PlayerData.job = job
|
||||
|
||||
if Config.EnablePlayerManagement then
|
||||
@@ -714,14 +714,14 @@ AddEventHandler('esx_vehicleshop:hasEnteredMarker', function(zone)
|
||||
|
||||
if PlayerData.job ~= nil and PlayerData.job.name == 'cardealer' then
|
||||
CurrentAction = 'reseller_menu'
|
||||
CurrentActionMsg = 'Appuez sur ~INPUT_CONTEXT~ pour accéder au menu'
|
||||
CurrentActionMsg = _U('shop_menu')
|
||||
CurrentActionData = {}
|
||||
end
|
||||
|
||||
else
|
||||
|
||||
CurrentAction = 'shop_menu'
|
||||
CurrentActionMsg = 'Appuez sur ~INPUT_CONTEXT~ pour accéder au menu'
|
||||
CurrentActionMsg = _U('shop_menu')
|
||||
CurrentActionData = {}
|
||||
|
||||
end
|
||||
@@ -733,12 +733,12 @@ AddEventHandler('esx_vehicleshop:hasEnteredMarker', function(zone)
|
||||
local playerPed = GetPlayerPed(-1)
|
||||
|
||||
if IsPedInAnyVehicle(playerPed, false) then
|
||||
|
||||
|
||||
local vehicle = GetVehiclePedIsIn(playerPed, false)
|
||||
|
||||
CurrentAction = 'give_back_vehicle'
|
||||
CurrentActionMsg = 'Appuez sur ~INPUT_CONTEXT~ pour rendre votre véhicule'
|
||||
|
||||
CurrentActionMsg = _U('vehicle_menu')
|
||||
|
||||
CurrentActionData = {
|
||||
vehicle = vehicle
|
||||
}
|
||||
@@ -766,8 +766,8 @@ AddEventHandler('esx_vehicleshop:hasEnteredMarker', function(zone)
|
||||
local resellPrice = math.floor(vehicleData.price / 100 * Config.ResellPercentage)
|
||||
|
||||
CurrentAction = 'resell_vehicle'
|
||||
CurrentActionMsg = 'Appuez sur ~INPUT_CONTEXT~ pour vendre ' .. vehicleData.name .. ' au prix de $' .. resellPrice
|
||||
|
||||
CurrentActionMsg = _U('sell_menu').. vehicleData.name .. _U('price') .. resellPrice
|
||||
|
||||
CurrentActionData = {
|
||||
vehicle = vehicle,
|
||||
price = resellPrice
|
||||
@@ -780,7 +780,7 @@ AddEventHandler('esx_vehicleshop:hasEnteredMarker', function(zone)
|
||||
if zone == 'BossActions' and Config.EnablePlayerManagement and PlayerData.job ~= nil and PlayerData.job.name == 'cardealer' and PlayerData.job.grade_name == 'boss' then
|
||||
|
||||
CurrentAction = 'boss_actions_menu'
|
||||
CurrentActionMsg = 'Appuez sur ~INPUT_CONTEXT~ pour accéder au menu'
|
||||
CurrentActionMsg = _U('shop_menu')
|
||||
CurrentActionData = {}
|
||||
|
||||
end
|
||||
@@ -815,7 +815,7 @@ end
|
||||
|
||||
-- Create Blips
|
||||
Citizen.CreateThread(function()
|
||||
|
||||
|
||||
local blip = AddBlipForCoord(Config.Zones.ShopEntering.Pos.x, Config.Zones.ShopEntering.Pos.y, Config.Zones.ShopEntering.Pos.z)
|
||||
|
||||
SetBlipSprite (blip, 326)
|
||||
@@ -824,7 +824,7 @@ Citizen.CreateThread(function()
|
||||
SetBlipAsShortRange(blip, true)
|
||||
|
||||
BeginTextCommandSetBlipName("STRING")
|
||||
AddTextComponentString("Concessionnaire")
|
||||
AddTextComponentString(_U('car_dealer'))
|
||||
EndTextCommandSetBlipName(blip)
|
||||
|
||||
end)
|
||||
@@ -832,11 +832,11 @@ end)
|
||||
-- Display markers
|
||||
Citizen.CreateThread(function()
|
||||
while true do
|
||||
|
||||
|
||||
Wait(0)
|
||||
|
||||
|
||||
local coords = GetEntityCoords(GetPlayerPed(-1))
|
||||
|
||||
|
||||
for k,v in pairs(Config.Zones) do
|
||||
if(v.Type ~= -1 and GetDistanceBetweenCoords(coords, v.Pos.x, v.Pos.y, v.Pos.z, true) < Config.DrawDistance) then
|
||||
DrawMarker(v.Type, v.Pos.x, v.Pos.y, v.Pos.z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, v.Size.x, v.Size.y, v.Size.z, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, false, false, false)
|
||||
@@ -849,9 +849,9 @@ end)
|
||||
-- Enter / Exit marker events
|
||||
Citizen.CreateThread(function()
|
||||
while true do
|
||||
|
||||
|
||||
Wait(0)
|
||||
|
||||
|
||||
local coords = GetEntityCoords(GetPlayerPed(-1))
|
||||
local isInMarker = false
|
||||
local currentZone = nil
|
||||
@@ -890,7 +890,7 @@ Citizen.CreateThread(function()
|
||||
DisplayHelpTextFromStringLabel(0, 0, 1, -1)
|
||||
|
||||
if IsControlPressed(0, Keys['E']) and (GetGameTimer() - GUI.Time) > 300 then
|
||||
|
||||
|
||||
if CurrentAction == 'shop_menu' then
|
||||
OpenShopMenu()
|
||||
end
|
||||
@@ -905,9 +905,9 @@ Citizen.CreateThread(function()
|
||||
|
||||
if isRentedVehicle then
|
||||
DeleteVehicle(CurrentActionData.vehicle)
|
||||
ESX.ShowNotification('Véhicule ~g~rendu~s~ au concessionnaire')
|
||||
ESX.ShowNotification(_U('delivered'))
|
||||
else
|
||||
ESX.ShowNotification('Ce n\'est pas un ~r~véhicule de location~s~')
|
||||
ESX.ShowNotification(_U('not_rental'))
|
||||
end
|
||||
|
||||
end, GetVehicleNumberPlateText(CurrentActionData.vehicle))
|
||||
@@ -920,9 +920,9 @@ Citizen.CreateThread(function()
|
||||
|
||||
if isOwnedVehicle then
|
||||
DeleteVehicle(CurrentActionData.vehicle)
|
||||
ESX.ShowNotification('Véhicule ~g~vendu~s~')
|
||||
ESX.ShowNotification(_U('vehicle_sold'))
|
||||
else
|
||||
ESX.ShowNotification('Ce véhicule ne vous appartient pas')
|
||||
ESX.ShowNotification(_U('not_yours'))
|
||||
end
|
||||
|
||||
end, GetVehicleNumberPlateText(CurrentActionData.vehicle), CurrentActionData.price)
|
||||
@@ -935,7 +935,7 @@ Citizen.CreateThread(function()
|
||||
|
||||
CurrentAction = nil
|
||||
GUI.Time = GetGameTimer()
|
||||
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
@@ -953,4 +953,4 @@ Citizen.CreateThread(function()
|
||||
RequestIpl('v_carshowroom')
|
||||
RequestIpl('shr_int')
|
||||
RequestIpl('shutter_closed')
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -4,6 +4,7 @@ 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.EnablePvCommand = true
|
||||
Config.ResellPercentage = 50
|
||||
Config.Locale = 'fr'
|
||||
|
||||
Config.Zones = {
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
Locales['en'] = {
|
||||
--Global menus
|
||||
['car_dealer'] = 'car Dealership',
|
||||
['buy'] = 'buy',
|
||||
['for'] = 'for $',
|
||||
['yes'] = 'yes',
|
||||
['no'] = 'no',
|
||||
['shop_menu'] = 'press ~INPUT_CONTEXT~ to access the menu',
|
||||
['vehicle_purchase'] = 'you bought a vehicle',
|
||||
['broke_company'] = 'you do not have enough money in the company account',
|
||||
['not_enough_money'] = 'you do not have enough money',
|
||||
['pop_vehicle'] = 'exit vehicle',
|
||||
['depop_vehicle'] = 'return vehicle',
|
||||
['create_bill'] = 'create invoice',
|
||||
['get_rented_vehicles'] = 'vehicles for rent',
|
||||
['set_vehicle_owner_sell'] = 'vehicles for [sale]',
|
||||
['set_vehicle_owner_rent'] = 'assign vehicle [Location]',
|
||||
['invoice_amount'] = 'invoice amount',
|
||||
['invalid_amount'] = 'invalid amount',
|
||||
['no_players'] = 'no players nearby',
|
||||
['rental_amount'] = 'rental amount',
|
||||
['personal_vehicle'] = 'personal vehicle',
|
||||
['vehicle_dealer'] = 'vehicle - Car Dealer',
|
||||
['rent_vehicle'] = 'car Dealer - Vehicles for rent',
|
||||
['dealer_boss'] = 'car Dealer - Boss',
|
||||
['buy_vehicle'] = 'buy vehicle',
|
||||
['withdraw_money'] = 'remove company money',
|
||||
['deposit_money'] = 'deposit money',
|
||||
['wash_money'] = 'money laundering',
|
||||
['withdraw_amount'] = 'amount of withdrawal',
|
||||
['deposit_amount'] = 'deposit amount',
|
||||
['bleach amount'] = 'amount to bleach',
|
||||
['vehicle_menu'] = 'press ~INPUT_CONTEXT~ to make your vehicle',
|
||||
['sell_menu'] = 'press ~INPUT_CONTEXT~ to sell ',
|
||||
['price'] = ' for the amount of $',
|
||||
['delivered'] = 'vehicle ~g~delivered~s~ to the dealer',
|
||||
['not_rental'] = 'this is not a ~r~rental vehicle~s~',
|
||||
['vehicle_sold'] = 'vehicle ~g~sold~s~',
|
||||
['not_yours'] = 'this vehicle does not belong to you',
|
||||
['vehicle'] = 'vehicle ',
|
||||
['belongs'] = ' now belongs to you',
|
||||
['leaving'] = 'leaving a personal vehicle',
|
||||
['paid_rental'] = 'you have ~g~payed~s~ for your vehicle rental : ~g~$',
|
||||
['recruit'] = 'recruit',
|
||||
['experianced'] = 'experianced',
|
||||
['the_boss'] = 'boss',
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
Locales['fr'] = {
|
||||
--Global menus
|
||||
['car_dealer'] = 'Concessionnaire',
|
||||
['buy'] = 'Acheter',
|
||||
['for'] = 'pour $',
|
||||
['yes'] = 'Oui',
|
||||
['no'] = 'Non',
|
||||
['shop_menu'] = 'Appuez sur ~INPUT_CONTEXT~ pour accéder au menu',
|
||||
['vehicle_purchase'] = 'Vous avez acheté un véhicule',
|
||||
['broke_company'] = 'Vous n\'avez pas assez d\'argent sur votre compte société',
|
||||
['not_enough_money'] = 'Vous n\'avez pas assez d\'argent',
|
||||
['pop_vehicle'] = 'Sortir véhicule',
|
||||
['depop_vehicle'] = 'Rentrer véhicule',
|
||||
['create_bill'] = 'Créer facture',
|
||||
['get_rented_vehicles'] = 'Véhicules en location',
|
||||
['set_vehicle_owner_sell'] = 'Attribuer véhicule [Vente]',
|
||||
['set_vehicle_owner_rent'] = 'Attribuer véhicule [Location]',
|
||||
['invoice_amount'] = 'Montant de la facture',
|
||||
['invalid_amount'] = 'Montant invalide',
|
||||
['no_players'] = 'Aucun joueur à proximité',
|
||||
['rental_amount'] = 'Montant de la location',
|
||||
['personal_vehicle'] = 'Véhicule personnel',
|
||||
['vehicle_dealer'] = 'Concessionnaire - Véhicules',
|
||||
['rent_vehicle'] = 'Concessionnaire - Véhicules en location',
|
||||
['dealer_boss'] = 'Concessionnaire - Patron',
|
||||
['buy_vehicle'] = 'Acheter véhicule',
|
||||
['withdraw_money'] = 'Retirer argent société',
|
||||
['deposit_money'] = 'Déposer argent',
|
||||
['wash_money'] = 'Blanchir argent',
|
||||
['withdraw_amount'] = 'Montant du retrait',
|
||||
['deposit_amount'] = 'Montant du dépôt',
|
||||
['bleach amount'] = 'Montant à blanchir',
|
||||
['vehicle_menu'] = 'Appuez sur ~INPUT_CONTEXT~ pour rendre votre véhicule',
|
||||
['sell_menu'] = 'Appuez sur ~INPUT_CONTEXT~ pour vendre',
|
||||
['price'] = 'au prix de $',
|
||||
['delivered'] = 'Véhicule ~g~rendu~s~ au concessionnaire',
|
||||
['not_rental'] = 'Ce n\'est pas un ~r~véhicule de location~s~',
|
||||
['vehicle_sold'] = 'Véhicule ~g~vendu~s~',
|
||||
['not_yours'] = 'Ce véhicule ne vous appartient pas',
|
||||
['vehicle'] = 'Le véhicule',
|
||||
['belongs'] = 'vous appartient désormais',
|
||||
['leaving'] = 'Sortir un véhicule personnel',
|
||||
['paid_rental'] = 'Vous avez ~g~payé~s~ votre location de véhicule : ~g~$',
|
||||
['recruit'] = 'Recrue',
|
||||
['experianced'] = 'Experimente',
|
||||
['the_boss'] = 'Patron',
|
||||
}
|
||||
+11
-11
@@ -67,7 +67,7 @@ AddEventHandler('esx_vehicleshop:setVehicleOwned', function(vehicleProps)
|
||||
['@owner'] = xPlayer.identifier
|
||||
},
|
||||
function(rowsChanged)
|
||||
TriggerClientEvent('esx:showNotification', _source, 'Le véhicule ' .. vehicleProps.plate .. ' vous appartient désormais')
|
||||
TriggerClientEvent('esx:showNotification', _source, _U('vehicle').. vehicleProps.plate .. _('belongs'))
|
||||
end
|
||||
)
|
||||
|
||||
@@ -85,7 +85,7 @@ AddEventHandler('esx_vehicleshop:setVehicleOwnedPlayerId', function(playerId, ve
|
||||
['@owner'] = xPlayer.identifier
|
||||
},
|
||||
function(rowsChanged)
|
||||
TriggerClientEvent('esx:showNotification', playerId, 'Le véhicule ' .. vehicleProps.plate .. ' vous appartient désormais')
|
||||
TriggerClientEvent('esx:showNotification', playerId, _U('vehicle').. vehicleProps.plate .. _('belongs'))
|
||||
end
|
||||
)
|
||||
|
||||
@@ -93,7 +93,7 @@ end)
|
||||
|
||||
RegisterServerEvent('esx_vehicleshop:sellVehicle')
|
||||
AddEventHandler('esx_vehicleshop:sellVehicle', function(vehicle)
|
||||
|
||||
|
||||
MySQL.Async.fetchAll(
|
||||
'SELECT * FROM cardealer_vehicles WHERE vehicle = @vehicle LIMIT 1',
|
||||
{
|
||||
@@ -138,7 +138,7 @@ AddEventHandler('esx_vehicleshop:rentVehicle', function(vehicle, plate, playerNa
|
||||
['@id'] = id
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
MySQL.Async.execute(
|
||||
'INSERT INTO rented_vehicles (vehicle, plate, player_name, base_price, rent_price, owner) VALUES (@vehicle, @plate, @player_name, @base_price, @rent_price, @owner)',
|
||||
{
|
||||
@@ -170,7 +170,7 @@ ESX.RegisterServerCallback('esx_vehicleshop:getVehicles', function(source, cb)
|
||||
end)
|
||||
|
||||
ESX.RegisterServerCallback('esx_vehicleshop:buyVehicle', function(source, cb, vehicleModel)
|
||||
|
||||
|
||||
local xPlayer = ESX.GetPlayerFromId(source)
|
||||
local vehicleData = nil
|
||||
|
||||
@@ -191,7 +191,7 @@ ESX.RegisterServerCallback('esx_vehicleshop:buyVehicle', function(source, cb, ve
|
||||
end)
|
||||
|
||||
ESX.RegisterServerCallback('esx_vehicleshop:buyVehicleSociety', function(source, cb, vehicleModel)
|
||||
|
||||
|
||||
local vehicleData = nil
|
||||
|
||||
for i=1, #Vehicles, 1 do
|
||||
@@ -379,7 +379,7 @@ ESX.RegisterServerCallback('esx_vehicleshop:resellVehicle', function(source, cb,
|
||||
|
||||
xPlayer.addMoney(price)
|
||||
RemoveOwnedVehicle(plate)
|
||||
|
||||
|
||||
cb(true)
|
||||
|
||||
else
|
||||
@@ -408,14 +408,14 @@ TriggerEvent('esx_phone:registerCallback', function(source, phoneNumber, message
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end)
|
||||
|
||||
if Config.EnablePvCommand then
|
||||
|
||||
TriggerEvent('es:addCommand', 'pv', function(source, args, user)
|
||||
TriggerClientEvent('esx_vehicleshop:openPersonnalVehicleMenu', source)
|
||||
end, {help = 'Sortir un véhicule personnel'})
|
||||
end, {help = _U('leaving')})
|
||||
|
||||
end
|
||||
|
||||
@@ -457,8 +457,8 @@ function PayRent(d, h, m)
|
||||
if foundPlayer then
|
||||
|
||||
xPlayer.removeMoney(result[i].rent_price)
|
||||
TriggerClientEvent('esx:showNotification', xPlayer.source, 'Vous avez ~g~payé~s~ votre location de véhicule : ~g~$' .. result[i].rent_price)
|
||||
|
||||
TriggerClientEvent('esx:showNotification', xPlayer.source, _U('paid_rental') .. result[i].rent_price)
|
||||
|
||||
else
|
||||
newMoney[result[i].owner] = newMoney[result[i].owner] - result[i].rent_price
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user