diff --git a/[esx]/es_extended/client/common.lua b/[esx]/es_extended/client/common.lua index 8f12d0fd..c3fc1c36 100644 --- a/[esx]/es_extended/client/common.lua +++ b/[esx]/es_extended/client/common.lua @@ -1,5 +1,7 @@ AddEventHandler('esx:getSharedObject', function(cb) - cb(ESX) + 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)) + cb(ESX) end) exports('getSharedObject', function() diff --git a/[esx]/es_extended/client/functions.lua b/[esx]/es_extended/client/functions.lua index 3ba77831..1282ab43 100644 --- a/[esx]/es_extended/client/functions.lua +++ b/[esx]/es_extended/client/functions.lua @@ -87,7 +87,7 @@ function ESX.ShowNotification(message, type, length) if GetResourceState("esx_notify") ~= "missing" then exports["esx_notify"]:Notify(type, length, message) else - print("[ERROR] Missing esx_notify") + print("[^1ERROR^7] ^5ESX Notify^7 is Missing!") end end @@ -96,7 +96,7 @@ function ESX.TextUI(message, type) if GetResourceState("esx_textui") ~= "missing" then exports["esx_textui"]:TextUI(message, type) else - print("[ERROR] Missing ESX TextUI!") + print("[^1ERROR^7] ^5ESX TextUI^7 is Missing!") return end end @@ -105,7 +105,7 @@ function ESX.HideUI() if GetResourceState("esx_textui") ~= "missing" then exports["esx_textui"]:HideUI() else - print("[ERROR] Missing ESX TextUI!") + print("[^1ERROR^7] ^5ESX TextUI^7 is Missing!") return end end @@ -174,19 +174,19 @@ if GetResourceState("esx_context") ~= "missing" then end else function ESX.OpenContext() - print("[ERROR] Tried to open context menu, but esx_context is missing!") + print("[^1ERROR^7] Tried to ^5open^7 context menu, but ^5esx_context^7 is missing!") end function ESX.PreviewContext() - print("[ERROR] Tried to preview context menu, but esx_context is missing!") + print("[^1ERROR^7] Tried to ^5preview^7 context menu, but ^5esx_context^7 is missing!") end function ESX.CloseContext() - print("[ERROR] Tried to close context menu, but esx_context is missing!") + print("[^1ERROR^7] Tried to ^5close^7 context menu, but ^5esx_context^7 is missing!") end function ESX.RefreshContext() - print("[ERROR] Tried to close context menu, but esx_context is missing!") + print("[^1ERROR^7] Tried to ^5Refresh^7 context menu, but ^5esx_context^7 is missing!") end end @@ -201,9 +201,10 @@ ESX.RegisterInput = function(command_name, label, input_group, key, on_press, on end function ESX.TriggerServerCallback(name, cb, ...) + local Invoke = GetInvokingResource() or "unknown" Core.ServerCallbacks[Core.CurrentRequestId] = cb - TriggerServerEvent('esx:triggerServerCallback', name, Core.CurrentRequestId, ...) + TriggerServerEvent('esx:triggerServerCallback', name, Core.CurrentRequestId,Invoke, ...) Core.CurrentRequestId = Core.CurrentRequestId < 65535 and Core.CurrentRequestId + 1 or 0 end diff --git a/[esx]/es_extended/client/main.lua b/[esx]/es_extended/client/main.lua index d9338792..a165364f 100644 --- a/[esx]/es_extended/client/main.lua +++ b/[esx]/es_extended/client/main.lua @@ -264,17 +264,17 @@ if not Config.OxInventory then RegisterNetEvent('esx:addWeapon') AddEventHandler('esx:addWeapon', function(weapon, ammo) - print("[WARNING] event 'esx:addWeapon' is deprecated. Please use xPlayer.addWeapon Instead!") + print("[^1ERROR^7] event ^5'esx:addWeapon'^7 Has Been Removed. Please use ^5xPlayer.addWeapon^7 Instead!") end) RegisterNetEvent('esx:addWeaponComponent') AddEventHandler('esx:addWeaponComponent', function(weapon, weaponComponent) - print("[WARNING] event 'esx:addWeaponComponent' is deprecated. Please use xPlayer.addWeaponComponent Instead!") + print("[^1ERROR^7] event ^5'esx:addWeaponComponent'^7 Has Been Removed. Please use ^5xPlayer.addWeaponComponent^7 Instead!") end) RegisterNetEvent('esx:setWeaponAmmo') AddEventHandler('esx:setWeaponAmmo', function(weapon, weaponAmmo) - print("[WARNING] event 'esx:setWeaponAmmo' is deprecated. Please use xPlayer.addWeaponComponent Instead!") + print("[^1ERROR^7] event ^5'esx:setWeaponAmmo'^7 Has Been Removed. Please use ^5xPlayer.addWeaponAmmo^7 Instead!") end) RegisterNetEvent('esx:setWeaponTint') @@ -741,3 +741,20 @@ AddEventHandler("esx:freezePlayer", function(input) SetPlayerInvincible(player, false) end end) + +local DoNotUse = { + 'essentialmode', + 'es_admin2', + 'basic-gamemode', + 'mapmanager', + 'fivem-map-skater', + 'fivem-map-hipster', + 'qb-core', + 'default_spawnpoint', +} + +for i=1, #DoNotUse do + if GetResourceState(DoNotUse[i]) == 'started' or GetResourceState(DoNotUse[i]) == 'starting' then + print("[^1ERROR^7] YOU ARE USING A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5"..DoNotUse[i].."^7") + end +end diff --git a/[esx]/es_extended/config.logs.lua b/[esx]/es_extended/config.logs.lua new file mode 100644 index 00000000..b58a8fed --- /dev/null +++ b/[esx]/es_extended/config.logs.lua @@ -0,0 +1,22 @@ +Config.DiscordLogs = { + Webhooks = { + default = '', + test = '', + Chat = '', + UserActions = '', + Resources = '' + }, + + Colors = { -- https://www.spycolor.com/ + default = 14423100, + blue = 255, + red = 16711680, + green = 65280, + white = 16777215, + black = 0, + orange = 16744192, + yellow = 16776960, + pink = 16761035, + lightgreen = 65309 + } +} diff --git a/[esx]/es_extended/config.lua b/[esx]/es_extended/config.lua index 3967c3f1..9cb99e9a 100644 --- a/[esx]/es_extended/config.lua +++ b/[esx]/es_extended/config.lua @@ -30,7 +30,7 @@ Config.EnablePVP = true -- Allow Player to player combat Config.Multichar = true -- Enable support for esx_multicharacter Config.Identity = true -- Select a characters identity data before they have loaded in (this happens by default with multichar) Config.DistanceGive = 4.0 -- Max distance when giving items, weapons etc. -Config.DisableHealthRegen = false -- Player will no longer regenerate health +Config.DisableHealthRegeneration = false -- Player will no longer regenerate health Config.DisableVehicleRewards = false -- Disables Player Recieving weapons from vehicles Config.DisableNPCDrops = false -- stops NPCs from dropping weapons on death Config.DisableWeaponWheel = false -- Disables default weapon wheel diff --git a/[esx]/es_extended/config.weapons.lua b/[esx]/es_extended/config.weapons.lua index 55944bd5..6bc5f974 100644 --- a/[esx]/es_extended/config.weapons.lua +++ b/[esx]/es_extended/config.weapons.lua @@ -961,35 +961,20 @@ Config.Weapons = { -- Tools {name = 'WEAPON_FIREEXTINGUISHER', label = _U('weapon_fireextinguisher'), components = {}, ammo = {label = _U('ammo_charge'), hash = `AMMO_FIREEXTINGUISHER`}}, {name = 'WEAPON_DIGISCANNER', label = _U('weapon_digiscanner'), components = {}}, - {name = 'GADGET_PARACHUTE', label = _U('gadget_parachute'), components = {}} + {name = 'GADGET_PARACHUTE', label = _U('gadget_parachute'), components = {}}, + {name = 'WEAPON_TACTICALRIFLE',label = _U('weapon_tactilerifle'),ammo = {label = _U('ammo_rounds'), hash = `AMMO_RIFLE`},tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = _U('component_clip_default'), hash = `COMPONENT_TACTICALRIFLE_CLIP_01`}, + {name = 'clip_extended', label = _U('component_clip_extended'), hash = `COMPONENT_TACTICALRIFLE_CLIP_02`}, + {name = 'flashlight', label = _U('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH_REH`}, + {name = 'grip', label = _U('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, + {name = 'suppressor', label = _U('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`} + } + }, + {name = 'WEAPON_PRECISIONRIFLE', label = _U('weapon_precisionrifle'), ammo = {label = _U('ammo_rounds'), hash = `AMMO_SNIPER`}, tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = _U('component_clip_default'), hash = `COMPONENT_PRECISIONRIFLE_CLIP_01`}, + } + }, + {name = 'WEAPON_METALDETECTOR', label = _U('weapon_metaldetector'), components = {}} } - - local GameBuild = tonumber(GetConvar("sv_enforceGameBuild", 1604)) - - -- The Criminal Enterprises DLC Weapons - if GameBuild >= 2699 then - local Length = #Config.Weapons - Config.Weapons[Length + 1] = { - name = 'WEAPON_TACTICALRIFLE', - label = _U('weapon_tactilerifle'), - ammo = {label = _U('ammo_rounds'), hash = `AMMO_RIFLE`}, - tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = _U('component_clip_default'), hash = `COMPONENT_TACTICALRIFLE_CLIP_01`}, - {name = 'clip_extended', label = _U('component_clip_extended'), hash = `COMPONENT_TACTICALRIFLE_CLIP_02`}, - {name = 'flashlight', label = _U('component_flashlight'), hash = `COMPONENT_AT_AR_FLSH_REH`}, - {name = 'grip', label = _U('component_grip'), hash = `COMPONENT_AT_AR_AFGRIP`}, - {name = 'suppressor', label = _U('component_suppressor'), hash = `COMPONENT_AT_AR_SUPP_02`} - } - } - Config.Weapons[Length + 2] = { - name = 'WEAPON_PRECISIONRIFLE', - label = _U('weapon_precisionrifle'), - ammo = {label = _U('ammo_rounds'), hash = `AMMO_SNIPER`}, - tints = Config.DefaultWeaponTints, - components = { - {name = 'clip_default', label = _U('component_clip_default'), hash = `COMPONENT_PRECISIONRIFLE_CLIP_01`}, - } - } - Config.Weapons[Length+ 3] = {name = 'WEAPON_METALDETECTOR', label = _U('weapon_metaldetector'), components = {}} - end \ No newline at end of file diff --git a/[esx]/es_extended/fxmanifest.lua b/[esx]/es_extended/fxmanifest.lua index 62081532..16b9adc3 100644 --- a/[esx]/es_extended/fxmanifest.lua +++ b/[esx]/es_extended/fxmanifest.lua @@ -17,7 +17,7 @@ shared_scripts { server_scripts { '@oxmysql/lib/MySQL.lua', - + 'config.logs.lua', 'server/common.lua', 'server/classes/player.lua', 'server/classes/overrides/*.lua', diff --git a/[esx]/es_extended/locales/br.lua b/[esx]/es_extended/locales/br.lua index a9859270..a19f78be 100644 --- a/[esx]/es_extended/locales/br.lua +++ b/[esx]/es_extended/locales/br.lua @@ -100,6 +100,9 @@ Locales['br'] = { ['commanderror_invalidcommand'] = '/%s is not an valid command!', ['commanderror_invalidplayerid'] = 'there is no player online matching that server id', ['commandgeneric_playerid'] = 'o ID do jogador', + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', -- Locale settings ['locale_digit_grouping_symbol'] = ' ', diff --git a/[esx]/es_extended/locales/cs.lua b/[esx]/es_extended/locales/cs.lua index dd11cff6..b338d3fa 100644 --- a/[esx]/es_extended/locales/cs.lua +++ b/[esx]/es_extended/locales/cs.lua @@ -100,6 +100,9 @@ Locales['cs'] = { ['commanderror_invalidcommand'] = '/%s is not an valid command!', ['commanderror_invalidplayerid'] = 'there is no player online matching that server id', ['commandgeneric_playerid'] = 'player id', + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', -- Locale settings ['locale_digit_grouping_symbol'] = ' ', diff --git a/[esx]/es_extended/locales/de.lua b/[esx]/es_extended/locales/de.lua index 36e5e075..944c00ce 100644 --- a/[esx]/es_extended/locales/de.lua +++ b/[esx]/es_extended/locales/de.lua @@ -18,10 +18,10 @@ Locales['de'] = { ['gave_weapon_hasalready'] = '%s hat bereits eine(n) %s', ['gave_weapon_noweapon'] = '%s hat diese Waffe nicht', ['received_weapon'] = 'du erhälst %s von %s', - ['received_weapon_ammo'] = 'du erhälst ~o~%sx %s für dein %s von %s', - ['received_weapon_withammo'] = 'du erhälst %s mit ~o~%sx %s von %s', + ['received_weapon_ammo'] = 'du erhälst %sx %s für dein %s von %s', + ['received_weapon_withammo'] = 'du erhälst %s mit %sx %s von %s', ['received_weapon_hasalready'] = '%s hat versucht dir eine(n) %s zu geben, aber du hast bereits eine(n)', - ['received_weapon_noweapon'] = '%s ahat versucht dir Munition für eine(n) %s, aber du besitzt diese Waffe nicht', + ['received_weapon_noweapon'] = '%s hat versucht dir Munition für eine(n) %s, aber du besitzt diese Waffe nicht', ['gave_account_money'] = 'du gibst $%s (%s) an %s', ['received_account_money'] = 'du empfängst $%s (%s) von %s', ['amount_invalid'] = 'ungültiger Betrag', @@ -32,7 +32,7 @@ Locales['de'] = { ['threw_standard'] = 'du wirfst %sx %s', ['threw_account'] = 'du wirfst $%s %s weg', ['threw_weapon'] = 'du wirfst %s weg', - ['threw_weapon_ammo'] = 'du wirfst %s mit ~o~%sx %s weg', + ['threw_weapon_ammo'] = 'du wirfst %s mit %sx %s weg', ['threw_weapon_already'] = 'Du hast bereits diese Waffe', ['threw_cannot_pickup'] = 'Du kannst das nicht aufheben, da dein Inventar voll ist', ['threw_pickup_prompt'] = 'drücke E um aufzuheben', @@ -47,17 +47,17 @@ Locales['de'] = { ['received_paycheck'] = 'erhaltener Gehaltsscheck', ['bank'] = 'bank', ['account_bank'] = 'bank', - ['account_black_money'] = 'dirty Money', - ['account_money'] = 'cash', + ['account_black_money'] = 'schwarzgeld', + ['account_money'] = 'geld', ['act_imp'] = 'Aktion nicht möglich', ['in_vehicle'] = 'du kannst keine Items in einem Fahrzeug weitergeben', -- Commands ['command_car'] = 'fahrzeug spawnen', - ['command_car_car'] = 'vehicle spawn name or hash', + ['command_car_car'] = 'fahrzeug spawn name oder hash', ['command_cardel'] = 'fahrzeuge in der nähe löschen', - ['command_cardel_radius'] = 'optional, jedes fahrzeug innerhalb des angegebenen radius löschens', + ['command_cardel_radius'] = 'optional, jedes fahrzeug innerhalb des angegebenen radius löschen', ['command_clear'] = 'chat leeren', ['command_clearall'] = 'chat leeren für alle spieler', ['command_clearinventory'] = 'spieler inventar leeren', @@ -88,8 +88,8 @@ Locales['de'] = { ['command_setcoords_z'] = 'z axis', ['command_setjob'] = 'job für einen spieler setzen', ['command_setjob_job'] = 'job name', - ['command_setjob_grade'] = 'job grade', - ['command_setjob_invalid'] = 'der job, grade oder beides ist ungültig', + ['command_setjob_grade'] = 'job rang', + ['command_setjob_invalid'] = 'der job, rang oder beides ist ungültig', ['command_setgroup'] = 'setze spieler gruppe', ['command_setgroup_group'] = 'gruppen name', ['commanderror_argumentmismatch'] = 'argumentanzahl stimmt nicht überein (übergeben %s, gesucht %s)', @@ -98,8 +98,11 @@ Locales['de'] = { ['commanderror_invalidweapon'] = 'ungültige waffe', ['commanderror_console'] = 'der command kann nicht von der konsole ausgeführt werden', ['commanderror_invalidcommand'] = '/%s ist kein verfügbarer command!', - ['commanderror_invalidplayerid'] = 'kein spieler online mit dieser id', + ['commanderror_invalidplayerid'] = 'kein spieler ist online mit dieser id', ['commandgeneric_playerid'] = 'spieler id', + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', -- Locale settings ['locale_digit_grouping_symbol'] = ' ', diff --git a/[esx]/es_extended/locales/en.lua b/[esx]/es_extended/locales/en.lua index 9657d36a..9d736f5d 100644 --- a/[esx]/es_extended/locales/en.lua +++ b/[esx]/es_extended/locales/en.lua @@ -105,6 +105,9 @@ Locales['en'] = { ['commanderror_invalidcommand'] = 'Invalid Command - /%s', ['commanderror_invalidplayerid'] = 'Specified Player is not online', ['commandgeneric_playerid'] = 'Player`s Server Id', + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', -- Locale settings ['locale_digit_grouping_symbol'] = ',', diff --git a/[esx]/es_extended/locales/es.lua b/[esx]/es_extended/locales/es.lua index 33a98f3b..0d47efb2 100644 --- a/[esx]/es_extended/locales/es.lua +++ b/[esx]/es_extended/locales/es.lua @@ -105,6 +105,9 @@ Locales['es'] = { ['commanderror_invalidcommand'] = '/%s ¡No es un comando válido!', ['commanderror_invalidplayerid'] = 'No hay ningún jugador en línea que coincida con la ID del servidor', ['commandgeneric_playerid'] = 'ID del jugador', + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', -- Locale settings ['locale_digit_grouping_symbol'] = ',', diff --git a/[esx]/es_extended/locales/fi.lua b/[esx]/es_extended/locales/fi.lua index d5a99f17..cec26e6c 100644 --- a/[esx]/es_extended/locales/fi.lua +++ b/[esx]/es_extended/locales/fi.lua @@ -100,6 +100,9 @@ Locales['fi'] = { ['commanderror_invalidcommand'] = '/%s is not an valid command!', ['commanderror_invalidplayerid'] = 'there is no player online matching that server id', ['commandgeneric_playerid'] = 'player id', + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', -- Locale settings ['locale_digit_grouping_symbol'] = ' ', diff --git a/[esx]/es_extended/locales/fr.lua b/[esx]/es_extended/locales/fr.lua index 4ebb699f..8285116e 100644 --- a/[esx]/es_extended/locales/fr.lua +++ b/[esx]/es_extended/locales/fr.lua @@ -100,6 +100,9 @@ Locales['fr'] = { ['commanderror_invalidcommand'] = '/%s n\'est pas une commande valide!', ['commanderror_invalidplayerid'] = 'il n\'ya aucun joueur avec cet ID en jeu', ['commandgeneric_playerid'] = 'id joueur', + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', -- Locale settings ['locale_digit_grouping_symbol'] = ' ', diff --git a/[esx]/es_extended/locales/hu.lua b/[esx]/es_extended/locales/hu.lua index 2c54092c..abd4ffa6 100644 --- a/[esx]/es_extended/locales/hu.lua +++ b/[esx]/es_extended/locales/hu.lua @@ -105,6 +105,9 @@ Locales["hu"] = { ["commanderror_invalidcommand"] = "Érvénytelen parancs - /%s", ["commanderror_invalidplayerid"] = "Megadott játékos nem online.", ["commandgeneric_playerid"] = "Játékos Szerver Id", + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', -- Locale settings ["locale_digit_grouping_symbol"] = ",", diff --git a/[esx]/es_extended/locales/nl.lua b/[esx]/es_extended/locales/nl.lua index 8e3cd5eb..bde39f80 100644 --- a/[esx]/es_extended/locales/nl.lua +++ b/[esx]/es_extended/locales/nl.lua @@ -48,7 +48,7 @@ Locales['nl'] = { ['bank'] = 'Doolhofbank', ['account_bank'] = 'Bank', ['account_black_money'] = 'Zwart geld', - ['account_money'] = 'Cash', + ['account_money'] = 'Geld', ['act_imp'] = 'Kan actie niet uitvoeren', ['in_vehicle'] = 'Kan actie niet uitvoeren, speler zit in voertuig', @@ -105,6 +105,9 @@ Locales['nl'] = { ['commanderror_invalidcommand'] = 'Ongeldige opdracht - /%s', ['commanderror_invalidplayerid'] = 'Opgegeven speler is niet online', ['commandgeneric_playerid'] = 'Server-ID van de speler', + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', -- Locale settings ['locale_digit_grouping_symbol'] = ',', diff --git a/[esx]/es_extended/locales/pl.lua b/[esx]/es_extended/locales/pl.lua index 8b064564..235b2d89 100644 --- a/[esx]/es_extended/locales/pl.lua +++ b/[esx]/es_extended/locales/pl.lua @@ -99,6 +99,9 @@ Locales['pl'] = { ['commanderror_invalidcommand'] = '/%s nie jest poprawną komendą!', ['commanderror_invalidplayerid'] = 'brak dostepnego gracza pasującego do podanego id serwerowego', ['commandgeneric_playerid'] = 'id gracza', + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', -- Locale settings ['locale_digit_grouping_symbol'] = ',', diff --git a/[esx]/es_extended/locales/sc.lua b/[esx]/es_extended/locales/sc.lua index ff1daa9a..8c3d6598 100644 --- a/[esx]/es_extended/locales/sc.lua +++ b/[esx]/es_extended/locales/sc.lua @@ -100,6 +100,9 @@ Locales['sc'] = { ['commanderror_invalidcommand'] = '/%s 不是有效的命令!', ['commanderror_invalidplayerid'] = '没有在线玩家匹配到该服务id', ['commandgeneric_playerid'] = '玩家id', + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', -- Locale settings ['locale_digit_grouping_symbol'] = ',', diff --git a/[esx]/es_extended/locales/sv.lua b/[esx]/es_extended/locales/sv.lua index 0de35fb1..734752b1 100644 --- a/[esx]/es_extended/locales/sv.lua +++ b/[esx]/es_extended/locales/sv.lua @@ -100,6 +100,9 @@ Locales['sv'] = { ['commanderror_invalidcommand'] = 'Ogiltigt kommando - /%s', ['commanderror_invalidplayerid'] = 'Angiven spelare är inte online', ['commandgeneric_playerid'] = 'Spelarens server-id', + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', -- Locale settings ['locale_digit_grouping_symbol'] = ' ', diff --git a/[esx]/es_extended/locales/tc.lua b/[esx]/es_extended/locales/tc.lua index f4898f1f..28d12b3d 100644 --- a/[esx]/es_extended/locales/tc.lua +++ b/[esx]/es_extended/locales/tc.lua @@ -100,6 +100,9 @@ Locales['tc'] = { ['commanderror_invalidcommand'] = '/%s 不是有效的指令!', ['commanderror_invalidplayerid'] = '無效的玩家ID', ['commandgeneric_playerid'] = '玩家id', + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', -- Locale settings ['locale_digit_grouping_symbol'] = ',', diff --git a/[esx]/es_extended/server/classes/player.lua b/[esx]/es_extended/server/classes/player.lua index 29b0f601..89575309 100644 --- a/[esx]/es_extended/server/classes/player.lua +++ b/[esx]/es_extended/server/classes/player.lua @@ -174,7 +174,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, function self.setAccountMoney(accountName, money, reason) reason = reason or 'unknown' if not tonumber(money) then - print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number!'):format(accountName, self.playerId)) + print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7'):format(accountName, self.playerId, money)) return end if money >= 0 then @@ -190,14 +190,14 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, print(('[^1ERROR^7] Tried To Set Invalid Account ^5%s^0 For Player ^5%s^0!'):format(accountName, self.playerId)) end else - print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number!'):format(accountName, self.playerId)) + print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7'):format(accountName, self.playerId, money)) end end function self.addAccountMoney(accountName, money, reason) reason = reason or 'Unknown' if not tonumber(money) then - print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number!'):format(accountName, self.playerId)) + print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7'):format(accountName, self.playerId, money)) return end if money > 0 then @@ -212,14 +212,14 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, print(('[^1ERROR^7] Tried To Set Add To Invalid Account ^5%s^0 For Player ^5%s^0!'):format(accountName, self.playerId)) end else - print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number!'):format(accountName, self.playerId)) + print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7'):format(accountName, self.playerId, money)) end end function self.removeAccountMoney(accountName, money, reason) reason = reason or 'Unknown' if not tonumber(money) then - print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number!'):format(accountName, self.playerId)) + print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7'):format(accountName, self.playerId, money)) return end if money > 0 then @@ -235,7 +235,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, print(('[^1ERROR^7] Tried To Set Add To Invalid Account ^5%s^0 For Player ^5%s^0!'):format(accountName, self.playerId)) end else - print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number!'):format(accountName, self.playerId)) + print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7'):format(accountName, self.playerId, money)) end end @@ -356,7 +356,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, TriggerEvent('esx:setJob', self.source, self.job, lastJob) self.triggerEvent('esx:setJob', self.job) else - print(('[es_extended] [^3WARNING^7] Ignoring invalid .setJob() usage for "%s"'):format(self.identifier)) + print(('[es_extended] [^3WARNING^7] Ignoring invalid ^5.setJob()^7 usage for ID: ^5%s^7, Job: ^5%s^7'):format(self.source, job)) end end @@ -386,8 +386,8 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, if component then if not self.hasWeaponComponent(weaponName, weaponComponent) then self.loadout[loadoutNum].components[#self.loadout[loadoutNum].components + 1] = weaponComponent - local componentHash = ESX.GetWeaponComponent(weapon, weaponComponent).hash - GiveWeaponComponentToPed(GetPlayerPed(self.source), joaat(weapon), componentHash) + local componentHash = ESX.GetWeaponComponent(weaponName, weaponComponent).hash + GiveWeaponComponentToPed(GetPlayerPed(self.source), joaat(weaponName), componentHash) self.triggerEvent('esx:addInventoryItem', component.label, false, true) end end diff --git a/[esx]/es_extended/server/commands.lua b/[esx]/es_extended/server/commands.lua index 13c29c70..90b55109 100644 --- a/[esx]/es_extended/server/commands.lua +++ b/[esx]/es_extended/server/commands.lua @@ -12,6 +12,11 @@ ESX.RegisterCommand('setjob', 'admin', function(xPlayer, args, showError) else showError(_U('command_setjob_invalid')) end + ESX.DiscordLogFields("UserActions", "/setjob Triggered", "pink", { + {name = "Player", value = xPlayer.name, inline = true}, + {name = "Job", value = args.job, inline = true}, + {name = "Grade", value = args.grade, inline = true} + }) end, true, {help = _U('command_setjob'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'}, {name = 'job', help = _U('command_setjob_job'), type = 'string'}, @@ -20,7 +25,12 @@ end, true, {help = _U('command_setjob'), validate = true, arguments = { ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError) local GameBuild = tonumber(GetConvar("sv_enforceGameBuild", 1604)) - if not args.car then args.car = GameBuild >= 2699 and "DRAUGUR" or "Prototipo" end + if not args.car then args.car = GameBuild >= 2699 and "draugur" or "prototipo" end + ESX.DiscordLogFields("UserActions", "/car Triggered", "pink", { + {name = "Player", value = xPlayer.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Vehicle", value = args.car, inline = true} + }) xPlayer.triggerEvent('esx:spawnVehicle', args.car) end, false, {help = _U('command_car'), validate = false, arguments = { {name = 'car',validate = false, help = _U('command_car_car'), type = 'string'} @@ -83,6 +93,18 @@ if not Config.OxInventory then {name = 'ammo', help = _U('command_giveweapon_ammo'), type = 'number'} }}) + ESX.RegisterCommand('giveammo', 'admin', function(xPlayer, args, showError) + if args.playerId.hasWeapon(args.weapon) then + args.playerId.addWeaponAmmo(args.weapon, args.ammo) + else + showError(_U("command_giveammo_noweapon_found")) + end + end, true, {help = _U('command_giveweapon'), validate = false, arguments = { + {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'}, + {name = 'weapon', help = _U('command_giveammo_weapon'), type = 'weapon'}, + {name = 'ammo', help = _U('command_giveammo_ammo'), type = 'number'} + }}) + ESX.RegisterCommand('giveweaponcomponent', 'admin', function(xPlayer, args, showError) if args.playerId.hasWeapon(args.weaponName) then local component = ESX.GetWeaponComponent(args.weaponName, args.componentName) @@ -142,7 +164,7 @@ end ESX.RegisterCommand('setgroup', 'admin', function(xPlayer, args, showError) if not args.playerId then args.playerId = xPlayer.source end - if args.group == "superadmin" then args.group = "admin" print("[^3WARNING^7] Superadmin detected, setting group to admin") end + if args.group == "superadmin" then args.group = "admin" print("[^3WARNING^7] ^5Superadmin^7 detected, setting group to ^5admin^7") end args.playerId.setGroup(args.group) end, true, {help = _U('command_setgroup'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'}, @@ -151,7 +173,7 @@ end, true, {help = _U('command_setgroup'), validate = true, arguments = { ESX.RegisterCommand('save', 'admin', function(xPlayer, args, showError) Core.SavePlayer(args.playerId) - print("[^2Info^0] Saved Player!") + print("[^2Info^0] Saved Player - ^5".. args.playerId.source .. "^0") end, true, {help = _U('command_save'), validate = true, arguments = { {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'player'} }}) diff --git a/[esx]/es_extended/server/common.lua b/[esx]/es_extended/server/common.lua index 4a78d2cc..9ed784dd 100644 --- a/[esx]/es_extended/server/common.lua +++ b/[esx]/es_extended/server/common.lua @@ -13,6 +13,8 @@ Core.PickupId = 0 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)) cb(ESX) end) @@ -72,14 +74,14 @@ MySQL.ready(function() if Jobs[v.job_name] then Jobs[v.job_name].grades[tostring(v.grade)] = v else - print(('[^3WARNING^7] Ignoring job grades for ^5"%s"^0 due to missing job'):format(v.job_name)) + print(('[^3WARNING^7] Ignoring job grades for ^5%s^0 due to missing job'):format(v.job_name)) end end for _, v in pairs(Jobs) do if ESX.Table.SizeOf(v.grades) == 0 then Jobs[v.name] = nil - print(('[^3WARNING^7] Ignoring job ^5"%s"^0 due to no job grades found'):format(v.name)) + print(('[^3WARNING^7] Ignoring job ^5%s^0 due to no job grades found'):format(v.name)) end end @@ -91,7 +93,7 @@ MySQL.ready(function() ESX.Jobs = Jobs end - print('[^2INFO^7] ESX ^5Legacy^0 initialized') + print('[^2INFO^7] ESX ^5Legacy 1.8.5^0 initialized!') StartDBSync() StartPayCheck() end) @@ -104,10 +106,10 @@ AddEventHandler('esx:clientLog', function(msg) end) RegisterServerEvent('esx:triggerServerCallback') -AddEventHandler('esx:triggerServerCallback', function(name, requestId, ...) - local playerId = source +AddEventHandler('esx:triggerServerCallback', function(name, requestId,Invoke, ...) + local source = source - ESX.TriggerServerCallback(name, requestId, playerId, function(...) - TriggerClientEvent('esx:serverCallback', playerId, requestId, ...) + ESX.TriggerServerCallback(name, requestId, source,Invoke, function(...) + TriggerClientEvent('esx:serverCallback', source, requestId, ...) end, ...) end) diff --git a/[esx]/es_extended/server/functions.lua b/[esx]/es_extended/server/functions.lua index 33111355..0ecd6232 100644 --- a/[esx]/es_extended/server/functions.lua +++ b/[esx]/es_extended/server/functions.lua @@ -167,11 +167,11 @@ function ESX.RegisterServerCallback(name, cb) Core.ServerCallbacks[name] = cb end -function ESX.TriggerServerCallback(name, requestId, source, cb, ...) +function ESX.TriggerServerCallback(name, requestId, source,Invoke, cb, ...) if Core.ServerCallbacks[name] then Core.ServerCallbacks[name](source, cb, ...) else - print(('[^3WARNING^7] Server callback ^5"%s"^0 does not exist. ^1Please Check The Server File for Errors!'):format(name)) + print(('[^1ERROR^7] Server callback ^5"%s"^0 does not exist. Please Check ^5%s^7 for Errors!'):format(name, Invoke)) end end @@ -209,7 +209,7 @@ function Core.SavePlayers(cb) if type(cb) == 'function' then cb() else - print(('[^2INFO^7] Saved %s %s over %s ms'):format(count, count > 1 and 'players' or 'player', (os.time() - time) / 1000000)) + print(('[^2INFO^7] Saved ^5%s^7 %s over ^5%s^7 ms'):format(count, count > 1 and 'players' or 'player', ESX.Math.Round((os.time() - time) / 1000000, 2))) end end end) @@ -265,6 +265,54 @@ function ESX.GetIdentifier(playerId) end end +function ESX.DiscordLog(name, title, color, message) + + local webHook = Config.DiscordLogs.Webhooks[name] or Config.DiscordLogs.Webhooks.default + local embedData = {{ + ['title'] = title, + ['color'] = Config.DiscordLogs.Colors[color] or Config.DiscordLogs.Colors.default, + ['footer'] = { + ['text'] = "| ESX Logs | " .. os.date(), + ['icon_url'] = "https://cdn.discordapp.com/attachments/944789399852417096/1020099828266586193/blanc-800x800.png" + }, + ['description'] = message, + ['author'] = { + ['name'] = "ESX Framework", + ['icon_url'] = "https://cdn.discordapp.com/emojis/939245183621558362.webp?size=128&quality=lossless" + } + }} + PerformHttpRequest(webHook, nil, 'POST', json.encode({ + username = 'Logs', + embeds = embedData + }), { + ['Content-Type'] = 'application/json' + }) +end + +function ESX.DiscordLogFields(name, title, color, fields) + local webHook = Config.DiscordLogs.Webhooks[name] or Config.DiscordLogs.Webhooks.default + local embedData = {{ + ['title'] = title, + ['color'] = Config.DiscordLogs.Colors[color] or Config.DiscordLogs.Colors.default, + ['footer'] = { + ['text'] = "| ESX Logs | " .. os.date(), + ['icon_url'] = "https://cdn.discordapp.com/attachments/944789399852417096/1020099828266586193/blanc-800x800.png" + }, + ['fields'] = fields, + ['description'] = "", + ['author'] = { + ['name'] = "ESX Framework", + ['icon_url'] = "https://cdn.discordapp.com/emojis/939245183621558362.webp?size=128&quality=lossless" + } + }} + PerformHttpRequest(webHook, nil, 'POST', json.encode({ + username = 'Logs', + embeds = embedData + }), { + ['Content-Type'] = 'application/json' + }) +end + function ESX.RefreshJobs() local Jobs = {} local jobs = MySQL.query.await('SELECT * FROM jobs') @@ -344,7 +392,7 @@ function ESX.GetItemLabel(item) if ESX.Items[item] then return ESX.Items[item].label else - print('[^3WARNING^7] Attemting to get invalid Item -> ' .. item) + print('[^3WARNING^7] Attemting to get invalid Item -> ^5' .. item .. "^7") end end diff --git a/[esx]/es_extended/server/main.lua b/[esx]/es_extended/server/main.lua index 135cf5e0..9851c2d6 100644 --- a/[esx]/es_extended/server/main.lua +++ b/[esx]/es_extended/server/main.lua @@ -72,7 +72,7 @@ function createESXPlayer(identifier, playerId, data) end if Core.IsPlayerAdmin(playerId) then - print(('^2[INFO] ^0 Player ^5%s ^0Has been granted admin permissions via ^5Ace Perms.^7'):format(playerId)) + print(('[^2INFO^0] Player ^5%s^0 Has been granted admin permissions via ^5Ace Perms^7.'):format(playerId)) defaultGroup = "admin" else defaultGroup = "user" @@ -145,7 +145,7 @@ function loadESXPlayer(identifier, playerId, isNew) if ESX.DoesJobExist(job, grade) then jobObject, gradeObject = ESX.Jobs[job], ESX.Jobs[job].grades[grade] else - print(('[^3WARNING^7] Ignoring invalid job for %s [job: %s, grade: %s]'):format(identifier, job, grade)) + print(('[^3WARNING^7] Ignoring invalid job for ^5%s^7 [job: ^5%s^7, grade: ^5%s^7]'):format(identifier, job, grade)) job, grade = 'unemployed', '0' jobObject, gradeObject = ESX.Jobs[job], ESX.Jobs[job].grades[grade] end @@ -180,7 +180,7 @@ function loadESXPlayer(identifier, playerId, isNew) if item then foundItems[name] = count else - print(('[^3WARNING^7] Ignoring invalid item "%s" for "%s"'):format(name, identifier)) + print(('[^3WARNING^7] Ignoring invalid item ^5"%s"^7 for ^5"%s^7"'):format(name, identifier)) end end end @@ -211,7 +211,7 @@ function loadESXPlayer(identifier, playerId, isNew) if result.group then if result.group == "superadmin" then userData.group = "admin" - print("[^3WARNING^7] Superadmin detected, setting group to admin") + print("[^3WARNING^7] ^5Superadmin^7 detected, setting group to ^5admin^7") else userData.group = result.group end @@ -319,7 +319,7 @@ function loadESXPlayer(identifier, playerId, isNew) end xPlayer.triggerEvent('esx:registerSuggestions', Core.RegisteredCommands) - print(('[^2INFO^0] Player ^5"%s" ^0has connected to the server. ID: ^5%s^7'):format(xPlayer.getName(), playerId)) + print(('[^2INFO^0] Player ^5"%s"^0 has connected to the server. ID: ^5%s^7'):format(xPlayer.getName(), playerId)) end AddEventHandler('chatMessage', function(playerId, author, message) @@ -386,7 +386,7 @@ if not Config.OxInventory then local targetXPlayer = ESX.GetPlayerFromId(target) local distance = #(GetEntityCoords(GetPlayerPed(playerId)) - GetEntityCoords(GetPlayerPed(target))) if not sourceXPlayer or not targetXPlayer or distance > Config.DistanceGive then - print("[WARNING] Player Detected Cheating: " .. GetPlayerName(playerId)) + print("[^3WARNING^7] Player Detected Cheating: ^5" .. GetPlayerName(playerId) .. "^7") return end @@ -595,6 +595,10 @@ ESX.RegisterServerCallback('esx:isUserAdmin', function(source, cb) cb(Core.IsPlayerAdmin(source)) end) +ESX.RegisterServerCallback('esx:getGameBuild', function(source, cb) + cb(tonumber(GetConvar("sv_enforceGameBuild", 1604))) +end) + ESX.RegisterServerCallback('esx:getOtherPlayerData', function(source, cb, target) local xPlayer = ESX.GetPlayerFromId(target) diff --git a/[esx]/es_extended/server/onesync.lua b/[esx]/es_extended/server/onesync.lua index 039c721f..5c9784c7 100644 --- a/[esx]/es_extended/server/onesync.lua +++ b/[esx]/es_extended/server/onesync.lua @@ -65,17 +65,17 @@ end function ESX.OneSync.SpawnVehicle(model, coords, heading, autoMobile, Properties, cb) model = type(model) == 'string' and joaat(model) or model Properties = Properties or {} - local vector = type(coords) == "vector3" and coords or vec(coords.x, coords.y, coords.z) + local coords = type(coords) == "vector3" and coords or vector3(coords.x, coords.y, coords.z) if type(autoMobile) ~= 'boolean' then return end CreateThread(function() - local Entity = autoMobile and Citizen.InvokeNative(`CREATE_AUTOMOBILE`, model, coords.x, coords.y, coords.z, heading) or CreateVehicle(model, coords, heading, true, true) - while not DoesEntityExist(Entity) do + local SpawnedEntity = autoMobile and Citizen.InvokeNative(`CREATE_AUTOMOBILE`, model, coords.x, coords.y, coords.z, heading) or CreateVehicle(model, coords, heading, true, true) + while not DoesEntityExist(SpawnedEntity) do Wait(0) end - Entity(Entity).state:set('VehicleProperties', Properties, true) - local netID = NetworkGetNetworkIdFromEntity(Entity) + Entity(SpawnedEntity).state:set('VehicleProperties', Properties, true) + local netID = NetworkGetNetworkIdFromEntity(SpawnedEntity) cb(netID) end) end @@ -86,7 +86,7 @@ end ---@param cb function function ESX.OneSync.SpawnObject(model, coords, heading, cb) if type(model) == 'string' then model = joaat(model) end - local vector = type(coords) == "vector3" and coords or vec(coords.x, coords.y, coords.z) + local coords = type(coords) == "vector3" and coords or vector3(coords.x, coords.y, coords.z) CreateThread(function() local entity = CreateObject(model, coords, true, true) while not DoesEntityExist(entity) do Wait(50) end diff --git a/[esx]/esx_identity/locales/de.lua b/[esx]/esx_identity/locales/de.lua index 07074525..e8e5c897 100644 --- a/[esx]/esx_identity/locales/de.lua +++ b/[esx]/esx_identity/locales/de.lua @@ -30,10 +30,10 @@ Locales['de'] = { ['no_identifier'] = 'Es gab einen Fehler beim Laden deines Charackters!\nFehler Code: identifier-missing\n\nDie Ursache des Fehlers ist nicht bekannt, dein Identifier konnte nicht gefunden werden. Bitte versuche es später erneut oder kontaktiere einen Admin.', ['missing_identity'] = 'Es gab einen Fehler beim Laden deines Charackters!\nError code: identity-missing\n\nEs scheint, keine Identität zu geben. Bitte versuche, erneut zu verbinden.', ['deleted_identity'] = 'Dein Charakter wurde gelöscht. Bitte logge neu ein, um einen neuen zu erstellen.', - ['invalid_firstname_format'] = 'Ungültiges Format (Vorname): Überprüf deine Eingabe', - ['invalid_lastname_format'] = 'Ungültiges Format (Nachname): Überprüf deine Eingabe', - ['invalid_dob_format'] = 'Ungültiges Format (Geburtsdatum): Überprüf deine Eingabe', - ['invalid_sex_format'] = 'Ungültiges Format (Geschlecht): Überprüf deine Eingabe', - ['invalid_height_format'] = 'Ungültiges Format (Größe): Überprüf deine Eingabe.' + ['invalid_firstname_format'] = 'Ungültiges Format (Vorname): Bitte überprüfe deine Eingabe', + ['invalid_lastname_format'] = 'Ungültiges Format (Nachname): Bitte überprüfe deine Eingabe', + ['invalid_dob_format'] = 'Ungültiges Format (Geburtsdatum): Bitte überprüfe deine Eingabe', + ['invalid_sex_format'] = 'Ungültiges Format (Geschlecht): Bitte überprüfe deine Eingabe', + ['invalid_height_format'] = 'Ungültiges Format (Größe): Bitte überprüfe deine Eingabe.' } diff --git a/[esx]/esx_multicharacter/locales/nl.lua b/[esx]/esx_multicharacter/locales/nl.lua new file mode 100644 index 00000000..4779bbae --- /dev/null +++ b/[esx]/esx_multicharacter/locales/nl.lua @@ -0,0 +1,25 @@ +Locales["nl"] = { + ["male"] = "Man", + ["female"] = "Vrouw", + ["delete_label"] = "Verwijder %s %s?", + ["select_char"] = "Kies Karakter", + ["create_char"] = "Creeër nieuw karakter", + ["char_play"] = "Speel dit karakter", + ["char_disabled"] = "Dit karakter is niet beschikbaar", + ["char_delete"] = "Verwijder dit karakter", + ["cancel"] = "Annuleer", + ["confirm"] = "Bevestig", + ["command_setslots"] = "Zet multicharacter aantal slots van een speler", + ["command_remslots"] = "Verwijder multicharacter aantal slots van een speler", + ["command_enablechar"] = "Zet een karakter van speler aan", + ["command_disablechar"] = "Zet een karakter van speler uit", + ["command_charslot"] = "Slot nummer van het karakter", + ["command_identifier"] = "Speler identifier", + ["command_slots"] = "# aantal slots", + ["slotsadd"] = "Je hebt %s aantal slots bij %s toegevoegd", + ["slotsedit"] = "Je hebt %s aantal slots bij %s aangepast", + ["slotsrem"] = "Je hebt slots bij %s verwijderd", + ["charenabled"] = "Je hebt karakter #%s van %s aangezet", + ["chardisabled"] = "Je hebt karakter #%s van %s uitgezet", + ["charnotfound"] = "Karakter #%s van %s bestaat niet", +} diff --git a/[esx]/esx_multicharacter/server/main.lua b/[esx]/esx_multicharacter/server/main.lua index 9dcc915f..a844dfb9 100644 --- a/[esx]/esx_multicharacter/server/main.lua +++ b/[esx]/esx_multicharacter/server/main.lua @@ -117,7 +117,7 @@ elseif ESX.GetConfig().Multichar == true then MySQL.transaction(queries, function(result) if result then - print(('[^2INFO^7] Player [%s] %s has deleted a character (%s)'):format(GetPlayerName(source), source, identifier)) + print(('[^2INFO^7] Player ^5%s %s^7 has deleted a character ^5(%s)^7'):format(GetPlayerName(source), source, identifier)) Wait(50) SetupCharacters(source) else @@ -154,9 +154,9 @@ elseif ESX.GetConfig().Multichar == true then end if MySQL.transaction.await(queries) then - print(('[^2INFO^7] Updated ^5%s^7 columns to use VARCHAR(%s)'):format(count, length)) + print(('[^2INFO^7] Updated ^5%s^7 columns to use ^5VARCHAR(%s)^7'):format(count, length)) else - print(('[^2INFO^7] Unable to update ^5%s^7 columns to use VARCHAR(%s)'):format(count, length)) + print(('[^2INFO^7] Unable to update ^5%s^7 columns to use ^5VARCHAR(%s)^7'):format(count, length)) end end diff --git a/[esx]/esx_progressbar/nui/js/script.js b/[esx]/esx_progressbar/nui/js/script.js index b362b306..9e3fbe2a 100644 --- a/[esx]/esx_progressbar/nui/js/script.js +++ b/[esx]/esx_progressbar/nui/js/script.js @@ -18,10 +18,10 @@ $(function () { if (e.data.type === "Progressbar") { var message = e.data.message const replaceColors = (str, obj) => { - let strToReplace = str + let strToReplace = str; for (let id in obj) { - strToReplace = strToReplace.replace(new RegExp(id, 'g'), obj[id]) + strToReplace = strToReplace.replace(new RegExp(id, "g"), obj[id]); } return strToReplace @@ -34,10 +34,10 @@ $(function () { let newStr = replaceColors(message, objArr); - message = newStr; + message = newStr } } - $(".text").text(message) + $(".text").html(`
${message}
`) doc.getElementById("notifyInfo").style.display = "block"; const start = new Date(); const maxTime = e.data.length; diff --git a/[esx]/esx_skin/locales/nl.lua b/[esx]/esx_skin/locales/nl.lua new file mode 100644 index 00000000..1e032ecf --- /dev/null +++ b/[esx]/esx_skin/locales/nl.lua @@ -0,0 +1,6 @@ +Locales['nl'] = { + ['skin_menu'] = 'Kleding Menu', + ['use_rotate_view'] = 'gebruik ~INPUT_FRONTEND_LS~ en ~INPUT_CHARACTER_WHEEL~ om de camera te draaien.', + ['skin'] = 'verander outfit', + ['saveskin'] = 'sla outfit op in je kledingkast.', +} diff --git a/[esx]/esx_skin/server/main.lua b/[esx]/esx_skin/server/main.lua index 88fea687..f46c3d2e 100644 --- a/[esx]/esx_skin/server/main.lua +++ b/[esx]/esx_skin/server/main.lua @@ -30,7 +30,7 @@ AddEventHandler('esx_skin:responseSaveSkin', function(skin) file:flush() file:close() else - print(('esx_skin: %s attempted saving skin to file'):format(xPlayer.getIdentifier())) + print(('[^2INFO^7] ^5%s^7 attempted saving skin to file'):format(xPlayer.getIdentifier())) end end) diff --git a/[esx]/skinchanger/locales/de.lua b/[esx]/skinchanger/locales/de.lua index ccd88014..59bca2f8 100644 --- a/[esx]/skinchanger/locales/de.lua +++ b/[esx]/skinchanger/locales/de.lua @@ -1,76 +1,104 @@ Locales['de'] = { - ['sex'] = 'geschlecht', - ['face'] = 'gesicht', - ['skin'] = 'skin', - ['wrinkles'] = 'falten', - ['wrinkle_thickness'] = 'faltendicke', - ['beard_type'] = 'bart Typ', - ['beard_size'] = 'bartdichte', - ['beard_color_1'] = 'bartfarbe 1', - ['beard_color_2'] = 'bartfarbe 2', - ['hair_1'] = 'haare 1', - ['hair_2'] = 'haare 2', - ['hair_color_1'] = 'haarfarbe 1', - ['hair_color_2'] = 'haarfarbe 2', - ['eye_color'] = 'eye color', - ['eyebrow_type'] = 'augenbrauen Typ', - ['eyebrow_size'] = 'augenbrauen Größe', - ['eyebrow_color_1'] = 'augenbrauenfarbe 1', - ['eyebrow_color_2'] = 'augenbrauenfarbe 2', - ['makeup_type'] = 'makeup Typ', - ['makeup_thickness'] = 'makeup dicke', - ['makeup_color_1'] = 'makeupfarbe 1', - ['makeup_color_2'] = 'makeupfarbe 2', - ['lipstick_type'] = 'lippenstift Typ', - ['lipstick_thickness'] = 'lippenstift dicke', - ['lipstick_color_1'] = 'lippenstiffarbe 1', - ['lipstick_color_2'] = 'lippenstiftfarbe 2', - ['ear_accessories'] = 'ohr Accessories', - ['ear_accessories_color'] = 'ohr Accessories Farbe', - ['tshirt_1'] = 't-Shirt 1', - ['tshirt_2'] = 't-Shirt 2', - ['torso_1'] = 'torso 1', - ['torso_2'] = 'torso 2', - ['decals_1'] = 'tattoos 1', - ['decals_2'] = 'tattoos 2', - ['arms'] = 'arme', - ['arms_2'] = 'arme 2', - ['pants_1'] = 'hosen 1', - ['pants_2'] = 'hosen 2', - ['shoes_1'] = 'schuhe 1', - ['shoes_2'] = 'schuhe 2', - ['mask_1'] = 'maske 1', - ['mask_2'] = 'maske 2', - ['bproof_1'] = 'schusssichere Weste 1', - ['bproof_2'] = 'schusssichere Weste 2', - ['chain_1'] = 'kette 1', - ['chain_2'] = 'kette 2', - ['helmet_1'] = 'helm 1', - ['helmet_2'] = 'helm 2', - ['watches_1'] = 'watches 1', - ['watches_2'] = 'watches 2', - ['bracelets_1'] = 'bracelets 1', - ['bracelets_2'] = 'bracelets 2', - ['glasses_1'] = 'brille 1', - ['glasses_2'] = 'brille 2', - ['bag'] = 'rucksack', - ['bag_color'] = 'rucksackfarbe', - ['blemishes'] = 'blemishes', - ['blemishes_size']= 'blemishes thickness', - ['ageing'] = 'ageing', - ['ageing_1'] = 'ageing thickness', - ['blush'] = 'blush', - ['blush_1'] = 'blush thickness', - ['blush_color'] = 'blush color', - ['complexion'] = 'complexion', - ['complexion_1'] = 'complexion thickness', - ['sun'] = 'sun', - ['sun_1'] = 'sun thickness', - ['freckles'] = 'freckles', - ['freckles_1'] = 'freckles thickness', - ['chest_hair'] = 'chest hair', - ['chest_hair_1'] = 'chest hair thickness', - ['chest_color'] = 'chest hair color', - ['bodyb'] = 'body blemishes', - ['bodyb_size'] = 'body blemishes thickness', + ['sex'] = 'Geschlecht', + ['mom'] = 'Gesicht der Mutter', + ['dad'] = 'Gesicht des Vaters', + ['resemblance'] = 'Wiederspiegelung', + ['skin_tone'] = 'Hautfarbe', + ['nose_1'] = 'Nasen Dicke', + ['nose_2'] = 'Nasen Spitzenlänge', + ['nose_3'] = 'Nasen Spitzenlänge', + ['nose_4'] = 'Nasen Knochen Höhe', + ['nose_5'] = 'Nasen Spitzen Erhöhung', + ['nose_6'] = 'Nasen Knochen Drehung', + ['cheeks_1'] = 'Wangenknochen Höhe', + ['cheeks_2'] = 'Wangenknochen Breite', + ['cheeks_3'] = 'Wangen Breite', + ['lip_fullness'] = 'Lippen Volle', + ['jaw_bone_width'] = 'Kiefer Breite', + ['jaw_bone_length'] = 'Kiefer Länge', + ['chin_height'] = 'Kinn Höhe', + ['chin_length'] = 'Kinn Länge', + ['chin_width'] = 'Kinn Breite', + ['chin_hole'] = 'Kinn Loch Breite', + ['neck_thickness'] = 'Genick Breite', + ['face'] = 'Gesicht', + ['skin'] = 'Skin', + ['Wrinkles'] = 'Falten', + ['Wrinkle_thickness'] = 'Faltendicke', + ['beard_type'] = 'Bart Typ', + ['beard_size'] = 'Bartdichte', + ['beard_color_1'] = 'Bartfarbe 1', + ['beard_color_2'] = 'Bartfarbe 2', + ['hair_1'] = 'Haare 1', + ['hair_2'] = 'Haare 2', + ['hair_color_1'] = 'Haarfarbe 1', + ['hair_color_2'] = 'Haarfarbe 2', + ['eye_color'] = 'Augenfarbe', + ['eye_squint'] = 'Augenöffnung', + ['eyebrow_type'] = 'Augenbrauen Typ', + ['eyebrow_size'] = 'Augenbrauen Größe', + ['eyebrow_color_1'] = 'Augenbrauenfarbe 1', + ['eyebrow_color_2'] = 'Augenbrauenfarbe 2', + ['eyebrow_depth'] = 'Augenbrauen Tiefe', + ['eyebrow_height'] = 'Augenbrauen Höhe', + ['makeup_type'] = 'Makeup Typ', + ['makeup_thickness'] = 'Makeup dicke', + ['makeup_color_1'] = 'Makeupfarbe 1', + ['makeup_color_2'] = 'Makeupfarbe 2', + ['lipstick_type'] = 'Lippenstift Typ', + ['lipstick_thickness'] = 'Lippenstift dicke', + ['lipstick_color_1'] = 'Lippenstiffarbe 1', + ['lipstick_color_2'] = 'Lippenstiftfarbe 2', + ['ear_accessories'] = 'Ohr Accessories', + ['ear_accessories_color'] = 'Ohr Accessories Farbe', + ['tshirt_1'] = 'T-Shirt 1', + ['tshirt_2'] = 'T-Shirt 2', + ['torso_1'] = 'Torso 1', + ['torso_2'] = 'Torso 2', + ['decals_1'] = 'Tattoos 1', + ['decals_2'] = 'Tattoos 2', + ['arms'] = 'Arme', + ['arms_2'] = 'Arme 2', + ['pants_1'] = 'Hosen 1', + ['pants_2'] = 'Hosen 2', + ['shoes_1'] = 'Schuhe 1', + ['shoes_2'] = 'Schuhe 2', + ['mask_1'] = 'Maske 1', + ['mask_2'] = 'Maske 2', + ['bproof_1'] = 'Schusssichere Weste 1', + ['bproof_2'] = 'Schusssichere Weste 2', + ['chain_1'] = 'Kette 1', + ['chain_2'] = 'Kette 2', + ['helmet_1'] = 'Helm 1', + ['helmet_2'] = 'Helm 2', + ['watches_1'] = 'Watches 1', + ['watches_2'] = 'Watches 2', + ['bracelets_1'] = 'Bracelets 1', + ['bracelets_2'] = 'Bracelets 2', + ['glasses_1'] = 'Brille 1', + ['glasses_2'] = 'Brille 2', + ['bag'] = 'Rucksack', + ['bag_color'] = 'Rucksackfarbe', + ['blemishes'] = 'Körper Verfärbuing 1', + ['blemishes_size']= 'Körper Verfärbung Größe', + ['ageing'] = 'Alterung', + ['ageing_1'] = 'Alterungsdichte', + ['blush'] = 'Blush', + ['blush_1'] = 'Blush Dichte', + ['blush_color'] = 'Blush Farbe', + ['complexion'] = 'Komplexion', + ['complexion_1'] = 'Komplexionsdichte', + ['sun'] = 'Sonnenbrand', + ['sun_1'] = 'Sonnenbrandstärke', + ['freckles'] = 'Sommersprossen', + ['freckles_1'] = 'Sommersprossen Dichte', + ['chest_hair'] = 'Brusthaare', + ['chest_hair_1'] = 'Brusthaardichte', + ['chest_color'] = 'Brusthaarfarbe', + ['bodyb'] = 'Körper Verfärbungen 2', + ['bodyb_size'] = 'Körper Verfärbung Dicke', + ['bodyb_extra'] = 'Körper Verfärbung Effekt', + ['bodyb_extra_thickness'] = 'Körper Verfärbung Effek Stärke', + ['wrinkles'] = 'Falten', + ['wrinkle_thickness'] = 'Falten Stärke', } diff --git a/[esx]/skinchanger/locales/it.lua b/[esx]/skinchanger/locales/it.lua new file mode 100644 index 00000000..dba521eb --- /dev/null +++ b/[esx]/skinchanger/locales/it.lua @@ -0,0 +1,100 @@ +Locales['it'] = { + ['sex'] = 'sesso', + ['mom'] = 'viso donna', + ['dad'] = 'viso uomo', + ['resemblance'] = 'somiglianze', + ['skin_tone'] = 'tono della pelle', + ['nose_1'] = 'larghezza del naso', + ['nose_2'] = 'altezza della punta del naso', + ['nose_3'] = 'lunghezza della punta del naso', + ['nose_4'] = 'altezza dell\'osso del naso', + ['nose_5'] = 'abbassamento della punta del naso', + ['nose_6'] = 'torsione dell\'osso del naso', + ['cheeks_1'] = 'altezza degli zigomi', + ['cheeks_2'] = 'larghezza degli zigomi', + ['cheeks_3'] = 'larghezza delle guance', + ['lip_fullness'] = 'spessore delle labbra', + ['jaw_bone_width'] = 'larghezza dell\'osso mascellare', + ['jaw_bone_length'] = 'lunghezza dell\'osso mascellare', + ['chin_height'] = 'altezza del mento', + ['chin_length'] = 'lunghezza del mento', + ['chin_width'] = 'larghezza del mento', + ['chin_hole'] = 'dimensione del foro del mento', + ['neck_thickness'] = 'spessore del collo', + ['wrinkles'] = 'rughe', + ['wrinkle_thickness'] = 'spessore delle rughe', + ['beard_type'] = 'tipo di barba', + ['beard_size'] = 'dimensione della barba', + ['beard_color_1'] = 'colore della barba 1', + ['beard_color_2'] = 'colore della barba 2', + ['hair_1'] = 'capelli 1', + ['hair_2'] = 'capelli 2', + ['hair_color_1'] = 'colore capelli 1', + ['hair_color_2'] = 'colore capelli 2', + ['eye_color'] = 'colore degli occhi', + ['eye_squint'] = 'strabismo degli occhi', + ['eyebrow_type'] = 'tipo di sopracciglio', + ['eyebrow_size'] = 'dimensione delle sopracciglia', + ['eyebrow_color_1'] = 'colore delle sopracciglia 1', + ['eyebrow_color_2'] = 'colore delle sopracciglia 2', + ['eyebrow_depth'] = 'profondità delle sopracciglia', + ['eyebrow_height'] = 'altezza del sopracciglio', + ['makeup_type'] = 'tipo di trucco', + ['makeup_thickness'] = 'spessore del trucco', + ['makeup_color_1'] = 'colore del trucco 1', + ['makeup_color_2'] = 'colore del trucco 2', + ['lipstick_type'] = 'tipo di rossetto', + ['lipstick_thickness'] = 'spessore del rossetto', + ['lipstick_color_1'] = 'colore del rossetto 1', + ['lipstick_color_2'] = 'colore del rossetto 2', + ['ear_accessories'] = 'accessori per le orecchie', + ['ear_accessories_color'] = 'colore accessori orecchie', + ['tshirt_1'] = 't-Shirt 1', + ['tshirt_2'] = 't-Shirt 2', + ['torso_1'] = 'torso 1', + ['torso_2'] = 'torso 2', + ['decals_1'] = 'decals 1', + ['decals_2'] = 'decals 2', + ['arms'] = 'braccia', + ['arms_2'] = 'braccia 2', + ['pants_1'] = 'pantaloni', + ['pants_2'] = 'colore pantaloni', + ['shoes_1'] = 'scarpe', + ['shoes_2'] = 'colore scarpe', + ['mask_1'] = 'maschera 1', + ['mask_2'] = 'maschera 2', + ['bproof_1'] = 'giubbotto antiproiettile 1', + ['bproof_2'] = 'giubbotto antiproiettile2', + ['chain_1'] = 'collana 1', + ['chain_2'] = 'collana 2', + ['helmet_1'] = 'casco 1', + ['helmet_2'] = 'casco 2', + ['watches_1'] = 'orologi 1', + ['watches_2'] = 'orologi 2', + ['bracelets_1'] = 'bracciali 1', + ['bracelets_2'] = 'bracciali 2', + ['glasses_1'] = 'occhiali 1', + ['glasses_2'] = 'occhiali 2', + ['bag'] = 'zaino', + ['bag_color'] = 'colore zaino', + ['blemishes'] = 'imperfezioni', + ['blemishes_size'] = 'pessore delle imperfezioni', + ['ageing'] = 'invecchiamento pelle', + ['ageing_1'] = 'spessore invecchiamento', + ['blush'] = 'arrossimento', + ['blush_1'] = 'spessore del rossore', + ['blush_color'] = 'colore rossore', + ['complexion'] = 'carnagione', + ['complexion_1'] = 'spessore della carnagione', + ['sun'] = 'lentiggini', + ['sun_1'] = 'spessore lentiggini', + ['freckles'] = 'lentiggini', + ['freckles_1'] = 'spessore delle lentiggini', + ['chest_hair'] = 'peli del petto', + ['chest_hair_1'] = 'spessore dei peli del torace', + ['chest_color'] = 'colore dei peli del petto', + ['bodyb'] = 'inestetismi del corpo', + ['bodyb_size'] = 'spessore delle imperfezioni', + ['bodyb_extra'] = 'inestetismi del corpo extra', + ['bodyb_extra_thickness'] = 'inestetismi del corpo spessore', +} diff --git a/[esx_addons]/esx_addonaccount/server/classes/addonaccount.lua b/[esx_addons]/esx_addonaccount/server/classes/addonaccount.lua index a3ae99aa..2364409d 100644 --- a/[esx_addons]/esx_addonaccount/server/classes/addonaccount.lua +++ b/[esx_addons]/esx_addonaccount/server/classes/addonaccount.lua @@ -8,16 +8,19 @@ function CreateAddonAccount(name, owner, money) function self.addMoney(m) self.money = self.money + m self.save() + TriggerEvent('esx_addonaccount:addMoney', self.name, m) end function self.removeMoney(m) self.money = self.money - m self.save() + TriggerEvent('esx_addonaccount:removeMoney', self.name, m) end function self.setMoney(m) self.money = m self.save() + TriggerEvent('esx_addonaccount:setMoney', self.name, m) end function self.save() @@ -30,4 +33,4 @@ function CreateAddonAccount(name, owner, money) end return self -end \ No newline at end of file +end diff --git a/[esx_addons]/esx_allowlist/locales/de.lua b/[esx_addons]/esx_allowlist/locales/de.lua index 62b441d2..794607d1 100644 --- a/[esx_addons]/esx_allowlist/locales/de.lua +++ b/[esx_addons]/esx_allowlist/locales/de.lua @@ -4,6 +4,6 @@ Locales['de'] = { ['allowlist_empty'] = 'Für diesen Server sind keine allowlists gespeichert.', ['license_missing'] = 'Error: Ihr Identifier fehlt.', ['help_allowlist_add'] = 'jemanden zur Allowlist hinzufügen', - ['help_allowlist_load'] = 'reloade die allowlist', + ['help_allowlist_load'] = 'lade die Allowlist neu', } \ No newline at end of file diff --git a/[esx_addons]/esx_allowlist/locales/pl.lua b/[esx_addons]/esx_allowlist/locales/pl.lua new file mode 100644 index 00000000..686f6661 --- /dev/null +++ b/[esx_addons]/esx_allowlist/locales/pl.lua @@ -0,0 +1,8 @@ +Locales['pl'] = { + ['allowlist_check'] = 'Sprawdzamy, czy jesteś na Allowlist.', + ['not_allowlisted'] = 'Aby dołączyć do tego serwera, musisz być na Allowlist!', + ['allowlist_empty'] = 'Brak zapisanych list Allowlist dla tego serwera.', + ['license_missing'] = 'Błąd: Brak ID!', + ['help_allowlist_add'] = 'dodaj do allowlist', + ['help_allowlist_load'] = 'przeładuj allowlist', +} diff --git a/[esx_addons]/esx_allowlist/server/main.lua b/[esx_addons]/esx_allowlist/server/main.lua index 035aeec2..397716e0 100644 --- a/[esx_addons]/esx_allowlist/server/main.lua +++ b/[esx_addons]/esx_allowlist/server/main.lua @@ -46,7 +46,7 @@ end) ESX.RegisterCommand('alrefresh', 'admin', function(xPlayer, args) loadAllowList() - print('[esx_allowlist] Allowlist Refreshed!') + print('[^2INFO^7] Allowlist ^5Refreshed^7!') end, true, {help = _U('help_allowlist_load')}) ESX.RegisterCommand('aladd', 'admin', function(xPlayer, args, showError) diff --git a/[esx_addons]/esx_ambulancejob/client/job.lua b/[esx_addons]/esx_ambulancejob/client/job.lua index 65e67599..c722c10d 100644 --- a/[esx_addons]/esx_ambulancejob/client/job.lua +++ b/[esx_addons]/esx_ambulancejob/client/job.lua @@ -429,7 +429,7 @@ function OpenCloakroomMenu() end deadPlayers = {} if Config.Debug then - print("[INFO] Now Off Duty") + print("[^2INFO^7] Off Duty") end end) elseif data.current.value == 'ambulance_wear' then @@ -445,8 +445,8 @@ function OpenCloakroomMenu() TriggerEvent('esx_ambulancejob:setDeadPlayers', _deadPlayers) end) if Config.Debug then - print("[INFO] Player Sex |" .. tostring(skin.sex)) - print("[INFO] Now On Duty") + print("[^2INFO^7] Player Sex |^5" .. tostring(skin.sex).."^7") + print("[^2INFO^7] On Duty") end end) end @@ -468,7 +468,7 @@ function OpenPharmacyMenu() {label = _U('pharmacy_take', _U('bandage')), item = 'bandage', type = 'slider', value = 1, min = 1, max = 100} }}, function(data, menu) if Config.Debug then - print("[INFO] Attempting to Give Item |" .. tostring(data.current.item)) + print("[^2INFO^7] Attempting to Give Item - ^5" .. tostring(data.current.item) .. "^7") end TriggerServerEvent('esx_ambulancejob:giveItem', data.current.item, data.current.value) end, function(data, menu) @@ -490,7 +490,7 @@ AddEventHandler('esx_ambulancejob:heal', function(healType, quiet) end if Config.Debug then - print("[INFO] Healing Player |" .. tostring(healType)) + print("[^2INFO^7] Healing Player - ^5" .. tostring(healType).. "^7") end if not quiet then ESX.ShowNotification(_U('healed')) @@ -502,7 +502,7 @@ AddEventHandler('esx:setJob', function(job) if isOnDuty and job.name ~= 'ambulance' then for playerId,v in pairs(deadPlayerBlips) do if Config.Debug then - print("[INFO] removing dead player blip |" .. tostring(playerId)) + print("[^2INFO^7] Removing dead blip - ^5" .. tostring(playerId).. "^7") end RemoveBlip(v) deadPlayerBlips[playerId] = nil @@ -515,7 +515,7 @@ end) RegisterNetEvent('esx_ambulancejob:PlayerDead') AddEventHandler('esx_ambulancejob:PlayerDead', function(Player) if Config.Debug then - print("[INFO] Setting Player Dead |" .. tostring(Player)) + print("[^2INFO^7] Player Dead | ^5" .. tostring(Player) .. "^7") end deadPlayers[Player] = "dead" end) @@ -527,7 +527,7 @@ AddEventHandler('esx_ambulancejob:PlayerNotDead', function(Player) deadPlayerBlips[Player] = nil end if Config.Debug then - print("[INFO] Setting Player Not Dead |" .. tostring(Player)) + print("[^2INFO^7] Player Alive | ^5" .. tostring(Player) .. "^7") end deadPlayers[Player] = nil end) @@ -544,11 +544,11 @@ AddEventHandler('esx_ambulancejob:setDeadPlayers', function(_deadPlayers) for playerId,status in pairs(deadPlayers) do if Config.Debug then - print("[INFO] Setting Player As Dead |" .. tostring(playerId)) + print("[^2INFO^7] Player Dead | ^5" .. tostring(playerId) .. "^7") end if status == 'distress' then if Config.Debug then - print("[INFO] Creating Distress Blip for Player |" .. tostring(playerId)) + print("[^2INFO^7] Creating Distress Blip for Player - ^5" .. tostring(playerId) .. "^7") end local player = GetPlayerFromServerId(playerId) local playerPed = GetPlayerPed(player) @@ -576,7 +576,7 @@ AddEventHandler('esx_ambulancejob:PlayerDistressed', function(Player) if isOnDuty then if Config.Debug then - print("[INFO] Player Distress Recived - ID |" .. tostring(Player)) + print("[^2INFO^7] Player Distress Recived - ID:^5" .. tostring(Player) .. "^7") end ESX.ShowNotification("[DISPATCH]: An Unconscious Person Has Been Reported", "error", 10000) deadPlayerBlips[Player] = nil diff --git a/[esx_addons]/esx_ambulancejob/locales/de.lua b/[esx_addons]/esx_ambulancejob/locales/de.lua index bf77a869..cc708e82 100644 --- a/[esx_addons]/esx_ambulancejob/locales/de.lua +++ b/[esx_addons]/esx_ambulancejob/locales/de.lua @@ -24,35 +24,35 @@ Locales['de'] = { ['shop_item'] = '$%s', ['vehicleshop_title'] = 'Fahrzeug-Shop', ['vehicleshop_confirm'] = 'Du möchstest dieses Fahrzeug kaufen?', - ['vehicleshop_bought'] = 'Du hast dir einen %sr $%s geft!', + ['vehicleshop_bought'] = 'Du hast dir einen %s für $%s gekauft!', ['vehicleshop_money'] = 'Du kannst dir dieses Fahrzeug nicht leisten!', - ['vehicleshop_awaiting_model'] = 'Dieses Fahrzeug LÄDTtte warte', + ['vehicleshop_awaiting_model'] = 'Dieses Fahrzeug lädt bitte warte', ['confirm_no'] = 'Nein', ['confirm_yes'] = 'Ja', -- Action Menu ['revive_inprogress'] = 'Eine Wiederbelebung findet statt!', - ['revive_complete'] = 'Du hast %sederbelebt', - ['revive_complete_award'] = 'Du hast %sederbelebt und dabei $%s erten!', + ['revive_complete'] = 'Du hast %s wiederbelebt', + ['revive_complete_award'] = 'Du hast %s wiederbelebt und dabei $%s erten!', ['revive_fail_offline'] = 'Dieser Spieler ist nicht länger online', ['heal_inprogress'] = 'Du heilst!', - ['heal_complete'] = 'yDu hast %sheilt!', + ['heal_complete'] = 'Du hast %s geheilt!', ['no_players'] = 'Keine Spieler in der Nähe', ['player_not_unconscious'] = 'Diese Spieler ist nicht bewusstlos!', ['player_not_conscious'] = 'Dieser Spieler ist nicht bei Bewusstsein!', -- Boss Menu ['boss_actions'] = 'Chef-Aktionen', -- Misc - ['invalid_amount'] = ' ige Menge', + ['invalid_amount'] = 'Ungültige Menge', ['actions_prompt'] = 'Drücke [E] um das Rettungsdienst-Menü öffnen.', ['deposit_amount'] = 'Menge deponieren', ['money_withdraw'] = 'Menge abheben', - ['fast_travel'] = 'Drücke [E] zu schnellreisen.', + ['fast_travel'] = 'Drücke [E] um schnellzureisen.', ['open_pharmacy'] = 'Drücke [E] um die Apotheke zu öffnen.', ['pharmacy_menu_title'] = 'Apotheke', ['pharmacy_take'] = 'Nimm %s', ['medikit'] = 'Medikit', ['bandage'] = 'Verbände', - ['max_item'] = 'Du trägst bereits genug.', + ['max_item'] = 'Du kannst nicht mehr tragen.', -- F6 Menu ['ems_menu'] = 'Rettungsdienst-Menü', ['ems_menu_title'] = 'Rettungsdienst-Menü', @@ -66,17 +66,17 @@ Locales['de'] = { ['respawn_available_in'] = 'Respawn in %s Minuten %s Sekundenrfügbar', ['respawn_bleedout_in'] = 'Du wirst in %s Minuten %s Sekundensbluten\n', ['respawn_bleedout_prompt'] = 'Drücke [E] zu respawnen', - ['respawn_bleedout_fine'] = 'Drücke [E] für $%s zuspawnen', + ['respawn_bleedout_fine'] = 'Drücke [E] um für $%s zu respawnen', ['respawn_bleedout_fine_msg'] = 'Du hast $%s bezahlt, um zu respawnen.', ['distress_send'] = 'Drücke [G] um ein Notsignal zu senden', ['distress_sent'] = 'Notsignal wurde an den Rettungsdienst übermittelt!', -- Revive ['revive_help'] = 'Belebe einen Spieler wieder', -- Item - ['used_medikit'] = 'Du hast eindikit verwendet', - ['used_bandage'] = 'Du hast einenrband verwendet', - ['not_enough_medikit'] = 'Du hast keine medikits', - ['not_enough_bandage'] = 'Du hast keine verbände', + ['used_medikit'] = 'Du hast Medikit verwendet', + ['used_bandage'] = 'Du hast Verband verwendet', + ['not_enough_medikit'] = 'Du hast keine Medikits', + ['not_enough_bandage'] = 'Du hast keine Verbände', ['healed'] = 'Du wurdest behandelt.', -- Blips ['blip_hospital'] = 'Krankenhaus', diff --git a/[esx_addons]/esx_ambulancejob/server/main.lua b/[esx_addons]/esx_ambulancejob/server/main.lua index effca84c..6055cc6b 100644 --- a/[esx_addons]/esx_ambulancejob/server/main.lua +++ b/[esx_addons]/esx_ambulancejob/server/main.lua @@ -279,10 +279,10 @@ AddEventHandler('esx_ambulancejob:giveItem', function(itemName, amount) local xPlayer = ESX.GetPlayerFromId(source) if xPlayer.job.name ~= 'ambulance' then - print(('[esx_ambulancejob] [^2WARNING^7] "%s" attempted to spawn in an item!'):format(xPlayer.identifier)) + print(('[^2WARNING^7] Player ^5%s^7 Tried Giving Themselves -> ^5' .. itemName ..'^7!'):format(xPlayer.source)) return elseif (itemName ~= 'medikit' and itemName ~= 'bandage') then - print(('[esx_ambulancejob] [^2WARNING^7] "%s" attempted to spawn in an item!'):format(xPlayer.identifier)) + print(('[^2WARNING^7] Player ^5%s^7 Tried Giving Themselves -> ^5' .. itemName ..'^7!'):format(xPlayer.source)) return end diff --git a/[esx_addons]/esx_bankerjob/locales/de.lua b/[esx_addons]/esx_bankerjob/locales/de.lua index 171a43b8..791d973e 100644 --- a/[esx_addons]/esx_bankerjob/locales/de.lua +++ b/[esx_addons]/esx_bankerjob/locales/de.lua @@ -10,7 +10,7 @@ Locales['de'] = { ['deposit'] = 'einzahlen', ['invalid_amount'] = 'ungültiger Betrag', ['no_player_nearby'] = 'kein Spieler in der Nähe', - ['press_input_context_to_open_menu'] = 'Drücke [E] um das Menü zu öffnen', + ['press_input_context_to_open_menu'] = 'Drücke [E] um das Bank Menü zu öffnen', ['withdraw'] = 'Abheben', ['boss_actions'] = 'boss Actions', ['phone_receive'] = 'Bankkunde', diff --git a/[esx_addons]/esx_bankerjob/server/main.lua b/[esx_addons]/esx_bankerjob/server/main.lua index 7c6f0568..1270aec1 100644 --- a/[esx_addons]/esx_bankerjob/server/main.lua +++ b/[esx_addons]/esx_bankerjob/server/main.lua @@ -100,7 +100,7 @@ function CalculateBankSavings(d, h, m) end) Async.parallelLimit(asyncTasks, 5, function(results) - print('[BANK] Calculated interests') + print('[^2INFO^7] Calculated interest Rate') end) end) end diff --git a/[esx_addons]/esx_banking/locales/de.lua b/[esx_addons]/esx_banking/locales/de.lua new file mode 100644 index 00000000..e900bffb --- /dev/null +++ b/[esx_addons]/esx_banking/locales/de.lua @@ -0,0 +1,16 @@ +Locales['de'] = { + ['invalid_amount'] = 'Das ist ein ungültiger Geldbetrag.', + ['deposit_money'] = 'Du hast $%s eingezahlt', + ['withdraw_money'] = 'Du hast $%s abgehoben', + ['pincode_money'] = 'Dein neuer Pincode lautet: %s', + ['transfer_money'] = 'Du hast erfolgreich $%s Geld zu ID: %s transferiert.', + ['receive_transfer'] = 'Du hast $%s Geld von ID: %s erhalten.', + ['press_e_banking'] = 'Drücke [E] um die Bank aufzurufen', + ['access_bank'] = 'Zugang zur Bank', + ['banking_blip'] = 'Bank', + ['cant_do_it'] = "Du kannst es nicht tun!", + ['not_enough_money'] = "Nicht genug Geld, du brauchst $%s", + ['pincode_not_found'] = "Ungültiger Pincode", + ['pincode_found'] = "Gültiger PIN-Code...", + ['bank_name'] = "Fleeca Bank" + } \ No newline at end of file diff --git a/[esx_addons]/esx_barbershop/locales/de.lua b/[esx_addons]/esx_barbershop/locales/de.lua index c8e4ec5b..f06ecc10 100644 --- a/[esx_addons]/esx_barbershop/locales/de.lua +++ b/[esx_addons]/esx_barbershop/locales/de.lua @@ -2,8 +2,8 @@ Locales['de'] = { ['valid_purchase'] = 'Einkauf bestätigen?', ['yes'] = 'ja', ['no'] = 'nein', - ['not_enough_money'] = 'du hast nicht genug Geld', + ['not_enough_money'] = 'Du hast nicht genug Geld', ['press_access'] = 'Drücke [E] um das Menü zu öffnen', ['barber_blip'] = 'Friseur', - ['you_paid'] = 'du bezahlst $%s', + ['you_paid'] = 'Du bezahlst $%s', } \ No newline at end of file diff --git a/[esx_addons]/esx_basicneeds/config.lua b/[esx_addons]/esx_basicneeds/config.lua index 0a84e6c0..2fd4b2b9 100644 --- a/[esx_addons]/esx_basicneeds/config.lua +++ b/[esx_addons]/esx_basicneeds/config.lua @@ -1,3 +1,17 @@ Config = {} Config.Locale = GetConvar('esx:locale', 'en') Config.Visible = true + +Config.Food = { + ["bread"] = { + status = 200000, + remove = false + } +} + +Config.Drinks = { + ["water"] = { + status = 100000, + remove = true + } +} diff --git a/[esx_addons]/esx_basicneeds/locales/br.lua b/[esx_addons]/esx_basicneeds/locales/br.lua index e263e11a..2f023c30 100644 --- a/[esx_addons]/esx_basicneeds/locales/br.lua +++ b/[esx_addons]/esx_basicneeds/locales/br.lua @@ -1,4 +1,4 @@ Locales['br'] = { - ['used_bread'] = 'você comeu 1x pão', - ['used_water'] = 'você tomou 1x água', -} \ No newline at end of file + ['used_eat'] = 'você comeu 1x %s', + ['used_drink'] = 'você tomou 1x %s', +} diff --git a/[esx_addons]/esx_basicneeds/locales/en.lua b/[esx_addons]/esx_basicneeds/locales/en.lua index 3d03856d..a84b4c38 100644 --- a/[esx_addons]/esx_basicneeds/locales/en.lua +++ b/[esx_addons]/esx_basicneeds/locales/en.lua @@ -1,4 +1,4 @@ Locales['en'] = { - ['used_bread'] = 'you have used 1x bread', - ['used_water'] = 'you have used 1x water', -} \ No newline at end of file + ['used_eat'] = 'you have used 1x %s', + ['used_drink'] = 'you have used 1x %s', +} diff --git a/[esx_addons]/esx_basicneeds/locales/nl.lua b/[esx_addons]/esx_basicneeds/locales/nl.lua new file mode 100644 index 00000000..5e654ad5 --- /dev/null +++ b/[esx_addons]/esx_basicneeds/locales/nl.lua @@ -0,0 +1,4 @@ +Locales['nl'] = { + ['used_eat'] = 'je hebt 1x %s gegeten', + ['used_drink'] = 'je hebt 1x %s gedronken', + } diff --git a/[esx_addons]/esx_basicneeds/localization/nl_esx_basicneeds.sql b/[esx_addons]/esx_basicneeds/localization/nl_esx_basicneeds.sql new file mode 100644 index 00000000..271c3133 --- /dev/null +++ b/[esx_addons]/esx_basicneeds/localization/nl_esx_basicneeds.sql @@ -0,0 +1,4 @@ +INSERT INTO `items` (`name`, `label`, `weight`) VALUES + ('bread', 'Brood', 1), + ('water', 'Water', 1) +; \ No newline at end of file diff --git a/[esx_addons]/esx_basicneeds/server/main.lua b/[esx_addons]/esx_basicneeds/server/main.lua index b0de7997..5fed3e92 100644 --- a/[esx_addons]/esx_basicneeds/server/main.lua +++ b/[esx_addons]/esx_basicneeds/server/main.lua @@ -1,19 +1,29 @@ -ESX.RegisterUsableItem('bread', function(source) - local xPlayer = ESX.GetPlayerFromId(source) - xPlayer.removeInventoryItem('bread', 1) - - TriggerClientEvent('esx_status:add', source, 'hunger', 200000) - TriggerClientEvent('esx_basicneeds:onEat', source) - xPlayer.showNotification(_U('used_bread')) +CreateThread(function() + for k,v in pairs(Config.Food) do + ESX.RegisterUsableItem(k, function(source) + local xPlayer = ESX.GetPlayerFromId(source) + if v.remove then + xPlayer.removeInventoryItem(k,1) + end + TriggerClientEvent("esx_status:add",source,"hunger",v.status) + TriggerClientEvent('esx_basicneeds:onEat',source) + xPlayer.showNotification(_U('used_eat', ESX.GetItemLabel(k))) + end) + end end) -ESX.RegisterUsableItem('water', function(source) - local xPlayer = ESX.GetPlayerFromId(source) - xPlayer.removeInventoryItem('water', 1) - - TriggerClientEvent('esx_status:add', source, 'thirst', 200000) - TriggerClientEvent('esx_basicneeds:onDrink', source) - xPlayer.showNotification(_U('used_water')) +CreateThread(function() + for k,v in pairs(Config.Drinks) do + ESX.RegisterUsableItem(k, function(source) + local xPlayer = ESX.GetPlayerFromId(source) + if v.remove then + xPlayer.removeInventoryItem(k,1) + end + TriggerClientEvent("esx_status:add",source,"thirst",v.status) + TriggerClientEvent('esx_basicneeds:onDrink',source) + xPlayer.showNotification(_U('used_drink', ESX.GetItemLabel(k))) + end) + end end) ESX.RegisterCommand('heal', 'admin', function(xPlayer, args, showError) @@ -29,4 +39,4 @@ AddEventHandler('txAdmin:events:healedPlayer', function(eventData) end TriggerClientEvent('esx_basicneeds:healPlayer', eventData.id) -end) \ No newline at end of file +end) diff --git a/[esx_addons]/esx_billing/locales/de.lua b/[esx_addons]/esx_billing/locales/de.lua index 6928315a..9c756c5c 100644 --- a/[esx_addons]/esx_billing/locales/de.lua +++ b/[esx_addons]/esx_billing/locales/de.lua @@ -1,10 +1,10 @@ Locales['de'] = { ['invoices'] = 'Rechnungen', ['invoices_item'] = '$%s', - ['received_invoice'] = 'Sie haben eine Rechnung ~r~erhalten.', - ['paid_invoice'] = 'Sie bezahlen eine Rechnung von ~r~$%s.', + ['received_invoice'] = 'Sie haben eine Rechnung erhalten.', + ['paid_invoice'] = 'Sie bezahlen eine Rechnung von $%s.', ['no_invoices'] = 'Sie haben keine offenen Rechnungen.', - ['received_payment'] = 'Sie erhalten eine Zahlung von ~r~$%s.', + ['received_payment'] = 'Sie erhalten eine Zahlung von $%s.', ['player_not_online'] = 'Die Person ist nicht erreichbar.', ['no_money'] = 'Sie haben nicht genug Geld, um diese Rechnung zu bezahlen.', ['target_no_money'] = 'Die Person kann die Rechnung nicht bezahlen.', diff --git a/[esx_addons]/esx_billing/locales/nl.lua b/[esx_addons]/esx_billing/locales/nl.lua new file mode 100644 index 00000000..394cf892 --- /dev/null +++ b/[esx_addons]/esx_billing/locales/nl.lua @@ -0,0 +1,12 @@ +Locales['nl'] = { + ['invoices'] = 'Facturen', + ['invoices_item'] = '€%s', + ['received_invoice'] = 'Je hebt zojuist een ~r~factuur ontvangen', + ['paid_invoice'] = 'Je hebt een factuur betaald van ~r~€%s', + ['no_invoices'] = 'Je hoeft momenteel geen facturen te betalen', + ['received_payment'] = 'je hebt een bedrag ontvangen van ~r~€%s', + ['player_not_online'] = 'de speler is niet online', + ['no_money'] = 'je hebt niet genoeg geld om deze factuur te betalen', + ['target_no_money'] = 'de speler ~r~heeft niet genoeg geld om te betalen!', + ['keymap_showbills'] = 'open factuur menu', +} diff --git a/[esx_addons]/esx_boat/locales/de.lua b/[esx_addons]/esx_boat/locales/de.lua index 88607ec5..a3a6dcb8 100644 --- a/[esx_addons]/esx_boat/locales/de.lua +++ b/[esx_addons]/esx_boat/locales/de.lua @@ -2,9 +2,9 @@ Locales['de'] = { -- shop ['boat_shop'] = 'Bootsladen', ['boat_shop_open'] = 'Drücke [E] um auf den Bootsladen zuzugreifen .', - ['boat_shop_confirm'] = 'Kaufen %s for $%s?', + ['boat_shop_confirm'] = 'Kaufen %s für $%s?', ['boat_shop_bought'] = 'Du hast ein %s für $%s gekauft', - ['boat_shop_nomoney'] = 'Du kannst dir ~r~ dass nicht leisten!', + ['boat_shop_nomoney'] = 'Du kannst dir dass nicht leisten!', ['confirm_no'] = 'Nein', ['confirm_yes'] = 'Ja', @@ -12,7 +12,7 @@ Locales['de'] = { ['garage'] = 'Bootsgarage', ['garage_open'] = 'Drücke [E] um auf deine Bootsgarage zuzugreifen.', ['garage_store'] = 'Drücke [E] um auf den Laden in deiner Bootsgarage zuzugreifen.', - ['garage_taken'] = 'Das Boot wurde ausgeparkt!!', + ['garage_taken'] = 'Das Boot wurde ausgeparkt!', ['garage_stored'] = 'Das Boot wurde sicher in Ihre Garage gelagert!', ['garage_noboats'] = 'Sie haben besitzen keine Boote! Besuchen Sie den Bootsladen, um eins zu kaufen.', ['garage_blocked'] = 'Das Boot kann nicht ausgeparkt werden, weil ein anderes Fahrzeug den Spawn-Punkt blockiert!', @@ -23,7 +23,7 @@ Locales['de'] = { ['license_buy_no'] = 'Nein', ['license_buy_yes'] = 'Bootsführerschein kaufen $%s', ['license_bought'] = 'Du hast den Bootsführerschein für $%s gekauft', - ['license_nomoney'] = 'Du kannst dir den ~r~Bootsführerschein nicht leisten!', + ['license_nomoney'] = 'Du kannst dir den Bootsführerschein nicht leisten!', -- blips ['blip_garage'] = 'Bootsgarage', diff --git a/[esx_addons]/esx_boat/server/main.lua b/[esx_addons]/esx_boat/server/main.lua index 1059469f..93fa884b 100644 --- a/[esx_addons]/esx_boat/server/main.lua +++ b/[esx_addons]/esx_boat/server/main.lua @@ -7,7 +7,7 @@ function ParkBoats() ['@type'] = 'boat' }, function (rowsChanged) if rowsChanged > 0 then - print(('esx_boat: %s boat(s) have been stored!'):format(rowsChanged)) + print(('[^2INFO^7] Stored ^5%s^7 %s !'):format(rowsChanged, rowsChanged > 1 and 'boats' or 'boat')) end end) end @@ -18,7 +18,7 @@ ESX.RegisterServerCallback('esx_boat:buyBoat', function(source, cb, vehicleProps -- vehicle model not found if price == 0 then - print(('esx_boat: %s attempted to exploit the shop! (invalid vehicle model)'):format(xPlayer.identifier)) + print(('[^2INFO^7] Player ^5%s^7 Attempted To Exploit Shop'):format(xPlayer.source)) cb(false) else if xPlayer.getMoney() >= price then @@ -49,7 +49,7 @@ AddEventHandler('esx_boat:takeOutVehicle', function(plate) ['@plate'] = plate }, function(rowsChanged) if rowsChanged == 0 then - print(('esx_boat: %s exploited the garage!'):format(xPlayer.identifier)) + print(('[^2INFO^7] Player ^5%s^7 Attempted To Exploit Garage'):format(xPlayer.source)) end end) end) @@ -62,10 +62,6 @@ ESX.RegisterServerCallback('esx_boat:storeVehicle', function (source, cb, plate) ['@owner'] = xPlayer.identifier, ['@plate'] = plate }, function(rowsChanged) - if rowsChanged == 0 then - print(('esx_boat: %s attempted to store an boat they don\'t own!'):format(xPlayer.identifier)) - end - cb(rowsChanged) end) end) diff --git a/[esx_addons]/esx_clotheshop/locales/de.lua b/[esx_addons]/esx_clotheshop/locales/de.lua index 4412fedf..417f8d8f 100644 --- a/[esx_addons]/esx_clotheshop/locales/de.lua +++ b/[esx_addons]/esx_clotheshop/locales/de.lua @@ -1,12 +1,12 @@ Locales['de'] = { - ['valid_this_purchase'] = 'einkauf bestätigen?', + ['valid_this_purchase'] = 'Einkauf bestätigen?', ['yes'] = 'ja', ['no'] = 'nein', - ['not_enough_money'] = 'du hast nicht genug Geld', - ['press_menu'] = 'drücke [E] um das Menü zu öffnen', - ['clothes'] = 'kleidung', - ['you_paid'] = 'du bezahlst $%s', - ['save_in_dressing'] = 'do you want to save the outfit in your property?', - ['name_outfit'] = 'name des outfits?', - ['saved_outfit'] = 'the outfit has been saved!', + ['not_enough_money'] = 'Du hast nicht genug Geld', + ['press_menu'] = 'Drücke [E] um das Menü zu öffnen', + ['clothes'] = 'Kleidung', + ['you_paid'] = 'Du bezahlst $%s', + ['save_in_dressing'] = 'Wollen sie das Outfit in ihrer Garderobe speichern?', + ['name_outfit'] = 'Name des outfits?', + ['saved_outfit'] = 'Das outfit wurde gespeichert', } \ No newline at end of file diff --git a/[esx_addons]/esx_clotheshop/locales/nl.lua b/[esx_addons]/esx_clotheshop/locales/nl.lua new file mode 100644 index 00000000..14989059 --- /dev/null +++ b/[esx_addons]/esx_clotheshop/locales/nl.lua @@ -0,0 +1,12 @@ +Locales['nl'] = { + ['valid_this_purchase'] = 'bevestig deze aankoop?', + ['yes'] = 'ja', + ['no'] = 'nee', + ['not_enough_money'] = 'je hebt niet genoeg geld', + ['press_menu'] = 'klik op [E] om de kleding winkel te bezoeken.', + ['clothes'] = 'kleding winkel', + ['you_paid'] = 'je betaalde $%s', + ['save_in_dressing'] = 'wil je deze outfit opslaan in je garderobe?', + ['name_outfit'] = 'geef je outfit een naam', + ['saved_outfit'] = 'je outfit is opgeslagen.', +} diff --git a/[esx_addons]/esx_dmvschool/locales/de.lua b/[esx_addons]/esx_dmvschool/locales/de.lua new file mode 100644 index 00000000..3155a93d --- /dev/null +++ b/[esx_addons]/esx_dmvschool/locales/de.lua @@ -0,0 +1,29 @@ +Locales['de'] = { + ['you_paid'] = 'Du hast $%s an die Fahrschule gezahlt.', + ['go_next_point'] = 'Fahre zum nächsten Punkt!', + ['in_town_speed'] = 'Du begibst dich in ein Wohngebiet! Geschwindigkeitsbegrenzung: %s km/h', + ['next_point_speed'] = 'Begieb dich zum nächsten Punkt! Geschwindigkeitsbegrenzung: %s km/h', + ['stop_for_ped'] = '~r~Halte für den Fußgänger.', + ['good_lets_cont'] = 'Gut gemacht, weiter so.', + ['stop_look_left'] = '~r~Halte an und schau nach links. Geschwindigkeitsbegrenzung: %s km/h', + ['good_turn_right'] = 'Weiter so, biege rechts ab und folge der Route.', + ['watch_traffic_lightson'] = 'Pass auf den Verkehr auf und achte auf deine Beleuchtung!', + ['stop_for_passing'] = '~r~Halte an für weitere Fahrzeuge!', + ['hway_time'] = 'Es ist Zeit auf der Autobahn zu fahren! Geschwindigkeitsbegrenzung: %s km/h', + ['gratz_stay_alert'] = 'Sehr gut, bleibe jedoch immer achtsam während der Fahrt!', + ['passed_test'] = '~g~Du hast bestanden, herzlichen Glückwunsch!', + ['failed_test'] = '~r~Du hast nicht bestanden, viel Glück beim nächsten Mal!', + ['theory_test'] = 'Theoretische Fahrprüfung', + ['road_test_car'] = 'Praktische Fahrprüfung', + ['road_test_bike'] = 'Motorrad Fahrprüfung', + ['road_test_truck'] = 'LKW Fahrprüfung', + ['school_item'] = '$%s', + ['driving_school'] = 'Fahrschule', + ['press_open_menu'] = 'Drücke [~y~E~s~] um das Menü zu öffnen.', + ['driving_school_blip'] = 'Fahrschule', + ['driving_test_complete'] = 'Fahrschultest abgeschlossen.', + ['driving_too_fast'] = '~r~Du fährst zu schnell, die Geschwindigkeitsbegrenzung ist: %s km/h!', + ['errors'] = 'Fehler: ~r~%s/%s', + ['you_damaged_veh'] = 'Du hast das Fahrzeug beschädigt.', + ['not_enough_money'] = 'Du hast nicht genügend Geld.', +} diff --git a/[esx_addons]/esx_dmvschool/localization/de_esx_dmvschool.sql b/[esx_addons]/esx_dmvschool/localization/de_esx_dmvschool.sql new file mode 100644 index 00000000..d052385e --- /dev/null +++ b/[esx_addons]/esx_dmvschool/localization/de_esx_dmvschool.sql @@ -0,0 +1,6 @@ +INSERT INTO `licenses` (`type`, `label`) VALUES + ('dmv', 'Probeführerschein'), + ('drive', 'Führerschein'), + ('drive_bike', 'Motorradschein'), + ('drive_truck', 'Lastkraftschein') +; diff --git a/[esx_addons]/esx_drugs/locales/nl.lua b/[esx_addons]/esx_drugs/locales/nl.lua new file mode 100644 index 00000000..479c521a --- /dev/null +++ b/[esx_addons]/esx_drugs/locales/nl.lua @@ -0,0 +1,31 @@ +Locales ['nl'] = { + -- weed + ['weed_pickupprompt'] = 'druk op [E] om de Cannabis plant te oogsten.', + ['weed_quitprocess'] = 'druk op [E] om Proces Cannabis te stoppen.', + ['weed_inventoryfull'] = 'heb je geen voorraadruimte meer voor Cannabis.', + ['weed_processprompt'] = 'druk op [E] om Proces Cannabis te starten.', + ['weed_processingstarted'] = 'Cannabis verwerken tot marihuana...', + ['weed_processingfull'] = 'verwerking ~r~geannuleerd wegens volle voorraad!', + ['weed_processingenough'] = 'u moet 3x Cannabis hebben om te kunnen verwerken.', + ['weed_processed'] = 'je hebt 3x Cannabis verwerkt tot 1x Marihuana', + ['weed_processingtoofar'] = 'het proces is geannuleerd omdat u het gebied verlaten heeft.', + + -- drug dealer + ['dealer_prompt'] = 'druk op [E] om met de ~r~Drugs Dealer te praten.', + ['dealer_title'] = 'drugsdealer', + ['dealer_item'] = '$%s', + ['dealer_notenough'] = 'heb je daar niet genoeg van om te verkopen!', + ['dealer_sold'] = 'je hebt %sx %s verkocht voor $%s', + + -- license + ['license_title'] = 'u moet een verwerkingsvergunning hebben om dit product te verwerken, die kunt u hier kopen.', + ['license_no'] = 'nee', + ['license_bought'] = 'je kocht de %s voor ~r~$%s', + ['license_bought_fail'] = 'je kunt je geen %s veroorloven!', + ['license_weed'] = 'Licentie voor wietverwerking', + + -- blips + ['blip_weedfield'] = 'onkruidveld', + ['blip_weedprocessing'] = 'onkruidverwerking', + ['blip_drugdealer'] = 'drugsdealer', +} diff --git a/[esx_addons]/esx_garage/client/main.lua b/[esx_addons]/esx_garage/client/main.lua index d4fe7330..e1d6a5da 100644 --- a/[esx_addons]/esx_garage/client/main.lua +++ b/[esx_addons]/esx_garage/client/main.lua @@ -389,10 +389,7 @@ CreateThread(function() currentPart = 'GetOutPoint' if IsControlJustReleased(0, 38) and not menuIsShowed then - print("2") ESX.TriggerServerCallback('esx_garage:getVehiclesInPound', function(vehicles) - print(1) - print(vehicles) if next(vehicles) then menuIsShowed = true diff --git a/[esx_addons]/esx_garage/locales/de.lua b/[esx_addons]/esx_garage/locales/de.lua new file mode 100644 index 00000000..1acf743e --- /dev/null +++ b/[esx_addons]/esx_garage/locales/de.lua @@ -0,0 +1,25 @@ +Locales["de"] = { + ["parking_blip_name"] = 'Garage', + ["Impound_blip_name"] = 'Abschlepphof', + ["access_parking"] = 'Drücke [E] to access the car park.', + ["access_Impound"] = 'Drücke [E] um den Abschlepphof zu öffnen.', + ["park_veh"] = 'Drücke [E] um das Fahrzeug zu parken.', + ["not_owning_veh"] = 'Du besitzt dieses Fahrzeug nicht!', + ['veh_released'] = 'Du hast dein Fahrzeug erfolgreich abgeholt.', + ['veh_Impound_released'] = 'Du hast dein Fahrzeug erfolgreich zurückgeholt.', + ['veh_stored'] = 'Erfolgreich gelagertes Fahrzeug', + ['veh_impounded'] = 'Beschlagnahmtes Fahrzeug', + ['no_veh_parking'] = 'Kein Fahrzeug von dir ist hier eingelagert.', + ['no_veh_impounded'] = 'Kein Fahrzeug von dir ist hier beschlagnahmt.', + ['no_veh_Impound'] = 'Du hast keine beschlagnahmten Fahrzeuge.', + ['veh_model'] = 'Model', + ['veh_plate'] = 'Kennzeichen', + ['veh_condition'] = 'Zustand', + ['veh_action'] = 'Aktion', + ['impound_action'] = 'Beschlagnahme', + ['veh_exit'] = 'Fahrzeug zurückholen', + ['pay_impound'] = 'Beschlagnahme bezahlen', + ['veh_block'] = 'Fahrzeug kann nicht zurückgeholt werden da der Spawn blockiert ist.', + ['pay_Impound_bill'] = 'Du hast $%s zum Abschlepphof bezahlt.', + ['missing_money'] = 'Du hast nicht genug Geld.' +} diff --git a/[esx_addons]/esx_holdup/locales/de.lua b/[esx_addons]/esx_holdup/locales/de.lua index ee23fc95..fb9c7a05 100644 --- a/[esx_addons]/esx_holdup/locales/de.lua +++ b/[esx_addons]/esx_holdup/locales/de.lua @@ -1,16 +1,16 @@ Locales['de'] = { - ['shop_robbery'] = 'ladenraub', - ['press_to_rob'] = 'drücke [E] ~o~zum Ausrauben %s', - ['robbery_timer'] = 'ladenraub: ~r~%s Sekunden übrig!', + ['shop_robbery'] = 'Ladenraub', + ['press_to_rob'] = 'Drücke [E] zum Ausrauben %s', + ['robbery_timer'] = 'Ladenraub: %s Sekunden übrig!', ['recently_robbed'] = 'dieser Laden wurde bereits ausgeraubt. Bitte warte %s sekunden!', - ['rob_in_prog'] = '~r~Raub im Gange bei: %s', - ['started_to_rob'] = 'du hast einen Raub gestartet %s', - ['alarm_triggered'] = 'der Alarm wurde ausgelöst', - ['robbery_complete'] = '~r~Raub erfolgreich. Du ~o~hast $%s gestohlen', - ['robbery_complete_at'] = '~r~Raub erfolgreich bei: %s', - ['robbery_cancelled'] = 'der Raub wurde abgebrochen, du bekommst nichts!', - ['robbery_cancelled_at'] = '~r~Raub abgebrochen bei: %s', - ['min_police'] = 'es müssen mindestens %s Cops im Dienst sein um ein Raub zu starten.', - ['robbery_already'] = '~r~Ein Raub ist bereits im gange.', - ['no_threat'] = 'du machst den Ladenbesitzer keine Angst!', + ['rob_in_prog'] = 'Raub im Gange bei: %s', + ['started_to_rob'] = 'Du hast einen Raub gestartet %s', + ['alarm_triggered'] = 'Der Alarm wurde ausgelöst', + ['robbery_complete'] = 'Raub erfolgreich. Du hast $%s gestohlen', + ['robbery_complete_at'] = 'Raub erfolgreich bei: %s', + ['robbery_cancelled'] = 'Der Raub wurde abgebrochen, du bekommst nichts!', + ['robbery_cancelled_at'] = 'Raub abgebrochen bei: %s', + ['min_police'] = 'Es müssen mindestens %s Polizisten im Dienst sein um ein Raub zu starten.', + ['robbery_already'] = 'Ein Raub ist bereits im gange.', + ['no_threat'] = 'Du machst den Ladenbesitzer keine Angst!', } diff --git a/[esx_addons]/esx_holdup/locales/nl.lua b/[esx_addons]/esx_holdup/locales/nl.lua new file mode 100644 index 00000000..650e5ff0 --- /dev/null +++ b/[esx_addons]/esx_holdup/locales/nl.lua @@ -0,0 +1,16 @@ +Locales['nl'] = { + ['shop_robbery'] = 'Winkel Overval', + ['press_to_rob'] = 'Druk op ~INPUT_CONTEXT~ om ~b~%s~s~ te ~o~overvallen~s~ ', + ['robbery_timer'] = 'Winkel overval: nog ~r~%s~s~ seconden wachten', + ['recently_robbed'] = 'Deze winkel is net overvallen . Wacht nog ~y~%s~s~ seconden voordat je deze winkel kan overvallen', + ['rob_in_prog'] = '~r~Overval aan de gang bij de ~b~%s~s~', + ['started_to_rob'] = 'Je bent begonnen met het overvallen van de ~y~%s~s~', + ['alarm_triggered'] = 'Het alarm gaat af!', + ['robbery_complete'] = '~r~De overval is succesvol ~s~, je hebt ~g~$%s~s~ ~o~buitgemaakt~s~', + ['robbery_complete_at'] = '~r~De overval bij de ~y~%s~s~ is geslaagd', + ['robbery_cancelled'] = 'De overval is gestopt!', + ['robbery_cancelled_at'] = '~r~De overval bij de ~b~%s~s~ is gestopt!', + ['min_police'] = 'Er moeten minimaal ~b~%s agenten~s~ in de stad aanwezig zijn.', + ['robbery_already'] = '~r~Er is al een overval gaande.', + ['no_threat'] = 'Je vormt geen Bedreiging voor de eigenaar', +} diff --git a/[esx_addons]/esx_joblisting/locales/de.lua b/[esx_addons]/esx_joblisting/locales/de.lua index 63098cdb..84ad3342 100644 --- a/[esx_addons]/esx_joblisting/locales/de.lua +++ b/[esx_addons]/esx_joblisting/locales/de.lua @@ -1,5 +1,7 @@ Locales['de'] = { ['new_job'] = 'Du hast einen neuen Job!', - ['access_job_center'] = 'Drücke ~INPUT_PICKUP~ um das Arbeitsamt zu öffnen.', + ['access_job_center'] = 'Drücke [E] um das Arbeitsamt zu öffnen.', ['job_center'] = 'Arbeitsamt', + ["blip_text"] = "Job Center" + } diff --git a/[esx_addons]/esx_joblisting/locales/it.lua b/[esx_addons]/esx_joblisting/locales/it.lua new file mode 100644 index 00000000..fd2e9a89 --- /dev/null +++ b/[esx_addons]/esx_joblisting/locales/it.lua @@ -0,0 +1,6 @@ +Locales['it'] = { + ['new_job'] = 'Nuovo lavoro: ~b~%s~s~ !', + ['access_job_center'] = 'Premi ~b~[E]~s~ per aprire la scelta dei lavori.', + ['job_center'] = 'Seleziona un lavoro.', + ["blip_text"] = "Centro lavori" +} diff --git a/[esx_addons]/esx_joblisting/locales/nl.lua b/[esx_addons]/esx_joblisting/locales/nl.lua new file mode 100644 index 00000000..7152f026 --- /dev/null +++ b/[esx_addons]/esx_joblisting/locales/nl.lua @@ -0,0 +1,6 @@ +Locales['nl'] = { + ['new_job'] = 'Nieuwe baan: ~b~%s~s~ !', + ['access_job_center'] = 'Klik op ~b~[E]~s~ om het uitzendbureau te openen.', + ['job_center'] = 'Selecteer een baan.', + ["blip_text"] = "Uitzendbureau" +} diff --git a/[esx_addons]/esx_joblisting/server/main.lua b/[esx_addons]/esx_joblisting/server/main.lua index 987eb3a5..7be7b151 100644 --- a/[esx_addons]/esx_joblisting/server/main.lua +++ b/[esx_addons]/esx_joblisting/server/main.lua @@ -41,7 +41,7 @@ AddEventHandler('esx_joblisting:setJob', function(job) if ESX.DoesJobExist(job, 0) then xPlayer.setJob(job, 0) else - print("[^1ERROR^7] Tried Setting User To Invalid Job - ^5"..job .."^7!") + print("[^1ERROR^7] Tried Setting User ^5".. source .. "^7 To Invalid Job - ^5"..job .."^7!") end end end) diff --git a/[esx_addons]/esx_jobs/locales/de.lua b/[esx_addons]/esx_jobs/locales/de.lua index 52139520..69b2437e 100644 --- a/[esx_addons]/esx_jobs/locales/de.lua +++ b/[esx_addons]/esx_jobs/locales/de.lua @@ -1,11 +1,11 @@ Locales['de'] = { -- Global menus ['cloakroom'] = 'Umkleide', - ['cloak_change'] = 'Drücke ~INPUT_PICKUP~ to change clothes.', + ['cloak_change'] = 'Drücke [E] to change clothes.', ['citizen_wear'] = 'Zivilkleidung', ['job_wear'] = 'Arbeitskleidung', ['bank_deposit_returned'] = 'Ein Pfand über $%s wurde dir zurückgegeben.', - ['bank_deposit_taken'] = 'Ein Pfand über ~r~$%s wurde von dir genommen.', + ['bank_deposit_taken'] = 'Ein Pfand über $%s wurde von dir genommen.', ['caution_afford'] = 'Du kannst die Kaution über $%s nicht bezahlen', ['foot_work'] = 'Du musst dafür zu Fuß sein.', ['next_point'] = 'Gehe zum nächsten Schritt nach diesem.', @@ -15,101 +15,101 @@ Locales['de'] = { ['max_limit'] = 'Du kannst nicht mehr %s tragen', ['not_enough'] = 'Du hast nicht genug %s um diese Aufgabe weiterhin zu erledigen.', ['spawn_veh'] = 'Fahrzeug spawnen', - ['spawn_veh_button'] = 'Drücke ~INPUT_PICKUP~ um ein Lieferfahrzeug zu holen.', - ['spawn_truck_button'] = 'Drücke ~INPUT_PICKUP~ um einen Truck zu spawnen.', + ['spawn_veh_button'] = 'Drücke [E] um ein Lieferfahrzeug zu holen.', + ['spawn_truck_button'] = 'Drücke [E] um einen Truck zu spawnen.', ['spawn_blocked'] = 'Ein Fahrzeug blockiert den Spawnpoint!', ['service_vh'] = 'Service Fahrzeug', ['return_vh'] = 'Fahrzeugrückgabe', - ['return_vh_button'] = 'Drücke ~INPUT_PICKUP~ um das Fahrzeug zurückzugeben.', + ['return_vh_button'] = 'Drücke [E] um das Fahrzeug zurückzugeben.', ['delivery_point'] = 'Lieferpunkt', ['delivery'] = 'Lieferung', - ['public_enter'] = 'Drücke ~INPUT_PICKUP~ um das Gebäude zu betreten.', - ['public_leave'] = 'Drücke ~INPUT_PICKUP~ um das Gebäude zu verlassen.', + ['public_enter'] = 'Drücke [E] um das Gebäude zu betreten.', + ['public_leave'] = 'Drücke [E] um das Gebäude zu verlassen.', -- Lumber Jack job ['lj_locker_room'] = 'Umkleide', ['lj_mapblip'] = 'Holzstapel', ['lj_wood'] = 'Holz', - ['lj_pickup'] = 'Drücke ~INPUT_PICKUP~ um Holz zu sammeln.', + ['lj_pickup'] = 'Drücke [E] um Holz zu sammeln.', ['lj_woodcutting'] = 'Holzverarbeitung', - ['lj_cutwood_button'] = 'Drücke ~INPUT_PICKUP~ um das Holz zu schneiden.', + ['lj_cutwood_button'] = 'Drücke [E] um das Holz zu schneiden.', ['lj_board'] = 'Bretter', ['lj_planks'] = 'Holz verarbeiten', ['lj_cutwood'] = 'Holz schneiden', - ['lj_pick_boards'] = 'Drücke ~INPUT_PICKUP~ um Bretter zu bekommen.', - ['lj_deliver_button'] = 'Drücke ~INPUT_PICKUP~ um die Bretter zu liefern.', + ['lj_pick_boards'] = 'Drücke [E] um Bretter zu bekommen.', + ['lj_deliver_button'] = 'Drücke [E] um die Bretter zu liefern.', -- Fisherman ['fm_fish_locker'] = 'Umkleide', ['fm_fish'] = 'Fisch', ['fm_fish_area'] = 'Fischerzone', - ['fm_fish_button'] = 'Drücke ~INPUT_PICKUP~ um zu fischen.', + ['fm_fish_button'] = 'Drücke [E] um zu fischen.', ['fm_spawnboat_title'] = 'Boot spawnen', - ['fm_spawnboat'] = 'Drücke ~INPUT_PICKUP~ um ein Boot auszuparken.', + ['fm_spawnboat'] = 'Drücke [E] um ein Boot auszuparken.', ['fm_boat_title'] = 'Boot', ['fm_boat_return_title'] = 'Bootsrückgabe', - ['fm_boat_return_button'] = 'Drücke ~INPUT_PICKUP~ um das Boot zurückzugeben.', - ['fm_deliver_fish'] = 'Drücke ~INPUT_PICKUP~ um den Fisch zu liefern.', + ['fm_boat_return_button'] = 'Drücke [E] um das Boot zurückzugeben.', + ['fm_deliver_fish'] = 'Drücke [E] um den Fisch zu liefern.', -- Fuel ['f_oil_refiner'] = 'Umkleide', ['f_drill_oil'] = 'Nach Öl bohren', ['f_fuel'] = 'Öl', - ['f_drillbutton'] = 'Drücke ~INPUT_PICKUP~ um nach Öl zu bohren.', + ['f_drillbutton'] = 'Drücke [E] um nach Öl zu bohren.', ['f_fuel_refine'] = 'Öl verarbeiten', - ['f_refine_fuel_button'] = 'Drücke ~INPUT_PICKUP~ zum verarbeiten.', + ['f_refine_fuel_button'] = 'Drücke [E] zum verarbeiten.', ['f_fuel_mixture'] = 'Öl mischen', ['f_gas'] = 'Benzin', - ['f_fuel_mixture_button'] = 'Drücke ~INPUT_PICKUP~ um das Öl zu mixen.', + ['f_fuel_mixture_button'] = 'Drücke [E] um das Öl zu mixen.', ['f_deliver_gas'] = 'Benzin liefern', - ['f_deliver_gas_button'] = 'Drücke ~INPUT_PICKUP~ um Benzin zu liefern.', + ['f_deliver_gas_button'] = 'Drücke [E] um Benzin zu liefern.', -- Miner ['m_miner_locker'] = 'Umkleide', ['m_rock'] = 'Stein', - ['m_pickrocks'] = 'Drücke ~INPUT_PICKUP~ um Stein abzubauen.', + ['m_pickrocks'] = 'Drücke [E] um Stein abzubauen.', ['m_washrock'] = 'Steine waschen', - ['m_rock_button'] = 'Drücke ~INPUT_PICKUP~ um die Steine zu waschen.', + ['m_rock_button'] = 'Drücke [E] um die Steine zu waschen.', ['m_rock_smelting'] = 'Steine schmelzen', ['m_copper'] = 'Kupfer', ['m_sell_copper'] = 'Kupfer Verkäufer', - ['m_deliver_copper'] = 'Drücke ~INPUT_PICKUP~ um Kupfer zu liefern.', + ['m_deliver_copper'] = 'Drücke [E] um Kupfer zu liefern.', ['m_iron'] = 'Eisen', ['m_sell_iron'] = 'Eisen Verkäufer', - ['m_deliver_iron'] = 'Drücke ~INPUT_PICKUP~ um Eisen zu liefern.', + ['m_deliver_iron'] = 'Drücke [E] um Eisen zu liefern.', ['m_gold'] = 'Gold', ['m_sell_gold'] = 'Gold verkaufen', - ['m_deliver_gold'] = 'Drücke ~INPUT_PICKUP~ um Gold zu verkaufen.', + ['m_deliver_gold'] = 'Drücke [E] um Gold zu verkaufen.', ['m_diamond'] = 'Diamant', ['m_sell_diamond'] = 'Diamanten verkaufen', - ['m_deliver_diamond'] = 'Drücke ~INPUT_PICKUP~ um die Diamanten zu verkaufen.', - ['m_melt_button'] = 'Drücke ~INPUT_PICKUP~ um die Steine zu schmelzen.', + ['m_deliver_diamond'] = 'Drücke [E] um die Diamanten zu verkaufen.', + ['m_melt_button'] = 'Drücke [E] um die Steine zu schmelzen.', -- Reporter ['reporter_name'] = 'san Andreas Times', - ['reporter_garage'] = 'Drücke ~INPUT_PICKUP~ to go down to the garage.', + ['reporter_garage'] = 'Drücke [E] to go down to the garage.', -- Slaughterer ['s_slaughter_locker'] = 'Umkleide', ['s_hen'] = 'Hühner', ['s_alive_chicken'] = 'lebende Hühner', - ['s_catch_hen'] = 'Drücke ~INPUT_PICKUP~ um Hühner zu fangen.', + ['s_catch_hen'] = 'Drücke [E] um Hühner zu fangen.', ['s_slaughtered_chicken'] = 'Hühner verpacken', - ['s_chop_animal'] = 'Drücke ~INPUT_PICKUP~ um die Hühner zu schneiden.', - ['s_slaughtered'] = 'SChlachthaus', + ['s_chop_animal'] = 'Drücke [E] um die Hühner zu schneiden.', + ['s_slaughtered'] = 'Schlachthaus', ['s_package'] = 'Verpackung', ['s_packagechicken'] = 'Hühnchen in Verpackung', ['s_unpackaged'] = 'Verpackbereite Hühnchen', - ['s_unpackaged_button'] = 'Drücke ~INPUT_PICKUP~ um die Hühnchen zu verpacken.', - ['s_deliver'] = 'Drücke ~INPUT_PICKUP~ um die Hühnchen zu liefern.', + ['s_unpackaged_button'] = 'Drücke [E] um die Hühnchen zu verpacken.', + ['s_deliver'] = 'Drücke [E] um die Hühnchen zu liefern.', -- Dress Designer ['dd_dress_locker'] = 'dress Designer\'s Locker Room', - ['dd_wool'] = 'wool', - ['dd_pickup'] = 'Drücke ~INPUT_PICKUP~ to retrieve wool.', - ['dd_fabric'] = 'fabric', - ['dd_makefabric'] = 'Drücke ~INPUT_PICKUP~ to make fabric.', - ['dd_clothing'] = 'clothing', - ['dd_makeclothing'] = 'Drücke ~INPUT_PICKUP~ to retrieve clothing.', - ['dd_deliver_clothes'] = 'Drücke ~INPUT_PICKUP~ to deliver the clothes.', + ['dd_wool'] = 'wolle', + ['dd_pickup'] = 'Drücke [E] um Wolle zu gewinnen.', + ['dd_fabric'] = 'stoff', + ['dd_makefabric'] = 'Drücke [E] zur Herstellung von Stoffen.', + ['dd_clothing'] = 'kleidung', + ['dd_makeclothing'] = 'Drücke [E] um Kleidung herzustellen.', + ['dd_deliver_clothes'] = 'Drücke [E] um Kleidung zu liefern.', } diff --git a/[esx_addons]/esx_lscustom/locales/de.lua b/[esx_addons]/esx_lscustom/locales/de.lua index 889a98f9..0318749d 100644 --- a/[esx_addons]/esx_lscustom/locales/de.lua +++ b/[esx_addons]/esx_lscustom/locales/de.lua @@ -1,10 +1,10 @@ Locales['de'] = { ['by_default'] = 'Standard', - ['installed'] = 'installed', + ['installed'] = 'Installiert', ['already_own'] = 'Sie besitzen bereits: %s', - ['not_enough_money'] = 'du kannst dir diese mod nicht leisten', + ['not_enough_money'] = 'Du kannst dir diese mod nicht leisten', ['purchased'] = 'Du hast diese Mod gekauft!', - ['press_custom'] = 'Drücke ~INPUT_PICKUP~ um dein Fahrzeug auf zu Tunen', + ['press_custom'] = 'Drücke [E] um dein Fahrzeug auf zu Tunen', ['level'] = 'level %s', ['neon'] = 'Neon', ['blip_name'] = 'Tuning', diff --git a/[esx_addons]/esx_lscustom/server/main.lua b/[esx_addons]/esx_lscustom/server/main.lua index f138efa8..104854b9 100644 --- a/[esx_addons]/esx_lscustom/server/main.lua +++ b/[esx_addons]/esx_lscustom/server/main.lua @@ -45,7 +45,7 @@ AddEventHandler('esx_lscustom:refreshOwnedVehicle', function(vehicleProps) if vehicleProps.model == vehicle.model then MySQL.update('UPDATE owned_vehicles SET vehicle = ? WHERE plate = ?', {json.encode(vehicleProps), vehicleProps.plate}) else - print(('esx_lscustom: %s attempted to upgrade vehicle with mismatching vehicle model!'):format(xPlayer.identifier)) + print(('[^3WARNING^7] Player ^5%s^7 Attempted To upgrade with mismatching vehicle model'):format(xPlayer.source)) end end end) diff --git a/[esx_addons]/esx_mechanicjob/locales/de.lua b/[esx_addons]/esx_mechanicjob/locales/de.lua new file mode 100644 index 00000000..002fd47d --- /dev/null +++ b/[esx_addons]/esx_mechanicjob/locales/de.lua @@ -0,0 +1,85 @@ +Locales['de'] = { + ['mechanic'] = 'Mechaniker', + ['drive_to_indicated'] = 'Fahre zum markierten Bereich', + ['mission_canceled'] = 'Mission abgebrochen', + ['vehicle_list'] = 'Fahrzeugliste', + ['work_wear'] = 'Arbeitskleidung', + ['civ_wear'] = 'Zivilkleidung', + ['deposit_stock'] = 'Bestand Einzahlen', + ['withdraw_stock'] = 'Verfügbar Abheben', + ['boss_actions'] = 'Inhaber Aktionen', + ['service_vehicle'] = 'Service Fahrzeug', + ['flat_bed'] = 'Pritschenwagen', + ['tow_truck'] = 'Abschleppwagen', + ['service_full'] = 'Gesamt Service: ', + ['open_actions'] = 'Drücke [E] um Menü zu öffnen', + ['harvest'] = 'Sammeln', + ['harvest_menu'] = 'Drücke [E] um Farm Menü aufzurufen', + ['not_experienced_enough'] = 'Du bist nicht erfahren genug um dies zu tun!', + ['gas_can'] = 'Benzinkanister', + ['repair_tools'] = 'Reparaturwerkzeug', + ['body_work_tools'] = 'Karosseriewerkzeug', + ['blowtorch'] = 'Schweißgerät', + ['repair_kit'] = 'Reparatur Kit', + ['body_kit'] = 'Karosserie Kit', + ['craft'] = 'Herstellen', + ['craft_menu'] = 'Drücke [E] um Herstellungsmenü zu öffnen.', + ['billing'] = 'Rechnungen', + ['hijack'] = 'Aufgebrochen', + ['repair'] = 'Reparieren', + ['clean'] = 'Reinigen', + ['imp_veh'] = 'Fahrzeug einziehen', + ['place_objects'] = 'Objekte platzieren', + ['invoice_amount'] = 'Rechnungsbetrag', + ['amount_invalid'] = 'Ungültiger Betrag', + ['no_players_nearby'] = 'Es ist kein Spieler in der Nähe', + ['no_vehicle_nearby'] = 'Es ist kein Fahrzeug in der Nähe', + ['inside_vehicle'] = 'Du musst vorher aussteigen!', + ['vehicle_unlocked'] = 'Fahrzeug geöffnet', + ['vehicle_repaired'] = 'Fahrzeug repariert', + ['vehicle_cleaned'] = 'Fahrzeug gereinigt', + ['vehicle_impounded'] = 'Fahrzeug wurde eingezogen', + ['must_seat_driver'] = 'Setz dich als Fahrer hinein!', + ['must_near'] = 'In die Nähe des Fahrzeugs stellen was eingezogen werden soll', + ['vehicle_success_attached'] = 'Fahrzeug fixiert', + ['please_drop_off'] = 'Stelle Fahrzeug in der Garage ab', + ['cant_attach_own_tt'] = 'Du kannst nicht den eigenen Abschleppwagen fixieren', + ['no_veh_att'] = 'Kein Fahrzeug zum fixieren gefunden', + ['not_right_veh'] = 'Falsches Fahrzeug', + ['veh_det_succ'] = 'Fahrzeug gelöst!', + ['imp_flatbed'] = 'Nicht möglich! Du benötigst einen Pritschenwagen', + ['objects'] = 'Objekte', + ['roadcone'] = 'Verkehrskegel', + ['toolbox'] = 'Werkzeugkasten', + ['mechanic_stock'] = 'Lager Mechaniker', + ['quantity'] = 'Anzahl', + ['invalid_quantity'] = 'Anzahl ungültig!', + ['inventory'] = 'Inventar', + ['veh_unlocked'] = 'Fahrzeug geöffnet', + ['hijack_failed'] = 'Aufbrechen gescheitert', + ['body_repaired'] = 'Karosserie repariert', + ['veh_repaired'] = 'Fahrzueg repariert', + ['veh_stored'] = 'Drücke [E] um Fahrzeug einzuparken', + ['press_remove_obj'] = 'Drücke [E] um Objekt zu entfernen', + ['please_tow'] = 'Fahrzeug abschleppen', + ['wait_five'] = 'Warte 5 Minuten', + ['must_in_flatbed'] = 'Du musst dich im Pritschenwagen befinden', + ['mechanic_customer'] = 'Kunde', + ['you_do_not_room'] = 'Kein Platz mehr', + ['recovery_gas_can'] = 'Abholung Bezinkanister...', + ['recovery_repair_tools'] = 'Abholung Reparaturwerkzeug...', + ['recovery_body_tools'] = 'Abholung Karosseriewerkzeug...', + ['not_enough_gas_can'] = 'Du hast nicht genug Benzinkanister', + ['assembling_blowtorch'] = 'Schweißgerät zusammenbauen...', + ['not_enough_repair_tools'] = 'Du hast nicht genug Reparaturwerkzeuge.', + ['assembling_repair_kit'] = 'Reparatur Kit zusammenbauen...', + ['not_enough_body_tools'] = 'Du hast nicht genug Karosseriewerkzeug', + ['assembling_body_kit'] = 'Karosseriewerkzeug zusammenbauen...', + ['your_comp_earned'] = 'Deine Firma hat $ verdient', + ['you_used_blowtorch'] = 'Schweißgerät genutzt', + ['you_used_repair_kit'] = 'Reparatur Kit genutzt', + ['you_used_body_kit'] = 'Karosserie Kit genutzt', + ['have_withdrawn'] = 'Du hast x%s %s abgehoben', + ['have_deposited'] = 'Du hast x%s %s eingezahlt', + ['player_cannot_hold'] = 'Kein Platz im Inventar!', +} diff --git a/[esx_addons]/esx_mechanicjob/locales/it.lua b/[esx_addons]/esx_mechanicjob/locales/it.lua new file mode 100644 index 00000000..b1d4b8d3 --- /dev/null +++ b/[esx_addons]/esx_mechanicjob/locales/it.lua @@ -0,0 +1,86 @@ +Locales['it'] = { + ['mechanic'] = 'meccanico', + ['drive_to_indicated'] = 'guida fino alla posizione indicata.', + ['mission_canceled'] = 'missione annullata', + ['vehicle_list'] = 'elenco veicoli', + ['work_wear'] = 'abbigliamento da lavoro', + ['civ_wear'] = 'abiti civili', + ['deposit_stock'] = 'deposito', + ['withdraw_stock'] = 'ritira', + ['boss_actions'] = 'azioni boss', + ['service_vehicle'] = 'veicoli di servizio', + ['flat_bed'] = 'flatbed', + ['tow_truck'] = 'carro attrezzi', + ['service_full'] = 'servizio completo: ', + ['open_actions'] = 'premi [E] per accedere al menu.', + ['harvest'] = 'raccolto', + ['harvest_menu'] = 'premi [E] per accedere al menu raccolto.', + ['not_experienced_enough'] = 'non hai abbastanza esperienza per eseguire questa azione.', + ['gas_can'] = 'bombola del gas', + ['repair_tools'] = 'riparazione strumenti', + ['body_work_tools'] = 'strumenti carrozzeria', + ['blowtorch'] = 'fiamma ossidrica', + ['repair_kit'] = 'kit di riparazione', + ['body_kit'] = 'body Kit', + ['craft'] = 'creazione', + ['craft_menu'] = 'premi [E] per accedere al menu di creazione.', + ['billing'] = 'fattura', + ['hijack'] = 'trasportare', + ['repair'] = 'riparazione', + ['clean'] = 'pulito', + ['imp_veh'] = 'sequestrato', + ['place_objects'] = 'posiziona oggetti', + ['invoice_amount'] = 'importo fattura', + ['amount_invalid'] = 'importo non valido', + ['no_players_nearby'] = 'nessun giocatore nelle vicinanze', + ['no_vehicle_nearby'] = 'nessun veicolo nelle vicinanze', + ['inside_vehicle'] = 'non puoi farlo dall\'interno del veicolo!', + ['vehicle_unlocked'] = 'il veicolo è stato sbloccato', + ['vehicle_repaired'] = 'il veicolo è stato riparato', + ['vehicle_cleaned'] = 'il veicolo è stato pulito', + ['vehicle_impounded'] = 'il veicolo è stato sequestrato', + ['must_seat_driver'] = 'devi essere al posto di guida!', + ['must_near'] = 'devi essere vicino il veicolo per sequestrarlo.', + ['vehicle_success_attached'] = 'veicolo collegato con successo', + ['please_drop_off'] = 'perfavore lascia il veicolo al garage', + ['cant_attach_own_tt'] = 'non puoi attaccare il tuo carro attrezzi', + ['no_veh_att'] = 'non c\'è nessu veicolo da attaccare', + ['not_right_veh'] = 'questo non è il veicolo giusto', + ['not_right_place'] = 'questo non è il posto giusto', + ['veh_det_succ'] = 'veicolo staccato con successo!', + ['imp_flatbed'] = 'azione impossibile! hai bisogno di un pianale per caricare il veicolo', + ['objects'] = 'oggetti', + ['roadcone'] = 'cono stradale', + ['toolbox'] = 'cassetta degli attrezzi', + ['mechanic_stock'] = 'deposito meccanico', + ['quantity'] = 'quantità', + ['invalid_quantity'] = 'quantità non valida', + ['inventory'] = 'inventario', + ['veh_unlocked'] = 'veicolo sbloccato', + ['hijack_failed'] = 'traino fallito', + ['body_repaired'] = 'carrozzeria riparata', + ['veh_repaired'] = 'veicolo riparato', + ['veh_stored'] = 'press [E] per depositare il veicolo.', + ['press_remove_obj'] = 'premi [E] per rimuovere', + ['please_tow'] = 'perfavore traina il veicolo', + ['wait_five'] = 'devi attendere 5 minuti', + ['must_in_flatbed'] = 'devi essere in un flatbed per avviare la missione', + ['mechanic_customer'] = 'cliente meccanico', + ['you_do_not_room'] = 'non hai più spazio', + ['recovery_gas_can'] = 'recupero bomboletta di gas...', + ['recovery_repair_tools'] = 'recupero degli strumenti di riparazione...', + ['recovery_body_tools'] = 'recupero body tools...', + ['not_enough_gas_can'] = 'non hai abbastanza bomboletta di gas.', + ['assembling_blowtorch'] = 'montaggio fiamma ossidrica...', + ['not_enough_repair_tools'] = 'non hai abbastanza strumenti di riparazione.', + ['assembling_repair_kit'] = 'assemblaggio kit di riparazione...', + ['not_enough_body_tools'] = 'non hai abbastanza body tools.', + ['assembling_body_kit'] = 'Assemblaggio Body Kit...', + ['your_comp_earned'] = 'la tua azienda ha guadagnato $', + ['you_used_blowtorch'] = 'hai usato una fiamma ossidrica', + ['you_used_repair_kit'] = 'hai usato un Kit di riparazione', + ['you_used_body_kit'] = 'hai usato un Body Kit', + ['have_withdrawn'] = 'hai prelevato x%s %s', + ['have_deposited'] = 'hai depositato x%s %s', + ['player_cannot_hold'] = 'non hai abbastanza spazio libero nel tuo inventario!', +} diff --git a/[esx_addons]/esx_mechanicjob/localization/nl_esx_mechanicjob.sql b/[esx_addons]/esx_mechanicjob/localization/nl_esx_mechanicjob.sql new file mode 100644 index 00000000..8b3d1d31 --- /dev/null +++ b/[esx_addons]/esx_mechanicjob/localization/nl_esx_mechanicjob.sql @@ -0,0 +1,32 @@ +INSERT INTO `addon_account` (name, label, shared) VALUES + ('society_mechanic', 'Monteur', 1) +; + +INSERT INTO `addon_inventory` (name, label, shared) VALUES + ('society_mechanic', 'Monteur', 1) +; + +INSERT INTO `datastore` (name, label, shared) VALUES + ('society_mechanic', 'Monteur', 1) +; + +INSERT INTO `jobs` (name, label) VALUES + ('mechanic', 'Monteur') +; + +INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES + ('mechanic',0,'recrue','Stagair',12,'{}','{}'), + ('mechanic',1,'novice','Personeel',24,'{}','{}'), + ('mechanic',2,'experimente','Ervaard',36,'{}','{}'), + ('mechanic',3,'chief','Supervisor',48,'{}','{}'), + ('mechanic',4,'boss','Baas',0,'{}','{}') +; + +INSERT INTO `items` (name, label, weight) VALUES + ('gazbottle', 'Gas Fles', 2), + ('fixtool', 'Repareer set', 2), + ('carotool', 'Tools', 2), + ('blowpipe', 'Las Apparaat', 2), + ('fixkit', 'Repareer set', 3), + ('carokit', 'Body set', 3) +; diff --git a/[esx_addons]/esx_optionalneeds/locales/de.lua b/[esx_addons]/esx_optionalneeds/locales/de.lua new file mode 100644 index 00000000..c8dbebfc --- /dev/null +++ b/[esx_addons]/esx_optionalneeds/locales/de.lua @@ -0,0 +1,5 @@ +Locales['de'] = { + + ['used_beer'] = 'Du hast 1x Bier getrunken', + +} \ No newline at end of file diff --git a/[esx_addons]/esx_phone/locales/nl.lua b/[esx_addons]/esx_phone/locales/nl.lua new file mode 100644 index 00000000..75944215 --- /dev/null +++ b/[esx_addons]/esx_phone/locales/nl.lua @@ -0,0 +1,13 @@ +Locales['nl'] = { + ['new_message'] = 'Je hebt een bericht ontvangen: %s', + ['press_take_call'] = '%s - Klik op [E] om op te nemen', + ['taken_call'] = '%s heeft opgenomen', + ['gps_position'] = 'de bestemming is op je navigatie gezet', + ['message_sent'] = 'het bericht is verstuurd', + ['cannot_add_self'] = 'je kan jezelf niet toevoegen!', + ['number_in_contacts'] = 'dit nummer staat al in je contacten', + ['contact_added'] = 'je hebt een contact toegevoegd!', + ['contact_removed'] = 'je hebt een contact verwijderd!', + ['number_not_assigned'] = 'het nummer is nog niet toegewezen!', + ['invalid_number'] = 'dat is een ongeldig nummer!', +} diff --git a/[esx_addons]/esx_policejob/locales/de.lua b/[esx_addons]/esx_policejob/locales/de.lua index 5e3ed654..f105a044 100644 --- a/[esx_addons]/esx_policejob/locales/de.lua +++ b/[esx_addons]/esx_policejob/locales/de.lua @@ -3,64 +3,64 @@ Locales['de'] = { ['cloakroom'] = 'Garderobe', ['citizen_wear'] = 'Zivilkleidung', ['police_wear'] = 'Arbeitskleidung', - ['gilet_wear'] = 'orange reflective jacket', - ['bullet_wear'] = 'bulletproof vest', - ['no_outfit'] = 'there\'s no uniform that fits you!', + ['gilet_wear'] = 'orangefarbene reflektierende Jacke', + ['bullet_wear'] = 'kugelsichere Weste', + ['no_outfit'] = 'Es gibt keine Uniform die dir passt.', ['open_cloackroom'] = 'Drücke [E] um dich umzuziehen', -- Armory - ['remove_object'] = 'take object', - ['deposit_object'] = 'deposit object', + ['remove_object'] = 'Objekt nehmen', + ['deposit_object'] = 'Objekt einlagern', ['get_weapon'] = 'Waffen holen', ['put_weapon'] = 'Waffen bringen', ['buy_weapons'] = 'Waffen kaufen', ['armory'] = 'Waffenkammer', ['open_armory'] = 'Drücke [E] um die Waffenkammer zu öffnen', - ['armory_owned'] = 'owned', - ['armory_free'] = 'free', + ['armory_owned'] = 'eigentum', + ['armory_free'] = 'gratis', ['armory_item'] = '$%s', - ['armory_weapontitle'] = 'armory - Buy weapon', - ['armory_componenttitle'] = 'armory - Weapon attatchments', - ['armory_bought'] = 'you bought an %s for $%s', - ['armory_money'] = 'you cannot afford that weapon', - ['armory_hascomponent'] = 'you have that attatchment equiped!', - ['get_weapon_menu'] = 'armory - Withdraw Weapon', - ['put_weapon_menu'] = 'armory - Store Weapon', + ['armory_weapontitle'] = 'Waffenkammer - Waffe kaufen', + ['armory_componenttitle'] = 'Waffenkammer - Waffen attatchments', + ['armory_bought'] = 'Du hast dir %s für $%s gekauft', + ['armory_money'] = 'Du kannst dir die Waffe nicht leisten', + ['armory_hascomponent'] = 'Du hast das attchment bereits!', + ['get_weapon_menu'] = 'Arsenal - Waffe auslagern', + ['put_weapon_menu'] = 'Arsenal - Waffe einlagern', -- Vehicles - ['vehicle_menu'] = 'vehicle', - ['vehicle_blocked'] = 'all available spawn points are currently blocked!', - ['garage_prompt'] = 'press [E] to access the Vehicle Actions.', - ['garage_title'] = 'vehicle Actions', - ['garage_stored'] = 'stored', - ['garage_notstored'] = 'not in garage', - ['garage_storing'] = 'we\'re attempting to remove the vehicle, make sure no players are around it.', - ['garage_has_stored'] = 'the vehicle has been stored in your garage', - ['garage_has_notstored'] = 'no nearby owned vehicles were found', - ['garage_notavailable'] = 'your vehicle is not stored in the garage.', - ['garage_blocked'] = 'there\'s no available spawn points!', - ['garage_empty'] = 'you don\'t have any vehicles in your garage.', - ['garage_released'] = 'your vehicle has been released from the garage.', - ['garage_store_nearby'] = 'there is no nearby vehicles.', - ['garage_storeditem'] = 'open garage', - ['garage_storeitem'] = 'store vehicle in garage', - ['garage_buyitem'] = 'vehicle shop', - ['garage_notauthorized'] = 'you\'re not authorized to buy this kind of vehicles.', - ['helicopter_prompt'] = 'press [E] to access the Helicopter Actions.', + ['vehicle_menu'] = 'Fahrzeug', + ['vehicle_blocked'] = 'alle verfügbaren Spawnpunkte sind derzeit blockiert!', + ['garage_prompt'] = 'Drücke [E] um das Garagen Menü zu öffnen.', + ['garage_title'] = 'Fahrzeug aktionen', + ['garage_stored'] = 'eingelagert', + ['garage_notstored'] = 'nicht in der Garage', + ['garage_storing'] = 'Wir versuchen, das Fahrzeug zu entfernen, stelle sicher, dass sich keine Spieler in der Nähe des Fahrzeugs befinden.', + ['garage_has_stored'] = 'das Fahrzeug wurde in deiner Garage abgestellt', + ['garage_has_notstored'] = 'Keine eigenen Fahrzeuge in der nähe gefunden', + ['garage_notavailable'] = 'Dein Fahrzeug ist nicht in der Garage abgestellt.', + ['garage_blocked'] = 'Es gibt keine verfügbaren Spawn-Punkte!', + ['garage_empty'] = 'Du hast keine Fahrzeuge in der Garage.', + ['garage_released'] = 'Ihr Fahrzeug aus der Garage entlassen wurde.', + ['garage_store_nearby'] = 'Es gibt keine Fahrzeuge in der Nähe.', + ['garage_storeditem'] = 'Garage öffnen', + ['garage_storeitem'] = 'Fahrzeug einparken', + ['garage_buyitem'] = 'Fahrzeugshop', + ['garage_notauthorized'] = 'Du bist nicht berechtigt, diese Art von Fahrzeugen zu kaufen..', + ['helicopter_prompt'] = 'Drücken sie [E] um das Hubschrauber Menü zu öffnen.', ['shop_item'] = '$%s', - ['vehicleshop_title'] = 'vehicle Shop', - ['vehicleshop_confirm'] = 'do you want to buy this vehicle?', - ['vehicleshop_bought'] = 'you have bought %s for ~r~$%s', - ['vehicleshop_money'] = 'you cannot afford that vehicle', - ['vehicleshop_awaiting_model'] = 'the vehicle is currently DOWNLOADING & LOADING please wait', - ['confirm_no'] = 'no', - ['confirm_yes'] = 'yes', + ['vehicleshop_title'] = 'Fahrzeug Shop', + ['vehicleshop_confirm'] = 'Willst du dieses Fahrzeug kaufen?', + ['vehicleshop_bought'] = 'Du hast %s gekauft für $%s', + ['vehicleshop_money'] = 'Du kannst dir das Fahrzeug nicht leisten', + ['vehicleshop_awaiting_model'] = 'das Fahrzeug wird gerade HERUNTERGELADEN & LÄDT bitte warten', + ['confirm_no'] = 'nein', + ['confirm_yes'] = 'ja', -- Service - ['service_max'] = 'you cannot enter service, max officers in service: %s/%s', - ['service_not'] = 'you have not entered service! You\'ll have to get changed first.', - ['service_anonunce'] = 'service information', - ['service_in'] = 'you\'ve entered service, welcome!', - ['service_in_announce'] = 'operator %s has entered service!', - ['service_out'] = 'you have left service.', - ['service_out_announce'] = 'operator %s has left their service.', + ['service_max'] = 'Du kannst den Dienst nicht antreten, maximale Anzahl von Beamten im Dienst: %s/%s', + ['service_not'] = 'Du bist noch nicht im Dienst! Du musst dich erst umziehen.', + ['service_anonunce'] = 'Service-Informationen', + ['service_in'] = 'Du hast deinen Dienst angetreten, willkommen!', + ['service_in_announce'] = 'Operator %s hat seinen Dienst aufgenommen!', + ['service_out'] = 'Du hast den Dienst verlassen.', + ['service_out_announce'] = 'Operator %s hat seinen Dienst beendet.', -- Action Menu ['citizen_interaction'] = 'Zivilistenaktionen', ['vehicle_interaction'] = 'Fahrzeuginteraktionen', @@ -71,28 +71,28 @@ Locales['de'] = { ['handcuff'] = 'Festnehmen / Freilassen', ['drag'] = 'drag', ['put_in_vehicle'] = 'In Fahrzeug setzen', - ['out_the_vehicle'] = 'take out of vehicle', + ['out_the_vehicle'] = 'aus dem Fahrzeug nehmen', ['fine'] = 'Strafe', - ['unpaid_bills'] = 'manage unpaid bills', - ['license_check'] = 'manage license', - ['license_revoke'] = 'revoke license', - ['license_revoked'] = 'your %s has been revoked!', - ['licence_you_revoked'] = 'you revoked a %s which belonged to %s', + ['unpaid_bills'] = 'Unbezahlte Rechnungen verwalten', + ['license_check'] = 'Lizenz verwalten', + ['license_revoke'] = 'Lizenz wegnehmen', + ['license_revoked'] = 'Deine %s wurde entzogen', + ['licence_you_revoked'] = 'Du hast %s widerrufen, die %s gehörte', ['no_players_nearby'] = 'keine Spieler in der Nähe', - ['being_searched'] = 'you are being searched by the Police', + ['being_searched'] = 'Du wirst von der Polizei durchsucht', -- Vehicle interaction ['vehicle_info'] = 'Fahrzeug Info', ['pick_lock'] = 'Fahrzeug öffnen', ['vehicle_unlocked'] = 'Fahrzeug offen', ['no_vehicles_nearby'] = 'Keine Fahrzeuge in der Nähe', - ['impound'] = 'impound vehicle', - ['impound_prompt'] = 'press [E] to cancel the impound', - ['impound_canceled'] = 'you canceled the impound', - ['impound_canceled_moved'] = 'the impound has been canceled because the vehicle moved', - ['impound_successful'] = 'you have impounded the vehicle', - ['search_database'] = 'vehicle information', - ['search_database_title'] = 'vehicle information - search with registration number', - ['search_database_error_invalid'] = 'that is ~r~not a valid registration number', + ['impound'] = 'beschlagnahmtes fahrzeug', + ['impound_prompt'] = 'Drücken Sie [E], um die Beschlagnahmung abzubrechen.', + ['impound_canceled'] = 'Du hast die Beschlagnahmung abgebrochen', + ['impound_canceled_moved'] = 'die Beschlagnahme wurde aufgehoben, weil das Fahrzeug bewegt wurde', + ['impound_successful'] = 'Du hast das Fahrzeug beschlagnahmt', + ['search_database'] = 'Fahrzeug informationen', + ['search_database_title'] = 'Fahrzeuginformationen - Suche über das amtliche Kennzeichen', + ['search_database_error_invalid'] = 'die keine gültige Registrierungsnummer ist', -- Traffic interaction ['traffic_interaction'] = 'Straßeninteraktionen', ['cone'] = 'Hütchen', @@ -103,49 +103,49 @@ Locales['de'] = { -- ID Card Menu ['name'] = 'name: %s', ['job'] = 'job: %s', - ['sex'] = 'sex: %s', + ['sex'] = 'geschlecht: %s', ['dob'] = 'DOB: %s', - ['height'] = 'height: %s', + ['height'] = 'größe: %s', ['bac'] = 'BAC: %s', ['unknown'] = 'unknown', - ['male'] = 'male', - ['female'] = 'female', + ['male'] = 'männlich', + ['female'] = 'weiblich', -- Body Search Menu ['guns_label'] = '--- Waffen ---', ['inventory_label'] = '--- Inventar ---', - ['license_label'] = ' --- Licenses ---', + ['license_label'] = ' --- Lizenzen ---', ['confiscate'] = 'konfeszieren %s', - ['confiscate_weapon'] = 'confiscate %s with %s bullets', - ['confiscate_inv'] = 'konfeziere %sx %s', - ['confiscate_dirty'] = 'schwarzgeld konfesziert: $%s', - ['you_confiscated'] = 'you confiscated %sx %s from %s', - ['got_confiscated'] = '%sx %s were confiscated by %s', - ['you_confiscated_account'] = 'you confiscated $%s (%s) from %s', - ['got_confiscated_account'] = '$%s (%s) was confiscated by %s', - ['you_confiscated_weapon'] = 'you confiscated %s from %s with ~o~%s bullets', - ['got_confiscated_weapon'] = 'your %s with ~o~%s bullets was confiscated by %s', + ['confiscate_weapon'] = 'konfisziere %s mit %s kugeln', + ['confiscate_inv'] = 'konfisziere %sx %s', + ['confiscate_dirty'] = 'Schwarzgeld konfesziert: $%s', + ['you_confiscated'] = 'Du konfiszierst %sx %s von %s', + ['got_confiscated'] = '%sx %s wurde konfisziert von %s', + ['you_confiscated_account'] = 'du konfiszierst $%s (%s) von %s', + ['got_confiscated_account'] = '$%s (%s) wurde konfisziert von %s', + ['you_confiscated_weapon'] = 'Du konfiszierst %s von %s mit %s kugeln', + ['got_confiscated_weapon'] = 'Deine %s mit %s kugeln wurde konfisziert von %s', ['traffic_offense'] = 'Verkehrs vergehen', ['minor_offense'] = 'Geringes vergehen', ['average_offense'] = 'Normales vergehen', ['major_offense'] = 'Hohes vergehen', ['fine_total'] = 'strafe: %s', -- Vehicle Info Menu - ['plate'] = 'plate: %s', + ['plate'] = 'kennzeichen: %s', ['owner_unknown'] = 'besitzer: Unbekannt', ['owner'] = 'besitzer: %s', -- Boss Menu ['open_bossmenu'] = 'Drücke [E] um das Menü zu öffnen', - ['quantity_invalid'] = 'invalid quantity', - ['have_withdrawn'] = 'you have withdrawn %sx %s', - ['have_deposited'] = 'you have deposited %sx %s', - ['quantity'] = 'quantity', - ['inventory'] = 'inventory', - ['police_stock'] = 'police Stock', + ['quantity_invalid'] = 'ungültige Menge', + ['have_withdrawn'] = 'Du hast abgehoben %sx %s', + ['have_deposited'] = 'Sie haben eingezahlt %sx %s', + ['quantity'] = 'qualität', + ['inventory'] = 'inventar', + ['police_stock'] = 'Polizeibestand', -- Misc ['remove_prop'] = 'Drücke [E] um das Objekt zu entfernen', ['map_blip'] = 'Polizeistation', - ['unrestrained_timer'] = 'you feel your handcuffs slowly losing grip and fading away.', + ['unrestrained_timer'] = 'Du spürst, wie die Handschellen langsam ihren Halt verlieren und sich auflösen.', -- Notifications ['alert_police'] = 'Polizei alamieren', - ['phone_police'] = 'police', + ['phone_police'] = 'Polizei', } diff --git a/[esx_addons]/esx_policejob/server/main.lua b/[esx_addons]/esx_policejob/server/main.lua index 9bddaefa..ee6b12f4 100644 --- a/[esx_addons]/esx_policejob/server/main.lua +++ b/[esx_addons]/esx_policejob/server/main.lua @@ -14,7 +14,7 @@ AddEventHandler('esx_policejob:confiscatePlayerItem', function(target, itemType, local targetXPlayer = ESX.GetPlayerFromId(target) if sourceXPlayer.job.name ~= 'police' then - print(('esx_policejob: %s attempted to confiscate!'):format(sourceXPlayer.identifier)) + print(('[^3WARNING^7] Player ^5%s^7 Attempted To Exploit The Confuscation System!'):format(sourceXPlayer.source)) return end @@ -75,7 +75,7 @@ AddEventHandler('esx_policejob:handcuff', function(target) if xPlayer.job.name == 'police' then TriggerClientEvent('esx_policejob:handcuff', target) else - print(('esx_policejob: %s attempted to handcuff a player (not cop)!'):format(xPlayer.identifier)) + print(('[^3WARNING^7] Player ^5%s^7 Attempted To Exploit Handcuffs!'):format(xPlayer.source)) end end) @@ -86,7 +86,7 @@ AddEventHandler('esx_policejob:drag', function(target) if xPlayer.job.name == 'police' then TriggerClientEvent('esx_policejob:drag', target, source) else - print(('esx_policejob: %s attempted to drag (not cop)!'):format(xPlayer.identifier)) + print(('[^3WARNING^7] Player ^5%s^7 Attempted To Exploit Dragging!'):format(xPlayer.source)) end end) @@ -97,7 +97,7 @@ AddEventHandler('esx_policejob:putInVehicle', function(target) if xPlayer.job.name == 'police' then TriggerClientEvent('esx_policejob:putInVehicle', target) else - print(('esx_policejob: %s attempted to put in vehicle (not cop)!'):format(xPlayer.identifier)) + print(('[^3WARNING^7] Player ^5%s^7 Attempted To Exploit Garage!'):format(xPlayer.source)) end end) @@ -108,7 +108,7 @@ AddEventHandler('esx_policejob:OutVehicle', function(target) if xPlayer.job.name == 'police' then TriggerClientEvent('esx_policejob:OutVehicle', target) else - print(('esx_policejob: %s attempted to drag out from vehicle (not cop)!'):format(xPlayer.identifier)) + print(('[^3WARNING^7] Player ^5%s^7 Attempted To Exploit Dragging Out Of Vehicle!'):format(xPlayer.source)) end end) @@ -314,7 +314,7 @@ ESX.RegisterServerCallback('esx_policejob:buyWeapon', function(source, cb, weapo end if not selectedWeapon then - print(('esx_policejob: %s attempted to buy an invalid weapon.'):format(xPlayer.identifier)) + print(('[^3WARNING^7] Player ^5%s^7 Attempted To Buy Invalid Weapon - ^5%s^7!'):format(source, weaponName)) cb(false) else -- Weapon @@ -344,7 +344,7 @@ ESX.RegisterServerCallback('esx_policejob:buyWeapon', function(source, cb, weapo cb(false) end else - print(('esx_policejob: %s attempted to buy an invalid weapon component.'):format(xPlayer.identifier)) + print(('[^3WARNING^7] Player ^5%s^7 Attempted To Buy Invalid Weapon Component - ^5%s^7!'):format(source, componentNum)) cb(false) end end @@ -357,7 +357,7 @@ ESX.RegisterServerCallback('esx_policejob:buyJobVehicle', function(source, cb, v -- vehicle model not found if price == 0 then - print(('esx_policejob: %s attempted to exploit the shop! (invalid vehicle model)'):format(xPlayer.identifier)) + print(('[^3WARNING^7] Player ^5%s^7 Attempted To Buy Invalid Vehicle - ^5%s^7!'):format(source, vehicleProps.model)) cb(false) else if xPlayer.getMoney() >= price then diff --git a/[esx_addons]/esx_property/client/cctv.lua b/[esx_addons]/esx_property/client/cctv.lua index 9fe7135a..7f1387fd 100644 --- a/[esx_addons]/esx_property/client/cctv.lua +++ b/[esx_addons]/esx_property/client/cctv.lua @@ -230,8 +230,7 @@ function CCTV(PropertyID) if hook then exports['screenshot-basic']:requestScreenshotUpload(hook, "files[]", function(data) local image = json.decode(data) - print(ESX.DumpTable(image)) - ESX.ShowNotification("Picture Taken!", "success") + ESX.ShowNotification(_U("picture_taken"), "success") SendNUIMessage({link = image.attachments[1].proxy_url}) ESX.ShowNotification(_U("clipboard"), "success") ShowButtons = true diff --git a/[esx_addons]/esx_property/client/main.lua b/[esx_addons]/esx_property/client/main.lua index 0712ff7e..cb2dd38e 100644 --- a/[esx_addons]/esx_property/client/main.lua +++ b/[esx_addons]/esx_property/client/main.lua @@ -86,7 +86,7 @@ function RefreshBlips() SetBlipAsShortRange(Blip, true) SetBlipScale(Blip, 0.7) BeginTextCommandSetBlipName("STRING") - AddTextComponentString(PM.joblabel .. " Office") + AddTextComponentString(_U("office_blip",PM.joblabel)) EndTextCommandSetBlipName(Blip) Blips[#Blips + 1] = Blip end @@ -224,18 +224,18 @@ end function SetPropertyName(Property) local Name = Properties[Property].setName ~= "" and Properties[Property].setName or Properties[Property].Name - local Elements = {{unselectable = true, title = "Edit Property Name", icon = "fa-solid fa-signature"}, - {icon = "", title = "Name", input = true, inputType = "text", inputValue = Name, inputPlaceholder = Properties[Property].Name, - name = "setName"}, {icon = "fa-solid fa-check", title = "Confirm", name = "confirm"}} + local Elements = {{unselectable = true, title = _U("name_edit"), icon = "fa-solid fa-signature"}, + {icon = "", title = _U("name"), input = true, inputType = "text", inputValue = Name, inputPlaceholder = Properties[Property].Name, + name = "setName"}, {icon = "fa-solid fa-check", title = _U("confirm"), name = "confirm"}} ESX.OpenContext("right", Elements, function(menu, element) if element.name == "confirm" then ESX.TriggerServerCallback("esx_property:SetPropertyName", function(Set) if Set then - ESX.ShowNotification("You Have Set The Property Name To ~b~" .. menu.eles[2].inputValue .. "~s~.", "success") + ESX.ShowNotification(_U("name_edit_success",menu.eles[2].inputValue), "success") ESX.CloseContext() else - ESX.ShowNotification("You Cannot Set The Property Name To ~r~" .. menu.eles[2].inputValue .. "~s~.", "error") + ESX.ShowNotification(_U("name_edit_error",menu.eles[2].inputValue), "error") end end, Property, menu.eles[2].inputValue) end @@ -350,7 +350,7 @@ function OpenPropertyMenu(PropertyId) if element.value == "property_raid" then ESX.TriggerServerCallback("esx_property:CanRaid", function(CanRaid) if CanRaid then - ESX.Progressbar(U("prep_raid"), 15000, {FreezePlayer = true, animation = Config.Raiding.Animation, onFinish = function() + ESX.Progressbar(_U("prep_raid"), 15000, {FreezePlayer = true, animation = Config.Raiding.Animation, onFinish = function() ESX.ShowNotification(_U("raiding"), "success") AttemptHouseEntry(PropertyId) end, onCancel = function() @@ -720,7 +720,7 @@ end function AccessGarage(PropertyId) ESX.TriggerServerCallback("esx_property:AccessGarage", function(Vehicles) if Vehicles then - local elements = {{unselectable = true, icon = "fas fa-warehouse", title = "Property Garage"}} + local elements = {{unselectable = true, icon = "fas fa-warehouse", title = _U("property_garage")}} for k, v in pairs(Vehicles) do elements[#elements + 1] = {title = v.vehicle.DisplayName .. " | " .. v.vehicle.plate, Properties = v.vehicle, index = k} end @@ -1001,53 +1001,53 @@ RegisterNetEvent("esx_property:CreateProperty", function() OpenCreate() end if element.index == "cctv" then - local status = Property[6].value.enabled and "Enabled" or "Disabled" - opos = {{unselectable = true, icon = "fas fa-video", title = "CCTV Settings"}, - {title = _U("toggle_title"), icon = status == "Enabled" and "fas fa-eye" or "fas fa-eye-slash", + local status = Property[6].value.enabled and _U("enabled") or _U("disabled") + opos = {{unselectable = true, icon = "fas fa-video", title = _U("cctv_settings")}, + {title = _U("toggle_title"), icon = status == _U("enabled") and "fas fa-eye" or "fas fa-eye-slash", description = _U("toggle_description",status), index = "ToggleCCTV"}, {title = _U("cctv_set_title"), icon = "fas fa-rotate", disabled = not Property[6].value.enabled, description = _U("cctv_set_description"), index = "SetCCTVangle"}, - {title = _U("back"), icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"}} + {title = _U("back"), icon = "fas fa-arrow-left", description = _U("back_description"), index = "return"}} exports["esx_context"]:Refresh(opos, "right") end if element.index == "ToggleCCTV" then Property[6].value.enabled = not Property[6].value.enabled - local status = Property[6].value.enabled and "Enabled" or "Disabled" - opos = {{unselectable = true, icon = "fas fa-video", title = "CCTV Settings"}, - {title = _U("toggle_title"), icon = status == "Enabled" and "fas fa-eye" or "fas fa-eye-slash", + local status = Property[6].value.enabled and _U("enabled") or _U("disabled") + opos = {{unselectable = true, icon = "fas fa-video", title = _U("cctv_settings")}, + {title = _U("toggle_title"), icon = status == _U("enabled") and "fas fa-eye" or "fas fa-eye-slash", description = _U("toggle_description",status), index = "ToggleCCTV"}, {title = _U("cctv_set_title"), icon = "fas fa-rotate", disabled = not Property[6].value.enabled, description = _U("cctv_set_description"), index = "SetCCTVangle"}, - {title = _U("back"), icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"}} + {title = _U("back"), icon = "fas fa-arrow-left", description = _U("back_description"), index = "return"}} exports["esx_context"]:Refresh(opos, "right") end if Config.Garage.Enabled and element.index == "garage" then - local status = Property[5].value.enabled and "Enabled" or "Disabled" - opos = {{unselectable = true, icon = "fas fa-warehouse", title = "Garage Settings"}, - {title = _U("toggle_title"), icon = status == "Enabled" and "fa-solid fa-toggle-on" or "fa-solid fa-toggle-off", + local status = Property[5].value.enabled and _U("enabled") or _U("disabled") + opos = {{unselectable = true, icon = "fas fa-warehouse", title = _U("garage_settings")}, + {title = _U("toggle_title"), icon = status == _U("enabled") and "fa-solid fa-toggle-on" or "fa-solid fa-toggle-off", description = _U("toggle_description",status), index = "ToggleGarage"}} if Property[5].value.enabled then opos[#opos + 1] = {title = _U("garage_set_title"), icon = "fas fa-map-marker-alt", disabled = not Property[5].value.enabled, description = _U("garage_set_description"), index = "SetGaragePos"} if Property[5].value.pos then - opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"} + opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = _U("back_description"), index = "return"} end else - opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"} + opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = _U("back_description"), index = "return"} end exports["esx_context"]:Refresh(opos, "right") end if element.index == "ToggleGarage" then Property[5].value.enabled = not Property[5].value.enabled - local status = Property[5].value.enabled and "Enabled" or "Disabled" - opos = {{unselectable = true, icon = "fas fa-warehouse", title = "Garage Settings"}, - {title = _U("toggle_title"), icon = status == "Enabled" and "fa-solid fa-toggle-on" or "fa-solid fa-toggle-off", + local status = Property[5].value.enabled and _U("enabled") or _U("disabled") + opos = {{unselectable = true, icon = "fas fa-warehouse", title = _U("garage_settings")}, + {title = _U("toggle_title"), icon = status == _U("enabled") and "fa-solid fa-toggle-on" or "fa-solid fa-toggle-off", description = _U("toggle_description",status), index = "ToggleGarage"}} if Property[5].value.enabled then opos[#opos + 1] = {title = _U("garage_set_title"), icon = "fas fa-map-marker-alt", disabled = not Property[5].value.enabled, description = _U("garage_set_description"), index = "SetGaragePos"} else - opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = "return to property creation.", index = "return"} + opos[#opos + 1] = {title = _U("back"), icon = "fas fa-arrow-left", description = _U("back_description"), index = "return"} end exports["esx_context"]:Refresh(opos, "right") end @@ -1095,7 +1095,7 @@ RegisterNetEvent("esx_property:CreateProperty", function() local newProperty = {name = HouseData.name, price = HouseData.price, interior = HouseData.interior, entrance = HouseData.entrance, cctv = Property[6].value, garage = Property[5].value} TriggerServerEvent("esx_property:server:createProperty", newProperty) - ESX.ShowNotification("Property created!", "success") + ESX.ShowNotification(_U("create_success"), "success") ESX.CloseContext() HouseData = {} else @@ -1188,9 +1188,9 @@ RegisterNetEvent("esx_property:AdminMenu", function() end, currentProperty) end if element.value == "garage" then - local status = Properties[currentProperty].garage.enabled and "Enabled" or "Disabled" - opos = {{unselectable = true, icon = "fas fa-warehouse", title = "Garage Settings"}, - {title = "Toggle Usage", icon = status == "Enabled" and "fa-solid fa-toggle-on" or "fa-solid fa-toggle-off", + local status = Properties[currentProperty].garage.enabled and _U("enabled") or _U("disabled") + opos = {{unselectable = true, icon = "fas fa-warehouse", title = _U("garage_settings")}, + {title = "Toggle Usage", icon = status == _U("enabled") and "fa-solid fa-toggle-on" or "fa-solid fa-toggle-off", description = "Current Status: " .. status, value = "ToggleGarage"}} if Properties[currentProperty].garage.enabled then opos[#opos + 1] = {title = "Set Position", icon = "fas fa-map-marker-alt", @@ -1206,9 +1206,9 @@ RegisterNetEvent("esx_property:AdminMenu", function() exports["esx_context"]:Refresh(opos, "right") end if element.value == "cctv" then - local status = Properties[currentProperty].cctv.enabled and "Enabled" or "Disabled" - opos = {{unselectable = true, icon = "fas fa-warehouse", title = "CCTV Settings"}, - {title = "Toggle Usage", icon = status == "Enabled" and "fa-solid fa-toggle-on" or "fa-solid fa-toggle-off", + local status = Properties[currentProperty].cctv.enabled and _U("enabled") or _U("disabled") + opos = {{unselectable = true, icon = "fas fa-warehouse", title = _U("cctv_settings")}, + {title = "Toggle Usage", icon = status == _U("enabled") and "fa-solid fa-toggle-on" or "fa-solid fa-toggle-off", description = "Current Status: " .. status, value = "ToggleCCTV"}} if Properties[currentProperty].cctv.enabled then opos[#opos + 1] = {title = "Set Angle", icon = "fas fa-map-marker-alt", disabled = not Properties[currentProperty].cctv.enabled, @@ -1226,9 +1226,9 @@ RegisterNetEvent("esx_property:AdminMenu", function() ESX.TriggerServerCallback("esx_property:toggleGarage", function(IsUnlocked, enabled) if IsUnlocked then ESX.ShowNotification("Garage Toggled!", "success") - local status = enabled and "Enabled" or "Disabled" - opos = {{unselectable = true, icon = "fas fa-warehouse", title = "Garage Settings"}, - {title = "Toggle Usage", icon = status == "Enabled" and "fa-solid fa-toggle-on" or "fa-solid fa-toggle-off", + local status = enabled and _U("enabled") or _U("disabled") + opos = {{unselectable = true, icon = "fas fa-warehouse", title = _U("garage_settings")}, + {title = "Toggle Usage", icon = status == _U("enabled") and "fa-solid fa-toggle-on" or "fa-solid fa-toggle-off", description = "Current Status: " .. status, value = "ToggleGarage"}} if enabled then opos[#opos + 1] = {title = "Set Position", icon = "fas fa-map-marker-alt", disabled = not enabled, @@ -1251,9 +1251,9 @@ RegisterNetEvent("esx_property:AdminMenu", function() ESX.TriggerServerCallback("esx_property:toggleCCTV", function(IsUnlocked, enabled) if IsUnlocked then ESX.ShowNotification("CCTV Toggled!", "success") - local status = enabled and "Enabled" or "Disabled" - opos = {{unselectable = true, icon = "fas fa-warehouse", title = "CCTV Settings"}, - {title = "Toggle Usage", icon = status == "Enabled" and "fa-solid fa-toggle-on" or "fa-solid fa-toggle-off", + local status = enabled and _U("enabled") or _U("disabled") + opos = {{unselectable = true, icon = "fas fa-warehouse", title = _U("cctv_settings")}, + {title = "Toggle Usage", icon = status == _U("enabled") and "fa-solid fa-toggle-on" or "fa-solid fa-toggle-off", description = "Current Status: " .. status, value = "ToggleCCTV"}} if enabled then opos[#opos + 1] = {title = "Set Angle", icon = "fas fa-map-marker-alt", disabled = not enabled, diff --git a/[esx_addons]/esx_property/config.lua b/[esx_addons]/esx_property/config.lua index b4edac7f..8ac9e2e0 100644 --- a/[esx_addons]/esx_property/config.lua +++ b/[esx_addons]/esx_property/config.lua @@ -412,7 +412,6 @@ Config.FurnitureCatagories = {name = "prop_el_guitar_01", title = "E Guitar 1", price = 100}, {name = "prop_el_guitar_02", title = "E Guitar 2", price = 100}, {name = "prop_el_guitar_03", title = "E Guitar 2", price = 100}, - {name = "prop_ld_greenscreen_01", title = "Green Screen", price = 100}, {name = "v_res_mbowlornate", title = "Ornate Bowl", price = 300}, {name = "v_res_mbronzvase", title = "Bronze Vase", price = 300}, {name = "prop_ceramic_jug_01", title = "Ceramic Jug", price = 100}, @@ -429,7 +428,6 @@ Config.FurnitureCatagories = {name = "apa_mp_h_acc_rugwools_03", title = "Rug 6", price = 300}, {name = "v_res_fh_pouf", title = "Pouf", price = 300}, {name = "v_res_fh_sculptmod", title = "Sculpture", price = 300}, - {name = "prop_ceramic_jug_01", title = "Ceramic Jug", price = 100}, {name = "prop_v_5_bclock", title = "Vintage Clock", price = 300}, {name = "prop_v_15_cars_clock", title = "American Flag Clock", price = 300}, {name = "prop_sm_19_clock", title = "Modern Clock", price = 300}, @@ -531,7 +529,6 @@ Config.FurnitureCatagories = {price = 1200, title = 'PC speaker', name = 'v_res_pcspeaker'}, {price = 5000, title = 'VHS white RETRO player', name = 'v_res_vhsplayer'}, {price = 2200, title = 'Vacuum Cleaner', name = 'v_res_vacuum'}, - {price = 5400, title = 'Shredder', name = 'v_ret_gc_shred'}, {price = 100, title = 'Stapler', name = 'v_ret_gc_staple'}, {price = 1900, title = 'Hardisk', name = 'xm_prop_x17_harddisk_01a'}, {price = 5300, title = 'Computer', name = 'xm_prop_x17_res_pctower'}, @@ -540,7 +537,7 @@ Config.FurnitureCatagories = {price = 14000, title = 'Jukebox', name = 'bkr_prop_clubhouse_jukebox_01b'}, {price = 1700, title = 'USB', name = 'hei_prop_hst_usb_drive'}, {price = 700, title = 'Flashlight', name = 'p_cs_police_torch_s'}, - {price = 1000, title = 'Mikofon', name = 'p_ing_microphonel_01'}, + {price = 1000, title = 'Microphone', name = 'p_ing_microphonel_01'}, {price = 1600, title = 'Radio', name = 'prop_tapeplayer_01'}, {price = 4500, title = 'Multifunction Laser Printer', name = 'prop_printer_01'}, {price = 11200, title = 'Multifunction Laser Printer', name = 'prop_printer_02'}, @@ -648,4 +645,4 @@ end -- You should have received a copy of the GNU General Public License along with this program. If not, see