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 Item Testing, testing a description here.
- +
Disabled Item Testing, testing a description here.
- +
Item Testing, 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 @@

ESX Legacy

-

Discord - Website - Documentation

Want More resources? You can browse the ESX Community Github or Cfx.re Releases board for more!