diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..8dd3e89f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: General Support + url: http://discord.esx-framework.org/ + about: Please ask general questions on our Discord! \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..235933f2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,17 @@ +--- +name: Feature Request +about: Help us improve esx with your ideas +title: "[Feature Request] - esx_script - Add better configuration" +labels: enhancement +assignees: Benzo00 + +--- + +**Describe the Feature** +A simple description of the new feature. + +**Screenshots** +You can also add some screenshots. + +**Additional context** +If you want to add something more. diff --git a/LICENSE b/LICENSE index 506b94b4..c99ad3e4 100644 --- a/LICENSE +++ b/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx-legacy - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx-legacy Copyright (C) 2015-2022 Jérémie N'gadi + esx-legacy Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[SQL]/legacy.sql b/[SQL]/legacy.sql index 6db07072..15e49771 100644 --- a/[SQL]/legacy.sql +++ b/[SQL]/legacy.sql @@ -329,7 +329,8 @@ INSERT INTO `licenses` (`type`, `label`) VALUES ('drive', 'Drivers License'), ('drive_bike', 'Motorcycle License'), ('drive_truck', 'Commercial Drivers License'), -('weed_processing', 'Weed Processing License'); +('weed_processing', 'Weed Processing License'), +('boat', 'Boat License'); -- -------------------------------------------------------- @@ -709,12 +710,13 @@ INSERT INTO `vehicle_categories` (`name`, `label`) VALUES -- CREATE TABLE `vehicle_sold` ( - `id` INT(11) NOT NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, `client` varchar(50) NOT NULL, `model` varchar(50) NOT NULL, `plate` varchar(50) NOT NULL, `soldby` varchar(50) NOT NULL, - `date` varchar(50) NOT NULL + `date` varchar(50) NOT NULL, + PRIMARY KEY (`id`) ) ENGINE=InnoDB; -- @@ -846,24 +848,12 @@ ALTER TABLE `user_licenses` ALTER TABLE `vehicle_categories` ADD PRIMARY KEY (`name`); --- --- Indexes for table `vehicle_sold` --- -ALTER TABLE `vehicle_sold` - ADD PRIMARY KEY (`id`); - -- -- Indexes for table `whitelist` -- ALTER TABLE `whitelist` ADD PRIMARY KEY (`identifier`); --- --- Indexes for table `vehicle_sold` --- -ALTER TABLE `vehicle_sold` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; - -- -- AUTO_INCREMENT for table `addon_account_data` -- @@ -1038,5 +1028,4 @@ CREATE TABLE IF NOT EXISTS `banking` ( PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4; -ALTER TABLE `users` ADD COLUMN `pincode` INT NULL; - +ALTER TABLE `users` ADD COLUMN `pincode` INT NULL; \ No newline at end of file diff --git a/[esx]/async/LICENSE b/[esx]/async/LICENSE index 4c37e893..bde4f52b 100644 --- a/[esx]/async/LICENSE +++ b/[esx]/async/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. async - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - async Copyright (C) 2015-2022 Jérémie N'gadi + async Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx]/async/README.md b/[esx]/async/README.md index 9c76d28d..90afcc36 100644 --- a/[esx]/async/README.md +++ b/[esx]/async/README.md @@ -6,7 +6,7 @@ A very Simple resource that allows resources to run tasks asynchronously. async - asynchronous tasks. -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx]/cron/LICENSE b/[esx]/cron/LICENSE index 0f8d5811..e3b0b61c 100644 --- a/[esx]/cron/LICENSE +++ b/[esx]/cron/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. cron - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - cron Copyright (C) 2015-2022 Jérémie N'gadi + cron Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx]/cron/README.md b/[esx]/cron/README.md index 6dfe285b..e5291b69 100644 --- a/[esx]/cron/README.md +++ b/[esx]/cron/README.md @@ -28,7 +28,7 @@ TriggerEvent('cron:runAt', 18, 30, CronTask) cron - run tasks at specific intervals! -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx]/es_extended/LICENSE b/[esx]/es_extended/LICENSE index 53bf50d0..a10f2d96 100644 --- a/[esx]/es_extended/LICENSE +++ b/[esx]/es_extended/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. es_extended - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - es_extended Copyright (C) 2015-2022 Jérémie N'gadi + es_extended Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx]/es_extended/client/common.lua b/[esx]/es_extended/client/common.lua index 26020ace..c088fb90 100644 --- a/[esx]/es_extended/client/common.lua +++ b/[esx]/es_extended/client/common.lua @@ -5,3 +5,8 @@ end) if GetResourceState('ox_inventory') ~= 'missing' then Config.OxInventory = true end + +AddEventHandler("esx:getSharedObject", function() + local Invoke = GetInvokingResource() + print(("[^1ERROR^7] Resource ^5%s^7 Used the ^5getSharedObject^7 Event, this event ^1no longer exists!^7 Visit https://documentation.esx-framework.org/tutorials/sharedevent for how to fix!"):format(Invoke)) +end) diff --git a/[esx]/es_extended/client/functions.lua b/[esx]/es_extended/client/functions.lua index 83489795..5403abcd 100644 --- a/[esx]/es_extended/client/functions.lua +++ b/[esx]/es_extended/client/functions.lua @@ -1087,6 +1087,10 @@ function ESX.Game.Utils.DrawText3D(coords, text, size, font) end function ESX.ShowInventory() + if not Config.EnableDefaultInventory then + return + end + local playerPed = ESX.PlayerData.ped local elements = { {unselectable = true, icon = 'fas fa-box', title = 'Player Inventory'} diff --git a/[esx]/es_extended/locales/de.lua b/[esx]/es_extended/locales/de.lua index 944c00ce..1401ce14 100644 --- a/[esx]/es_extended/locales/de.lua +++ b/[esx]/es_extended/locales/de.lua @@ -1,15 +1,15 @@ Locales['de'] = { -- Inventory - ['inventory'] = 'inventar %s / %s', + ['inventory'] = 'Inventar %s / %s', ['use'] = 'benutzen', ['give'] = 'geben', ['remove'] = 'entfernen', ['return'] = 'zurück', ['give_to'] = 'geben an', - ['amount'] = 'betrag', - ['giveammo'] = 'munition geben', - ['amountammo'] = 'anzahl der munition', - ['noammo'] = 'du hast keine munition!', + ['amount'] = 'Betrag', + ['giveammo'] = 'Munition geben', + ['amountammo'] = 'Anzahl der Munition', + ['noammo'] = 'du hast keine Munition!', ['gave_item'] = 'du gibst %sx %s an %s', ['received_item'] = 'du empfängst %sx %s von %s', ['gave_weapon'] = 'du gibst %s an %s', @@ -26,9 +26,9 @@ Locales['de'] = { ['received_account_money'] = 'du empfängst $%s (%s) von %s', ['amount_invalid'] = 'ungültiger Betrag', ['players_nearby'] = 'keine Spieler in der Nähe', - ['ex_inv_lim'] = 'aktion nicht möglich, Inventarlimit überschritten für %s', - ['imp_invalid_quantity'] = 'aktion nicht möglich, ungültige Anzahl', - ['imp_invalid_amount'] = 'aktion nicht möglich, ungültiger Betrag', + ['ex_inv_lim'] = 'Aktion nicht möglich, Inventarlimit überschritten für %s', + ['imp_invalid_quantity'] = 'Aktion nicht möglich, ungültige Anzahl', + ['imp_invalid_amount'] = 'Aktion nicht möglich, ungültiger Betrag', ['threw_standard'] = 'du wirfst %sx %s', ['threw_account'] = 'du wirfst $%s %s weg', ['threw_weapon'] = 'du wirfst %s weg', @@ -38,71 +38,71 @@ Locales['de'] = { ['threw_pickup_prompt'] = 'drücke E um aufzuheben', -- Key mapping - ['keymap_showinventory'] = 'inventar anzeigen', + ['keymap_showinventory'] = 'Inventar anzeigen', -- Salary related ['received_salary'] = 'du hast dein Gehalt erhalten: $%s', ['received_help'] = 'du hast deine Sozialhilfe erhalten: $%s', - ['company_nomoney'] = 'die Firma in der du angestellt bist, ist zu arm um dein Gehalt zu zahlen', + ['company_nomoney'] = 'die Firma in der du angestellt bist, ist zu arm um dir dein Gehalt zu zahlen', ['received_paycheck'] = 'erhaltener Gehaltsscheck', - ['bank'] = 'bank', - ['account_bank'] = 'bank', - ['account_black_money'] = 'schwarzgeld', - ['account_money'] = 'geld', + ['bank'] = 'Bank', + ['account_bank'] = 'Bank', + ['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'] = '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öschen', - ['command_clear'] = 'chat leeren', - ['command_clearall'] = 'chat leeren für alle spieler', - ['command_clearinventory'] = 'spieler inventar leeren', - ['command_clearloadout'] = 'spieler ausstattung löschen', - ['command_giveaccountmoney'] = 'gebe guthaben', - ['command_giveaccountmoney_account'] = 'gültiger account name', - ['command_giveaccountmoney_amount'] = 'anzahl zum hinzufügen', - ['command_giveaccountmoney_invalid'] = 'ungültiger account name', - ['command_giveitem'] = 'gebe ein item zu einem spieler', - ['command_giveitem_item'] = 'item name', - ['command_giveitem_count'] = 'item anzahl', - ['command_giveweapon'] = 'gebe waffe zu einem spieler', - ['command_giveweapon_weapon'] = 'waffen name', - ['command_giveweapon_ammo'] = 'munition anzahl', - ['command_giveweapon_hasalready'] = 'spieler hat bereits diese waffe', - ['command_giveweaponcomponent'] = 'gebe waffen component', - ['command_giveweaponcomponent_component'] = 'component name', - ['command_giveweaponcomponent_invalid'] = 'ungültiges waffen component', - ['command_giveweaponcomponent_hasalready'] = 'spieler hat bereits dieses waffen komponent', - ['command_giveweaponcomponent_missingweapon'] = 'spieler hat diese waffe nicht', - ['command_save'] = 'spieler in die datenbank sichern', - ['command_saveall'] = 'alle spieler in die datenbank sichern', - ['command_setaccountmoney'] = 'guthaben für den spieler setzen', - ['command_setaccountmoney_amount'] = 'guthaben zum setzen', - ['command_setcoords'] = 'teleportieren zu koordinaten', - ['command_setcoords_x'] = 'x axis', - ['command_setcoords_y'] = 'y axis', - ['command_setcoords_z'] = 'z axis', - ['command_setjob'] = 'job für einen spieler setzen', - ['command_setjob_job'] = 'job name', - ['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)', + ['command_car'] = 'Fahrzeug spawnen', + ['command_car_car'] = 'Fahrzeug spawnname oder hash', + ['command_cardel'] = 'Fahrzeuge in der nähe löschen', + ['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'] = 'Spielerinventar leeren', + ['command_clearloadout'] = 'Spielerausstattung löschen', + ['command_giveaccountmoney'] = 'Geld aufs Konto laden', + ['command_giveaccountmoney_account'] = 'gültiger Kontoname', + ['command_giveaccountmoney_amount'] = 'Anzahl zum hinzufügen', + ['command_giveaccountmoney_invalid'] = 'Ungültiger Kontoname', + ['command_giveitem'] = 'Item an Spieler geben', + ['command_giveitem_item'] = 'Itemname', + ['command_giveitem_count'] = 'item Anzahl', + ['command_giveweapon'] = 'Spieler eine Waffe geben', + ['command_giveweapon_weapon'] = 'Waffenname', + ['command_giveweapon_ammo'] = 'Munitionsanzahl', + ['command_giveweapon_hasalready'] = 'Spieler bereits im Besitz dieser Waffe', + ['command_giveweaponcomponent'] = 'Spieler Waffenaufsatz geben', + ['command_giveweaponcomponent_component'] = 'Waffenaufsatz Name', + ['command_giveweaponcomponent_invalid'] = 'ungültiger Waffenaufsatz', + ['command_giveweaponcomponent_hasalready'] = 'Spieler hat bereits diesen Waffenaufsatz', + ['command_giveweaponcomponent_missingweapon'] = 'Der Spieler besitzt diese Waffe nicht', + ['command_save'] = 'Spieler in der Datenbank sichern', + ['command_saveall'] = 'Sichern von allen Spielern auf der Datenbank', + ['command_setaccountmoney'] = 'Kontosumme des Spielers setzen', + ['command_setaccountmoney_amount'] = 'Summe', + ['command_setcoords'] = 'Zu den Koordinaten Teleportieren', + ['command_setcoords_x'] = 'x Position', + ['command_setcoords_y'] = 'y Position', + ['command_setcoords_z'] = 'z Position', + ['command_setjob'] = 'Dem Spieler einen Job setzen', + ['command_setjob_job'] = 'Name des Jobs', + ['command_setjob_grade'] = 'Rang des Jobs', + ['command_setjob_invalid'] = 'Der Rang oder der Job ist nicht gültigt.', + ['command_setgroup'] = 'Spielergruppe setzen', + ['command_setgroup_group'] = 'Gruppenname', + ['commanderror_argumentmismatch'] = 'Die Anzahl der Argumente stimmen nicht überein (übergeben %s, gesucht %s)', ['commanderror_argumentmismatch_number'] = 'argument #%s typ stimmt nicht überein (übergeben string, gewünscht zahl)', - ['commanderror_invaliditem'] = 'falscher item name', - ['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 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', + ['commanderror_invaliditem'] = 'falscher Itemname', + ['commanderror_invalidweapon'] = 'ungültige Waffe', + ['commanderror_console'] = 'Der Befehl kann nicht in der Konsole genutzt werden', + ['commanderror_invalidcommand'] = '/%s ist kein verfügbarer Befehl!', + ['commanderror_invalidplayerid'] = 'Kein Spieler mit dieser ID scheint online zu sein', + ['commandgeneric_playerid'] = 'Spieler ID', + ['command_giveammo_noweapon_found'] = '%s besitzt diese Waffe nicht', + ['command_giveammo_weapon'] = 'Waffenname', + ['command_giveammo_ammo'] = 'Munitionsanzahl', -- Locale settings ['locale_digit_grouping_symbol'] = ' ', @@ -187,34 +187,34 @@ Locales['de'] = { -- Weapon Components ['component_clip_default'] = 'standart Griff', ['component_clip_extended'] = 'erweiterter Griff', - ['component_clip_drum'] = 'trommelmagazin', - ['component_clip_box'] = 'kastenmagazin', - ['component_flashlight'] = 'taschenlampe', - ['component_scope'] = 'zielfernrohr', + ['component_clip_drum'] = 'Trommelmagazin', + ['component_clip_box'] = 'Kastenmagazin', + ['component_flashlight'] = 'Taschenlampe', + ['component_scope'] = 'Zielfernrohr', ['component_scope_advanced'] = 'erweitertes Zielfernrohr', - ['component_suppressor'] = 'schalldämpfer', - ['component_grip'] = 'griff', - ['component_luxary_finish'] = 'luxus Waffen Design', + ['component_suppressor'] = 'Schalldämpfer', + ['component_grip'] = 'Griff', + ['component_luxary_finish'] = 'luxus Waffendesign', -- Weapon Ammo - ['ammo_rounds'] = 'kugel(n)', - ['ammo_shells'] = 'schrotpatrone(n)', - ['ammo_charge'] = 'ladung', - ['ammo_petrol'] = 'liter Benzin', - ['ammo_firework'] = 'feuerwerksrakete(n)', - ['ammo_rockets'] = 'rakete(n)', - ['ammo_grenadelauncher'] = 'granate(n)', - ['ammo_grenade'] = 'granate(n)', - ['ammo_stickybomb'] = 'bombe(n)', - ['ammo_pipebomb'] = 'bombe(n)', - ['ammo_smokebomb'] = 'bombe(n)', - ['ammo_molotov'] = 'cocktail(s)', - ['ammo_proxmine'] = 'mine(n)', - ['ammo_bzgas'] = 'can(n)', - ['ammo_ball'] = 'ball', - ['ammo_snowball'] = 'schneebälle', - ['ammo_flare'] = 'signalfackel(n)', - ['ammo_flaregun'] = 'signalfackeln(munition)', + ['ammo_rounds'] = 'Kugel(n)', + ['ammo_shells'] = 'Schrotpatrone(n)', + ['ammo_charge'] = 'Ladung', + ['ammo_petrol'] = 'Benzinkanister', + ['ammo_firework'] = 'Feuerwerksrakete(n)', + ['ammo_rockets'] = 'Rakete(n)', + ['ammo_grenadelauncher'] = 'Granate(n)', + ['ammo_grenade'] = 'Granate(n)', + ['ammo_stickybomb'] = 'C4(s)', + ['ammo_pipebomb'] = 'Rohrbombe(n)', + ['ammo_smokebomb'] = 'Rauchgranate(n)', + ['ammo_molotov'] = 'Molotovcocktail(s)', + ['ammo_proxmine'] = 'Annäherungsmine(n)', + ['ammo_bzgas'] = 'Bzgas', + ['ammo_ball'] = 'Ball', + ['ammo_snowball'] = 'Schneebälle', + ['ammo_flare'] = 'Signalfackel(n)', + ['ammo_flaregun'] = 'Signalfackeln(munition)', -- Weapon Tints ['tint_default'] = 'standard', diff --git a/[esx]/es_extended/server/common.lua b/[esx]/es_extended/server/common.lua index c8d004b4..6aaf87c8 100644 --- a/[esx]/es_extended/server/common.lua +++ b/[esx]/es_extended/server/common.lua @@ -14,6 +14,10 @@ Core.Pickups = {} Core.PickupId = 0 Core.PlayerFunctionOverrides = {} +AddEventHandler("esx:getSharedObject", function() + local Invoke = GetInvokingResource() + print(("[^1ERROR^7] Resource ^5%s^7 Used the ^5getSharedObject^7 Event, this event ^1no longer exists!^7 Visit https://documentation.esx-framework.org/tutorials/sharedevent for how to fix!"):format(Invoke)) +end) exports('getSharedObject', function() return ESX diff --git a/[esx]/es_extended/server/main.lua b/[esx]/es_extended/server/main.lua index 52a6f6f7..8b4c00d3 100644 --- a/[esx]/es_extended/server/main.lua +++ b/[esx]/es_extended/server/main.lua @@ -99,14 +99,14 @@ if not Config.Multichar then if identifier then if ESX.GetPlayerFromIdentifier(identifier) then deferrals.done( - ('There was an error loading your character!\nError code: identifier-active\n\nThis error is caused by a player on this server who has the same identifier as you have. Make sure you are not playing on the same account.\n\nYour identifier: %s'):format( + ('[ESX] There was an error loading your character!\nError code: identifier-active\n\nThis error is caused by a player on this server who has the same identifier as you have. Make sure you are not playing on the same account.\n\nYour identifier: %s'):format( identifier)) else deferrals.done() end else deferrals.done( - 'There was an error loading your character!\nError code: identifier-missing\n\nThe cause of this error is not known, your identifier could not be found. Please come back later or report this problem to the server administration team.') + '[ESX] There was an error loading your character!\nError code: identifier-missing\n\nThe cause of this error is not known, your identifier could not be found. Please come back later or report this problem to the server administration team.') end end) end @@ -133,9 +133,9 @@ function loadESXPlayer(identifier, playerId, isNew) end local index = #userData.accounts + 1 userData.accounts[index] = { - name = account, + name = account, money = foundAccounts[account] or Config.StartingAccountMoney[account] or 0, - label = data.label, + label = data.label, round = data.round, index = index } @@ -299,13 +299,13 @@ function loadESXPlayer(identifier, playerId, isNew) xPlayer.triggerEvent('esx:playerLoaded', { - accounts = xPlayer.getAccounts(), - coords = xPlayer.getCoords(), - identifier = xPlayer.getIdentifier(), + accounts = xPlayer.getAccounts(), + coords = xPlayer.getCoords(), + identifier = xPlayer.getIdentifier(), inventory = xPlayer.getInventory(), - job = xPlayer.getJob(), - loadout = xPlayer.getLoadout(), - maxWeight = xPlayer.getMaxWeight(), + job = xPlayer.getJob(), + loadout = xPlayer.getLoadout(), + maxWeight = xPlayer.getMaxWeight(), money = xPlayer.getMoney(), sex = xPlayer.get("sex") or "m", firstName = xPlayer.get("firstName") or "John", diff --git a/[esx]/esx_context/LICENSE b/[esx]/esx_context/LICENSE index 357d9c56..4b046bd2 100644 --- a/[esx]/esx_context/LICENSE +++ b/[esx]/esx_context/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_boat - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_boat Copyright (C) 2015-2022 Jérémie N'gadi + esx_boat Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx]/esx_identity/LICENSE b/[esx]/esx_identity/LICENSE index 9cba2328..4dc529f0 100644 --- a/[esx]/esx_identity/LICENSE +++ b/[esx]/esx_identity/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_identity - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_identity Copyright (C) 2015-2022 Jérémie N'gadi + esx_identity Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx]/esx_identity/README.md b/[esx]/esx_identity/README.md index f4053cad..404bba66 100644 --- a/[esx]/esx_identity/README.md +++ b/[esx]/esx_identity/README.md @@ -21,7 +21,7 @@ A Core Resource that Allows the player to Pick their characters, Name, Gender, H esx_identity - Make your Character a Person! -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx]/esx_identity/config.lua b/[esx]/esx_identity/config.lua index 8cdd9bb7..8eeb007c 100644 --- a/[esx]/esx_identity/config.lua +++ b/[esx]/esx_identity/config.lua @@ -17,7 +17,7 @@ Config.MaxNameLength = 20 -- Max Name Length. Config.MinHeight = 120 -- 120 cm lowest height Config.MaxHeight = 220 -- 220 cm max height. Config.LowestYear = 1900 -- 112 years old is the oldest you can be. -Config.HighestYear = 2003 -- 18 years old is the youngest you can be. +Config.HighestYear = 2005 -- 18 years old is the youngest you can be. Config.FullCharDelete = true -- Delete all reference to character. Config.EnableDebugging = ESX.GetConfig().EnableDebug -- prints for debugging :) diff --git a/[esx]/esx_loadingscreen/LICENSE b/[esx]/esx_loadingscreen/LICENSE index 1e4d06cf..85ce0959 100644 --- a/[esx]/esx_loadingscreen/LICENSE +++ b/[esx]/esx_loadingscreen/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_menu_default - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_menu_default Copyright (C) 2015-2022 Jérémie N'gadi + esx_menu_default Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx]/esx_loadingscreen/README.md b/[esx]/esx_loadingscreen/README.md index 887a000d..d5925203 100644 --- a/[esx]/esx_loadingscreen/README.md +++ b/[esx]/esx_loadingscreen/README.md @@ -6,7 +6,7 @@ A simple but beautiful Loading Screen for your server! esx_loadingscreen - Loading in style! -Copyright (C) 2022 ESX-Framework +Copyright (C) 2023 ESX-Framework This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx]/esx_loadingscreen/css/index.css b/[esx]/esx_loadingscreen/css/index.css index 9520df8e..6cb39671 100644 --- a/[esx]/esx_loadingscreen/css/index.css +++ b/[esx]/esx_loadingscreen/css/index.css @@ -12,102 +12,106 @@ * This copyright should appear in every part of the project code */ -html,body { - - margin: 0; - padding: 0; - font-family: 'Quicksand', sans-serif; - overflow: hidden; - +html, +body { + margin: 0; + padding: 0; + font-family: "Quicksand", sans-serif; + overflow: hidden; } #esx_intro { - - z-index: 2; - + z-index: 2; } #esx_loop { - - z-index: 1; - + z-index: 1; } #loading_txt { + bottom: 5%; + left: 50%; + margin-left: -80px; + position: absolute; + z-index: 999; - bottom: 5%; - left: 50%; - margin-left: -80px; - position: absolute; - z-index: 999; - - -webkit-animation: fadein 5s; - -moz-animation: fadein 5s; - -ms-animation: fadein 5s; - -o-animation: fadein 5s; - animation: fadein 5s; - + -webkit-animation: fadein 5s; + -moz-animation: fadein 5s; + -ms-animation: fadein 5s; + -o-animation: fadein 5s; + animation: fadein 5s; } p { - - color: white; - font-size: 32px; - + color: white; + font-size: 32px; } .text_thing:after { - content: ' .'; - animation: dots 2s steps(5, end) infinite; + content: " ."; + animation: dots 2s steps(5, end) infinite; } @keyframes dots { - 0%, 20% { - color: rgba(0,0,0,0); - text-shadow: - .25em 0 0 rgba(0,0,0,0), - .5em 0 0 rgba(0,0,0,0); - } - 40% { - color: white; - text-shadow: - .25em 0 0 rgba(0,0,0,0), - .5em 0 0 rgba(0,0,0,0); - } - 60% { - text-shadow: - .25em 0 0 white, - .5em 0 0 rgba(0,0,0,0); - } - 80%, 100% { - text-shadow: - .25em 0 0 white, - .5em 0 0 white; - } + 0%, + 20% { + color: rgba(0, 0, 0, 0); + text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0); + } + 40% { + color: white; + text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0); + } + 60% { + text-shadow: 0.25em 0 0 white, 0.5em 0 0 rgba(0, 0, 0, 0); + } + 80%, + 100% { + text-shadow: 0.25em 0 0 white, 0.5em 0 0 white; + } } - @keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } + from { + opacity: 0; + } + to { + opacity: 1; + } } @-moz-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } + from { + opacity: 0; + } + to { + opacity: 1; + } } @-webkit-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } + from { + opacity: 0; + } + to { + opacity: 1; + } } @-ms-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } + from { + opacity: 0; + } + to { + opacity: 1; + } } @-o-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } + from { + opacity: 0; + } + to { + opacity: 1; + } } diff --git a/[esx]/esx_loadingscreen/index.html b/[esx]/esx_loadingscreen/index.html index ced82440..212b9e7e 100644 --- a/[esx]/esx_loadingscreen/index.html +++ b/[esx]/esx_loadingscreen/index.html @@ -1,28 +1,25 @@ - - - + - - + - - - + +
-
-

Loading

-
+
+

Loading

+
- - + +
- - - - \ No newline at end of file + + diff --git a/[esx]/esx_loadingscreen/js/index.js b/[esx]/esx_loadingscreen/js/index.js index 955be242..e2312b4a 100644 --- a/[esx]/esx_loadingscreen/js/index.js +++ b/[esx]/esx_loadingscreen/js/index.js @@ -10,13 +10,13 @@ // If you redistribute this software, you must link to ORIGINAL repository at https://github.com/esx-framework/esx-reborn // This copyright should appear in every part of the project code -$(document).ready(function(){ - const introTag = document.getElementById('esx_intro'); - const loopTag = document.getElementById('esx_loop'); +document.addEventListener("DOMContentLoaded", () => { + const introTag = document.getElementById("esx_intro"); + const loopTag = document.getElementById("esx_loop"); - introTag.onended = (event) => { - introTag.style.display = "none"; - loopTag.loop = true; // true - loopTag.play() - }; -}) + introTag.onended = () => { + introTag.style.display = "none"; + loopTag.loop = true; // true + loopTag.play(); + }; +}); diff --git a/[esx]/esx_menu_default/LICENSE b/[esx]/esx_menu_default/LICENSE index 1e4d06cf..85ce0959 100644 --- a/[esx]/esx_menu_default/LICENSE +++ b/[esx]/esx_menu_default/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_menu_default - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_menu_default Copyright (C) 2015-2022 Jérémie N'gadi + esx_menu_default Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx]/esx_menu_default/README.md b/[esx]/esx_menu_default/README.md index 698365da..83584ce1 100644 --- a/[esx]/esx_menu_default/README.md +++ b/[esx]/esx_menu_default/README.md @@ -9,7 +9,7 @@ A defualt List type menu for ESX. esx_menu_defualt - Default Menu! -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx]/esx_menu_default/client/main.lua b/[esx]/esx_menu_default/client/main.lua index d214c153..65d62d09 100644 --- a/[esx]/esx_menu_default/client/main.lua +++ b/[esx]/esx_menu_default/client/main.lua @@ -1,7 +1,8 @@ -local GUI, MenuType, OpenedMenus = {}, 'default', 0 +local GUI, MenuType, OpenedMenus, CurrentNameSpace = {}, 'default', 0, nil GUI.Time = 0 local function openMenu(namespace, name, data) + CurrentNameSpace = namespace OpenedMenus += 1 SendNUIMessage({ action = 'openMenu', @@ -12,6 +13,7 @@ local function openMenu(namespace, name, data) end local function closeMenu(namespace, name) + CurrentNameSpace = namespace OpenedMenus -= 1 SendNUIMessage({ action = 'closeMenu', @@ -20,6 +22,14 @@ local function closeMenu(namespace, name) }) end +AddEventHandler('onResourceStop', function(resource) + if GetCurrentResourceName() == resource and OpenedMenus > 0 then + ESX.UI.Menu.CloseAll() + elseif CurrentNameSpace ~= nil and CurrentNameSpace == resource and OpenedMenus > 0 then + ESX.UI.Menu.CloseAll() + end +end) + ESX.UI.Menu.RegisterType(MenuType, openMenu, closeMenu) RegisterNUICallback('menu_submit', function(data, cb) @@ -58,60 +68,62 @@ RegisterNUICallback('menu_change', function(data, cb) cb('OK') end) -CreateThread(function() - while true do - local Sleep = 500 - - if OpenedMenus > 0 then - Sleep = 10 - if IsControlPressed(0, 18) and IsUsingKeyboard(0) and (GetGameTimer() - GUI.Time) > 200 then - SendNUIMessage({ - action = 'controlPressed', - control = 'ENTER' - }) - GUI.Time = GetGameTimer() - end - - if IsControlPressed(0, 177) and IsUsingKeyboard(0) and (GetGameTimer() - GUI.Time) > 200 then - SendNUIMessage({ - action = 'controlPressed', - control = 'BACKSPACE' - }) - GUI.Time = GetGameTimer() - end - - if IsControlPressed(0, 27) and IsUsingKeyboard(0) and (GetGameTimer() - GUI.Time) > 200 then - SendNUIMessage({ - action = 'controlPressed', - control = 'TOP' - }) - GUI.Time = GetGameTimer() - end - - if IsControlPressed(0, 173) and IsUsingKeyboard(0) and (GetGameTimer() - GUI.Time) > 200 then - SendNUIMessage({ - action = 'controlPressed', - control = 'DOWN' - }) - GUI.Time = GetGameTimer() - end - - if IsControlPressed(0, 174) and IsUsingKeyboard(0) and (GetGameTimer() - GUI.Time) > 200 then - SendNUIMessage({ - action = 'controlPressed', - control = 'LEFT' - }) - GUI.Time = GetGameTimer() - end - - if IsControlPressed(0, 175) and IsUsingKeyboard(0) and (GetGameTimer() - GUI.Time) > 200 then - SendNUIMessage({ - action = 'controlPressed', - control = 'RIGHT' - }) - GUI.Time = GetGameTimer() - end - end - Wait(Sleep) +ESX.RegisterInput('menu_default_enter', 'Submit menu item', 'keyboard', 'RETURN', function() + if OpenedMenus > 0 and (GetGameTimer() - GUI.Time) > 200 then + SendNUIMessage({ + action = 'controlPressed', + control = 'ENTER' + }) + GUI.Time = GetGameTimer() end end) + +ESX.RegisterInput('menu_default_backspace', 'Close menu', 'keyboard', 'BACK', function() + if OpenedMenus > 0 then + SendNUIMessage({ + action = 'controlPressed', + control = 'BACKSPACE' + }) + GUI.Time = GetGameTimer() + end +end) + +ESX.RegisterInput('menu_default_top', 'Change menu focus to top item', 'keyboard', 'UP', function() + if OpenedMenus > 0 then + SendNUIMessage({ + action = 'controlPressed', + control = 'TOP' + }) + GUI.Time = GetGameTimer() + end +end) + +ESX.RegisterInput('menu_default_down', 'Change menu focus to down item', 'keyboard', 'DOWN', function() + if OpenedMenus > 0 then + SendNUIMessage({ + action = 'controlPressed', + control = 'DOWN' + }) + GUI.Time = GetGameTimer() + end +end) + +ESX.RegisterInput('menu_default_left', 'Change menu slider to left', 'keyboard', 'LEFT', function() + if OpenedMenus > 0 then + SendNUIMessage({ + action = 'controlPressed', + control = 'LEFT' + }) + GUI.Time = GetGameTimer() + end +end) + +ESX.RegisterInput('menu_default_right', 'Change menu slider to right', 'keyboard', 'RIGHT', function() + if OpenedMenus > 0 then + SendNUIMessage({ + action = 'controlPressed', + control = 'RIGHT' + }) + GUI.Time = GetGameTimer() + end +end) \ No newline at end of file diff --git a/[esx]/esx_menu_dialog/LICENSE b/[esx]/esx_menu_dialog/LICENSE index 5d570bfa..2a78c4ae 100644 --- a/[esx]/esx_menu_dialog/LICENSE +++ b/[esx]/esx_menu_dialog/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_menu_dialog - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_menu_dialog Copyright (C) 2015-2022 Jérémie N'gadi + esx_menu_dialog Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx]/esx_menu_dialog/README.md b/[esx]/esx_menu_dialog/README.md index a6af27e7..e1d9c85a 100644 --- a/[esx]/esx_menu_dialog/README.md +++ b/[esx]/esx_menu_dialog/README.md @@ -29,7 +29,7 @@ start esx_menu_dialog ### License esx_menu_dialog - input dialog for ESX -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx]/esx_menu_list/LICENSE b/[esx]/esx_menu_list/LICENSE index 65d7dded..4b6f6d2e 100644 --- a/[esx]/esx_menu_list/LICENSE +++ b/[esx]/esx_menu_list/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_menu_list - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_menu_list Copyright (C) 2015-2022 Jérémie N'gadi + esx_menu_list Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx]/esx_menu_list/README.md b/[esx]/esx_menu_list/README.md index 7f8d2802..173045d2 100644 --- a/[esx]/esx_menu_list/README.md +++ b/[esx]/esx_menu_list/README.md @@ -29,7 +29,7 @@ start esx_menu_list ### License esx_menu_list - advanced menu inputs for ESX -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx]/esx_multicharacter/client/main.lua b/[esx]/esx_multicharacter/client/main.lua index c37bf0f7..de34e7c3 100644 --- a/[esx]/esx_multicharacter/client/main.lua +++ b/[esx]/esx_multicharacter/client/main.lua @@ -140,6 +140,24 @@ if ESX.GetConfig().Multichar then }) end + function CharacterDeleteConfirmation(Characters, slots, SelectedCharacter, value) + local elements = { + {title = TranslateCap('char_delete_confirmation'), icon = "fa-solid fa-users", description = TranslateCap('char_delete_confirmation_description'), unselectable = true}, + {title = TranslateCap('char_delete'), icon ="fa-solid fa-xmark", description = TranslateCap('char_delete_yes_description'), action = 'delete', value = value}, + {title = TranslateCap('return'), unselectable = false, icon = "fa-solid fa-arrow-left", description = TranslateCap('char_delete_no_description'), action = "return"} + } + + ESX.OpenContext("left", elements, function(element, Action) + if Action.action == "delete" then + ESX.CloseContext() + TriggerServerEvent('esx_multicharacter:DeleteCharacter', Action.value) + spawned = false + elseif Action.action == "return" then + CharacterOptions(Characters, slots, SelectedCharacter) + end + end, nil, false) + end + function CharacterOptions(Characters, slots, SelectedCharacter) local elements = {{title = TranslateCap('character', Characters[SelectedCharacter.value].firstname .. " ".. Characters[SelectedCharacter.value].lastname),icon = "fa-regular fa-user", unselectable = true}, {title = TranslateCap('return'), unselectable = false,icon = "fa-solid fa-arrow-left",description = TranslateCap('return_description'), action = "return"}} @@ -157,9 +175,7 @@ if ESX.GetConfig().Multichar then ESX.CloseContext() TriggerServerEvent('esx_multicharacter:CharacterChosen', Action.value, false) elseif Action.action == "delete" then - ESX.CloseContext() - TriggerServerEvent('esx_multicharacter:DeleteCharacter', Action.value) - spawned = false + CharacterDeleteConfirmation(Characters, slots, SelectedCharacter, Action.value) elseif Action.action == "return" then SelectCharacterMenu(Characters, slots) end diff --git a/[esx]/esx_multicharacter/html/locales/es.js b/[esx]/esx_multicharacter/html/locales/es.js new file mode 100644 index 00000000..b0791792 --- /dev/null +++ b/[esx]/esx_multicharacter/html/locales/es.js @@ -0,0 +1,8 @@ +const translate = new Object(); + +translate.name = "Nombre"; +translate.job = "Trabajo"; +translate.bank = "Banco"; +translate.money = "Dinero"; +translate.gender = "Género"; +translate.dob = "Fecha de nacimiento"; diff --git a/[esx]/esx_multicharacter/locales/en.lua b/[esx]/esx_multicharacter/locales/en.lua index 64491ee2..d796ec32 100644 --- a/[esx]/esx_multicharacter/locales/en.lua +++ b/[esx]/esx_multicharacter/locales/en.lua @@ -10,6 +10,10 @@ Locales["en"] = { ["char_disabled_description"] = "This Character Is Unusable.", ["char_delete"] = "Delete", ["char_delete_description"] = "Permanently Remove This Character.", + ["char_delete_confirmation"] = "Delete Confirmation", + ["char_delete_confirmation_description"] = "Are you sure removing selected character?", + ["char_delete_yes_description"] = "Yes, I am sure removing selected character", + ["char_delete_no_description"] = "No, return to character options", ["character"] = "Character: %s", ["return"] = "Return", ["return_description"] = "Return To Character Selection.", diff --git a/[esx]/esx_multicharacter/readme.md b/[esx]/esx_multicharacter/readme.md index f308c2c8..da200fb6 100644 --- a/[esx]/esx_multicharacter/readme.md +++ b/[esx]/esx_multicharacter/readme.md @@ -23,7 +23,7 @@ A Simple, Easy to Use resource, that allows Players to have multiple Characters, ## Notice -Copyright © 2022 [Linden](https://github.com/thelindat/), ESX-Framework (fournier Brice & Jérémie N'gadi) and KASH +Copyright © 2023 [Linden](https://github.com/thelindat/), ESX-Framework (fournier Brice & Jérémie N'gadi) and KASH This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/[esx]/esx_notify/LICENSE b/[esx]/esx_notify/LICENSE index 1e4d06cf..85ce0959 100644 --- a/[esx]/esx_notify/LICENSE +++ b/[esx]/esx_notify/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_menu_default - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_menu_default Copyright (C) 2015-2022 Jérémie N'gadi + esx_menu_default Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx]/esx_notify/readme.md b/[esx]/esx_notify/readme.md index b41801d5..b5499924 100644 --- a/[esx]/esx_notify/readme.md +++ b/[esx]/esx_notify/readme.md @@ -55,7 +55,7 @@ ESX.ShowNotification("I i ~r~love~s~ donuts", "success", 3000) esx_notify- Notify! -Copyright (C) 2022 ESX-Framework +Copyright (C) 2023 ESX-Framework This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx]/esx_skin/LICENSE b/[esx]/esx_skin/LICENSE index a8eb3e5f..f8a9de97 100644 --- a/[esx]/esx_skin/LICENSE +++ b/[esx]/esx_skin/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_skin - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_skin Copyright (C) 2015-2022 Jérémie N'gadi + esx_skin Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx]/esx_skin/README.md b/[esx]/esx_skin/README.md index 6b73bdac..d66db978 100644 --- a/[esx]/esx_skin/README.md +++ b/[esx]/esx_skin/README.md @@ -32,7 +32,7 @@ start esx_skin ### License esx_skin - skin selector for ESX -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx]/esx_textui/LICENSE b/[esx]/esx_textui/LICENSE index 1e4d06cf..85ce0959 100644 --- a/[esx]/esx_textui/LICENSE +++ b/[esx]/esx_textui/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_menu_default - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_menu_default Copyright (C) 2015-2022 Jérémie N'gadi + esx_menu_default Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx]/esx_textui/readme.md b/[esx]/esx_textui/readme.md index f5070555..b9197d6c 100644 --- a/[esx]/esx_textui/readme.md +++ b/[esx]/esx_textui/readme.md @@ -43,7 +43,7 @@ ESX.TextUI("i ~r~love~s~ donuts", "error") esx_textui - Persistant Notifications! -Copyright (C) 2022 ESX-Framework +Copyright (C) 2023 ESX-Framework This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx]/skinchanger/LICENSE b/[esx]/skinchanger/LICENSE index 22b3a7be..79cea11b 100644 --- a/[esx]/skinchanger/LICENSE +++ b/[esx]/skinchanger/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. skinchanger - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - skinchanger Copyright (C) 2015-2022 Jérémie N'gadi + skinchanger Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx]/skinchanger/README.md b/[esx]/skinchanger/README.md index fd03c3cf..525a62f1 100644 --- a/[esx]/skinchanger/README.md +++ b/[esx]/skinchanger/README.md @@ -73,7 +73,7 @@ end) skinchanger - Own your skin! -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_accessories/LICENSE b/[esx_addons]/esx_accessories/LICENSE index c990bf6d..08caf3c7 100644 --- a/[esx_addons]/esx_accessories/LICENSE +++ b/[esx_addons]/esx_accessories/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_accessories - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-20202322 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_accessories Copyright (C) 2015-2022 Jérémie N'gadi + esx_accessories Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_accessories/README.md b/[esx_addons]/esx_accessories/README.md index 3aa5d99a..2ed2e25f 100644 --- a/[esx_addons]/esx_accessories/README.md +++ b/[esx_addons]/esx_accessories/README.md @@ -13,7 +13,7 @@ Shops with accessories (hat/helmet, glasses, masks, ears accessories). You can p esx_accessories - accessories 4 you! -Copyright (C) 2015-2022 ESX-Framework +Copyright (C) 2015-2023 ESX-Framework This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_addonaccount/LICENSE b/[esx_addons]/esx_addonaccount/LICENSE index 84e62eb2..b7ae27ce 100644 --- a/[esx_addons]/esx_addonaccount/LICENSE +++ b/[esx_addons]/esx_addonaccount/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_addonaccount - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_addonaccount Copyright (C) 2015-2022 Jérémie N'gadi + esx_addonaccount Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_addonaccount/README.md b/[esx_addons]/esx_addonaccount/README.md index 34242b98..c11c2243 100644 --- a/[esx_addons]/esx_addonaccount/README.md +++ b/[esx_addons]/esx_addonaccount/README.md @@ -31,7 +31,7 @@ end) esx_addonaccount - addon account for ESX -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_addoninventory/LICENSE b/[esx_addons]/esx_addoninventory/LICENSE index b13054b5..20f597d2 100644 --- a/[esx_addons]/esx_addoninventory/LICENSE +++ b/[esx_addons]/esx_addoninventory/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_addoninventory - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_addoninventory Copyright (C) 2015-2022 Jérémie N'gadi + esx_addoninventory Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_addoninventory/README.md b/[esx_addons]/esx_addoninventory/README.md index ecf72bc5..f3ecab51 100644 --- a/[esx_addons]/esx_addoninventory/README.md +++ b/[esx_addons]/esx_addoninventory/README.md @@ -52,7 +52,7 @@ end) ### License esx_addoninventory - inventories! -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_allowlist/LICENSE b/[esx_addons]/esx_allowlist/LICENSE index ba3b7265..22da85db 100644 --- a/[esx_addons]/esx_allowlist/LICENSE +++ b/[esx_addons]/esx_allowlist/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_whitelist - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_whitelist Copyright (C) 2015-2022 Jérémie N'gadi + esx_whitelist Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_allowlist/README.md b/[esx_addons]/esx_allowlist/README.md index 010ba7e4..c8dc7c27 100644 --- a/[esx_addons]/esx_allowlist/README.md +++ b/[esx_addons]/esx_allowlist/README.md @@ -7,7 +7,7 @@ This Script allows you to block all players from joining and specify the only pl esx_allowlist- block those evil intruders! -Copyright (C) 2022 ESX-Framework +Copyright (C) 2023 ESX-Framework This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_allowlist/server/main.lua b/[esx_addons]/esx_allowlist/server/main.lua index 89d96428..8a2bf799 100644 --- a/[esx_addons]/esx_allowlist/server/main.lua +++ b/[esx_addons]/esx_allowlist/server/main.lua @@ -29,11 +29,11 @@ AddEventHandler('playerConnecting', function(name, setCallback, deferrals) local identifier = ESX.GetIdentifier(playerId) if ESX.Table.SizeOf(AllowList) == 0 then - kickReason = TranslateCap('allowlist_empty') + kickReason = "[ESX] " .. TranslateCap('allowlist_empty') elseif not identifier then - kickReason = TranslateCap('license_missing') + kickReason = "[ESX] " .. TranslateCap('license_missing') elseif not AllowList[identifier] then - kickReason = TranslateCap('not_allowlist') + kickReason = "[ESX] " .. TranslateCap('not_allowlist') end if kickReason then diff --git a/[esx_addons]/esx_ambulancejob/LICENSE b/[esx_addons]/esx_ambulancejob/LICENSE index 5b386246..e80d4d2d 100644 --- a/[esx_addons]/esx_ambulancejob/LICENSE +++ b/[esx_addons]/esx_ambulancejob/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_ambulancejob - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_ambulancejob Copyright (C) 2015-2022 Jérémie N'gadi + esx_ambulancejob Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_ambulancejob/README.md b/[esx_addons]/esx_ambulancejob/README.md index 485f70df..05cce532 100644 --- a/[esx_addons]/esx_ambulancejob/README.md +++ b/[esx_addons]/esx_ambulancejob/README.md @@ -22,7 +22,7 @@ ESX Ambulance Job is an plugin for ESX with features: esx_ambulancejob - ambulance script for fivem -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_ambulancejob/fxmanifest.lua b/[esx_addons]/esx_ambulancejob/fxmanifest.lua index 4b2c33a1..9800bf24 100644 --- a/[esx_addons]/esx_ambulancejob/fxmanifest.lua +++ b/[esx_addons]/esx_ambulancejob/fxmanifest.lua @@ -29,5 +29,6 @@ client_scripts { dependencies { 'es_extended', 'esx_skin', + 'esx_society', 'esx_vehicleshop' } diff --git a/[esx_addons]/esx_ambulancejob/locales/hu.lua b/[esx_addons]/esx_ambulancejob/locales/hu.lua index 0c1a057d..b0996bf6 100644 --- a/[esx_addons]/esx_ambulancejob/locales/hu.lua +++ b/[esx_addons]/esx_ambulancejob/locales/hu.lua @@ -5,54 +5,54 @@ Locales['hu'] = { ['ems_clothes_ems'] = 'Munkaruha', -- Vehicles ['ambulance'] = 'Mentőautó', - ['helicopter_prompt'] = ' [Információ]:omd meg az [E] gombot a helikopter listához.', - ['garage_prompt'] = ' [Információ]:omd meg az [E] gombot a kocsi listához.', + ['helicopter_prompt'] = 'Nyomd meg az [E] gombot a helikopter listához.', + ['garage_prompt'] = 'Nyomd meg az [E] gombot a kocsi listához.', ['garage_title'] = 'Autó funkciók', ['garage_stored'] = 'Garázsba', ['garage_notstored'] = 'Ismeretlen helyen', ['garage_storing'] = 'Próbáljuk betteni a kocsid a garázsodba, de előtte nézz körül, hogy biztos nincs melletted senki', - ['garage_has_stored'] = ' [Információ]:keresen tároltad a garázsba!', - ['garage_has_notstored'] = ' máció]:ncs a közeledben semmi!', - ['garage_notavailable'] = ' máció]:m tárolhatod a garázsba!', - ['garage_blocked'] = ' máció]:lami gátolja a kocsi lehívását!', - ['garage_empty'] = ' máció]:m teheted a garázsba!', - ['garage_released'] = ' [Információ]:keresen kivetted!', - ['garage_store_nearby'] = ' máció]:ncs a közeledben semmi!', + ['garage_has_stored'] = ' Sikeresen tároltad a garázsba!', + ['garage_has_notstored'] = 'Nincs a közeledben semmi!', + ['garage_notavailable'] = 'Nemm tárolhatod a garázsba!', + ['garage_blocked'] = 'Valami gátolja a kocsi lehívását!', + ['garage_empty'] = 'Nem teheted a garázsba!', + ['garage_released'] = 'Sikeresen kivetted!', + ['garage_store_nearby'] = 'Nincs a közeledben semmi!', ['garage_storeditem'] = 'Garázs megnyitása', ['garage_storeitem'] = 'Kocsi berakása a garázsba', ['garage_buyitem'] = 'Kocsi igénylés', ['shop_item'] = '$%s', ['vehicleshop_title'] = 'Autókereskedés', ['vehicleshop_confirm'] = 'Megszeretnéd venni ezt a járművet?', - ['vehicleshop_bought'] = ' [Információ]:keresen igényeltél egy %s enért: ', - ['vehicleshop_money'] = ' máció]:t most nem tudod megtenni!', + ['vehicleshop_bought'] = 'Sikeresen igényeltél egy %s ennyiért: ', + ['vehicleshop_money'] = 'Ezt most nem tudod megtenni!', ['vehicleshop_awaiting_model'] = 'Betöltés..', ['confirm_no'] = 'Vissza', ['confirm_yes'] = 'Igényel', -- Action Menu - ['revive_inprogress'] = ' [Információ]:kezdted az újraélesztést!', - ['revive_complete'] = ' [Információ]:raélesztetted: %s', - ['revive_complete_award'] = ' [Információ]:raélesztetted: %s jáost.', + ['revive_inprogress'] = 'Elkezdted az újraélesztést!', + ['revive_complete'] = 'Újraélesztetted: %s', + ['revive_complete_award'] = 'Újraélesztetted: %s játékost.', ['revive_fail_offline'] = 'A játékos nem elérhető', - ['heal_inprogress'] = ' [Információ]:kezdted a gyógyítást!', - ['heal_complete'] = ' [Információ]:ggyógyítottad: %s jáost.', - ['no_players'] = ' máció]:ncs a közeledben senki!', - ['player_not_unconscious'] = ' [Információ]:játékos nincs öntudatánál!', - ['player_not_conscious'] = ' [Információ]:játékos nincs öntudatánál!', + ['heal_inprogress'] = 'Elkezdted a gyógyítást!', + ['heal_complete'] = 'Meggyógyítottad: %s játékost.', + ['no_players'] = 'Nincs a közeledben senki!', + ['player_not_unconscious'] = 'A játékos nincs öntudatánál!', + ['player_not_conscious'] = 'A játékos nincs öntudatánál!', -- Boss Menu ['boss_actions'] = 'Leader panel', -- Misc - ['invalid_amount'] = ' telen mennyiség', - ['actions_prompt'] = ' [Információ]:omd meg az [E] gombot a panel megnyitásához.', + ['invalid_amount'] = 'Érvénytelen mennyiség', + ['actions_prompt'] = 'Nyomd meg az [E] gombot a panel megnyitásához.', ['deposit_amount'] = 'Összeg betétele', ['money_withdraw'] = 'Összeg kivétele', ['fast_travel'] = 'Nyomj [E] hogy használd a liftet', - ['open_pharmacy'] = ' [Információ]:omd meg az [E] gombot a gyógyszer kivételéhez.', + ['open_pharmacy'] = 'Nyomd meg az [E] gombot a gyógyszer kivételéhez.', ['pharmacy_menu_title'] = 'Kellékek', ['pharmacy_take'] = 'Kivétel: %s', ['medikit'] = 'Elsősegély készlet', ['bandage'] = 'Kötszer', - ['max_item'] = ' máció]:m fér már el nálad!', + ['max_item'] = 'Nem fér már el nálad!', -- F6 Menu ['ems_menu'] = 'EMS menü', ['ems_menu_title'] = 'EMS Menu', @@ -65,20 +65,20 @@ Locales['hu'] = { ['alert_ambulance'] = 'EMS értesités', -- Death ['respawn_available_in'] = 'Újraéledés: %s', - ['respawn_bleedout_in'] = 'Elfogsz vérezni %s perc %s másodperclva...\n', - ['respawn_bleedout_prompt'] = 'Nyomd meg az [E]mbot az újraéledéshez', + ['respawn_bleedout_in'] = 'Elfogsz vérezni %s perc %s másodperc múlva...\n', + ['respawn_bleedout_prompt'] = 'Nyomd meg az [E] gombot az újraéledéshez', ['respawn_bleedout_fine'] = 'Újraéledéshez: [E]', - ['respawn_bleedout_fine_msg'] = '[Információ]:Ennyit fizettél, hogy újraéledj', - ['distress_send'] = 'Nyomd meg a gombot a segítségkéréshez', - ['distress_sent'] = ' [Információ]:y civil értesítette az illetékes szervezetet!', + ['respawn_bleedout_fine_msg'] = 'Ennyit fizettél, hogy újraéledj', + ['distress_send'] = 'Nyomd meg a G gombot a segítségkéréshez', + ['distress_sent'] = 'Egy civil értesítette az illetékes szervezetet!', -- Revive - ['revive_help'] = 'újraéleszteni egy játékos', + ['revive_help'] = 'újraéleszteni egy játékost', -- Item - ['used_medikit'] = ' [Információ]:használtál 1x segélytáskát.', - ['used_bandage'] = ' [Információ]:használtál 1x kötszert.', - ['not_enough_medikit'] = '[Információ]:ncs nálad: Defibrillátor.', - ['not_enough_bandage'] = '[Információ]:ncs nálad: Kötszer.', - ['healed'] = ' [Információ]:ggyógyítottak!', + ['used_medikit'] = 'Elhasználtál 1x segélytáskát.', + ['used_bandage'] = 'Elhasználtál 1x kötszert.', + ['not_enough_medikit'] = 'Nincs nálad: Defibrillátor.', + ['not_enough_bandage'] = 'Nincs nálad: Kötszer.', + ['healed'] = 'Meggyógyítottak!', -- Blips ['blip_hospital'] = 'Korház', ['blip_dead'] = 'Eszméletlen játékos', diff --git a/[esx_addons]/esx_ambulancejob/server/main.lua b/[esx_addons]/esx_ambulancejob/server/main.lua index 6b22684a..c5265ab2 100644 --- a/[esx_addons]/esx_ambulancejob/server/main.lua +++ b/[esx_addons]/esx_ambulancejob/server/main.lua @@ -4,9 +4,9 @@ if GetResourceState("esx_phone") ~= 'missing' then TriggerEvent('esx_phone:registerNumber', 'ambulance', TranslateCap('alert_ambulance'), true, true) end -if GetResourceState("esx_society") ~= 'missing' then -TriggerEvent('esx_society:registerSociety', 'ambulance', 'Ambulance', 'society_ambulance', 'society_ambulance', 'society_ambulance', {type = 'public'}) -end +CreateThread(function() + exports["esx_society"]:registerSociety('ambulance', 'Ambulance', 'society_ambulance', 'society_ambulance', 'society_ambulance', {type = 'public'}) +end) RegisterNetEvent('esx_ambulancejob:revive') AddEventHandler('esx_ambulancejob:revive', function(playerId) diff --git a/[esx_addons]/esx_animations/LICENSE b/[esx_addons]/esx_animations/LICENSE index caf36e98..b96291b4 100644 --- a/[esx_addons]/esx_animations/LICENSE +++ b/[esx_addons]/esx_animations/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_animations - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_animations Copyright (C) 2015-2022 Jérémie N'gadi + esx_animations Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_animations/README.md b/[esx_addons]/esx_animations/README.md index 55451cd6..2aa85189 100644 --- a/[esx_addons]/esx_animations/README.md +++ b/[esx_addons]/esx_animations/README.md @@ -28,7 +28,7 @@ start esx_animations ### License esx_animations - play anims! -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_bankerjob/LICENSE b/[esx_addons]/esx_bankerjob/LICENSE index 86ecbcaf..4410e5f1 100644 --- a/[esx_addons]/esx_bankerjob/LICENSE +++ b/[esx_addons]/esx_bankerjob/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_bankerjob - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_bankerjob Copyright (C) 2015-2022 Jérémie N'gadi + esx_bankerjob Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_bankerjob/README.md b/[esx_addons]/esx_bankerjob/README.md index 545fdb0e..68250d5d 100644 --- a/[esx_addons]/esx_bankerjob/README.md +++ b/[esx_addons]/esx_bankerjob/README.md @@ -35,7 +35,7 @@ start esx_bankerjob ### License esx_bankerjob - bank script -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_bankerjob/fxmanifest.lua b/[esx_addons]/esx_bankerjob/fxmanifest.lua index 664018c5..47eb4d5f 100644 --- a/[esx_addons]/esx_bankerjob/fxmanifest.lua +++ b/[esx_addons]/esx_bankerjob/fxmanifest.lua @@ -24,4 +24,7 @@ client_scripts { 'client/main.lua' } -dependency 'es_extended' +dependencies { + 'es_extended', + 'esx_society' +} diff --git a/[esx_addons]/esx_bankerjob/server/main.lua b/[esx_addons]/esx_bankerjob/server/main.lua index 30bb523a..33dd831c 100644 --- a/[esx_addons]/esx_bankerjob/server/main.lua +++ b/[esx_addons]/esx_bankerjob/server/main.lua @@ -1,5 +1,7 @@ TriggerEvent('esx_phone:registerNumber', 'banker', _('phone_receive'), false, false) -TriggerEvent('esx_society:registerSociety', 'banker', TranslateCap('phone_label'), 'society_banker', 'society_banker', 'society_banker', {type = 'public'}) +CreateThread(function() + exports["esx_society"]:registerSociety('banker', TranslateCap('phone_label'), 'society_banker', 'society_banker', 'society_banker', {type = 'public'}) +end) RegisterServerEvent('esx_bankerjob:customerDeposit') AddEventHandler('esx_bankerjob:customerDeposit', function (target, amount) diff --git a/[esx_addons]/esx_banking/LICENSE b/[esx_addons]/esx_banking/LICENSE index 5b3771ae..7c2c49f9 100644 --- a/[esx_addons]/esx_banking/LICENSE +++ b/[esx_addons]/esx_banking/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_banking - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_banking Copyright (C) 2015-2022 Jérémie N'gadi + esx_banking Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_banking/README.md b/[esx_addons]/esx_banking/README.md index bbe28230..2966a97a 100644 --- a/[esx_addons]/esx_banking/README.md +++ b/[esx_addons]/esx_banking/README.md @@ -44,7 +44,7 @@ For example: exports["esx_banking"]:logTransaction(source,"WITHDRAW",200) ### License esx_banking - banking script for ESX -Copyright (C) 2022 ESX-Framework +Copyright (C) 2023 ESX-Framework This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_banking/client/main.lua b/[esx_addons]/esx_banking/client/main.lua index 4d7ee66d..e88b622b 100644 --- a/[esx_addons]/esx_banking/client/main.lua +++ b/[esx_addons]/esx_banking/client/main.lua @@ -107,9 +107,9 @@ local function StartThread() while PlayerLoaded do _PlayerPedId = PlayerPedId() _GetEntityCoords = GetEntityCoords(_PlayerPedId) + local closestBank = {} if IsPedOnFoot(PlayerPedId()) then - local closestBank = {} for i = 1, #Config.AtmModels do local atm = GetClosestObjectOfType(_GetEntityCoords, 8.0, Config.AtmModels[i], false) @@ -151,6 +151,9 @@ local function StartThread() isInMarker = false ESX.HideUI() end + elseif not next(closestBank) and isInMarker then + isInMarker = false + ESX.HideUI() end end @@ -199,7 +202,7 @@ end) local function loadNPC(index, netID) CreateThread(function() while not NetworkDoesEntityExistWithNetworkId(netID) do - Wait(1) + Wait(200) end local npc = NetworkGetEntityFromNetworkId(netID) @@ -247,6 +250,7 @@ end) AddEventHandler('onResourceStop', function(resource) if resource ~= GetCurrentResourceName() then return end RemoveBlips() + ESX.HideUI() if isInMenu then CloseUi() end diff --git a/[esx_addons]/esx_banking/html/config.json b/[esx_addons]/esx_banking/html/config.json index af9490cc..565c4c9b 100644 --- a/[esx_addons]/esx_banking/html/config.json +++ b/[esx_addons]/esx_banking/html/config.json @@ -292,5 +292,102 @@ "tableFullLanguage":"Italian" } } + }, +"ES":{ + "DYNAMIC_FORM_DATA":[ + { + "componentName":"moreGraph", + "elementID":"#wrapper", + "title":"", + "closeButtonText":"Cerrar", + "bankTitle":"Banco Fleeca", + "mainExitButtonText": "Cerrar sesión" + }, + { + "elementID":"#cpincode", + "name":"cpincode", + "buttonText":"Aprobar", + "inputPlaceholder": "Introduzca 4 dígitos...", + "title":"CONFIGURACIÓN DEL PIN", + "description": "Aquí puede establecer o cambiar el código PIN.", + "type":"password" + }, + { + "elementID":"#withdraw", + "name":"withdraw", + "buttonText":"Aprobar", + "inputPlaceholder": "Importe", + "title":"RETIRAR", + "description": "Aquí puede retirar su dinero del banco.", + "type":"number" + }, + { + "elementID":"#deposit", + "name":"deposit", + "buttonText":"Aprobación", + "inputPlaceholder": "Importe", + "title":"DEPOSITO", + "description": "Aquí puede ingresar su dinero en el banco.", + "type":"number" + }, + { + "elementID":"#transfer", + "name":"transfer", + "buttonText":"Transfererir", + "inputPlaceholder": "Importe", + "inputPlaceholder2": "ID del jugador", + "title":"TRANSFERENCIA", + "description": "Aquí puedes transferir tu dinero a otra persona." + }, + { + "componentName":"trans", + "elementID":"#third-column", + "title":"HISTORIAL DE TRANSACCIONES", + "description": "Aquí puede ver su historial de transacciones.", + "moreHistoryText": "Mostrar más historial", + "moreGraphText": "Mostrar el gráfico" + }, + { + "componentName":"pincodePanel", + "elementID":"#wrapper", + "title":"Introducir PIN", + "deleteButtonText": "", + "loginButtonText": "", + "closeButtonText": "Close" + }, + { + "componentName":"atmComponent", + "elementID":"#wrapper", + "title":"Banco Fleeca", + "closeButtonText":"Cerrar sesión" + } + ], + "LAUNGAGE": { + "your_money_title":"Saldo", + "your_money_desc":"Aquí puedes ver tu saldo actual y tu efectivo.", + "your_money_cash_label":"Su dinero en mano", + "your_money_bank_label":"Su saldo bancario", + "withdraw":"RETIRAR", + "deposit":"DEPÓSITO", + "transfer":"TRANSFERENCIA", + "transferReceive":"TRANSFERENCIA RECIBIDA", + "moneyFormat":"$__replaceData__", + "graphTitle":"Su saldo", + "moreGraphTitle": "Gráfico grande", + "moreHistoryTitle":"Mostrar más historial", + "inputErrorTitle":"Data is incorrect", + "inputErrorMessage":"No puede estar vacío ni tener un valor inferior a 1.", + "showPincodeErrorTitle":"PIN incorrecto", + "showPincodeErrorMessage":"El pin debe tener al menos 4 caracteres.", + "tableLang":{ + "typeLabel": "Tipo de transacción", + "balanceLabel":"Saldo", + "amountLabel":"Importe", + "timeLabel":"Tiempo", + "searchInputPlaceholder":"Buscar...", + "_comment": "tableFullLanguage options: English,Hungarian you can find here all lang: https://cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/", + "tableFullLanguage":"Spanish" + } + } } } diff --git a/[esx_addons]/esx_barbershop/LICENSE b/[esx_addons]/esx_barbershop/LICENSE index 5575ab2c..8dbb3010 100644 --- a/[esx_addons]/esx_barbershop/LICENSE +++ b/[esx_addons]/esx_barbershop/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_barbershop - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_barbershop Copyright (C) 2015-2022 Jérémie N'gadi + esx_barbershop Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_barbershop/README.md b/[esx_addons]/esx_barbershop/README.md index dbd5cd6e..7a097fa5 100644 --- a/[esx_addons]/esx_barbershop/README.md +++ b/[esx_addons]/esx_barbershop/README.md @@ -31,7 +31,7 @@ start esx_barbershop ### License esx_barbershop - barber shop! -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_basicneeds/LICENSE b/[esx_addons]/esx_basicneeds/LICENSE index e315a449..9cb95752 100644 --- a/[esx_addons]/esx_basicneeds/LICENSE +++ b/[esx_addons]/esx_basicneeds/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_basicneeds - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_basicneeds Copyright (C) 2015-2022 Jérémie N'gadi + esx_basicneeds Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_basicneeds/README.md b/[esx_addons]/esx_basicneeds/README.md index 0a3bfe24..b089eeb3 100644 --- a/[esx_addons]/esx_basicneeds/README.md +++ b/[esx_addons]/esx_basicneeds/README.md @@ -34,7 +34,7 @@ start esx_basicneeds ### License esx_basicneeds - thirst and hunger system -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_basicneeds/client/main.lua b/[esx_addons]/esx_basicneeds/client/main.lua index f6c79364..c61fa06d 100644 --- a/[esx_addons]/esx_basicneeds/client/main.lua +++ b/[esx_addons]/esx_basicneeds/client/main.lua @@ -108,6 +108,7 @@ end) RegisterNetEvent('esx_basicneeds:onEat') AddEventHandler('esx_basicneeds:onEat', function(prop_name) local Invoke = GetInvokingResource() + print(('[^3WARNING^7] ^5%s^7 used ^5esx_basicneeds:onEat^7, this method is deprecated and should not be used! Refer to ^5https://documentation.esx-framework.org/addons/esx_basicneeds/events/oneat^7 for more info!'):format(Invoke)) if not prop_name then @@ -119,10 +120,12 @@ end) RegisterNetEvent('esx_basicneeds:onDrink') AddEventHandler('esx_basicneeds:onDrink', function(prop_name) local Invoke = GetInvokingResource() + print(('[^3WARNING^7] ^5%s^7 used ^5esx_basicneeds:onDrink^7, this method is deprecated and should not be used! Refer to ^5https://documentation.esx-framework.org/addons/esx_basicneeds/events/ondrink^7 for more info!'):format(Invoke)) + if not prop_name then prop_name = 'prop_ld_flow_bottle' end TriggerEvent('esx_basicneeds:onUse', 'drink', prop_name) -end) +end) \ No newline at end of file diff --git a/[esx_addons]/esx_billing/LICENSE b/[esx_addons]/esx_billing/LICENSE index b2029366..65dd8c53 100644 --- a/[esx_addons]/esx_billing/LICENSE +++ b/[esx_addons]/esx_billing/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_billing - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_billing Copyright (C) 2015-2022 Jérémie N'gadi + esx_billing Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_billing/README.md b/[esx_addons]/esx_billing/README.md index dc399931..cf498c85 100644 --- a/[esx_addons]/esx_billing/README.md +++ b/[esx_addons]/esx_billing/README.md @@ -48,7 +48,7 @@ end ### License esx_billing - billing for ESX -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_boat/LICENSE b/[esx_addons]/esx_boat/LICENSE index 357d9c56..4b046bd2 100644 --- a/[esx_addons]/esx_boat/LICENSE +++ b/[esx_addons]/esx_boat/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_boat - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_boat Copyright (C) 2015-2022 Jérémie N'gadi + esx_boat Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_boat/README.md b/[esx_addons]/esx_boat/README.md index 4edd6200..683d7473 100644 --- a/[esx_addons]/esx_boat/README.md +++ b/[esx_addons]/esx_boat/README.md @@ -33,7 +33,7 @@ start esx_boat ### License esx_boat - Boat shop and garage for ESX -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_clotheshop/LICENSE b/[esx_addons]/esx_clotheshop/LICENSE index fce3a988..2aa46e29 100644 --- a/[esx_addons]/esx_clotheshop/LICENSE +++ b/[esx_addons]/esx_clotheshop/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_clotheshop - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_clotheshop Copyright (C) 2015-2022 Jérémie N'gadi + esx_clotheshop Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_clotheshop/README.md b/[esx_addons]/esx_clotheshop/README.md index 670003b2..7abeed76 100644 --- a/[esx_addons]/esx_clotheshop/README.md +++ b/[esx_addons]/esx_clotheshop/README.md @@ -6,7 +6,7 @@ It`s time to shine! Head over to the variety of stores this resource adds - to G esx_clotheshop - clothing store -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_cruisecontrol/LICENSE b/[esx_addons]/esx_cruisecontrol/LICENSE index 4c37e893..bde4f52b 100644 --- a/[esx_addons]/esx_cruisecontrol/LICENSE +++ b/[esx_addons]/esx_cruisecontrol/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. async - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - async Copyright (C) 2015-2022 Jérémie N'gadi + async Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_cruisecontrol/README.md b/[esx_addons]/esx_cruisecontrol/README.md index 83851a35..6dc3ccd4 100644 --- a/[esx_addons]/esx_cruisecontrol/README.md +++ b/[esx_addons]/esx_cruisecontrol/README.md @@ -4,7 +4,7 @@ esx_cruisecontrol - relaxing driving -Copyright (C) 2015-2022 ESX-Framework +Copyright (C) 2015-2023 ESX-Framework This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_datastore/LICENSE b/[esx_addons]/esx_datastore/LICENSE index 52fcac84..2c5acd2b 100644 --- a/[esx_addons]/esx_datastore/LICENSE +++ b/[esx_addons]/esx_datastore/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_datastore - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_datastore Copyright (C) 2015-2022 Jérémie N'gadi + esx_datastore Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_datastore/README.md b/[esx_addons]/esx_datastore/README.md index 8f38d289..0ffe8a85 100644 --- a/[esx_addons]/esx_datastore/README.md +++ b/[esx_addons]/esx_datastore/README.md @@ -34,7 +34,7 @@ end) esx_datastore - Datastore for ESX-Framework -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_dmvschool/LICENSE b/[esx_addons]/esx_dmvschool/LICENSE index 943cff70..15cc6189 100644 --- a/[esx_addons]/esx_dmvschool/LICENSE +++ b/[esx_addons]/esx_dmvschool/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_dmvschool - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_dmvschool Copyright (C) 2015-2022 Jérémie N'gadi + esx_dmvschool Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_dmvschool/README.md b/[esx_addons]/esx_dmvschool/README.md index 315cdcfa..785f2f58 100644 --- a/[esx_addons]/esx_dmvschool/README.md +++ b/[esx_addons]/esx_dmvschool/README.md @@ -6,7 +6,7 @@ Tired of waiting for your local DMV to be free so you can get your driving licen esx_dmvschool - realistic DMV school for ESX -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_dmvschool/html/questions_hu.js b/[esx_addons]/esx_dmvschool/html/questions_hu.js new file mode 100644 index 00000000..bb6f44ec --- /dev/null +++ b/[esx_addons]/esx_dmvschool/html/questions_hu.js @@ -0,0 +1,81 @@ +var tableauQuestion = [ + { + question: "Mit jelent a közlekedésben a bizalmi elv?", + propositionA: "Számíthat arra, hogy a KRESZ minden helyzetben és helyen szabályozza a közlekedésben résztvevők jogait és kötelességeit.", + propositionB: "Számíthat arra, hogy a közlekedési szabályokat mások is megtartják.", + propositionC: "Számíthat arra, hogy a szabálysértők mindig megkapják a megérdemelt büntetésüket.", + reponse: "B" + }, + + { + question: "Haladhat-e a villamospályán, ha az út vonalvezetése vagy a látási viszonyok akadályozzák a villamos kellő távolságból való észlelését?", + propositionA: "Igen", + propositionB: "Nem", + propositionC: "Nem tudom", + reponse: "B" + }, + + { + question: "Balra kíván bekanyarodni. Általában hová kell besorolni kétirányú forgalmú úton?", + propositionA: "Az úttest felezővonala mellé.", + propositionB: "Az úttest bal szélére.", + propositionC: "Az úttest jobb szélére.", + reponse: "B" + }, + + { + question: "Lakott területen kívül elsöbbséget kell adnia az autóbuszöblöt elhagyó autóbusz részére?", + propositionA: "Igen", + propositionB: "Nem", + propositionC: "Ha féktávon kivül vagyok, akkor nem", + reponse: "B" + }, + + { + question: "Miként befolyásolja a vezetõ reakcióidejét az alkohol és a fáradtság hatása?", + propositionA: "A reakcióideje többszörösére növekedhet.", + propositionB: "A reakcióideje kismértékben csökken.", + propositionC: "A reakcióideje csak kismértékben növekszik.", + reponse: "A" + }, + + { + question: "Mikor szabad hirtelen fékezni?", + propositionA: "Csak akkor, ha ezt a személy- és vagyonbiztonság megóvása szükségessé teszi.", + propositionB: "Csak akkor, ha Ön mögött haladó jármû helyes követési távolságot tart.", + propositionC: "Csak akkor, ha a jármü gumija nem kopik el fékezés közben.", + reponse: "A" + }, + + { + question: "Hogyan változik a látása a sebesség növekedésével?", + propositionA: "Nagy sebességgel haladva csak a közeli tárgyakat látja élesen; távolra csak homályosan lát.", + propositionB: "Nagy sebességgel haladva csak a távoli tárgyak képe éles; a közeli tárgyak képe elmosódik.", + propositionC: "Nagy sebességgel haladva, olyan mintha belennék állva.", + reponse: "A" + }, + + { + question: "A megkülönböztetõ jelzéseket használó gépjármû részére", + propositionA: "Minden helyzetben elsõbbséget kell adnia.", + propositionB: "Csak akkor kell elsõbbséget adnia, ha azzal más közlekedõt nem akadályoz jelentõsen.", + propositionC: "Csak akkor ha rámdudál.", + reponse: "A" + }, + + { + question: "Az előzés megkezdése előtt miként ellenőrízzük a mögöttes forgalmat?", + propositionA: "Oldalra-hátranézve.", + propositionB: "A belső, valamint a külső visszapillantó tükrök segítségével, és ha szükséges, akkor hátratekintéssel is.", + propositionC: "A külső visszapillantó tükör segítségével.", + reponse: "B" + }, + + { + question: "Be kell-e sorolni a járművel az úttest jobb szélén lévő autóbusz forgalmi sávba jobbra kanyarodáskor?", + propositionA: "Igen", + propositionB: "Nem", + propositionC: "Néha", + reponse: "B" + }, +] diff --git a/[esx_addons]/esx_dmvschool/html/ui_hu.html b/[esx_addons]/esx_dmvschool/html/ui_hu.html new file mode 100644 index 00000000..fffdf27a --- /dev/null +++ b/[esx_addons]/esx_dmvschool/html/ui_hu.html @@ -0,0 +1,118 @@ + + + + + + +
+
+ +
+

Autós Iskola

+
+ +
+
+ +
+ +
+

Üdvözöljük a Los Santos Autosiskolánál! +

+
+
Los Santos összes polgárának meg kell csinálni a KRESZ vizsgát a forgalmi vizsa elött +
A válaszoknál ne kapkodjon, használja ki a teljes idöt, gondolkodjon jozan ésszel. +
+
+
+ KRESZ Vizsga +
- A KRESZ vizsga 1.000$-ba kerül, ami nem visszatéritendö! +
- Az autosiskola elfogadja a bankkártyás fizetést is de vigyázz, ne kerülj adosságba! +
- Ha nem sikerülne a teszt, ne aggodjon, ismét megprobálhatja! +
+
Forgalmi Vizsga +
- A Forgalmi vizsga 1.500$-ba kerül, ami szintén nem visszatéritendö összeg! +
- A Forgalmi vizsgánál figyelj oda, hogy ne okozz balesetet! +

+ +
+
+ Kezdés +
+ +
+ +
+
+

+

+
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+

Folyamat

+ +
+
+ +
+
+
+

Sikeres KRESZ Vizsga!

+
+
Gratulálok a sikeres KRESZ vizsgához! +
+
Most már elkezdheted a vezetést! +
+
+
+ Bezár +
+ +
+
+
+
+

Sajnos nem sikerült a vizsga!

+
+
Sajnálattal közlöm, de nem sikerült a KRESZ vizsga, kérlek probáld ujra késöbb... +
+
+
+
+
+ Bezár +
+ +
+
+
+ + + + + + + diff --git a/[esx_addons]/esx_drugs/LICENSE b/[esx_addons]/esx_drugs/LICENSE index 394fc45a..c52fbcb5 100644 --- a/[esx_addons]/esx_drugs/LICENSE +++ b/[esx_addons]/esx_drugs/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_drugs - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_drugs Copyright (C) 2015-2022 Jérémie N'gadi + esx_drugs Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_drugs/README.md b/[esx_addons]/esx_drugs/README.md index 95f0481e..07a675db 100644 --- a/[esx_addons]/esx_drugs/README.md +++ b/[esx_addons]/esx_drugs/README.md @@ -6,7 +6,7 @@ Who loves some good old Marijuana? I hope you do! Cause this resource lets you g esx_drugs - Drugs Job -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_garage/LICENSE b/[esx_addons]/esx_garage/LICENSE index 81473243..4b0e8316 100644 --- a/[esx_addons]/esx_garage/LICENSE +++ b/[esx_addons]/esx_garage/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_garage - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_garage Copyright (C) 2015-2022 Jérémie N'gadi + esx_garage Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_holdup/LICENSE b/[esx_addons]/esx_holdup/LICENSE index 288b1eee..a65d7691 100644 --- a/[esx_addons]/esx_holdup/LICENSE +++ b/[esx_addons]/esx_holdup/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_holdup - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_holdup Copyright (C) 2015-2022 Jérémie N'gadi + esx_holdup Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_holdup/README.md b/[esx_addons]/esx_holdup/README.md index 251f1999..141e02da 100644 --- a/[esx_addons]/esx_holdup/README.md +++ b/[esx_addons]/esx_holdup/README.md @@ -6,7 +6,7 @@ esx_holdup - rob stores! -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_joblisting/LICENSE b/[esx_addons]/esx_joblisting/LICENSE index 428c413b..505256b5 100644 --- a/[esx_addons]/esx_joblisting/LICENSE +++ b/[esx_addons]/esx_joblisting/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_joblisting - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_joblisting Copyright (C) 2015-2022 Jérémie N'gadi + esx_joblisting Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_joblisting/README.md b/[esx_addons]/esx_joblisting/README.md index a8e4cfd5..66cf64d2 100644 --- a/[esx_addons]/esx_joblisting/README.md +++ b/[esx_addons]/esx_joblisting/README.md @@ -6,7 +6,7 @@ This Simple resource lets you finally contribute to Society and make a differenc esx_joblisting - virtual Job Center! -Copyright (C) 2015-2022 Jérémie N'gadi, ESX-Framework +Copyright (C) 2015-2023 Jérémie N'gadi, ESX-Framework This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_jobs/LICENSE b/[esx_addons]/esx_jobs/LICENSE index 2f5a7768..e5461dfb 100644 --- a/[esx_addons]/esx_jobs/LICENSE +++ b/[esx_addons]/esx_jobs/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_jobs - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_jobs Copyright (C) 2015-2022 Jérémie N'gadi + esx_jobs Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_jobs/README.md b/[esx_addons]/esx_jobs/README.md index dc17072b..71762a83 100644 --- a/[esx_addons]/esx_jobs/README.md +++ b/[esx_addons]/esx_jobs/README.md @@ -39,7 +39,7 @@ CloakRoom = { esx_jobs - jobs -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_license/LICENSE b/[esx_addons]/esx_license/LICENSE index 12aff000..6a52769c 100644 --- a/[esx_addons]/esx_license/LICENSE +++ b/[esx_addons]/esx_license/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_license - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_license Copyright (C) 2015-2022 Jérémie N'gadi + esx_license Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_lscustom/LICENSE b/[esx_addons]/esx_lscustom/LICENSE index 3d886edd..da132c68 100644 --- a/[esx_addons]/esx_lscustom/LICENSE +++ b/[esx_addons]/esx_lscustom/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_lscustom - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_lscustom Copyright (C) 2015-2022 Jérémie N'gadi + esx_lscustom Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_lscustom/README.md b/[esx_addons]/esx_lscustom/README.md index dd0044de..26aea734 100644 --- a/[esx_addons]/esx_lscustom/README.md +++ b/[esx_addons]/esx_lscustom/README.md @@ -8,7 +8,7 @@ esx_lscustoms - The best LS Custom out there for FX -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_lscustom/client/main.lua b/[esx_addons]/esx_lscustom/client/main.lua index b5273d1b..feeff260 100644 --- a/[esx_addons]/esx_lscustom/client/main.lua +++ b/[esx_addons]/esx_lscustom/client/main.lua @@ -2,9 +2,7 @@ local Vehicles, myCar = {}, {} local lsMenuIsShowed, HintDisplayed, isInLSMarker = false, false, false RegisterNetEvent('esx:playerLoaded') -AddEventHandler('esx:playerLoaded', function(xPlayer) - ESX.PlayerLoaded = true - ESX.PlayerData = xPlayer +AddEventHandler('esx:playerLoaded', function() ESX.TriggerServerCallback('esx_lscustom:getVehiclesPrices', function(vehicles) Vehicles = vehicles end) @@ -13,8 +11,9 @@ end) RegisterNetEvent('esx_lscustom:installMod') AddEventHandler('esx_lscustom:installMod', function() local vehicle = GetVehiclePedIsIn(PlayerPedId(), false) + local NetId = NetworkGetNetworkIdFromEntity(vehicle) myCar = ESX.Game.GetVehicleProperties(vehicle) - TriggerServerEvent('esx_lscustom:refreshOwnedVehicle', myCar) + TriggerServerEvent('esx_lscustom:refreshOwnedVehicle', myCar, NetId) end) RegisterNetEvent('esx_lscustom:restoreMods', function(netId, props) @@ -79,8 +78,8 @@ function OpenLSMenu(elems, menuName, menuTitle, parent) if data.current.label == TranslateCap('by_default') or string.match(data.current.label, TranslateCap('installed')) then ESX.ShowNotification(TranslateCap('already_own', data.current.label)) - myCar = ESX.Game.GetVehicleProperties(vehicle) - TriggerServerEvent('esx_lscustom:refreshOwnedVehicle', myCar) + myCar = ESX.Game.GetVehicleProperties(vehicle) + TriggerServerEvent('esx_lscustom:refreshOwnedVehicle', myCar, NetworkGetNetworkIdFromEntity(vehicle)) else local vehiclePrice = 50000 diff --git a/[esx_addons]/esx_lscustom/config.lua b/[esx_addons]/esx_lscustom/config.lua index ecd59c84..d3e6f83e 100644 --- a/[esx_addons]/esx_lscustom/config.lua +++ b/[esx_addons]/esx_lscustom/config.lua @@ -483,19 +483,19 @@ Config.Menus = { label = TranslateCap('engine'), parent = 'upgrades', modType = 11, - price = {13.95, 32.56, 65.12, 139.53} + price = {13.95, 27.9, 55.8, 111.6, 139.53} }, modBrakes = { label = TranslateCap('brakes'), parent = 'upgrades', modType = 12, - price = {4.65, 9.3, 18.6, 13.95} + price = {4.65, 9.3, 13.95, 18.6} }, modTransmission = { label = TranslateCap('transmission'), parent = 'upgrades', modType = 13, - price = {13.95, 20.93, 46.51} + price = {13.95, 20.93, 46.51, 63.55} }, modSuspension = { label = TranslateCap('suspension'), diff --git a/[esx_addons]/esx_lscustom/server/main.lua b/[esx_addons]/esx_lscustom/server/main.lua index 5879b7dc..7ab91939 100644 --- a/[esx_addons]/esx_lscustom/server/main.lua +++ b/[esx_addons]/esx_lscustom/server/main.lua @@ -4,10 +4,10 @@ local Customs = {} RegisterNetEvent('esx_lscustom:startModing', function(props, netId) local src = tostring(source) if Customs[src] then - Customs[src][props.plate] = {props = props, netId = netId} + Customs[src][tostring(props.plate)] = {props = props, netId = netId} else Customs[src] = {} - Customs[src][props.plate] = {props = props, netId = netId} + Customs[src][tostring(props.plate)] = {props = props, netId = netId} end end) @@ -70,16 +70,30 @@ AddEventHandler('esx_lscustom:buyMod', function(price) end) RegisterServerEvent('esx_lscustom:refreshOwnedVehicle') -AddEventHandler('esx_lscustom:refreshOwnedVehicle', function(vehicleProps) +AddEventHandler('esx_lscustom:refreshOwnedVehicle', function(vehicleProps, netId) + local src = tostring(source) local xPlayer = ESX.GetPlayerFromId(source) - MySQL.single('SELECT vehicle FROM owned_vehicles WHERE plate = ?', {vehicleProps.plate}, function(result) if result then local vehicle = json.decode(result.vehicle) if vehicleProps.model == vehicle.model then MySQL.update('UPDATE owned_vehicles SET vehicle = ? WHERE plate = ?', {json.encode(vehicleProps), vehicleProps.plate}) - Customs[tostring(source)][tostring(vehicleProps.plate)].props = vehicleProps + if Customs[src] then + if Customs[src][tostring(vehicleProps.plate)] then + Customs[src][tostring(vehicleProps.plate)].props = vehicleProps + else + Customs[src][tostring(vehicleProps.plate)] = {props = vehicleProps, netId = netId} + end + else + Customs[src] = {} + Customs[src][tostring(vehicleProps.plate)] = {props = vehicleProps, netId = netId} + end + local veh = NetworkGetEntityFromNetworkId(netId) + local Veh_State = Entity(veh).state.VehicleProperties + if Veh_State then + Entity(veh).state:set("VehicleProperties", vehicleProps, true) + end else print(('[^3WARNING^7] Player ^5%s^7 Attempted To upgrade with mismatching vehicle model'):format(xPlayer.source)) end diff --git a/[esx_addons]/esx_mechanicjob/LICENSE b/[esx_addons]/esx_mechanicjob/LICENSE index e345d8e8..6bcf52f9 100644 --- a/[esx_addons]/esx_mechanicjob/LICENSE +++ b/[esx_addons]/esx_mechanicjob/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_mechanicjob - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_mechanicjob Copyright (C) 2015-2022 Jérémie N'gadi + esx_mechanicjob Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_mechanicjob/README.md b/[esx_addons]/esx_mechanicjob/README.md index 9e3cbbbc..803a3eed 100644 --- a/[esx_addons]/esx_mechanicjob/README.md +++ b/[esx_addons]/esx_mechanicjob/README.md @@ -39,7 +39,7 @@ start esx_mechanicjob ### License esx_mechanicjob - mechanic job for ESX -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_mechanicjob/client/main.lua b/[esx_addons]/esx_mechanicjob/client/main.lua index bb085d7d..85fccc2c 100644 --- a/[esx_addons]/esx_mechanicjob/client/main.lua +++ b/[esx_addons]/esx_mechanicjob/client/main.lua @@ -88,7 +88,7 @@ function OpenMechanicActionsMenu() ESX.OpenContext("right", elements2, function(menu2,element2) ESX.CloseContext() - local vehicleProps = element.value + local vehicleProps = element2.value ESX.Game.SpawnVehicle(vehicleProps.model, Config.Zones.VehicleSpawnPoint.Pos, 270.0, function(vehicle) ESX.Game.SetVehicleProperties(vehicle, vehicleProps) diff --git a/[esx_addons]/esx_mechanicjob/locales/fr.lua b/[esx_addons]/esx_mechanicjob/locales/fr.lua index eb9283bd..5327a6e7 100644 --- a/[esx_addons]/esx_mechanicjob/locales/fr.lua +++ b/[esx_addons]/esx_mechanicjob/locales/fr.lua @@ -19,7 +19,7 @@ Locales['fr'] = { ['gas_can'] = 'Bouteille de gaz', ['repair_tools'] = 'Outils réparation', ['body_work_tools'] = 'Outils carosserie', - ['blowtorch'] = 'chalumeaux', + ['blowtorch'] = 'chalumeau', ['repair_kit'] = 'kit réparation', ['body_kit'] = 'kit carosserie', ['craft'] = 'établi', @@ -47,7 +47,7 @@ Locales['fr'] = { ['no_veh_att'] = 'il n\'y a ~r~pas de véhicule à attacher', ['not_right_veh'] = 'ce n\'est pas le bon véhicule', ['veh_det_succ'] = 'vehicule détaché avec succès!', - ['imp_flatbed'] = '~r~Impossible! Vous devez avoir un Flatbed pour ça', + ['imp_flatbed'] = '~r~Impossible! Vous devez avoir un Plateau pour ça', ['objects'] = 'objets', ['roadcone'] = 'plot', ['toolbox'] = 'boîte à outils', @@ -63,7 +63,7 @@ Locales['fr'] = { ['press_remove_obj'] = 'appuyez sur [E] pour enlever l\'objet', ['please_tow'] = 'veuillez remorquer le véhicule', ['wait_five'] = 'Vous devez ~r~attendre 5 minutes', - ['must_in_flatbed'] = 'Vous devez être en flatbed pour commencer la mission', + ['must_in_flatbed'] = 'Vous devez être à bord d\'un Plateau pour commencer la mission', ['not_right_place'] = 'Vous devez être au bon endroit pour faire cela', ['mechanic_customer'] = 'client mecano', ['you_do_not_room'] = '~r~Vous n\'avez plus de place', diff --git a/[esx_addons]/esx_mechanicjob/server/main.lua b/[esx_addons]/esx_mechanicjob/server/main.lua index 4f8db966..0727d680 100644 --- a/[esx_addons]/esx_mechanicjob/server/main.lua +++ b/[esx_addons]/esx_mechanicjob/server/main.lua @@ -5,7 +5,10 @@ if Config.MaxInService ~= -1 then end TriggerEvent('esx_phone:registerNumber', 'mechanic', TranslateCap('mechanic_customer'), true, true) -TriggerEvent('esx_society:registerSociety', 'mechanic', 'mechanic', 'society_mechanic', 'society_mechanic', 'society_mechanic', {type = 'private'}) + +CreateThread(function() + exports["esx_society"]:registerSociety('mechanic', 'mechanic', 'society_mechanic', 'society_mechanic', 'society_mechanic', {type = 'private'}) +end) local function Harvest(source) SetTimeout(4000, function() diff --git a/[esx_addons]/esx_optionalneeds/LICENSE b/[esx_addons]/esx_optionalneeds/LICENSE index d287dfac..a88e7c97 100644 --- a/[esx_addons]/esx_optionalneeds/LICENSE +++ b/[esx_addons]/esx_optionalneeds/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_optionalneeds - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_optionalneeds Copyright (C) 2015-2022 Jérémie N'gadi + esx_optionalneeds Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_phone/LICENSE b/[esx_addons]/esx_phone/LICENSE index b949e529..8c137bd7 100644 --- a/[esx_addons]/esx_phone/LICENSE +++ b/[esx_addons]/esx_phone/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_phone - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_phone Copyright (C) 2015-2022 Jérémie N'gadi + esx_phone Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_phone/README.md b/[esx_addons]/esx_phone/README.md index 3aa9b510..9701790c 100644 --- a/[esx_addons]/esx_phone/README.md +++ b/[esx_addons]/esx_phone/README.md @@ -60,7 +60,7 @@ last two booleans are optional ### License esx_phone - phone script for fivem -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_phone/locales/de.lua b/[esx_addons]/esx_phone/locales/de.lua index 7adcb871..c5afe06d 100644 --- a/[esx_addons]/esx_phone/locales/de.lua +++ b/[esx_addons]/esx_phone/locales/de.lua @@ -2,12 +2,12 @@ Locales['de'] = { ['new_message'] = 'Neue Nachricht', ['press_take_call'] = '%s - Drücke [E] um den Anruf anzunehmen', ['taken_call'] = '%s hat den Anruf angenommen', - ['gps_position'] = 'ziel in GPS eingegeben', - ['message_sent'] = 'nachricht gesendet', - ['cannot_add_self'] = 'du kannst dich nicht selbst hinzufügen', - ['number_in_contacts'] = 'diese Nummer ist bereits in deinen Kontakten', - ['contact_added'] = 'kontakt hinzugefügt', - ['contact_removed'] = 'the contact has been removed!', - ['number_not_assigned'] = 'diese Nummer ist nicht vergeben...', - ['invalid_number'] = 'that\'s not an valid number!', + ['gps_position'] = 'Ziel im GPS eingegeben', + ['message_sent'] = 'Nachricht wurde versendet', + ['cannot_add_self'] = 'Du kannst dich nicht selbst hinzufügen', + ['number_in_contacts'] = 'Diese Nummer ist bereits in deinen Kontakten', + ['contact_added'] = 'Kontakt hinzugefügt', + ['contact_removed'] = 'Dieser Kontakt wurde entfernt!', + ['number_not_assigned'] = 'Diese Nummer ist nicht vergeben...', + ['invalid_number'] = 'Dies ist keine gültige Telefonnummer!', } diff --git a/[esx_addons]/esx_policejob/LICENSE b/[esx_addons]/esx_policejob/LICENSE index 8bdc134d..0c07e1b1 100644 --- a/[esx_addons]/esx_policejob/LICENSE +++ b/[esx_addons]/esx_policejob/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_policejob - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_policejob Copyright (C) 2015-2022 Jérémie N'gadi + esx_policejob Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_policejob/README.md b/[esx_addons]/esx_policejob/README.md index 94be092a..64463d85 100644 --- a/[esx_addons]/esx_policejob/README.md +++ b/[esx_addons]/esx_policejob/README.md @@ -59,7 +59,7 @@ start esx_policejob ### License esx_policejob - police script for ESX -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_policejob/fxmanifest.lua b/[esx_addons]/esx_policejob/fxmanifest.lua index 86f8ea7c..d8070a66 100644 --- a/[esx_addons]/esx_policejob/fxmanifest.lua +++ b/[esx_addons]/esx_policejob/fxmanifest.lua @@ -27,6 +27,6 @@ client_scripts { dependencies { 'es_extended', 'esx_billing', - 'esx_vehicleshop', - 'esx_society' + 'esx_society', + 'esx_vehicleshop' } diff --git a/[esx_addons]/esx_policejob/locales/de.lua b/[esx_addons]/esx_policejob/locales/de.lua index f105a044..2aebdc53 100644 --- a/[esx_addons]/esx_policejob/locales/de.lua +++ b/[esx_addons]/esx_policejob/locales/de.lua @@ -5,7 +5,7 @@ Locales['de'] = { ['police_wear'] = 'Arbeitskleidung', ['gilet_wear'] = 'orangefarbene reflektierende Jacke', ['bullet_wear'] = 'kugelsichere Weste', - ['no_outfit'] = 'Es gibt keine Uniform die dir passt.', + ['no_outfit'] = 'Es gibt keine, Uniform, die dir passt.', ['open_cloackroom'] = 'Drücke [E] um dich umzuziehen', -- Armory ['remove_object'] = 'Objekt nehmen', @@ -14,27 +14,27 @@ Locales['de'] = { ['put_weapon'] = 'Waffen bringen', ['buy_weapons'] = 'Waffen kaufen', ['armory'] = 'Waffenkammer', - ['open_armory'] = 'Drücke [E] um die Waffenkammer zu öffnen', - ['armory_owned'] = 'eigentum', + ['open_armory'] = 'Drücke [E], um die Waffenkammer zu öffnen', + ['armory_owned'] = 'Eigentum', ['armory_free'] = 'gratis', ['armory_item'] = '$%s', ['armory_weapontitle'] = 'Waffenkammer - Waffe kaufen', - ['armory_componenttitle'] = 'Waffenkammer - Waffen attatchments', + ['armory_componenttitle'] = 'Waffenkammer - Waffen Attachments', ['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!', + ['armory_hascomponent'] = 'Du hast das Attachment bereits!', ['get_weapon_menu'] = 'Arsenal - Waffe auslagern', ['put_weapon_menu'] = 'Arsenal - Waffe einlagern', -- Vehicles ['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_prompt'] = 'Drücke [E], um das Garagenmenü 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_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.', @@ -62,7 +62,7 @@ Locales['de'] = { ['service_out'] = 'Du hast den Dienst verlassen.', ['service_out_announce'] = 'Operator %s hat seinen Dienst beendet.', -- Action Menu - ['citizen_interaction'] = 'Zivilistenaktionen', + ['citizen_interaction'] = 'Zivilinteraktionen', ['vehicle_interaction'] = 'Fahrzeuginteraktionen', ['object_spawner'] = 'Objekt Spawner', @@ -81,16 +81,16 @@ Locales['de'] = { ['no_players_nearby'] = 'keine Spieler in der Nähe', ['being_searched'] = 'Du wirst von der Polizei durchsucht', -- Vehicle interaction - ['vehicle_info'] = 'Fahrzeug Info', + ['vehicle_info'] = 'Fahrzeug Information', ['pick_lock'] = 'Fahrzeug öffnen', ['vehicle_unlocked'] = 'Fahrzeug offen', ['no_vehicles_nearby'] = 'Keine Fahrzeuge in der Nähe', - ['impound'] = 'beschlagnahmtes fahrzeug', + ['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'] = 'Fahrzeug Informationen', ['search_database_title'] = 'Fahrzeuginformationen - Suche über das amtliche Kennzeichen', ['search_database_error_invalid'] = 'die keine gültige Registrierungsnummer ist', -- Traffic interaction @@ -101,51 +101,51 @@ Locales['de'] = { ['box'] = 'Box', ['cash'] = 'Box mit Geld', -- ID Card Menu - ['name'] = 'name: %s', - ['job'] = 'job: %s', - ['sex'] = 'geschlecht: %s', - ['dob'] = 'DOB: %s', - ['height'] = 'größe: %s', + ['name'] = 'Name: %s', + ['job'] = 'Job: %s', + ['sex'] = 'Geschlecht: %s', + ['dob'] = 'GEB.: %s', + ['height'] = 'Größe: %s', ['bac'] = 'BAC: %s', - ['unknown'] = 'unknown', + ['unknown'] = 'unbekannt', ['male'] = 'männlich', ['female'] = 'weiblich', -- Body Search Menu ['guns_label'] = '--- Waffen ---', ['inventory_label'] = '--- Inventar ---', ['license_label'] = ' --- Lizenzen ---', - ['confiscate'] = 'konfeszieren %s', + ['confiscate'] = 'konfiszieren %s', ['confiscate_weapon'] = 'konfisziere %s mit %s kugeln', ['confiscate_inv'] = 'konfisziere %sx %s', - ['confiscate_dirty'] = 'Schwarzgeld konfesziert: $%s', + ['confiscate_dirty'] = 'Schwarzgeld konfisziert: $%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', + ['traffic_offense'] = 'Verkehrsvergehen', + ['minor_offense'] = 'Geringes Vergehen', + ['average_offense'] = 'Normales Vergehen', + ['major_offense'] = 'Hohes Vergehen', + ['fine_total'] = 'Strafe: %s', -- Vehicle Info Menu - ['plate'] = 'kennzeichen: %s', - ['owner_unknown'] = 'besitzer: Unbekannt', - ['owner'] = 'besitzer: %s', + ['plate'] = 'Kennzeichen: %s', + ['owner_unknown'] = 'Besitzer: Unbekannt', + ['owner'] = 'Besitzer: %s', -- Boss Menu - ['open_bossmenu'] = 'Drücke [E] um das Menü zu öffnen', + ['open_bossmenu'] = 'Drücke [E], um das Menü zu öffnen', ['quantity_invalid'] = 'ungültige Menge', ['have_withdrawn'] = 'Du hast abgehoben %sx %s', ['have_deposited'] = 'Sie haben eingezahlt %sx %s', - ['quantity'] = 'qualität', - ['inventory'] = 'inventar', + ['quantity'] = 'Qualität', + ['inventory'] = 'Inventar', ['police_stock'] = 'Polizeibestand', -- Misc - ['remove_prop'] = 'Drücke [E] um das Objekt zu entfernen', + ['remove_prop'] = 'Drücke [E], um das Objekt zu entfernen', ['map_blip'] = 'Polizeistation', ['unrestrained_timer'] = 'Du spürst, wie die Handschellen langsam ihren Halt verlieren und sich auflösen.', -- Notifications - ['alert_police'] = 'Polizei alamieren', + ['alert_police'] = 'Polizei alarmieren', ['phone_police'] = 'Polizei', } diff --git a/[esx_addons]/esx_policejob/server/main.lua b/[esx_addons]/esx_policejob/server/main.lua index 1bffdee9..5aa7712f 100644 --- a/[esx_addons]/esx_policejob/server/main.lua +++ b/[esx_addons]/esx_policejob/server/main.lua @@ -5,7 +5,9 @@ if Config.EnableESXService then end TriggerEvent('esx_phone:registerNumber', 'police', TranslateCap('alert_police'), true, true) -TriggerEvent('esx_society:registerSociety', 'police', 'Police', 'society_police', 'society_police', 'society_police', {type = 'public'}) +CreateThread(function() + exports["esx_society"]:registerSociety('police', 'Police', 'society_police', 'society_police', 'society_police', {type = 'public'}) +end) RegisterNetEvent('esx_policejob:confiscatePlayerItem') AddEventHandler('esx_policejob:confiscatePlayerItem', function(target, itemType, itemName, amount) diff --git a/[esx_addons]/esx_property/LICENSE b/[esx_addons]/esx_property/LICENSE index 5c0cc627..359e1a62 100644 --- a/[esx_addons]/esx_property/LICENSE +++ b/[esx_addons]/esx_property/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. ESX Property - Properties Made Right! - Copyright (C) 2022 ESX-Framework + Copyright (C) 2023 ESX-Framework This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx-legacy Copyright (C) 2015-2022 Jérémie N'gadi + esx-legacy Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_property/README.md b/[esx_addons]/esx_property/README.md index b83c47e1..4ebc3d9a 100644 --- a/[esx_addons]/esx_property/README.md +++ b/[esx_addons]/esx_property/README.md @@ -78,7 +78,7 @@ # Copyright ESX Property - Properties Made Right! - Copyright (C) 2022 ESX-Framework + Copyright (C) 2023 ESX-Framework This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/[esx_addons]/esx_property/client/cctv.lua b/[esx_addons]/esx_property/client/cctv.lua index 05b46c25..3ef2f663 100644 --- a/[esx_addons]/esx_property/client/cctv.lua +++ b/[esx_addons]/esx_property/client/cctv.lua @@ -1,6 +1,6 @@ --[[ ESX Property - Properties Made Right! - Copyright (C) 2022 ESX-Framework + Copyright (C) 2023 ESX-Framework This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/[esx_addons]/esx_property/client/furniture.lua b/[esx_addons]/esx_property/client/furniture.lua index 52314fc2..c7bcc370 100644 --- a/[esx_addons]/esx_property/client/furniture.lua +++ b/[esx_addons]/esx_property/client/furniture.lua @@ -1,6 +1,6 @@ --[[ ESX Property - Properties Made Right! - Copyright (C) 2022 ESX-Framework + Copyright (C) 2023 ESX-Framework This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/[esx_addons]/esx_property/client/main.lua b/[esx_addons]/esx_property/client/main.lua index 9c2fd4f2..df7b2a60 100644 --- a/[esx_addons]/esx_property/client/main.lua +++ b/[esx_addons]/esx_property/client/main.lua @@ -1,6 +1,6 @@ --[[ ESX Property - Properties Made Right! - Copyright (C) 2022 ESX-Framework + Copyright (C) 2023 ESX-Framework This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/[esx_addons]/esx_property/config.lua b/[esx_addons]/esx_property/config.lua index 814a18c8..68ed348b 100644 --- a/[esx_addons]/esx_property/config.lua +++ b/[esx_addons]/esx_property/config.lua @@ -648,7 +648,7 @@ end -- --[[ ESX Property - Properties Made Right! - Copyright (C) 2022 ESX-Framework + Copyright (C) 2023 ESX-Framework This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/[esx_addons]/esx_property/fxmanifest.lua b/[esx_addons]/esx_property/fxmanifest.lua index e14af88a..0ed90afb 100644 --- a/[esx_addons]/esx_property/fxmanifest.lua +++ b/[esx_addons]/esx_property/fxmanifest.lua @@ -1,6 +1,6 @@ --[[ ESX Property - Properties Made Right! - Copyright (C) 2022 ESX-Framework + Copyright (C) 2023 ESX-Framework This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,5 +42,6 @@ client_scripts { } dependencies { - 'es_extended' + 'es_extended', + 'esx_society' } diff --git a/[esx_addons]/esx_property/locales/fr.lua b/[esx_addons]/esx_property/locales/fr.lua new file mode 100644 index 00000000..d2eee5e4 --- /dev/null +++ b/[esx_addons]/esx_property/locales/fr.lua @@ -0,0 +1,218 @@ +Locales[ fr ] = { + --- CCTV Strings ------ + + ["take_picture"] = "Prendre une photo", + ["rot_left_right"] = "Gauche/Droite", + ["rot_up_down"] = "Haut/Bas", + ["zoom"] = "Zoom avant/ arrière", + ["zoom_level"] = "Niveau de zoom : %s %%", + ["night_vision"] = "Basculer la vision nocturne", + ["clipboard"] = "Lien copié vers ~b~Cipboard", + ["picture_taken"] = "Photo prise !", + ["please_wait"] = "Veuillez patienter avant de prendre une autre ~b~photo", + ["exit"] = "Quitter", + + -- - Cordes de meubles ------ + + ["hauteur"] = "Hauteur", + ["tourner"] = "Rotation", + ["place"] = "Placer les meubles", + ["delete_furni"] = "Supprimer", + ["confirm_buy"] = "Voulez-vous acheter %s ?", + ["prix"] = "Prix : $%s", + ["yes"] = "Oui", + ["no"] = "Non", + ["action"] = "Vous %s ~b~%s~s~ !", + ["buyer_furni"] = "Vous avez ~g~acheté~s~ A ~b~%s~s~ !", + ["edited_furni"] = "Vous avez modifié ~b~%s~s~ !", + ["cant_buy"] = "Vous ~r~ne pouvez pas~s~ acheter ceci !", + ["cant_edit"] = "Vous ~r~ne pouvez pas~s~ modifier ceci !", + ["store_title"] = "Magasin - %s", + ["retour"] = "Retour", + ["edit_title"] = "Modification - %s", + ["move_title"] = "Déplacer", + ["delete_confirm"] = "Suppression de ~b~%s~s~ !", + ["delete_error"] = "Impossible de supprimer ~b~%s~s~ !", + ["Own_furni"] = "Meubles possédés", + ["menu_stores"] = "Magasins de meubles", + ["menu_stores_desc"] = "Acheter des meubles", + ["menu_reset"] = "Réinitialiser", + ["menu_reset_desc"] = "Efface tous les meubles", + ["menu_edit"] = "Modifier", + ["menu_edit_desc"] = "Déplacer et/ou supprimer des meubles", + ["furni_command"] = "meubles", + ["furni_command_desc"] = "(Propriété ESX) Ouvrir le menu des meubles", + ["furni_command_permission"] = "Vous ~r~ne pouvez pas~s~ accéder à ce menu !", + ["furni_reset_success"] = "Réinitialiser les meubles !", + ["furni_cannot_afford"] = "Vous ne pouvez pas vous permettre de faire ça !", + ["furni_reset_error"] = "Vous ~r~ne pouvez pas~s~ réinitialiser cette propriété !", + ["furni_management"] = "Gérer les meubles", + + -- ------- Chaînes de clés --------------- + + ["you_granted"] = "Vous avez reçu les clés de ~b~%s~s~.", + ["exists_has"] = "Ce joueur a déjà des clés !", + ["do_not_own"] = "Vous ne possédez ~r~pas~s~ cette propriété.", + ["key_revoked"] = "Votre clé d accès à ~b~%s~s~. A été ~r~révoqué~s~", + ["no_keys"] = "Ce joueur n a pas de clés !", + ["à proximité"] = "Joueurs à proximité", + ["gave_key"] = "Donner les clés à %s !", + ["key_cannot_give"] = "Vous ne pouvez pas donner une ~r~clé à ce joueur", + ["remove_title"] = "Supprimer les clés du lecteur", + ["key_revoke_success"] = "Révocation des clés de ~b~%s~s~.", + ["key_revoke_error"] = "Vous ne pouvez pas ~b~supprimer~s~ une ~r~clé~s~ de cette personne", + ["key_management"] = "Gestion des clés", + ["key_management_desc"] = "Contrôler l accès à la propriété.", + ["give_keys"] = "Donner des clés", + ["remove_keys"] = "Supprimer les clés", + + + -- ------- Chaînes immobilières --------------- + ["office_blip"] = "%s Bureau", + ["actions"] = "Actions immobilières", + ["property_create"] = "Créer une propriété", + ["property_manage"] = "Gérer les propriétés", + ["realestate_command"] = "realestatequickmenu", + ["realestate_command_desc"] = "(Propriété ESX) Ouvrir les actions rapides de l immobilier", + ["enter_office"] = "~b~Entrée~s~ Bureau.", + ["enter_office_error"] = "Vous ~r~ne pouvez pas~s~ entrer dans le bureau !", + ["exit_office"] = "~b~Sortie~s~ du bureau.", + ["exit_office_error"] = "Vous ~r~ne pouvez pas~s~ quitter le bureau !", + ["realestate_textui"] = "Appuyez sur ~b~[E]~s~ pour accéder à ~b~%s", + + -- ----------Chaînes de commande----------------------- + ["refresh_name"] = "propriété:refresh", + ["refresh_desc"] = "Actualiser à l état de démarrage du serveur", + ["save_name"] = "propriété:save", + ["save_desc"] = "Forcer l enregistrement des propriétés", + ["nom_création"] = "propriété:créer", + ["create_desc"] = "Créer une nouvelle propriété", + ["nom_admin"] = "propriété:admin", + ["admin_desc"] = "Gérer/afficher toutes les propriétés", + + + -- -------- Menu Actions propriété ------------------------- + + ["knocking"] = "Quelqu un ~b~frappe~s~ à la porte.", + ["name_edit"] = "Modifier le nom de la propriété", + ["nom"] = "Nom", + ["confirmer"] = "Confirmer", + ["name_edit_success"] = "Vous avez défini le nom de la propriété sur ~b~%s~s~.", + ["name_edit_error"] = "Vous ne pouvez pas définir le nom de la propriété sur ~r~%s~s~.", + ["door_locked"] = "Porte : verrouillée", + ["door_unlocked"] = "Porte : Déverrouillée", + ["name_manage"] = "Gérer le nom", + ["name_manage_desc"] = "Définir le nom de la propriété.", + ["sell_title"] = "Vendre", + ["sell_desc"] = "Vendre cette propriété pour $%s", + ["raid_title"] = "Raid", + ["raid_desc"] = "Forcer l entrée dans la propriété.", + ["titre_cctv"] = "CCTV", + ["cctv_desc"] = "Vérifiez la caméra CCTV.", + ["Inventory_title"] = "Inventaire", + ["Inventory_desc"] = "Modifier la position du stockage des propriétés.", + ["garde -robe_title"] = "Garde- robe", + ["armoire_desc"] = "Modifier la position de l armoire de propriété.", + ["meuble_titre"] = "Meuble", + ["furniture_desc"] = "Modifier la position des meubles de la propriété.", + ["enter_title"] = "Entrez", + ["knock_title"] = "Frappez à la porte", + ["buy_title"] = "Acheter", + ["buy_desc"] = "Acheter cette propriété pour $%s", + ["sellplayer_title"] = "Vendre au joueur", + ["sellplayer_desc"] = "Vendre cette propriété pour $%s", + ["view_title"] = "Aperçu de l intérieur", + ["exit_title"] = "Quitter", + ["property_editing_error"] = "Vous modifiez actuellement la propriété.", + ["unlock_error"] = "Vous ne pouvez pas ~b~déverrouiller~s~ cette propriété", + ["lock_error"] = "Vous ne pouvez pas ~b~verrouiller~s~ cette propriété", + ["prep_raid"] = "~b~Préparation~s~ Raid !", + ["raiding"] = "Raidage...", + ["cancel_raiding"] = "~r~Annulé~s~ Raid !", + ["cant_raid"] = "Vous ne pouvez pas ~b~Raid~s~ cette propriété.", + ["storage_pos_textui"] = "Appuyez sur ~b~[G]~s~ pour définir la position de stockage", + ["storage_pos_success"] = "~b~Stockage~s~ Position définie.", + ["storage_pos_error"] = "~r~Impossible~s~ de définir la position de ~b~stockage~s~.", + ["armoire_pos_textui"] = "Appuyez sur ~b~[G]~s~ pour définir la position de la garde -robe", + ["armoire_pos_success"] = "~b~Armoire~s~ Définir la position.", + ["armoire_pos_error"] = "~r~Impossible~s~ de définir la position de ~b~armoire~s~.", + ["please_finish"] = "Veuillez finir de définir la position ~b~%s~s~", + ["cant_afford"] = "Vous ne pouvez pas acheter cette propriété !", + ["select_player"] = "Sélectionner un joueur", + ["cant_sell"] = "Impossible de vendre à ce joueur !", + ["knock_on_door"] = "Frapper à la porte...", + ["nobody_home"] = "Il semble que personne n est à la maison...", + + -- -------- Chaînes générales ---------------- + + ["enabled"] = "Activé", + ["disabled"] = "Désactivé", + ["exiting"] = "Sortie de la propriété...", + ["entering"] = "Saisie de la propriété...", + ["shell_disabled"] ="Cet intérieur utilise des coques, qui sont désactivées !", + ["access_textui"] = "Appuyez sur ~b~[E]~s~ pour accéder à ~b~%s", + ["raid_notify_error"] = "Vous avez besoin de ~b~ %sx %s~s~ pour pouvoir effectuer un raid !", + ["raid_notify_success"] = "Votre propriété fait actuellement l objet d un ~b~raid !", + + -------------- Cordes de garage -------------- + + ["store_success"] = "Véhicule ~b~stocké !", + ["store_error"] = "Vous ne pouvez pas stocker ce véhicule !", + ["property_garage"] = "Propriété Garage", + ["retriving_notify"] = "Récupération de ~b~%s~s~ ...", + ["cant_access"] = "Vous ne pouvez pas accéder à ce garage !", + ["store_textui"] = "Appuyez sur ~b~[E]~s~ pour stocker ~b~%s", + ["garage_not_enabled"] = "Garage non activé sur cette propriété.", + ["cannot_access_property"] = "Vous ~r~ne pouvez pas~s~ accéder à cette propriété.", + + + -- --------------- Chaînes de menu de création ---------------- + + ["menu_title"] = "Création de propriété", + ["element_title1"] = "Numéro de rue", + ["element_description1"] = "Définissez le numéro de rue de la propriété.", + ["element_title2"] = "Prix", + ["element_description2"] = "Définir le prix de la propriété.", + ["element_title3"] = "Intérieur", + ["element_description3"] = "Sélectionnez un intérieur pour la propriété", + ["element_title4"] = "Garage", + ["element_description4"] = "(Facultatif) Gérer les paramètres du garage", + ["element_title5"] = "CCTV", + ["element_description5"] = "(Facultatif) Gérer les paramètres CCTV", + ["element_title6"] = "Entrée", + ["element_description6"] = "Définir l emplacement de l entrée de la propriété.", + ["element_create_title"] = "Créer une propriété", + ["element_create_desc_1"] = "Veuillez remplir toutes les entrées requises !", + ["entry_set_title"] = "Ensemble d entrée.", + ["entry_set_description"] = "Entrée : %s, %s, %s", + ["interior_set_title"] = "Intérieur sélectionné.", + ["interior_set_description"] = "Sélectionné : %s", + ["ipl_title"] = "Intérieurs IPL", + ["types_title"] = "Types intérieurs", + ["ipl_description"] = "Intérieurs GTA natifs, fabriqués par R*", + ["shell_title"] = "Intérieurs personnalisés", + ["shell_description"] = "Intérieurs personnalisés, faits par vous", + ["cctv_settings"] = "Paramètres CCTV", + ["garage_settings"] = "Paramètres du garage", + ["toggle_title"] = "Basculer l utilisation", + ["toggle_description"] = "État actuel : %s", + ["cctv_set_title"] = "Définir l angle CCTV", + ["cctv_set_description"] = "Règle l angle de la caméra sur la direction de vos caméras", + ["back_description"] = "retour à la création de la propriété.", + ["garage_set_title"] = "Définir la position du garage", + ["garage_set_description"] = "Définir la position du garage de la propriété.", + ["garage_textui"] = "Appuyez sur ~b~[E]~s~ pour définir la position", + ["cctv_textui_1"] = "Appuyez sur ~b~[E]~s~ pour régler l angle", + ["cctv_textui_2"] = "Appuyez sur ~b~[E]~s~ pour définir la rotation maximale à droite", + ["cctv_textui_3"] = "Appuyez sur ~b~[E]~s~ pour définir la rotation maximale à gauche", + ["create_success"] = "Propriété créée !", + ["missing_data"] = "Veuillez remplir toutes les entrées requises !", + + -- Enregistrement des traductions + ["server_restart"] = "Redémarrage du serveur", + ["server_shutdown"] = "Arrêt du serveur", + ["manual_save"] = "Enregistrement manuel (demandé par %s)", + ["resource_stop"] = "Arrêt de la ressource", + ["force_save"] = "Forcer l enregistrement (demandé par %s)", + ["interval_saving"] = "Enregistrement d intervalle" + } diff --git a/[esx_addons]/esx_property/server/main.lua b/[esx_addons]/esx_property/server/main.lua index fc55b196..af13382d 100644 --- a/[esx_addons]/esx_property/server/main.lua +++ b/[esx_addons]/esx_property/server/main.lua @@ -1,6 +1,6 @@ --[[ ESX Property - Properties Made Right! - Copyright (C) 2022 ESX-Framework + Copyright (C) 2023 ESX-Framework This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -147,7 +147,7 @@ CreateThread(function() Wait(10) ESX.RefreshJobs() - TriggerEvent('esx_society:registerSociety', 'realestateagent', 'realestateagent', 'society_realestateagent', 'society_realestateagent', 'society_realestateagent', {type = 'private'}) + exports["esx_society"]:registerSociety('realestateagent', 'realestateagent', 'society_realestateagent', 'society_realestateagent', 'society_realestateagent', {type = 'private'}) end end) @@ -1125,7 +1125,7 @@ end) CreateThread(function() while true do Wait(60000 * Config.SaveInterval) - PropertySave(TranslateCap("interval_save")) + PropertySave(TranslateCap("interval_saving")) end end) diff --git a/[esx_addons]/esx_rpchat/LICENSE b/[esx_addons]/esx_rpchat/LICENSE index ad893f36..44dad71d 100644 --- a/[esx_addons]/esx_rpchat/LICENSE +++ b/[esx_addons]/esx_rpchat/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_rpchat - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_rpchat Copyright (C) 2015-2022 Jérémie N'gadi + esx_rpchat Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_rpchat/README.md b/[esx_addons]/esx_rpchat/README.md index af0a838d..93c6f10d 100644 --- a/[esx_addons]/esx_rpchat/README.md +++ b/[esx_addons]/esx_rpchat/README.md @@ -8,7 +8,7 @@ This Resource adds a proximity chat along with a few cool commands such as `/me` esx_rpchat - Chat closely with your friends. -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_service/LICENSE b/[esx_addons]/esx_service/LICENSE index eac4b489..85b9ebc1 100644 --- a/[esx_addons]/esx_service/LICENSE +++ b/[esx_addons]/esx_service/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_service - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_service Copyright (C) 2015-2022 Jérémie N'gadi + esx_service Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_service/README.md b/[esx_addons]/esx_service/README.md index ffab4b99..5011ad8e 100644 --- a/[esx_addons]/esx_service/README.md +++ b/[esx_addons]/esx_service/README.md @@ -45,7 +45,7 @@ TriggerServerEvent('esx_service:disableService', 'taxi') ### License esx_service - be in service -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_shops/LICENSE b/[esx_addons]/esx_shops/LICENSE index 94ce5fde..2eb0d447 100644 --- a/[esx_addons]/esx_shops/LICENSE +++ b/[esx_addons]/esx_shops/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_shops - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_shops Copyright (C) 2015-2022 Jérémie N'gadi + esx_shops Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_shops/README.md b/[esx_addons]/esx_shops/README.md index cc3f64c4..e3663f76 100644 --- a/[esx_addons]/esx_shops/README.md +++ b/[esx_addons]/esx_shops/README.md @@ -6,7 +6,7 @@ This Resource allows Players to shop til they Drop! You Configure *everything* w esx_shops - shop til you drop! -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_sit/LICENSE b/[esx_addons]/esx_sit/LICENSE index abd995da..815cf569 100644 --- a/[esx_addons]/esx_sit/LICENSE +++ b/[esx_addons]/esx_sit/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_sit - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_sit Copyright (C) 2015-2022 Jérémie N'gadi + esx_sit Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_sit/README.md b/[esx_addons]/esx_sit/README.md index ab959e15..8c2394ea 100644 --- a/[esx_addons]/esx_sit/README.md +++ b/[esx_addons]/esx_sit/README.md @@ -40,7 +40,7 @@ start esx_sit esx_sit -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_society/LICENSE b/[esx_addons]/esx_society/LICENSE index 7df46759..7e48fa64 100644 --- a/[esx_addons]/esx_society/LICENSE +++ b/[esx_addons]/esx_society/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_society - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_society Copyright (C) 2015-2022 Jérémie N'gadi + esx_society Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_society/README.md b/[esx_addons]/esx_society/README.md index 444a73eb..519810be 100644 --- a/[esx_addons]/esx_society/README.md +++ b/[esx_addons]/esx_society/README.md @@ -1,36 +1,7 @@ -# esx_society +

[ESX] Society

Discord - Website - Documentation Society management for ESX. Adds employee management (hire, fire, promote / demote, change salary), society bank accounts and money washing. It's crucial that this script gets started before all resources that utilize societies do, or else many things will go wrong. -## Requirements -- [cron](https://github.com/esx-framework/esx-legacy/tree/main/%5Besx%5D/cron) -- [esx_addonaccount](https://github.com/esx-framework/esx-legacy/tree/main/%5Besx_addons%5D/esx_addonaccount) - -## Download & Installation - -### Using [fvm](https://github.com/qlaffont/fvm-installer) -``` -fvm install --save --folder=esx esx-org/esx_society -``` - -### Using Git -``` -cd resources -git clone https://github.com/ESX-Org/esx_society [esx]/esx_society -``` - -### Manually -- Download https://github.com/ESX-Org/esx_society/archive/master.zip -- Put it in the `[esx]` directory - -## Installation -- Import `esx_society.sql` in your database -- Add this in your `server.cfg`: - -``` -start esx_society -``` - ## Explanation ESX Society works with addon accounts named 'society_xxx', for example 'society_taxi' or 'society_realestateagent'. If you job grade is 'boss' the society money will be displayed in your hud. @@ -53,7 +24,7 @@ end, {wash = false}) -- set custom options, e.g disable washing ### License esx_society - societies for ESX -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_society/server/main.lua b/[esx_addons]/esx_society/server/main.lua index 82c084ec..0439d219 100644 --- a/[esx_addons]/esx_society/server/main.lua +++ b/[esx_addons]/esx_society/server/main.lua @@ -8,8 +8,9 @@ local SocietiesByName = {} function GetSociety(name) return SocietiesByName[name] end +exports("GetSociety", GetSociety) -AddEventHandler('esx_society:registerSociety', function(name, label, account, datastore, inventory, data) +function registerSociety(name, label, account, datastore, inventory, data) if SocietiesByName[name] then print(('[^3WARNING^7] society already registered, name: ^5%s^7'):format(name)) return @@ -27,6 +28,8 @@ AddEventHandler('esx_society:registerSociety', function(name, label, account, da SocietiesByName[name] = society table.insert(RegisteredSocieties, society) end) +AddEventHandler('esx_society:registerSociety', registerSociety) +exports("registerSociety", registerSociety) AddEventHandler('esx_society:getSocieties', function(cb) cb(RegisteredSocieties) diff --git a/[esx_addons]/esx_status/LICENSE b/[esx_addons]/esx_status/LICENSE index 465e6237..94ab435b 100644 --- a/[esx_addons]/esx_status/LICENSE +++ b/[esx_addons]/esx_status/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_status - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_status Copyright (C) 2015-2022 Jérémie N'gadi + esx_status Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_taxijob/LICENSE b/[esx_addons]/esx_taxijob/LICENSE index 81cfaa77..fc21cd6d 100644 --- a/[esx_addons]/esx_taxijob/LICENSE +++ b/[esx_addons]/esx_taxijob/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_taxijob - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_taxijob Copyright (C) 2015-2022 Jérémie N'gadi + esx_taxijob Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_taxijob/README.md b/[esx_addons]/esx_taxijob/README.md index b565b943..5dd6555f 100644 --- a/[esx_addons]/esx_taxijob/README.md +++ b/[esx_addons]/esx_taxijob/README.md @@ -6,7 +6,7 @@ This Resource allows you to drive a fancy Taxi to pickup players , charge them p esx_taxijob: Taxi Service - Anyone Need a Taxi?! -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_taxijob/fxmanifest.lua b/[esx_addons]/esx_taxijob/fxmanifest.lua index 36fa1f0d..bc2408b8 100644 --- a/[esx_addons]/esx_taxijob/fxmanifest.lua +++ b/[esx_addons]/esx_taxijob/fxmanifest.lua @@ -22,4 +22,7 @@ server_scripts { 'server/main.lua' } -dependency 'es_extended' +dependencies { + 'es_extended', + 'esx_society' +} diff --git a/[esx_addons]/esx_taxijob/server/main.lua b/[esx_addons]/esx_taxijob/server/main.lua index 9bfdc4f9..e84561ad 100644 --- a/[esx_addons]/esx_taxijob/server/main.lua +++ b/[esx_addons]/esx_taxijob/server/main.lua @@ -5,9 +5,11 @@ if Config.MaxInService ~= -1 then end TriggerEvent('esx_phone:registerNumber', 'taxi', TranslateCap('taxi_client'), true, true) -TriggerEvent('esx_society:registerSociety', 'taxi', 'Taxi', 'society_taxi', 'society_taxi', 'society_taxi', { - type = 'public' -}) +CreateThread(function() + exports["esx_society"]:registerSociety('taxi', 'Taxi', 'society_taxi', 'society_taxi', 'society_taxi', { + type = 'public' + }) +end) RegisterNetEvent('esx_taxijob:success') AddEventHandler('esx_taxijob:success', function() diff --git a/[esx_addons]/esx_vehicleshop/LICENSE b/[esx_addons]/esx_vehicleshop/LICENSE index f3e09b14..6e19af18 100644 --- a/[esx_addons]/esx_vehicleshop/LICENSE +++ b/[esx_addons]/esx_vehicleshop/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_vehicleshop - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_vehicleshop Copyright (C) 2015-2022 Jérémie N'gadi + esx_vehicleshop Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_vehicleshop/README.md b/[esx_addons]/esx_vehicleshop/README.md index bfcbad27..6a29ca24 100644 --- a/[esx_addons]/esx_vehicleshop/README.md +++ b/[esx_addons]/esx_vehicleshop/README.md @@ -50,7 +50,7 @@ start esx_vehicleshop esx_vehicleshop - vehicle shop for ESX -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/[esx_addons]/esx_vehicleshop/client/main.lua b/[esx_addons]/esx_vehicleshop/client/main.lua index 357869f6..e6065b83 100644 --- a/[esx_addons]/esx_vehicleshop/client/main.lua +++ b/[esx_addons]/esx_vehicleshop/client/main.lua @@ -1,42 +1,28 @@ local HasAlreadyEnteredMarker, IsInShopMenu = false, false local CurrentAction, CurrentActionMsg, LastZone, currentDisplayVehicle, CurrentVehicleData local CurrentActionData, Vehicles, Categories = {}, {}, {} +local VehiclesByModel = {} +local vehiclesByCategory = {} function getVehicleFromModel(model) - for i = 1, #Vehicles do - local vehicle = Vehicles[i] - if vehicle.model == model then - return vehicle - end - end + return VehiclesByModel[model] end -function getVehicles() - ESX.TriggerServerCallback('esx_vehicleshop:getCategories', function(categories) - Categories = categories - end) - - ESX.TriggerServerCallback('esx_vehicleshop:getVehicles', function(vehicles) - Vehicles = vehicles - end) -end - -AddEventHandler("onResourceStart", getVehicles) - function PlayerManagement() - if Config.EnablePlayerManagement then - if ESX.PlayerData.job.name == 'cardealer' then - Config.Zones.ShopEntering.Type = 1 + if not Config.EnablePlayerManagement then + return + end - if ESX.PlayerData.job.grade_name == 'boss' then - Config.Zones.BossActions.Type = 1 - end + if ESX.PlayerData.job.name ~= 'cardealer' then + Config.Zones.ShopEntering.Type = -1 + Config.Zones.BossActions.Type = -1 + Config.Zones.ResellVehicle.Type = -1 + return + end + Config.Zones.ShopEntering.Type = 1 - else - Config.Zones.ShopEntering.Type = -1 - Config.Zones.BossActions.Type = -1 - Config.Zones.ResellVehicle.Type = -1 - end + if ESX.PlayerData.job.grade_name == 'boss' then + Config.Zones.BossActions.Type = 1 end end @@ -45,21 +31,35 @@ AddEventHandler('esx:playerLoaded', function(xPlayer) ESX.PlayerData = xPlayer PlayerManagement() - getVehicles() + TriggerServerEvent("esx_vehicleshop:getVehiclesAndCategories") end) -RegisterNetEvent('esx_vehicleshop:sendCategories') -AddEventHandler('esx_vehicleshop:sendCategories', function(categories) - Categories = categories -end) - -RegisterNetEvent('esx_vehicleshop:sendVehicles') -AddEventHandler('esx_vehicleshop:sendVehicles', function(vehicles) +RegisterNetEvent('esx_vehicleshop:updateVehiclesAndCategories', function(vehicles, categories, vehiclesByModel) Vehicles = vehicles + Categories = categories + + VehiclesByModel = vehiclesByModel + + table.sort(Vehicles, function(a, b) + return a.name < b.name + end) + + for _, vehicle in ipairs(Vehicles) do + if IsModelInCdimage(joaat(vehicle.model)) then + local category = vehicle.category + + if not vehiclesByCategory[category] then + vehiclesByCategory[category] = {} + end + + table.insert(vehiclesByCategory[category], vehicle) + else + print(('[^3WARNING^7] Ignoring vehicle ^5%s^7 due to invalid Model'):format(vehicle.model)) + end + end end) - -RegisterNetEvent('esx:setJob') AddEventHandler('esx:setJob', PlayerManagement) +RegisterNetEvent('esx:setJob', PlayerManagement) function DeleteDisplayVehicleInsideShop() local attempt = 0 @@ -81,7 +81,7 @@ function ReturnVehicleProvider() ESX.TriggerServerCallback('esx_vehicleshop:getCommercialVehicles', function(vehicles) local elements = {} - for k,v in ipairs(vehicles) do + for k, v in ipairs(vehicles) do local returnPrice = ESX.Math.Round(v.price * 0.75) local vehicleLabel = getVehicleFromModel(v.vehicle).label @@ -135,28 +135,9 @@ function OpenShopMenu() SetEntityVisible(playerPed, false) SetEntityCoords(playerPed, Config.Zones.ShopInside.Pos) - local vehiclesByCategory = {} local elements = {} local firstVehicleData = nil - for i=1, #Categories, 1 do - vehiclesByCategory[Categories[i].name] = {} - end - - for i=1, #Vehicles, 1 do - if IsModelInCdimage(joaat(Vehicles[i].model)) then - table.insert(vehiclesByCategory[Vehicles[i].category], Vehicles[i]) - else - print(('[^3WARNING^7] Ignoring vehicle ^5%s^7 due to invalid Model'):format(Vehicles[i].model)) - end - end - - for k,v in pairs(vehiclesByCategory) do - table.sort(v, function(a, b) - return a.name < b.name - end) - end - for i=1, #Categories, 1 do local category = Categories[i] local categoryVehicles = vehiclesByCategory[category.name] @@ -439,7 +420,7 @@ function OpenPopVehicleMenu() local vehicleLabel = getVehicleFromModel(v.vehicle).label table.insert(elements, { - label = ('%s [MSRP %s]'):format(vehicleLabel, TranslateCap('generic_shopitem', ESX.Math.GroupDigits(v.price))), + label = ('%s [%s]'):format(vehicleLabel, TranslateCap('generic_shopitem', ESX.Math.GroupDigits(v.price))), value = v.vehicle }) end @@ -630,21 +611,18 @@ function OpenPutStocksMenu() end) end -AddEventHandler('esx_vehicleshop:hasEnteredMarker', function(zone) +function hasEnteredMarker(zone) if zone == 'ShopEntering' then - - if Config.EnablePlayerManagement then - if ESX.PlayerData.job ~= nil and ESX.PlayerData.job.name == 'cardealer' then - CurrentAction = 'reseller_menu' - CurrentActionMsg = TranslateCap('shop_menu') - CurrentActionData = {} - end - else + if not Config.EnablePlayerManagement then CurrentAction = 'shop_menu' CurrentActionMsg = TranslateCap('shop_menu') CurrentActionData = {} end - + if ESX.PlayerData.job ~= nil and ESX.PlayerData.job.name == 'cardealer' then + CurrentAction = 'reseller_menu' + CurrentActionMsg = TranslateCap('shop_menu') + CurrentActionData = {} + end elseif zone == 'GiveBackVehicle' and Config.EnablePlayerManagement then local playerPed = PlayerPedId() @@ -696,15 +674,15 @@ AddEventHandler('esx_vehicleshop:hasEnteredMarker', function(zone) CurrentActionMsg = TranslateCap('shop_menu') CurrentActionData = {} end -end) +end -AddEventHandler('esx_vehicleshop:hasExitedMarker', function(zone) +function hasExitedMarker(zone) if not IsInShopMenu then ESX.UI.Menu.CloseAll() end ESX.HideUI() CurrentAction = nil -end) +end AddEventHandler('onResourceStop', function(resource) if resource == GetCurrentResourceName() then @@ -736,8 +714,8 @@ if Config.EnablePlayerManagement then end -- Create Blips -CreateThread(function() - if Config.Blip.show then +if Config.Blip.show then + CreateThread(function() local blip = AddBlipForCoord(Config.Zones.ShopEntering.Pos) SetBlipSprite (blip, Config.Blip.Sprite) @@ -748,8 +726,8 @@ CreateThread(function() BeginTextCommandSetBlipName('STRING') AddTextComponentSubstringPlayerName(TranslateCap('car_dealer')) EndTextCommandSetBlipName(blip) - end -end) + end) +end -- Enter / Exit marker events & Draw Markers CreateThread(function() @@ -777,12 +755,12 @@ CreateThread(function() if (isInMarker and not HasAlreadyEnteredMarker) or (isInMarker and LastZone ~= currentZone) then HasAlreadyEnteredMarker, LastZone = true, currentZone LastZone = currentZone - TriggerEvent('esx_vehicleshop:hasEnteredMarker', currentZone) + hasEnteredMarker(currentZone) end if not isInMarker and HasAlreadyEnteredMarker then HasAlreadyEnteredMarker = false - TriggerEvent('esx_vehicleshop:hasExitedMarker', LastZone) + hasExitedMarker(LastZone) end if letSleep then diff --git a/[esx_addons]/esx_vehicleshop/client/utils.lua b/[esx_addons]/esx_vehicleshop/client/utils.lua index ef2a9f51..6d05de30 100644 --- a/[esx_addons]/esx_vehicleshop/client/utils.lua +++ b/[esx_addons]/esx_vehicleshop/client/utils.lua @@ -7,27 +7,13 @@ for i = 65, 90 do table.insert(Charset, string.char(i)) end for i = 97, 122 do table.insert(Charset, string.char(i)) end function GeneratePlate() - local generatedPlate - local doBreak = false + math.randomseed(GetGameTimer()) - while true do - Wait(0) - math.randomseed(GetGameTimer()) - if Config.PlateUseSpace then - generatedPlate = string.upper(GetRandomLetter(Config.PlateLetters) .. ' ' .. GetRandomNumber(Config.PlateNumbers)) - else - generatedPlate = string.upper(GetRandomLetter(Config.PlateLetters) .. GetRandomNumber(Config.PlateNumbers)) - end + local generatedPlate = string.upper(GetRandomLetter(Config.PlateLetters) .. (Config.PlateUseSpace and ' ' or '') .. GetRandomNumber(Config.PlateNumbers)) - ESX.TriggerServerCallback('esx_vehicleshop:isPlateTaken', function(isPlateTaken) - if not isPlateTaken then - doBreak = true - end - end, generatedPlate) - - if doBreak then - break - end + local isTaken = IsPlateTaken(generatedPlate) + if isTaken then + return GeneratePlate() end return generatedPlate @@ -35,33 +21,21 @@ end -- mixing async with sync tasks function IsPlateTaken(plate) - local callback = 'waiting' - + local p = promise.new() + ESX.TriggerServerCallback('esx_vehicleshop:isPlateTaken', function(isPlateTaken) - callback = isPlateTaken + p:resolve(isPlateTaken) end, plate) - while type(callback) == 'string' do - Wait(0) - end - - return callback + return Citizen.Await(p) end function GetRandomNumber(length) Wait(0) - if length > 0 then - return GetRandomNumber(length - 1) .. NumberCharset[math.random(1, #NumberCharset)] - else - return '' - end + return length > 0 and GetRandomNumber(length - 1) .. NumberCharset[math.random(1, #NumberCharset)] or '' end function GetRandomLetter(length) Wait(0) - if length > 0 then - return GetRandomLetter(length - 1) .. Charset[math.random(1, #Charset)] - else - return '' - end + return length > 0 and GetRandomLetter(length - 1) .. Charset[math.random(1, #Charset)] or '' end diff --git a/[esx_addons]/esx_vehicleshop/fxmanifest.lua b/[esx_addons]/esx_vehicleshop/fxmanifest.lua index dce7743a..f9f16497 100644 --- a/[esx_addons]/esx_vehicleshop/fxmanifest.lua +++ b/[esx_addons]/esx_vehicleshop/fxmanifest.lua @@ -26,6 +26,10 @@ client_scripts { 'client/main.lua' } -dependency 'es_extended' +dependencies { + 'es_extended', + 'esx_society' +} + export 'GeneratePlate' diff --git a/[esx_addons]/esx_vehicleshop/locales/hu.lua b/[esx_addons]/esx_vehicleshop/locales/hu.lua index b25bfd37..bd681b3a 100644 --- a/[esx_addons]/esx_vehicleshop/locales/hu.lua +++ b/[esx_addons]/esx_vehicleshop/locales/hu.lua @@ -2,13 +2,13 @@ Locales['hu'] = { -- global menus ['not_enough_in_society'] = 'nincs elég ~r~tárgyad a vállalkozásban!', ['player_cannot_hold'] = '~r~nincs elég helyed a leltárban!', - ['vehicle_belongs'] = 'egy jármü engedélyel %s most már hozzád tartozik', + ['vehicle_belongs'] = '%s rendszámú jármű már a tulajdonodban van.', ['broke_company'] = 'nincs elég pénz a vállalati számlán', ['license_missing'] = 'nincs jogosítványod tedd le!', ['purchase_type'] = 'a vásárlás típusa', ['society_type'] = 'vállalkozás', ['staff_type'] = 'személyes használat', - ['buy_vehicle_shop'] = 'meg szeretnéd vásárolni %s ennyiért: %s NP-ért?', + ['buy_vehicle_shop'] = 'meg szeretnéd vásárolni %s ennyiért: %s $-ért?', ['buy_vehicle'] = 'vásárlás', ['car_dealer'] = 'Autókereskedés', ['shop_awaiting_model'] = 'az autó töltése folyamantban kérlek várj', @@ -26,23 +26,23 @@ Locales['hu'] = { ['not_enough_money'] = 'nincs elég pénzed', ['not_rental'] = 'ez nem ~r~bérelhetö autó', ['not_yours'] = 'ez az autó nem tartozik hozzád', - ['paid_rental'] = 'fizettél a kölcsönzönek: %s NP', + ['paid_rental'] = 'fizettél a kölcsönzönek: %s $', ['pop_vehicle'] = 'tedd a jármüvet eladásra', ['rent_vehicle'] = 'Autókereskedö - Jármüvek bérlése', ['return_provider_menu'] = 'Autókereskedö - Jámrü vissza adás a szollgáltatónak', ['rental_amount'] = 'bérlési költség', - ['sell_menu'] = 'nyomj [E] gombot hogy eladd a %s ennyiért %s NP', + ['sell_menu'] = 'nyomj [E] gombot hogy eladd a %s ennyiért %s $', ['set_vehicle_owner_rent'] = 'jármü kijelölése [Location]', ['set_vehicle_owner_sell'] = 'jármü eladása', ['set_vehicle_owner_sell_society'] = 'jármü kijelölése [Sale] [Society]', ['shop_menu'] = 'nyomj [E] gombot a vásárláshoz', - ['generic_shopitem'] = '%s NP', + ['generic_shopitem'] = '%s $', ['vehicle_dealer'] = 'jármü - Autókereskedö', ['vehicle_menu'] = 'nyomj [E] gombot hogy vissza add a bérelt jármüvet', ['vehicle_purchased'] = 'vásároltál egy jármüvet', ['vehicle_set_owned'] = 'jármü %s megvéve ennyiért: %s', ['vehicle_set_rented'] = 'jármü %s kibérelve ennyiért: %s', - ['vehicle_sold_for'] = 'A %s jármü eladva ennyiért %s NP', + ['vehicle_sold_for'] = 'A %s jármü eladva ennyiért %s $', ['vehicle_sold_to'] = 'a jármü rendszámmal %s eladva neki: %s', ['deposit_stock'] = 'beteszek a készletbe', ['take_stock'] = 'kiveszek a készletböl', diff --git a/[esx_addons]/esx_vehicleshop/server/main.lua b/[esx_addons]/esx_vehicleshop/server/main.lua index d07bbffc..e93703fe 100644 --- a/[esx_addons]/esx_vehicleshop/server/main.lua +++ b/[esx_addons]/esx_vehicleshop/server/main.lua @@ -1,7 +1,10 @@ local categories, vehicles = {}, {} +local vehiclesByModel = {} TriggerEvent('esx_phone:registerNumber', 'cardealer', TranslateCap('dealer_customers'), false, false) -TriggerEvent('esx_society:registerSociety', 'cardealer', TranslateCap('car_dealer'), 'society_cardealer', 'society_cardealer', 'society_cardealer', {type = 'private'}) +CreateThread(function() + exports["esx_society"]:registerSociety('cardealer', TranslateCap('car_dealer'), 'society_cardealer', 'society_cardealer', 'society_cardealer', {type = 'private'}) +end) CreateThread(function() local char = Config.PlateLetters @@ -25,62 +28,50 @@ end) function SQLVehiclesAndCategories() categories = MySQL.query.await('SELECT * FROM vehicle_categories') - vehicles = MySQL.query.await('SELECT * FROM vehicles') + vehicles = MySQL.query.await('SELECT vehicles.*, vehicle_categories.label AS categoryLabel FROM vehicles JOIN vehicle_categories ON vehicles.category = vehicle_categories.name') - GetVehiclesAndCategories(categories, vehicles) -end - -function GetVehiclesAndCategories(categories, vehicles) - for i = 1, #vehicles do - local vehicle = vehicles[i] - for j = 1, #categories do - local category = categories[j] - if category.name == vehicle.category then - vehicle.categoryLabel = category.label - break - end - end + for _, vehicle in pairs(vehicles) do + vehiclesByModel[vehicle.model] = vehicle end - -- send information after db has loaded, making sure everyone gets vehicle information - TriggerClientEvent('esx_vehicleshop:sendCategories', -1, categories) - TriggerClientEvent('esx_vehicleshop:sendVehicles', -1, vehicles) + TriggerClientEvent("esx_vehicleshop:updateVehiclesAndCategories", -1, vehicles, categories, vehiclesByModel) end function getVehicleFromModel(model) - for i = 1, #vehicles do - local vehicle = vehicles[i] - if vehicle.model == model then - return vehicle - end - end - - return + return vehiclesByModel[model] end +RegisterNetEvent("esx_vehicleshop:getVehiclesAndCategories", function() + TriggerClientEvent("esx_vehicleshop:updateVehiclesAndCategories", source, vehicles, categories, vehiclesByModel) +end) + RegisterNetEvent('esx_vehicleshop:setVehicleOwnedPlayerId') AddEventHandler('esx_vehicleshop:setVehicleOwnedPlayerId', function(playerId, vehicleProps, model, label) local xPlayer, xTarget = ESX.GetPlayerFromId(source), ESX.GetPlayerFromId(playerId) - if xPlayer.job.name == 'cardealer' and xTarget then - MySQL.scalar('SELECT id FROM cardealer_vehicles WHERE vehicle = ?', {model}, - function(id) - if id then - MySQL.update('DELETE FROM cardealer_vehicles WHERE id = ?', {id}, - function(rowsChanged) - if rowsChanged == 1 then - MySQL.insert('INSERT INTO owned_vehicles (owner, plate, vehicle) VALUES (?, ?, ?)', {xTarget.identifier, vehicleProps.plate, json.encode(vehicleProps)}, - function(id) - xPlayer.showNotification(TranslateCap('vehicle_set_owned', vehicleProps.plate, xTarget.getName())) - xTarget.showNotification(TranslateCap('vehicle_belongs', vehicleProps.plate)) - end) + if xPlayer.job.name ~= 'cardealer' or not xTarget then + return + end - MySQL.insert('INSERT INTO vehicle_sold (client, model, plate, soldby, date) VALUES (?, ?, ?, ?, ?)', {xTarget.getName(), label, vehicleProps.plate, xPlayer.getName(), os.date('%Y-%m-%d %H:%M')}) - end + MySQL.scalar('SELECT id FROM cardealer_vehicles WHERE vehicle = ?', {model}, + function(id) + if not id then + return + end + + MySQL.update('DELETE FROM cardealer_vehicles WHERE id = ?', {id}, + function(rowsChanged) + if rowsChanged == 1 then + MySQL.insert('INSERT INTO owned_vehicles (owner, plate, vehicle) VALUES (?, ?, ?)', {xTarget.identifier, vehicleProps.plate, json.encode(vehicleProps)}, + function(id) + xPlayer.showNotification(TranslateCap('vehicle_set_owned', vehicleProps.plate, xTarget.getName())) + xTarget.showNotification(TranslateCap('vehicle_belongs', vehicleProps.plate)) end) + + MySQL.insert('INSERT INTO vehicle_sold (client, model, plate, soldby, date) VALUES (?, ?, ?, ?, ?)', {xTarget.getName(), label, vehicleProps.plate, xPlayer.getName(), os.date('%Y-%m-%d %H:%M')}) end end) - end + end) end) ESX.RegisterServerCallback('esx_vehicleshop:getSoldVehicles', function(source, cb) @@ -93,22 +84,28 @@ RegisterNetEvent('esx_vehicleshop:rentVehicle') AddEventHandler('esx_vehicleshop:rentVehicle', function(vehicle, plate, rentPrice, playerId) local xPlayer, xTarget = ESX.GetPlayerFromId(source), ESX.GetPlayerFromId(playerId) - if xPlayer.job.name == 'cardealer' and xTarget then - MySQL.single('SELECT id, price FROM cardealer_vehicles WHERE vehicle = ?', {vehicle}, - function(result) - if result then - MySQL.update('DELETE FROM cardealer_vehicles WHERE id = ?', {result.id}, - function(rowsChanged) - if rowsChanged == 1 then - MySQL.insert('INSERT INTO rented_vehicles (vehicle, plate, player_name, base_price, rent_price, owner) VALUES (?, ?, ?, ?, ?, ?)', {vehicle, plate, xTarget.getName(), result.price, rentPrice, xTarget.identifier}, - function(id) - xPlayer.showNotification(TranslateCap('vehicle_set_rented', plate, xTarget.getName())) - end) - end - end) - end - end) + if xPlayer.job.name ~= 'cardealer' or not xTarget then + return end + + MySQL.single('SELECT id, price FROM cardealer_vehicles WHERE vehicle = ?', {vehicle}, + function(result) + if not result then + return + end + + MySQL.update('DELETE FROM cardealer_vehicles WHERE id = ?', {result.id}, + function(rowsChanged) + if rowsChanged ~= 1 then + return + end + + MySQL.insert('INSERT INTO rented_vehicles (vehicle, plate, player_name, base_price, rent_price, owner) VALUES (?, ?, ?, ?, ?, ?)', {vehicle, plate, xTarget.getName(), result.price, rentPrice, xTarget.identifier}, + function(id) + xPlayer.showNotification(TranslateCap('vehicle_set_rented', plate, xTarget.getName())) + end) + end) + end) end) RegisterNetEvent('esx_vehicleshop:getStockItem') @@ -123,13 +120,12 @@ AddEventHandler('esx_vehicleshop:getStockItem', function(itemName, count) if count > 0 and item.count >= count then -- can the player carry the said amount of x item? - if xPlayer.canCarryItem(itemName, count) then - inventory.removeItem(itemName, count) - xPlayer.addInventoryItem(itemName, count) - xPlayer.showNotification(TranslateCap('have_withdrawn', count, item.label)) - else - xPlayer.showNotification(TranslateCap('player_cannot_hold')) + if not xPlayer.canCarryItem(itemName, count) then + return xPlayer.showNotification(TranslateCap('player_cannot_hold')) end + inventory.removeItem(itemName, count) + xPlayer.addInventoryItem(itemName, count) + xPlayer.showNotification(TranslateCap('have_withdrawn', count, item.label)) else xPlayer.showNotification(TranslateCap('not_enough_in_society')) end @@ -154,14 +150,6 @@ AddEventHandler('esx_vehicleshop:putStockItems', function(itemName, count) end) end) -ESX.RegisterServerCallback('esx_vehicleshop:getCategories', function(source, cb) - cb(categories) -end) - -ESX.RegisterServerCallback('esx_vehicleshop:getVehicles', function(source, cb) - cb(vehicles) -end) - ESX.RegisterServerCallback('esx_vehicleshop:buyVehicle', function(source, cb, model, plate) local xPlayer = ESX.GetPlayerFromId(source) local modelPrice = getVehicleFromModel(model).price @@ -194,53 +182,57 @@ end) ESX.RegisterServerCallback('esx_vehicleshop:buyCarDealerVehicle', function(source, cb, model) local xPlayer = ESX.GetPlayerFromId(source) - if xPlayer.job.name == 'cardealer' then - local modelPrice = getVehicleFromModel(model).price - - if modelPrice then - TriggerEvent('esx_addonaccount:getSharedAccount', 'society_cardealer', function(account) - if account.money >= modelPrice then - account.removeMoney(modelPrice) - - MySQL.insert('INSERT INTO cardealer_vehicles (vehicle, price) VALUES (?, ?)', {model, modelPrice}, - function(rowsChanged) - cb(true) - end) - else - cb(false) - end - end) - end + if xPlayer.job.name ~= 'cardealer' then + return cb(false) end + local modelPrice = getVehicleFromModel(model).price + + if not modelPrice then + return cb(false) + end + TriggerEvent('esx_addonaccount:getSharedAccount', 'society_cardealer', function(account) + if account.money < modelPrice then + return cb(false) + end + + account.removeMoney(modelPrice) + + MySQL.insert('INSERT INTO cardealer_vehicles (vehicle, price) VALUES (?, ?)', {model, modelPrice}, + function(rowsChanged) + cb(true) + end) + end) end) RegisterNetEvent('esx_vehicleshop:returnProvider') AddEventHandler('esx_vehicleshop:returnProvider', function(vehicleModel) local xPlayer = ESX.GetPlayerFromId(source) - if xPlayer.job.name == 'cardealer' then - MySQL.single('SELECT id, price FROM cardealer_vehicles WHERE vehicle = ?', {vehicleModel}, - function(result) - if result then - local id = result.id - - MySQL.update('DELETE FROM cardealer_vehicles WHERE id = ?', {id}, - function(rowsChanged) - if rowsChanged == 1 then - TriggerEvent('esx_addonaccount:getSharedAccount', 'society_cardealer', function(account) - local price = ESX.Math.Round(result.price * 0.75) - local vehicleLabel = getVehicleFromModel(vehicleModel).label - - account.addMoney(price) - xPlayer.showNotification(TranslateCap('vehicle_sold_for', vehicleLabel, ESX.Math.GroupDigits(price))) - end) - end - end) - else - print(('[^3WARNING^7] Player ^5%s^7 Attempted To Sell Invalid Vehicle - ^5%s^7!'):format(source, vehicleModel)) - end - end) + if xPlayer.job.name ~= 'cardealer' then + return end + MySQL.single('SELECT id, price FROM cardealer_vehicles WHERE vehicle = ?', {vehicleModel}, + function(result) + if not result then + return print(('[^3WARNING^7] Player ^5%s^7 Attempted To Sell Invalid Vehicle - ^5%s^7!'):format(source, vehicleModel)) + end + + local id = result.id + + MySQL.update('DELETE FROM cardealer_vehicles WHERE id = ?', {id}, + function(rowsChanged) + if rowsChanged ~= 1 then + return + end + TriggerEvent('esx_addonaccount:getSharedAccount', 'society_cardealer', function(account) + local price = ESX.Math.Round(result.price * 0.75) + local vehicleLabel = getVehicleFromModel(vehicleModel).label + + account.addMoney(price) + xPlayer.showNotification(TranslateCap('vehicle_sold_for', vehicleLabel, ESX.Math.GroupDigits(price))) + end) + end) + end) end) ESX.RegisterServerCallback('esx_vehicleshop:getRentedVehicles', function(source, cb) @@ -263,20 +255,17 @@ end) ESX.RegisterServerCallback('esx_vehicleshop:giveBackVehicle', function(source, cb, plate) MySQL.single('SELECT base_price, vehicle FROM rented_vehicles WHERE plate = ?', {plate}, function(result) - if result then - local vehicle = result.vehicle - local basePrice = result.base_price - - MySQL.update('DELETE FROM rented_vehicles WHERE plate = ?', {plate}, - function(rowsChanged) - MySQL.insert('INSERT INTO cardealer_vehicles (vehicle, price) VALUES (?, ?)', {result.vehicle, result.base_price}) - - RemoveOwnedVehicle(plate) - cb(true) - end) - else - cb(false) + if not result then + return cb(false) end + + MySQL.update('DELETE FROM rented_vehicles WHERE plate = ?', {plate}, + function() + MySQL.insert('INSERT INTO cardealer_vehicles (vehicle, price) VALUES (?, ?)', {result.vehicle, result.base_price}) + + RemoveOwnedVehicle(plate) + cb(true) + end) end) end) @@ -294,36 +283,34 @@ ESX.RegisterServerCallback('esx_vehicleshop:resellVehicle', function(source, cb, if not resellPrice then print(('[^3WARNING^7] Player ^5%s^7 Attempted To Resell Invalid Vehicle - ^5%s^7!'):format(source, model)) - cb(false) - else - MySQL.single('SELECT * FROM rented_vehicles WHERE plate = ?', {plate}, - function(result) - if result then -- is it a rented vehicle? - cb(false) -- it is, don't let the player sell it since he doesn't own it - else - MySQL.single('SELECT * FROM owned_vehicles WHERE owner = ? AND plate = ?', {xPlayer.identifier, plate}, - function(result) - if result then -- does the owner match? - local vehicle = json.decode(result.vehicle) - - if vehicle.model == model then - if vehicle.plate == plate then - xPlayer.addMoney(resellPrice, "Sold Vehicle") - RemoveOwnedVehicle(plate) - cb(true) - else - print(('[^3WARNING^7] Player ^5%s^7 Attempted To Resell Vehicle With Invalid Plate - ^5%s^7!'):format(source, plate)) - cb(false) - end - else - print(('[^3WARNING^7] Player ^5%s^7 Attempted To Resell Vehicle With Invalid Model - ^5%s^7!'):format(source, model)) - cb(false) - end - end - end) - end - end) + return cb(false) end + MySQL.single('SELECT * FROM rented_vehicles WHERE plate = ?', {plate}, + function(result) + if result then -- is it a rented vehicle? + return cb(false) -- it is, don't let the player sell it since he doesn't own it + end + MySQL.single('SELECT * FROM owned_vehicles WHERE owner = ? AND plate = ?', {xPlayer.identifier, plate}, + function(result) + if not result then -- does the owner match? + return + end + local vehicle = json.decode(result.vehicle) + + if vehicle.model ~= model then + print(('[^3WARNING^7] Player ^5%s^7 Attempted To Resell Vehicle With Invalid Model - ^5%s^7!'):format(source, model)) + return cb(false) + end + if vehicle.plate ~= plate then + print(('[^3WARNING^7] Player ^5%s^7 Attempted To Resell Vehicle With Invalid Plate - ^5%s^7!'):format(source, plate)) + return cb(false) + end + + xPlayer.addMoney(resellPrice, "Sold Vehicle") + RemoveOwnedVehicle(plate) + cb(true) + end) + end) end end) diff --git a/[esx_addons]/esx_weaponshop/LICENSE b/[esx_addons]/esx_weaponshop/LICENSE index c774b8ff..1c4d0127 100644 --- a/[esx_addons]/esx_weaponshop/LICENSE +++ b/[esx_addons]/esx_weaponshop/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_weaponshop - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_weaponshop Copyright (C) 2015-2022 Jérémie N'gadi + esx_weaponshop Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/[esx_addons]/esx_weaponshop/README.md b/[esx_addons]/esx_weaponshop/README.md index fd7b5af5..c19b7e43 100644 --- a/[esx_addons]/esx_weaponshop/README.md +++ b/[esx_addons]/esx_weaponshop/README.md @@ -6,7 +6,7 @@ Would it be Los-Santos Without some weapons? No! This resource lets Players spen esx_weaponshop - America Simulator! -Copyright (C) 2015-2022 Jérémie N'gadi +Copyright (C) 2015-2023 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/esx_example/LICENSE b/esx_example/LICENSE index 204368d4..9f54b358 100644 --- a/esx_example/LICENSE +++ b/esx_example/LICENSE @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. esx_example - Copyright (C) 2015-2022 Jérémie N'gadi + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - esx_example Copyright (C) 2015-2022 Jérémie N'gadi + esx_example Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/esx_example/client/main.lua b/esx_example/client/main.lua index fe995759..696a6fa8 100644 --- a/esx_example/client/main.lua +++ b/esx_example/client/main.lua @@ -1,6 +1,6 @@ RegisterNetEvent('esx:playerLoaded') -- Store the players data AddEventHandler('esx:playerLoaded', function(xPlayer, isNew) - print("Player Loaded. New | " .. isNew) + print(('Player Loaded. New | %s'):format(isNew)) ESX.PlayerData = xPlayer ESX.PlayerLoaded = true end) @@ -23,7 +23,7 @@ end) function OnPlayerData(key, val, last) if type(val) == 'table' then val = json.encode(val) end - print('PlayerData.'..key..' was set to '..val) + print(('PlayerData.%s was set to %s'):format(key, val)) if key == 'job' then if last.name ~= val.name then print('You are now in a different job') diff --git a/readme.md b/readme.md index 190c33e8..ec43d2de 100644 --- a/readme.md +++ b/readme.md @@ -22,7 +22,7 @@ Interested in helping us? [Take a look at our patreon](https://www.patreon.com/e ESX-legacy - ESX framework for FiveM -Copyright (C) 2015-2022 ESX-Framework +Copyright (C) 2015-2023 ESX-Framework This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version.