Multi-language support

Added en language support
This commit is contained in:
Don
2017-08-23 01:20:54 -07:00
parent 062ddab0c0
commit 4d901b0b77
6 changed files with 189 additions and 88 deletions
+6
View File
@@ -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
View File
@@ -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)
+1
View File
@@ -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 = {
+47
View File
@@ -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',
}
+47
View File
@@ -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
View File
@@ -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