diff --git a/[esx]/es_extended/client/modules/death.lua b/[esx]/es_extended/client/modules/death.lua
index 54b478fb..75361ba0 100644
--- a/[esx]/es_extended/client/modules/death.lua
+++ b/[esx]/es_extended/client/modules/death.lua
@@ -1,32 +1,17 @@
-CreateThread(function()
- local isDead = false
-
- while true do
- local sleep = 1500
- local player = PlayerId()
-
- if NetworkIsPlayerActive(player) then
- local playerPed = PlayerPedId()
-
- if IsPedFatallyInjured(playerPed) and not isDead then
- sleep = 0
- isDead = true
-
- local killerEntity, deathCause = GetPedSourceOfDeath(playerPed), GetPedCauseOfDeath(playerPed)
- local killerClientId = NetworkGetPlayerIndexFromPed(killerEntity)
-
- if killerEntity ~= playerPed and killerClientId and NetworkIsPlayerActive(killerClientId) then
- PlayerKilledByPlayer(GetPlayerServerId(killerClientId), killerClientId, deathCause)
- else
- PlayerKilled(deathCause)
- end
-
- elseif not IsPedFatallyInjured(playerPed) and isDead then
- sleep = 0
- isDead = false
- end
+AddEventHandler('gameEventTriggered', function(event, data)
+ if event ~= 'CEventNetworkEntityDamage' then return end
+ local victim, victimDied = data[1], data[4]
+ if not IsPedAPlayer(victim) then return end
+ local player = PlayerId()
+ local playerPed = PlayerPedId()
+ if victimDied and NetworkGetPlayerIndexFromPed(victim) == player and IsPedDeadOrDying(victim, true) then
+ local killerEntity, deathCause = GetPedSourceOfDeath(playerPed), GetPedCauseOfDeath(playerPed)
+ local killerClientId = NetworkGetPlayerIndexFromPed(killerEntity)
+ if killerEntity ~= playerPed and killerClientId and NetworkIsPlayerActive(killerClientId) then
+ PlayerKilledByPlayer(GetPlayerServerId(killerClientId), killerClientId, deathCause)
+ else
+ PlayerKilled(deathCause)
end
- Wait(sleep)
end
end)
diff --git a/[esx]/es_extended/config.lua b/[esx]/es_extended/config.lua
index d67b1a8f..a72b3f64 100644
--- a/[esx]/es_extended/config.lua
+++ b/[esx]/es_extended/config.lua
@@ -60,7 +60,7 @@ Config.RemoveHudCommonents = {
[22] = false, --HUD_WEAPONS
}
-Config.MaxAdminVehicles = true -- admin vehicles spawn with max vehcle settings
+Config.MaxAdminVehicles = false -- admin vehicles spawn with max vehcle settings
Config.CustomAIPlates = 'ESX.A111' -- Custom plates for AI vehicles
-- Pattern string format
--1 will lead to a random number from 0-9.
diff --git a/[esx]/es_extended/server/classes/player.lua b/[esx]/es_extended/server/classes/player.lua
index f086e224..e15ec671 100644
--- a/[esx]/es_extended/server/classes/player.lua
+++ b/[esx]/es_extended/server/classes/player.lua
@@ -300,10 +300,14 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
end
function self.canCarryItem(name, count, metadata)
- local currentWeight, itemWeight = self.weight, ESX.Items[name].weight
- local newWeight = currentWeight + (itemWeight * count)
+ if ESX.Items[name] then
+ local currentWeight, itemWeight = self.weight, ESX.Items[name].weight
+ local newWeight = currentWeight + (itemWeight * count)
- return newWeight <= self.maxWeight
+ return newWeight <= self.maxWeight
+ else
+ print(('[^3WARNING^7] Item ^5"%s"^7 was used but does not exist!'):format(name))
+ end
end
function self.canSwapItem(firstItem, firstItemCount, testItem, testItemCount)
diff --git a/[esx]/es_extended/server/common.lua b/[esx]/es_extended/server/common.lua
index 61286904..199491b8 100644
--- a/[esx]/es_extended/server/common.lua
+++ b/[esx]/es_extended/server/common.lua
@@ -16,7 +16,7 @@ Core.PlayerFunctionOverrides = {}
AddEventHandler('esx:getSharedObject', function(cb)
local Invoke = GetInvokingResource()
- print(('[^3WARNING^7] ^5%s^7 used ^5esx:getSharedObject^7, this method is deprecated and should not be used! Refer to ^5https://docs.esx-framework.org/tutorials/sharedevent^7 for more info!'):format(Invoke))
+ print(('[^3WARNING^7] ^5%s^7 used ^5esx:getSharedObject^7, this method is deprecated and should not be used, On 30/11/2022 esx:getSharedObject will come to EOL and be fully removed! Refer to ^5https://docs.esx-framework.org/tutorials/sharedevent^7 for more info!'):format(Invoke))
cb(ESX)
end)
@@ -121,4 +121,4 @@ RegisterNetEvent("esx:ReturnVehicleType", function(Type, Request)
Core.ClientCallbacks[Request](Type)
Core.ClientCallbacks[Request] = nil
end
-end)
\ No newline at end of file
+end)
diff --git a/[esx]/esx_context/index.html b/[esx]/esx_context/index.html
index c44b7d3e..fa50034e 100644
--- a/[esx]/esx_context/index.html
+++ b/[esx]/esx_context/index.html
@@ -1,7 +1,8 @@
+
-
+
@@ -9,7 +10,7 @@
ESX Context HUD
-
+
-
+
Unselectable ItemTesting, testing a description here.
-
+
Disabled ItemTesting, testing a description here.
-
+
ItemTesting, testing a description here. Generic words to force overflow.
-
+
+
\ No newline at end of file
diff --git a/[esx]/esx_identity/fxmanifest.lua b/[esx]/esx_identity/fxmanifest.lua
index 48f81e69..7d3db1c9 100644
--- a/[esx]/esx_identity/fxmanifest.lua
+++ b/[esx]/esx_identity/fxmanifest.lua
@@ -29,7 +29,6 @@ files {
'html/index.html',
'html/js/script.js',
'html/css/style.css',
- 'html/img/esx_identity.png'
}
dependency 'es_extended'
diff --git a/[esx]/esx_identity/html/img/esx_identity.png b/[esx]/esx_identity/html/img/esx_identity.png
deleted file mode 100644
index dcfc17c4..00000000
Binary files a/[esx]/esx_identity/html/img/esx_identity.png and /dev/null differ
diff --git a/[esx]/esx_multicharacter/client/main.lua b/[esx]/esx_multicharacter/client/main.lua
index 840576b3..8dbeef6f 100644
--- a/[esx]/esx_multicharacter/client/main.lua
+++ b/[esx]/esx_multicharacter/client/main.lua
@@ -182,7 +182,7 @@ if ESX.GetConfig().Multichar then
elements[#elements+1] = {title = label,icon = "fa-regular fa-user", value = v.id}
end
end
- if #elements < slots then
+ if #elements - 1 < slots then
elements[#elements+1] = {title = _('create_char'), icon = "fa-solid fa-plus", value = (#elements+1), new = true}
end
diff --git a/[esx_addons]/esx_banking/client/main.lua b/[esx_addons]/esx_banking/client/main.lua
index 4dcec7cd..342eefb9 100644
--- a/[esx_addons]/esx_banking/client/main.lua
+++ b/[esx_addons]/esx_banking/client/main.lua
@@ -74,20 +74,6 @@ local function PedHandler(ids)
SetPedCanRagdoll(npc, false)
SetEntityAsMissionEntity(npc, true, true)
SetEntityDynamic(npc, false)
-
- if Config.Target then
- exports.ox_target:addGlobalPed(npc, {
- options = {{
- icon = "fas fa-money-bill-wave",
- label = TranslateCap('access_bank'),
- action = function()
- OpenUi()
- end
- }},
- distance = 2
- })
- end
-
Peds[id] = npc
end
end
@@ -105,9 +91,6 @@ local function PedHandler(ids)
if del then
DeletePed(handle)
- if Config.Target then
- exports.ox_target:removeGlobalPed(handle, {TranslateCap('access_bank')})
- end
end
end
@@ -117,9 +100,7 @@ end
function OpenUi(atm)
atm = atm or false
isInMenu = true
- if not Config.Target then
- ESX.HideUI()
- end
+ ESX.HideUI()
ESX.TriggerServerCallback('esx_banking:getPlayerData', function(data)
SendNUIMessage({
showMenu = true,
@@ -154,7 +135,7 @@ local function CloseUi()
showMenu = false
})
- if not Config.Target and (isInMarker or isInAtmMarker) then
+ if (isInMarker or isInAtmMarker) then
ESX.TextUI(TranslateCap('press_e_banking'))
Listen4Key()
end
@@ -174,40 +155,6 @@ local function StartThread()
CreateThread(function()
CreateBlips()
- if Config.Target then
- exports.ox_target:addModel(Config.AtmModels, {
- options = {{
- icon = 'fas fa-credit-card',
- label = TranslateCap('access_bank'),
- action = function()
- OpenUi(true)
- end
- }},
- distance = 1.5
- })
- if not Config.EnablePeds then
- for i = 1, #Config.Banks do
- local targetInfo = Config.Banks[i].Position
- exports.ox_target:addBoxZone('openBank' .. i, targetInfo.xyz, 1.5, 1.5, {
- name = 'openBank' .. i,
- heading = targetInfo.w,
- minZ = targetInfo.z - 1.0,
- maxZ = targetInfo.z + 1.5,
- debugPoly = Config.Debug
- }, {
- options = {{
- icon = 'fas fa-money-bill-wave',
- label = TranslateCap('access_bank'),
- action = function()
- OpenUi()
- end
- }},
- distance = 2.0
- })
- end
- end
- end
-
while PlayerLoaded do
_PlayerPedId = PlayerPedId()
_GetEntityCoords = GetEntityCoords(_PlayerPedId)
@@ -225,11 +172,11 @@ local function StartThread()
PedHandler(closestPed)
end
- if not Config.Target and not isInMenu and IsPedOnFoot(PlayerPedId()) then
+ if IsPedOnFoot(PlayerPedId()) then
local closestBank = {}
for i = 1, #Config.AtmModels do
- local atm = GetClosestObjectOfType(_GetEntityCoords, 3.0, Config.AtmModels[i], false)
+ local atm = GetClosestObjectOfType(_GetEntityCoords, 8.0, Config.AtmModels[i], false)
if atm ~= 0 then
local atmOffset = GetOffsetFromEntityInWorldCoords(atm, 0.0, -0.7, 0.0)
local atmHeading = GetEntityHeading(atm)
diff --git a/[esx_addons]/esx_banking/config.lua b/[esx_addons]/esx_banking/config.lua
index a76209c3..b6499468 100644
--- a/[esx_addons]/esx_banking/config.lua
+++ b/[esx_addons]/esx_banking/config.lua
@@ -1,7 +1,6 @@
Config = {
Debug = false,
DrawMarker = 10,
- Target = false, -- ox_target (https://github.com/overextended/ox_target)
Locale = 'en',
EnablePeds = true,
AtmModels = {`prop_fleeca_atm`, `prop_atm_01`, `prop_atm_02`, `prop_atm_03`},
diff --git a/[esx_addons]/esx_banking/server/main.lua b/[esx_addons]/esx_banking/server/main.lua
index 3b9f3d76..110c19d9 100644
--- a/[esx_addons]/esx_banking/server/main.lua
+++ b/[esx_addons]/esx_banking/server/main.lua
@@ -48,7 +48,7 @@ AddEventHandler('esx_banking:doingType', function(typeData)
end
amount = ESX.Math.Round(amount)
- if amount == nil or amount <= 0 then
+ if amount == nil or (not typeData.pincode and amount <= 0) then
TriggerClientEvent("esx:showNotification", source, TranslateCap('invalid_amount'), "error")
else
if typeData.deposit and amount <= money then
@@ -79,7 +79,7 @@ AddEventHandler('esx_banking:doingType', function(typeData)
TriggerClientEvent("esx:showNotification", source,
TranslateCap(string.format('%s_money', key), amount, typeData.transfer.playerId), "success")
else
- TriggerClientEvent("esx:showNotification", source, TranslateCap(string.format('%s_money', key), amount), "success")
+ TriggerClientEvent("esx:showNotification", source, TranslateCap(string.format('%s_money', key), typeData.pincode and (string.format("%04d", amount)) or amount), "success")
end
if not typeData.pincode then
BANK.LogTransaction(source, string.upper(key), amount, bankMoney)
diff --git a/[esx_addons]/esx_garage/locales/it.lua b/[esx_addons]/esx_garage/locales/it.lua
new file mode 100644
index 00000000..745de4cb
--- /dev/null
+++ b/[esx_addons]/esx_garage/locales/it.lua
@@ -0,0 +1,25 @@
+Locales["it"] = {
+ ["parking_blip_name"] = 'Garage',
+ ["Impound_blip_name"] = 'sequestro',
+ ["access_parking"] = 'premi [E] per accedere al parcheggio.',
+ ["access_Impound"] = 'premi [E] per accedere al sequestro.',
+ ["park_veh"] = 'premi [E] per parcheggiare il veicolo.',
+ ["not_owning_veh"] = 'non possiedi questo veicolo!',
+ ['veh_released' ] = ' Veicolo recuperato con successo. ' ,
+ ['veh_Impound_released'] = ' Veicolo recuperato con successo dal sequestro. ' ,
+ ['veh_stored'] = ' Veicolo depositato con successo ' ,
+ ['veh_impounded'] = ' Veicolo sequestrato ' ,
+ ['no_veh_parking'] = ' Nessun veicolo immagazzinato qui. ' ,
+ ['no_veh_impounded'] = ' Nessun veicolo sequestrato. ' ,
+ ['no_veh_Impound'] = ' non hai veicoli sequestrati. ' ,
+ ['veh_model'] = ' Modello ' ,
+ ['veh_plate'] = ' targa ' ,
+ ['veh_condition'] = ' Condizione ' ,
+ ['veh_action ' ] = ' Azione ' ,
+ ['impound_action' ] = ' Sequestro ' ,
+ ['veh_exit' ] = ' Ritira veicolo ' ,
+ ['pay_impound' ] = ' Paga sequestro ' ,
+ ['veh_block' ] = ' Impossibile recuperare il veicolo, la posizione di spawn è bloccata. ' ,
+ ['pay_Impound_bill' ] = 'hai pagato ~g~$%s~s~ al sequestro. ' ,
+ ['missing_money' ] = ' Non hai abbastanza soldi. '
+}
diff --git a/[esx_addons]/esx_lscustom/client/main.lua b/[esx_addons]/esx_lscustom/client/main.lua
index b598f9b8..c5c79fd6 100644
--- a/[esx_addons]/esx_lscustom/client/main.lua
+++ b/[esx_addons]/esx_lscustom/client/main.lua
@@ -17,6 +17,15 @@ AddEventHandler('esx_lscustom:installMod', function()
TriggerServerEvent('esx_lscustom:refreshOwnedVehicle', myCar)
end)
+RegisterNetEvent('esx_lscustom:restoreMods', function(netId, props)
+ local xVehicle = NetworkGetEntityFromNetworkId(netId)
+ if props ~= nil then
+ if DoesEntityExist(xVehicle) then
+ ESX.Game.SetVehicleProperties(xVehicle, props)
+ end
+ end
+end)
+
RegisterNetEvent('esx_lscustom:cancelInstallMod')
AddEventHandler('esx_lscustom:cancelInstallMod', function()
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
@@ -51,7 +60,6 @@ AddEventHandler('onResourceStop', function(resource)
end
end)
-
function OpenLSMenu(elems, menuName, menuTitle, parent)
ESX.UI.Menu.Open('default', GetCurrentResourceName(), menuName, {
title = menuTitle,
@@ -82,7 +90,7 @@ function OpenLSMenu(elems, menuName, menuTitle, parent)
break
end
end
-
+
if isRimMod then
price = math.floor(vehiclePrice * data.current.price / 100)
TriggerServerEvent('esx_lscustom:buyMod', price)
@@ -120,6 +128,7 @@ function OpenLSMenu(elems, menuName, menuTitle, parent)
lsMenuIsShowed = false
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
FreezeEntityPosition(vehicle, false)
+ TriggerServerEvent('esx_lscustom:stopModing', myCar.plate)
myCar = {}
end
end, function(data, menu) -- on change
@@ -170,7 +179,6 @@ function GetAction(data)
local playerPed = PlayerPedId()
local vehicle = GetVehiclePedIsIn(playerPed, false)
local currentMods = ESX.Game.GetVehicleProperties(vehicle)
-
if data.value == 'modSpeakers' or data.value == 'modTrunk' or data.value == 'modHydrolic' or data.value ==
'modEngineBlock' or data.value == 'modAirFilter' or data.value == 'modStruts' or data.value == 'modTank' then
SetVehicleDoorOpen(vehicle, 4, false)
@@ -503,6 +511,9 @@ CreateThread(function()
local vehicle = GetVehiclePedIsIn(playerPed, false)
FreezeEntityPosition(vehicle, true)
myCar = ESX.Game.GetVehicleProperties(vehicle)
+
+ local netId = NetworkGetNetworkIdFromEntity(vehicle)
+ TriggerServerEvent('esx_lscustom:startModing', myCar, netId)
ESX.UI.Menu.CloseAll()
GetAction({
diff --git a/[esx_addons]/esx_lscustom/locales/it.lua b/[esx_addons]/esx_lscustom/locales/it.lua
new file mode 100644
index 00000000..96477649
--- /dev/null
+++ b/[esx_addons]/esx_lscustom/locales/it.lua
@@ -0,0 +1,269 @@
+Locales['it'] = {
+ ['by_default'] = 'default',
+ ['installed'] = 'installato',
+ ['already_own'] = 'possiedi già: %s',
+ ['not_enough_money'] = 'non puoi permetterti questa mod!',
+ ['purchased'] = 'hai acquistato la mod!',
+ ['press_custom'] = 'premi ~b~[E]~s~ per personalizzare il tuo veicolo',
+ ['level'] = 'livello %s',
+ ['neon'] = 'neon',
+ ['blip_name'] = 'los Santos Customs',
+-- Paint Colors
+ -- Black
+ ['black'] = 'nero',
+ ['graphite'] = 'grafite',
+ ['black_metallic'] = 'nero metallico',
+ ['caststeel'] = 'acciaio fuso',
+ ['black_anth'] = 'nero antacite',
+ ['matteblack'] = 'nero opaco',
+ ['darknight'] = 'notte oscura',
+ ['deepblack'] = 'nero profondo',
+ ['oil'] = 'olio',
+ ['carbon'] = 'carbonio',
+ -- White
+ ['white'] = 'bianco',
+ ['vanilla'] = 'vaniglia',
+ ['creme'] = 'crema',
+ ['polarwhite'] = 'bianco polare',
+ ['beige'] = 'beige',
+ ['mattewhite'] = 'bianco opaco',
+ ['snow'] = 'neve',
+ ['cotton'] = 'cotone',
+ ['alabaster'] = 'alabastro',
+ ['purewhite'] = 'bianco puro',
+ -- Grey
+ ['grey'] = 'grigio',
+ ['silver'] = 'argento',
+ ['metallicgrey'] = 'grigio metallico',
+ ['laminatedsteel'] = 'acciaio laminato',
+ ['darkgray'] = 'grigio scuro',
+ ['rockygray'] = 'grigio roccioso',
+ ['graynight'] = 'grigio notte',
+ ['aluminum'] = 'alluminio',
+ ['graymat'] = 'grigio opaco',
+ ['lightgrey'] = 'grigio chiaro',
+ ['asphaltgray'] = 'grigio asfalto',
+ ['grayconcrete'] = 'grigio cemento',
+ ['darksilver'] = 'argento scuro',
+ ['magnesite'] = 'magnesite',
+ ['nickel'] = 'nickel',
+ ['zinc'] = 'zinco',
+ ['dolomite'] = 'dolomite',
+ ['bluesilver'] = 'argento blu',
+ ['titanium'] = 'titanio',
+ ['steelblue'] = 'blu acciaio',
+ ['champagne'] = 'champagne',
+ ['grayhunter'] = 'grigio cacciatore',
+ -- Red
+ ['red'] = 'rosso',
+ ['torino_red'] = 'rosso torino',
+ ['poppy'] = 'papavero',
+ ['copper_red'] = 'rosso rame',
+ ['cardinal'] = 'rosso cardinale',
+ ['brick'] = 'rosso mattone',
+ ['garnet'] = 'Granato',
+ ['cabernet'] = 'rosso cabernet',
+ ['candy'] = 'caramella rossa',
+ ['matte_red'] = 'rosso opaco',
+ ['dark_red'] = 'rosso scuro',
+ ['red_pulp'] = 'polpa rossa',
+ ['bril_red'] = 'rosso brillante',
+ ['pale_red'] = 'rosso pallido',
+ ['wine_red'] = 'vino rosso',
+ ['volcano'] = 'vulcano',
+ -- Pink
+ ['pink'] = 'rosa',
+ ['electricpink'] = 'rosa elettrico',
+ ['brightpink'] = 'rosa brillante',
+ ['salmon'] = 'rosa salmone',
+ ['sugarplum'] = 'rosa prugna',
+ -- Blue
+ ['blue'] = 'blu',
+ ['topaz'] = 'blu topazio',
+ ['light_blue'] = 'azzurro',
+ ['galaxy_blue'] = 'blu galassia',
+ ['dark_blue'] = 'blu scuro',
+ ['azure'] = 'azzurro',
+ ['navy_blue'] = 'blu marino',
+ ['lapis'] = 'blu lapislazzulo',
+ ['blue_diamond'] = 'blu diamante',
+ ['surfer'] = 'surfista',
+ ['pastel_blue'] = 'blu pastello',
+ ['celeste_blue'] = 'blu celeste',
+ ['rally_blue'] = 'rally Blue',
+ ['blue_paradise'] = 'blu Paradiso',
+ ['blue_night'] = 'blu notte',
+ ['cyan_blue'] = 'blu ciano',
+ ['cobalt'] = 'cobalto',
+ ['electric_blue'] = 'blue elettrico',
+ ['horizon_blue'] = 'blu orizzonte',
+ ['metallic_blue'] = 'blu metallico',
+ ['aquamarine'] = 'acquamarina',
+ ['blue_agathe'] = 'blu agata',
+ ['zirconium'] = 'zirconio',
+ ['spinel'] = 'spinello',
+ ['tourmaline'] = 'tormalina',
+ ['paradise'] = 'paradiso',
+ ['bubble_gum'] = 'blu gomma',
+ ['midnight_blue'] = 'blu mezzanotte',
+ ['forbidden_blue'] = 'blu proibito',
+ ['glacier_blue'] = 'blu glaciale',
+ -- Yellow
+ ['yellow'] = 'giallo',
+ ['wheat'] = 'giallo grano',
+ ['raceyellow'] = 'giallo gara',
+ ['paleyellow'] = 'giallo pallido',
+ ['lightyellow'] = 'giallo chiaro',
+ -- Green
+ ['green'] = 'verde',
+ ['met_dark_green'] = 'verde scuro metallico',
+ ['rally_green'] = 'verde Rally',
+ ['pine_green'] = 'verde pino',
+ ['olive_green'] = 'verde oliva',
+ ['light_green'] = 'verde chiaro',
+ ['lime_green'] = 'verde lime',
+ ['forest_green'] = 'verde foresta',
+ ['lawn_green'] = 'verde prato',
+ ['imperial_green'] = 'verde imperiale',
+ ['green_bottle'] = 'verde bottiglia',
+ ['citrus_green'] = 'verde agrumi',
+ ['green_anis'] = 'verde anici',
+ ['khaki'] = 'cachi',
+ ['army_green'] = 'verde militare',
+ ['dark_green'] = 'verde scuro',
+ ['hunter_green'] = 'verde cacciatore',
+ ['matte_foilage_green'] = 'verde foglia',
+ -- Orange
+ ['orange'] = 'arancione',
+ ['tangerine'] = 'mandarino',
+ ['matteorange'] = 'arancio opaco',
+ ['lightorange'] = 'arancione chiaro',
+ ['peach'] = 'pesca',
+ ['pumpkin'] = 'zucca',
+ ['orangelambo'] = 'arancione Lambo',
+ -- Brown
+ ['brown'] = 'marrone',
+ ['copper'] = 'rame',
+ ['lightbrown'] = 'marrone chiaro',
+ ['darkbrown'] = 'marrone scuro',
+ ['bronze'] = 'Bronzo',
+ ['brownmetallic'] = 'marrone metallico',
+ ['expresso'] = 'Espresso',
+ ['chocolate'] = 'cioccolato',
+ ['terracotta'] = 'Terracotta',
+ ['marble'] = 'Marmo',
+ ['sand'] = 'Sabbia',
+ ['sepia'] = 'Seppia',
+ ['bison'] = 'Bisonte',
+ ['palm'] = 'Palmo',
+ ['caramel'] = 'Caramello',
+ ['rust'] = 'Ruggine',
+ ['chestnut'] = 'Castagna',
+ ['hazelnut'] = 'nocciola',
+ ['shell'] = 'guscio',
+ ['mahogany'] = 'Mogano',
+ ['cauldron'] = 'marrone calderone',
+ ['blond'] = 'marrone biondo',
+ ['gravel'] = 'marrone ghiaia',
+ ['darkearth'] = 'marrone terra scura',
+ ['desert'] = 'deserto',
+ -- Purple
+ ['purple'] = 'viola',
+ ['indigo'] = 'Indaco',
+ ['deeppurple'] = 'viola intenso',
+ ['darkviolet'] = 'viola scuro',
+ ['amethyst'] = 'emetista',
+ ['mysticalviolet'] = 'viola mistico',
+ ['purplemetallic'] = 'viola metallico',
+ ['matteviolet'] = 'viola opaco',
+ ['mattedeeppurple'] = 'viola intenso opaco',
+ -- Chrome
+ ['chrome'] = 'cromato',
+ ['brushedchrome'] = 'cromato spazzolato',
+ ['blackchrome'] = 'nero gromato',
+ ['brushedaluminum'] = 'alluminio spazzolato',
+ -- Metal
+ ['gold'] = 'oro',
+ ['puregold'] = 'oro puro',
+ ['brushedgold'] = 'oro spazzolato',
+ ['lightgold'] = 'oro chiaro',
+-- License Plates
+ ['blue_on_white_1'] = 'blu su bianco 1',
+ ['yellow_on_black'] = 'giallo su nero',
+ ['yellow_blue'] = 'giallo su blu',
+ ['blue_on_white_2'] = 'blu su bianco 2',
+ ['blue_on_white_3'] = 'blu su bianco 3',
+-- Upgrades
+ ['upgrades'] = 'aggiornamenti',
+ ['engine'] = 'motore',
+ ['brakes'] = 'freni',
+ ['transmission'] = 'trasmissione',
+ ['suspension'] = 'ssospensione',
+ ['armor'] = 'armatura',
+ ['turbo'] = 'turbo',
+ ['no_turbo'] = 'no turbo',
+-- Cosmetics
+ ['cosmetics'] = 'cosmetici',
+ -- Body Parts
+ ['bodyparts'] = 'parti del corpo',
+ ['leftfender'] = 'parafango sinistro',
+ ['rightfender'] = 'parafango destro',
+ ['spoilers'] = 'spoiler',
+ ['sideskirt'] = 'gonna laterale',
+ ['cage'] = 'gabbia',
+ ['hood'] = 'cappuccio',
+ ['grille'] = 'griglia',
+ ['rearbumper'] = 'paraurti posteriore',
+ ['frontbumper'] = 'paraurti anteriore',
+ ['exhaust'] = 'scarico',
+ ['roof'] = 'tetto',
+ -- Paint
+ ['respray'] = 'verici',
+ ['primary'] = 'primaria',
+ ['secondary'] = 'secondaria',
+ ['pearlescent'] = 'perlescente',
+ -- Misc
+ ['headlights'] = 'fari',
+ ['licenseplates'] = 'targa',
+ ['windowtint'] = 'tinta finestrino',
+ ['horns'] = 'clacson',
+ -- Neon
+ ['neons'] = 'neons',
+ -- Wheels
+ ['wheels'] = 'ruote',
+ ['tiresmoke'] = 'fumo pneumatici',
+ ['wheel_type'] = 'tipo di ruota',
+ ['wheel_color'] = 'colore cerchione',
+ ['sport'] = 'sport',
+ ['muscle'] = 'muscle',
+ ['lowrider'] = 'lowrider',
+ ['suv'] = 'SUV',
+ ['allterrain'] = 'tutti i terreni',
+ ['tuning'] = 'tuning',
+ ['motorcycle'] = 'moto',
+ ['highend'] = 'fascia alta',
+
+ ['modplateholder'] = 'targa - posteriore',
+ ['modvanityplate'] = 'targa - anteriore',
+ ['interior'] = 'interni',
+ ['trim'] = 'trim',
+ ['dashboard'] = 'cruscotto',
+ ['speedometer'] = 'tachimetro',
+ ['door_speakers'] = 'casse audio',
+ ['seats'] = 'sedili',
+ ['steering_wheel'] = 'volante',
+ ['gear_lever'] = 'leva del cambio',
+ ['quarter_deck'] = 'quarter-deck',
+ ['speakers'] = 'altoparlanti',
+ ['trunk'] = 'tronco',
+ ['hydraulic'] = 'idraulica',
+ ['engine_block'] = 'blocco motore',
+ ['air_filter'] = 'filtro aria',
+ ['struts'] = 'puntoni',
+ ['arch_cover'] = 'cover',
+ ['aerials'] = 'antenne',
+ ['wings'] = 'ali',
+ ['fuel_tank'] = 'serbatoio carburante',
+ ['windows'] = 'finestrini',
+ ['stickers'] = 'Livrea',
+}
diff --git a/[esx_addons]/esx_lscustom/server/main.lua b/[esx_addons]/esx_lscustom/server/main.lua
index 5d95fe1f..a2f41376 100644
--- a/[esx_addons]/esx_lscustom/server/main.lua
+++ b/[esx_addons]/esx_lscustom/server/main.lua
@@ -1,4 +1,40 @@
local Vehicles
+local Customs = {}
+
+RegisterNetEvent('esx_lscustom:startModing', function(props, netId)
+ local src = tostring(source)
+ if Customs[src] then
+ Customs[src][props.plate] = {props = props, netId = netId}
+ else
+ Customs[src] = {}
+ Customs[src][props.plate] = {props = props, netId = netId}
+ end
+end)
+
+RegisterNetEvent('esx_lscustom:stopModing', function(plate)
+ local src = tostring(source)
+ if Customs[src] then
+ Customs[src][tostring(plate)] = nil
+ end
+end)
+
+AddEventHandler('esx:playerDropped', function(src)
+ src = tostring(src)
+ local playersCount = #ESX.GetExtendedPlayers()
+ if Customs[src] then
+ for k,v in pairs(Customs[src]) do
+ local entity = NetworkGetEntityFromNetworkId(v.netId)
+ if DoesEntityExist(entity) then
+ if players > 0 then
+ TriggerClientEvent('esx_lscustom:restoreMods', -1, v.netId, v.props)
+ else
+ DeleteEntity(entity)
+ end
+ end
+ end
+ Customs[src] = nil
+ end
+end)
RegisterServerEvent('esx_lscustom:buyMod')
AddEventHandler('esx_lscustom:buyMod', function(price)
@@ -41,9 +77,9 @@ AddEventHandler('esx_lscustom:refreshOwnedVehicle', function(vehicleProps)
function(result)
if result then
local vehicle = json.decode(result.vehicle)
-
if vehicleProps.model == vehicle.model then
MySQL.update('UPDATE owned_vehicles SET vehicle = ? WHERE plate = ?', {json.encode(vehicleProps), vehicleProps.plate})
+ Customs[tostring(source)][tostring(vehicleProps.plate)].props = props
else
print(('[^3WARNING^7] Player ^5%s^7 Attempted To upgrade with mismatching vehicle model'):format(xPlayer.source))
end
diff --git a/[esx_addons]/esx_property/client/cctv.lua b/[esx_addons]/esx_property/client/cctv.lua
index 6d0ec39e..05b46c25 100644
--- a/[esx_addons]/esx_property/client/cctv.lua
+++ b/[esx_addons]/esx_property/client/cctv.lua
@@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see .
-]]
+]]
function CCTV(PropertyID)
DoScreenFadeOut(500)
Wait(500)
@@ -70,7 +70,7 @@ function CCTV(PropertyID)
PushScaleformMovieFunctionParameterInt(4)
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.CCTV.Controls.ZoomOut, true))
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.CCTV.Controls.ZoomIn, true))
- InstructionButtonMessage(TranslateCap("Zoom"))
+ InstructionButtonMessage(TranslateCap("zoom"))
PopScaleformMovieFunctionVoid()
PushScaleformMovieFunction(scaleform, "SET_DATA_SLOT")
diff --git a/[esx_addons]/esx_property/client/furniture.lua b/[esx_addons]/esx_property/client/furniture.lua
index 7ca92e14..52314fc2 100644
--- a/[esx_addons]/esx_property/client/furniture.lua
+++ b/[esx_addons]/esx_property/client/furniture.lua
@@ -103,14 +103,14 @@ if Config.Furniture.Enabled then
PushScaleformMovieFunctionParameterInt(5)
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.Up, true))
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.Down, true))
- InstructionButtonMessage(TranslateCap("Height"))
+ InstructionButtonMessage(TranslateCap("height"))
PopScaleformMovieFunctionVoid()
PushScaleformMovieFunction(scaleform, "SET_DATA_SLOT")
PushScaleformMovieFunctionParameterInt(7)
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.RotateLeft, true))
N_0xe83a3e3557a56640(GetControlInstructionalButton(1, Config.Furniture.Controls.RotateRight, true))
- InstructionButtonMessage(TranslateCap("Rotation"))
+ InstructionButtonMessage(TranslateCap("rotate"))
PopScaleformMovieFunctionVoid()
PushScaleformMovieFunction(scaleform, "SET_DATA_SLOT")
diff --git a/[esx_addons]/esx_property/client/main.lua b/[esx_addons]/esx_property/client/main.lua
index 4aa41e29..9c2fd4f2 100644
--- a/[esx_addons]/esx_property/client/main.lua
+++ b/[esx_addons]/esx_property/client/main.lua
@@ -281,7 +281,7 @@ function PropertyMenuElements(PropertyId)
value = 'property_wardrobe'})
end
table.insert(elements,
- {title = TranslateCap("Furniture_title"), description = TranslateCap("Furniture_desc"), icon = "fas fa-boxes-stacked", value = 'property_furniture'})
+ {title = TranslateCap("furniture_title"), description = TranslateCap("furniture_desc"), icon = "fas fa-boxes-stacked", value = 'property_furniture'})
end
end
if (not Property.Locked or Config.OwnerCanAlwaysEnter and ESX.PlayerData.identifier == Property.Owner) and not InProperty then
@@ -454,7 +454,7 @@ function OpenPropertyMenu(PropertyId)
local eles = PropertyMenuElements(PropertyId)
exports["esx_context"]:Refresh(eles)
else
- ESX.ShowNotification(TranslateCap("cannot_Sell"), "error")
+ ESX.ShowNotification(TranslateCap("cannot_sell"), "error")
end
end, PropertyId, element.value)
end
@@ -476,7 +476,7 @@ function OpenPropertyMenu(PropertyId)
local eles = PropertyMenuElements(PropertyId)
exports["esx_context"]:Refresh(eles)
else
- ESX.ShowNotification(TranslateCap("cannot_Sell"), "error")
+ ESX.ShowNotification(TranslateCap("cannot_sell"), "error")
end
end, PropertyId)
end
diff --git a/[esx_addons]/esx_property/locales/en.lua b/[esx_addons]/esx_property/locales/en.lua
index 6cd3347b..217c1206 100644
--- a/[esx_addons]/esx_property/locales/en.lua
+++ b/[esx_addons]/esx_property/locales/en.lua
@@ -4,8 +4,8 @@ Locales['en'] = {
["take_picture"] = "Take Picture",
["rot_left_right"] = "Left/Right",
["rot_up_down"] = "Up/Down",
- ["Zoom"] = "Zoom In/Out",
- ["Zoom_level"] = "Zoom Level: %s %",
+ ["zoom"] = "Zoom In/Out",
+ ["zoom_level"] = "Zoom Level: %s %",
["night_vision"] = "Toggle Night Vision",
["clipboard"] = "Link Copied To ~b~Cipboard",
["picture_taken"] = "Picture Taken!",
@@ -14,7 +14,7 @@ Locales['en'] = {
--- Furniture Strings ------
- ["Height"] = "Height",
+ ["height"] = "Height",
["rotate"] = "Rotation",
["place"] = "Place Furniture",
["delete_furni"] = "Delete",
@@ -41,7 +41,7 @@ Locales['en'] = {
["menu_edit"] = "Edit",
["menu_edit_desc"] = "Move and/or Delete furniture items",
["furni_command"] = "furniture",
- ["furni_Command_desc"] = "(ESX Property) Open Furniture Menu",
+ ["furni_command_desc"] = "(ESX Property) Open Furniture Menu",
["furni_command_permission"] = "You ~r~Cannot~s~ Access This Menu!",
["furni_reset_success"] = "Furniture Reset!",
["furni_cannot_afford"] = "You Cannot Afford Todo this!",
@@ -113,8 +113,8 @@ Locales['en'] = {
["inventory_desc"] = "Change Position of Property Storage.",
["wardrobe_title"] = "Wardrobe",
["wardrobe_desc"] = "Change Position of Property Wardrobe.",
- ["Furniture_title"] = "Furniture",
- ["Furniture_desc"] = "Change Position of Property Furniture.",
+ ["furniture_title"] = "Furniture",
+ ["furniture_desc"] = "Change Position of Property Furniture.",
["enter_title"] = "Enter",
["knock_title"] = "Knock On Door",
["buy_title"] = "Buy",
@@ -139,11 +139,11 @@ Locales['en'] = {
["please_finish"] = "Please Finish Setting ~b~%s~s~ Position",
["cannot_afford"] = "You Cannot Purchase This Property!",
["select_player"] = "Select Player",
- ["cannot_Sell"] = "Cannot Sell To This Player!",
+ ["cannot_sell"] = "Cannot Sell To This Player!",
["knock_on_door"] = "Knocking On Door...",
["nobody_home"] = "It Seems Nobody is home...",
- ---------- General Strings ----------------
+ ---------- General Strings ----------------
["enabled"] = "Enabled",
["disabled"] = "Disabled",
@@ -166,7 +166,7 @@ Locales['en'] = {
["cannot_access_property"] = 'You ~r~Cannot~s~ Access this property.',
- ----------------- Creation Menu Strings ----------------
+ ----------------- Creation Menu Strings ----------------
["menu_title"] = "Property Creation",
["element_title1"] = "Street Number",
diff --git a/[esx_addons]/esx_property/locales/nl.lua b/[esx_addons]/esx_property/locales/nl.lua
index b2669538..aa7bc704 100644
--- a/[esx_addons]/esx_property/locales/nl.lua
+++ b/[esx_addons]/esx_property/locales/nl.lua
@@ -4,8 +4,8 @@ Locales['nl'] = {
["take_picture"] = "Neem foto",
["rot_left_right"] = "Links/Rechts",
["rot_up_down"] = "Omhoog/Omblaag",
- ["Zoom"] = "Zoom In/Uit",
- ["Zoom_level"] = "Zoom Level: %s %",
+ ["zoom"] = "Zoom In/Uit",
+ ["zoom_level"] = "Zoom Level: %s %",
["night_vision"] = "Nachtcamera aanzetten",
["clipboard"] = "Link gekopierd naar ~b~klembord",
["picture_taken"] = "Foto genomen!",
@@ -14,7 +14,7 @@ Locales['nl'] = {
--- Furniture Strings ------
- ["Height"] = "Hoogte",
+ ["height"] = "Hoogte",
["rotate"] = "Rotatie",
["place"] = "Plaats Meubel",
["delete_furni"] = "Verwijder",
@@ -41,7 +41,7 @@ Locales['nl'] = {
["menu_edit"] = "Aanpassen",
["menu_edit_desc"] = "Verplaats en/of verwijder meubels",
["furni_command"] = "meubel",
- ["furni_Command_desc"] = "(ESX Property) Open meubel menu",
+ ["furni_command_desc"] = "(ESX Property) Open meubel menu",
["furni_command_permission"] = "Je ~r~Kan dit~s~ menu niet betreden!",
["furni_reset_success"] = "Meubel Reset!",
["furni_cannot_afford"] = "Je kan dit niet betalen!",
@@ -113,8 +113,8 @@ Locales['nl'] = {
["inventory_desc"] = "Verander positie van de berging.",
["wardrobe_title"] = "Kledingkast",
["wardrobe_desc"] = "Verander de positie van de kledingkast.",
- ["Furniture_title"] = "Meubels",
- ["Furniture_desc"] = "Verander de positie van een meubel",
+ ["furniture_title"] = "Meubels",
+ ["furniture_desc"] = "Verander de positie van een meubel",
["enter_title"] = "Ga naar binnen",
["knock_title"] = "Klop op de deur",
["buy_title"] = "Koop",
@@ -139,11 +139,11 @@ Locales['nl'] = {
["please_finish"] = "Maak het plaatsen van ~b~%s~s~ eerst af.",
["cannot_afford"] = "Je kan dit gebouw niet kopen!",
["select_player"] = "Selecteer speler",
- ["cannot_Sell"] = "Kan niet aan deze speler verkopen!",
+ ["cannot_sell"] = "Kan niet aan deze speler verkopen!",
["knock_on_door"] = "Op deur kloppen...",
["nobody_home"] = "Lijkt erop alsof niemand thuis is...",
- ---------- General Strings ----------------
+ ---------- General Strings ----------------
["enabled"] = "Aan",
["disabled"] = "Uit",
@@ -166,7 +166,7 @@ Locales['nl'] = {
["cannot_access_property"] = 'Je ~r~kan niet~s~ dit gebouw betreden.',
- ----------------- Creation Menu Strings ----------------
+ ----------------- Creation Menu Strings ----------------
["menu_title"] = "Gebouw creatie",
["element_title1"] = "Straat nummer",
diff --git a/[esx_addons]/esx_property/locales/tc.lua b/[esx_addons]/esx_property/locales/tc.lua
index a9f75943..30db8f83 100644
--- a/[esx_addons]/esx_property/locales/tc.lua
+++ b/[esx_addons]/esx_property/locales/tc.lua
@@ -4,8 +4,8 @@ Locales['tc'] = {
["take_picture"] = "拍攝照片",
["rot_left_right"] = "左/右",
["rot_up_down"] = "上/下",
- ["Zoom"] = "放大/縮小",
- ["Zoom_level"] = "縮放等級: %s %",
+ ["zoom"] = "放大/縮小",
+ ["zoom_level"] = "縮放等級: %s %",
["night_vision"] = "切換夜視模式",
["clipboard"] = "圖片連結已複製至 ~b~剪貼簿",
["picture_taken"] = "已拍攝照片!",
@@ -14,7 +14,7 @@ Locales['tc'] = {
--- Furniture Strings ------
- ["Height"] = "高度",
+ ["height"] = "高度",
["rotate"] = "角度",
["place"] = "放置家具",
["delete_furni"] = "移除",
@@ -41,7 +41,7 @@ Locales['tc'] = {
["menu_edit"] = "編輯",
["menu_edit_desc"] = "移動、移除家具物品",
["furni_command"] = "furniture",
- ["furni_Command_desc"] = "(ESX Property) 打開家具選單",
+ ["furni_command_desc"] = "(ESX Property) 打開家具選單",
["furni_command_permission"] = "你 ~r~沒有~s~ 此選單的權限!",
["furni_reset_success"] = "家具已重設!",
["furni_cannot_afford"] = "你沒有足夠的金錢進行此操作!",
@@ -113,8 +113,8 @@ Locales['tc'] = {
["inventory_desc"] = "移動房產儲物櫃的位置",
["wardrobe_title"] = "衣櫃",
["wardrobe_desc"] = "移動房產衣櫃的位置",
- ["Furniture_title"] = "家具",
- ["Furniture_desc"] = "移動房產家具的位置",
+ ["furniture_title"] = "家具",
+ ["furniture_desc"] = "移動房產家具的位置",
["enter_title"] = "進入",
["knock_title"] = "敲門",
["buy_title"] = "購買",
@@ -139,7 +139,7 @@ Locales['tc'] = {
["please_finish"] = "請完成 ~b~%s~s~ 的位置設定",
["cannot_afford"] = "你無法購買這個房產!",
["select_player"] = "選擇對象",
- ["cannot_Sell"] = "無法賣給對方!",
+ ["cannot_sell"] = "無法賣給對方!",
["knock_on_door"] = "敲門…",
["nobody_home"] = "看起來沒人在家…",
diff --git a/readme.md b/readme.md
index 9a6bd291..8a75cf37 100644
--- a/readme.md
+++ b/readme.md
@@ -1,5 +1,4 @@