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 f0697065..39e24040 100644
--- a/[SQL]/legacy.sql
+++ b/[SQL]/legacy.sql
@@ -907,25 +907,7 @@ ALTER TABLE `users`
--
ALTER TABLE `user_licenses`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
-
---
--- ESX Phone
---
-CREATE TABLE `user_contacts` (
- `id` INT(11) NOT NULL AUTO_INCREMENT,
- `identifier` VARCHAR(60) NOT NULL,
- `name` VARCHAR(100) NOT NULL,
- `number` INT(11) NOT NULL,
-
- PRIMARY KEY (`id`),
- INDEX `index_user_contacts_identifier_name_number` (`identifier`, `name`, `number`)
-) ENGINE=InnoDB;
-
-
-ALTER TABLE `users`
- ADD COLUMN `phone_number` INT(11) NULL,
- ADD UNIQUE INDEX `index_users_phone_number` (`phone_number`);
-
+
--
-- Fine Types
--
@@ -1028,5 +1010,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]/cron/LICENSE b/[core]/cron/LICENSE
similarity index 99%
rename from [esx]/cron/LICENSE
rename to [core]/cron/LICENSE
index 0f8d5811..e3b0b61c 100644
--- a/[esx]/cron/LICENSE
+++ b/[core]/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/[core]/cron/README.md
similarity index 97%
rename from [esx]/cron/README.md
rename to [core]/cron/README.md
index 6dfe285b..e5291b69 100644
--- a/[esx]/cron/README.md
+++ b/[core]/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]/cron/fxmanifest.lua b/[core]/cron/fxmanifest.lua
similarity index 100%
rename from [esx]/cron/fxmanifest.lua
rename to [core]/cron/fxmanifest.lua
diff --git a/[esx]/cron/server/main.lua b/[core]/cron/server/main.lua
similarity index 100%
rename from [esx]/cron/server/main.lua
rename to [core]/cron/server/main.lua
diff --git a/[esx]/es_extended/.editorconfig b/[core]/es_extended/.editorconfig
similarity index 100%
rename from [esx]/es_extended/.editorconfig
rename to [core]/es_extended/.editorconfig
diff --git a/[esx]/es_extended/LICENSE b/[core]/es_extended/LICENSE
similarity index 99%
rename from [esx]/es_extended/LICENSE
rename to [core]/es_extended/LICENSE
index 53bf50d0..a10f2d96 100644
--- a/[esx]/es_extended/LICENSE
+++ b/[core]/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/[core]/es_extended/client/common.lua b/[core]/es_extended/client/common.lua
new file mode 100644
index 00000000..c088fb90
--- /dev/null
+++ b/[core]/es_extended/client/common.lua
@@ -0,0 +1,12 @@
+exports('getSharedObject', function()
+ return ESX
+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/[core]/es_extended/client/functions.lua
similarity index 99%
rename from [esx]/es_extended/client/functions.lua
rename to [core]/es_extended/client/functions.lua
index 83489795..5403abcd 100644
--- a/[esx]/es_extended/client/functions.lua
+++ b/[core]/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/client/main.lua b/[core]/es_extended/client/main.lua
similarity index 100%
rename from [esx]/es_extended/client/main.lua
rename to [core]/es_extended/client/main.lua
diff --git a/[esx]/es_extended/client/modules/death.lua b/[core]/es_extended/client/modules/death.lua
similarity index 100%
rename from [esx]/es_extended/client/modules/death.lua
rename to [core]/es_extended/client/modules/death.lua
diff --git a/[esx]/es_extended/client/modules/scaleform.lua b/[core]/es_extended/client/modules/scaleform.lua
similarity index 100%
rename from [esx]/es_extended/client/modules/scaleform.lua
rename to [core]/es_extended/client/modules/scaleform.lua
diff --git a/[esx]/es_extended/client/modules/streaming.lua b/[core]/es_extended/client/modules/streaming.lua
similarity index 100%
rename from [esx]/es_extended/client/modules/streaming.lua
rename to [core]/es_extended/client/modules/streaming.lua
diff --git a/[esx]/es_extended/client/wrapper.lua b/[core]/es_extended/client/wrapper.lua
similarity index 100%
rename from [esx]/es_extended/client/wrapper.lua
rename to [core]/es_extended/client/wrapper.lua
diff --git a/[esx]/es_extended/common/functions.lua b/[core]/es_extended/common/functions.lua
similarity index 100%
rename from [esx]/es_extended/common/functions.lua
rename to [core]/es_extended/common/functions.lua
diff --git a/[esx]/es_extended/common/modules/math.lua b/[core]/es_extended/common/modules/math.lua
similarity index 100%
rename from [esx]/es_extended/common/modules/math.lua
rename to [core]/es_extended/common/modules/math.lua
diff --git a/[esx]/es_extended/common/modules/table.lua b/[core]/es_extended/common/modules/table.lua
similarity index 100%
rename from [esx]/es_extended/common/modules/table.lua
rename to [core]/es_extended/common/modules/table.lua
diff --git a/[esx]/es_extended/config.logs.lua b/[core]/es_extended/config.logs.lua
similarity index 100%
rename from [esx]/es_extended/config.logs.lua
rename to [core]/es_extended/config.logs.lua
diff --git a/[esx]/es_extended/config.lua b/[core]/es_extended/config.lua
similarity index 100%
rename from [esx]/es_extended/config.lua
rename to [core]/es_extended/config.lua
diff --git a/[esx]/es_extended/config.weapons.lua b/[core]/es_extended/config.weapons.lua
similarity index 100%
rename from [esx]/es_extended/config.weapons.lua
rename to [core]/es_extended/config.weapons.lua
diff --git a/[esx]/es_extended/es_extended.sql b/[core]/es_extended/es_extended.sql
similarity index 100%
rename from [esx]/es_extended/es_extended.sql
rename to [core]/es_extended/es_extended.sql
diff --git a/[esx]/es_extended/fxmanifest.lua b/[core]/es_extended/fxmanifest.lua
similarity index 100%
rename from [esx]/es_extended/fxmanifest.lua
rename to [core]/es_extended/fxmanifest.lua
diff --git a/[esx]/es_extended/html/css/app.css b/[core]/es_extended/html/css/app.css
similarity index 100%
rename from [esx]/es_extended/html/css/app.css
rename to [core]/es_extended/html/css/app.css
diff --git a/[esx]/es_extended/html/fonts/bankgothic.ttf b/[core]/es_extended/html/fonts/bankgothic.ttf
similarity index 100%
rename from [esx]/es_extended/html/fonts/bankgothic.ttf
rename to [core]/es_extended/html/fonts/bankgothic.ttf
diff --git a/[esx]/es_extended/html/fonts/pdown.ttf b/[core]/es_extended/html/fonts/pdown.ttf
similarity index 100%
rename from [esx]/es_extended/html/fonts/pdown.ttf
rename to [core]/es_extended/html/fonts/pdown.ttf
diff --git a/[esx]/es_extended/html/img/accounts/bank.png b/[core]/es_extended/html/img/accounts/bank.png
similarity index 100%
rename from [esx]/es_extended/html/img/accounts/bank.png
rename to [core]/es_extended/html/img/accounts/bank.png
diff --git a/[esx]/es_extended/html/img/accounts/black_money.png b/[core]/es_extended/html/img/accounts/black_money.png
similarity index 100%
rename from [esx]/es_extended/html/img/accounts/black_money.png
rename to [core]/es_extended/html/img/accounts/black_money.png
diff --git a/[esx]/es_extended/html/img/accounts/money.png b/[core]/es_extended/html/img/accounts/money.png
similarity index 100%
rename from [esx]/es_extended/html/img/accounts/money.png
rename to [core]/es_extended/html/img/accounts/money.png
diff --git a/[esx]/es_extended/html/js/app.js b/[core]/es_extended/html/js/app.js
similarity index 100%
rename from [esx]/es_extended/html/js/app.js
rename to [core]/es_extended/html/js/app.js
diff --git a/[esx]/es_extended/html/js/mustache.min.js b/[core]/es_extended/html/js/mustache.min.js
similarity index 100%
rename from [esx]/es_extended/html/js/mustache.min.js
rename to [core]/es_extended/html/js/mustache.min.js
diff --git a/[esx]/es_extended/html/js/wrapper.js b/[core]/es_extended/html/js/wrapper.js
similarity index 100%
rename from [esx]/es_extended/html/js/wrapper.js
rename to [core]/es_extended/html/js/wrapper.js
diff --git a/[esx]/es_extended/html/ui.html b/[core]/es_extended/html/ui.html
similarity index 100%
rename from [esx]/es_extended/html/ui.html
rename to [core]/es_extended/html/ui.html
diff --git a/[esx]/es_extended/imports.lua b/[core]/es_extended/imports.lua
similarity index 100%
rename from [esx]/es_extended/imports.lua
rename to [core]/es_extended/imports.lua
diff --git a/[esx]/es_extended/locale.js b/[core]/es_extended/locale.js
similarity index 100%
rename from [esx]/es_extended/locale.js
rename to [core]/es_extended/locale.js
diff --git a/[esx]/es_extended/locale.lua b/[core]/es_extended/locale.lua
similarity index 87%
rename from [esx]/es_extended/locale.lua
rename to [core]/es_extended/locale.lua
index ed42aa76..c093979e 100644
--- a/[esx]/es_extended/locale.lua
+++ b/[core]/es_extended/locale.lua
@@ -1,11 +1,10 @@
Locales = {}
function Translate(str, ...) -- Translate string
-
if Locales[Config.Locale] then
if Locales[Config.Locale][str] then
return string.format(Locales[Config.Locale][str], ...)
- elseif Config.Locale ~= 'en' and Locales['en'][str] then
+ elseif Config.Locale ~= 'en' and Locales['en'] and Locales['en'][str] then
return string.format(Locales['en'][str], ...)
else
return 'Translation [' .. Config.Locale .. '][' .. str .. '] does not exist'
@@ -22,4 +21,4 @@ function TranslateCap(str, ...) -- Translate string first char uppercase
end
_ = Translate
-_U = TranslateCap
\ No newline at end of file
+_U = TranslateCap
diff --git a/[esx]/es_extended/locales/br.lua b/[core]/es_extended/locales/br.lua
similarity index 100%
rename from [esx]/es_extended/locales/br.lua
rename to [core]/es_extended/locales/br.lua
diff --git a/[esx]/es_extended/locales/cs.lua b/[core]/es_extended/locales/cs.lua
similarity index 100%
rename from [esx]/es_extended/locales/cs.lua
rename to [core]/es_extended/locales/cs.lua
diff --git a/[esx]/es_extended/locales/de.lua b/[core]/es_extended/locales/de.lua
similarity index 56%
rename from [esx]/es_extended/locales/de.lua
rename to [core]/es_extended/locales/de.lua
index 944c00ce..1401ce14 100644
--- a/[esx]/es_extended/locales/de.lua
+++ b/[core]/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/locales/en.lua b/[core]/es_extended/locales/en.lua
similarity index 100%
rename from [esx]/es_extended/locales/en.lua
rename to [core]/es_extended/locales/en.lua
diff --git a/[esx]/es_extended/locales/es.lua b/[core]/es_extended/locales/es.lua
similarity index 100%
rename from [esx]/es_extended/locales/es.lua
rename to [core]/es_extended/locales/es.lua
diff --git a/[esx]/es_extended/locales/fi.lua b/[core]/es_extended/locales/fi.lua
similarity index 100%
rename from [esx]/es_extended/locales/fi.lua
rename to [core]/es_extended/locales/fi.lua
diff --git a/[esx]/es_extended/locales/fr.lua b/[core]/es_extended/locales/fr.lua
similarity index 100%
rename from [esx]/es_extended/locales/fr.lua
rename to [core]/es_extended/locales/fr.lua
diff --git a/[esx]/es_extended/locales/hu.lua b/[core]/es_extended/locales/hu.lua
similarity index 100%
rename from [esx]/es_extended/locales/hu.lua
rename to [core]/es_extended/locales/hu.lua
diff --git a/[esx]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua
similarity index 100%
rename from [esx]/es_extended/locales/nl.lua
rename to [core]/es_extended/locales/nl.lua
diff --git a/[esx]/es_extended/locales/pl.lua b/[core]/es_extended/locales/pl.lua
similarity index 100%
rename from [esx]/es_extended/locales/pl.lua
rename to [core]/es_extended/locales/pl.lua
diff --git a/[esx]/es_extended/locales/sc.lua b/[core]/es_extended/locales/sc.lua
similarity index 100%
rename from [esx]/es_extended/locales/sc.lua
rename to [core]/es_extended/locales/sc.lua
diff --git a/[esx]/es_extended/locales/sv.lua b/[core]/es_extended/locales/sv.lua
similarity index 100%
rename from [esx]/es_extended/locales/sv.lua
rename to [core]/es_extended/locales/sv.lua
diff --git a/[esx]/es_extended/locales/tc.lua b/[core]/es_extended/locales/tc.lua
similarity index 100%
rename from [esx]/es_extended/locales/tc.lua
rename to [core]/es_extended/locales/tc.lua
diff --git a/[esx]/es_extended/server/classes/overrides/oxinventory.lua b/[core]/es_extended/server/classes/overrides/oxinventory.lua
similarity index 100%
rename from [esx]/es_extended/server/classes/overrides/oxinventory.lua
rename to [core]/es_extended/server/classes/overrides/oxinventory.lua
diff --git a/[esx]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua
similarity index 99%
rename from [esx]/es_extended/server/classes/player.lua
rename to [core]/es_extended/server/classes/player.lua
index 39e303cf..0af5ad6b 100644
--- a/[esx]/es_extended/server/classes/player.lua
+++ b/[core]/es_extended/server/classes/player.lua
@@ -386,7 +386,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
end
TriggerEvent('esx:setJob', self.source, self.job, lastJob)
- self.triggerEvent('esx:setJob', self.job)
+ self.triggerEvent('esx:setJob', self.job, lastJob)
Player(self.source).state:set("job", self.job, true)
else
print(('[es_extended] [^3WARNING^7] Ignoring invalid ^5.setJob()^7 usage for ID: ^5%s^7, Job: ^5%s^7'):format(self.source, job))
diff --git a/[esx]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua
similarity index 100%
rename from [esx]/es_extended/server/commands.lua
rename to [core]/es_extended/server/commands.lua
diff --git a/[esx]/es_extended/server/common.lua b/[core]/es_extended/server/common.lua
similarity index 91%
rename from [esx]/es_extended/server/common.lua
rename to [core]/es_extended/server/common.lua
index c8d004b4..6aaf87c8 100644
--- a/[esx]/es_extended/server/common.lua
+++ b/[core]/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/functions.lua b/[core]/es_extended/server/functions.lua
similarity index 100%
rename from [esx]/es_extended/server/functions.lua
rename to [core]/es_extended/server/functions.lua
diff --git a/[esx]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua
similarity index 100%
rename from [esx]/es_extended/server/main.lua
rename to [core]/es_extended/server/main.lua
diff --git a/[esx]/es_extended/server/onesync.lua b/[core]/es_extended/server/onesync.lua
similarity index 100%
rename from [esx]/es_extended/server/onesync.lua
rename to [core]/es_extended/server/onesync.lua
diff --git a/[esx]/es_extended/server/paycheck.lua b/[core]/es_extended/server/paycheck.lua
similarity index 100%
rename from [esx]/es_extended/server/paycheck.lua
rename to [core]/es_extended/server/paycheck.lua
diff --git a/[esx]/es_extended/version.json b/[core]/es_extended/version.json
similarity index 100%
rename from [esx]/es_extended/version.json
rename to [core]/es_extended/version.json
diff --git a/[esx_addons]/esx_boat/LICENSE b/[core]/esx_context/LICENSE
similarity index 99%
rename from [esx_addons]/esx_boat/LICENSE
rename to [core]/esx_context/LICENSE
index 357d9c56..4b046bd2 100644
--- a/[esx_addons]/esx_boat/LICENSE
+++ b/[core]/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_context/README.md b/[core]/esx_context/README.md
similarity index 100%
rename from [esx]/esx_context/README.md
rename to [core]/esx_context/README.md
diff --git a/[esx]/esx_context/config.lua b/[core]/esx_context/config.lua
similarity index 100%
rename from [esx]/esx_context/config.lua
rename to [core]/esx_context/config.lua
diff --git a/[esx]/esx_context/fxmanifest.lua b/[core]/esx_context/fxmanifest.lua
similarity index 93%
rename from [esx]/esx_context/fxmanifest.lua
rename to [core]/esx_context/fxmanifest.lua
index 9166aa6f..6bc711a9 100644
--- a/[esx]/esx_context/fxmanifest.lua
+++ b/[core]/esx_context/fxmanifest.lua
@@ -1,24 +1,24 @@
-fx_version 'bodacious'
-
-game 'gta5'
-author 'ESX-Framework & Brayden'
-description 'Offical ESX Legacy Context Menu'
-lua54 'yes'
-version '1.9.0'
-
-ui_page 'index.html'
-
-shared_script '@es_extended/imports.lua'
-
-client_scripts {
- 'config.lua',
- 'main.lua',
-}
-
-files {
- 'index.html'
-}
-
-dependencies {
- 'es_extended'
+fx_version 'bodacious'
+
+game 'gta5'
+author 'ESX-Framework & Brayden'
+description 'Offical ESX Legacy Context Menu'
+lua54 'yes'
+version '1.9.0'
+
+ui_page 'index.html'
+
+shared_script '@es_extended/imports.lua'
+
+client_scripts {
+ 'config.lua',
+ 'main.lua',
+}
+
+files {
+ 'index.html'
+}
+
+dependencies {
+ 'es_extended'
}
\ No newline at end of file
diff --git a/[esx]/esx_context/index.html b/[core]/esx_context/index.html
similarity index 95%
rename from [esx]/esx_context/index.html
rename to [core]/esx_context/index.html
index 5d15770d..cba395b1 100644
--- a/[esx]/esx_context/index.html
+++ b/[core]/esx_context/index.html
@@ -1,443 +1,443 @@
-
-
-
-
-
-
-
-
-
-
- ESX Context HUD
-
-
-
-
-
-
-
-
-
-
- Unselectable Item
- Testing, testing a description here.
-
-
-
-
-
- Disabled Item
- Testing, testing a description here.
-
-
-
-
-
- Item
- Testing, testing a description here. Generic words to force overflow.
-
+ Unselectable Item
+ Testing, testing a description here.
+
+
+
+
+
+ Disabled Item
+ Testing, testing a description here.
+
+
+
+
+
+ Item
+ Testing, testing a description here. Generic words to force overflow.
+
+
+
+
+
+
+
+
diff --git a/[esx]/esx_context/main.lua b/[core]/esx_context/main.lua
similarity index 94%
rename from [esx]/esx_context/main.lua
rename to [core]/esx_context/main.lua
index 6c16fc7d..833b5464 100644
--- a/[esx]/esx_context/main.lua
+++ b/[core]/esx_context/main.lua
@@ -1,271 +1,271 @@
-local defaultPosition = "right" -- [ left | center | right ]
-local activeMenu
-local Debug = ESX.GetConfig().EnableDebug
-
--- Global functions
--- [ Post | Open | Closed ]
-
-function Post(fn,...)
- SendNUIMessage({
- func = fn,
- args = {...}
- })
-end
-
-function Open(position,eles,onSelect,onClose,canClose)
- local canClose = canClose == nil and true or canClose
- activeMenu = {
- position = position,
- eles = eles,
- canClose = canClose,
- onSelect = onSelect,
- onClose = onClose
- }
-
- LocalPlayer.state:set("context:active",true)
-
- Post("Open",eles,position)
-end
-
-function Closed()
- SetNuiFocus(false,false)
-
- local menu = activeMenu
- local cb = menu.onClose
-
- activeMenu = nil
-
- LocalPlayer.state:set("context:active",false)
-
- if cb then
- cb(menu)
- end
-end
-
--- Exports
--- [ Preview | Open | Close ]
-
-exports("Preview",Open)
-
-exports("Open",function(...)
- Open(...)
- SetNuiFocus(true,true)
-end)
-
-exports("Close",function()
- if not activeMenu then
- return
- end
-
- Post("Closed")
-
- Closed()
-end)
-
-exports("Refresh",function(eles,position)
- if not activeMenu then
- return
- end
-
- activeMenu.eles = eles or activeMenu.eles
- activeMenu.position = position or activeMenu.position
-
- Post("Open",activeMenu.eles,activeMenu.position)
-end)
-
--- NUI Callbacks
--- [ closed | selected | changed ]
-
-RegisterNUICallback("closed",function(data,cb)
- if not activeMenu or (activeMenu and not activeMenu.canClose) then
- return cb(false)
- end
- cb(true)
- Closed()
-end)
-
-RegisterNUICallback("selected",function(data)
- if not activeMenu
- or not activeMenu.onSelect
- or not data.index
- then
- return
- end
-
- local index = tonumber(data.index)
- local ele = activeMenu.eles[index]
-
- if not ele
- or ele.input
- then
- return
- end
-
- activeMenu:onSelect(ele)
-end)
-
-RegisterNUICallback("changed",function(data)
- if not activeMenu
- or not data.index
- or not data.value
- then
- return
- end
-
- local index = tonumber(data.index)
- local ele = activeMenu.eles[index]
-
- if not ele
- or not ele.input
- then
- return
- end
-
- if ele.inputType == "number" then
- ele.inputValue = tonumber(data.value)
-
- if ele.inputMin then
- ele.inputValue = math.max(ele.inputMin,ele.inputValue)
- end
-
- if ele.inputMax then
- ele.inputValue = math.min(ele.inputMax,ele.inputValue)
- end
- elseif ele.inputType == "text" then
- ele.inputValue = data.value
- elseif ele.inputType == "radio" then
- ele.inputValue = data.value
- end
-end)
-
--- Keybind
-
-local function focusPreview()
- if not activeMenu
- or not activeMenu.onSelect
- then
- return
- end
-
- SetNuiFocus(true,true)
-end
-
-if PREVIEW_KEYBIND then
- RegisterCommand("previewContext",focusPreview)
-
- RegisterKeyMapping("previewContext","Preview Active Context","keyboard",PREVIEW_KEYBIND)
-end
-
-exports("focusPreview",focusPreview)
-
--- Debug/Test
--- Commands:
--- [ ctx:preview | ctx:open | ctx:close | ctx:form ]
-
-if Debug then
- local position = "right"
-
- local eles = {
- {
- unselectable=true,
- icon="fas fa-info-circle",
- title="Unselectable Item (Header/Label?)",
- },
- {
- icon="fas fa-check",
- title="Item A",
- description="Some description here. Add some words to make the text overflow."
- },
- {
- disabled=true,
- icon="fas fa-times",
- title="Disabled Item",
- description="Some description here. Add some words to make the text overflow."
- },
- {
- icon="fas fa-check",
- title="Item B",
- description="Some description here. Add some words to make the text overflow."
- },
- }
-
- local function onSelect(menu,ele)
- print("Ele selected",ele.title)
-
- if ele.name == "close" then
- exports["esx_context"]:Close()
- end
-
- if ele.name ~= "submit" then
- return
- end
-
- for _,ele in ipairs(menu.eles) do
- if ele.input then
- print(ele.name,ele.inputType,ele.inputValue)
- end
- end
-
- exports["esx_context"]:Close()
- end
-
- local function onClose(menu)
- print("Menu closed.")
- end
-
- RegisterCommand("ctx:preview",function()
- exports["esx_context"]:Preview(position,eles)
- end)
-
- RegisterCommand("ctx:open",function()
- exports["esx_context"]:Open(position,eles,onSelect,onClose)
- end)
-
- RegisterCommand("ctx:close",function()
- exports["esx_context"]:Close()
- end)
-
- RegisterCommand("ctx:form",function()
- local eles = {
- {
- unselectable=true,
- icon="fas fa-info-circle",
- title="Unselectable Item (Header/Label?)",
- },
- {
- icon="",
- title="Input Text",
- input=true,
- inputType="text",
- inputPlaceholder="Placeholder...",
- name="firstname",
- },
- {
- icon="",
- title="Input Text",
- input=true,
- inputType="text",
- inputPlaceholder="Placeholder...",
- name="lastname",
- },
- {
- icon="",
- title="Input Number",
- input=true,
- inputType="number",
- inputPlaceholder="Placeholder...",
- inputValue=0,
- inputMin=0,
- inputMax=50,
- name="age",
- },
- {
- icon = "fas fa-check",
- title = "Submit",
- name = "submit"
- }
- }
-
- exports["esx_context"]:Open(position,eles,onSelect,onClose)
- end)
-end
+local defaultPosition = "right" -- [ left | center | right ]
+local activeMenu
+local Debug = ESX.GetConfig().EnableDebug
+
+-- Global functions
+-- [ Post | Open | Closed ]
+
+function Post(fn,...)
+ SendNUIMessage({
+ func = fn,
+ args = {...}
+ })
+end
+
+function Open(position,eles,onSelect,onClose,canClose)
+ local canClose = canClose == nil and true or canClose
+ activeMenu = {
+ position = position,
+ eles = eles,
+ canClose = canClose,
+ onSelect = onSelect,
+ onClose = onClose
+ }
+
+ LocalPlayer.state:set("context:active",true)
+
+ Post("Open",eles,position)
+end
+
+function Closed()
+ SetNuiFocus(false,false)
+
+ local menu = activeMenu
+ local cb = menu.onClose
+
+ activeMenu = nil
+
+ LocalPlayer.state:set("context:active",false)
+
+ if cb then
+ cb(menu)
+ end
+end
+
+-- Exports
+-- [ Preview | Open | Close ]
+
+exports("Preview",Open)
+
+exports("Open",function(...)
+ Open(...)
+ SetNuiFocus(true,true)
+end)
+
+exports("Close",function()
+ if not activeMenu then
+ return
+ end
+
+ Post("Closed")
+
+ Closed()
+end)
+
+exports("Refresh",function(eles,position)
+ if not activeMenu then
+ return
+ end
+
+ activeMenu.eles = eles or activeMenu.eles
+ activeMenu.position = position or activeMenu.position
+
+ Post("Open",activeMenu.eles,activeMenu.position)
+end)
+
+-- NUI Callbacks
+-- [ closed | selected | changed ]
+
+RegisterNUICallback("closed",function(data,cb)
+ if not activeMenu or (activeMenu and not activeMenu.canClose) then
+ return cb(false)
+ end
+ cb(true)
+ Closed()
+end)
+
+RegisterNUICallback("selected",function(data)
+ if not activeMenu
+ or not activeMenu.onSelect
+ or not data.index
+ then
+ return
+ end
+
+ local index = tonumber(data.index)
+ local ele = activeMenu.eles[index]
+
+ if not ele
+ or ele.input
+ then
+ return
+ end
+
+ activeMenu:onSelect(ele)
+end)
+
+RegisterNUICallback("changed",function(data)
+ if not activeMenu
+ or not data.index
+ or not data.value
+ then
+ return
+ end
+
+ local index = tonumber(data.index)
+ local ele = activeMenu.eles[index]
+
+ if not ele
+ or not ele.input
+ then
+ return
+ end
+
+ if ele.inputType == "number" then
+ ele.inputValue = tonumber(data.value)
+
+ if ele.inputMin then
+ ele.inputValue = math.max(ele.inputMin,ele.inputValue)
+ end
+
+ if ele.inputMax then
+ ele.inputValue = math.min(ele.inputMax,ele.inputValue)
+ end
+ elseif ele.inputType == "text" then
+ ele.inputValue = data.value
+ elseif ele.inputType == "radio" then
+ ele.inputValue = data.value
+ end
+end)
+
+-- Keybind
+
+local function focusPreview()
+ if not activeMenu
+ or not activeMenu.onSelect
+ then
+ return
+ end
+
+ SetNuiFocus(true,true)
+end
+
+if PREVIEW_KEYBIND then
+ RegisterCommand("previewContext",focusPreview)
+
+ RegisterKeyMapping("previewContext","Preview Active Context","keyboard",PREVIEW_KEYBIND)
+end
+
+exports("focusPreview",focusPreview)
+
+-- Debug/Test
+-- Commands:
+-- [ ctx:preview | ctx:open | ctx:close | ctx:form ]
+
+if Debug then
+ local position = "right"
+
+ local eles = {
+ {
+ unselectable=true,
+ icon="fas fa-info-circle",
+ title="Unselectable Item (Header/Label?)",
+ },
+ {
+ icon="fas fa-check",
+ title="Item A",
+ description="Some description here. Add some words to make the text overflow."
+ },
+ {
+ disabled=true,
+ icon="fas fa-times",
+ title="Disabled Item",
+ description="Some description here. Add some words to make the text overflow."
+ },
+ {
+ icon="fas fa-check",
+ title="Item B",
+ description="Some description here. Add some words to make the text overflow."
+ },
+ }
+
+ local function onSelect(menu,ele)
+ print("Ele selected",ele.title)
+
+ if ele.name == "close" then
+ exports["esx_context"]:Close()
+ end
+
+ if ele.name ~= "submit" then
+ return
+ end
+
+ for _,ele in ipairs(menu.eles) do
+ if ele.input then
+ print(ele.name,ele.inputType,ele.inputValue)
+ end
+ end
+
+ exports["esx_context"]:Close()
+ end
+
+ local function onClose(menu)
+ print("Menu closed.")
+ end
+
+ RegisterCommand("ctx:preview",function()
+ exports["esx_context"]:Preview(position,eles)
+ end)
+
+ RegisterCommand("ctx:open",function()
+ exports["esx_context"]:Open(position,eles,onSelect,onClose)
+ end)
+
+ RegisterCommand("ctx:close",function()
+ exports["esx_context"]:Close()
+ end)
+
+ RegisterCommand("ctx:form",function()
+ local eles = {
+ {
+ unselectable=true,
+ icon="fas fa-info-circle",
+ title="Unselectable Item (Header/Label?)",
+ },
+ {
+ icon="",
+ title="Input Text",
+ input=true,
+ inputType="text",
+ inputPlaceholder="Placeholder...",
+ name="firstname",
+ },
+ {
+ icon="",
+ title="Input Text",
+ input=true,
+ inputType="text",
+ inputPlaceholder="Placeholder...",
+ name="lastname",
+ },
+ {
+ icon="",
+ title="Input Number",
+ input=true,
+ inputType="number",
+ inputPlaceholder="Placeholder...",
+ inputValue=0,
+ inputMin=0,
+ inputMax=50,
+ name="age",
+ },
+ {
+ icon = "fas fa-check",
+ title = "Submit",
+ name = "submit"
+ }
+ }
+
+ exports["esx_context"]:Open(position,eles,onSelect,onClose)
+ end)
+end
diff --git a/esx_example/LICENSE b/[core]/esx_example/LICENSE
similarity index 99%
rename from esx_example/LICENSE
rename to [core]/esx_example/LICENSE
index 204368d4..9f54b358 100644
--- a/esx_example/LICENSE
+++ b/[core]/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/README.md b/[core]/esx_example/README.md
similarity index 100%
rename from esx_example/README.md
rename to [core]/esx_example/README.md
diff --git a/esx_example/client/main.lua b/[core]/esx_example/client/main.lua
similarity index 100%
rename from esx_example/client/main.lua
rename to [core]/esx_example/client/main.lua
diff --git a/esx_example/fxmanifest.lua b/[core]/esx_example/fxmanifest.lua
similarity index 100%
rename from esx_example/fxmanifest.lua
rename to [core]/esx_example/fxmanifest.lua
diff --git a/esx_example/server/main.lua b/[core]/esx_example/server/main.lua
similarity index 100%
rename from esx_example/server/main.lua
rename to [core]/esx_example/server/main.lua
diff --git a/[esx]/esx_identity/LICENSE b/[core]/esx_identity/LICENSE
similarity index 99%
rename from [esx]/esx_identity/LICENSE
rename to [core]/esx_identity/LICENSE
index 9cba2328..4dc529f0 100644
--- a/[esx]/esx_identity/LICENSE
+++ b/[core]/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/[core]/esx_identity/README.md
similarity index 85%
rename from [esx]/esx_identity/README.md
rename to [core]/esx_identity/README.md
index f4053cad..9fd9cc2b 100644
--- a/[esx]/esx_identity/README.md
+++ b/[core]/esx_identity/README.md
@@ -1,4 +1,4 @@
-
`)
+ doc.getElementById("notifyInfo").style.display = "block";
+ const start = new Date();
+ const maxTime = e.data.length;
+ const timeoutValue = Math.floor(maxTime/100);
+ animUpdate();
+
+ function updateProg(prc) {
+ $("#progline").css("width", prc + "%");
+ }
+
+ function animUpdate() {
+ const now = new Date();
+ const timeoutDiff = now.getTime() - start.getTime();
+ const prc = Math.round((timeoutDiff/maxTime)*100);
+ if (prc <= 100) {
+ updateProg(prc);
+ this.timeoutID = setTimeout(animUpdate, timeoutValue);
+ } else {
+ doc.getElementById('notifyInfo').style.display = "none";
+ }
+ }
+ } else {
+ doc.getElementById("notifyInfo").style.display = "none"
+ clearTimeout(this.timeoutID);
+ timeoutValue = 0;
+
+ }
+ })
+})
diff --git a/[esx]/esx_progressbar/readme.md b/[core]/esx_progressbar/readme.md
similarity index 100%
rename from [esx]/esx_progressbar/readme.md
rename to [core]/esx_progressbar/readme.md
diff --git a/[esx]/esx_skin/.editorconfig b/[core]/esx_skin/.editorconfig
similarity index 100%
rename from [esx]/esx_skin/.editorconfig
rename to [core]/esx_skin/.editorconfig
diff --git a/[esx]/esx_skin/LICENSE b/[core]/esx_skin/LICENSE
similarity index 99%
rename from [esx]/esx_skin/LICENSE
rename to [core]/esx_skin/LICENSE
index a8eb3e5f..f8a9de97 100644
--- a/[esx]/esx_skin/LICENSE
+++ b/[core]/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/[core]/esx_skin/README.md
similarity index 96%
rename from [esx]/esx_skin/README.md
rename to [core]/esx_skin/README.md
index 6b73bdac..d66db978 100644
--- a/[esx]/esx_skin/README.md
+++ b/[core]/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_skin/client/main.lua b/[core]/esx_skin/client/main.lua
similarity index 100%
rename from [esx]/esx_skin/client/main.lua
rename to [core]/esx_skin/client/main.lua
diff --git a/[esx]/esx_skin/config.lua b/[core]/esx_skin/config.lua
similarity index 100%
rename from [esx]/esx_skin/config.lua
rename to [core]/esx_skin/config.lua
diff --git a/[esx]/esx_skin/esx_skin.sql b/[core]/esx_skin/esx_skin.sql
similarity index 100%
rename from [esx]/esx_skin/esx_skin.sql
rename to [core]/esx_skin/esx_skin.sql
diff --git a/[esx]/esx_skin/fxmanifest.lua b/[core]/esx_skin/fxmanifest.lua
similarity index 100%
rename from [esx]/esx_skin/fxmanifest.lua
rename to [core]/esx_skin/fxmanifest.lua
diff --git a/[esx]/esx_skin/locales/br.lua b/[core]/esx_skin/locales/br.lua
similarity index 100%
rename from [esx]/esx_skin/locales/br.lua
rename to [core]/esx_skin/locales/br.lua
diff --git a/[esx]/esx_skin/locales/de.lua b/[core]/esx_skin/locales/de.lua
similarity index 100%
rename from [esx]/esx_skin/locales/de.lua
rename to [core]/esx_skin/locales/de.lua
diff --git a/[esx]/esx_skin/locales/en.lua b/[core]/esx_skin/locales/en.lua
similarity index 100%
rename from [esx]/esx_skin/locales/en.lua
rename to [core]/esx_skin/locales/en.lua
diff --git a/[esx]/esx_skin/locales/es.lua b/[core]/esx_skin/locales/es.lua
similarity index 100%
rename from [esx]/esx_skin/locales/es.lua
rename to [core]/esx_skin/locales/es.lua
diff --git a/[esx]/esx_skin/locales/fi.lua b/[core]/esx_skin/locales/fi.lua
similarity index 100%
rename from [esx]/esx_skin/locales/fi.lua
rename to [core]/esx_skin/locales/fi.lua
diff --git a/[esx]/esx_skin/locales/fr.lua b/[core]/esx_skin/locales/fr.lua
similarity index 100%
rename from [esx]/esx_skin/locales/fr.lua
rename to [core]/esx_skin/locales/fr.lua
diff --git a/[esx]/esx_skin/locales/hu.lua b/[core]/esx_skin/locales/hu.lua
similarity index 100%
rename from [esx]/esx_skin/locales/hu.lua
rename to [core]/esx_skin/locales/hu.lua
diff --git a/[esx]/esx_skin/locales/it.lua b/[core]/esx_skin/locales/it.lua
similarity index 100%
rename from [esx]/esx_skin/locales/it.lua
rename to [core]/esx_skin/locales/it.lua
diff --git a/[esx]/esx_skin/locales/nl.lua b/[core]/esx_skin/locales/nl.lua
similarity index 100%
rename from [esx]/esx_skin/locales/nl.lua
rename to [core]/esx_skin/locales/nl.lua
diff --git a/[esx]/esx_skin/locales/pl.lua b/[core]/esx_skin/locales/pl.lua
similarity index 100%
rename from [esx]/esx_skin/locales/pl.lua
rename to [core]/esx_skin/locales/pl.lua
diff --git a/[esx]/esx_skin/locales/sv.lua b/[core]/esx_skin/locales/sv.lua
similarity index 100%
rename from [esx]/esx_skin/locales/sv.lua
rename to [core]/esx_skin/locales/sv.lua
diff --git a/[esx]/esx_skin/locales/tr.lua b/[core]/esx_skin/locales/tr.lua
similarity index 100%
rename from [esx]/esx_skin/locales/tr.lua
rename to [core]/esx_skin/locales/tr.lua
diff --git a/[esx]/esx_skin/server/main.lua b/[core]/esx_skin/server/main.lua
similarity index 100%
rename from [esx]/esx_skin/server/main.lua
rename to [core]/esx_skin/server/main.lua
diff --git a/[esx]/esx_textui/LICENSE b/[core]/esx_textui/LICENSE
similarity index 99%
rename from [esx]/esx_textui/LICENSE
rename to [core]/esx_textui/LICENSE
index 1e4d06cf..85ce0959 100644
--- a/[esx]/esx_textui/LICENSE
+++ b/[core]/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/TextUI.lua b/[core]/esx_textui/TextUI.lua
similarity index 100%
rename from [esx]/esx_textui/TextUI.lua
rename to [core]/esx_textui/TextUI.lua
diff --git a/[esx]/esx_textui/fxmanifest.lua b/[core]/esx_textui/fxmanifest.lua
similarity index 100%
rename from [esx]/esx_textui/fxmanifest.lua
rename to [core]/esx_textui/fxmanifest.lua
diff --git a/[esx]/esx_textui/nui/css/style.css b/[core]/esx_textui/nui/css/style.css
similarity index 100%
rename from [esx]/esx_textui/nui/css/style.css
rename to [core]/esx_textui/nui/css/style.css
diff --git a/[esx]/esx_textui/nui/index.html b/[core]/esx_textui/nui/index.html
similarity index 100%
rename from [esx]/esx_textui/nui/index.html
rename to [core]/esx_textui/nui/index.html
diff --git a/[esx]/esx_textui/nui/js/script.js b/[core]/esx_textui/nui/js/script.js
similarity index 100%
rename from [esx]/esx_textui/nui/js/script.js
rename to [core]/esx_textui/nui/js/script.js
diff --git a/[esx]/esx_textui/readme.md b/[core]/esx_textui/readme.md
similarity index 97%
rename from [esx]/esx_textui/readme.md
rename to [core]/esx_textui/readme.md
index f5070555..b9197d6c 100644
--- a/[esx]/esx_textui/readme.md
+++ b/[core]/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/[core]/skinchanger/LICENSE
similarity index 99%
rename from [esx]/skinchanger/LICENSE
rename to [core]/skinchanger/LICENSE
index 22b3a7be..79cea11b 100644
--- a/[esx]/skinchanger/LICENSE
+++ b/[core]/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/[core]/skinchanger/README.md
similarity index 98%
rename from [esx]/skinchanger/README.md
rename to [core]/skinchanger/README.md
index fd03c3cf..525a62f1 100644
--- a/[esx]/skinchanger/README.md
+++ b/[core]/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]/skinchanger/client/main.lua b/[core]/skinchanger/client/main.lua
similarity index 100%
rename from [esx]/skinchanger/client/main.lua
rename to [core]/skinchanger/client/main.lua
diff --git a/[esx]/skinchanger/config.lua b/[core]/skinchanger/config.lua
similarity index 100%
rename from [esx]/skinchanger/config.lua
rename to [core]/skinchanger/config.lua
diff --git a/[esx]/skinchanger/fxmanifest.lua b/[core]/skinchanger/fxmanifest.lua
similarity index 100%
rename from [esx]/skinchanger/fxmanifest.lua
rename to [core]/skinchanger/fxmanifest.lua
diff --git a/[esx]/skinchanger/locales/br.lua b/[core]/skinchanger/locales/br.lua
similarity index 100%
rename from [esx]/skinchanger/locales/br.lua
rename to [core]/skinchanger/locales/br.lua
diff --git a/[esx]/skinchanger/locales/de.lua b/[core]/skinchanger/locales/de.lua
similarity index 100%
rename from [esx]/skinchanger/locales/de.lua
rename to [core]/skinchanger/locales/de.lua
diff --git a/[esx]/skinchanger/locales/en.lua b/[core]/skinchanger/locales/en.lua
similarity index 100%
rename from [esx]/skinchanger/locales/en.lua
rename to [core]/skinchanger/locales/en.lua
diff --git a/[esx]/skinchanger/locales/es.lua b/[core]/skinchanger/locales/es.lua
similarity index 100%
rename from [esx]/skinchanger/locales/es.lua
rename to [core]/skinchanger/locales/es.lua
diff --git a/[esx]/skinchanger/locales/fi.lua b/[core]/skinchanger/locales/fi.lua
similarity index 100%
rename from [esx]/skinchanger/locales/fi.lua
rename to [core]/skinchanger/locales/fi.lua
diff --git a/[esx]/skinchanger/locales/fr.lua b/[core]/skinchanger/locales/fr.lua
similarity index 100%
rename from [esx]/skinchanger/locales/fr.lua
rename to [core]/skinchanger/locales/fr.lua
diff --git a/[esx]/skinchanger/locales/hu.lua b/[core]/skinchanger/locales/hu.lua
similarity index 100%
rename from [esx]/skinchanger/locales/hu.lua
rename to [core]/skinchanger/locales/hu.lua
diff --git a/[esx]/skinchanger/locales/it.lua b/[core]/skinchanger/locales/it.lua
similarity index 100%
rename from [esx]/skinchanger/locales/it.lua
rename to [core]/skinchanger/locales/it.lua
diff --git a/[esx]/skinchanger/locales/pl.lua b/[core]/skinchanger/locales/pl.lua
similarity index 100%
rename from [esx]/skinchanger/locales/pl.lua
rename to [core]/skinchanger/locales/pl.lua
diff --git a/[esx]/skinchanger/locales/sv.lua b/[core]/skinchanger/locales/sv.lua
similarity index 100%
rename from [esx]/skinchanger/locales/sv.lua
rename to [core]/skinchanger/locales/sv.lua
diff --git a/[esx]/skinchanger/locales/tr.lua b/[core]/skinchanger/locales/tr.lua
similarity index 100%
rename from [esx]/skinchanger/locales/tr.lua
rename to [core]/skinchanger/locales/tr.lua
diff --git a/[esx]/async/LICENSE b/[esx]/async/LICENSE
deleted file mode 100644
index 4c37e893..00000000
--- a/[esx]/async/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx]/async/README.md b/[esx]/async/README.md
deleted file mode 100644
index 9c76d28d..00000000
--- a/[esx]/async/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
[ESX] Async
Discord - Website - Documentation
-
-A very Simple resource that allows resources to run tasks asynchronously.
-
-## Legal
-
-async - asynchronous tasks.
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see .
diff --git a/[esx]/async/async.lua b/[esx]/async/async.lua
deleted file mode 100644
index aacd1a44..00000000
--- a/[esx]/async/async.lua
+++ /dev/null
@@ -1,71 +0,0 @@
-Async = {}
-
-function Async.parallel(tasks, cb)
- if #tasks == 0 then
- cb({})
- return
- end
-
- local remaining = #tasks
- local results = {}
-
- for i = 1, #tasks, 1 do
- CreateThread(function()
- tasks[i](function(result)
- results[#results+ 1] = result
-
- remaining = remaining - 1;
-
- if remaining == 0 then
- cb(results)
- end
- end)
- end)
- end
-end
-
-function Async.parallelLimit(tasks, limit, cb)
- if #tasks == 0 then
- cb({})
- return
- end
-
- local remaining = #tasks
- local running = 0
- local queue, results = {}, {}
-
- for i=1, #tasks, 1 do
- queue[#queue + 1] = tasks[i]
- end
-
- local function processQueue()
- if #queue == 0 then
- return
- end
-
- while running < limit and #queue > 0 do
- local task = table.remove(queue, 1)
-
- running = running + 1
-
- task(function(result)
- results[#results+ 1] = result
-
- remaining = remaining - 1;
- running = running - 1
-
- if remaining == 0 then
- cb(results)
- end
- end)
- end
-
- CreateThread(processQueue)
- end
-
- processQueue()
-end
-
-function Async.series(tasks, cb)
- Async.parallelLimit(tasks, 1, cb)
-end
diff --git a/[esx]/async/fxmanifest.lua b/[esx]/async/fxmanifest.lua
deleted file mode 100644
index 7f296d3a..00000000
--- a/[esx]/async/fxmanifest.lua
+++ /dev/null
@@ -1,7 +0,0 @@
-fx_version 'cerulean'
-game 'gta5'
-
-author 'ESX-Framework'
-description 'asynchronous Tasks'
-lua54 'yes'
-shared_script 'async.lua'
diff --git a/[esx]/es_extended/client/common.lua b/[esx]/es_extended/client/common.lua
deleted file mode 100644
index 26020ace..00000000
--- a/[esx]/es_extended/client/common.lua
+++ /dev/null
@@ -1,7 +0,0 @@
-exports('getSharedObject', function()
- return ESX
-end)
-
-if GetResourceState('ox_inventory') ~= 'missing' then
- Config.OxInventory = true
-end
diff --git a/[esx]/esx_context/LICENSE b/[esx]/esx_context/LICENSE
deleted file mode 100644
index 357d9c56..00000000
--- a/[esx]/esx_context/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
diff --git a/[esx]/esx_menu_default/client/main.lua b/[esx]/esx_menu_default/client/main.lua
deleted file mode 100644
index d214c153..00000000
--- a/[esx]/esx_menu_default/client/main.lua
+++ /dev/null
@@ -1,117 +0,0 @@
-local GUI, MenuType, OpenedMenus = {}, 'default', 0
-GUI.Time = 0
-
-local function openMenu(namespace, name, data)
- OpenedMenus += 1
- SendNUIMessage({
- action = 'openMenu',
- namespace = namespace,
- name = name,
- data = data
- })
-end
-
-local function closeMenu(namespace, name)
- OpenedMenus -= 1
- SendNUIMessage({
- action = 'closeMenu',
- namespace = namespace,
- name = name
- })
-end
-
-ESX.UI.Menu.RegisterType(MenuType, openMenu, closeMenu)
-
-RegisterNUICallback('menu_submit', function(data, cb)
- local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name)
- if menu.submit ~= nil then
- menu.submit(data, menu)
- end
- cb('OK')
-end)
-
-RegisterNUICallback('menu_cancel', function(data, cb)
- local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name)
-
- if menu.cancel ~= nil then
- menu.cancel(data, menu)
- end
- cb('OK')
-end)
-
-RegisterNUICallback('menu_change', function(data, cb)
- local menu = ESX.UI.Menu.GetOpened(MenuType, data._namespace, data._name)
-
- for i = 1, #data.elements, 1 do
- menu.setElement(i, 'value', data.elements[i].value)
-
- if data.elements[i].selected then
- menu.setElement(i, 'selected', true)
- else
- menu.setElement(i, 'selected', false)
- end
- end
-
- if menu.change ~= nil then
- menu.change(data, menu)
- end
- 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)
- end
-end)
diff --git a/[esx_addons]/esx_accessories/.editorconfig b/[esx_addons]/esx_accessories/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_accessories/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_accessories/.gitattributes b/[esx_addons]/esx_accessories/.gitattributes
deleted file mode 100644
index eba1110b..00000000
--- a/[esx_addons]/esx_accessories/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-# Auto detect text files and perform LF normalization
-* text=auto
\ No newline at end of file
diff --git a/[esx_addons]/esx_accessories/LICENSE b/[esx_addons]/esx_accessories/LICENSE
deleted file mode 100644
index c990bf6d..00000000
--- a/[esx_addons]/esx_accessories/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_accessories/README.md b/[esx_addons]/esx_accessories/README.md
deleted file mode 100644
index 3aa5d99a..00000000
--- a/[esx_addons]/esx_accessories/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-
[ESX] Accessories
Discord - Website - Documentation
-
-Shops with accessories (hat/helmet, glasses, masks, ears accessories). You can put on or take off the accessories with a menu. Accessories saved in database.
-
-> Note: Works only with accessories purchased in the special areas of the clothing store, not via the esx_clotheshop script.
-
-## Requirements
-
-- [esx_skin](https://github.com/esx-framework/esx-legacy/tree/main/%5Besx%5D/esx_skin)
-- [esx_datastore](https://github.com/esx-framework/esx-legacy/tree/main/%5Besx_addons%5D/esx_datastore)
-
-## Legal
-
-esx_accessories - accessories 4 you!
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see .
diff --git a/[esx_addons]/esx_accessories/client/main.lua b/[esx_addons]/esx_accessories/client/main.lua
deleted file mode 100644
index 47305223..00000000
--- a/[esx_addons]/esx_accessories/client/main.lua
+++ /dev/null
@@ -1,234 +0,0 @@
-local HasAlreadyEnteredMarker = false
-local LastZone, CurrentAction, CurrentActionMsg
-local CurrentActionData = {}
-
-function OpenAccessoryMenu()
- local elements = {
- {unselectable = true, icon = "fas fa-user", title = TranslateCap('set_unset')},
- {icon = "fas fa-hat-cowboy", title = TranslateCap("helmet"), value = "Helmet"},
- {icon = "fas fa-deaf", title = TranslateCap("ears"), value = "Ears"},
- {icon = "fas fa-mask", title = TranslateCap("mask"), value = "Mask"},
- {icon = "fas fa-glasses", title = TranslateCap("glasses"), value = "Glasses"}
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- SetUnsetAccessory(element.value)
- end)
-end
-
-function SetUnsetAccessory(accessory)
- ESX.TriggerServerCallback('esx_accessories:get', function(hasAccessory, accessorySkin)
- local _accessory = string.lower(accessory)
-
- if hasAccessory then
- TriggerEvent('skinchanger:getSkin', function(skin)
- local mAccessory = -1
- local mColor = 0
-
- if _accessory == "mask" then
- mAccessory = 0
- end
-
- if skin[_accessory .. '_1'] == mAccessory then
- mAccessory = accessorySkin[_accessory .. '_1']
- mColor = accessorySkin[_accessory .. '_2']
- end
-
- local accessorySkin = {}
- accessorySkin[_accessory .. '_1'] = mAccessory
- accessorySkin[_accessory .. '_2'] = mColor
- TriggerEvent('skinchanger:loadClothes', skin, accessorySkin)
- end)
- else
- ESX.ShowNotification(TranslateCap('no_' .. _accessory))
- end
- end, accessory)
-end
-
-function OpenShopMenu(accessory)
- local _accessory = string.lower(accessory)
- local restrict = {}
-
- restrict = { _accessory .. '_1', _accessory .. '_2' }
-
- TriggerEvent('esx_skin:openRestrictedMenu', function(data, menu)
-
- menu.close()
- local elements = {
- {unselectable = true, icon = "fas fa-check-double", title = TranslateCap('valid_purchase')},
- {icon = "fas fa-check-circle", title = TranslateCap("yes", ESX.Math.GroupDigits(Config.Price)), value = "yes"},
- {icon = "fas fa-window-close", title = TranslateCap("no"), value = "no"}
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.value == "yes" then
- ESX.TriggerServerCallback('esx_accessories:checkMoney', function(hasEnoughMoney)
- if hasEnoughMoney then
- ESX.CloseContext()
- TriggerServerEvent('esx_accessories:pay')
- TriggerEvent('skinchanger:getSkin', function(skin)
- TriggerServerEvent('esx_accessories:save', skin, accessory)
- end)
- else
- ESX.CloseContext()
- local player = PlayerPedId()
- TriggerEvent('esx_skin:getLastSkin', function(skin)
- TriggerEvent('skinchanger:loadSkin', skin)
- end)
- if accessory == "Ears" then
- ClearPedProp(player, 2)
- elseif accessory == "Mask" then
- SetPedComponentVariation(player, 1, 0 ,0, 2)
- elseif accessory == "Helmet" then
- ClearPedProp(player, 0)
- elseif accessory == "Glasses" then
- SetPedPropIndex(player, 1, -1, 0, 0)
- end
- ESX.ShowNotification(TranslateCap('not_enough_money'))
- end
- end)
- elseif element.value == "no" then
- local player = PlayerPedId()
- TriggerEvent('esx_skin:getLastSkin', function(skin)
- TriggerEvent('skinchanger:loadSkin', skin)
- end)
- if accessory == "Ears" then
- ClearPedProp(player, 2)
- elseif accessory == "Mask" then
- SetPedComponentVariation(player, 1, 0 ,0, 2)
- elseif accessory == "Helmet" then
- ClearPedProp(player, 0)
- elseif accessory == "Glasses" then
- SetPedPropIndex(player, 1, -1, 0, 0)
- end
-
- ESX.CloseContext()
- end
- CurrentAction = 'shop_menu'
- CurrentActionMsg = TranslateCap('press_access')
- CurrentActionData = {}
- end, function(menu)
- CurrentAction = 'shop_menu'
- CurrentActionMsg = TranslateCap('press_access')
- CurrentActionData = {}
- end)
- end, function(data, menu)
- menu.close()
- CurrentAction = 'shop_menu'
- CurrentActionMsg = TranslateCap('press_access')
- CurrentActionData = {}
- end, restrict)
-end
-
-AddEventHandler('esx_accessories:hasEnteredMarker', function(zone)
- CurrentAction = 'shop_menu'
- CurrentActionMsg = TranslateCap('press_access')
- CurrentActionData = { accessory = zone }
-end)
-
-AddEventHandler('esx_accessories:hasExitedMarker', function(zone)
- ESX.CloseContext()
- CurrentAction = nil
-end)
-
--- Create Blips --
-CreateThread(function()
- for k,v in pairs(Config.ShopsBlips) do
- if v.Pos then
- for i=1, #v.Pos, 1 do
- local blip = AddBlipForCoord(v.Pos[i])
-
- SetBlipSprite (blip, v.Blip.sprite)
- SetBlipDisplay(blip, 4)
- SetBlipScale (blip, 1.0)
- SetBlipColour (blip, v.Blip.color)
- SetBlipAsShortRange(blip, true)
-
- BeginTextCommandSetBlipName("STRING")
- AddTextComponentSubstringPlayerName(TranslateCap('shop', TranslateCap(string.lower(k))))
- EndTextCommandSetBlipName(blip)
- end
- end
- end
-end)
-
-local nearMarker = false
--- Display markers
-CreateThread(function()
- while true do
- local sleep = 1500
- local coords = GetEntityCoords(PlayerPedId())
- for k,v in pairs(Config.Zones) do
- for i = 1, #v.Pos, 1 do
- if(Config.Type ~= -1 and #(coords - v.Pos[i]) < Config.DrawDistance) then
- DrawMarker(Config.Type, v.Pos[i], 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.Size.x, Config.Size.y, Config.Size.z, Config.Color.r, Config.Color.g, Config.Color.b, 255, true, false, 2, true, false, false, false)
- sleep = 0
- break
- end
- end
- end
- if sleep == 0 then nearMarker = true else nearMarker = false end
- Wait(sleep)
- end
-end)
-
-CreateThread(function()
- while true do
- local sleep = 1500
- if nearMarker then
- sleep = 0
- local coords = GetEntityCoords(PlayerPedId())
- local isInMarker = false
- local currentZone = nil
- for k,v in pairs(Config.Zones) do
- for i = 1, #v.Pos, 1 do
- if #(coords - v.Pos[i]) < Config.Size.x then
- isInMarker = true
- currentZone = k
- break
- end
- end
- end
-
- if (isInMarker and not HasAlreadyEnteredMarker) or (isInMarker and LastZone ~= currentZone) then
- HasAlreadyEnteredMarker = true
- LastZone = currentZone
- TriggerEvent('esx_accessories:hasEnteredMarker', currentZone)
- end
-
- if not isInMarker and HasAlreadyEnteredMarker then
- HasAlreadyEnteredMarker = false
- TriggerEvent('esx_accessories:hasExitedMarker', LastZone)
- end
- end
- Wait(sleep)
- end
-end)
-
--- Key controls
-CreateThread(function()
- while true do
- local Sleep = 1500
-
- if CurrentAction then
- Sleep = 0
- ESX.ShowHelpNotification(CurrentActionMsg)
-
- if IsControlJustReleased(0, 38) and CurrentActionData.accessory then
- OpenShopMenu(CurrentActionData.accessory)
- CurrentAction = nil
- end
- end
- Wait(Sleep)
- end
-end)
-
-if Config.EnableControls then
- RegisterCommand("accessory", function(src)
- if not ESX.PlayerData.dead then
- OpenAccessoryMenu()
- end
- end)
-
- RegisterKeyMapping("accessory", "Open Accessory Menu", "keyboard", "k")
-end
diff --git a/[esx_addons]/esx_accessories/config.lua b/[esx_addons]/esx_accessories/config.lua
deleted file mode 100644
index 2cf115df..00000000
--- a/[esx_addons]/esx_accessories/config.lua
+++ /dev/null
@@ -1,97 +0,0 @@
-Config = {}
-
-Config.Locale = GetConvar('esx:locale', 'en')
-
-Config.Price = 100
-
-Config.EnableControls = true
-
-Config.DrawDistance = 10
-Config.Size = {x = 1.5, y = 1.5, z = 1.0}
-Config.Color = {r = 50, g = 200, b = 50}
-Config.Type = 1
-
--- Fill this if you want to see the blips,
--- If you have esx_clothesshop you should not fill this
--- more than it's already filled.
-Config.ShopsBlips = {
- -- Ears = {
- -- Pos = nil,
- -- Blip = nil
- -- },
- Mask = {
- Pos = {
- vector3(-1338.1, -1278.2, 3.8),
- },
- Blip = {sprite = 362, color = 2}
- },
- -- Helmet = {
- -- Pos = nil,
- -- Blip = nil
- -- },
- -- Glasses = {
- -- Pos = nil,
- -- Blip = nil
- -- }
-}
-
-Config.Zones = {
- Ears = {
- Pos = {
- vector3(80.3, -1389.4, 28.4),
- vector3(-163.0, -302.0, 38.8),
- vector3(-163.0,-302.0, 38.8),
- vector3(420.7, -809.6, 28.6),
- vector3(-817.0, -1075.9, 10.4),
- vector3(-1451.3, -238.2, 48.9),
- vector3(-0.7, 6513.6, 30.9),
- vector3(123.4, -208.0, 53.6),
- vector3(1687.3, 4827.6, 41.1),
- vector3(622.8, 2749.2, 41.2),
- vector3(1200.0, 2705.4, 37.3),
- vector3(-1199.9, -782.5, 16.4),
- vector3(-3171.8, 1059.6, 19.9),
- vector3(-1095.6, 2709.2, 18.2),
- }},
-
- Mask = {
- Pos = {
- vector3(-1338.1, -1278.2, 3.8),
- }},
-
- Helmet = {
- Pos = {
- vector3(81.5, -1400.6, 28.4),
- vector3(-705.8, -159.0, 36.5),
- vector3(-161.3, -295.7, 38.8),
- vector3(419.3, -800.6, 28.6),
- vector3(-824.3, -1081.7, 10.4),
- vector3(-1454.8, -242.9, 48.9),
- vector3(4.7, 6520.9, 30.9),
- vector3(121.0, -223.2, 53.3),
- vector3(1689.6, 4818.8, 41.1),
- vector3(613.9, 2749.9, 41.2),
- vector3(1189.5, 2703.9, 37.3),
- vector3(-1204.0, -774.4, 16.4),
- vector3(-3164.2, 1054.7, 19.9),
- vector3(-1103.1, 2700.5, 18.2),
- }},
-
- Glasses = {
- Pos = {
- vector3(75.2, -1391.1, 28.4),
- vector3(-713.1, -160.1, 36.5),
- vector3(-156.1, -300.5, 38.8),
- vector3(425.4, -807.8, 28.6),
- vector3(-820.8, -1072.9, 10.4),
- vector3(-1458.0, -236.7, 48.9),
- vector3(3.5, 6511.5, 30.9),
- vector3(131.3, -212.3, 53.6),
- vector3(1694.9, 4820.8, 41.1),
- vector3(613.9, 2768.8, 41.2),
- vector3(1198.6, 2711.0, 37.3),
- vector3(-1188.2, -764.5, 16.4),
- vector3(-3173.1, 1038.2, 19.9),
- vector3(-1100.4, 2712.4, 18.2),
- }}
-}
diff --git a/[esx_addons]/esx_accessories/esx_accessories.sql b/[esx_addons]/esx_accessories/esx_accessories.sql
deleted file mode 100644
index 9b48fc80..00000000
--- a/[esx_addons]/esx_accessories/esx_accessories.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('user_ears', 'Ears', 0),
- ('user_glasses', 'Glasses', 0),
- ('user_helmet', 'Helmet', 0),
- ('user_mask', 'Mask', 0)
-;
diff --git a/[esx_addons]/esx_accessories/fxmanifest.lua b/[esx_addons]/esx_accessories/fxmanifest.lua
deleted file mode 100644
index 62a23bbd..00000000
--- a/[esx_addons]/esx_accessories/fxmanifest.lua
+++ /dev/null
@@ -1,28 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Accessories'
-lua54 'yes'
-version '1.9.0'
-
-shared_scripts {
- '@es_extended/imports.lua',
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua'
-}
-
-server_scripts {
- 'server/main.lua'
-}
-
-client_scripts {
- 'client/main.lua'
-}
-
-dependencies {
- 'es_extended',
- 'esx_skin',
- 'esx_datastore'
-}
diff --git a/[esx_addons]/esx_accessories/locales/cs.lua b/[esx_addons]/esx_accessories/locales/cs.lua
deleted file mode 100644
index 60511d03..00000000
--- a/[esx_addons]/esx_accessories/locales/cs.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['cs'] = {
- ['valid_purchase'] = 'ověřit nákup?',
- ['yes'] = 'ano ($%s)',
- ['no'] = 'ne',
- ['helmet'] = 'helma / Čepice',
- ['glasses'] = 'brýle',
- ['mask'] = 'maska',
- ['ears'] = 'doplňky na uši',
- ['shop'] = '%s obchod',
- ['set_unset'] = 'nasadit / Sundat',
- ['not_enough_money'] = 'nemáte dostatek peněz',
- ['press_access'] = 'zmáčkněte [E] pro otevření menu',
- ['accessories_blip'] = 'doplňky',
- ['no_ears'] = 'nemáte doplňky na uši',
- ['no_glasses'] = 'nemáte brýle',
- ['no_helmet'] = 'nemáte helmu',
- ['no_mask'] = 'nemáte masku',
- ['you_paid'] = 'zaplatili jste $%s',
-}
diff --git a/[esx_addons]/esx_accessories/locales/de.lua b/[esx_addons]/esx_accessories/locales/de.lua
deleted file mode 100644
index 65f84446..00000000
--- a/[esx_addons]/esx_accessories/locales/de.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['de'] = {
- ['valid_purchase'] = 'Diesen Kauf bestätigen?',
- ['yes'] = 'Ja ($%s)',
- ['no'] = 'Nein',
- ['helmet'] = 'Helm / Hut',
- ['glasses'] = 'Brillen',
- ['mask'] = 'Maske',
- ['ears'] = 'Zubehör für die Ohren',
- ['shop'] = '%s Laden',
- ['set_unset'] = 'Anziehen / Ausziehen',
- ['not_enough_money'] = 'Du besitzt nicht genügend Geld',
- ['press_access'] = 'Drücke [E] um auf das Menü zuzugreifen',
- ['accessories_blip'] = 'Zubehör',
- ['no_ears'] = 'Sie besitzen kein Zubehör für die Ohren',
- ['no_glasses'] = 'Sie besitzen keine Brille',
- ['no_helmet'] = 'Sie besitzen kein Helm',
- ['no_mask'] = 'Sie besitzen keine Maske',
- ['you_paid'] = 'Sie bezahlten $%s',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_accessories/locales/en.lua b/[esx_addons]/esx_accessories/locales/en.lua
deleted file mode 100644
index dddb522f..00000000
--- a/[esx_addons]/esx_accessories/locales/en.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['en'] = {
- ['valid_purchase'] = 'validate this purchase?',
- ['yes'] = 'yes ($%s)',
- ['no'] = 'no',
- ['helmet'] = 'helmet / Hat',
- ['glasses'] = 'glasses',
- ['mask'] = 'mask',
- ['ears'] = 'ears accessories',
- ['shop'] = '%s shop',
- ['set_unset'] = 'put on / Take off',
- ['not_enough_money'] = 'you do not have enough money',
- ['press_access'] = 'press [E] to access the menu',
- ['accessories_blip'] = 'accessories',
- ['no_ears'] = 'you do not have ears accessories',
- ['no_glasses'] = 'you do not have glasses',
- ['no_helmet'] = 'you do not have a helmet',
- ['no_mask'] = 'you do not have a mask',
- ['you_paid'] = 'you paid $%s',
-}
diff --git a/[esx_addons]/esx_accessories/locales/es.lua b/[esx_addons]/esx_accessories/locales/es.lua
deleted file mode 100644
index 917d84a8..00000000
--- a/[esx_addons]/esx_accessories/locales/es.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['es'] = {
- ['valid_purchase'] = '¿Validar la compra?',
- ['yes'] = 'Si (%s$)',
- ['no'] = 'No',
- ['helmet'] = 'Casco / Gorra',
- ['glasses'] = 'Gafas',
- ['mask'] = 'Máscara',
- ['ears'] = 'Accesorio de oreja',
- ['shop'] = 'Tienda %s',
- ['set_unset'] = 'Ponerse / Quitarse',
- ['not_enough_money'] = '~r~No tienes suficiente dinero',
- ['press_access'] = 'Pulsa [E] para acceder al menú',
- ['accessories_blip'] = 'Accesorios',
- ['no_ears'] = 'No tienes ningún accesorio de oreja',
- ['no_glasses'] = 'No tienes ningunas gafas',
- ['no_helmet'] = 'No tienes ningún casco',
- ['no_mask'] = 'No tienes ninguna máscara',
- ['you_paid'] = 'Pagaste %s$',
-}
diff --git a/[esx_addons]/esx_accessories/locales/et.lua b/[esx_addons]/esx_accessories/locales/et.lua
deleted file mode 100644
index 734b1089..00000000
--- a/[esx_addons]/esx_accessories/locales/et.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['et'] = {
- ['valid_purchase'] = 'Kinnita ost?',
- ['yes'] = 'Jah ($%s)',
- ['no'] = 'Ei',
- ['helmet'] = 'Kiiver / Müts',
- ['glasses'] = 'Prillid',
- ['mask'] = 'Mask',
- ['ears'] = 'Kõrvarõngad',
- ['shop'] = '%s Pood',
- ['set_unset'] = 'Pane selga / Võta seljast',
- ['not_enough_money'] = 'Sul pole piisavalt raha',
- ['press_access'] = 'Vajuta [E], et avada menüü',
- ['accessories_blip'] = 'Aksessuaarid',
- ['no_ears'] = 'Sul pole kõrvarõngaid',
- ['no_glasses'] = 'Sul pole prille',
- ['no_helmet'] = 'Sul pole kiivrit',
- ['no_mask'] = 'Sul pole maski',
- ['you_paid'] = 'Sa maksid $%s',
-}
diff --git a/[esx_addons]/esx_accessories/locales/fi.lua b/[esx_addons]/esx_accessories/locales/fi.lua
deleted file mode 100644
index 12b6e897..00000000
--- a/[esx_addons]/esx_accessories/locales/fi.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['fi'] = {
- ['valid_purchase'] = 'varmista ostos?',
- ['yes'] = 'kyllä ($%s)',
- ['no'] = 'ei',
- ['helmet'] = 'kypärä / Hattu',
- ['glasses'] = 'lasit',
- ['mask'] = 'maskit',
- ['ears'] = 'korva asusteet',
- ['shop'] = '%s asustekauppa',
- ['set_unset'] = 'laita päälle / Ota pois',
- ['not_enough_money'] = 'sinulla ei ole tarpeeksi rahaa',
- ['press_access'] = 'paina [E] avataksesi menu',
- ['accessories_blip'] = 'asusteet',
- ['no_ears'] = 'sinulla ei ole korva asusteita',
- ['no_glasses'] = 'sinulla ei ole laseja',
- ['no_helmet'] = 'sinulla ei ole kypäriä',
- ['no_mask'] = 'sinulla ei ole maskeja',
- ['you_paid'] = 'sinä maksoit $%s',
-}
diff --git a/[esx_addons]/esx_accessories/locales/fr.lua b/[esx_addons]/esx_accessories/locales/fr.lua
deleted file mode 100644
index fda53502..00000000
--- a/[esx_addons]/esx_accessories/locales/fr.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['fr'] = {
- ['valid_purchase'] = 'valider cet achat?',
- ['yes'] = 'oui ($%s)',
- ['no'] = 'non',
- ['helmet'] = 'casque / Chapeau',
- ['glasses'] = 'lunettes',
- ['mask'] = 'masque',
- ['ears'] = 'accessoires d\'oreilles',
- ['shop'] = ' Magasin de %s',
- ['set_unset'] = 'mettre / Enlever',
- ['not_enough_money'] = 'vous n\'avez pas assez d\'argent',
- ['press_access'] = 'appuyez sur [E] pour accéder au menu',
- ['accessories_blip'] = 'accessoires',
- ['no_ears'] = 'vous n\'avez pas d\'accessoires d\'oreilles',
- ['no_glasses'] = 'vous n\'avez pas de lunettes',
- ['no_helmet'] = 'vous n\'avez pas de casque / chapeau',
- ['no_mask'] = 'vous n\'avez pas de masque',
- ['you_paid'] = 'vous avez payé $%s',
-}
diff --git a/[esx_addons]/esx_accessories/locales/hu.lua b/[esx_addons]/esx_accessories/locales/hu.lua
deleted file mode 100644
index fcc170bf..00000000
--- a/[esx_addons]/esx_accessories/locales/hu.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['hu'] = {
- ['valid_purchase'] = 'Biztosan megveszed?',
- ['yes'] = 'Igen ($%s)',
- ['no'] = 'Nem',
- ['helmet'] = 'sisak / kalap',
- ['glasses'] = 'szemüveg',
- ['mask'] = 'maszk',
- ['ears'] = 'fül tartozékok',
- ['shop'] = '%s bolt',
- ['set_unset'] = 'Felvenni / Levenni',
- ['not_enough_money'] = 'Nincsen elég pénzed',
- ['press_access'] = 'Nyomj [E] hogy megnyisd a kiegészítöket',
- ['accessories_blip'] = 'Kiegészítők',
- ['no_ears'] = 'Nincsen fülbevalód',
- ['no_glasses'] = 'Nincsen szemüveged',
- ['no_helmet'] = 'Nincsen sapkád',
- ['no_mask'] = 'Nincsen maszkod',
- ['you_paid'] = 'Fizettél $%s',
-}
diff --git a/[esx_addons]/esx_accessories/locales/it.lua b/[esx_addons]/esx_accessories/locales/it.lua
deleted file mode 100644
index f38b7e50..00000000
--- a/[esx_addons]/esx_accessories/locales/it.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['it'] = {
- ['valid_purchase'] = 'confermare l\'acquisto?',
- ['yes'] = 'si ($%s)',
- ['no'] = 'no',
- ['helmet'] = 'casco / cappello',
- ['glasses'] = 'occhiali',
- ['mask'] = 'maschera',
- ['ears'] = 'accessori per le orecchie',
- ['shop'] = '%s negozio',
- ['set_unset'] = 'indossare / togliere',
- ['not_enough_money'] = 'non hai abbastanza soldi',
- ['press_access'] = 'premi [E] per accedere al menu',
- ['accessories_blip'] = 'accessori',
- ['no_ears'] = 'non hai accessori per le orecchie',
- ['no_glasses'] = 'non hai gli occhiali',
- ['no_helmet'] = 'non hai il casco',
- ['no_mask'] = 'non hai una maschera',
- ['you_paid'] = 'hai pagato $%s',
-}
diff --git a/[esx_addons]/esx_accessories/locales/nl.lua b/[esx_addons]/esx_accessories/locales/nl.lua
deleted file mode 100644
index 0f93879c..00000000
--- a/[esx_addons]/esx_accessories/locales/nl.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['nl'] = {
- ['valid_purchase'] = 'kopen?',
- ['yes'] = 'ja ($%s)',
- ['no'] = 'nee',
- ['helmet'] = 'Helm / Hoed',
- ['glasses'] = 'Brillen',
- ['mask'] = 'Masker',
- ['ears'] = 'Oor accessories',
- ['shop'] = '%s Winkel',
- ['set_unset'] = 'Doe aan / doe uit',
- ['not_enough_money'] = 'Je hebt niet genoeg geld',
- ['press_access'] = 'Druk op [E] om het menu te openen',
- ['accessories_blip'] = 'Accessories',
- ['no_ears'] = 'Je hebt geen oor accessories',
- ['no_glasses'] = 'je hebt geen brillen',
- ['no_helmet'] = 'je hebt geen helm',
- ['no_mask'] = 'je hebt geen masker',
- ['you_paid'] = 'je betaalde $%s',
-}
diff --git a/[esx_addons]/esx_accessories/locales/pl.lua b/[esx_addons]/esx_accessories/locales/pl.lua
deleted file mode 100644
index c84e9aeb..00000000
--- a/[esx_addons]/esx_accessories/locales/pl.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['pl'] = {
- ['valid_purchase'] = 'czy napewno chcesz to zakupić?',
- ['yes'] = 'tak (%s $)',
- ['no'] = 'nie',
- ['helmet'] = 'hełm / Czapka',
- ['glasses'] = 'okulary',
- ['mask'] = 'maska',
- ['ears'] = 'akcesoria uszu',
- ['shop'] = 'sklep %s ',
- ['set_unset'] = 'załóż / Zdejmij',
- ['not_enough_money'] = 'nie masz wystarczająco pieniędzy',
- ['press_access'] = 'wciśnij [E] aby otworzyć menu',
- ['accessories_blip'] = 'akcesoria',
- ['no_ears'] = 'nie posiadasz akcesorii uszu',
- ['no_glasses'] = 'nie posiadasz okularów',
- ['no_helmet'] = 'nie posiadasz nakrycia głowy',
- ['no_mask'] = 'nie posiadasz maski',
- ['you_paid'] = 'płacisz %s $',
-}
diff --git a/[esx_addons]/esx_accessories/locales/ru.lua b/[esx_addons]/esx_accessories/locales/ru.lua
deleted file mode 100644
index a4fe7a56..00000000
--- a/[esx_addons]/esx_accessories/locales/ru.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['ru'] = {
- ['valid_purchase'] = 'Подтверждаете покупку',
- ['yes'] = 'Да ($%s)',
- ['no'] = 'Нет',
- ['helmet'] = 'Шлем / Шапка',
- ['glasses'] = 'Очки',
- ['mask'] = 'Маска',
- ['ears'] = 'Аксессуары для ушей',
- ['shop'] = 'Магазин %s',
- ['set_unset'] = 'Положить / Снять',
- ['not_enough_money'] = 'У вас не достаточно денег',
- ['press_access'] = 'Нажмите [E] для доступа к меню',
- ['accessories_blip'] = 'Аксессуары',
- ['no_ears'] = 'У вас нет аксессуаров для ушей',
- ['no_glasses'] = 'У вас нет очков',
- ['no_helmet'] = 'У вас нет шлема',
- ['no_mask'] = 'У вас нет маски',
- ['you_paid'] = 'Вы заплатили $%s',
-}
diff --git a/[esx_addons]/esx_accessories/locales/si.lua b/[esx_addons]/esx_accessories/locales/si.lua
deleted file mode 100644
index 56419907..00000000
--- a/[esx_addons]/esx_accessories/locales/si.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['si'] = {
- ['valid_purchase'] = 'Potrdite ta nakup?',
- ['yes'] = 'Da ($%s)',
- ['no'] = 'Ne',
- ['helmet'] = 'Celada / Kapa',
- ['glasses'] = 'Ocala',
- ['mask'] = 'Maska',
- ['ears'] = 'Usesni dodatki',
- ['shop'] = '%s trgovina',
- ['set_unset'] = 'Daj gor / Vzemi dol',
- ['not_enough_money'] = 'Nimas dovolj denarja',
- ['press_access'] = 'Pritisni [E] za dostop do menuja',
- ['accessories_blip'] = 'Dodatki',
- ['no_ears'] = 'Nimas usesnih dodatkov',
- ['no_glasses'] = 'Nimas ocal',
- ['no_helmet'] = 'Nimas celade',
- ['no_mask'] = 'Nimas maske',
- ['you_paid'] = 'Placal si $%s',
-}
diff --git a/[esx_addons]/esx_accessories/locales/sv.lua b/[esx_addons]/esx_accessories/locales/sv.lua
deleted file mode 100644
index decfee36..00000000
--- a/[esx_addons]/esx_accessories/locales/sv.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales ['sv'] = {
- ['valid_purchase'] = 'Bekräfta köp?',
- ['yes'] = 'Ja (%s SEK)',
- ['no'] = 'Nej',
- ['helmet'] = 'Hjälm / hatt',
- ['glasses'] = 'Glasögon',
- ['mask'] = 'Mask',
- ['ears'] = 'Öron tillbehör',
- ['shop'] = '%s affär',
- ['set_unset'] = 'Ta på / av',
- ['not_enough_money'] = 'Du har inte tillräckligt med pengar',
- ['press_access'] = 'Tryck [E] för att komma åt menyn',
- ['accessories_blip'] = 'Tillbehör',
- ['no_ears'] = 'Du har inga örontillbehör',
- ['no_glasses'] = 'Du har inga glasögon',
- ['no_helmet'] = 'Du har ingen hjälm',
- ['no_mask'] = 'Du har ingen mask',
- ['you_paid'] = 'Du betalade %s SEK',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_accessories/server/main.lua b/[esx_addons]/esx_accessories/server/main.lua
deleted file mode 100644
index 8f867f46..00000000
--- a/[esx_addons]/esx_accessories/server/main.lua
+++ /dev/null
@@ -1,43 +0,0 @@
-RegisterServerEvent('esx_accessories:pay')
-AddEventHandler('esx_accessories:pay', function()
- local xPlayer = ESX.GetPlayerFromId(source)
-
- xPlayer.removeMoney(Config.Price, "Accessory Purchase")
- TriggerClientEvent('esx:showNotification', source, TranslateCap('you_paid', ESX.Math.GroupDigits(Config.Price)))
-end)
-
-RegisterServerEvent('esx_accessories:save')
-AddEventHandler('esx_accessories:save', function(skin, accessory)
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
-
- TriggerEvent('esx_datastore:getDataStore', 'user_' .. string.lower(accessory), xPlayer.identifier, function(store)
- store.set('has' .. accessory, true)
-
- local itemSkin = {}
- local item1 = string.lower(accessory) .. '_1'
- local item2 = string.lower(accessory) .. '_2'
- itemSkin[item1] = skin[item1]
- itemSkin[item2] = skin[item2]
-
- store.set('skin', itemSkin)
- end)
-end)
-
-ESX.RegisterServerCallback('esx_accessories:get', function(source, cb, accessory)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- TriggerEvent('esx_datastore:getDataStore', 'user_' .. string.lower(accessory), xPlayer.identifier, function(store)
- local hasAccessory = (store.get('has' .. accessory) and store.get('has' .. accessory) or false)
- local skin = (store.get('skin') and store.get('skin') or {})
-
- cb(hasAccessory, skin)
- end)
-
-end)
-
-ESX.RegisterServerCallback('esx_accessories:checkMoney', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- cb(xPlayer.getMoney() >= Config.Price)
-end)
diff --git a/[esx_addons]/esx_addonaccount/.editorconfig b/[esx_addons]/esx_addonaccount/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_addonaccount/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_addonaccount/LICENSE b/[esx_addons]/esx_addonaccount/LICENSE
deleted file mode 100644
index 84e62eb2..00000000
--- a/[esx_addons]/esx_addonaccount/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_addonaccount/README.md b/[esx_addons]/esx_addonaccount/README.md
deleted file mode 100644
index 34242b98..00000000
--- a/[esx_addons]/esx_addonaccount/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-
[ESX] Addon Account
Discord - Website - Documentation
-
-Special Accounts System to store money.
-
-# Usage
-
-There is two types of accounts: shared and not shared.
-
-- Shared accounts doesn't belong to a specific user. Example: society accounts.
-- None-shared accounts are created for every user in the server. They are created in db when player is loaded, Example: property black money
-
-## `addon_account` database information
-
-An addon account must be configured in the database before using it. Don't forget to run a server restart afterwards (you can alternative restart the script and relog all clients)
-
-| `name` | `label` | `shared` |
-| -------- | ------- | -------- |
-| name of the account | label of the account (not used) | is the account shared with others? (boolean either `0` or `1`) |
-
-```lua
-TriggerEvent('esx_addonaccount:getSharedAccount', 'society_realestateagent', function(account)
- account.addMoney(500)
-end)
-
-TriggerEvent('esx_addonaccount:getAccount', 'property_black_money', 'steam:0123456789', function(account)
- account.removeMoney(500)
-end)
-```
-
-# Legal
-
-esx_addonaccount - addon account for ESX
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
diff --git a/[esx_addons]/esx_addonaccount/esx_addonaccount.sql b/[esx_addons]/esx_addonaccount/esx_addonaccount.sql
deleted file mode 100644
index 8f766473..00000000
--- a/[esx_addons]/esx_addonaccount/esx_addonaccount.sql
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-CREATE TABLE `addon_account` (
- `name` VARCHAR(60) NOT NULL,
- `label` VARCHAR(100) NOT NULL,
- `shared` INT NOT NULL,
-
- PRIMARY KEY (`name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
-
-CREATE TABLE `addon_account_data` (
- `id` INT NOT NULL AUTO_INCREMENT,
- `account_name` VARCHAR(100) DEFAULT NULL,
- `money` INT NOT NULL,
- `owner` VARCHAR(60) DEFAULT NULL,
-
- PRIMARY KEY (`id`),
- UNIQUE INDEX `index_addon_account_data_account_name_owner` (`account_name`, `owner`),
- INDEX `index_addon_account_data_account_name` (`account_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
diff --git a/[esx_addons]/esx_addonaccount/fxmanifest.lua b/[esx_addons]/esx_addonaccount/fxmanifest.lua
deleted file mode 100644
index 863c314d..00000000
--- a/[esx_addons]/esx_addonaccount/fxmanifest.lua
+++ /dev/null
@@ -1,17 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-author 'ESX-Framework'
-description 'ESX Addon Account'
-lua54 'yes'
-version '1.9.0'
-
-server_scripts {
- '@es_extended/imports.lua',
- '@oxmysql/lib/MySQL.lua',
- 'server/classes/addonaccount.lua',
- 'server/main.lua'
-}
-
-dependency 'es_extended'
diff --git a/[esx_addons]/esx_addonaccount/server/classes/addonaccount.lua b/[esx_addons]/esx_addonaccount/server/classes/addonaccount.lua
deleted file mode 100644
index 2364409d..00000000
--- a/[esx_addons]/esx_addonaccount/server/classes/addonaccount.lua
+++ /dev/null
@@ -1,36 +0,0 @@
-function CreateAddonAccount(name, owner, money)
- local self = {}
-
- self.name = name
- self.owner = owner
- self.money = money
-
- function self.addMoney(m)
- self.money = self.money + m
- self.save()
- TriggerEvent('esx_addonaccount:addMoney', self.name, m)
- end
-
- function self.removeMoney(m)
- self.money = self.money - m
- self.save()
- TriggerEvent('esx_addonaccount:removeMoney', self.name, m)
- end
-
- function self.setMoney(m)
- self.money = m
- self.save()
- TriggerEvent('esx_addonaccount:setMoney', self.name, m)
- end
-
- function self.save()
- if self.owner == nil then
- MySQL.update('UPDATE addon_account_data SET money = ? WHERE account_name = ?', {self.money, self.name})
- else
- MySQL.update('UPDATE addon_account_data SET money = ? WHERE account_name = ? AND owner = ?', {self.money, self.name, self.owner})
- end
- TriggerClientEvent('esx_addonaccount:setMoney', -1, self.name, self.money)
- end
-
- return self
-end
diff --git a/[esx_addons]/esx_addonaccount/server/main.lua b/[esx_addons]/esx_addonaccount/server/main.lua
deleted file mode 100644
index 39a580fe..00000000
--- a/[esx_addons]/esx_addonaccount/server/main.lua
+++ /dev/null
@@ -1,73 +0,0 @@
-local AccountsIndex, Accounts, SharedAccounts = {}, {}, {}
-
-AddEventHandler('onResourceStart', function(resourceName)
- if resourceName == GetCurrentResourceName() then
- local accounts = MySQL.query.await('SELECT * FROM addon_account LEFT JOIN addon_account_data ON addon_account.name = addon_account_data.account_name UNION SELECT * FROM addon_account RIGHT JOIN addon_account_data ON addon_account.name = addon_account_data.account_name')
-
- local newAccounts = {}
- for i = 1, #accounts do
- local account = accounts[i]
- if account.shared == 0 then
- if not Accounts[account.name] then
- AccountsIndex[#AccountsIndex + 1] = account.name
- Accounts[account.name] = {}
- end
- Accounts[account.name][#Accounts[account.name] + 1] = CreateAddonAccount(account.name, account.owner, account.money)
- else
- if account.money then
- SharedAccounts[account.name] = CreateAddonAccount(account.name, nil, account.money)
- else
- newAccounts[#newAccounts + 1] = {account.name, 0}
- end
- end
- end
-
- if next(newAccounts) then
- MySQL.prepare('INSERT INTO addon_account_data (account_name, money) VALUES (?, ?)', newAccounts)
- for i = 1, #newAccounts do
- local newAccount = newAccounts[i]
- SharedAccounts[newAccount[1]] = CreateAddonAccount(newAccount[1], nil, 0)
- end
- end
- end
-end)
-
-function GetAccount(name, owner)
- for i=1, #Accounts[name], 1 do
- if Accounts[name][i].owner == owner then
- return Accounts[name][i]
- end
- end
-end
-
-function GetSharedAccount(name)
- return SharedAccounts[name]
-end
-
-AddEventHandler('esx_addonaccount:getAccount', function(name, owner, cb)
- cb(GetAccount(name, owner))
-end)
-
-AddEventHandler('esx_addonaccount:getSharedAccount', function(name, cb)
- cb(GetSharedAccount(name))
-end)
-
-AddEventHandler('esx:playerLoaded', function(playerId, xPlayer)
- local addonAccounts = {}
-
- for i=1, #AccountsIndex, 1 do
- local name = AccountsIndex[i]
- local account = GetAccount(name, xPlayer.identifier)
-
- if account == nil then
- MySQL.insert('INSERT INTO addon_account_data (account_name, money, owner) VALUES (?, ?, ?)', {name, 0, xPlayer.identifier})
-
- account = CreateAddonAccount(name, xPlayer.identifier, 0)
- Accounts[name][#Accounts[name] + 1] = account
- end
-
- addonAccounts[#addonAccounts + 1] = account
- end
-
- xPlayer.set('addonAccounts', addonAccounts)
-end)
diff --git a/[esx_addons]/esx_addoninventory/.editorconfig b/[esx_addons]/esx_addoninventory/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_addoninventory/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_addoninventory/LICENSE b/[esx_addons]/esx_addoninventory/LICENSE
deleted file mode 100644
index b13054b5..00000000
--- a/[esx_addons]/esx_addoninventory/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_addoninventory/README.md b/[esx_addons]/esx_addoninventory/README.md
deleted file mode 100644
index ecf72bc5..00000000
--- a/[esx_addons]/esx_addoninventory/README.md
+++ /dev/null
@@ -1,61 +0,0 @@
-# esx_addoninventory
-
-## Download & Installation
-
-### Using [fvm](https://github.com/qlaffont/fvm-installer)
-```
-fvm install --save --folder=esx esx-org/esx_addoninventory
-```
-
-### Using Git
-```
-cd resources
-git clone https://github.com/ESX-Org/esx_addoninventory [esx]/esx_addoninventory
-```
-
-### Manually
-- Download https://github.com/ESX-Org/esx_addoninventory/archive/master.zip
-- Put it in the `[esx]` directory
-
-## Installation
-- Import `esx_addoninventory.sql` in your database
-- Add this in your `server.cfg`:
-
-```
-start esx_addoninventory
-```
-
-## Usage
-There are two types of inventories: shared and not shared.
-
-- Shared inventories don't belong to a specific user. Example: foodstore items.
-- None-shared inventories are created for every user in the server. They are created in db when player is loaded, Example: property items
-
-### `addon_inventory` database information
-An addon inventory must be configured in the database before using it. Don't forget to run a server restart afterwards (you can alternative restart the script and relog all clients)
-
-| `name` | `label` | `shared` |
-| -------- | ------- | -------- |
-| name of the inventory | label of the inventory (not used) | is the inventory shared with others? (boolean either `0` or `1`) |
-
-```lua
-TriggerEvent('esx_addoninventory:getSharedInventory', 'society_police', function(inventory)
- inventory.addItem('bread', 1)
-end)
-
-TriggerEvent('esx_addoninventory:getInventory', 'property', 'steam:0123456789', function(inventory)
- inventory.removeItem('water', 1)
-end)
-
-```
-# Legal
-### License
-esx_addoninventory - inventories!
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
\ No newline at end of file
diff --git a/[esx_addons]/esx_addoninventory/esx_addoninventory.sql b/[esx_addons]/esx_addoninventory/esx_addoninventory.sql
deleted file mode 100644
index ed102240..00000000
--- a/[esx_addons]/esx_addoninventory/esx_addoninventory.sql
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-CREATE TABLE `addon_inventory` (
- `name` VARCHAR(60) NOT NULL,
- `label` VARCHAR(100) NOT NULL,
- `shared` INT NOT NULL,
-
- PRIMARY KEY (`name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
-
-CREATE TABLE `addon_inventory_items` (
- `id` INT NOT NULL AUTO_INCREMENT,
- `inventory_name` VARCHAR(100) NOT NULL,
- `name` VARCHAR(100) NOT NULL,
- `count` INT NOT NULL,
- `owner` VARCHAR(60) DEFAULT NULL,
-
- PRIMARY KEY (`id`),
- INDEX `index_addon_inventory_items_inventory_name_name` (`inventory_name`, `name`),
- INDEX `index_addon_inventory_items_inventory_name_name_owner` (`inventory_name`, `name`, `owner`),
- INDEX `index_addon_inventory_inventory_name` (`inventory_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
diff --git a/[esx_addons]/esx_addoninventory/fxmanifest.lua b/[esx_addons]/esx_addoninventory/fxmanifest.lua
deleted file mode 100644
index a2dc2fdf..00000000
--- a/[esx_addons]/esx_addoninventory/fxmanifest.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Addon Inventory'
-lua54 'yes'
-version '1.9.0'
-
-server_scripts {
- '@es_extended/imports.lua',
- '@oxmysql/lib/MySQL.lua',
- 'server/classes/addoninventory.lua',
- 'server/main.lua'
-}
-
-dependency 'es_extended'
diff --git a/[esx_addons]/esx_addoninventory/server/classes/addoninventory.lua b/[esx_addons]/esx_addoninventory/server/classes/addoninventory.lua
deleted file mode 100644
index d5148f40..00000000
--- a/[esx_addons]/esx_addoninventory/server/classes/addoninventory.lua
+++ /dev/null
@@ -1,83 +0,0 @@
-function CreateAddonInventory(name, owner, items)
- local self = {}
-
- self.name = name
- self.owner = owner
- self.items = items
-
- function self.addItem(name, count)
- local item = self.getItem(name)
- item.count = item.count + count
- Wait(100)
- self.saveItem(name, item.count)
- end
-
- function self.removeItem(name, count)
- local item = self.getItem(name)
- item.count = item.count - count
-
- self.saveItem(name, item.count)
- end
-
- function self.setItem(name, count)
- local item = self.getItem(name)
- item.count = count
-
- self.saveItem(name, item.count)
- end
-
- function self.getItem(name)
- for i=1, #self.items, 1 do
- if self.items[i].name == name then
- return self.items[i]
- end
- end
-
- item = {
- name = name,
- count = 0,
- label = Items[name]
- }
-
- table.insert(self.items, item)
-
- if self.owner == nil then
- MySQL.update('INSERT INTO addon_inventory_items (inventory_name, name, count) VALUES (@inventory_name, @item_name, @count)',
- {
- ['@inventory_name'] = self.name,
- ['@item_name'] = name,
- ['@count'] = 0
- })
- else
- MySQL.update('INSERT INTO addon_inventory_items (inventory_name, name, count, owner) VALUES (@inventory_name, @item_name, @count, @owner)',
- {
- ['@inventory_name'] = self.name,
- ['@item_name'] = name,
- ['@count'] = 0,
- ['@owner'] = self.owner
- })
- end
-
- return item
- end
-
- function self.saveItem(name, count)
- if self.owner == nil then
- MySQL.update('UPDATE addon_inventory_items SET count = @count WHERE inventory_name = @inventory_name AND name = @item_name', {
- ['@inventory_name'] = self.name,
- ['@item_name'] = name,
- ['@count'] = count
- })
- else
- MySQL.update('UPDATE addon_inventory_items SET count = @count WHERE inventory_name = @inventory_name AND name = @item_name AND owner = @owner', {
- ['@inventory_name'] = self.name,
- ['@item_name'] = name,
- ['@count'] = count,
- ['@owner'] = self.owner
- })
- end
- end
-
- return self
-end
-
diff --git a/[esx_addons]/esx_addoninventory/server/main.lua b/[esx_addons]/esx_addoninventory/server/main.lua
deleted file mode 100644
index 3ed154f0..00000000
--- a/[esx_addons]/esx_addoninventory/server/main.lua
+++ /dev/null
@@ -1,119 +0,0 @@
-if ESX.GetConfig().OxInventory then
- AddEventHandler('onServerResourceStart', function(resourceName)
- if resourceName == 'ox_inventory' or resourceName == GetCurrentResourceName() then
- local stashes = MySQL.query.await('SELECT * FROM addon_inventory')
-
- for i=1, #stashes do
- local stash = stashes[i]
- local jobStash = stash.name:find('society') and string.sub(stash.name, 9)
- exports.ox_inventory:RegisterStash(stash.name, stash.label, 100, 200000, stash.shared == 0 and true or false, jobStash)
- end
- end
- end)
-
- return
-end
-
-Items = {}
-local InventoriesIndex, Inventories, SharedInventories = {}, {}, {}
-
-MySQL.ready(function()
- local items = MySQL.query.await('SELECT * FROM items')
-
- for i=1, #items, 1 do
- Items[items[i].name] = items[i].label
- end
-
- local result = MySQL.query.await('SELECT * FROM addon_inventory')
-
- for i=1, #result, 1 do
- local name = result[i].name
- local label = result[i].label
- local shared = result[i].shared
-
- local result2 = MySQL.query.await('SELECT * FROM addon_inventory_items WHERE inventory_name = @inventory_name', {
- ['@inventory_name'] = name
- })
-
- if shared == 0 then
-
- table.insert(InventoriesIndex, name)
-
- Inventories[name] = {}
- local items = {}
-
- for j=1, #result2, 1 do
- local itemName = result2[j].name
- local itemCount = result2[j].count
- local itemOwner = result2[j].owner
-
- if items[itemOwner] == nil then
- items[itemOwner] = {}
- end
-
- table.insert(items[itemOwner], {
- name = itemName,
- count = itemCount,
- label = Items[itemName]
- })
- end
-
- for k,v in pairs(items) do
- local addonInventory = CreateAddonInventory(name, k, v)
- table.insert(Inventories[name], addonInventory)
- end
-
- else
- local items = {}
-
- for j=1, #result2, 1 do
- table.insert(items, {
- name = result2[j].name,
- count = result2[j].count,
- label = Items[result2[j].name]
- })
- end
-
- local addonInventory = CreateAddonInventory(name, nil, items)
- SharedInventories[name] = addonInventory
- end
- end
-end)
-
-function GetInventory(name, owner)
- for i=1, #Inventories[name], 1 do
- if Inventories[name][i].owner == owner then
- return Inventories[name][i]
- end
- end
-end
-
-function GetSharedInventory(name)
- return SharedInventories[name]
-end
-
-AddEventHandler('esx_addoninventory:getInventory', function(name, owner, cb)
- cb(GetInventory(name, owner))
-end)
-
-AddEventHandler('esx_addoninventory:getSharedInventory', function(name, cb)
- cb(GetSharedInventory(name))
-end)
-
-AddEventHandler('esx:playerLoaded', function(playerId, xPlayer)
- local addonInventories = {}
-
- for i=1, #InventoriesIndex, 1 do
- local name = InventoriesIndex[i]
- local inventory = GetInventory(name, xPlayer.identifier)
-
- if inventory == nil then
- inventory = CreateAddonInventory(name, xPlayer.identifier, {})
- table.insert(Inventories[name], inventory)
- end
-
- table.insert(addonInventories, inventory)
- end
-
- xPlayer.set('addonInventories', addonInventories)
-end)
diff --git a/[esx_addons]/esx_allowlist/LICENSE b/[esx_addons]/esx_allowlist/LICENSE
deleted file mode 100644
index ba3b7265..00000000
--- a/[esx_addons]/esx_allowlist/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
diff --git a/[esx_addons]/esx_allowlist/README.md b/[esx_addons]/esx_allowlist/README.md
deleted file mode 100644
index 010ba7e4..00000000
--- a/[esx_addons]/esx_allowlist/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-
[ESX] Allowlist
Discord - Website - Documentation
-
-block those evil intruders with ESX Allowlist!
-This Script allows you to block all players from joining and specify the only players who can join!
-
-## Legal
-
-esx_allowlist- block those evil intruders!
-
-Copyright (C) 2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see .
diff --git a/[esx_addons]/esx_allowlist/config.lua b/[esx_addons]/esx_allowlist/config.lua
deleted file mode 100644
index 2dadfb4e..00000000
--- a/[esx_addons]/esx_allowlist/config.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Config = {}
-
-Config.Locale = GetConvar('esx:locale', 'en')
-Config.MinPlayer = 10 --Set how many players need to be connect before whitelist start, 0-32
diff --git a/[esx_addons]/esx_allowlist/fxmanifest.lua b/[esx_addons]/esx_allowlist/fxmanifest.lua
deleted file mode 100644
index d852b300..00000000
--- a/[esx_addons]/esx_allowlist/fxmanifest.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-author 'ESX-Framework'
-description 'Offical AllowList script for ESX'
-
-version '1.9.0'
-lua54 'yes'
-server_only 'yes'
-
-server_scripts {
- '@es_extended/imports.lua',
- '@es_extended/locale.lua',
- 'config.lua',
- 'locales/*.lua',
- 'server/main.lua'
-}
diff --git a/[esx_addons]/esx_allowlist/locales/br.lua b/[esx_addons]/esx_allowlist/locales/br.lua
deleted file mode 100644
index caa853f8..00000000
--- a/[esx_addons]/esx_allowlist/locales/br.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['br'] = {
- ['allowlist_check'] = 'certificando-se de que você está na lista de permitidos(allowlist) neste servidor. . .',
- ['not_allowlisted'] = 'você não está na lista de permitidos(allowlist) neste servidor',
- ['steamid_error'] = 'seu ID do Steam não foi encontrado, o Steam está aberto?',
- ['allowlist_empty'] = 'a lista de permitidos(allowlist) ainda não foi carregada ou ninguém foi incluído!',
- ['help_allowlist_add'] = 'adicionar alguém à lista de permitidos(allowlist) no servidor',
- ['help_allowlist_load'] = 'recarregar a lista de permitidos(allowlist)',
-}
-
diff --git a/[esx_addons]/esx_allowlist/locales/de.lua b/[esx_addons]/esx_allowlist/locales/de.lua
deleted file mode 100644
index 794607d1..00000000
--- a/[esx_addons]/esx_allowlist/locales/de.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['de'] = {
- ['allowlist_check'] = 'Überprüfe ob sie auf der Allowlist sind...',
- ['not_allowlisted'] = 'Sie müssen auf der Allowlist sein, um diesem Server beizutreten!',
- ['allowlist_empty'] = 'Für diesen Server sind keine allowlists gespeichert.',
- ['license_missing'] = 'Error: Ihr Identifier fehlt.',
- ['help_allowlist_add'] = 'jemanden zur Allowlist hinzufügen',
- ['help_allowlist_load'] = 'lade die Allowlist neu',
- }
-
\ No newline at end of file
diff --git a/[esx_addons]/esx_allowlist/locales/en.lua b/[esx_addons]/esx_allowlist/locales/en.lua
deleted file mode 100644
index 96281f8d..00000000
--- a/[esx_addons]/esx_allowlist/locales/en.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-Locales['en'] = {
- ['allowlist_check'] = 'Checking if you are Allowlisted.',
- ['not_allowlisted'] = 'You Must be Allowlisted to join this server!',
- ['allowlist_empty'] = 'There Are no allowlists saved for this server.',
- ['license_missing'] = 'Error: Your Identifier is missing!',
- ['help_allowlist_add'] = 'add someone to the allowlist',
- ['help_allowlist_load'] = 'reload the allowlist',
-}
diff --git a/[esx_addons]/esx_allowlist/locales/es.lua b/[esx_addons]/esx_allowlist/locales/es.lua
deleted file mode 100644
index cb95a64b..00000000
--- a/[esx_addons]/esx_allowlist/locales/es.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-Locales['es'] = {
- ['allowlist_check'] = 'revisando si tienes la allowlist . . .',
- ['not_allowlisted'] = 'no tenes la allowlist en este servidor',
- ['allowlist_empty'] = 'La allowlist todavia no cargo, o alternativamente nadie la tiene',
- ['license_missing'] = 'no se pudo encontrar tu licencia',
- ['help_allowlist_add'] = 'agregar a la allowlist',
- ['help_allowlist_load'] = 'recargar allowlist',
-}
diff --git a/[esx_addons]/esx_allowlist/locales/et.lua b/[esx_addons]/esx_allowlist/locales/et.lua
deleted file mode 100644
index 2ddadf89..00000000
--- a/[esx_addons]/esx_allowlist/locales/et.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-Locales['et'] = {
- ['allowlist_check'] = 'Kontrollime, kas te olete allowlistis.',
- ['not_allowlisted'] = 'Sa pead olema Allowlistis, et ühineda serveriga!',
- ['allowlist_empty'] = 'Ühtegi inimest pole allowlistis.',
- ['license_missing'] = 'Viga: Sul puudub identifier!',
- ['help_allowlist_add'] = 'Lisa inimene allowlisti',
- ['help_allowlist_load'] = 'Lae allowlist uuesti',
-}
diff --git a/[esx_addons]/esx_allowlist/locales/fr.lua b/[esx_addons]/esx_allowlist/locales/fr.lua
deleted file mode 100644
index ddf36727..00000000
--- a/[esx_addons]/esx_allowlist/locales/fr.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-Locales['fr'] = {
- ['allowlist_check'] = 'Etes vous sûr d\'être allowlisté sur ce serveur ...',
- ['not_allowlisted'] = 'Ce serveur utilise une allowlist',
- ['allowlist_empty'] = 'La allowlist n\'a pas été rechargé ou vous n\'avez pas été allowlisté',
- ['license_missing'] = 'Votre license est introuvable',
- ['help_allowlist_add'] = 'Ajouter un joueur à la Whitelist',
- ['help_allowlist_load'] = 'Recharger la Whitelist',
-}
diff --git a/[esx_addons]/esx_allowlist/locales/hu.lua b/[esx_addons]/esx_allowlist/locales/hu.lua
deleted file mode 100644
index 7bd30405..00000000
--- a/[esx_addons]/esx_allowlist/locales/hu.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-Locales['hu'] = {
- ['allowlist_check'] = 'Ellenőrizzük fent vagy-e a menők listáján.',
- ['not_allowlisted'] = 'Engedélyezettnek kell lenned ahhoz, hogy csatlakozz ehhez a szerverhez!',
- ['allowlist_empty'] = 'Ehhez a szerverhez nincsenek mentett engedélyezési lista.',
- ['license_missing'] = 'Hiba: Te azonosítód hiányzik!',
- ['help_allowlist_add'] = 'játékos felvétele az engedélyezettek listájára',
- ['help_allowlist_load'] = 'engedélyezési lista újratöltése',
-}
diff --git a/[esx_addons]/esx_allowlist/locales/it.lua b/[esx_addons]/esx_allowlist/locales/it.lua
deleted file mode 100644
index a0ec9366..00000000
--- a/[esx_addons]/esx_allowlist/locales/it.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-Locales['it'] = {
- ['allowlist_check'] = 'verifica Allowlisted.',
- ['not_allowlisted'] = 'devi essere nella Allowlisted per unirti a questo server!',
- ['allowlist_empty'] = 'non ci sono allowlists salvate per questo server.',
- ['license_missing'] = 'Errore: il tuo identificatore è mancante!',
- ['help_allowlist_add'] = 'aggiungi qualcuno alla allowlist',
- ['help_allowlist_load'] = 'ricarica la allowlist',
-}
diff --git a/[esx_addons]/esx_allowlist/locales/nl.lua b/[esx_addons]/esx_allowlist/locales/nl.lua
deleted file mode 100644
index bb435ff7..00000000
--- a/[esx_addons]/esx_allowlist/locales/nl.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-Locales['nl'] = {
- ['allowlist_check'] = 'Je toegangspas aan het controleren.',
- ['not_allowlisted'] = 'Je moet een toegangspas hebben om op deze server te spelen!',
- ['allowlist_empty'] = 'Er zijn geen toegangspassen uitgegeven.',
- ['license_missing'] = 'Error: Je Identifier mist!',
- ['help_allowlist_add'] = 'geef iemand een toegangspas',
- ['help_allowlist_load'] = 'herlaad de toegangspassen',
-}
diff --git a/[esx_addons]/esx_allowlist/locales/pl.lua b/[esx_addons]/esx_allowlist/locales/pl.lua
deleted file mode 100644
index 686f6661..00000000
--- a/[esx_addons]/esx_allowlist/locales/pl.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-Locales['pl'] = {
- ['allowlist_check'] = 'Sprawdzamy, czy jesteś na Allowlist.',
- ['not_allowlisted'] = 'Aby dołączyć do tego serwera, musisz być na Allowlist!',
- ['allowlist_empty'] = 'Brak zapisanych list Allowlist dla tego serwera.',
- ['license_missing'] = 'Błąd: Brak ID!',
- ['help_allowlist_add'] = 'dodaj do allowlist',
- ['help_allowlist_load'] = 'przeładuj allowlist',
-}
diff --git a/[esx_addons]/esx_allowlist/locales/si.lua b/[esx_addons]/esx_allowlist/locales/si.lua
deleted file mode 100644
index 64c7620b..00000000
--- a/[esx_addons]/esx_allowlist/locales/si.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-Locales['si'] = {
- ['allowlist_check'] = 'Preverja se, ali ste na seznamu dovoljenj.',
- ['not_allowlisted'] = 'Če se želite pridružiti temu strežniku, morate biti uvrščeni na seznam dovoljenj!',
- ['allowlist_empty'] = 'Za ta strežnik ni shranjenih belih seznamov.',
- ['license_missing'] = 'Napaka: Manjka vaš identifikator!',
- ['help_allowlist_add'] = 'Dodaj nekoga na beli seznam',
- ['help_allowlist_load'] = 'ponovno naložite belo listo',
-}
diff --git a/[esx_addons]/esx_allowlist/locales/sv.lua b/[esx_addons]/esx_allowlist/locales/sv.lua
deleted file mode 100644
index b41874e6..00000000
--- a/[esx_addons]/esx_allowlist/locales/sv.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-Locales['sv'] = {
- ['allowlist_check'] = 'Ser till att du är vitlistad på den här servern. . .',
- ['not_allowlisted'] = 'Du är inte vitlistad på den här servern',
- ['allowlist_empty'] = 'Vitlistan har inte laddats ännu, eller alternativt har ingen blivit vitlistad!',
- ['license_missing'] = 'Din licens kunde inte hittas',
- ['help_allowlist_add'] = 'Lägg till någon på vitlistan',
- ['help_allowlist_load'] = 'Ladda om vitlistan',
-}
diff --git a/[esx_addons]/esx_allowlist/locales/tr.lua b/[esx_addons]/esx_allowlist/locales/tr.lua
deleted file mode 100644
index 67aa0769..00000000
--- a/[esx_addons]/esx_allowlist/locales/tr.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-Locales['tr'] = {
- ['allowlist_check'] = 'bu sunucuda beyaz listede olduğunuzdan emin olunuluyor . . .',
- ['not_allowlisted'] = 'bu sunucuda beyaz listede değilsiniz',
- ['allowlist_empty'] = 'beyaz liste henüz yüklenmedi yada beyaz listede kimse bulunmuyor',
- ['license_missing'] = 'lisansınız bulunamadı',
- ['help_allowlist_add'] = 'beyaz listeye birini ekle',
- ['help_allowlist_load'] = 'beyaz listeyi tekrardan yükle',
-}
diff --git a/[esx_addons]/esx_allowlist/players.json b/[esx_addons]/esx_allowlist/players.json
deleted file mode 100644
index 0637a088..00000000
--- a/[esx_addons]/esx_allowlist/players.json
+++ /dev/null
@@ -1 +0,0 @@
-[]
\ No newline at end of file
diff --git a/[esx_addons]/esx_allowlist/server/main.lua b/[esx_addons]/esx_allowlist/server/main.lua
deleted file mode 100644
index 8a2bf799..00000000
--- a/[esx_addons]/esx_allowlist/server/main.lua
+++ /dev/null
@@ -1,78 +0,0 @@
-local AllowList = {}
-
-function loadAllowList()
- AllowList = nil
-
- local List = LoadResourceFile(GetCurrentResourceName(),'players.json')
- if List then
- AllowList = json.decode(List)
- end
-end
-
-loadAllowList()
-
-AddEventHandler('playerConnecting', function(name, setCallback, deferrals)
- if #(GetPlayers()) < Config.MinPlayer then
- deferrals.done()
- else
- -- Mark this connection as deferred, this is to prevent problems while checking player identifiers.
- deferrals.defer()
-
- local playerId, kickReason = source, "There Was An Error, Please Contact the server owner!"
-
- -- Letting the user know what's going on.
- deferrals.update(TranslateCap('allowlist_check'))
-
- -- Needed, not sure why.
- Wait(100)
-
- local identifier = ESX.GetIdentifier(playerId)
-
- if ESX.Table.SizeOf(AllowList) == 0 then
- kickReason = "[ESX] " .. TranslateCap('allowlist_empty')
- elseif not identifier then
- kickReason = "[ESX] " .. TranslateCap('license_missing')
- elseif not AllowList[identifier] then
- kickReason = "[ESX] " .. TranslateCap('not_allowlist')
- end
-
- if kickReason then
- deferrals.done(kickReason)
- else
- deferrals.done()
- end
- end
-end)
-
-ESX.RegisterCommand('alrefresh', 'admin', function(xPlayer, args)
- loadAllowList()
- print('[^2INFO^7] Allowlist ^5Refreshed^7!')
-end, true, {help = TranslateCap('help_allowlist_load')})
-
-ESX.RegisterCommand('aladd', 'admin', function(xPlayer, args, showError)
- args.license = args.license:lower()
-
- if AllowList[args.license] then
- showError('The player is already allowlisted on this server!')
- else
- AllowList[args.license] = true
- SaveResourceFile(GetCurrentResourceName(), 'players.json', json.encode(AllowList))
- loadAllowList()
- end
-end, true, {help = TranslateCap('help_allowlist_add'), validate = true, arguments = {
- {name = 'license', help = 'the player license', type = 'string'}
-}})
-
-ESX.RegisterCommand('alremove', 'admin', function(xPlayer, args, showError)
- args.license = args.license:lower()
-
- if AllowList[args.license] then
- AllowList[args.license] = nil
- SaveResourceFile(GetCurrentResourceName(), 'players.json', json.encode(AllowList))
- loadAllowList()
- else
- showError('Identifier is not Allowlisted on this server!')
- end
-end, true, {help = TranslateCap('help_allowlist_add'), validate = true, arguments = {
- {name = 'license', help = 'the player license', type = 'string'}
-}})
diff --git a/[esx_addons]/esx_ambulancejob/.editorconfig b/[esx_addons]/esx_ambulancejob/.editorconfig
deleted file mode 100644
index 321687e6..00000000
--- a/[esx_addons]/esx_ambulancejob/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 1
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_ambulancejob/LICENSE b/[esx_addons]/esx_ambulancejob/LICENSE
deleted file mode 100644
index 5b386246..00000000
--- a/[esx_addons]/esx_ambulancejob/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_ambulancejob/README.md b/[esx_addons]/esx_ambulancejob/README.md
deleted file mode 100644
index 485f70df..00000000
--- a/[esx_addons]/esx_ambulancejob/README.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# esx_ambulancejob
-
-ESX Ambulance Job is an plugin for ESX with features:
-
-- Adds death screen, with early respawn timer and bleed out timer
-- Vehicle garages, revive menu and more for on duty EMS
-
-## Requirements
-
-`Required`:
-
-- [esx_skin](https://github.com/esx-framework/esx-legacy/tree/main/%5Besx%5D/esx_skin)
-- [esx_vehicleshop](https://github.com/esx-framework/esx-legacy/tree/main/%5Besx_addons%5D/esx_vehicleshop)
-
-`Optional`:
-
-- [esx_society](https://github.com/esx-framework/esx-legacy/tree/main/%5Besx_addons%5D/esx_society)
-
-## Legal
-
-### License
-
-esx_ambulancejob - ambulance script for fivem
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
diff --git a/[esx_addons]/esx_ambulancejob/client/job.lua b/[esx_addons]/esx_ambulancejob/client/job.lua
deleted file mode 100644
index 68c16e78..00000000
--- a/[esx_addons]/esx_ambulancejob/client/job.lua
+++ /dev/null
@@ -1,597 +0,0 @@
-local CurrentAction, CurrentActionMsg, CurrentActionData = nil, '', {}
-local HasAlreadyEnteredMarker, LastHospital, LastPart, LastPartNum
-local isBusy, deadPlayers, deadPlayerBlips, isOnDuty = false, {}, {}, false
-isInShopMenu = false
-
-RegisterNetEvent('esx:playerLoaded')
-AddEventHandler('esx:playerLoaded', function(xPlayer)
- ESX.PlayerData = xPlayer
- ESX.PlayerLoaded = true
-end)
-
-
-function OpenAmbulanceActionsMenu()
- local elements = {
- {unselectable = true, icon = "fas fa-shirt", title = "Ambulance Actions"},
- {icon = "fas fa-shirt", title = TranslateCap('cloakroom'), value = 'cloakroom'}
- }
-
- if Config.EnablePlayerManagement and ESX.PlayerData.job.grade_name == 'boss' then
- elements[#elements+1] = {
- icon = "fas fa-ambulance",
- title = TranslateCap('boss_actions'),
- value = 'boss_actions'
- }
- end
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.value == 'cloakroom' then
- OpenCloakroomMenu()
- elseif element.value == 'boss_actions' then
- TriggerEvent('esx_society:openBossMenu', 'ambulance', function(data, menu)
- menu.close()
- end, {wash = false})
- end
- end)
-end
-
-function OpenMobileAmbulanceActionsMenu()
- local elements = {
- {unselectable = true, icon = "fas fa-ambulance", title = TranslateCap('ambulance')},
- {icon = "fas fa-ambulance", title = TranslateCap('ems_menu'), value = "citizen_interaction"}
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.value == "citizen_interaction" then
- local elements2 = {
- {unselectable = true, icon = "fas fa-ambulance", title = element.title},
- {icon = "fas fa-syringe", title = TranslateCap('ems_menu_revive'), value = "revive"},
- {icon = "fas fa-bandage", title = TranslateCap('ems_menu_small'), value = "small"},
- {icon = "fas fa-bandage", title = TranslateCap('ems_menu_big'), value = "big"},
- {icon = "fas fa-car", title = TranslateCap('ems_menu_putincar'), value = "put_in_vehicle"},
- {icon = "fas fa-syringe", title = TranslateCap('ems_menu_search'), value = "search"},
- }
-
- ESX.OpenContext("right", elements2, function(menu2,element2)
- if isBusy then return end
- local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
-
- if element2.value == 'search' then
- TriggerServerEvent('esx_ambulancejob:svsearch')
- elseif closestPlayer == -1 or closestDistance > 1.0 then
- ESX.ShowNotification(TranslateCap('no_players'))
- else
- if element2.value == 'revive' then
- revivePlayer(closestPlayer)
- elseif element2.value == 'small' then
- ESX.TriggerServerCallback('esx_ambulancejob:getItemAmount', function(quantity)
- if quantity > 0 then
- local closestPlayerPed = GetPlayerPed(closestPlayer)
- local health = GetEntityHealth(closestPlayerPed)
-
- if health > 0 then
- local playerPed = PlayerPedId()
-
- isBusy = true
- ESX.ShowNotification(TranslateCap('heal_inprogress'))
- TaskStartScenarioInPlace(playerPed, 'CODE_HUMAN_MEDIC_TEND_TO_DEAD', 0, true)
- Wait(10000)
- ClearPedTasks(playerPed)
-
- TriggerServerEvent('esx_ambulancejob:removeItem', 'bandage')
- TriggerServerEvent('esx_ambulancejob:heal', GetPlayerServerId(closestPlayer), 'small')
- ESX.ShowNotification(TranslateCap('heal_complete', GetPlayerName(closestPlayer)))
- isBusy = false
- else
- ESX.ShowNotification(TranslateCap('player_not_conscious'))
- end
- else
- ESX.ShowNotification(TranslateCap('not_enough_bandage'))
- end
- end, 'bandage')
-
- elseif element2.value == 'big' then
- ESX.TriggerServerCallback('esx_ambulancejob:getItemAmount', function(quantity)
- if quantity > 0 then
- local closestPlayerPed = GetPlayerPed(closestPlayer)
- local health = GetEntityHealth(closestPlayerPed)
-
- if health > 0 then
- local playerPed = PlayerPedId()
-
- isBusy = true
- ESX.ShowNotification(TranslateCap('heal_inprogress'))
- TaskStartScenarioInPlace(playerPed, 'CODE_HUMAN_MEDIC_TEND_TO_DEAD', 0, true)
- Wait(10000)
- ClearPedTasks(playerPed)
-
- TriggerServerEvent('esx_ambulancejob:removeItem', 'medikit')
- TriggerServerEvent('esx_ambulancejob:heal', GetPlayerServerId(closestPlayer), 'big')
- ESX.ShowNotification(TranslateCap('heal_complete', GetPlayerName(closestPlayer)))
- isBusy = false
- else
- ESX.ShowNotification(TranslateCap('player_not_conscious'))
- end
- else
- ESX.ShowNotification(TranslateCap('not_enough_medikit'))
- end
- end, 'medikit')
- elseif element2.value == 'put_in_vehicle' then
- TriggerServerEvent('esx_ambulancejob:putInVehicle', GetPlayerServerId(closestPlayer))
- end
- end
- end)
- end
- end)
-end
-
-function revivePlayer(closestPlayer)
- isBusy = true
-
- ESX.TriggerServerCallback('esx_ambulancejob:getItemAmount', function(quantity)
- if quantity > 0 then
- local closestPlayerPed = GetPlayerPed(closestPlayer)
-
- if IsPedDeadOrDying(closestPlayerPed, 1) then
- local playerPed = PlayerPedId()
- local lib, anim = 'mini@cpr@char_a@cpr_str', 'cpr_pumpchest'
- ESX.ShowNotification(TranslateCap('revive_inprogress'))
-
- for i=1, 15 do
- Wait(900)
-
- ESX.Streaming.RequestAnimDict(lib, function()
- TaskPlayAnim(playerPed, lib, anim, 8.0, -8.0, -1, 0, 0.0, false, false, false)
- RemoveAnimDict(lib)
- end)
- end
-
- TriggerServerEvent('esx_ambulancejob:removeItem', 'medikit')
- TriggerServerEvent('esx_ambulancejob:revive', GetPlayerServerId(closestPlayer))
- else
- ESX.ShowNotification(TranslateCap('player_not_unconscious'))
- end
- else
- ESX.ShowNotification(TranslateCap('not_enough_medikit'))
- end
- isBusy = false
- end, 'medikit')
-end
-
-function FastTravel(coords, heading)
- local playerPed = PlayerPedId()
-
- DoScreenFadeOut(800)
-
- while not IsScreenFadedOut() do
- Wait(500)
- end
-
- ESX.Game.Teleport(playerPed, coords, function()
- DoScreenFadeIn(800)
-
- if heading then
- SetEntityHeading(playerPed, heading)
- end
- end)
-end
-
--- Draw markers & Marker logic
-CreateThread(function()
- while true do
- local sleep = 1500
-
- if ESX.PlayerData.job and ESX.PlayerData.job.name == 'ambulance' then
- local playerCoords = GetEntityCoords(PlayerPedId())
- local isInMarker, hasExited = false, false
- local currentHospital, currentPart, currentPartNum
-
- for hospitalNum,hospital in pairs(Config.Hospitals) do
- -- Ambulance Actions
- for k,v in ipairs(hospital.AmbulanceActions) do
- local distance = #(playerCoords - v)
-
- if distance < Config.DrawDistance then
- sleep = 0
- DrawMarker(Config.Marker.type, v, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Config.Marker.x, Config.Marker.y, Config.Marker.z, Config.Marker.r, Config.Marker.g, Config.Marker.b, Config.Marker.a, false, false, 2, Config.Marker.rotate, nil, nil, false)
-
-
- if distance < Config.Marker.x then
- isInMarker, currentHospital, currentPart, currentPartNum = true, hospitalNum, 'AmbulanceActions', k
- end
- end
- end
-
- -- Pharmacies
- for k,v in ipairs(hospital.Pharmacies) do
- local distance = #(playerCoords - v)
-
- if distance < Config.DrawDistance then
- sleep = 0
- DrawMarker(Config.Marker.type, v, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Config.Marker.x, Config.Marker.y, Config.Marker.z, Config.Marker.r, Config.Marker.g, Config.Marker.b, Config.Marker.a, false, false, 2, Config.Marker.rotate, nil, nil, false)
-
-
- if distance < Config.Marker.x then
- isInMarker, currentHospital, currentPart, currentPartNum = true, hospitalNum, 'Pharmacy', k
- end
- end
- end
-
- -- Vehicle Spawners
- for k,v in ipairs(hospital.Vehicles) do
- local distance = #(playerCoords - v.Spawner)
-
- if distance < Config.DrawDistance then
- sleep = 0
- DrawMarker(v.Marker.type, v.Spawner, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, v.Marker.x, v.Marker.y, v.Marker.z, v.Marker.r, v.Marker.g, v.Marker.b, v.Marker.a, false, false, 2, v.Marker.rotate, nil, nil, false)
-
-
- if distance < v.Marker.x then
- isInMarker, currentHospital, currentPart, currentPartNum = true, hospitalNum, 'Vehicles', k
- end
- end
- end
-
- -- Helicopter Spawners
- for k,v in ipairs(hospital.Helicopters) do
- local distance = #(playerCoords - v.Spawner)
-
- if distance < Config.DrawDistance then
- sleep = 0
- DrawMarker(v.Marker.type, v.Spawner, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, v.Marker.x, v.Marker.y, v.Marker.z, v.Marker.r, v.Marker.g, v.Marker.b, v.Marker.a, false, false, 2, v.Marker.rotate, nil, nil, false)
-
-
- if distance < v.Marker.x then
- isInMarker, currentHospital, currentPart, currentPartNum = true, hospitalNum, 'Helicopters', k
- end
- end
- end
-
- -- Fast Travels (Prompt)
- for k,v in ipairs(hospital.FastTravelsPrompt) do
- local distance = #(playerCoords - v.From)
-
- if distance < Config.DrawDistance then
- sleep = 0
- DrawMarker(v.Marker.type, v.From, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, v.Marker.x, v.Marker.y, v.Marker.z, v.Marker.r, v.Marker.g, v.Marker.b, v.Marker.a, false, false, 2, v.Marker.rotate, nil, nil, false)
-
-
- if distance < v.Marker.x then
- isInMarker, currentHospital, currentPart, currentPartNum = true, hospitalNum, 'FastTravelsPrompt', k
- end
- end
- end
- end
-
- -- Logic for exiting & entering markers
- if isInMarker and not HasAlreadyEnteredMarker or (isInMarker and (LastHospital ~= currentHospital or LastPart ~= currentPart or LastPartNum ~= currentPartNum)) then
- if
- (LastHospital ~= nil and LastPart ~= nil and LastPartNum ~= nil) and
- (LastHospital ~= currentHospital or LastPart ~= currentPart or LastPartNum ~= currentPartNum)
- then
- TriggerEvent('esx_ambulancejob:hasExitedMarker', LastHospital, LastPart, LastPartNum)
- hasExited = true
- end
-
- HasAlreadyEnteredMarker, LastHospital, LastPart, LastPartNum = true, currentHospital, currentPart, currentPartNum
-
- TriggerEvent('esx_ambulancejob:hasEnteredMarker', currentHospital, currentPart, currentPartNum)
- end
-
- if not hasExited and not isInMarker and HasAlreadyEnteredMarker then
- HasAlreadyEnteredMarker = false
- TriggerEvent('esx_ambulancejob:hasExitedMarker', LastHospital, LastPart, LastPartNum)
- end
- end
- Wait(sleep)
- end
-end)
-
-AddEventHandler('esx_ambulancejob:hasEnteredMarker', function(hospital, part, partNum)
- if part == 'AmbulanceActions' then
- CurrentAction = part
- CurrentActionMsg = TranslateCap('actions_prompt')
- CurrentActionData = {}
- elseif part == 'Pharmacy' then
- CurrentAction = part
- CurrentActionMsg = TranslateCap('open_pharmacy')
- CurrentActionData = {}
- elseif part == 'Vehicles' then
- CurrentAction = part
- CurrentActionMsg = TranslateCap('garage_prompt')
- CurrentActionData = {hospital = hospital, partNum = partNum}
- elseif part == 'Helicopters' then
- CurrentAction = part
- CurrentActionMsg = TranslateCap('helicopter_prompt')
- CurrentActionData = {hospital = hospital, partNum = partNum}
- elseif part == 'FastTravelsPrompt' then
- local travelItem = Config.Hospitals[hospital][part][partNum]
-
- CurrentAction = part
- CurrentActionMsg = travelItem.Prompt
- CurrentActionData = {to = travelItem.To.coords, heading = travelItem.To.heading}
- end
-
- ESX.TextUI(CurrentActionMsg)
-end)
-
-AddEventHandler('esx_ambulancejob:hasExitedMarker', function(hospital, part, partNum)
- if not isInShopMenu then
- ESX.CloseContext()
- end
- ESX.HideUI()
- CurrentAction = nil
-end)
-
--- Key Controls
-CreateThread(function()
- while true do
- local sleep = 1500
-
- if CurrentAction then
- sleep = 0
-
- if IsControlJustReleased(0, 38) then
- if CurrentAction == 'AmbulanceActions' then
- OpenAmbulanceActionsMenu()
- elseif CurrentAction == 'Pharmacy' then
- OpenPharmacyMenu()
- elseif CurrentAction == 'Vehicles' then
- OpenVehicleSpawnerMenu('car', CurrentActionData.hospital, CurrentAction, CurrentActionData.partNum)
- elseif CurrentAction == 'Helicopters' then
- OpenVehicleSpawnerMenu('helicopter', CurrentActionData.hospital, CurrentAction, CurrentActionData.partNum)
- elseif CurrentAction == 'FastTravelsPrompt' then
- FastTravel(CurrentActionData.to, CurrentActionData.heading)
- end
-
- CurrentAction = nil
- end
- end
-
- local playerCoords, letSleep = GetEntityCoords(PlayerPedId()), true
-
- for hospitalNum,hospital in pairs(Config.Hospitals) do
- -- Fast Travels
- for k,v in ipairs(hospital.FastTravels) do
- local distance = #(playerCoords - v.From)
-
- if distance < Config.DrawDistance then
- sleep = 0
- DrawMarker(v.Marker.type, v.From, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, v.Marker.x, v.Marker.y, v.Marker.z, v.Marker.r, v.Marker.g, v.Marker.b, v.Marker.a, false, false, 2, v.Marker.rotate, nil, nil, false)
-
-
- if distance < v.Marker.x then
- FastTravel(v.To.coords, v.To.heading)
- end
- end
- end
- end
- Wait(sleep)
- end
-end)
-
-RegisterCommand("ambulance", function(src)
- if ESX.PlayerData.job and ESX.PlayerData.job.name == 'ambulance' and not ESX.PlayerData.dead then
- OpenMobileAmbulanceActionsMenu()
- end
-end)
-
-RegisterKeyMapping("ambulance", "Open Ambulance Actions Menu", "keyboard", "F6")
-
-RegisterNetEvent('esx_ambulancejob:putInVehicle')
-AddEventHandler('esx_ambulancejob:putInVehicle', function()
- local playerPed = PlayerPedId()
- local vehicle, distance = ESX.Game.GetClosestVehicle()
-
- if vehicle and distance < 5 then
- local maxSeats, freeSeat = GetVehicleMaxNumberOfPassengers(vehicle)
-
- for i=maxSeats - 1, 0, -1 do
- if IsVehicleSeatFree(vehicle, i) then
- freeSeat = i
- break
- end
- end
-
- if freeSeat then
- TaskWarpPedIntoVehicle(playerPed, vehicle, freeSeat)
- end
- end
-end)
-
-function OpenCloakroomMenu()
- local elements = {
- {unselectable = true, icon = "fas fa-shirt", title = TranslateCap('cloakroom')},
- {icon = "fas fa-shirt", title = TranslateCap('ems_clothes_civil'), value = "citizen_wear"},
- {icon = "fas fa-shirt", title = TranslateCap('ems_clothes_ems'), value = "ambulance_wear"},
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.value == "citizen_wear" then
- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin)
- TriggerEvent('skinchanger:loadSkin', skin)
- isOnDuty = false
-
- for playerId,v in pairs(deadPlayerBlips) do
- RemoveBlip(v)
- deadPlayerBlips[playerId] = nil
- end
- deadPlayers = {}
- if Config.Debug then
- print("[^2INFO^7] Off Duty")
- end
- end)
- elseif element.value == "ambulance_wear" then
- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin)
- if skin.sex == 0 then
- TriggerEvent('skinchanger:loadClothes', skin, jobSkin.skin_male)
- else
- TriggerEvent('skinchanger:loadClothes', skin, jobSkin.skin_female)
- end
-
- isOnDuty = true
- ESX.TriggerServerCallback('esx_ambulancejob:getDeadPlayers', function(_deadPlayers)
- TriggerEvent('esx_ambulancejob:setDeadPlayers', _deadPlayers)
- end)
- if Config.Debug then
- print("[^2INFO^7] Player Sex |^5" .. tostring(skin.sex).."^7")
- print("[^2INFO^7] On Duty")
- end
- end)
- end
- end)
-end
-
-function OpenPharmacyMenu()
- local elements = {
- {unselectable = true, icon = "fas fa-pills", title = TranslateCap('pharmacy_menu_title')}
- }
-
- for k,v in pairs(Config.PharmacyItems) do
- elements[#elements+1] = {
- icon = "fas fa-pills",
- title = v.title,
- item = v.item
- }
- end
-
- ESX.OpenContext("right", elements, function(menu,element)
- local elements2 = {
- {unselectable = true, icon = "fas fa-pills", title = element.title},
- {title = "Amount", input = true, inputType = "number", inputMin = 1, inputMax = 100, inputPlaceholder = "Amount to buy.."},
- {icon = "fas fa-check-double", title = "Confirm", val = "confirm"}
- }
-
- ESX.OpenContext("right", elements2, function(menu2,element2)
- local amount = menu2.eles[2].inputValue
- if Config.Debug then
- print("[^2INFO^7] Attempting to Give Item - ^5" .. tostring(element.item) .. "^7")
- end
- TriggerServerEvent('esx_ambulancejob:giveItem', element.item, amount)
- end, function(menu)
- OpenPharmacyMenu()
- end)
- end)
-end
-
-RegisterNetEvent('esx_ambulancejob:heal')
-AddEventHandler('esx_ambulancejob:heal', function(healType, quiet)
- local playerPed = PlayerPedId()
- local maxHealth = GetEntityMaxHealth(playerPed)
-
- if healType == 'small' then
- local health = GetEntityHealth(playerPed)
- local newHealth = math.min(maxHealth, math.floor(health + maxHealth / 8))
- SetEntityHealth(playerPed, newHealth)
- elseif healType == 'big' then
- SetEntityHealth(playerPed, maxHealth)
- end
-
- if Config.Debug then
- print("[^2INFO^7] Healing Player - ^5" .. tostring(healType).. "^7")
- end
- if not quiet then
- ESX.ShowNotification(TranslateCap('healed'))
- end
-end)
-
-RegisterNetEvent('esx:setJob')
-AddEventHandler('esx:setJob', function(job)
- if isOnDuty and job.name ~= 'ambulance' then
- for playerId,v in pairs(deadPlayerBlips) do
- if Config.Debug then
- print("[^2INFO^7] Removing dead blip - ^5" .. tostring(playerId).. "^7")
- end
- RemoveBlip(v)
- deadPlayerBlips[playerId] = nil
- end
-
- isOnDuty = false
- end
-end)
-
-RegisterNetEvent('esx_ambulancejob:PlayerDead')
-AddEventHandler('esx_ambulancejob:PlayerDead', function(Player)
- if Config.Debug then
- print("[^2INFO^7] Player Dead | ^5" .. tostring(Player) .. "^7")
- end
- deadPlayers[Player] = "dead"
-end)
-
-RegisterNetEvent('esx_ambulancejob:PlayerNotDead')
-AddEventHandler('esx_ambulancejob:PlayerNotDead', function(Player)
- if deadPlayerBlips[Player] then
- RemoveBlip(deadPlayerBlips[Player])
- deadPlayerBlips[Player] = nil
- end
- if Config.Debug then
- print("[^2INFO^7] Player Alive | ^5" .. tostring(Player) .. "^7")
- end
- deadPlayers[Player] = nil
-end)
-
-RegisterNetEvent('esx_ambulancejob:setDeadPlayers')
-AddEventHandler('esx_ambulancejob:setDeadPlayers', function(_deadPlayers)
- deadPlayers = _deadPlayers
-
- if isOnDuty then
- for playerId,v in pairs(deadPlayerBlips) do
- RemoveBlip(v)
- deadPlayerBlips[playerId] = nil
- end
-
- for playerId,status in pairs(deadPlayers) do
- if Config.Debug then
- print("[^2INFO^7] Player Dead | ^5" .. tostring(playerId) .. "^7")
- end
- if status == 'distress' then
- if Config.Debug then
- print("[^2INFO^7] Creating Distress Blip for Player - ^5" .. tostring(playerId) .. "^7")
- end
- local player = GetPlayerFromServerId(playerId)
- local playerPed = GetPlayerPed(player)
- local blip = AddBlipForEntity(playerPed)
-
- SetBlipSprite(blip, 303)
- SetBlipColour(blip, 1)
- SetBlipFlashes(blip, true)
- SetBlipCategory(blip, 7)
-
- BeginTextCommandSetBlipName('STRING')
- AddTextComponentSubstringPlayerName(TranslateCap('blip_dead'))
- EndTextCommandSetBlipName(blip)
-
- deadPlayerBlips[playerId] = blip
- end
- end
- end
-end)
-
-
-RegisterNetEvent('esx_ambulancejob:PlayerDistressed')
-AddEventHandler('esx_ambulancejob:PlayerDistressed', function(Player)
- deadPlayers[Player] = 'distress'
-
- if isOnDuty then
- if Config.Debug then
- print("[^2INFO^7] Player Distress Recived - ID:^5" .. tostring(Player) .. "^7")
- end
- ESX.ShowNotification("[DISPATCH]: An Unconscious Person Has Been Reported", "error", 10000)
- deadPlayerBlips[Player] = nil
- local player = GetPlayerFromServerId(Player)
- local playerPed = GetPlayerPed(player)
- local blip = AddBlipForEntity(playerPed)
-
- SetBlipSprite(blip, Config.DistressBlip.Sprite)
- SetBlipColour(blip, Config.DistressBlip.Color)
- SetBlipScale(blip, Config.DistressBlip.Scale)
- SetBlipFlashes(blip, true)
-
- BeginTextCommandSetBlipName('STRING')
- AddTextComponentSubstringPlayerName(TranslateCap('blip_dead'))
- EndTextCommandSetBlipName(blip)
-
- deadPlayerBlips[Player] = blip
- end
-end)
-
diff --git a/[esx_addons]/esx_ambulancejob/client/main.lua b/[esx_addons]/esx_ambulancejob/client/main.lua
deleted file mode 100644
index a9a46264..00000000
--- a/[esx_addons]/esx_ambulancejob/client/main.lua
+++ /dev/null
@@ -1,481 +0,0 @@
-local firstSpawn = true
-
-isDead, isSearched, medic = false, false, 0
-
-RegisterNetEvent('esx:playerLoaded')
-AddEventHandler('esx:playerLoaded', function(xPlayer)
- ESX.PlayerLoaded = true
-end)
-
-RegisterNetEvent('esx:onPlayerLogout')
-AddEventHandler('esx:onPlayerLogout', function()
- ESX.PlayerLoaded = false
- firstSpawn = true
-end)
-
-AddEventHandler('esx:onPlayerSpawn', function()
- isDead = false
- ClearTimecycleModifier()
- SetPedMotionBlur(PlayerPedId(), false)
- ClearExtraTimecycleModifier()
- EndDeathCam()
- if firstSpawn then
- firstSpawn = false
-
- if Config.SaveDeathStatus then
- while not ESX.PlayerLoaded do
- Wait(1000)
- end
-
- ESX.TriggerServerCallback('esx_ambulancejob:getDeathStatus', function(shouldDie)
- if shouldDie then
- Wait(1000)
- SetEntityHealth(PlayerPedId(), 0)
- end
- end)
- end
- end
-end)
-
--- Create blips
-CreateThread(function()
- for k, v in pairs(Config.Hospitals) do
- local blip = AddBlipForCoord(v.Blip.coords)
-
- SetBlipSprite(blip, v.Blip.sprite)
- SetBlipScale(blip, v.Blip.scale)
- SetBlipColour(blip, v.Blip.color)
- SetBlipAsShortRange(blip, true)
-
- BeginTextCommandSetBlipName('STRING')
- AddTextComponentSubstringPlayerName(TranslateCap('blip_hospital'))
- EndTextCommandSetBlipName(blip)
- end
-
- while true do
- local Sleep = 1500
-
- if isDead then
- Sleep = 0
- DisableAllControlActions(0)
- EnableControlAction(0, 47, true) -- G
- EnableControlAction(0, 245, true) -- T
- EnableControlAction(0, 38, true) -- E
-
- ProcessCamControls()
- if isSearched then
- local playerPed = PlayerPedId()
- local ped = GetPlayerPed(GetPlayerFromServerId(medic))
- isSearched = false
-
- AttachEntityToEntity(playerPed, ped, 11816, 0.54, 0.54, 0.0, 0.0, 0.0, 0.0, false, false, false, false, 2, true)
- Wait(1000)
- DetachEntity(playerPed, true, false)
- ClearPedTasksImmediately(playerPed)
- end
- end
-
- Wait(Sleep)
- end
-end)
-
-RegisterNetEvent('esx_ambulancejob:clsearch')
-AddEventHandler('esx_ambulancejob:clsearch', function(medicId)
- local playerPed = PlayerPedId()
-
- if isDead then
- local coords = GetEntityCoords(playerPed)
- local playersInArea = ESX.Game.GetPlayersInArea(coords, 50.0)
-
- for i = 1, #playersInArea, 1 do
- local player = playersInArea[i]
- if player == GetPlayerFromServerId(medicId) then
- medic = tonumber(medicId)
- isSearched = true
- break
- end
- end
- end
-end)
-
-function OnPlayerDeath()
- isDead = true
- ESX.CloseContext()
- ClearTimecycleModifier()
- SetTimecycleModifier("REDMIST_blend")
- SetTimecycleModifierStrength(0.7)
- SetExtraTimecycleModifier("fp_vig_red")
- SetExtraTimecycleModifierStrength(1.0)
- SetPedMotionBlur(PlayerPedId(), true)
- TriggerServerEvent('esx_ambulancejob:setDeathStatus', true)
- StartDeathTimer()
- StartDeathCam()
- StartDistressSignal()
-end
-
-RegisterNetEvent('esx_ambulancejob:useItem')
-AddEventHandler('esx_ambulancejob:useItem', function(itemName)
- ESX.CloseContext()
-
- if itemName == 'medikit' then
- local lib, anim = 'anim@heists@narcotics@funding@gang_idle', 'gang_chatting_idle01' -- TODO better animations
- local playerPed = PlayerPedId()
-
- ESX.Streaming.RequestAnimDict(lib, function()
- TaskPlayAnim(playerPed, lib, anim, 8.0, -8.0, -1, 0, 0, false, false, false)
- RemoveAnimDict(lib)
-
- Wait(500)
- while IsEntityPlayingAnim(playerPed, lib, anim, 3) do
- Wait(0)
- DisableAllControlActions(0)
- end
-
- TriggerEvent('esx_ambulancejob:heal', 'big', true)
- ESX.ShowNotification(TranslateCap('used_medikit'))
- end)
-
- elseif itemName == 'bandage' then
- local lib, anim = 'anim@heists@narcotics@funding@gang_idle', 'gang_chatting_idle01' -- TODO better animations
- local playerPed = PlayerPedId()
-
- ESX.Streaming.RequestAnimDict(lib, function()
- TaskPlayAnim(playerPed, lib, anim, 8.0, -8.0, -1, 0, 0, false, false, false)
- RemoveAnimDict(lib)
-
- Wait(500)
- while IsEntityPlayingAnim(playerPed, lib, anim, 3) do
- Wait(0)
- DisableAllControlActions(0)
- end
-
- TriggerEvent('esx_ambulancejob:heal', 'small', true)
- ESX.ShowNotification(TranslateCap('used_bandage'))
- end)
- end
-end)
-
-function StartDistressSignal()
- CreateThread(function()
- local timer = Config.BleedoutTimer
-
- while timer > 0 and isDead do
- Wait(0)
- timer = timer - 30
-
- SetTextFont(4)
- SetTextScale(0.5, 0.5)
- SetTextColour(200, 50, 50, 255)
- SetTextDropshadow(0.1, 3, 27, 27, 255)
- BeginTextCommandDisplayText('STRING')
- AddTextComponentSubstringPlayerName(TranslateCap('distress_send'))
- EndTextCommandDisplayText(0.43, 0.77)
-
- if IsControlJustReleased(0, 47) then
- SendDistressSignal()
- break
- end
- end
- end)
-end
-
-function SendDistressSignal()
- local playerPed = PlayerPedId()
- local coords = GetEntityCoords(playerPed)
-
- ESX.ShowNotification(TranslateCap('distress_sent'))
- TriggerServerEvent('esx_ambulancejob:onPlayerDistress')
-end
-
-function DrawGenericTextThisFrame()
- SetTextFont(4)
- SetTextScale(0.0, 0.5)
- SetTextColour(255, 255, 255, 255)
- SetTextDropshadow(0, 0, 0, 0, 255)
- SetTextDropShadow()
- SetTextOutline()
- SetTextCentre(true)
-end
-
-function secondsToClock(seconds)
- local seconds, hours, mins, secs = tonumber(seconds), 0, 0, 0
-
- if seconds <= 0 then
- return 0, 0
- else
- local hours = string.format('%02.f', math.floor(seconds / 3600))
- local mins = string.format('%02.f', math.floor(seconds / 60 - (hours * 60)))
- local secs = string.format('%02.f', math.floor(seconds - hours * 3600 - mins * 60))
-
- return mins, secs
- end
-end
-
-function StartDeathTimer()
- local canPayFine = false
-
- if Config.EarlyRespawnFine then
- ESX.TriggerServerCallback('esx_ambulancejob:checkBalance', function(canPay)
- canPayFine = canPay
- end)
- end
-
- local earlySpawnTimer = ESX.Math.Round(Config.EarlyRespawnTimer / 1000)
- local bleedoutTimer = ESX.Math.Round(Config.BleedoutTimer / 1000)
-
- CreateThread(function()
- -- early respawn timer
- while earlySpawnTimer > 0 and isDead do
- Wait(1000)
-
- if earlySpawnTimer > 0 then
- earlySpawnTimer = earlySpawnTimer - 1
- end
- end
-
- -- bleedout timer
- while bleedoutTimer > 0 and isDead do
- Wait(1000)
-
- if bleedoutTimer > 0 then
- bleedoutTimer = bleedoutTimer - 1
- end
- end
- end)
-
- CreateThread(function()
- local text, timeHeld
-
- -- early respawn timer
- while earlySpawnTimer > 0 and isDead do
- Wait(0)
- text = TranslateCap('respawn_available_in', secondsToClock(earlySpawnTimer))
-
- DrawGenericTextThisFrame()
- BeginTextCommandDisplayText('STRING')
- AddTextComponentSubstringPlayerName(text)
- EndTextCommandDisplayText(0.5, 0.8)
- end
-
- -- bleedout timer
- while bleedoutTimer > 0 and isDead do
- Wait(0)
- text = TranslateCap('respawn_bleedout_in', secondsToClock(bleedoutTimer))
-
- if not Config.EarlyRespawnFine then
- text = text .. TranslateCap('respawn_bleedout_prompt')
-
- if IsControlPressed(0, 38) and timeHeld > 120 then
- RemoveItemsAfterRPDeath()
- break
- end
- elseif Config.EarlyRespawnFine and canPayFine then
- text = text .. TranslateCap('respawn_bleedout_fine', ESX.Math.GroupDigits(Config.EarlyRespawnFineAmount))
-
- if IsControlPressed(0, 38) and timeHeld > 120 then
- TriggerServerEvent('esx_ambulancejob:payFine')
- RemoveItemsAfterRPDeath()
- break
- end
- end
-
- if IsControlPressed(0, 38) then
- timeHeld += 1
- else
- timeHeld = 0
- end
-
- DrawGenericTextThisFrame()
-
- BeginTextCommandDisplayText('STRING')
- AddTextComponentSubstringPlayerName(text)
- EndTextCommandDisplayText(0.5, 0.8)
- end
-
- if bleedoutTimer < 1 and isDead then
- RemoveItemsAfterRPDeath()
- end
- end)
-end
-
-function GetClosestRespawnPoint()
- local PlyCoords = GetEntityCoords(PlayerPedId())
- local ClosestDist, ClosestHospital, ClosestCoord = 10000, {}, nil
-
- for k, v in pairs(Config.RespawnPoints) do
- local Distance = #(PlyCoords - vector3(v.coords.x, v.coords.y, v.coords.z))
- if Distance <= ClosestDist then
- ClosestDist = Distance
- ClosestHospital = v
- ClosestCoord = vector3(v.coords.x, v.coords.y, v.coords.z)
- end
- end
-
- return ClosestCoord, ClosestHospital
-end
-
-function RemoveItemsAfterRPDeath()
- TriggerServerEvent('esx_ambulancejob:setDeathStatus', false)
-
- CreateThread(function()
- ESX.TriggerServerCallback('esx_ambulancejob:removeItemsAfterRPDeath', function()
- local RespawnCoords, ClosestHospital = GetClosestRespawnPoint()
-
- ESX.SetPlayerData('loadout', {})
-
- DoScreenFadeOut(800)
- RespawnPed(PlayerPedId(), RespawnCoords, ClosestHospital.heading)
- while not IsScreenFadedOut() do
- Wait(0)
- end
- DoScreenFadeIn(800)
- end)
- end)
-end
-
-function RespawnPed(ped, coords, heading)
- SetEntityCoordsNoOffset(ped, coords.x, coords.y, coords.z, false, false, false)
- NetworkResurrectLocalPlayer(coords.x, coords.y, coords.z, heading, true, false)
- SetPlayerInvincible(ped, false)
- ClearPedBloodDamage(ped)
-
- TriggerServerEvent('esx:onPlayerSpawn')
- TriggerEvent('esx:onPlayerSpawn')
- TriggerEvent('playerSpawned') -- compatibility with old scripts, will be removed soon
-end
-
-RegisterNetEvent('esx_phone:loaded')
-AddEventHandler('esx_phone:loaded', function(phoneNumber, contacts)
- local specialContact = {name = 'Ambulance', number = 'ambulance',
- base64Icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAABp5JREFUWIW1l21sFNcVhp/58npn195de23Ha4Mh2EASSvk0CPVHmmCEI0RCTQMBKVVooxYoalBVCVokICWFVFVEFeKoUdNECkZQIlAoFGMhIkrBQGxHwhAcChjbeLcsYHvNfsx+zNz+MBDWNrYhzSvdP+e+c973XM2cc0dihFi9Yo6vSzN/63dqcwPZcnEwS9PDmYoE4IxZIj+ciBb2mteLwlZdfji+dXtNU2AkeaXhCGteLZ/X/IS64/RoR5mh9tFVAaMiAldKQUGiRzFp1wXJPj/YkxblbfFLT/tjq9/f1XD0sQyse2li7pdP5tYeLXXMMGUojAiWKeOodE1gqpmNfN2PFeoF00T2uLGKfZzTwhzqbaEmeYWAQ0K1oKIlfPb7t+7M37aruXvEBlYvnV7xz2ec/2jNs9kKooKNjlksiXhJfLqf1PXOIU9M8fmw/XgRu523eTNyhhu6xLjbSeOFC6EX3t3V9PmwBla9Vv7K7u85d3bpqlwVcvHn7B8iVX+IFQoNKdwfstuFtWoFvwp9zj5XL7nRlPXyudjS9z+u35tmuH/lu6dl7+vSVXmDUcpbX+skP65BxOOPJA4gjDicOM2PciejeTwcsYek1hyl6me5nhNnmwPXBhjYuGC699OpzoaAO0PbYJSy5vgt4idOPrJwf6QuX2FO0oOtqIgj9pDU5dCWrMlyvXf86xsGgHyPeLos83Brns1WFXLxxgVBorHpW4vfQ6KhkbUtCot6srns1TLPjNVr7+1J0PepVc92H/Eagkb7IsTWd4ZMaN+yCXv5zLRY9GQ9xuYtQz4nfreWGdH9dNlkfnGq5/kdO88ekwGan1B3mDJsdMxCqv5w2Iq0khLs48vSllrsG/Y5pfojNugzScnQXKBVA8hrX51ddHq0o6wwIlgS8Y7obZdUZVjOYLC6e3glWkBBVHC2RJ+w/qezCuT/2sV6Q5VYpowjvnf/iBJJqvpYBgBS+w6wVB5DLEOiTZHWy36nNheg0jUBs3PoJnMfyuOdAECqrZ3K7KcACGQp89RAtlysCphqZhPtRzYlcPx+ExklJUiq0le5omCfOGFAYn3qFKS/fZAWS7a3Y2wa+GJOEy4US+B3aaPUYJamj4oI5LA/jWQBt5HIK5+JfXzZsJVpXi/ac8+mxWIXWzAG4Wb4g/jscNMp63I4U5FcKaVvsNyFALokSA47Kx8PVk83OabCHZsiqwAKEpjmfUJIkoh/R+L9oTpjluhRkGSPG4A7EkS+Y3HZk0OXYpIVNy01P5yItnptDsvtIwr0SunqoVP1GG1taTHn1CloXm9aLBEIEDl/IS2W6rg+qIFEYR7+OJTesqJqYa95/VKBNOHLjDBZ8sDS2998a0Bs/F//gvu5Z9NivadOc/U3676pEsizBIN1jCYlhClL+ELJDrkobNUBfBZqQfMN305HAgnIeYi4OnYMh7q/AsAXSdXK+eH41sykxd+TV/AsXvR/MeARAttD9pSqF9nDNfSEoDQsb5O31zQFprcaV244JPY7bqG6Xd9K3C3ALgbfk3NzqNE6CdplZrVFL27eWR+UASb6479ULfhD5AzOlSuGFTE6OohebElbcb8fhxA4xEPUgdTK19hiNKCZgknB+Ep44E44d82cxqPPOKctCGXzTmsBXbV1j1S5XQhyHq6NvnABPylu46A7QmVLpP7w9pNz4IEb0YyOrnmjb8bjB129fDBRkDVj2ojFbYBnCHHb7HL+OC7KQXeEsmAiNrnTqLy3d3+s/bvlVmxpgffM1fyM5cfsPZLuK+YHnvHELl8eUlwV4BXim0r6QV+4gD9Nlnjbfg1vJGktbI5UbN/TcGmAAYDG84Gry/MLLl/zKouO2Xukq/YkCyuWYV5owTIGjhVFCPL6J7kLOTcH89ereF1r4qOsm3gjSevl85El1Z98cfhB3qBN9+dLp1fUTco+0OrVMnNjFuv0chYbBYT2HcBoa+8TALyWQOt/ImPHoFS9SI3WyRajgdt2mbJgIlbREplfveuLf/XXemjXX7v46ZxzPlfd8YlZ01My5MUEVdIY5rueYopw4fQHkbv7/rZkTw6JwjyalBCHur9iD9cI2mU0UzD3P9H6yZ1G5dt7Gwe96w07dl5fXj7vYqH2XsNovdTI6KMrlsAXhRyz7/C7FBO/DubdVq4nBLPaohcnBeMr3/2k4fhQ+Uc8995YPq2wMzNjww2X+vwNt1p00ynrd2yKDJAVN628sBX1hZIdxXdStU9G5W2bd9YHR5L3f/CNmJeY9G8WAAAAAElFTkSuQmCC'}
-
- TriggerEvent('esx_phone:addSpecialContact', specialContact.name, specialContact.number, specialContact.base64Icon)
-end)
-
-AddEventHandler('esx:onPlayerDeath', function(data)
- OnPlayerDeath()
-end)
-
-RegisterNetEvent('esx_ambulancejob:revive')
-AddEventHandler('esx_ambulancejob:revive', function()
- local playerPed = PlayerPedId()
- local coords = GetEntityCoords(playerPed)
- TriggerServerEvent('esx_ambulancejob:setDeathStatus', false)
-
- DoScreenFadeOut(800)
-
- while not IsScreenFadedOut() do
- Wait(50)
- end
-
- local formattedCoords = {x = ESX.Math.Round(coords.x, 1), y = ESX.Math.Round(coords.y, 1), z = ESX.Math.Round(coords.z, 1)}
-
- RespawnPed(playerPed, formattedCoords, 0.0)
- isDead = false
- ClearTimecycleModifier()
- SetPedMotionBlur(playerPed, false)
- ClearExtraTimecycleModifier()
- EndDeathCam()
- DoScreenFadeIn(800)
-end)
-
--- Load unloaded IPLs
-if Config.LoadIpl then
- RequestIpl('Coroner_Int_on') -- Morgue
-end
-
-local cam = nil
-
-local isDead = false
-
-local angleY = 0.0
-
-local angleZ = 0.0
-
--------------------------------------------------------
-
------------------DEATH CAMERA FUNCTIONS ---------------
-
---------------------------------------------------------
-
--- initialize camera
-
-function StartDeathCam()
- ClearFocus()
- local playerPed = PlayerPedId()
- cam = CreateCamWithParams("DEFAULT_SCRIPTED_CAMERA", GetEntityCoords(playerPed), 0, 0, 0, GetGameplayCamFov())
- SetCamActive(cam, true)
- RenderScriptCams(true, true, 1000, true, false)
-end
-
--- destroy camera
-
-function EndDeathCam()
- ClearFocus()
- RenderScriptCams(false, false, 0, true, false)
- DestroyCam(cam, false)
- cam = nil
-end
--- process camera controls
-function ProcessCamControls()
- local playerPed = PlayerPedId()
- local playerCoords = GetEntityCoords(playerPed)
- -- disable 1st person as the 1st person camera can cause some glitches
- DisableFirstPersonCamThisFrame()
- -- calculate new position
- local newPos = ProcessNewPosition()
- SetFocusArea(newPos.x, newPos.y, newPos.z, 0.0, 0.0, 0.0)
- -- set coords of cam
- SetCamCoord(cam, newPos.x, newPos.y, newPos.z)
- -- set rotation
- PointCamAtCoord(cam, playerCoords.x, playerCoords.y, playerCoords.z + 0.5)
-end
-
-function ProcessNewPosition()
- local mouseX = 0.0
- local mouseY = 0.0
- -- keyboard
- if (IsInputDisabled(0)) then
- -- rotation
- mouseX = GetDisabledControlNormal(1, 1) * 8.0
-
- mouseY = GetDisabledControlNormal(1, 2) * 8.0
- -- controller
- else
- mouseX = GetDisabledControlNormal(1, 1) * 1.5
-
- mouseY = GetDisabledControlNormal(1, 2) * 1.5
- end
-
- angleZ = angleZ - mouseX -- around Z axis (left / right)
-
- angleY = angleY + mouseY -- up / down
- -- limit up / down angle to 90°
-
- if (angleY > 89.0) then
- angleY = 89.0
- elseif (angleY < -89.0) then
- angleY = -89.0
- end
- local pCoords = GetEntityCoords(PlayerPedId())
- local behindCam = {x = pCoords.x + ((Cos(angleZ) * Cos(angleY)) + (Cos(angleY) * Cos(angleZ))) / 2 * (5.5 + 0.5),
-
- y = pCoords.y + ((Sin(angleZ) * Cos(angleY)) + (Cos(angleY) * Sin(angleZ))) / 2 * (5.5 + 0.5),
-
- z = pCoords.z + ((Sin(angleY))) * (5.5 + 0.5)}
- local rayHandle = StartShapeTestRay(pCoords.x, pCoords.y, pCoords.z + 0.5, behindCam.x, behindCam.y, behindCam.z, -1, PlayerPedId(), 0)
-
- local a, hitBool, hitCoords, surfaceNormal, entityHit = GetShapeTestResult(rayHandle)
-
- local maxRadius = 1.9
- if (hitBool and Vdist(pCoords.x, pCoords.y, pCoords.z + 0.5, hitCoords) < 5.5 + 0.5) then
- maxRadius = Vdist(pCoords.x, pCoords.y, pCoords.z + 0.5, hitCoords)
- end
-
- local offset = {x = ((Cos(angleZ) * Cos(angleY)) + (Cos(angleY) * Cos(angleZ))) / 2 * maxRadius,
- y = ((Sin(angleZ) * Cos(angleY)) + (Cos(angleY) * Sin(angleZ))) / 2 * maxRadius, z = ((Sin(angleY))) * maxRadius}
-
- local pos = {x = pCoords.x + offset.x, y = pCoords.y + offset.y, z = pCoords.z + offset.z}
-
- return pos
-end
diff --git a/[esx_addons]/esx_ambulancejob/client/vehicle.lua b/[esx_addons]/esx_ambulancejob/client/vehicle.lua
deleted file mode 100644
index b2edd04a..00000000
--- a/[esx_addons]/esx_ambulancejob/client/vehicle.lua
+++ /dev/null
@@ -1,305 +0,0 @@
-local spawnedVehicles = {}
-
-function OpenVehicleSpawnerMenu(type, hospital, part, partNum)
- local playerCoords = GetEntityCoords(PlayerPedId())
- local elements = {
- {unselectable = true, icon = "fas fa-car", title = TranslateCap('garage_title')},
- {icon = "fas fa-car", title = TranslateCap('garage_storeditem'), action = 'garage'},
- {icon = "fas fa-car", title = TranslateCap('garage_storeitem'), action = 'store_garage'},
- {icon = "fas fa-car", title = TranslateCap('garage_buyitem'), action = 'buy_vehicle'}
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.action == "buy_vehicle" then
- local shopElements = {}
- local authorizedVehicles = Config.AuthorizedVehicles[type][ESX.PlayerData.job.grade_name]
- local shopCoords = Config.Hospitals[hospital][part][partNum].InsideShop
-
- if #authorizedVehicles > 0 then
- for k,vehicle in ipairs(authorizedVehicles) do
- if IsModelInCdimage(vehicle.model) then
- local vehicleLabel = GetLabelText(GetDisplayNameFromVehicleModel(vehicle.model))
-
- shopElements[#shopElements+1] = {
- icon = 'fas fa-car',
- title = ('%s - %s'):format(vehicleLabel, TranslateCap('shop_item', ESX.Math.GroupDigits(vehicle.price))),
- name = vehicleLabel,
- model = vehicle.model,
- price = vehicle.price,
- props = vehicle.props,
- type = type
- }
- end
- end
-
- if #shopElements > 0 then
- OpenShopMenu(shopElements, playerCoords, shopCoords)
- else
- ESX.ShowNotification(TranslateCap('garage_notauthorized'))
- end
- else
- ESX.ShowNotification(TranslateCap('garage_notauthorized'))
- end
- elseif element.action == "garage" then
- local garage = {
- {unselectable = true, icon = "fas fa-car", title = "Garage"}
- }
-
- ESX.TriggerServerCallback('esx_vehicleshop:retrieveJobVehicles', function(jobVehicles)
- if #jobVehicles > 0 then
- local allVehicleProps = {}
-
- for k,v in ipairs(jobVehicles) do
- local props = json.decode(v.vehicle)
-
- if IsModelInCdimage(props.model) then
- local vehicleName = GetLabelText(GetDisplayNameFromVehicleModel(props.model))
- local label = ('%s - %s: '):format(vehicleName, props.plate)
-
- if v.stored == 1 then
- label = label .. ('%s'):format(TranslateCap('garage_stored'))
- elseif v.stored == 0 then
- label = label .. ('%s'):format(TranslateCap('garage_notstored'))
- end
-
- garage[#garage+1] = {
- icon = 'fas fa-car',
- title = label,
- stored = v.stored,
- model = props.model,
- plate = props.plate
- }
-
- allVehicleProps[props.plate] = props
- end
- end
-
- if #garage > 0 then
- ESX.OpenContext("right", garage, function(menuG,elementG)
- if elementG.stored == 1 then
- local foundSpawn, spawnPoint = GetAvailableVehicleSpawnPoint(hospital, part, partNum)
-
- if foundSpawn then
- ESX.CloseContext()
-
- ESX.Game.SpawnVehicle(elementG.model, spawnPoint.coords, spawnPoint.heading, function(vehicle)
- local vehicleProps = allVehicleProps[elementG.plate]
- ESX.Game.SetVehicleProperties(vehicle, vehicleProps)
-
- TriggerServerEvent('esx_vehicleshop:setJobVehicleState', elementG.plate, false)
- ESX.ShowNotification(TranslateCap('garage_released'))
- end)
- end
- else
- ESX.ShowNotification(TranslateCap('garage_notavailable'))
- end
- end)
- else
- ESX.ShowNotification(TranslateCap('garage_empty'))
- end
- else
- ESX.ShowNotification(TranslateCap('garage_empty'))
- end
- end, type)
- elseif element.action == "store_garage" then
- StoreNearbyVehicle(playerCoords)
- end
- end)
-end
-
-function StoreNearbyVehicle(playerCoords)
- local vehicles, plates, index = ESX.Game.GetVehiclesInArea(playerCoords, 30.0), {}, {}
-
- if next(vehicles) then
- for i = 1, #vehicles do
- local vehicle = vehicles[i]
-
- -- Make sure the vehicle we're saving is empty, or else it won't be deleted
- if GetVehicleNumberOfPassengers(vehicle) == 0 and IsVehicleSeatFree(vehicle, -1) then
- local plate = ESX.Math.Trim(GetVehicleNumberPlateText(vehicle))
- plates[#plates + 1] = plate
- index[plate] = vehicle
- end
- end
- else
- ESX.ShowNotification(TranslateCap('garage_store_nearby'))
- return
- end
-
- ESX.TriggerServerCallback('esx_ambulancejob:storeNearbyVehicle', function(plate)
- if plate then
- local vehicleId = index[plate]
- local attempts = 0
- ESX.Game.DeleteVehicle(vehicleId)
- isBusy = true
-
- CreateThread(function()
- BeginTextCommandBusyspinnerOn('STRING')
- AddTextComponentSubstringPlayerName(TranslateCap('garage_storing'))
- EndTextCommandBusyspinnerOn(4)
-
- while isBusy do
- Wait(100)
- end
-
- BusyspinnerOff()
- end)
-
- -- Workaround for vehicle not deleting when other players are near it.
- while DoesEntityExist(vehicleId) do
- Wait(500)
- attempts = attempts + 1
-
- -- Give up
- if attempts > 30 then
- break
- end
-
- vehicles = ESX.Game.GetVehiclesInArea(playerCoords, 30.0)
- if #vehicles > 0 then
- for i = 1, #vehicles do
- local vehicle = vehicles[i]
- if ESX.Math.Trim(GetVehicleNumberPlateText(vehicle)) == plate then
- ESX.Game.DeleteVehicle(vehicle)
- break
- end
- end
- end
- end
-
- isBusy = false
- ESX.ShowNotification(TranslateCap('garage_has_stored'))
- else
- ESX.ShowNotification(TranslateCap('garage_has_notstored'))
- end
- end, plates)
-end
-
-function GetAvailableVehicleSpawnPoint(hospital, part, partNum)
- local spawnPoints = Config.Hospitals[hospital][part][partNum].SpawnPoints
- local found, foundSpawnPoint = false, nil
-
- for i=1, #spawnPoints, 1 do
- if ESX.Game.IsSpawnPointClear(spawnPoints[i].coords, spawnPoints[i].radius) then
- found, foundSpawnPoint = true, spawnPoints[i]
- break
- end
- end
-
- if found then
- return true, foundSpawnPoint
- else
- ESX.ShowNotification(TranslateCap('garage_blocked'))
- return false
- end
-end
-
-function OpenShopMenu(elements, restoreCoords, shopCoords)
- local playerPed = PlayerPedId()
- isInShopMenu = true
- ESX.OpenContext("right", elements, function(menu,element)
- local elements2 = {
- {unselectable = true, icon = "fas fa-car", title = element.title},
- {icon = "fas fa-eye", title = "View", value = "view"}
- }
-
- ESX.OpenContext("right", elements2, function(menu2,element2)
- if element2.value == "view" then
- DeleteSpawnedVehicles()
- WaitForVehicleToLoad(element.model)
-
- ESX.Game.SpawnLocalVehicle(element.model, shopCoords, 0.0, function(vehicle)
- table.insert(spawnedVehicles, vehicle)
- TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
- FreezeEntityPosition(vehicle, true)
- SetModelAsNoLongerNeeded(element.model)
-
- if element.props then
- ESX.Game.SetVehicleProperties(vehicle, element.props)
- end
- end)
-
- local elements3 = {
- {unselectable = true, icon = "fas fa-car", title = element.title},
- {icon = "fas fa-check-double", title = "Buy", value = "buy"},
- {icon = "fas fa-eye", title = "Stop Viewing", value = "stop"}
- }
-
- ESX.OpenContext("right", elements3, function(menu3,element3)
- if element3.value == 'stop' then
- isInShopMenu = false
- ESX.CloseContext()
-
- DeleteSpawnedVehicles()
- FreezeEntityPosition(playerPed, false)
- SetEntityVisible(playerPed, true)
-
- ESX.Game.Teleport(playerPed, restoreCoords)
- elseif element3.value == "buy" then
- local newPlate = exports['esx_vehicleshop']:GeneratePlate()
- local vehicle = GetVehiclePedIsIn(playerPed, false)
- local props = ESX.Game.GetVehicleProperties(vehicle)
- props.plate = newPlate
-
- ESX.TriggerServerCallback('esx_ambulancejob:buyJobVehicle', function (bought)
- if bought then
- ESX.ShowNotification(TranslateCap('vehicleshop_bought', element.name, ESX.Math.GroupDigits(element.price)))
-
- isInShopMenu = false
- ESX.CloseContext()
- DeleteSpawnedVehicles()
- FreezeEntityPosition(playerPed, false)
- SetEntityVisible(playerPed, true)
-
- ESX.Game.Teleport(playerPed, restoreCoords)
- else
- ESX.ShowNotification(TranslateCap('vehicleshop_money'))
- ESX.CloseContext()
- end
- end, props, element.type)
- end
- end)
- end
- end)
- end)
-end
-
-CreateThread(function()
- while true do
- sleep = 1500
-
- if isInShopMenu then
- sleep = 0
- DisableControlAction(0, 75, true) -- Disable exit vehicle
- DisableControlAction(27, 75, true) -- Disable exit vehicle
- end
- Wait(sleep)
- end
-end)
-
-function DeleteSpawnedVehicles()
- while #spawnedVehicles > 0 do
- local vehicle = spawnedVehicles[1]
- ESX.Game.DeleteVehicle(vehicle)
- table.remove(spawnedVehicles, 1)
- end
-end
-
-function WaitForVehicleToLoad(modelHash)
- modelHash = (type(modelHash) == 'number' and modelHash or joaat(modelHash))
-
- if not HasModelLoaded(modelHash) then
- RequestModel(modelHash)
-
- BeginTextCommandBusyspinnerOn('STRING')
- AddTextComponentSubstringPlayerName(TranslateCap('vehicleshop_awaiting_model'))
- EndTextCommandBusyspinnerOn(4)
-
- while not HasModelLoaded(modelHash) do
- Wait(0)
- DisableAllControlActions(0)
- end
-
- BusyspinnerOff()
- end
-end
diff --git a/[esx_addons]/esx_ambulancejob/config.lua b/[esx_addons]/esx_ambulancejob/config.lua
deleted file mode 100644
index 833983e3..00000000
--- a/[esx_addons]/esx_ambulancejob/config.lua
+++ /dev/null
@@ -1,186 +0,0 @@
-Config = {}
-
-Config.DrawDistance = 10.0 -- How close do you need to be in order for the markers to be drawn (in GTA units).
-Config.Debug = ESX.GetConfig().EnableDebug
-Config.Marker = {type = 1, x = 1.5, y = 1.5, z = 0.5, r = 102, g = 0, b = 102, a = 100, rotate = false}
-
-Config.ReviveReward = 700 -- Revive reward, set to 0 if you don't want it enabled
-Config.SaveDeathStatus = true -- Save Death Status?
-Config.LoadIpl = true -- Disable if you're using fivem-ipl or other IPL loaders
-
-Config.Locale = GetConvar('esx:locale', 'en')
-
-Config.DistressBlip = {
- Sprite = 310,
- Color = 48,
- Scale = 2.0
-}
-
-Config.EarlyRespawnTimer = 60000 * 1 -- time til respawn is available
-Config.BleedoutTimer = 60000 * 10 -- time til the player bleeds out
-
-Config.EnablePlayerManagement = false -- Enable society managing (If you are using esx_society).
-
-Config.RemoveWeaponsAfterRPDeath = true
-Config.RemoveCashAfterRPDeath = true
-Config.RemoveItemsAfterRPDeath = true
-
--- Let the player pay for respawning early, only if he can afford it.
-Config.EarlyRespawnFine = false
-Config.EarlyRespawnFineAmount = 5000
-
-Config.OxInventory = ESX.GetConfig().OxInventory
-Config.RespawnPoints = {
- {coords = vector3(341.0, -1397.3, 32.5), heading = 48.5}, -- Central Los Santos
- {coords = vector3(1836.03, 3670.99, 34.28), heading = 296.06} -- Sandy Shores
-}
-
-Config.PharmacyItems = {
- {
- title = "Medikit",
- item = "medikit"
- },
- {
- title = "Bandage",
- item = "bandage"
- },
-}
-
-Config.Hospitals = {
-
- CentralLosSantos = {
-
- Blip = {
- coords = vector3(307.7, -1433.4, 28.9),
- sprite = 61,
- scale = 1.2,
- color = 2
- },
-
- AmbulanceActions = {
- vector3(270.5, -1363.0, 23.5)
- },
-
- Pharmacies = {
- vector3(230.1, -1366.1, 38.5)
- },
-
- Vehicles = {
- {
- Spawner = vector3(307.7, -1433.4, 30.0),
- InsideShop = vector3(446.7, -1355.6, 43.5),
- Marker = {type = 36, x = 1.0, y = 1.0, z = 1.0, r = 100, g = 50, b = 200, a = 100, rotate = true},
- SpawnPoints = {
- {coords = vector3(297.2, -1429.5, 29.8), heading = 227.6, radius = 4.0},
- {coords = vector3(294.0, -1433.1, 29.8), heading = 227.6, radius = 4.0},
- {coords = vector3(309.4, -1442.5, 29.8), heading = 227.6, radius = 6.0}
- }
- }
- },
-
- Helicopters = {
- {
- Spawner = vector3(317.5, -1449.5, 46.5),
- InsideShop = vector3(305.6, -1419.7, 41.5),
- Marker = {type = 34, x = 1.5, y = 1.5, z = 1.5, r = 100, g = 150, b = 150, a = 100, rotate = true},
- SpawnPoints = {
- {coords = vector3(313.5, -1465.1, 46.5), heading = 142.7, radius = 10.0},
- {coords = vector3(299.5, -1453.2, 46.5), heading = 142.7, radius = 10.0}
- }
- }
- },
-
- FastTravels = {
- {
- From = vector3(294.7, -1448.1, 29.0),
- To = {coords = vector3(272.8, -1358.8, 23.5), heading = 0.0},
- Marker = {type = 1, x = 2.0, y = 2.0, z = 0.5, r = 102, g = 0, b = 102, a = 100, rotate = false}
- },
-
- {
- From = vector3(275.3, -1361, 23.5),
- To = {coords = vector3(295.8, -1446.5, 28.9), heading = 0.0},
- Marker = {type = 1, x = 2.0, y = 2.0, z = 0.5, r = 102, g = 0, b = 102, a = 100, rotate = false}
- },
-
- {
- From = vector3(247.3, -1371.5, 23.5),
- To = {coords = vector3(333.1, -1434.9, 45.5), heading = 138.6},
- Marker = {type = 1, x = 1.5, y = 1.5, z = 0.5, r = 102, g = 0, b = 102, a = 100, rotate = false}
- },
-
- {
- From = vector3(335.5, -1432.0, 45.50),
- To = {coords = vector3(249.1, -1369.6, 23.5), heading = 0.0},
- Marker = {type = 1, x = 2.0, y = 2.0, z = 0.5, r = 102, g = 0, b = 102, a = 100, rotate = false}
- },
-
- {
- From = vector3(234.5, -1373.7, 20.9),
- To = {coords = vector3(320.9, -1478.6, 28.8), heading = 0.0},
- Marker = {type = 1, x = 1.5, y = 1.5, z = 1.0, r = 102, g = 0, b = 102, a = 100, rotate = false}
- },
-
- {
- From = vector3(317.9, -1476.1, 28.9),
- To = {coords = vector3(238.6, -1368.4, 23.5), heading = 0.0},
- Marker = {type = 1, x = 1.5, y = 1.5, z = 1.0, r = 102, g = 0, b = 102, a = 100, rotate = false}
- }
- },
-
- FastTravelsPrompt = {
- {
- From = vector3(237.4, -1373.8, 26.0),
- To = {coords = vector3(251.9, -1363.3, 38.5), heading = 0.0},
- Marker = {type = 1, x = 1.5, y = 1.5, z = 0.5, r = 102, g = 0, b = 102, a = 100, rotate = false},
- Prompt = TranslateCap('fast_travel')
- },
-
- {
- From = vector3(256.5, -1357.7, 36.0),
- To = {coords = vector3(235.4, -1372.8, 26.3), heading = 0.0},
- Marker = {type = 1, x = 1.5, y = 1.5, z = 0.5, r = 102, g = 0, b = 102, a = 100, rotate = false},
- Prompt = TranslateCap('fast_travel')
- }
- }
-
- }
-}
-
-Config.AuthorizedVehicles = {
- car = {
- ambulance = {
- {model = 'ambulance', price = 5000}
- },
-
- doctor = {
- {model = 'ambulance', price = 4500}
- },
-
- chief_doctor = {
- {model = 'ambulance', price = 3000}
- },
-
- boss = {
- {model = 'ambulance', price = 2000}
- }
- },
-
- helicopter = {
- ambulance = {},
-
- doctor = {
- {model = 'buzzard2', price = 150000}
- },
-
- chief_doctor = {
- {model = 'buzzard2', price = 150000},
- {model = 'seasparrow', price = 300000}
- },
-
- boss = {
- {model = 'buzzard2', price = 10000},
- {model = 'seasparrow', price = 250000}
- }
- }
-}
diff --git a/[esx_addons]/esx_ambulancejob/esx_ambulancejob.sql b/[esx_addons]/esx_ambulancejob/esx_ambulancejob.sql
deleted file mode 100644
index 15709b6d..00000000
--- a/[esx_addons]/esx_ambulancejob/esx_ambulancejob.sql
+++ /dev/null
@@ -1,31 +0,0 @@
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_ambulance', 'Ambulance', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_ambulance', 'Ambulance', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_ambulance', 'Ambulance', 1)
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('ambulance',0,'ambulance','Ambulancier',20,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',1,'doctor','Medecin',40,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',2,'chief_doctor','Medecin-chef',60,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',3,'boss','Chirurgien',80,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}')
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('ambulance','Ambulance')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('bandage','Bandage', 2),
- ('medikit','Medikit', 2)
-;
-
-ALTER TABLE `users`
- ADD `is_dead` TINYINT(1) NULL DEFAULT '0'
-;
diff --git a/[esx_addons]/esx_ambulancejob/fxmanifest.lua b/[esx_addons]/esx_ambulancejob/fxmanifest.lua
deleted file mode 100644
index 4b2c33a1..00000000
--- a/[esx_addons]/esx_ambulancejob/fxmanifest.lua
+++ /dev/null
@@ -1,33 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Ambulance Job'
-
-lua54 'yes'
-version '1.9.0'
-
-shared_scripts {
- '@es_extended/imports.lua',
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua'
-}
-
-
-server_scripts {
- '@oxmysql/lib/MySQL.lua',
- 'server/main.lua'
-}
-
-client_scripts {
- 'client/main.lua',
- 'client/job.lua',
- 'client/vehicle.lua',
-}
-
-dependencies {
- 'es_extended',
- 'esx_skin',
- 'esx_vehicleshop'
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/br.lua b/[esx_addons]/esx_ambulancejob/locales/br.lua
deleted file mode 100644
index 36c698ad..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/br.lua
+++ /dev/null
@@ -1,86 +0,0 @@
-Locales['br'] = {
- -- Cloakroom
- ['cloakroom'] = 'guarda roupa',
- ['ems_clothes_civil'] = 'roupa normal',
- ['ems_clothes_ems'] = 'entrar como socorrista',
- -- Vehicles
- ['ambulance'] = 'ambulancia',
- ['helicopter_prompt'] = 'pressione [E] para acessar a Helicopter Actions.',
- ['garage_prompt'] = 'pressione [E] para entra no Vehicle Actions.',
- ['garage_title'] = 'ações do veiculo',
- ['garage_stored'] = 'guardado',
- ['garage_notstored'] = 'não foi guardado',
- ['garage_storing'] = 'estamos tentando guardar o veículo, verifique se não há cidadões ao seu redor.',
- ['garage_has_stored'] = 'o veículo foi guardado na sua garagem',
- ['garage_has_notstored'] = 'nem um dos seus veiculos foi encontrado proximo',
- ['garage_notavailable'] = 'o seu veículo não está guardado na garagem.',
- ['garage_blocked'] = 'não há pontos de spawn disponíveis!',
- ['garage_empty'] = 'você não tem veículos na sua garagem.',
- ['garage_released'] = 'seu veículo foi liberado da garagem.',
- ['garage_store_nearby'] = 'não há veículos próximos.',
- ['garage_storeditem'] = 'abrir garagem',
- ['garage_storeitem'] = 'veículo da loja na garagem',
- ['garage_buyitem'] = 'loja de veículos',
- ['shop_item'] = '$%s',
- ['vehicleshop_title'] = 'loja de veículos',
- ['vehicleshop_confirm'] = 'você quer comprar este veículo?',
- ['vehicleshop_bought'] = 'você comprou %s para $%s',
- ['vehicleshop_money'] = 'você não pode pagar esse veículo',
- ['vehicleshop_awaiting_model'] = 'o veículo está atualmente DOWNLOADING & LOADING, por favor aguarde',
- ['confirm_no'] = 'não',
- ['confirm_yes'] = 'sim',
- -- Action Menu
- ['revive_inprogress'] = 'reanimação em andamento',
- ['revive_complete'] = 'você ressuscitou %s',
- ['revive_complete_award'] = 'você ressuscitou %s, $%s',
- ['revive_fail_offline'] = 'esse cidadão não está mais na cidade',
- ['heal_inprogress'] = 'você está curando!',
- ['heal_complete'] = 'você curou %s',
- ['no_players'] = 'nenhum cidadão nas proximidades',
- ['player_not_unconscious'] = 'não está inconsciente',
- ['player_not_conscious'] = 'esse cidadão não está consciente!',
- -- Boss Menu
- ['boss_actions'] = 'menu administração',
- -- Misc
- ['invalid_amount'] = ' dade inválida',
- ['actions_prompt'] = 'aperte [E] para entra Ambulance Actions.',
- ['deposit_amount'] = 'quantidade inválida para deposito',
- ['money_withdraw'] = 'quantidade a ser retirada',
- ['fast_travel'] = 'aperte [E] para mover-se rapidamente.',
- ['open_pharmacy'] = 'aperte [E] para abrir a farmácia.',
- ['pharmacy_menu_title'] = 'farmácia',
- ['pharmacy_take'] = 'tomar %s',
- ['medikit'] = 'seringa',
- ['bandage'] = 'vendagem',
- ['max_item'] = 'você não pode carregar mais',
- -- F6 Menu
- ['ems_menu'] = 'interação com cidadão',
- ['ems_menu_title'] = 'ambulância - Interação com cidadão',
- ['ems_menu_revive'] = 'reanimar',
- ['ems_menu_putincar'] = 'colocar no veiculo',
- ['ems_menu_small'] = 'curar pequenas feridas',
- ['ems_menu_big'] = 'tratando lesões graves',
- ['ems_menu_search'] = 'paciente não encontrado',
- -- Phone
- ['alert_ambulance'] = 'alerta socorrista',
- -- Death
- ['respawn_available_in'] = 'você irar reviver em %s minutos %s segundos',
- ['respawn_bleedout_in'] = 'você vai sangrar %s minutos %s segundos\n',
- ['respawn_bleedout_prompt'] = 'aguarde [E] para reviver',
- ['respawn_bleedout_fine'] = 'aguarde [E] para reviver por $%s',
- ['respawn_bleedout_fine_msg'] = 'você precisa pagar $%s para reviver',
- ['distress_send'] = 'pressione [G] enviar sinal de socorro',
- ['distress_sent'] = 'sinal de socorro foi enviado para as unidades disponíveis!',
-
- -- Revive
- ['revive_help'] = 'reviver um cidadão',
- -- Item
- ['used_medikit'] = 'você usou 1x Seringa',
- ['used_bandage'] = 'você usou 1x Vendagem',
- ['not_enough_medikit'] = 'você não tem seringa.',
- ['not_enough_bandage'] = 'você não tem vendagem.',
- ['healed'] = 'você foi tratado.',
- -- Blips
- ['blip_hospital'] = 'hospital',
- ['blip_dead'] = 'cidadão inconsciente',
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/cs.lua b/[esx_addons]/esx_ambulancejob/locales/cs.lua
deleted file mode 100644
index 0f295494..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/cs.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['cs'] = {
- -- Cloakroom
- ['cloakroom'] = 'šatna',
- ['ems_clothes_civil'] = 'civilní oblečení',
- ['ems_clothes_ems'] = 'zdravotnické oblečení',
- -- Vehicles
- ['ambulance'] = 'ambulance',
- ['helicopter_prompt'] = 'press [E] to access the Helicopter Actions.',
- ['garage_prompt'] = 'press [E] to access the Vehicle Actions.',
- ['garage_title'] = 'vehicle Actions',
- ['garage_stored'] = 'stored',
- ['garage_notstored'] = 'not in garage',
- ['garage_storing'] = 'we\'re attempting to remove the vehicle, make sure no players are around it.',
- ['garage_has_stored'] = 'the vehicle has been stored in your garage',
- ['garage_has_notstored'] = 'no nearby owned vehicles were found',
- ['garage_notavailable'] = 'your vehicle is not stored in the garage.',
- ['garage_blocked'] = 'there\'s no available spawn points!',
- ['garage_empty'] = 'you don\'t have any vehicles in your garage.',
- ['garage_released'] = 'your vehicle has been released from the garage.',
- ['garage_store_nearby'] = 'there is no nearby vehicles.',
- ['garage_storeditem'] = 'open garage',
- ['garage_storeitem'] = 'store vehicle in garage',
- ['garage_buyitem'] = 'vehicle shop',
- ['shop_item'] = '$%s',
- ['vehicleshop_title'] = 'vehicle Shop',
- ['vehicleshop_confirm'] = 'do you want to buy this vehicle?',
- ['vehicleshop_bought'] = 'you have bought %s for $%s',
- ['vehicleshop_money'] = 'you cannot afford that vehicle',
- ['vehicleshop_awaiting_model'] = 'the vehicle is currently DOWNLOADING & LOADING please wait',
- ['confirm_no'] = 'no',
- ['confirm_yes'] = 'yes',
- -- Action Menu
- ['revive_inprogress'] = 'probíhá oživení!',
- ['revive_complete'] = 'oživili jste %s',
- ['revive_complete_award'] = 'oživili jste %s a dostali jste $%s!',
- ['revive_fail_offline'] = 'that player is no longer online',
- ['heal_inprogress'] = 'uzdravujete!',
- ['heal_complete'] = 'uzdravili jste %s',
- ['no_players'] = 'v okolí není žádný hráč!',
- ['player_not_unconscious'] = 'hráč není v bezvědomí!',
- ['player_not_conscious'] = 'hráč je v bezvědomí!',
- -- Boss Menu
- ['boss_actions'] = 'akce šéfa',
- -- Misc
- ['invalid_amount'] = ' ná částka',
- ['actions_prompt'] = 'press [E] access the Ambulance Actions.',
- ['deposit_amount'] = 'částka vkladu',
- ['money_withdraw'] = 'částka výběru',
- ['fast_travel'] = 'stiskněte [E] k rychlému odcestování.',
- ['open_pharmacy'] = 'stiskněte [E] k otevření lékárny.',
- ['pharmacy_menu_title'] = 'lékárna',
- ['pharmacy_take'] = 'vzít %s',
- ['medikit'] = 'lékarnička',
- ['bandage'] = 'obvaz',
- ['max_item'] = 'již nesete dostatek věcí.',
- -- F6 Menu
- ['ems_menu'] = 'Zdravotnické menu',
- ['ems_menu_title'] = 'záchranka - Zdravotnické menu',
- ['ems_menu_revive'] = 'oživit hráče',
- ['ems_menu_putincar'] = 'naložit do vozidla',
- ['ems_menu_small'] = 'ošetřit malé zranění',
- ['ems_menu_big'] = 'ošetřit vážné zranění',
- ['ems_menu_search'] = 'pacient nebyl nalezen',
- -- Phone
- ['alert_ambulance'] = 'zdravotnický poplach',
- -- Death
- ['respawn_available_in'] = 'oživení dostupné za %s minut a %s sekund\n',
- ['respawn_bleedout_in'] = 'vykrvácíte za %s minut a %s sekund\n',
- ['respawn_bleedout_prompt'] = 'držte [E] pro respawn.',
- ['respawn_now_fine'] = 'držte [E] pro oživení za $%s',
- ['respawn_bleedout_fine_msg'] = 'zaplatili jste $%s za respawn.',
- ['distress_send'] = 'stiskněte [G] pro vyslání tísňového signálu',
- ['distress_sent'] = 'tísňový signál byl vyslán dostupným jednotkám!',
- -- Revive
- ['revive_help'] = 'oživit hráče',
- -- Item
- ['used_medikit'] = 'použili jste 1x lékarničku',
- ['used_bandage'] = 'použili jste 1x obvaz',
- ['not_enough_medikit'] = 'nemáte medikit.',
- ['not_enough_bandage'] = 'nemáte bandage.',
- ['healed'] = 'byli jste ošetřeni.',
- -- Blips
- ['blip_hospital'] = 'nemocnice',
- ['blip_dead'] = 'unconscious player',
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/de.lua b/[esx_addons]/esx_ambulancejob/locales/de.lua
deleted file mode 100644
index cc708e82..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/de.lua
+++ /dev/null
@@ -1,84 +0,0 @@
-Locales['de'] = {
- -- Cloakroom
- ['cloakroom'] = 'Umkleide',
- ['ems_clothes_civil'] = 'Zivil',
- ['ems_clothes_ems'] = 'Uniform',
- -- Vehicles
- ['ambulance'] = 'Rettungsdienst',
- ['helicopter_prompt'] = 'Drücke [E] um auf das Helikopter-Menüzugreifen.',
- ['garage_prompt'] = 'Drücke [E] um auf das Fahrzeug-Menüzugreifen.',
- ['garage_title'] = 'Fahrzeugmenü',
- ['garage_stored'] = 'gelagert',
- ['garage_notstored'] = 'nicht in der Garage',
- ['garage_storing'] = 'Wir versuchen das Fahrzeug einzulagern. Bitte stelle sicher, dass sich kein Spieler in der Nähe des Fahrzeugs befindet.',
- ['garage_has_stored'] = 'Das Fahrzeug wurde in deiner Garage eingelagert.',
- ['garage_has_notstored'] = 'Es wurde kein Fahrzeug in der Nähe gefunden, dass dir gehört.',
- ['garage_notavailable'] = 'Dein Fahrzeug ist nicht in der Garage.',
- ['garage_blocked'] = 'Es existieren keine verfügbaren Spawnpoints!',
- ['garage_empty'] = 'Du hast keine Fahrzeuge in deiner Garage.',
- ['garage_released'] = 'Dein Fahrzeug wurde aus der Garage gefahren.',
- ['garage_store_nearby'] = 'Es sind keine Fahrzeuge in der Nähe.',
- ['garage_storeditem'] = 'Öffne Garage',
- ['garage_storeitem'] = 'Fahrzeug in der Garage einlagern',
- ['garage_buyitem'] = 'Fahrzeug-Shop',
- ['shop_item'] = '$%s',
- ['vehicleshop_title'] = 'Fahrzeug-Shop',
- ['vehicleshop_confirm'] = 'Du möchstest dieses Fahrzeug kaufen?',
- ['vehicleshop_bought'] = 'Du hast dir einen %s für $%s gekauft!',
- ['vehicleshop_money'] = 'Du kannst dir dieses Fahrzeug nicht leisten!',
- ['vehicleshop_awaiting_model'] = 'Dieses Fahrzeug lädt bitte warte',
- ['confirm_no'] = 'Nein',
- ['confirm_yes'] = 'Ja',
- -- Action Menu
- ['revive_inprogress'] = 'Eine Wiederbelebung findet statt!',
- ['revive_complete'] = 'Du hast %s wiederbelebt',
- ['revive_complete_award'] = 'Du hast %s wiederbelebt und dabei $%s erten!',
- ['revive_fail_offline'] = 'Dieser Spieler ist nicht länger online',
- ['heal_inprogress'] = 'Du heilst!',
- ['heal_complete'] = 'Du hast %s geheilt!',
- ['no_players'] = 'Keine Spieler in der Nähe',
- ['player_not_unconscious'] = 'Diese Spieler ist nicht bewusstlos!',
- ['player_not_conscious'] = 'Dieser Spieler ist nicht bei Bewusstsein!',
- -- Boss Menu
- ['boss_actions'] = 'Chef-Aktionen',
- -- Misc
- ['invalid_amount'] = 'Ungültige Menge',
- ['actions_prompt'] = 'Drücke [E] um das Rettungsdienst-Menü öffnen.',
- ['deposit_amount'] = 'Menge deponieren',
- ['money_withdraw'] = 'Menge abheben',
- ['fast_travel'] = 'Drücke [E] um schnellzureisen.',
- ['open_pharmacy'] = 'Drücke [E] um die Apotheke zu öffnen.',
- ['pharmacy_menu_title'] = 'Apotheke',
- ['pharmacy_take'] = 'Nimm %s',
- ['medikit'] = 'Medikit',
- ['bandage'] = 'Verbände',
- ['max_item'] = 'Du kannst nicht mehr tragen.',
- -- F6 Menu
- ['ems_menu'] = 'Rettungsdienst-Menü',
- ['ems_menu_title'] = 'Rettungsdienst-Menü',
- ['ems_menu_revive'] = 'Spieler wiederbeleben',
- ['ems_menu_putincar'] = 'In Fahrzeug stecken',
- ['ems_menu_small'] = 'Kleine Wunden behandeln',
- ['ems_menu_big'] = 'Ernsthafte Verletzungen behandeln',
- -- Phone
- ['alert_ambulance'] = 'Rettungsdienst alarmieren',
- -- Death
- ['respawn_available_in'] = 'Respawn in %s Minuten %s Sekundenrfügbar',
- ['respawn_bleedout_in'] = 'Du wirst in %s Minuten %s Sekundensbluten\n',
- ['respawn_bleedout_prompt'] = 'Drücke [E] zu respawnen',
- ['respawn_bleedout_fine'] = 'Drücke [E] um für $%s zu respawnen',
- ['respawn_bleedout_fine_msg'] = 'Du hast $%s bezahlt, um zu respawnen.',
- ['distress_send'] = 'Drücke [G] um ein Notsignal zu senden',
- ['distress_sent'] = 'Notsignal wurde an den Rettungsdienst übermittelt!',
- -- Revive
- ['revive_help'] = 'Belebe einen Spieler wieder',
- -- Item
- ['used_medikit'] = 'Du hast Medikit verwendet',
- ['used_bandage'] = 'Du hast Verband verwendet',
- ['not_enough_medikit'] = 'Du hast keine Medikits',
- ['not_enough_bandage'] = 'Du hast keine Verbände',
- ['healed'] = 'Du wurdest behandelt.',
- -- Blips
- ['blip_hospital'] = 'Krankenhaus',
- ['blip_dead'] = 'Bewusstloser Spieler',
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/en.lua b/[esx_addons]/esx_ambulancejob/locales/en.lua
deleted file mode 100644
index c54b7f21..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/en.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['en'] = {
- -- Cloakroom
- ['cloakroom'] = 'Locker Room',
- ['ems_clothes_civil'] = 'Civilian Clothes',
- ['ems_clothes_ems'] = 'EMS Clothes',
- -- Vehicles
- ['ambulance'] = 'Ambulance',
- ['helicopter_prompt'] = 'Press [E] to access the Helicopter Actions.',
- ['garage_prompt'] = 'Press [E] to access the Vehicle Actions.',
- ['garage_title'] = 'Vehicle Actions',
- ['garage_stored'] = 'Stored',
- ['garage_notstored'] = 'Not in garage',
- ['garage_storing'] = 'We\'re attempting to remove the vehicle, make sure no players are around it.',
- ['garage_has_stored'] = 'The vehicle has been stored in your garage',
- ['garage_has_notstored'] = 'No nearby owned vehicles were found',
- ['garage_notavailable'] = 'Your vehicle is not stored in the garage.',
- ['garage_blocked'] = 'There\'s no available spawn points!',
- ['garage_empty'] = 'You don\'t have any vehicles in your garage.',
- ['garage_released'] = 'Your vehicle has been released from the garage.',
- ['garage_store_nearby'] = 'There is no nearby vehicles.',
- ['garage_storeditem'] = 'Open garage',
- ['garage_storeitem'] = 'Store vehicle in garage',
- ['garage_buyitem'] = 'Vehicle shop',
- ['shop_item'] = '$%s',
- ['vehicleshop_title'] = 'Yehicle Shop',
- ['vehicleshop_confirm'] = 'Yo you want to buy this vehicle?',
- ['vehicleshop_bought'] = 'You have bought %s for $%s',
- ['vehicleshop_money'] = 'You cannot afford that vehicle',
- ['vehicleshop_awaiting_model'] = 'The vehicle is currently DOWNLOADING & LOADING please wait',
- ['confirm_no'] = 'No',
- ['confirm_yes'] = 'Yes',
- -- Action Menu
- ['revive_inprogress'] = 'A revive is in progress!',
- ['revive_complete'] = 'You have revived %s',
- ['revive_complete_award'] = 'You have revived %s and earned $%s!',
- ['revive_fail_offline'] = 'That player is no longer online',
- ['heal_inprogress'] = 'You are healing!',
- ['heal_complete'] = 'You have healed %s',
- ['no_players'] = 'No players nearby',
- ['player_not_unconscious'] = 'That player is not unconscious!',
- ['player_not_conscious'] = 'That player is not conscious!',
- -- Boss Menu
- ['boss_actions'] = 'Boss Actions',
- -- Misc
- ['invalid_amount'] = 'Invalid amount',
- ['actions_prompt'] = 'Press [E] access the Ambulance Actions.',
- ['deposit_amount'] = 'Deposit Amount',
- ['money_withdraw'] = 'Amount withdrawn',
- ['fast_travel'] = 'press [E] to fast travel.',
- ['open_pharmacy'] = 'Press [E] to open the pharmacy.',
- ['pharmacy_menu_title'] = 'Pharmacy',
- ['pharmacy_take'] = 'Take %s',
- ['medikit'] = 'Medikit',
- ['bandage'] = 'Bandage',
- ['max_item'] = 'You are already carrying enough.',
- -- F6 Menu
- ['ems_menu'] = 'EMS Menu',
- ['ems_menu_title'] = 'Ambulance - EMS Menu',
- ['ems_menu_revive'] = 'Revive Player',
- ['ems_menu_putincar'] = 'Put in Vehicle',
- ['ems_menu_small'] = 'Heal small wounds',
- ['ems_menu_big'] = 'Treat serious injuries',
- ['ems_menu_search'] = 'Patient not found',
- -- Phone
- ['alert_ambulance'] = 'Alert Ambulance',
- -- Death
- ['respawn_available_in'] = 'Respawn available in %s minutes %s seconds',
- ['respawn_bleedout_in'] = 'You will bleed out in %s minutes %s seconds\n',
- ['respawn_bleedout_prompt'] = 'Hold [E] to respawn',
- ['respawn_bleedout_fine'] = 'Hold [E] to respawn for $%s',
- ['respawn_bleedout_fine_msg'] = 'You paid $%s to respawn.',
- ['distress_send'] = 'Press [G] to send distress signal',
- ['distress_sent'] = 'Distress signal has been sent to available units!',
- -- Revive
- ['revive_help'] = 'revive a player',
- -- Item
- ['used_medikit'] = 'You have used 1x medikit',
- ['used_bandage'] = 'You have used 1x bandage',
- ['not_enough_medikit'] = 'You do not have medikit.',
- ['not_enough_bandage'] = 'You do not have bandage.',
- ['healed'] = 'You have been treated.',
- -- Blips
- ['blip_hospital'] = 'Hospital',
- ['blip_dead'] = 'Dying Player',
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/es.lua b/[esx_addons]/esx_ambulancejob/locales/es.lua
deleted file mode 100644
index 17f7a240..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/es.lua
+++ /dev/null
@@ -1,88 +0,0 @@
--- Traducción by https://github.com/ItsManueh
-
-Locales['es'] = {
- -- Cloakroom
- ['cloakroom'] = 'Guardarropa',
- ['ems_clothes_civil'] = 'Camiseta',
- ['ems_clothes_ems'] = 'Equipo de ambulancia',
- -- Vehicles
- ['ambulance'] = 'Ambulancia',
- ['helicopter_prompt'] = 'Presiona [E] para acceder al Acciones de helicópteros.',
- ['garage_prompt'] = 'Presiona [E] para acceder al Acciones de vehículos.',
- ['garage_title'] = 'Acciones de vehículos',
- ['garage_stored'] = 'Almacenado',
- ['garage_notstored'] = 'No en el garaje',
- ['garage_storing'] = 'Estamos intentando retirar el vehículo, asegúrese de que no haya jugadores a su alrededor.',
- ['garage_has_stored'] = 'El vehículo se ha guardado en su garaje',
- ['garage_has_notstored'] = 'No se encontraron vehículos de propiedad cercana',
- ['garage_notavailable'] = 'Su vehículo no está guardado en el garaje.',
- ['garage_blocked'] = '¡No hay puntos de generación disponibles!',
- ['garage_empty'] = 'No tiene ningún vehículo en su garaje.',
- ['garage_released'] = 'Su vehículo ha sido sacado del garaje.',
- ['garage_store_nearby'] = 'No hay vehículos cercanos.',
- ['garage_storeditem'] = 'Garaje abierto',
- ['garage_storeitem'] = 'Almacenar vehículo en garaje',
- ['garage_buyitem'] = 'Tienda de vehículos',
- ['shop_item'] = '$%s',
- ['vehicleshop_title'] = 'Tienda de vehículos',
- ['vehicleshop_confirm'] = '¿Quieres comprar este vehículo?',
- ['vehicleshop_bought'] = 'Usted ha comprado %s para $%s',
- ['vehicleshop_money'] = 'No puedes pagar ese vehículo',
- ['vehicleshop_awaiting_model'] = 'El vehículo está actualmente DESCARGANDO & CARGANDO por favor espere.',
- ['confirm_no'] = 'No',
- ['confirm_yes'] = 'Si',
- -- Action Menu
- ['revive_inprogress'] = 'Reanimación en curso',
- ['revive_complete'] = 'Has sido reanimado %s',
- ['revive_complete_award'] = 'Has sido reanimado %s, $%s',
- ['revive_fail_offline'] = 'Ese jugador ya no está en línea',
- ['heal_inprogress'] = '!Te estas curando!',
- ['heal_complete'] = 'Te has curado %s',
- ['no_players'] = 'Ningún jugador cerca',
- ['player_not_unconscious'] = 'n\'Estás inconsciente',
- ['player_not_conscious'] = '¡Ese jugador no está consciente!',
- -- Boss Menu
- ['boss_actions'] = 'Acciones del jefe',
- -- Misc
- ['invalid_amount'] = 'Cantidad no válida',
- ['actions_prompt'] = 'Presiona [E] acceder al Acciones de ambulancia.',
- ['deposit_amount'] = 'Cantidad de fianza depositada',
- ['money_withdraw'] = 'Cantidad de fianza retirada',
- ['fast_travel'] = 'Presiona [E] para viajar rápido.',
- ['open_pharmacy'] = 'Presiona [E] para abrir la farmacia.',
- ['pharmacy_menu_title'] = 'Farmacia',
- ['pharmacy_take'] = 'tomar %s',
- ['medikit'] = 'Kit médico',
- ['bandage'] = 'Vendas',
- ['max_item'] = 'Ya has ocupado el máximo número de items disponibles.',
- -- F6 Menu
- ['ems_menu'] = 'ayuda ciudadana',
- ['ems_menu_title'] = 'ambulancia - Ayuda Ciudadana',
- ['ems_menu_revive'] = 'reanimar',
- ['ems_menu_putincar'] = 'meter en el vehículo',
- ['ems_menu_small'] = 'Curar pequeñas heridas',
- ['ems_menu_big'] = 'Tratar lesiones graves',
- ['ems_menu_search'] = 'Paciente no encontrado',
- -- Phone
- ['alert_ambulance'] = 'Alerta de ambulancia',
- -- Death
- ['respawn_available_in'] = 'Reaparición disponible en %s minutes %s seconds',
- ['respawn_bleedout_in'] = 'te desangrarás en %s minutes %s seconds\n',
- ['respawn_bleedout_prompt'] = 'Mantén [E] reaparecer',
- ['respawn_bleedout_fine'] = 'Mantén [E] para reaparecer $%s',
- ['respawn_bleedout_fine_msg'] = 'Tu pagaste $%s para reaparecer.',
- ['distress_send'] = 'Presiona [G] para enviar señal de socorro',
- ['distress_sent'] = 'Se ha enviado una señal de socorro a las unidades disponibles.',
-
- -- Revive
- ['revive_help'] = 'Revivir un jugador',
- -- Item
- ['used_medikit'] = 'Has usado 1x Kit médico',
- ['used_bandage'] = 'Has usado 1x Vendas',
- ['not_enough_medikit'] = 'Usted no tiene kit médico.',
- ['not_enough_bandage'] = 'Usted no tiene vendas.',
- ['healed'] = 'Has sido tratado.',
- -- Blips
- ['blip_hospital'] = 'Hospital',
- ['blip_dead'] = 'Jugador inconsciente',
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/et.lua b/[esx_addons]/esx_ambulancejob/locales/et.lua
deleted file mode 100644
index ea0b825c..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/et.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['et'] = {
- -- Cloakroom
- ['cloakroom'] = 'Riidekapp',
- ['ems_clothes_civil'] = 'Tsiviili riided',
- ['ems_clothes_ems'] = 'Kiirabi riided',
- -- Vehicles
- ['ambulance'] = 'Kiirabi',
- ['helicopter_prompt'] = 'Vajuta [E], et avada helikopteri garaaž.',
- ['garage_prompt'] = 'Vajuta [E], et vaadata sõiduki tegevusi.',
- ['garage_title'] = 'Sõiduki tegevus',
- ['garage_stored'] = 'Pargitud',
- ['garage_notstored'] = 'Pole garaažis',
- ['garage_storing'] = 'Proovime eemaldada sõidukit, veenduge, et kedagi poleks ligiduses.',
- ['garage_has_stored'] = 'Sõiduk on pargitud teie garaaži',
- ['garage_has_notstored'] = 'Teie ligiduses pole ühtegi teie sõidukit',
- ['garage_notavailable'] = 'Teie sõiduk pole garaažis.',
- ['garage_blocked'] = 'Sõiduki jaoks pole siin ruumi!',
- ['garage_empty'] = 'Sul pole ühtegi sõidukit garaažis.',
- ['garage_released'] = 'Teie sõiduk on juba garaažist välja võetud.',
- ['garage_store_nearby'] = 'Ühtegi sõidukit pole ligiduses.',
- ['garage_storeditem'] = 'Ava garaaž',
- ['garage_storeitem'] = 'Pargi sõiduk garaaži',
- ['garage_buyitem'] = 'Auto pood',
- ['shop_item'] = '$%s',
- ['vehicleshop_title'] = 'Auto pood',
- ['vehicleshop_confirm'] = 'Soovid osta seda sõidukit?',
- ['vehicleshop_bought'] = 'Sa ostsid %s $%s eest',
- ['vehicleshop_money'] = 'Sa ei saa lubada seda sõidukit endale',
- ['vehicleshop_awaiting_model'] = 'Sõidukit hetkel laetakse',
- ['confirm_no'] = 'Ei',
- ['confirm_yes'] = 'Jah',
- -- Action Menu
- ['revive_inprogress'] = 'Elustamine pooleli!',
- ['revive_complete'] = 'Sa elustasid %s',
- ['revive_complete_award'] = 'Sa elustasid %s ja teenisid $%s!',
- ['revive_fail_offline'] = 'Isik pole enam linnas',
- ['heal_inprogress'] = 'Sa paraned!',
- ['heal_complete'] = 'Sa ravisid %s',
- ['no_players'] = 'Isikuid pole läheduses',
- ['player_not_unconscious'] = 'See isik pole teadvuseta!',
- ['player_not_conscious'] = 'See isik pole teadvusel!',
- -- Boss Menu
- ['boss_actions'] = 'Boss menüü',
- -- Misc
- ['invalid_amount'] = 'Vale kogus',
- ['actions_prompt'] = 'Vajuta [E], et avada kiirabi tegevused.',
- ['deposit_amount'] = 'Pane firmaarvele raha',
- ['money_withdraw'] = 'Võta firmaarvelt raha',
- ['fast_travel'] = 'press [E] to fast travel.',
- ['open_pharmacy'] = 'Vajuta [E], et avada apteek.',
- ['pharmacy_menu_title'] = 'Apteek',
- ['pharmacy_take'] = 'Võta %s',
- ['medikit'] = 'Esmaabikarp',
- ['bandage'] = 'Sidemed',
- ['max_item'] = 'Sa kannad piisavalt juba.',
- -- F6 Menu
- ['ems_menu'] = 'Kiirabi',
- ['ems_menu_title'] = 'Kiirabi',
- ['ems_menu_revive'] = 'Elusta isikut',
- ['ems_menu_putincar'] = 'Pane sõidukisse',
- ['ems_menu_small'] = 'Ravi väikseid haavi',
- ['ems_menu_big'] = 'Ravi tõsiseid haavu',
- ['ems_menu_search'] = 'Patsienti ei leitud',
- -- Phone
- ['alert_ambulance'] = 'Kiirabi teadaanded',
- -- Death
- ['respawn_available_in'] = 'Sul on võimalik haiglas ärgata %s minuti ka %s sekundi pärast',
- ['respawn_bleedout_in'] = 'Sa jooksed verest tühjak %s minuti ja %s sekundi pärast\n',
- ['respawn_bleedout_prompt'] = 'Hoia [E] tähte all, et ärgata haiglas',
- ['respawn_bleedout_fine'] = 'Hoia [E] tähte all, et ärgata haiglas $%s eest',
- ['respawn_bleedout_fine_msg'] = 'Sa maksid $%s, et ärgata haiglas.',
- ['distress_send'] = 'Vajuta [G] et saata abikutse kiirabile',
- ['distress_sent'] = 'Abikutse on saadetud kõikidele kiirabidele kes on linnas!',
- -- Revive
- ['revive_help'] = 'Elusta isikut',
- -- Item
- ['used_medikit'] = 'Sa kasutasid ära 1x esmaabikarbi',
- ['used_bandage'] = 'Sa kasutasid ära 1x sideme',
- ['not_enough_medikit'] = 'Sul pole esmaabikarpe.',
- ['not_enough_bandage'] = 'Sul pole sidemeid.',
- ['healed'] = 'Teid on ravitud.',
- -- Blips
- ['blip_hospital'] = 'Haigla',
- ['blip_dead'] = 'Vigastatud isik',
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/fi.lua b/[esx_addons]/esx_ambulancejob/locales/fi.lua
deleted file mode 100644
index 783b1aff..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/fi.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['fi'] = {
- -- Cloakroom
- ['cloakroom'] = 'vaatelokero',
- ['ems_clothes_civil'] = 'siviilikamppeet',
- ['ems_clothes_ems'] = 'työkamppeet',
- -- Vehicles
- ['ambulance'] = 'ambulance',
- ['helicopter_prompt'] = 'press [E] to access the Helicopter Actions.',
- ['garage_prompt'] = 'press [E] to access the Vehicle Actions.',
- ['garage_title'] = 'vehicle Actions',
- ['garage_stored'] = 'stored',
- ['garage_notstored'] = 'not in garage',
- ['garage_storing'] = 'we\'re attempting to remove the vehicle, make sure no players are around it.',
- ['garage_has_stored'] = 'the vehicle has been stored in your garage',
- ['garage_has_notstored'] = 'no nearby owned vehicles were found',
- ['garage_notavailable'] = 'your vehicle is not stored in the garage.',
- ['garage_blocked'] = 'there\'s no available spawn points!',
- ['garage_empty'] = 'you don\'t have any vehicles in your garage.',
- ['garage_released'] = 'your vehicle has been released from the garage.',
- ['garage_store_nearby'] = 'there is no nearby vehicles.',
- ['garage_storeditem'] = 'open garage',
- ['garage_storeitem'] = 'store vehicle in garage',
- ['garage_buyitem'] = 'vehicle shop',
- ['shop_item'] = '$%s',
- ['vehicleshop_title'] = 'vehicle Shop',
- ['vehicleshop_confirm'] = 'do you want to buy this vehicle?',
- ['vehicleshop_bought'] = 'you have bought %s for $%s',
- ['vehicleshop_money'] = 'you cannot afford that vehicle',
- ['vehicleshop_awaiting_model'] = 'the vehicle is currently DOWNLOADING & LOADING please wait',
- ['confirm_no'] = 'no',
- ['confirm_yes'] = 'yes',
- -- Action Menu
- ['revive_inprogress'] = 'elvytys on menossa!',
- ['revive_complete'] = 'sinä elvytit henkilön %s',
- ['revive_complete_award'] = 'sinä elvytit henkilön %s ja tienasit $%s!',
- ['revive_fail_offline'] = 'that player is no longer online',
- ['heal_inprogress'] = 'sinä olet parantamassa!',
- ['heal_complete'] = 'sinä paransit henkilön %s',
- ['no_players'] = 'ei pelaajia lähettyvillä',
- ['player_not_unconscious'] = 'tämä pelaaja ei ole tajuton!',
- ['player_not_conscious'] = 'tämä pelaaja ei ole tajuissaan!',
- -- Boss Menu
- ['boss_actions'] = 'pomovalikko',
- -- Misc
- ['invalid_amount'] = ' llinen summa',
- ['actions_prompt'] = 'press [E] access the Ambulance Actions.',
- ['deposit_amount'] = 'talletettava summa',
- ['money_withdraw'] = 'nostettava summa',
- ['fast_travel'] = 'paina [E] liikkuaksesi nopeasti kerrosten välillä',
- ['open_pharmacy'] = 'paina [E] avataksesi lääkekaappi',
- ['pharmacy_menu_title'] = 'lääkekaappi',
- ['pharmacy_take'] = 'ota %s',
- ['medikit'] = 'ensiapupakkauksia',
- ['bandage'] = 'sideharsoja',
- ['max_item'] = 'sinulla on jo tarpeeksi mukana',
- -- F6 Menu
- ['ems_menu'] = 'ensihoito menu',
- ['ems_menu_title'] = 'ensihoito - Siviilin kanssakäyminen',
- ['ems_menu_revive'] = 'elvytä',
- ['ems_menu_putincar'] = 'Laita ajoneuvoon',
- ['ems_menu_small'] = 'hoida pieniä haavoja',
- ['ems_menu_big'] = 'hoida isoja haavoja',
- ['ems_menu_search'] = 'potilasta ei löydy',
- -- Phone
- ['alert_ambulance'] = 'hälyytys Ensihoidolle',
- -- Death
- ['respawn_available_in'] = 'respawn available in %s minutes %s seconds',
- ['respawn_bleedout_in'] = 'you will bleed out in %s minutes %s seconds\n',
- ['respawn_bleedout_prompt'] = 'hold [E] to respawn',
- ['respawn_bleedout_fine'] = 'hold [E] to respawn for $%s',
- ['respawn_bleedout_fine_msg'] = 'you paid $%s to respawn.',
- ['distress_send'] = 'press [G] to send distress signal',
- ['distress_sent'] = 'distress signal has been sent to available units!',
- -- Revive
- ['revive_help'] = 'elvytä pelaaja',
- -- Item
- ['used_medikit'] = 'sinä käytit ensiapupakkauksen',
- ['used_bandage'] = 'sinä käytit sideharsoja',
- ['not_enough_medikit'] = 'ei tarpeeksi ensiapupakkauksia.',
- ['not_enough_bandage'] = 'ei tarpeeksi sideharsoja.',
- ['healed'] = 'sinua parannettiin',
- -- Blips
- ['blip_hospital'] = 'sairaala',
- ['blip_dead'] = 'unconscious player',
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/fr.lua b/[esx_addons]/esx_ambulancejob/locales/fr.lua
deleted file mode 100644
index 9f7102e8..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/fr.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['fr'] = {
- -- Cloakroom
- ['cloakroom'] = 'vestiaire',
- ['ems_clothes_civil'] = 'tenue Civil',
- ['ems_clothes_ems'] = 'tenue Ambulancier',
- -- Vehicles
- ['ambulance'] = 'ambulance',
- ['helicopter_prompt'] = 'appuyez sur [E] pour accéder aux Actions de l\'hélicoptère.',
- ['garage_prompt'] = 'appuyez sur [E] pour accéder aux Actions des véhciules.',
- ['garage_title'] = 'actions véhicules',
- ['garage_stored'] = 'rangé',
- ['garage_notstored'] = 'en dehors du garage',
- ['garage_storing'] = 'tentative de suppression du véhicule, assurez-vous que personne ne soit autour.',
- ['garage_has_stored'] = 'le véhicule a bien été rangé dans le garage',
- ['garage_has_notstored'] = 'aucun véhicule dans le garage',
- ['garage_notavailable'] = 'votre véhicule n\'est pas rangé dans le garage.',
- ['garage_blocked'] = 'la sortie du garage est obstruée!',
- ['garage_empty'] = 'vous n\'avez aucun véhicule dans le garage.',
- ['garage_released'] = 'votre véhicule a été sorti.',
- ['garage_store_nearby'] = 'aucun véhicule a proximité.',
- ['garage_storeditem'] = 'ouvrir le garage',
- ['garage_storeitem'] = 'ranger le véhicule',
- ['garage_buyitem'] = 'magasin véhicule',
- ['shop_item'] = '$%s',
- ['vehicleshop_title'] = 'magasin véhicule',
- ['vehicleshop_confirm'] = 'voulez-vous acheter ce véhicule?',
- ['vehicleshop_bought'] = 'vous avez acheté %s pour $%s',
- ['vehicleshop_money'] = 'vous ne pouvez pas acheter ce véhicule',
- ['vehicleshop_awaiting_model'] = 'le véhicule est actuellement en PRÉPARATION veuillez patienter',
- ['confirm_no'] = 'non',
- ['confirm_yes'] = 'oui',
- -- Action Menu
- ['revive_inprogress'] = 'réanimation en cours',
- ['revive_complete'] = 'vous avez réanimé %s',
- ['revive_complete_award'] = 'vous avez réanimé %s, $%s',
- ['revive_fail_offline'] = 'ce joueur n\'est plus en ligne',
- ['heal_inprogress'] = 'vous soignez...',
- ['heal_complete'] = 'vous avez soigné %s',
- ['no_players'] = 'aucun joueur à proximité',
- ['player_not_unconscious'] = 'n\'est pas inconscient',
- ['player_not_conscious'] = 'Cette personne est inconsciente!',
- -- Boss Menu
- ['boss_actions'] = 'action Patron',
- -- Misc
- ['invalid_amount'] = 'quantité invalide',
- ['actions_prompt'] = 'appuyez sur [E] accédez aux Actions d\'Ambulance.',
- ['deposit_amount'] = 'montant du dépôt',
- ['money_withdraw'] = 'montant du retrait',
- ['fast_travel'] = 'appuyez sur [E] pour vous déplacer rapidement.',
- ['open_pharmacy'] = 'appuyez sur [E] pour ouvrir la pharmacie.',
- ['pharmacy_menu_title'] = 'Pharmacie',
- ['pharmacy_take'] = 'prendre %s',
- ['medikit'] = 'kit de soin',
- ['bandage'] = 'bandage',
- ['max_item'] = 'vous en portez déjà assez sur vous.',
- -- F6 Menu
- ['ems_menu'] = 'interaction citoyen',
- ['ems_menu_title'] = 'ambulance - Interactions Citoyen',
- ['ems_menu_revive'] = 'réanimer',
- ['ems_menu_putincar'] = 'mettre dans véhicule',
- ['ems_menu_small'] = 'soigner petites blessures',
- ['ems_menu_big'] = 'soigner blessures graves',
- ['ems_menu_search'] = 'patient introuvable',
- -- Phone
- ['alert_ambulance'] = 'alerte Ambulance',
- -- Death
- ['respawn_available_in'] = 'réanimation possible dans %s minutes %s secondes',
- ['respawn_bleedout_in'] = 'vous allez souffrir d\'une hémorragie dans %s minutes %s secondes\n',
- ['respawn_bleedout_prompt'] = 'maintenez [E] pour être réanimé',
- ['respawn_bleedout_fine'] = 'maintenez [E] pour être réanimé pour $%s',
- ['respawn_bleedout_fine_msg'] = 'vous avez payé $%s pour être réanimer.',
- ['distress_send'] = 'appuyez sur [G] pour envoyer un signal de détresse',
- ['distress_sent'] = 'un signal a été envoyé à toutes les unités disponibles!',
- -- Revive
- ['revive_help'] = 'relancer un joueur',
- -- Item
- ['used_medikit'] = 'vous avez utilisé 1x kit de soin',
- ['used_bandage'] = 'vous avez utilisé 1x bandage',
- ['not_enough_medikit'] = 'vous n\'avez pas de kit de soin.',
- ['not_enough_bandage'] = 'vous n\'avez pas de bandage.',
- ['healed'] = 'vous avez été soigné.',
- -- Blips
- ['blip_hospital'] = 'hôpital',
- ['blip_dead'] = 'joueur inconscient',
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/hu.lua b/[esx_addons]/esx_ambulancejob/locales/hu.lua
deleted file mode 100644
index 0c1a057d..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/hu.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['hu'] = {
- -- Cloakroom
- ['cloakroom'] = 'Öltöző',
- ['ems_clothes_civil'] = 'Civil ruházat',
- ['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.',
- ['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_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_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_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!',
- -- 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.',
- ['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.',
- ['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!',
- -- F6 Menu
- ['ems_menu'] = 'EMS menü',
- ['ems_menu_title'] = 'EMS Menu',
- ['ems_menu_revive'] = 'Újraélesztés',
- ['ems_menu_putincar'] = 'Jármübe rakás',
- ['ems_menu_small'] = 'Kis sebek meggyógyítása',
- ['ems_menu_big'] = 'Súlyos sérülések kezelése',
- ['ems_menu_search'] = 'Civil megkeresése',
- -- Phone
- ['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_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!',
- -- Revive
- ['revive_help'] = 'újraéleszteni egy játékos',
- -- 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!',
- -- Blips
- ['blip_hospital'] = 'Korház',
- ['blip_dead'] = 'Eszméletlen játékos',
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/nl.lua b/[esx_addons]/esx_ambulancejob/locales/nl.lua
deleted file mode 100644
index 93383888..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/nl.lua
+++ /dev/null
@@ -1,84 +0,0 @@
-Locales['nl'] = {
- -- Cloakroom
- ['cloakroom'] = 'Kleedkamer',
- ['ems_clothes_civil'] = 'Burgerkleding',
- ['ems_clothes_ems'] = 'Ambulance Kleding',
- -- Vehicles
- ['ambulance'] = 'Ambulance',
- ['helicopter_prompt'] = 'Druk op [E] om de Lifeliners te beheren.',
- ['garage_prompt'] = 'Druk op [E] om de Garage te openen.',
- ['garage_title'] = 'Garage',
- ['garage_stored'] = 'In Garage',
- ['garage_notstored'] = 'Niet In Garage',
- ['garage_storing'] = 'We proberen je voertuig op te bergen, zorg dat er niemand in de buurt is.',
- ['garage_has_stored'] = 'Je voertuig is in de garage gezet',
- ['garage_has_notstored'] = 'Er zijn geen voertuigen in de buurt gevonden die van jou zijn',
- ['garage_notavailable'] = 'Je voertuig staat niet in de garage.',
- ['garage_blocked'] = 'Er is geen spawnplek beschikbaar!',
- ['garage_empty'] = 'Er staat geen voertuig in je garage.',
- ['garage_released'] = 'Je voertuig is uit de garage gehaald.',
- ['garage_store_nearby'] = 'Er zijn geen voertuigen in de buurt.',
- ['garage_storeditem'] = 'Open garage',
- ['garage_storeitem'] = 'Zet voertuig in de garage',
- ['garage_buyitem'] = 'Voertuigwinkel',
- ['shop_item'] = '€%s',
- ['vehicleshop_title'] = 'Voertuigwinkel',
- ['vehicleshop_confirm'] = 'Wil je dit voertuig kopen?',
- ['vehicleshop_bought'] = 'Je hebt een %s gekocht voor €%s',
- ['vehicleshop_money'] = 'Je kan dit voertuig niet betalen',
- ['vehicleshop_awaiting_model'] = 'Het voertuig is aan het DOWNLOADEN & LADEN, even geduld',
- ['confirm_no'] = 'Nee',
- ['confirm_yes'] = 'Ja',
- -- Action Menu
- ['revive_inprogress'] = 'Reanimatie is in gang gezet!',
- ['revive_complete'] = 'Je hebt %s gereanimeerd',
- ['revive_complete_award'] = 'Je hebt %s gereanimeerd en €%s verdient!',
- ['revive_fail_offline'] = 'Deze speler is niet langer online',
- ['heal_inprogress'] = 'Je wordt genezen!',
- ['heal_complete'] = 'Je hebt %s genezen',
- ['no_players'] = 'Geen spelers in de buurt',
- ['player_not_unconscious'] = 'Deze persoon is niet bewusteloos!',
- ['player_not_conscious'] = 'Deze persoon is bewusteloos!',
- -- Boss Menu
- ['boss_actions'] = 'Manager Acties',
- -- Misc
- ['invalid_amount'] = ' ig aantal',
- ['actions_prompt'] = 'Druk op [E] om de Ambulance Acties te bekijken.',
- ['deposit_amount'] = 'Bedrag om te storten',
- ['money_withdraw'] = 'Bedrag om op te nemen',
- ['fast_travel'] = 'Druk op [E] om snel te reizen.',
- ['open_pharmacy'] = 'Druk op [E] om de apotheek te openen.',
- ['pharmacy_menu_title'] = 'Apotheek',
- ['pharmacy_take'] = 'Pak %s',
- ['medikit'] = 'Spoedkoffer',
- ['bandage'] = 'Verbanddoos',
- ['max_item'] = 'Je draagt al genoeg bij je.',
- -- F6 Menu
- ['ems_menu'] = 'Ambulance Menu',
- ['ems_menu_title'] = 'Ambulance - Menu',
- ['ems_menu_revive'] = 'Reanimeer speler',
- ['ems_menu_putincar'] = 'Zet in voertuig',
- ['ems_menu_small'] = 'Behandel kleine verwondingen',
- ['ems_menu_big'] = 'Behandel grote verwondingen',
- -- Phone
- ['alert_ambulance'] = 'alert Ambulance',
- -- Death
- ['respawn_available_in'] = 'Respawn beschikbaar in %s minuten en %s seconden',
- ['respawn_bleedout_in'] = 'Je zal doodbloeden in %s minuten %s seconden\n',
- ['respawn_bleedout_prompt'] = 'Houd [E] ingedrukt om te respawnen',
- ['respawn_bleedout_fine'] = 'Houd [E] ingedrukt om te respawnen voor €%s',
- ['respawn_bleedout_fine_msg'] = 'Je hebt €%s betaald om te respawnen.',
- ['distress_send'] = 'Druk op [G] om een noodsignaal te verzenden',
- ['distress_sent'] = 'Noodsignaal verzonden naar alle beschikbare eenheden!',
- -- Revive
- ['revive_help'] = 'Revive een speler',
- -- Item
- ['used_medikit'] = 'Je hebt 1 spoedkoffer gebruikt',
- ['used_bandage'] = 'Je hebt 1 verbandkoffer gebruikt',
- ['not_enough_medikit'] = 'Je hebt geen spoedkoffer bij.',
- ['not_enough_bandage'] = 'Je hebt geen verbandkoffer bij.',
- ['healed'] = 'Je bent behandeld.',
- -- Blips
- ['blip_hospital'] = 'Ziekenhuis',
- ['blip_dead'] = 'Bewusteloze speler',
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/pl.lua b/[esx_addons]/esx_ambulancejob/locales/pl.lua
deleted file mode 100644
index b1cb2035..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/pl.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['pl'] = {
- -- Cloakroom
- ['cloakroom'] = 'szatnia',
- ['ems_clothes_civil'] = 'ubrania cywilne',
- ['ems_clothes_ems'] = 'ubrania EMS',
- -- Vehicles
- ['ambulance'] = 'ambulance',
- ['helicopter_prompt'] = 'press [E] to access the Helicopter Actions.',
- ['garage_prompt'] = 'press [E] to access the Vehicle Actions.',
- ['garage_title'] = 'vehicle Actions',
- ['garage_stored'] = 'stored',
- ['garage_notstored'] = 'not in garage',
- ['garage_storing'] = 'we\'re attempting to remove the vehicle, make sure no players are around it.',
- ['garage_has_stored'] = 'the vehicle has been stored in your garage',
- ['garage_has_notstored'] = 'no nearby owned vehicles were found',
- ['garage_notavailable'] = 'your vehicle is not stored in the garage.',
- ['garage_blocked'] = 'there\'s no available spawn points!',
- ['garage_empty'] = 'you don\'t have any vehicles in your garage.',
- ['garage_released'] = 'your vehicle has been released from the garage.',
- ['garage_store_nearby'] = 'there is no nearby vehicles.',
- ['garage_storeditem'] = 'open garage',
- ['garage_storeitem'] = 'store vehicle in garage',
- ['garage_buyitem'] = 'vehicle shop',
- ['shop_item'] = '$%s',
- ['vehicleshop_title'] = 'vehicle Shop',
- ['vehicleshop_confirm'] = 'do you want to buy this vehicle?',
- ['vehicleshop_bought'] = 'you have bought %s for $%s',
- ['vehicleshop_money'] = 'you cannot afford that vehicle',
- ['vehicleshop_awaiting_model'] = 'the vehicle is currently DOWNLOADING & LOADING please wait',
- ['confirm_no'] = 'no',
- ['confirm_yes'] = 'yes',
- -- Action Menu
- ['revive_inprogress'] = 'trwa wskrzeszenie',
- ['revive_complete'] = 'zostałeś wskrzeszony %s',
- ['revive_complete_award'] = 'zostałeś wskrzeszony %s i zarobiono $%s!',
- ['revive_fail_offline'] = 'that player is no longer online',
- ['heal_inprogress'] = 'leczysz!',
- ['heal_complete'] = 'zostałeś uleczony %s',
- ['no_players'] = 'brak graczy w pobliżu',
- ['player_not_unconscious'] = 'ten gracz nie jest nieprzytomny!',
- ['player_not_conscious'] = 'ten gracz nie jest świadomy!',
- -- Boss Menu
- ['boss_actions'] = 'akcje szefa',
- -- Misc
- ['invalid_amount'] = ' widłowa kwota',
- ['actions_prompt'] = 'press [E] access the Ambulance Actions.',
- ['deposit_amount'] = 'kwota depozytu',
- ['money_withdraw'] = 'wycofana kwota',
- ['fast_travel'] = 'naciśnij na [E] do szybkiej podróży.',
- ['open_pharmacy'] = 'naciśnij na [E] aby otworzyć aptekę',
- ['pharmacy_menu_title'] = 'apteka',
- ['pharmacy_take'] = 'weź %s',
- ['medikit'] = 'apteczka',
- ['bandage'] = 'bandaż',
- ['max_item'] = 'już masz na sobie dość.',
- -- F6 Menu
- ['ems_menu'] = 'menu EMS',
- ['ems_menu_title'] = 'eMS Menu - Ambulans',
- ['ems_menu_revive'] = 'ożyw gracza',
- ['ems_menu_putincar'] = 'umieścić w pojeździe',
- ['ems_menu_small'] = 'ulecz małe rany',
- ['ems_menu_big'] = 'ulecz poważne obrażenia',
- ['ems_menu_search'] = 'nie znaleziono pacjenta',
- -- Phone
- ['alert_ambulance'] = 'wezwij ambulans',
- -- Death
- ['respawn_available_in'] = 'respawn available in %s minutes %s seconds',
- ['respawn_bleedout_in'] = 'you will bleed out in %s minutes %s seconds\n',
- ['respawn_bleedout_prompt'] = 'hold [E] to respawn',
- ['respawn_bleedout_fine'] = 'hold [E] to respawn for $%s',
- ['respawn_bleedout_fine_msg'] = 'you paid $%s to respawn.',
- ['distress_send'] = 'press [G] to send distress signal',
- ['distress_sent'] = 'distress signal has been sent to available units!',
- -- Revive
- ['revive_help'] = 'ożyw gracza',
- -- Item
- ['used_medikit'] = 'użyłeś 1x apteczki',
- ['used_bandage'] = 'użyłeś 1x bandaża',
- ['not_enough_medikit'] = 'nie posiadasz apteczki.',
- ['not_enough_bandage'] = 'nie posiadasz bandaża.',
- ['healed'] = 'zostałeś potraktowany',
- -- Blips
- ['blip_hospital'] = 'szpital',
- ['blip_dead'] = 'unconscious player',
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/si.lua b/[esx_addons]/esx_ambulancejob/locales/si.lua
deleted file mode 100644
index 06b4a507..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/si.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['si'] = {
- -- Cloakroom
- ['cloakroom'] = 'Garderoba',
- ['ems_clothes_civil'] = 'Civilna oblačila',
- ['ems_clothes_ems'] = 'oblačila EMS',
- -- vozila
- ['ambulance'] = 'Ambulanca',
- ['helicopter_prompt'] = 'Pritisnite [E] za dostop do akcij helikopterja.',
- ['garage_prompt'] = 'Pritisnite [E] za dostop do akcij vozila.',
- ['garage_title'] = 'Vehicle Actions',
- ['garage_stored'] = 'Shranjeno',
- ['garage_notstored'] = 'Ni v garaži',
- ['garage_storing'] = 'Poskušamo odstraniti vozilo, poskrbite, da v njegovi bližini ni igralcev.',
- ['garage_has_stored'] = 'Vozilo je bilo shranjeno v vaši garaži',
- ['garage_has_notstored'] = 'V bližini nismo našli nobenega vozila v lasti',
- ['garage_notavailable'] = 'Vaše vozilo ni shranjeno v garaži.',
- ['garage_blocked'] = 'Ni razpoložljivih točk za porod!',
- ['garage_empty'] = 'V garaži nimate nobenega vozila.',
- ['garage_released'] = 'Vaše vozilo je bilo izpuščeno iz garaže.',
- ['garage_store_nearby'] = 'V bližini ni vozil.',
- ['garage_storeditem'] = 'Odprta garaža',
- ['garage_storeitem'] = 'Vozilo shranite v garažo',
- ['garage_buyitem'] = 'Trgovina z vozili',
- ['shop_item'] = '$%s',
- ['vehicleshop_title'] = 'Yehicle Shop',
- ['vehicleshop_confirm'] = 'Yo you want to buy this vehicle?',
- ['vehicleshop_bought'] = "Kupili ste %s za $%s",
- ['vehicleshop_money'] = 'Tega vozila si ne morete privoščiti',
- ['vehicleshop_awaiting_model'] = 'Vozilo se trenutno PRENOSI in nalaga, počakajte',
- ['confirm_no'] = 'Ne',
- ['confirm_yes'] = 'Yes',
- -- Akcijski meni
- ['revive_inprogress'] = 'Oživljanje je v teku!',
- ['revive_complete'] = 'Oživili ste %s',
- ['revive_complete_award'] = 'Oživil si %s in zaslužil $%s!',
- ['revive_fail_offline'] = 'Ta igralec ni več na spletu',
- ['heal_inprogress'] = 'Zdraviš se!',
- ['heal_complete'] = 'Ozdravil si %s',
- ['no_players'] = 'V bližini ni igralcev',
- ['player_not_unconscious'] = 'Ta igralec ni nezavesten!',
- ['player_not_conscious'] = 'Ta igralec ni pri zavesti!',
- -- Boss Menu
- ['boss_actions'] = 'Boss Actions',
- -- Misc
- ['invalid_amount'] = 'Invalid amount',
- ['actions_prompt'] = 'Press [E] access the Ambulance Actions.',
- ['deposit_amount'] = 'Deposit Amount',
- ['money_withdraw'] = 'Amount withdrawn',
- ['fast_travel'] = 'press [E] to fast travel.',
- ['open_pharmacy'] = 'Press [E] to open the pharmacy.',
- ['pharmacy_menu_title'] = 'Pharmacy',
- ['pharmacy_take'] = 'Take %s',
- ['medikit'] = 'Medikit',
- ['bandage'] = 'Bandage',
- ['max_item'] = 'You are already carrying enough.',
- -- F6 Menu
- ['ems_menu'] = 'EMS Menu',
- ['ems_menu_title'] = 'Ambulance - EMS Menu',
- ['ems_menu_revive'] = 'Revive Player',
- ['ems_menu_putincar'] = 'Put in Vehicle',
- ['ems_menu_small'] = 'Heal small wounds',
- ['ems_menu_big'] = 'Treat serious injuries',
- ['ems_menu_search'] = 'Patient not found',
- -- Telefon
- ['alert_ambulance'] = 'Alert Ambulance',
- -- Smrt
- ['respawn_available_in'] = 'Ponovna obnova je na voljo čez %s minut %s sekund',
- ['respawn_bleedout_in'] = 'Izkrvavel boš v %s minutah %s sekundah\n',
- ['respawn_bleedout_prompt'] = "Držite [E], da se ponovno poženete",
- ['respawn_bleedout_fine'] = 'Držite [E], da se ponovno pojavite za $%s',
- ['respawn_bleedout_fine_msg'] = 'Plačali ste $%s za ponovni zagon.',
- ['distress_send'] = 'Pritisnite [G] za pošiljanje signala za pomoč',
- ['distress_sent'] = 'Signal v stiski je bil poslan razpoložljivim enotam!',
- -- Oživitev
- ['revive_help'] = 'oživi igralca',
- -- predmet
- ['used_medikit'] = 'Uporabili ste 1x medikit',
- ['used_bandage'] = 'Uporabili ste 1x povoj',
- ['not_enough_medikit'] = 'Nimate medikita.',
- ['not_enough_bandage'] = 'Nimate povoja.',
- ['healed'] = 'Bili ste zdravljeni.',
- -- Blips
- ['blip_hospital'] = 'Bolnišnica',
- ['blip_dead'] = 'Nezavestni igralec',
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/sv.lua b/[esx_addons]/esx_ambulancejob/locales/sv.lua
deleted file mode 100644
index 44be806e..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/sv.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['sv'] = {
- -- Cloakroom
- ['cloakroom'] = 'omklädnignsrum',
- ['ems_clothes_civil'] = 'civilkläder',
- ['ems_clothes_ems'] = 'ambulanskläder',
- -- Vehicles
- ['ambulance'] = 'ambulans',
- ['helicopter_prompt'] = 'tryck [E] för att komma åt helikoptergaraget.',
- ['garage_prompt'] = 'tryck [E] för att komma åt garaget.',
- ['garage_title'] = 'garage',
- ['garage_stored'] = 'inställt',
- ['garage_notstored'] = 'uttaget',
- ['garage_storing'] = 'vi håller på att ställa in ditt fordon, se till att ingen är i närheten.',
- ['garage_has_stored'] = 'fordonet har ställts in i garaget',
- ['garage_has_notstored'] = 'inget ägt fordon finns i närheten',
- ['garage_notavailable'] = 'ditt fordon är inte inställt i ditt garage.',
- ['garage_blocked'] = 'det finns ingen tillgänglig plats att ställa ut fordonet på!',
- ['garage_empty'] = 'du har inga fordon i ditt garage.',
- ['garage_released'] = 'ditt fordon har tagits ut från garaget.',
- ['garage_store_nearby'] = 'det finns inget fordon i närheten.',
- ['garage_storeditem'] = 'öppna garage',
- ['garage_storeitem'] = 'ställ in fordon',
- ['garage_buyitem'] = 'fordonshandel',
- ['shop_item'] = '%s SEK',
- ['vehicleshop_title'] = 'fordonshandel',
- ['vehicleshop_confirm'] = 'vill du köpa detta fordon?',
- ['vehicleshop_bought'] = 'du köpte %s för %s SEK',
- ['vehicleshop_money'] = 'du har inte råd med detta fordon',
- ['vehicleshop_awaiting_model'] = 'fordonet LADDAS NED OCH LADDAS IN var god vänta',
- ['confirm_no'] = 'nej',
- ['confirm_yes'] = 'ja',
- -- Action Menu
- ['revive_inprogress'] = 'en återupplivning har börjats',
- ['revive_complete'] = 'du har återupplivat %s, bra jobbat!',
- ['revive_complete_award'] = 'du har återupplivat %s och tjänat %s SEK för dina tjänster, bra jobbat!',
- ['revive_fail_offline'] = 'den spelaren har lämnat servern',
- ['heal_inprogress'] = 'du behandlar patienten!',
- ['heal_complete'] = 'du har behandlat %s',
- ['no_players'] = 'det finns inga spelare i närheten!',
- ['player_not_unconscious'] = 'spelaren är inte medvetslös!',
- ['player_not_conscious'] = 'spelaren är inte vid medvetande!',
- -- Boss Menu
- ['boss_actions'] = 'chefsmeny',
- -- Misc
- ['invalid_amount'] = ' g mängd',
- ['actions_prompt'] = 'tryck [E] för att öppna menyn.',
- ['deposit_amount'] = 'mängd att sätta in',
- ['money_withdraw'] = 'mängd att ta ut',
- ['fast_travel'] = 'tryck på [E] för att snabbresa.',
- ['open_pharmacy'] = 'tryck på [E] för att öppna apoteket.',
- ['pharmacy_menu_title'] = 'apotek',
- ['pharmacy_take'] = 'ta %s',
- ['medikit'] = 'akutväska',
- ['bandage'] = 'bandage',
- ['max_item'] = 'du har redan tillräckligt mycket på dig.',
- -- F6 Menu
- ['ems_menu'] = 'ambulansmeny',
- ['ems_menu_title'] = 'ambulansmeny',
- ['ems_menu_revive'] = 'återuppliva spelare',
- ['ems_menu_putincar'] = 'sätt i fordon',
- ['ems_menu_small'] = 'behandla mindre skador',
- ['ems_menu_big'] = 'behandla svåra skador',
- ['ems_menu_search'] = 'patienten hittades inte',
- -- Phone
- ['alert_ambulance'] = 'ambulanssamtal',
- -- Death
- ['respawn_available_in'] = 'respawn tillgänglig om %s:%s',
- ['respawn_bleedout_in'] = 'du kommer att förblöda om %s:%s\n',
- ['respawn_bleedout_prompt'] = 'håll [E] för att respawna',
- ['respawn_bleedout_fine'] = 'håll [E] för att respawna, kostar %s SEK',
- ['respawn_bleedout_fine_msg'] = 'du betalade %s för att respawna.',
- ['distress_send'] = 'tryck [G] för att skicka nödsignal',
- ['distress_sent'] = 'nödsignal har skickats till samtliga enheter!',
- -- Revive
- ['revive_help'] = 'återuppliva en spelare',
- -- Item
- ['used_medikit'] = 'du har använt 1x akutväska',
- ['used_bandage'] = 'du har använt 1x bandage',
- ['not_enough_medikit'] = 'du har ingen akutväska.',
- ['not_enough_bandage'] = 'du har inget bandage.',
- ['healed'] = 'dina skador har blivit behandlade.',
- -- Blips
- ['blip_hospital'] = 'sjukhus',
- ['blip_dead'] = 'medvetslös människa',
-}
diff --git a/[esx_addons]/esx_ambulancejob/locales/tr.lua b/[esx_addons]/esx_ambulancejob/locales/tr.lua
deleted file mode 100644
index 052b2974..00000000
--- a/[esx_addons]/esx_ambulancejob/locales/tr.lua
+++ /dev/null
@@ -1,83 +0,0 @@
-Locales['tr'] = {
- -- Cloakroom
- ['cloakroom'] = 'soyunma Odası',
- ['ems_clothes_civil'] = 'sivil Kıyafetler',
- ['ems_clothes_ems'] = 'acil Servis Kıyafetleri',
- -- Vehicles
- ['ambulance'] = 'medikal',
- ['helicopter_prompt'] = 'Helikopter için [E] tuşuna basın.',
- ['garage_prompt'] = 'Araba Garajı için [E] tuşuna basın',
- ['garage_title'] = 'araba Garajı',
- ['garage_stored'] = 'garaja koyuldu',
- ['garage_notstored'] = 'garajda değil',
- ['garage_storing'] = 'arabayı çıkarmaya çalışıyoruz, etrafta oyuncu olmadığından emin olun.',
- ['garage_has_stored'] = 'araba garaja koyuldu',
- ['garage_has_notstored'] = 'yakında sahibi olunan araba yok',
- ['garage_notavailable'] = 'araba garajda değil',
- ['garage_blocked'] = 'kullanılabilir spawn noktası yok!',
- ['garage_empty'] = 'garajda araba yok',
- ['garage_released'] = 'arabanız garajdan çıkarıldı.',
- ['garage_store_nearby'] = 'yakınlarda araba yok',
- ['garage_storeditem'] = 'garajdaki arabalar',
- ['garage_storeitem'] = 'arabayı garaja koy',
- ['garage_buyitem'] = 'araba galerisi',
- ['shop_item'] = '%s TL',
- ['vehicleshop_title'] = 'araba Galerisi',
- ['vehicleshop_confirm'] = 'bu arabayı almak istiyor musun?',
- ['vehicleshop_bought'] = '%s liraya %s alındı',
- ['vehicleshop_money'] = 'bu araca paranız yetmiyor',
- ['vehicleshop_awaiting_model'] = 'bu araba şuanda İNDİRME & YÜKLEME yapıyor',
- ['confirm_no'] = 'hayır',
- ['confirm_yes'] = 'evet',
- -- Action Menu
- ['revive_inprogress'] = 'Canlanma sürüyor!',
- ['revive_complete'] = '%s canlandırıldı',
- ['revive_complete_award'] = '%s canlandırıldın ve $%s kazandın!',
- ['revive_fail_offline'] = 'bu oyuncu artık online değil',
- ['heal_inprogress'] = 'iyileştiriliyorsun!',
- ['heal_complete'] = '%s iyileştirildi',
- ['no_players'] = 'yakınlarda oyuncu yok',
- ['player_not_unconscious'] = 'bu oyuncunun bilinci yerinde!',
- ['player_not_conscious'] = 'bu oyuncunun bilinci yerinde değil!',
- -- Boss Menu
- ['boss_actions'] = 'baş Hekim',
- -- Misc
- ['invalid_amount'] = ' miktar',
- ['actions_prompt'] = 'Kıyafet Değiştirmek için [E] tuşuna basın.',
- ['deposit_amount'] = 'bırakılacak miktar',
- ['money_withdraw'] = 'alınacak miktar',
- ['fast_travel'] = '[E] tuşuna basarak hızlı yolculuk edebilirsiniz.',
- ['open_pharmacy'] = 'Eczane için [E] tuşuna basın.',
- ['pharmacy_menu_title'] = 'eczane',
- ['pharmacy_take'] = 'al %s',
- ['medikit'] = 'sağlık kiti',
- ['bandage'] = 'bandaj',
- ['max_item'] = 'zaten yeterince üzerinde var',
- -- F6 Menu
- ['ems_menu'] = 'EMS Menu',
- ['ems_menu_title'] = 'medikal - EMS Menu',
- ['ems_menu_revive'] = 'oyuncuyu Canlandır',
- ['ems_menu_putincar'] = 'araca koy',
- ['ems_menu_small'] = 'küçük yaraları tedavi et',
- ['ems_menu_big'] = 'ciddi yaraları tedavi et',
- -- Phone
- ['alert_ambulance'] = 'hastane Acil Durum',
- -- Death
- ['respawn_available_in'] = 'yeniden canlanmana %s dakika %s saniye kaldı',
- ['respawn_bleedout_in'] = 'kanama %s dakika %s saniye boyunca devam edecek\n',
- ['respawn_bleedout_prompt'] = 'yeniden canlanma için [E] basılı tut',
- ['respawn_bleedout_fine'] = '%s lira karşılığında canlanma için [E] basılı tut',
- ['respawn_bleedout_fine_msg'] = 'yeniden doğmak için %s ödediniz.',
- ['distress_send'] = 'acile sinyal göndermek için [G] basın',
- ['distress_sent'] = 'acil durum sinyali gönderildi!',
- ['revive_help'] = 'oyuncuyu canlandır',
- -- Item
- ['used_medikit'] = '1x sağlık kiti kullanıldı.',
- ['used_bandage'] = '1x bandaj kullanıldı.',
- ['not_enough_medikit'] = ' sağlık kiti yok.',
- ['not_enough_bandage'] = ' bandaj. yok',
- ['healed'] = 'tedavi görüldü.',
- -- Blips
- ['blip_hospital'] = 'hastane',
- ['blip_dead'] = 'bilinci kapalı oyuncu',
- }
diff --git a/[esx_addons]/esx_ambulancejob/localization/br_esx_ambulancejob.sql b/[esx_addons]/esx_ambulancejob/localization/br_esx_ambulancejob.sql
deleted file mode 100644
index 128468f2..00000000
--- a/[esx_addons]/esx_ambulancejob/localization/br_esx_ambulancejob.sql
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_ambulance', 'EMS', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_ambulance', 'EMS', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_ambulance', 'EMS', 1)
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('ambulance',0,'ambulância','Jr. EMT',20,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',1,'medico','EMT',40,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',2,'medico chefe','Sr. EMT',60,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',3,'boss','EMT Supervisor',80,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}')
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('ambulance','EMS')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('bandage','curativo', 2),
- ('medikit','kit medico', 2)
-;
-
-ALTER TABLE `users`
- ADD `is_dead` TINYINT(1) NULL DEFAULT '0'
-;
diff --git a/[esx_addons]/esx_ambulancejob/localization/cs_esx_ambulancejob.sql b/[esx_addons]/esx_ambulancejob/localization/cs_esx_ambulancejob.sql
deleted file mode 100644
index 823a0f1c..00000000
--- a/[esx_addons]/esx_ambulancejob/localization/cs_esx_ambulancejob.sql
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_ambulance', 'Záchranka', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_ambulance', 'Záchranka', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_ambulance', 'Záchranka', 1)
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('ambulance',0,'ambulance','Zdravotník',20,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',1,'doctor','Doktor',40,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',2,'chief_doctor','Primář',60,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',3,'boss','Chirurg',80,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}')
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('ambulance','Záchranka')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('bandage','Obvaz', 2),
- ('medikit','Lékarnička', 2)
-;
-
-ALTER TABLE `users`
- ADD `is_dead` TINYINT(1) NULL DEFAULT '0'
-;
diff --git a/[esx_addons]/esx_ambulancejob/localization/de_esx_ambulancejob.sql b/[esx_addons]/esx_ambulancejob/localization/de_esx_ambulancejob.sql
deleted file mode 100644
index f929a52a..00000000
--- a/[esx_addons]/esx_ambulancejob/localization/de_esx_ambulancejob.sql
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_ambulance', 'Notdienst', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_ambulance', 'Ambulance', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_ambulance', 'Ambulance', 1)
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('ambulance',0,'ambulance','Sanitäter',20,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',1,'doctor','Arzt',40,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',2,'chief_doctor','Chefarzt',60,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',3,'boss','Chirurg',80,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}')
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('ambulance','Notdienst')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('bandage','Bandage', 2),
- ('medikit','Medikit', 2)
-;
-
-ALTER TABLE `users`
- ADD `is_dead` TINYINT(1) NULL DEFAULT '0'
-;
diff --git a/[esx_addons]/esx_ambulancejob/localization/en_esx_ambulancejob.sql b/[esx_addons]/esx_ambulancejob/localization/en_esx_ambulancejob.sql
deleted file mode 100644
index dc9c5ea4..00000000
--- a/[esx_addons]/esx_ambulancejob/localization/en_esx_ambulancejob.sql
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_ambulance', 'EMS', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_ambulance', 'EMS', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_ambulance', 'EMS', 1)
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('ambulance',0,'ambulance','Jr. EMT',20,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',1,'doctor','EMT',40,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',2,'chief_doctor','Sr. EMT',60,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',3,'boss','EMT Supervisor',80,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}')
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('ambulance','EMS')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('bandage','Bandage', 2),
- ('medikit','Medikit', 2)
-;
-
-ALTER TABLE `users`
- ADD `is_dead` TINYINT(1) NULL DEFAULT '0'
-;
diff --git a/[esx_addons]/esx_ambulancejob/localization/fi_esx_ambulancejob.sql b/[esx_addons]/esx_ambulancejob/localization/fi_esx_ambulancejob.sql
deleted file mode 100644
index 0ca2997b..00000000
--- a/[esx_addons]/esx_ambulancejob/localization/fi_esx_ambulancejob.sql
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_ambulance', 'Ensihoito', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_ambulance', 'Ensihoito', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_ambulance', 'Ensihoito', 1)
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('ambulance',0,'ambulance','Ensihoitaja',20,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',1,'doctor','Lääkäri',40,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',2,'chief_doctor','Yli-lääkäri',60,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',3,'boss','Kirurgi',80,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}')
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('ambulance','Ensihoito')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('bandage','Sideharso', 2),
- ('medikit','Ensiapupakkaus', 2)
-;
-
-ALTER TABLE `users`
- ADD `is_dead` TINYINT(1) NULL DEFAULT '0'
-;
diff --git a/[esx_addons]/esx_ambulancejob/localization/pl_esx_ambulancejob.sql b/[esx_addons]/esx_ambulancejob/localization/pl_esx_ambulancejob.sql
deleted file mode 100644
index 2d84d9e2..00000000
--- a/[esx_addons]/esx_ambulancejob/localization/pl_esx_ambulancejob.sql
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_ambulance', 'Ambulance', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_ambulance', 'Ambulance', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_ambulance', 'Pogotowie ratunkowe', 1)
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('ambulance',0,'ambulance','Ratownik',20,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',1,'doctor','Lekarz',40,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',2,'chief_doctor','Chirurg',60,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',3,'boss','Ordynator',80,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}')
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('ambulance','Pogotowie ratunkowe')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('bandage','Bandaż', 2),
- ('medikit','Defibrylator', 2)
-;
-
-ALTER TABLE `users`
- ADD `is_dead` TINYINT(1) NULL DEFAULT '0'
-;
diff --git a/[esx_addons]/esx_ambulancejob/localization/sv_esx_ambulancejob.sql b/[esx_addons]/esx_ambulancejob/localization/sv_esx_ambulancejob.sql
deleted file mode 100644
index 3eb37d10..00000000
--- a/[esx_addons]/esx_ambulancejob/localization/sv_esx_ambulancejob.sql
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_ambulance', 'Sjukvård', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_ambulance', 'Sjukvård', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_ambulance', 'Sjukvård', 1)
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('ambulance',0,'ambulance','Undersköterska',20,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',1,'doctor','Ambulanssjuksköterska',40,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',2,'chief_doctor','Läkare',60,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',3,'boss','Överläkare',80,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}')
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('ambulance','Sjukvårdare')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('bandage','Bandage', 2),
- ('medikit','Akutväska', 2)
-;
-
-ALTER TABLE `users`
- ADD `is_dead` TINYINT(1) NULL DEFAULT '0'
-;
diff --git a/[esx_addons]/esx_ambulancejob/localization/tr_esx_ambulancejob.sql b/[esx_addons]/esx_ambulancejob/localization/tr_esx_ambulancejob.sql
deleted file mode 100644
index 40e839d6..00000000
--- a/[esx_addons]/esx_ambulancejob/localization/tr_esx_ambulancejob.sql
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_ambulance', 'EMS', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_ambulance', 'EMS', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_ambulance', 'EMS', 1)
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('ambulance',0,'ambulance','Acil Tıp Teknisyeni',20,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',1,'doctor','Doktor',40,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',2,'chief_doctor','Kdemli Doktor',60,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
- ('ambulance',3,'boss','Baş Hekim',80,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}')
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('ambulance','EMS')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('bandage','Bandaj', 2),
- ('medikit','Sağlık Kiti', 2)
-;
-
-ALTER TABLE `users`
- ADD `is_dead` TINYINT(1) NULL DEFAULT '0'
-;
diff --git a/[esx_addons]/esx_ambulancejob/server/main.lua b/[esx_addons]/esx_ambulancejob/server/main.lua
deleted file mode 100644
index 6b22684a..00000000
--- a/[esx_addons]/esx_ambulancejob/server/main.lua
+++ /dev/null
@@ -1,361 +0,0 @@
-local playersHealing, deadPlayers = {}, {}
-
-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
-
-RegisterNetEvent('esx_ambulancejob:revive')
-AddEventHandler('esx_ambulancejob:revive', function(playerId)
- playerId = tonumber(playerId)
- local xPlayer = source and ESX.GetPlayerFromId(source)
-
- if xPlayer and xPlayer.job.name == 'ambulance' then
- local xTarget = ESX.GetPlayerFromId(playerId)
- if xTarget then
- if deadPlayers[playerId] then
- if Config.ReviveReward > 0 then
- xPlayer.showNotification(TranslateCap('revive_complete_award', xTarget.name, Config.ReviveReward))
- xPlayer.addMoney(Config.ReviveReward, "Revive Reward")
- xTarget.triggerEvent('esx_ambulancejob:revive')
- else
- xPlayer.showNotification(TranslateCap('revive_complete', xTarget.name))
- xTarget.triggerEvent('esx_ambulancejob:revive')
- end
- local Ambulance = ESX.GetExtendedPlayers("job", "ambulance")
-
- for _, xPlayer in pairs(Ambulance) do
- if xPlayer.job.name == 'ambulance' then
- xPlayer.triggerEvent('esx_ambulancejob:PlayerNotDead', playerId)
- end
- end
- deadPlayers[playerId] = nil
- else
- xPlayer.showNotification(TranslateCap('player_not_unconscious'))
- end
- else
- xPlayer.showNotification(TranslateCap('revive_fail_offline'))
- end
- end
-end)
-
-AddEventHandler('txAdmin:events:healedPlayer', function(eventData)
- if GetInvokingResource() ~= "monitor" or type(eventData) ~= "table" or type(eventData.id) ~= "number" then
- return
- end
- if deadPlayers[eventData.id] then
- TriggerClientEvent('esx_ambulancejob:revive', eventData.id)
- local Ambulance = ESX.GetExtendedPlayers("job", "ambulance")
-
- for _, xPlayer in pairs(Ambulance) do
- if xPlayer.job.name == 'ambulance' then
- xPlayer.triggerEvent('esx_ambulancejob:PlayerNotDead', eventData.id)
- end
- end
- deadPlayers[eventData.id] = nil
- end
-end)
-
-RegisterNetEvent('esx:onPlayerDeath')
-AddEventHandler('esx:onPlayerDeath', function(data)
- local source = source
- deadPlayers[source] = 'dead'
- local Ambulance = ESX.GetExtendedPlayers("job", "ambulance")
-
- for _, xPlayer in pairs(Ambulance) do
- xPlayer.triggerEvent('esx_ambulancejob:PlayerDead', source)
- end
-end)
-
-RegisterServerEvent('esx_ambulancejob:svsearch')
-AddEventHandler('esx_ambulancejob:svsearch', function()
- TriggerClientEvent('esx_ambulancejob:clsearch', -1, source)
-end)
-
-RegisterNetEvent('esx_ambulancejob:onPlayerDistress')
-AddEventHandler('esx_ambulancejob:onPlayerDistress', function()
- local source = source
- if deadPlayers[source] then
- deadPlayers[source] = 'distress'
- local Ambulance = ESX.GetExtendedPlayers("job", "ambulance")
-
- for _, xPlayer in pairs(Ambulance) do
- TriggerClientEvent('esx_ambulancejob:PlayerDistressed', xPlayer.source, source)
- end
- end
-end)
-
-RegisterNetEvent('esx:onPlayerSpawn')
-AddEventHandler('esx:onPlayerSpawn', function()
- local source = source
- if deadPlayers[source] then
- deadPlayers[source] = nil
- local Ambulance = ESX.GetExtendedPlayers("job", "ambulance")
-
- for _, xPlayer in pairs(Ambulance) do
- xPlayer.triggerEvent('esx_ambulancejob:PlayerNotDead', source)
- end
- end
-end)
-
-AddEventHandler('esx:playerDropped', function(playerId, reason)
- if deadPlayers[playerId] then
- deadPlayers[playerId] = nil
- local Ambulance = ESX.GetExtendedPlayers("job", "ambulance")
-
- for _, xPlayer in pairs(Ambulance) do
- if xPlayer.job.name == 'ambulance' then
- xPlayer.triggerEvent('esx_ambulancejob:PlayerNotDead', playerId)
- end
- end
- end
-end)
-
-RegisterNetEvent('esx_ambulancejob:heal')
-AddEventHandler('esx_ambulancejob:heal', function(target, type)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- if xPlayer.job.name == 'ambulance' then
- TriggerClientEvent('esx_ambulancejob:heal', target, type)
- end
-end)
-
-RegisterNetEvent('esx_ambulancejob:putInVehicle')
-AddEventHandler('esx_ambulancejob:putInVehicle', function(target)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- if xPlayer.job.name == 'ambulance' then
- TriggerClientEvent('esx_ambulancejob:putInVehicle', target)
- end
-end)
-
-ESX.RegisterServerCallback('esx_ambulancejob:removeItemsAfterRPDeath', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- if Config.OxInventory and Config.RemoveItemsAfterRPDeath then
- exports.ox_inventory:ClearInventory(xPlayer.source)
- return cb()
- end
-
- if Config.RemoveCashAfterRPDeath then
- if xPlayer.getMoney() > 0 then
- xPlayer.removeMoney(xPlayer.getMoney(), "Death")
- end
-
- if xPlayer.getAccount('black_money').money > 0 then
- xPlayer.setAccountMoney('black_money', 0, "Death")
- end
- end
-
- if Config.RemoveItemsAfterRPDeath then
- for i=1, #xPlayer.inventory, 1 do
- if xPlayer.inventory[i].count > 0 then
- xPlayer.setInventoryItem(xPlayer.inventory[i].name, 0)
- end
- end
- end
-
- if Config.OxInventory then return cb() end
-
- local playerLoadout = {}
- if Config.RemoveWeaponsAfterRPDeath then
- for i=1, #xPlayer.loadout, 1 do
- xPlayer.removeWeapon(xPlayer.loadout[i].name)
- end
- else -- save weapons & restore em' since spawnmanager removes them
- for i=1, #xPlayer.loadout, 1 do
- table.insert(playerLoadout, xPlayer.loadout[i])
- end
-
- -- give back wepaons after a couple of seconds
- CreateThread(function()
- Wait(5000)
- for i=1, #playerLoadout, 1 do
- if playerLoadout[i].label ~= nil then
- xPlayer.addWeapon(playerLoadout[i].name, playerLoadout[i].ammo)
- end
- end
- end)
- end
-
- cb()
-end)
-
-if Config.EarlyRespawnFine then
- ESX.RegisterServerCallback('esx_ambulancejob:checkBalance', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
- local bankBalance = xPlayer.getAccount('bank').money
-
- cb(bankBalance >= Config.EarlyRespawnFineAmount)
- end)
-
- RegisterNetEvent('esx_ambulancejob:payFine')
- AddEventHandler('esx_ambulancejob:payFine', function()
- local xPlayer = ESX.GetPlayerFromId(source)
- local fineAmount = Config.EarlyRespawnFineAmount
-
- xPlayer.showNotification(TranslateCap('respawn_bleedout_fine_msg', ESX.Math.GroupDigits(fineAmount)))
- xPlayer.removeAccountMoney('bank', fineAmount, "Respawn Fine")
- end)
-end
-
-ESX.RegisterServerCallback('esx_ambulancejob:getItemAmount', function(source, cb, item)
- local xPlayer = ESX.GetPlayerFromId(source)
- local quantity = xPlayer.getInventoryItem(item).count
-
- cb(quantity)
-end)
-
-ESX.RegisterServerCallback('esx_ambulancejob:buyJobVehicle', function(source, cb, vehicleProps, type)
- local xPlayer = ESX.GetPlayerFromId(source)
- local price = getPriceFromHash(vehicleProps.model, xPlayer.job.grade_name, type)
-
- -- vehicle model not found
- if price == 0 then
- cb(false)
- else
- if xPlayer.getMoney() >= price then
- xPlayer.removeMoney(price, "Job Vehicle Purchase")
-
- MySQL.insert('INSERT INTO owned_vehicles (owner, vehicle, plate, type, job, `stored`) VALUES (?, ?, ?, ?, ?, ?)', {xPlayer.identifier, json.encode(vehicleProps), vehicleProps.plate, type, xPlayer.job.name, true},
- function (rowsChanged)
- cb(true)
- end)
- else
- cb(false)
- end
- end
-end)
-
-ESX.RegisterServerCallback('esx_ambulancejob:storeNearbyVehicle', function(source, cb, plates)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- local plate = MySQL.scalar.await('SELECT plate FROM owned_vehicles WHERE owner = ? AND plate IN (?) AND job = ?', {xPlayer.identifier, plates, xPlayer.job.name})
-
- if plate then
- MySQL.update('UPDATE owned_vehicles SET `stored` = true WHERE owner = ? AND plate = ? AND job = ?', {xPlayer.identifier, plate, xPlayer.job.name},
- function(rowsChanged)
- if rowsChanged == 0 then
- cb(false)
- else
- cb(plate)
- end
- end)
- else
- cb(false)
- end
-end)
-
-function getPriceFromHash(vehicleHash, jobGrade, type)
- local vehicles = Config.AuthorizedVehicles[type][jobGrade]
-
- for i = 1, #vehicles do
- local vehicle = vehicles[i]
- if joaat(vehicle.model) == vehicleHash then
- return vehicle.price
- end
- end
-
- return 0
-end
-
-RegisterNetEvent('esx_ambulancejob:removeItem')
-AddEventHandler('esx_ambulancejob:removeItem', function(item)
- local xPlayer = ESX.GetPlayerFromId(source)
- xPlayer.removeInventoryItem(item, 1)
-
- if item == 'bandage' then
- xPlayer.showNotification(TranslateCap('used_bandage'))
- elseif item == 'medikit' then
- xPlayer.showNotification(TranslateCap('used_medikit'))
- end
-end)
-
-RegisterNetEvent('esx_ambulancejob:giveItem')
-AddEventHandler('esx_ambulancejob:giveItem', function(itemName, amount)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- if xPlayer.job.name ~= 'ambulance' then
- print(('[^2WARNING^7] Player ^5%s^7 Tried Giving Themselves -> ^5' .. itemName ..'^7!'):format(xPlayer.source))
- return
- elseif (itemName ~= 'medikit' and itemName ~= 'bandage') then
- print(('[^2WARNING^7] Player ^5%s^7 Tried Giving Themselves -> ^5' .. itemName ..'^7!'):format(xPlayer.source))
- return
- end
-
- if xPlayer.canCarryItem(itemName, amount) then
- xPlayer.addInventoryItem(itemName, amount)
- else
- xPlayer.showNotification(TranslateCap('max_item'))
- end
-end)
-
-ESX.RegisterCommand('revive', 'admin', function(xPlayer, args, showError)
- args.playerId.triggerEvent('esx_ambulancejob:revive')
-end, true, {help = TranslateCap('revive_help'), validate = true, arguments = {
- {name = 'playerId', help = 'The player id', type = 'player'}
-}})
-
-ESX.RegisterCommand('reviveall', "admin", function(xPlayer, args, showError)
- TriggerClientEvent('esx_ambulancejob:revive', -1)
-end, false)
-
-ESX.RegisterUsableItem('medikit', function(source)
- if not playersHealing[source] then
- local xPlayer = ESX.GetPlayerFromId(source)
- xPlayer.removeInventoryItem('medikit', 1)
-
- playersHealing[source] = true
- TriggerClientEvent('esx_ambulancejob:useItem', source, 'medikit')
-
- Wait(10000)
- playersHealing[source] = nil
- end
-end)
-
-ESX.RegisterUsableItem('bandage', function(source)
- if not playersHealing[source] then
- local xPlayer = ESX.GetPlayerFromId(source)
- xPlayer.removeInventoryItem('bandage', 1)
-
- playersHealing[source] = true
- TriggerClientEvent('esx_ambulancejob:useItem', source, 'bandage')
-
- Wait(10000)
- playersHealing[source] = nil
- end
-end)
-
-ESX.RegisterServerCallback('esx_ambulancejob:getDeadPlayers', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
- if xPlayer.job.name == "ambulance" then
- cb(deadPlayers)
- end
-end)
-
-ESX.RegisterServerCallback('esx_ambulancejob:getDeathStatus', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
- MySQL.scalar('SELECT is_dead FROM users WHERE identifier = ?', {xPlayer.identifier}, function(isDead)
- cb(isDead)
- end)
-end)
-
-RegisterNetEvent('esx_ambulancejob:setDeathStatus')
-AddEventHandler('esx_ambulancejob:setDeathStatus', function(isDead)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- if type(isDead) == 'boolean' then
- MySQL.update('UPDATE users SET is_dead = ? WHERE identifier = ?', {isDead, xPlayer.identifier})
-
- if not isDead then
- local Ambulance = ESX.GetExtendedPlayers("job", "ambulance")
- for _, xPlayer in pairs(Ambulance) do
- xPlayer.triggerEvent('esx_ambulancejob:PlayerNotDead', source)
- end
- end
- end
-
-end)
diff --git a/[esx_addons]/esx_animations/.editorconfig b/[esx_addons]/esx_animations/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_animations/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_animations/LICENSE b/[esx_addons]/esx_animations/LICENSE
deleted file mode 100644
index caf36e98..00000000
--- a/[esx_addons]/esx_animations/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_animations/README.md b/[esx_addons]/esx_animations/README.md
deleted file mode 100644
index 55451cd6..00000000
--- a/[esx_addons]/esx_animations/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# esx_animations
-
-## Download & Installation
-
-### Using [fvm](https://github.com/qlaffont/fvm-installer)
-```
-fvm install --save --folder=esx esx-org/esx_animations
-```
-
-### Using Git
-```
-cd resources
-git clone https://github.com/ESX-Org/esx_animations [esx]/esx_animations
-```
-
-### Manually
-- Download https://github.com/ESX-Org/esx_animations/archive/master.zip
-- Put it in the `[esx]` directory
-
-## Installation
-- Add this in your `server.cfg`:
-
-```
-start esx_animations
-```
-
-# Legal
-### License
-esx_animations - play anims!
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
\ No newline at end of file
diff --git a/[esx_addons]/esx_animations/client/main.lua b/[esx_addons]/esx_animations/client/main.lua
deleted file mode 100644
index 5f8e1715..00000000
--- a/[esx_addons]/esx_animations/client/main.lua
+++ /dev/null
@@ -1,91 +0,0 @@
-local inAnim = false
-
-function startAttitude(lib, anim)
- ESX.Streaming.RequestAnimSet(lib, function()
- SetPedMovementClipset(PlayerPedId(), anim, true)
- end)
-end
-
-function startAnim(lib, anim)
- ESX.Streaming.RequestAnimDict(lib, function()
- TaskPlayAnim(PlayerPedId(), lib, anim, 8.0, -8.0, -1, 0, 0.0, false, false, false)
- RemoveAnimDict(lib)
- end)
-end
-
-function startScenario(anim)
- TaskStartScenarioInPlace(PlayerPedId(), anim, 0, false)
-end
-
-function OpenAnimationsMenu()
- local elements = {
- {unselectable = true, icon = "fas fa-smile", title = "Animations"}
- }
-
- for i=1, #Config.Animations, 1 do
- elements[#elements+1] = {
- icon = "fas fa-smile",
- title = Config.Animations[i].label,
- value = Config.Animations[i].name
- }
- end
-
- ESX.OpenContext("right", elements, function(menu,element)
- OpenAnimationsSubMenu(element.value)
- end)
-end
-
-function OpenAnimationsSubMenu(menu)
- local title = nil
- local elements = {}
-
- for i=1, #Config.Animations, 1 do
- elements = {
- {unselectable = true, icon = "fas fa-smile", title = Config.Animations[i].label}
- }
-
- if Config.Animations[i].name == menu then
- title = Config.Animations[i].label
-
- for j=1, #Config.Animations[i].items, 1 do
- elements[#elements+1] = {
- icon = "fas fa-smile",
- title = Config.Animations[i].items[j].label,
- type = Config.Animations[i].items[j].type,
- value = Config.Animations[i].items[j].data
- }
- end
- break
- end
- end
-
- ESX.OpenContext("right", elements, function(menu,element)
- local type = element.type
- local lib = element.value.lib
- local anim = element.value.anim
-
- if type == 'scenario' then
- startScenario(anim)
- elseif type == 'attitude' then
- startAttitude(lib, anim)
- elseif type == 'anim' then
- startAnim(lib, anim)
- end
- end)
-end
-
--- Key Controls
-RegisterCommand('animmenu', function()
- if not ESX.PlayerData.dead then
- OpenAnimationsMenu()
- end
-end, false)
-
-RegisterCommand('cleartasks', function()
- if not ESX.PlayerData.dead then
- ClearPedTasks(PlayerPedId())
- end
-end, false)
-
-RegisterKeyMapping('animmenu', 'Open Animations Menu', 'keyboard', 'f3')
-RegisterKeyMapping('cleartasks', 'Stop Anmimation', 'keyboard', 'z')
diff --git a/[esx_addons]/esx_animations/config.lua b/[esx_addons]/esx_animations/config.lua
deleted file mode 100644
index d729ae98..00000000
--- a/[esx_addons]/esx_animations/config.lua
+++ /dev/null
@@ -1,161 +0,0 @@
-Config = {}
-
-Config.Animations = {
-
- {
- name = 'festives',
- label = 'Festives',
- items = {
- {label = "Fumer une cigarette", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING"}},
- {label = "Jouer de la musique", type = "scenario", data = {anim = "WORLD_HUMAN_MUSICIAN"}},
- {label = "Dj", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@dj", anim = "dj"}},
- {label = "Boire une biere", type = "scenario", data = {anim = "WORLD_HUMAN_DRINKING"}},
- {label = "Bière en zik", type = "scenario", data = {anim = "WORLD_HUMAN_PARTYING"}},
- {label = "Air Guitar", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@air_guitar", anim = "air_guitar"}},
- {label = "Air Shagging", type = "anim", data = {lib = "anim@mp_player_intcelebrationfemale@air_shagging", anim = "air_shagging"}},
- {label = "Rock'n'roll", type = "anim", data = {lib = "mp_player_int_upperrock", anim = "mp_player_int_rock"}},
- -- {label = "Fumer un joint", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING_POT"}},
- {label = "Bourré sur place", type = "anim", data = {lib = "amb@world_human_bum_standing@drunk@idle_a", anim = "idle_a"}},
- {label = "Vomir en voiture", type = "anim", data = {lib = "oddjobs@taxi@tie", anim = "vomit_outside"}},
- }
- },
-
- {
- name = 'greetings',
- label = 'Salutations',
- items = {
- {label = "Saluer", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_hello"}},
- {label = "Serrer la main", type = "anim", data = {lib = "mp_common", anim = "givetake1_a"}},
- {label = "Tchek", type = "anim", data = {lib = "mp_ped_interaction", anim = "handshake_guy_a"}},
- {label = "Salut bandit", type = "anim", data = {lib = "mp_ped_interaction", anim = "hugs_guy_a"}},
- {label = "Salut Militaire", type = "anim", data = {lib = "mp_player_int_uppersalute", anim = "mp_player_int_salute"}},
- }
- },
-
- {
- name = 'work',
- label = 'Travail',
- items = {
- {label = "Suspect : se rendre à la police", type = "anim", data = {lib = "random@arrests@busted", anim = "idle_c"}},
- {label = "Pêcheur", type = "scenario", data = {anim = "world_human_stand_fishing"}},
- {label = "Police : enquêter", type = "anim", data = {lib = "amb@code_human_police_investigate@idle_b", anim = "idle_f"}},
- {label = "Police : parler à la radio", type = "anim", data = {lib = "random@arrests", anim = "generic_radio_chatter"}},
- {label = "Police : circulation", type = "scenario", data = {anim = "WORLD_HUMAN_CAR_PARK_ATTENDANT"}},
- {label = "Police : jumelles", type = "scenario", data = {anim = "WORLD_HUMAN_BINOCULARS"}},
- {label = "Agriculture : récolter", type = "scenario", data = {anim = "world_human_gardener_plant"}},
- {label = "Dépanneur : réparer le moteur", type = "anim", data = {lib = "mini@repair", anim = "fixing_a_ped"}},
- {label = "Médecin : observer", type = "scenario", data = {anim = "CODE_HUMAN_MEDIC_KNEEL"}},
- {label = "Taxi : parler au client", type = "anim", data = {lib = "oddjobs@taxi@driver", anim = "leanover_idle"}},
- {label = "Taxi : donner la facture", type = "anim", data = {lib = "oddjobs@taxi@cyi", anim = "std_hand_off_ps_passenger"}},
- {label = "Epicier : donner les courses", type = "anim", data = {lib = "mp_am_hold_up", anim = "purchase_beerbox_shopkeeper"}},
- {label = "Barman : servir un shot", type = "anim", data = {lib = "mini@drinking", anim = "shots_barman_b"}},
- {label = "Journaliste : Prendre une photo", type = "scenario", data = {anim = "WORLD_HUMAN_PAPARAZZI"}},
- {label = "Tout métiers : Prendre des notes", type = "scenario", data = {anim = "WORLD_HUMAN_CLIPBOARD"}},
- {label = "Tout métiers : Coup de marteau", type = "scenario", data = {anim = "WORLD_HUMAN_HAMMERING"}},
- {label = "Clochard : Faire la manche", type = "scenario", data = {anim = "WORLD_HUMAN_BUM_FREEWAY"}},
- {label = "Clochard : Faire la statue", type = "scenario", data = {anim = "WORLD_HUMAN_HUMAN_STATUE"}},
- }
- },
-
- {
- name = 'humors',
- label = 'Humeurs',
- items = {
- {label = "Féliciter", type = "scenario", data = {anim = "WORLD_HUMAN_CHEERING"}},
- {label = "Super", type = "anim", data = {lib = "mp_action", anim = "thanks_male_06"}},
- {label = "Toi", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_point"}},
- {label = "Viens", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_come_here_soft"}},
- {label = "Keskya ?", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_bring_it_on"}},
- {label = "A moi", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_me"}},
- {label = "Je le savais, putain", type = "anim", data = {lib = "anim@am_hold_up@male", anim = "shoplift_high"}},
- {label = "Etre épuisé", type = "scenario", data = {lib = "amb@world_human_jog_standing@male@idle_b", anim = "idle_d"}},
- {label = "Je suis dans la merde", type = "scenario", data = {lib = "amb@world_human_bum_standing@depressed@idle_a", anim = "idle_a"}},
- {label = "Facepalm", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@face_palm", anim = "face_palm"}},
- {label = "Calme-toi ", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_easy_now"}},
- {label = "Qu'est ce que j'ai fait ?", type = "anim", data = {lib = "oddjobs@assassinate@multi@", anim = "react_big_variations_a"}},
- {label = "Avoir peur", type = "anim", data = {lib = "amb@code_human_cower_stand@male@react_cowering", anim = "base_right"}},
- {label = "Fight ?", type = "anim", data = {lib = "anim@deathmatch_intros@unarmed", anim = "intro_male_unarmed_e"}},
- {label = "C'est pas Possible !", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_damn"}},
- {label = "Enlacer", type = "anim", data = {lib = "mp_ped_interaction", anim = "kisses_guy_a"}},
- {label = "Doigt d'honneur", type = "anim", data = {lib = "mp_player_int_upperfinger", anim = "mp_player_int_finger_01_enter"}},
- {label = "Branleur", type = "anim", data = {lib = "mp_player_int_upperwank", anim = "mp_player_int_wank_01"}},
- {label = "Balle dans la tete", type = "anim", data = {lib = "mp_suicide", anim = "pistol"}},
- }
- },
-
- {
- name = 'sports',
- label = 'Sports',
- items = {
- {label = "Montrer ses muscles", type = "anim", data = {lib = "amb@world_human_muscle_flex@arms_at_side@base", anim = "base"}},
- {label = "Barre de musculation", type = "anim", data = {lib = "amb@world_human_muscle_free_weights@male@barbell@base", anim = "base"}},
- {label = "Faire des pompes", type = "anim", data = {lib = "amb@world_human_push_ups@male@base", anim = "base"}},
- {label = "Faire des abdos", type = "anim", data = {lib = "amb@world_human_sit_ups@male@base", anim = "base"}},
- {label = "Faire du yoga", type = "anim", data = {lib = "amb@world_human_yoga@male@base", anim = "base_a"}},
- }
- },
-
- {
- name = 'misc',
- label = 'Divers',
- items = {
- {label = "Boire un café", type = "anim", data = {lib = "amb@world_human_aa_coffee@idle_a", anim = "idle_a"}},
- {label = "S'asseoir", type = "anim", data = {lib = "anim@heists@prison_heistunfinished_biztarget_idle", anim = "target_idle"}},
- {label = "Attendre contre un mur", type = "scenario", data = {anim = "world_human_leaning"}},
- {label = "Couché sur le dos", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE_BACK"}},
- {label = "Couché sur le ventre", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE"}},
- {label = "Nettoyer quelque chose", type = "scenario", data = {anim = "world_human_maid_clean"}},
- {label = "Préparer à manger", type = "scenario", data = {anim = "PROP_HUMAN_BBQ"}},
- {label = "Position de Fouille", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_bj_to_prop_female"}},
- {label = "Prendre un selfie", type = "scenario", data = {anim = "world_human_tourist_mobile"}},
- {label = "Ecouter à une porte", type = "anim", data = {lib = "mini@safe_cracking", anim = "idle_base"}},
- }
- },
-
- {
- name = 'attitudem',
- label = 'Attitudes',
- items = {
- {label = "Normal M", type = "attitude", data = {lib = "move_m@confident", anim = "move_m@confident"}},
- {label = "Normal F", type = "attitude", data = {lib = "move_f@heels@c", anim = "move_f@heels@c"}},
- {label = "Depressif", type = "attitude", data = {lib = "move_m@depressed@a", anim = "move_m@depressed@a"}},
- {label = "Depressif F", type = "attitude", data = {lib = "move_f@depressed@a", anim = "move_f@depressed@a"}},
- {label = "Business", type = "attitude", data = {lib = "move_m@business@a", anim = "move_m@business@a"}},
- {label = "Determine", type = "attitude", data = {lib = "move_m@brave@a", anim = "move_m@brave@a"}},
- {label = "Casual", type = "attitude", data = {lib = "move_m@casual@a", anim = "move_m@casual@a"}},
- {label = "Trop mange", type = "attitude", data = {lib = "move_m@fat@a", anim = "move_m@fat@a"}},
- {label = "Hipster", type = "attitude", data = {lib = "move_m@hipster@a", anim = "move_m@hipster@a"}},
- {label = "Blesse", type = "attitude", data = {lib = "move_m@injured", anim = "move_m@injured"}},
- {label = "Intimide", type = "attitude", data = {lib = "move_m@hurry@a", anim = "move_m@hurry@a"}},
- {label = "Hobo", type = "attitude", data = {lib = "move_m@hobo@a", anim = "move_m@hobo@a"}},
- {label = "Malheureux", type = "attitude", data = {lib = "move_m@sad@a", anim = "move_m@sad@a"}},
- {label = "Muscle", type = "attitude", data = {lib = "move_m@muscle@a", anim = "move_m@muscle@a"}},
- {label = "Choc", type = "attitude", data = {lib = "move_m@shocked@a", anim = "move_m@shocked@a"}},
- {label = "Sombre", type = "attitude", data = {lib = "move_m@shadyped@a", anim = "move_m@shadyped@a"}},
- {label = "Fatigue", type = "attitude", data = {lib = "move_m@buzzed", anim = "move_m@buzzed"}},
- {label = "Pressee", type = "attitude", data = {lib = "move_m@hurry_butch@a", anim = "move_m@hurry_butch@a"}},
- {label = "Fier", type = "attitude", data = {lib = "move_m@money", anim = "move_m@money"}},
- {label = "Petite course", type = "attitude", data = {lib = "move_m@quick", anim = "move_m@quick"}},
- {label = "Mangeuse d'homme", type = "attitude", data = {lib = "move_f@maneater", anim = "move_f@maneater"}},
- {label = "Impertinent", type = "attitude", data = {lib = "move_f@sassy", anim = "move_f@sassy"}},
- {label = "Arrogante", type = "attitude", data = {lib = "move_f@arrogant@a", anim = "move_f@arrogant@a"}},
- }
- },
- {
- name = 'porn',
- label = 'PEGI 21',
- items = {
- {label = "Homme se faire su*** en voiture", type = "anim", data = {lib = "oddjobs@towing", anim = "m_blow_job_loop"}},
- {label = "Femme faire une gaterie en voiture", type = "anim", data = {lib = "oddjobs@towing", anim = "f_blow_job_loop"}},
- {label = "Homme bais** en voiture", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_player"}},
- {label = "Femme bais** en voiture", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_female"}},
- {label = "Se gratter les couilles", type = "anim", data = {lib = "mp_player_int_uppergrab_crotch", anim = "mp_player_int_grab_crotch"}},
- {label = "Faire du charme", type = "anim", data = {lib = "mini@strip_club@idles@stripper", anim = "stripper_idle_02"}},
- {label = "Pose michto", type = "scenario", data = {anim = "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS"}},
- {label = "Montrer sa poitrine", type = "anim", data = {lib = "mini@strip_club@backroom@", anim = "stripper_b_backroom_idle_b"}},
- {label = "Strip Tease 1", type = "anim", data = {lib = "mini@strip_club@lap_dance@ld_girl_a_song_a_p1", anim = "ld_girl_a_song_a_p1_f"}},
- {label = "Strip Tease 2", type = "anim", data = {lib = "mini@strip_club@private_dance@part2", anim = "priv_dance_p2"}},
- {label = "Stip Tease au sol", type = "anim", data = {lib = "mini@strip_club@private_dance@part3", anim = "priv_dance_p3"}},
- }
- }
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_animations/fxmanifest.lua b/[esx_addons]/esx_animations/fxmanifest.lua
deleted file mode 100644
index 37f03715..00000000
--- a/[esx_addons]/esx_animations/fxmanifest.lua
+++ /dev/null
@@ -1,15 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Animations'
-lua54 'yes'
-version '1.9.0'
-
-client_scripts {
- '@es_extended/imports.lua',
- 'config.lua',
- 'client/main.lua'
-}
-
-dependency 'es_extended'
diff --git a/[esx_addons]/esx_animations/localization/br_config.lua b/[esx_addons]/esx_animations/localization/br_config.lua
deleted file mode 100644
index 64cff785..00000000
--- a/[esx_addons]/esx_animations/localization/br_config.lua
+++ /dev/null
@@ -1,161 +0,0 @@
-Config = {}
-
-Config.Animations = {
-
- {
- name = 'festives',
- label = 'Festivo',
- items = {
- {label = "Fumar cigarros", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING"}},
- {label = "Tocar um instrumento musical", type = "scenario", data = {anim = "WORLD_HUMAN_MUSICIAN"}},
- {label = "DJ", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@dj", anim = "dj"}},
- {label = "Beber", type = "scenario", data = {anim = "WORLD_HUMAN_DRINKING"}},
- {label = "Festa", type = "scenario", data = {anim = "WORLD_HUMAN_PARTYING"}},
- {label = "Tocando um violão imaginário", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@air_guitar", anim = "air_guitar"}},
- {label = "Celebrando", type = "anim", data = {lib = "anim@mp_player_intcelebrationfemale@air_shagging", anim = "air_shagging"}},
- {label = "rock and roll ", type = "anim", data = {lib = "mp_player_int_upperrock", anim = "mp_player_int_rock"}},
- -- {label = "Kouření jointu", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING_POT"}},
- {label = "Bêbados", type = "anim", data = {lib = "amb@world_human_bum_standing@drunk@idle_a", anim = "idle_a"}},
- {label = "Vômitos no carro", type = "anim", data = {lib = "oddjobs@taxi@tie", anim = "vomit_outside"}},
- }
- },
-
- {
- name = 'greetings',
- label = 'Saudações',
- items = {
- {label = "Saudação", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_hello"}},
- {label = "Aperto de mão", type = "anim", data = {lib = "mp_common", anim = "givetake1_a"}},
- {label = "Aperto de mão 2", type = "anim", data = {lib = "mp_ped_interaction", anim = "handshake_guy_a"}},
- {label = "Abraço gangster", type = "anim", data = {lib = "mp_ped_interaction", anim = "hugs_guy_a"}},
- {label = "Comprimentar", type = "anim", data = {lib = "mp_player_int_uppersalute", anim = "mp_player_int_salute"}},
- }
- },
-
- {
- name = 'work',
- label = 'Trabalho',
- items = {
- {label = "Suspeito: rendição à polícia", type = "anim", data = {lib = "random@arrests@busted", anim = "idle_c"}},
- {label = "Pesca", type = "scenario", data = {anim = "world_human_stand_fishing"}},
- {label = "Polícia: investigação", type = "anim", data = {lib = "amb@code_human_police_investigate@idle_b", anim = "idle_f"}},
- {label = "Polícia: falando no rádio", type = "anim", data = {lib = "random@arrests", anim = "generic_radio_chatter"}},
- {label = "Polícia: gerenciamento de tráfego", type = "scenario", data = {anim = "WORLD_HUMAN_CAR_PARK_ATTENDANT"}},
- {label = "Polícia: binóculos", type = "scenario", data = {anim = "WORLD_HUMAN_BINOCULARS"}},
- {label = "Agricultura: coleta", type = "scenario", data = {anim = "world_human_gardener_plant"}},
- {label = "Mecânico: reparação de motores", type = "anim", data = {lib = "mini@repair", anim = "fixing_a_ped"}},
- {label = "Médico: exame", type = "scenario", data = {anim = "CODE_HUMAN_MEDIC_KNEEL"}},
- {label = "Táxi: conversando com o cliente", type = "anim", data = {lib = "oddjobs@taxi@driver", anim = "leanover_idle"}},
- {label = "Táxi: entregando uma fatura", type = "anim", data = {lib = "oddjobs@taxi@cyi", anim = "std_hand_off_ps_passenger"}},
- {label = "Vendedor: bens de alimentação", type = "anim", data = {lib = "mp_am_hold_up", anim = "purchase_beerbox_shopkeeper"}},
- {label = "Barman: Derramando uma bebida", type = "anim", data = {lib = "mini@drinking", anim = "shots_barman_b"}},
- {label = "Jornalista: sessão de fotos", type = "scenario", data = {anim = "WORLD_HUMAN_PAPARAZZI"}},
- {label = "Outro trabalho: anotando", type = "scenario", data = {anim = "WORLD_HUMAN_CLIPBOARD"}},
- {label = "Outros trabalhos: rosqueamento de martelo", type = "scenario", data = {anim = "WORLD_HUMAN_HAMMERING"}},
- {label = "Hobo: segurando cartazes", type = "scenario", data = {anim = "WORLD_HUMAN_BUM_FREEWAY"}},
- {label = "Hobo: estátuas de imitação", type = "scenario", data = {anim = "WORLD_HUMAN_HUMAN_STATUE"}},
- }
- },
-
- {
- name = 'humors',
- label = 'Humor',
- items = {
- {label = "Aplausos", type = "scenario", data = {anim = "WORLD_HUMAN_CHEERING"}},
- {label = "Super", type = "anim", data = {lib = "mp_action", anim = "thanks_male_06"}},
- {label = "Apontando com o dedo", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_point"}},
- {label = "Vem cá", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_come_here_soft"}},
- {label = "Então, o que houve?", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_bring_it_on"}},
- {label = "Já?", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_me"}},
- {label = "Eu sabia, o inferno", type = "anim", data = {lib = "anim@am_hold_up@male", anim = "shoplift_high"}},
- {label = "Pendurado", type = "scenario", data = {lib = "amb@world_human_jog_standing@male@idle_b", anim = "idle_d"}},
- {label = "Está ferrado", type = "scenario", data = {lib = "amb@world_human_bum_standing@depressed@idle_a", anim = "idle_a"}},
- {label = "Tapa na cara", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@face_palm", anim = "face_palm"}},
- {label = "Acalme-se", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_easy_now"}},
- {label = "O que eu fiz?", type = "anim", data = {lib = "oddjobs@assassinate@multi@", anim = "react_big_variations_a"}},
- {label = "Oh não", type = "anim", data = {lib = "amb@code_human_cower_stand@male@react_cowering", anim = "base_right"}},
- {label = "Batalha?", type = "anim", data = {lib = "anim@deathmatch_intros@unarmed", anim = "intro_male_unarmed_e"}},
- {label = "Isso não é possível!", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_damn"}},
- {label = "Beijo", type = "anim", data = {lib = "mp_ped_interaction", anim = "kisses_guy_a"}},
- {label = "Dar dedo", type = "anim", data = {lib = "mp_player_int_upperfinger", anim = "mp_player_int_finger_01_enter"}},
- {label = "Masturbando", type = "anim", data = {lib = "mp_player_int_upperwank", anim = "mp_player_int_wank_01"}},
- {label = "Bala na cabeça", type = "anim", data = {lib = "mp_suicide", anim = "pistol"}},
- }
- },
-
- {
- name = 'sports',
- label = 'Esportes',
- items = {
- {label = "Mostrando músculos", type = "anim", data = {lib = "amb@world_human_muscle_flex@arms_at_side@base", anim = "base"}},
- {label = "Fortalecimento", type = "anim", data = {lib = "amb@world_human_muscle_free_weights@male@barbell@base", anim = "base"}},
- {label = "Clicando", type = "anim", data = {lib = "amb@world_human_push_ups@male@base", anim = "base"}},
- {label = "Sentar", type = "anim", data = {lib = "amb@world_human_sit_ups@male@base", anim = "base"}},
- {label = "Yoga", type = "anim", data = {lib = "amb@world_human_yoga@male@base", anim = "base_a"}},
- }
- },
-
- {
- name = 'misc',
- label = 'Outros',
- items = {
- {label = "Bebendo café", type = "anim", data = {lib = "amb@world_human_aa_coffee@idle_a", anim = "idle_a"}},
- {label = "Sentado", type = "anim", data = {lib = "anim@heists@prison_heistunfinished_biztarget_idle", anim = "target_idle"}},
- {label = "Encostado em uma parede", type = "scenario", data = {anim = "world_human_leaning"}},
- {label = "Deitado de costas", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE_BACK"}},
- {label = "Deitado de bruços", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE"}},
- {label = "Limpeza", type = "scenario", data = {anim = "world_human_maid_clean"}},
- {label = "Churrasco", type = "scenario", data = {anim = "PROP_HUMAN_BBQ"}},
- {label = "Tour pessoal", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_bj_to_prop_female"}},
- {label = "Tirando uma selfie", type = "scenario", data = {anim = "world_human_tourist_mobile"}},
- {label = "Ouvindo atras da porta", type = "anim", data = {lib = "mini@safe_cracking", anim = "idle_base"}},
- }
- },
-
- {
- name = 'attitudem',
- label = 'Atitudes',
- items = {
- {label = "Homem normal", type = "attitude", data = {lib = "move_m@confident", anim = "move_m@confident"}},
- {label = "Mulher normal", type = "attitude", data = {lib = "move_f@heels@c", anim = "move_f@heels@c"}},
- {label = "Homem deprimido", type = "attitude", data = {lib = "move_m@depressed@a", anim = "move_m@depressed@a"}},
- {label = "Mulher deprimida", type = "attitude", data = {lib = "move_f@depressed@a", anim = "move_f@depressed@a"}},
- {label = "Negócios", type = "attitude", data = {lib = "move_m@business@a", anim = "move_m@business@a"}},
- {label = "Determinado", type = "attitude", data = {lib = "move_m@brave@a", anim = "move_m@brave@a"}},
- {label = "Comum", type = "attitude", data = {lib = "move_m@casual@a", anim = "move_m@casual@a"}},
- {label = "Travessia", type = "attitude", data = {lib = "move_m@fat@a", anim = "move_m@fat@a"}},
- {label = "Hipster", type = "attitude", data = {lib = "move_m@hipster@a", anim = "move_m@hipster@a"}},
- {label = "Lesões", type = "attitude", data = {lib = "move_m@injured", anim = "move_m@injured"}},
- {label = "Pressa", type = "attitude", data = {lib = "move_m@hurry@a", anim = "move_m@hurry@a"}},
- {label = "Sem abrigo", type = "attitude", data = {lib = "move_m@hobo@a", anim = "move_m@hobo@a"}},
- {label = "Triste", type = "attitude", data = {lib = "move_m@sad@a", anim = "move_m@sad@a"}},
- {label = "Muscularidade", type = "attitude", data = {lib = "move_m@muscle@a", anim = "move_m@muscle@a"}},
- {label = "Chocado", type = "attitude", data = {lib = "move_m@shocked@a", anim = "move_m@shocked@a"}},
- {label = "Suspeito", type = "attitude", data = {lib = "move_m@shadyped@a", anim = "move_m@shadyped@a"}},
- {label = "Fadiga", type = "attitude", data = {lib = "move_m@buzzed", anim = "move_m@buzzed"}},
- {label = "Êxito", type = "attitude", data = {lib = "move_m@hurry_butch@a", anim = "move_m@hurry_butch@a"}},
- {label = "Orgulhoso", type = "attitude", data = {lib = "move_m@money", anim = "move_m@money"}},
- {label = "Arrancado", type = "attitude", data = {lib = "move_m@quick", anim = "move_m@quick"}},
- {label = "Gay", type = "attitude", data = {lib = "move_f@maneater", anim = "move_f@maneater"}},
- {label = "Insolência", type = "attitude", data = {lib = "move_f@sassy", anim = "move_f@sassy"}},
- {label = "Arrogância", type = "attitude", data = {lib = "move_f@arrogant@a", anim = "move_f@arrogant@a"}},
- }
- },
- {
- name = 'porn',
- label = 'Sex',
- items = {
- {label = "Fumar no carro - homem", type = "anim", data = {lib = "oddjobs@towing", anim = "m_blow_job_loop"}},
- {label = "Fumar no carro - mulher", type = "anim", data = {lib = "oddjobs@towing", anim = "f_blow_job_loop"}},
- {label = "Sexo no carro - homem", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_player"}},
- {label = "Sexo no carro - mulher", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_female"}},
- {label = "Raspagem na virilha", type = "anim", data = {lib = "mp_player_int_uppergrab_crotch", anim = "mp_player_int_grab_crotch"}},
- {label = "Prostitutas em pé", type = "anim", data = {lib = "mini@strip_club@idles@stripper", anim = "stripper_idle_02"}},
- {label = "Pose de prostituta", type = "scenario", data = {anim = "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS"}},
- {label = "mostrando o peito", type = "anim", data = {lib = "mini@strip_club@backroom@", anim = "stripper_b_backroom_idle_b"}},
- {label = "Striptease", type = "anim", data = {lib = "mini@strip_club@lap_dance@ld_girl_a_song_a_p1", anim = "ld_girl_a_song_a_p1_f"}},
- {label = "Striptease 2", type = "anim", data = {lib = "mini@strip_club@private_dance@part2", anim = "priv_dance_p2"}},
- {label = "Striptease 3", type = "anim", data = {lib = "mini@strip_club@private_dance@part3", anim = "priv_dance_p3"}},
- }
- }
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_animations/localization/cs_config.lua b/[esx_addons]/esx_animations/localization/cs_config.lua
deleted file mode 100644
index 74b8e76e..00000000
--- a/[esx_addons]/esx_animations/localization/cs_config.lua
+++ /dev/null
@@ -1,161 +0,0 @@
-Config = {}
-
-Config.Animations = {
-
- {
- name = 'festives',
- label = 'Slavnostní',
- items = {
- {label = "Kouření cigarety", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING"}},
- {label = "Hraní na hudební nástroj", type = "scenario", data = {anim = "WORLD_HUMAN_MUSICIAN"}},
- {label = "DJ", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@dj", anim = "dj"}},
- {label = "Pití", type = "scenario", data = {anim = "WORLD_HUMAN_DRINKING"}},
- {label = "Párty", type = "scenario", data = {anim = "WORLD_HUMAN_PARTYING"}},
- {label = "Hraní na imaginární kytaru", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@air_guitar", anim = "air_guitar"}},
- {label = "Oslavování", type = "anim", data = {lib = "anim@mp_player_intcelebrationfemale@air_shagging", anim = "air_shagging"}},
- {label = "Rock'n'roll", type = "anim", data = {lib = "mp_player_int_upperrock", anim = "mp_player_int_rock"}},
- -- {label = "Kouření jointu", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING_POT"}},
- {label = "Ožralecké balancování", type = "anim", data = {lib = "amb@world_human_bum_standing@drunk@idle_a", anim = "idle_a"}},
- {label = "Zvracení v autě", type = "anim", data = {lib = "oddjobs@taxi@tie", anim = "vomit_outside"}},
- }
- },
-
- {
- name = 'greetings',
- label = 'Pozdravy',
- items = {
- {label = "Pozdrav", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_hello"}},
- {label = "Podání ruky", type = "anim", data = {lib = "mp_common", anim = "givetake1_a"}},
- {label = "Podání ruky 2", type = "anim", data = {lib = "mp_ped_interaction", anim = "handshake_guy_a"}},
- {label = "Gangsterské objetí", type = "anim", data = {lib = "mp_ped_interaction", anim = "hugs_guy_a"}},
- {label = "Salutování", type = "anim", data = {lib = "mp_player_int_uppersalute", anim = "mp_player_int_salute"}},
- }
- },
-
- {
- name = 'work',
- label = 'Práce',
- items = {
- {label = "Podezřelý: vzdání se policii", type = "anim", data = {lib = "random@arrests@busted", anim = "idle_c"}},
- {label = "Rybaření", type = "scenario", data = {anim = "world_human_stand_fishing"}},
- {label = "Policie: vyšetřování", type = "anim", data = {lib = "amb@code_human_police_investigate@idle_b", anim = "idle_f"}},
- {label = "Policie: mluvení do vysílačky", type = "anim", data = {lib = "random@arrests", anim = "generic_radio_chatter"}},
- {label = "Policie: řízení dopravy", type = "scenario", data = {anim = "WORLD_HUMAN_CAR_PARK_ATTENDANT"}},
- {label = "Policie: dalekohled", type = "scenario", data = {anim = "WORLD_HUMAN_BINOCULARS"}},
- {label = "Zemědělství: sbírání", type = "scenario", data = {anim = "world_human_gardener_plant"}},
- {label = "Mechanik: oprava motoru", type = "anim", data = {lib = "mini@repair", anim = "fixing_a_ped"}},
- {label = "Lékař: prohlídka", type = "scenario", data = {anim = "CODE_HUMAN_MEDIC_KNEEL"}},
- {label = "Taxi: mluvení k zákazníkovi", type = "anim", data = {lib = "oddjobs@taxi@driver", anim = "leanover_idle"}},
- {label = "Taxi: dávání faktury", type = "anim", data = {lib = "oddjobs@taxi@cyi", anim = "std_hand_off_ps_passenger"}},
- {label = "Prodavač: podávání zboží", type = "anim", data = {lib = "mp_am_hold_up", anim = "purchase_beerbox_shopkeeper"}},
- {label = "Barman: nalití panáka", type = "anim", data = {lib = "mini@drinking", anim = "shots_barman_b"}},
- {label = "Novinář: focení", type = "scenario", data = {anim = "WORLD_HUMAN_PAPARAZZI"}},
- {label = "Jiná práce: zapisování poznámek", type = "scenario", data = {anim = "WORLD_HUMAN_CLIPBOARD"}},
- {label = "Jiná práce: ťukání kladivem", type = "scenario", data = {anim = "WORLD_HUMAN_HAMMERING"}},
- {label = "Tulák: držení cedule", type = "scenario", data = {anim = "WORLD_HUMAN_BUM_FREEWAY"}},
- {label = "Tulák: imitace sochy", type = "scenario", data = {anim = "WORLD_HUMAN_HUMAN_STATUE"}},
- }
- },
-
- {
- name = 'humors',
- label = 'Nálady',
- items = {
- {label = "Potlesk", type = "scenario", data = {anim = "WORLD_HUMAN_CHEERING"}},
- {label = "Super", type = "anim", data = {lib = "mp_action", anim = "thanks_male_06"}},
- {label = "Ukázání prstem", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_point"}},
- {label = "Pojď sem", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_come_here_soft"}},
- {label = "Tak co je?", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_bring_it_on"}},
- {label = "Já?", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_me"}},
- {label = "Já to věděl sakra", type = "anim", data = {lib = "anim@am_hold_up@male", anim = "shoplift_high"}},
- {label = "Postávání", type = "scenario", data = {lib = "amb@world_human_jog_standing@male@idle_b", anim = "idle_d"}},
- {label = "Je to v háji", type = "scenario", data = {lib = "amb@world_human_bum_standing@depressed@idle_a", anim = "idle_a"}},
- {label = "Facepalm", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@face_palm", anim = "face_palm"}},
- {label = "Klídek", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_easy_now"}},
- {label = "Co jsem to udělal?", type = "anim", data = {lib = "oddjobs@assassinate@multi@", anim = "react_big_variations_a"}},
- {label = "Oh ne", type = "anim", data = {lib = "amb@code_human_cower_stand@male@react_cowering", anim = "base_right"}},
- {label = "Bitka?", type = "anim", data = {lib = "anim@deathmatch_intros@unarmed", anim = "intro_male_unarmed_e"}},
- {label = "To snad není možné!", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_damn"}},
- {label = "Polibek", type = "anim", data = {lib = "mp_ped_interaction", anim = "kisses_guy_a"}},
- {label = "Fakování", type = "anim", data = {lib = "mp_player_int_upperfinger", anim = "mp_player_int_finger_01_enter"}},
- {label = "Onanování", type = "anim", data = {lib = "mp_player_int_upperwank", anim = "mp_player_int_wank_01"}},
- {label = "Kulka do hlavy", type = "anim", data = {lib = "mp_suicide", anim = "pistol"}},
- }
- },
-
- {
- name = 'sports',
- label = 'Sporty',
- items = {
- {label = "Ukázání svalů", type = "anim", data = {lib = "amb@world_human_muscle_flex@arms_at_side@base", anim = "base"}},
- {label = "Posilování", type = "anim", data = {lib = "amb@world_human_muscle_free_weights@male@barbell@base", anim = "base"}},
- {label = "Klikování", type = "anim", data = {lib = "amb@world_human_push_ups@male@base", anim = "base"}},
- {label = "Sedy lehy", type = "anim", data = {lib = "amb@world_human_sit_ups@male@base", anim = "base"}},
- {label = "Jóga", type = "anim", data = {lib = "amb@world_human_yoga@male@base", anim = "base_a"}},
- }
- },
-
- {
- name = 'misc',
- label = 'Ostatní',
- items = {
- {label = "Pití kávy", type = "anim", data = {lib = "amb@world_human_aa_coffee@idle_a", anim = "idle_a"}},
- {label = "Sedění", type = "anim", data = {lib = "anim@heists@prison_heistunfinished_biztarget_idle", anim = "target_idle"}},
- {label = "Opření o zeď", type = "scenario", data = {anim = "world_human_leaning"}},
- {label = "Ležení na zádech", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE_BACK"}},
- {label = "Ležení na břiše", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE"}},
- {label = "Uklízení", type = "scenario", data = {anim = "world_human_maid_clean"}},
- {label = "Grilování", type = "scenario", data = {anim = "PROP_HUMAN_BBQ"}},
- {label = "Osobní prohlídka", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_bj_to_prop_female"}},
- {label = "Focení selfie", type = "scenario", data = {anim = "world_human_tourist_mobile"}},
- {label = "Poslouchání u dveří", type = "anim", data = {lib = "mini@safe_cracking", anim = "idle_base"}},
- }
- },
-
- {
- name = 'attitudem',
- label = 'Postoje',
- items = {
- {label = "Normální muž", type = "attitude", data = {lib = "move_m@confident", anim = "move_m@confident"}},
- {label = "Normální žena", type = "attitude", data = {lib = "move_f@heels@c", anim = "move_f@heels@c"}},
- {label = "Deprese muž", type = "attitude", data = {lib = "move_m@depressed@a", anim = "move_m@depressed@a"}},
- {label = "Deprese žena", type = "attitude", data = {lib = "move_f@depressed@a", anim = "move_f@depressed@a"}},
- {label = "Business", type = "attitude", data = {lib = "move_m@business@a", anim = "move_m@business@a"}},
- {label = "Odhodlaný", type = "attitude", data = {lib = "move_m@brave@a", anim = "move_m@brave@a"}},
- {label = "Běžný", type = "attitude", data = {lib = "move_m@casual@a", anim = "move_m@casual@a"}},
- {label = "Přejezení", type = "attitude", data = {lib = "move_m@fat@a", anim = "move_m@fat@a"}},
- {label = "Hipster", type = "attitude", data = {lib = "move_m@hipster@a", anim = "move_m@hipster@a"}},
- {label = "Zranění", type = "attitude", data = {lib = "move_m@injured", anim = "move_m@injured"}},
- {label = "Pospíchání", type = "attitude", data = {lib = "move_m@hurry@a", anim = "move_m@hurry@a"}},
- {label = "Bezdomovec", type = "attitude", data = {lib = "move_m@hobo@a", anim = "move_m@hobo@a"}},
- {label = "Smutný", type = "attitude", data = {lib = "move_m@sad@a", anim = "move_m@sad@a"}},
- {label = "Svalnatost", type = "attitude", data = {lib = "move_m@muscle@a", anim = "move_m@muscle@a"}},
- {label = "Šokovaný", type = "attitude", data = {lib = "move_m@shocked@a", anim = "move_m@shocked@a"}},
- {label = "Podezřelý", type = "attitude", data = {lib = "move_m@shadyped@a", anim = "move_m@shadyped@a"}},
- {label = "Únava", type = "attitude", data = {lib = "move_m@buzzed", anim = "move_m@buzzed"}},
- {label = "Uspěchanost", type = "attitude", data = {lib = "move_m@hurry_butch@a", anim = "move_m@hurry_butch@a"}},
- {label = "Pyšný", type = "attitude", data = {lib = "move_m@money", anim = "move_m@money"}},
- {label = "Sprint", type = "attitude", data = {lib = "move_m@quick", anim = "move_m@quick"}},
- {label = "Gay", type = "attitude", data = {lib = "move_f@maneater", anim = "move_f@maneater"}},
- {label = "Drzost", type = "attitude", data = {lib = "move_f@sassy", anim = "move_f@sassy"}},
- {label = "Arogance", type = "attitude", data = {lib = "move_f@arrogant@a", anim = "move_f@arrogant@a"}},
- }
- },
- {
- name = 'porn',
- label = 'Sex',
- items = {
- {label = "Kouření v autě - muž", type = "anim", data = {lib = "oddjobs@towing", anim = "m_blow_job_loop"}},
- {label = "Kouření v autě - žena", type = "anim", data = {lib = "oddjobs@towing", anim = "f_blow_job_loop"}},
- {label = "Sex v autě - muž", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_player"}},
- {label = "Sex v autě - žena", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_female"}},
- {label = "Škrabání v rozkroku", type = "anim", data = {lib = "mp_player_int_uppergrab_crotch", anim = "mp_player_int_grab_crotch"}},
- {label = "Stání prostitutky", type = "anim", data = {lib = "mini@strip_club@idles@stripper", anim = "stripper_idle_02"}},
- {label = "Póza prostitutky", type = "scenario", data = {anim = "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS"}},
- {label = "Ukázání prsou", type = "anim", data = {lib = "mini@strip_club@backroom@", anim = "stripper_b_backroom_idle_b"}},
- {label = "Striptýz", type = "anim", data = {lib = "mini@strip_club@lap_dance@ld_girl_a_song_a_p1", anim = "ld_girl_a_song_a_p1_f"}},
- {label = "Striptýz 2", type = "anim", data = {lib = "mini@strip_club@private_dance@part2", anim = "priv_dance_p2"}},
- {label = "Striptýz 3", type = "anim", data = {lib = "mini@strip_club@private_dance@part3", anim = "priv_dance_p3"}},
- }
- }
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_animations/localization/en_config.lua b/[esx_addons]/esx_animations/localization/en_config.lua
deleted file mode 100644
index 34f3019a..00000000
--- a/[esx_addons]/esx_animations/localization/en_config.lua
+++ /dev/null
@@ -1,162 +0,0 @@
-Config = {}
-
-Config.Animations = {
-
- {
- name = 'festives',
- label = 'Festive',
- items = {
- {label = "Smoke", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING"}},
- {label = "Musician", type = "scenario", data = {anim = "WORLD_HUMAN_MUSICIAN"}},
- {label = "Dj", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@dj", anim = "dj"}},
- {label = "Coffee", type = "scenario", data = {anim = "WORLD_HUMAN_DRINKING"}},
- {label = "Beer", type = "scenario", data = {anim = "WORLD_HUMAN_PARTYING"}},
- {label = "Air Guitar", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@air_guitar", anim = "air_guitar"}},
- {label = "Air Shagging", type = "anim", data = {lib = "anim@mp_player_intcelebrationfemale@air_shagging", anim = "air_shagging"}},
- {label = "Rock'n'roll", type = "anim", data = {lib = "mp_player_int_upperrock", anim = "mp_player_int_rock"}},
- -- {label = "Fumer un joint", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING_POT"}},
- {label = "Drunk Standing", type = "anim", data = {lib = "amb@world_human_bum_standing@drunk@idle_a", anim = "idle_a"}},
- {label = "Vomiting", type = "anim", data = {lib = "oddjobs@taxi@tie", anim = "vomit_outside"}},
- }
- },
-
- {
- name = 'greetings',
- label = 'Greetings',
- items = {
- {label = "Hello", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_hello"}},
- {label = "Wave", type = "anim", data = {lib = "mp_common", anim = "givetake1_a"}},
- {label = "Handshake", type = "anim", data = {lib = "mp_ped_interaction", anim = "handshake_guy_a"}},
- {label = "Hugging", type = "anim", data = {lib = "mp_ped_interaction", anim = "hugs_guy_a"}},
- {label = "Salute", type = "anim", data = {lib = "mp_player_int_uppersalute", anim = "mp_player_int_salute"}},
- }
- },
-
- {
- name = 'work',
- label = 'Job',
- items = {
- {label = "Suspect : Surrender", type = "anim", data = {lib = "random@arrests@busted", anim = "idle_c"}},
- {label = "Fishing", type = "scenario", data = {anim = "world_human_stand_fishing"}},
- {label = "Police : Investigate", type = "anim", data = {lib = "amb@code_human_police_investigate@idle_b", anim = "idle_f"}},
- {label = "Police : Use Radio", type = "anim", data = {lib = "random@arrests", anim = "generic_radio_chatter"}},
- {label = "Police : Traffic", type = "scenario", data = {anim = "WORLD_HUMAN_CAR_PARK_ATTENDANT"}},
- {label = "Police : Binoculars", type = "scenario", data = {anim = "WORLD_HUMAN_BINOCULARS"}},
- {label = "Agriculture : Planting", type = "scenario", data = {anim = "world_human_gardener_plant"}},
- {label = "Mechanic : Fixing Motor", type = "anim", data = {lib = "mini@repair", anim = "fixing_a_ped"}},
- {label = "Medic : Kneel", type = "scenario", data = {anim = "CODE_HUMAN_MEDIC_KNEEL"}},
- {label = "Taxi : Talk to customer", type = "anim", data = {lib = "oddjobs@taxi@driver", anim = "leanover_idle"}},
- {label = "Taxi : Give bill", type = "anim", data = {lib = "oddjobs@taxi@cyi", anim = "std_hand_off_ps_passenger"}},
- {label = "Grocer : Give", type = "anim", data = {lib = "mp_am_hold_up", anim = "purchase_beerbox_shopkeeper"}},
- {label = "Barman : Serve Shot", type = "anim", data = {lib = "mini@drinking", anim = "shots_barman_b"}},
- {label = "Journalist : Take Photos", type = "scenario", data = {anim = "WORLD_HUMAN_PAPARAZZI"}},
- {label = "All Jobs : Clipboard", type = "scenario", data = {anim = "WORLD_HUMAN_CLIPBOARD"}},
- {label = "All Jobs : Hammering", type = "scenario", data = {anim = "WORLD_HUMAN_HAMMERING"}},
- {label = "Bum : Holding Sign", type = "scenario", data = {anim = "WORLD_HUMAN_BUM_FREEWAY"}},
- {label = "Bum : Human Statue", type = "scenario", data = {anim = "WORLD_HUMAN_HUMAN_STATUE"}},
- }
- },
-
- {
- name = 'humors',
- label = 'Fun',
- items = {
- {label = "Cheering", type = "scenario", data = {anim = "WORLD_HUMAN_CHEERING"}},
- {label = "Super", type = "anim", data = {lib = "mp_action", anim = "thanks_male_06"}},
- {label = "Point", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_point"}},
- {label = "Come here", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_come_here_soft"}},
- {label = "Bring it on", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_bring_it_on"}},
- {label = "Me", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_me"}},
- {label = "I knew it", type = "anim", data = {lib = "anim@am_hold_up@male", anim = "shoplift_high"}},
- {label = "Exhausted", type = "scenario", data = {lib = "amb@world_human_jog_standing@male@idle_b", anim = "idle_d"}},
- {label = "I'm the shit", type = "scenario", data = {lib = "amb@world_human_bum_standing@depressed@idle_a", anim = "idle_a"}},
- {label = "Facepalm", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@face_palm", anim = "face_palm"}},
- {label = "Calm down ", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_easy_now"}},
- {label = "What did I do?", type = "anim", data = {lib = "oddjobs@assassinate@multi@", anim = "react_big_variations_a"}},
- {label = "Fear", type = "anim", data = {lib = "amb@code_human_cower_stand@male@react_cowering", anim = "base_right"}},
- {label = "Fight ?", type = "anim", data = {lib = "anim@deathmatch_intros@unarmed", anim = "intro_male_unarmed_e"}},
- {label = "It's not possible !", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_damn"}},
- {label = "Embrace", type = "anim", data = {lib = "mp_ped_interaction", anim = "kisses_guy_a"}},
- {label = "Finger of honor", type = "anim", data = {lib = "mp_player_int_upperfinger", anim = "mp_player_int_finger_01_enter"}},
- {label = "You wanker", type = "anim", data = {lib = "mp_player_int_upperwank", anim = "mp_player_int_wank_01"}},
- {label = "Bullet in the head", type = "anim", data = {lib = "mp_suicide", anim = "pistol"}},
- }
- },
-
- {
- name = 'sports',
- label = 'Sports',
- items = {
- {label = "Flex muscles", type = "anim", data = {lib = "amb@world_human_muscle_flex@arms_at_side@base", anim = "base"}},
- {label = "Lift weights", type = "anim", data = {lib = "amb@world_human_muscle_free_weights@male@barbell@base", anim = "base"}},
- {label = "Do push ups", type = "anim", data = {lib = "amb@world_human_push_ups@male@base", anim = "base"}},
- {label = "Do sit ups", type = "anim", data = {lib = "amb@world_human_sit_ups@male@base", anim = "base"}},
- {label = "Do yoga", type = "anim", data = {lib = "amb@world_human_yoga@male@base", anim = "base_a"}},
- }
- },
-
- {
- name = 'misc',
- label = 'Divers',
- items = {
- {label = "Drink coffee", type = "anim", data = {lib = "amb@world_human_aa_coffee@idle_a", anim = "idle_a"}},
- {label = "Sit", type = "anim", data = {lib = "anim@heists@prison_heistunfinished_biztarget_idle", anim = "target_idle"}},
- {label = "Lean against wall", type = "scenario", data = {anim = "world_human_leaning"}},
- {label = "Sunbathe Back", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE_BACK"}},
- {label = "Sunbathe Front", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE"}},
- {label = "Clean", type = "scenario", data = {anim = "world_human_maid_clean"}},
- {label = "BBQ", type = "scenario", data = {anim = "PROP_HUMAN_BBQ"}},
- {label = "Search", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_bj_to_prop_female"}},
- {label = "Take selfie", type = "scenario", data = {anim = "world_human_tourist_mobile"}},
- {label = "Listen to wall/door", type = "anim", data = {lib = "mini@safe_cracking", anim = "idle_base"}},
- }
- },
-
- {
- name = 'attitudem',
- label = 'Walking Styles',
- items = {
- {label = "Normal M", type = "attitude", data = {lib = "move_m@confident", anim = "move_m@confident"}},
- {label = "Normal F", type = "attitude", data = {lib = "move_f@heels@c", anim = "move_f@heels@c"}},
- {label = "Depressed male", type = "attitude", data = {lib = "move_m@depressed@a", anim = "move_m@depressed@a"}},
- {label = "Depressed female", type = "attitude", data = {lib = "move_f@depressed@a", anim = "move_f@depressed@a"}},
- {label = "Business", type = "attitude", data = {lib = "move_m@business@a", anim = "move_m@business@a"}},
- {label = "Determined", type = "attitude", data = {lib = "move_m@brave@a", anim = "move_m@brave@a"}},
- {label = "Casual", type = "attitude", data = {lib = "move_m@casual@a", anim = "move_m@casual@a"}},
- {label = "Ate too much", type = "attitude", data = {lib = "move_m@fat@a", anim = "move_m@fat@a"}},
- {label = "Hipster", type = "attitude", data = {lib = "move_m@hipster@a", anim = "move_m@hipster@a"}},
- {label = "Injured", type = "attitude", data = {lib = "move_m@injured", anim = "move_m@injured"}},
- {label = "In a hurry", type = "attitude", data = {lib = "move_m@hurry@a", anim = "move_m@hurry@a"}},
- {label = "Hobo", type = "attitude", data = {lib = "move_m@hobo@a", anim = "move_m@hobo@a"}},
- {label = "sad", type = "attitude", data = {lib = "move_m@sad@a", anim = "move_m@sad@a"}},
- {label = "Muscle", type = "attitude", data = {lib = "move_m@muscle@a", anim = "move_m@muscle@a"}},
- {label = "Shocked", type = "attitude", data = {lib = "move_m@shocked@a", anim = "move_m@shocked@a"}},
- {label = "Being shady", type = "attitude", data = {lib = "move_m@shadyped@a", anim = "move_m@shadyped@a"}},
- {label = "Buzzed", type = "attitude", data = {lib = "move_m@buzzed", anim = "move_m@buzzed"}},
- {label = "Hurry", type = "attitude", data = {lib = "move_m@hurry_butch@a", anim = "move_m@hurry_butch@a"}},
- {label = "Proud", type = "attitude", data = {lib = "move_m@money", anim = "move_m@money"}},
- {label = "Short race", type = "attitude", data = {lib = "move_m@quick", anim = "move_m@quick"}},
- {label = "Man eater", type = "attitude", data = {lib = "move_f@maneater", anim = "move_f@maneater"}},
- {label = "Sassy", type = "attitude", data = {lib = "move_f@sassy", anim = "move_f@sassy"}},
- {label = "Arrogant", type = "attitude", data = {lib = "move_f@arrogant@a", anim = "move_f@arrogant@a"}},
- }
- },
- {
- name = 'porn',
- label = 'NSFW',
- items = {
- {label = "Man receiving in car", type = "anim", data = {lib = "oddjobs@towing", anim = "m_blow_job_loop"}},
- {label = "Woman giving in car", type = "anim", data = {lib = "oddjobs@towing", anim = "f_blow_job_loop"}},
- {label = "Man on bottom in car", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_player"}},
- {label = "Woman on top in car", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_female"}},
- {label = "Scratch nuts", type = "anim", data = {lib = "mp_player_int_uppergrab_crotch", anim = "mp_player_int_grab_crotch"}},
- {label = "Hooker 1", type = "anim", data = {lib = "mini@strip_club@idles@stripper", anim = "stripper_idle_02"}},
- {label = "Hooker 2", type = "scenario", data = {anim = "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS"}},
- {label = "Hooker 3", type = "anim", data = {lib = "mini@strip_club@backroom@", anim = "stripper_b_backroom_idle_b"}},
- {label = "Strip Tease 1", type = "anim", data = {lib = "mini@strip_club@lap_dance@ld_girl_a_song_a_p1", anim = "ld_girl_a_song_a_p1_f"}},
- {label = "Strip Tease 2", type = "anim", data = {lib = "mini@strip_club@private_dance@part2", anim = "priv_dance_p2"}},
- {label = "Stip Tease On Knees", type = "anim", data = {lib = "mini@strip_club@private_dance@part3", anim = "priv_dance_p3"}},
- }
- },
-
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_animations/localization/fi_config.lua b/[esx_addons]/esx_animations/localization/fi_config.lua
deleted file mode 100644
index 84cdada3..00000000
--- a/[esx_addons]/esx_animations/localization/fi_config.lua
+++ /dev/null
@@ -1,164 +0,0 @@
-Config = {}
-
-Config.Animations = {
-
- {
- name = 'festives',
- label = 'Juhlalliset',
- items = {
- --{label = "Polta tupakkia", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING"}},
- {label = "Soita musiikkia", type = "scenario", data = {anim = "WORLD_HUMAN_MUSICIAN"}},
- {label = "Tiskijukka", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@dj", anim = "dj"}},
- {label = "Juo olutta", type = "scenario", data = {anim = "WORLD_HUMAN_DRINKING"}},
- {label = "Biletä", type = "scenario", data = {anim = "WORLD_HUMAN_PARTYING"}},
- {label = "Ilmakitara", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@air_guitar", anim = "air_guitar"}},
- {label = "Humppaa ilmaa", type = "anim", data = {lib = "anim@mp_player_intcelebrationfemale@air_shagging", anim = "air_shagging"}},
- {label = "Rock'n'roll", type = "anim", data = {lib = "mp_player_int_upperrock", anim = "mp_player_int_rock"}},
- -- {label = "Polta pilveä", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING_POT"}},
- {label = "Humala idle", type = "anim", data = {lib = "amb@world_human_bum_standing@drunk@idle_a", anim = "idle_a"}},
- {label = "Oksenna ulos(auto,vänkäri)", type = "anim", data = {lib = "oddjobs@taxi@tie", anim = "vomit_outside"}},
- {label = "Herää darrasta ja oksenna", type = "anim", data = {lib = "missfam5_blackout", anim = "vomit"}},
- {label = "Oksenna seisoalteen(nojaten)", type = "anim", data = {lib = "missheistpaletoscore1leadinout", anim = "trv_puking_leadout"}},
- }
- },
-
- {
- name = 'greetings',
- label = 'Tervehdykset',
- items = {
- {label = "Tervehdi", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_hello"}},
- {label = "Kättele", type = "anim", data = {lib = "mp_common", anim = "givetake1_a"}},
- {label = "Kättele 2", type = "anim", data = {lib = "mp_ped_interaction", anim = "handshake_guy_a"}},
- {label = "Gangi tervehdys", type = "anim", data = {lib = "mp_ped_interaction", anim = "hugs_guy_a"}},
- {label = "Käsi lipalle", type = "anim", data = {lib = "mp_player_int_uppersalute", anim = "mp_player_int_salute"}},
- }
- },
-
- {
- name = 'work',
- label = 'Työ',
- items = {
- {label = "Epäilty : mene polville", type = "anim", data = {lib = "random@arrests@busted", anim = "idle_c"}},
- {label = "Kalasta", type = "scenario", data = {anim = "world_human_stand_fishing"}},
- {label = "Poliisi : tutki rikospaikkaa", type = "anim", data = {lib = "amb@code_human_police_investigate@idle_b", anim = "idle_f"}},
- {label = "Poliisi : puhu radioon", type = "anim", data = {lib = "random@arrests", anim = "generic_radio_chatter"}},
- {label = "Poliisi : ohjaa liikenettä", type = "scenario", data = {anim = "WORLD_HUMAN_CAR_PARK_ATTENDANT"}},
- {label = "Poliisi : kiikaroi", type = "scenario", data = {anim = "WORLD_HUMAN_BINOCULARS"}},
- {label = "Istuta", type = "scenario", data = {anim = "world_human_gardener_plant"}},
- {label = "Mekaanikko : Korjaa moottoria", type = "anim", data = {lib = "mini@repair", anim = "fixing_a_ped"}},
- {label = "Mekaanikko : Hitsaa", type = "scenario", data = {anim = "WORLD_HUMAN_WELDING"}},
- {label = "EMS : tutki", type = "scenario", data = {anim = "CODE_HUMAN_MEDIC_KNEEL"}},
- {label = "Taxi : Puhu asiakkalle", type = "anim", data = {lib = "oddjobs@taxi@driver", anim = "leanover_idle"}},
- {label = "Taxi : Anna lasku", type = "anim", data = {lib = "oddjobs@taxi@cyi", anim = "std_hand_off_ps_passenger"}},
- {label = "Myyjä : Siirrä laatikoita", type = "anim", data = {lib = "mp_am_hold_up", anim = "purchase_beerbox_shopkeeper"}},
- {label = "Baarimikko : Kaada shotti", type = "anim", data = {lib = "mini@drinking", anim = "shots_barman_b"}},
- {label = "Journalisti : Ota valokuvia", type = "scenario", data = {anim = "WORLD_HUMAN_PAPARAZZI"}},
- {label = "Muut työt : Katsele muistiinpanoja", type = "scenario", data = {anim = "WORLD_HUMAN_CLIPBOARD"}},
- {label = "Muut Työt : Vasaroi", type = "scenario", data = {anim = "WORLD_HUMAN_HAMMERING"}},
- {label = "Pummi : Näytä kylttiä", type = "scenario", data = {anim = "WORLD_HUMAN_BUM_FREEWAY"}},
- {label = "Pummi : Ole patsas", type = "scenario", data = {anim = "WORLD_HUMAN_HUMAN_STATUE"}},
- }
- },
-
- {
- name = 'humors',
- label = 'Humoristiset',
- items = {
- {label = "Taputa", type = "scenario", data = {anim = "WORLD_HUMAN_CHEERING"}},
- {label = "Peukut", type = "anim", data = {lib = "mp_action", anim = "thanks_male_06"}},
- {label = "Osota", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_point"}},
- {label = "Tuu tänne", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_come_here_soft"}},
- {label = "Haasta riitaa", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_bring_it_on"}},
- {label = "minä", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_me"}},
- {label = "varasta, ylähylly", type = "anim", data = {lib = "anim@am_hold_up@male", anim = "shoplift_high"}},
- {label = "Hengästynyt", type = "scenario", data = {lib = "amb@world_human_jog_standing@male@idle_b", anim = "idle_d"}},
- {label = "Facepalm", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@face_palm", anim = "face_palm"}},
- {label = "Rauhoittele", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_easy_now"}},
- {label = "Pelästy", type = "anim", data = {lib = "oddjobs@assassinate@multi@", anim = "react_big_variations_a"}},
- {label = "Pelkää", type = "anim", data = {lib = "amb@code_human_cower_stand@male@react_cowering", anim = "base_right"}},
- {label = "Valmistu tappelluun", type = "anim", data = {lib = "anim@deathmatch_intros@unarmed", anim = "intro_male_unarmed_e"}},
- {label = "Voi rähmä!", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_damn"}},
- {label = "Suutele", type = "anim", data = {lib = "mp_ped_interaction", anim = "kisses_guy_a"}},
- {label = "Keskisormet", type = "anim", data = {lib = "mp_player_int_upperfinger", anim = "mp_player_int_finger_01_enter"}},
- {label = "Runkkaa", type = "anim", data = {lib = "mp_player_int_upperwank", anim = "mp_player_int_wank_01"}},
- {label = "Ammu itseä päähän", type = "anim", data = {lib = "mp_suicide", anim = "pistol"}},
- }
- },
-
- {
- name = 'sports',
- label = 'Sporttiset',
- items = {
- {label = "Esittele lihaksia", type = "anim", data = {lib = "amb@world_human_muscle_flex@arms_at_side@base", anim = "base"}},
- {label = "Nostele painoja", type = "anim", data = {lib = "amb@world_human_muscle_free_weights@male@barbell@base", anim = "base"}},
- {label = "Punnerra", type = "anim", data = {lib = "amb@world_human_push_ups@male@base", anim = "base"}},
- {label = "Tee vatsalihaksia", type = "anim", data = {lib = "amb@world_human_sit_ups@male@base", anim = "base"}},
- {label = "Yoogaa", type = "anim", data = {lib = "amb@world_human_yoga@male@base", anim = "base_a"}},
- }
- },
-
- {
- name = 'misc',
- label = 'Muut',
- items = {
- {label = "Juo kahvia", type = "anim", data = {lib = "amb@world_human_aa_coffee@idle_a", anim = "idle_a"}},
- {label = "Istua", type = "anim", data = {lib = "anim@heists@prison_heistunfinished_biztarget_idle", anim = "target_idle"}},
- {label = "Nojaa taakse", type = "scenario", data = {anim = "world_human_leaning"}},
- {label = "Ota aurinkoa selällään", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE_BACK"}},
- {label = "Ota aurinkoa mahallaan", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE"}},
- {label = "Pese", type = "scenario", data = {anim = "world_human_maid_clean"}},
- {label = "Grillaa", type = "scenario", data = {anim = "PROP_HUMAN_BBQ"}},
- {label = "T-pose", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_bj_to_prop_female"}},
- {label = "Ota selfie", type = "scenario", data = {anim = "world_human_tourist_mobile"}},
- {label = "Kuuntele ovea", type = "anim", data = {lib = "mini@safe_cracking", anim = "idle_base"}},
- }
- },
-
- {
- name = 'attitudem',
- label = 'Asenteet',
- items = {
- {label = "Normaali M", type = "attitude", data = {lib = "move_m@confident", anim = "move_m@confident"}},
- {label = "Normaali N", type = "attitude", data = {lib = "move_f@heels@c", anim = "move_f@heels@c"}},
- {label = "Masentunut M", type = "attitude", data = {lib = "move_m@depressed@a", anim = "move_m@depressed@a"}},
- {label = "Masentunut N", type = "attitude", data = {lib = "move_f@depressed@a", anim = "move_f@depressed@a"}},
- {label = "Varakas", type = "attitude", data = {lib = "move_m@business@a", anim = "move_m@business@a"}},
- {label = "Rohkea", type = "attitude", data = {lib = "move_m@brave@a", anim = "move_m@brave@a"}},
- {label = "Filthy Kasuaali", type = "attitude", data = {lib = "move_m@casual@a", anim = "move_m@casual@a"}},
- {label = "Vitun Läski", type = "attitude", data = {lib = "move_m@fat@a", anim = "move_m@fat@a"}},
- {label = "Hipsteri", type = "attitude", data = {lib = "move_m@hipster@a", anim = "move_m@hipster@a"}},
- {label = "Loukkaantunut", type = "attitude", data = {lib = "move_m@injured", anim = "move_m@injured"}},
- {label = "Kiireinen", type = "attitude", data = {lib = "move_m@hurry@a", anim = "move_m@hurry@a"}},
- {label = "Pummi", type = "attitude", data = {lib = "move_m@hobo@a", anim = "move_m@hobo@a"}},
- {label = "Surullinen", type = "attitude", data = {lib = "move_m@sad@a", anim = "move_m@sad@a"}},
- {label = "Lihaksikas", type = "attitude", data = {lib = "move_m@muscle@a", anim = "move_m@muscle@a"}},
- {label = "Järkyttynyt", type = "attitude", data = {lib = "move_m@shocked@a", anim = "move_m@shocked@a"}},
- {label = "Kovis", type = "attitude", data = {lib = "move_m@shadyped@a", anim = "move_m@shadyped@a"}},
- {label = "Väsynyt", type = "attitude", data = {lib = "move_m@buzzed", anim = "move_m@buzzed"}},
- {label = "Kiirreellisempi", type = "attitude", data = {lib = "move_m@hurry_butch@a", anim = "move_m@hurry_butch@a"}},
- {label = "Ylpeä", type = "attitude", data = {lib = "move_m@money", anim = "move_m@money"}},
- {label = "Lyhyen kilpailun juoksija", type = "attitude", data = {lib = "move_m@quick", anim = "move_m@quick"}},
- {label = "Miesten hurmaaja", type = "attitude", data = {lib = "move_f@maneater", anim = "move_f@maneater"}},
- {label = "Nenäkäs", type = "attitude", data = {lib = "move_f@sassy", anim = "move_f@sassy"}},
- {label = "Ylimielinen", type = "attitude", data = {lib = "move_f@arrogant@a", anim = "move_f@arrogant@a"}},
- }
- },
-
- {
- name = 'porn',
- label = 'Härski K-18',
- items = {
- {label = "Kuski (poskihoito)", type = "anim", data = {lib = "oddjobs@towing", anim = "m_blow_job_loop"}},
- {label = "Vänkäri (poskihoito)", type = "anim", data = {lib = "oddjobs@towing", anim = "f_blow_job_loop"}},
- {label = "Kuski (panee)", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_player"}},
- {label = "Vänkäri (panee)", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_female"}},
- {label = "Korjaa pallien sijaintia", type = "anim", data = {lib = "mp_player_int_uppergrab_crotch", anim = "mp_player_int_grab_crotch"}},
- {label = "Strippari idle", type = "anim", data = {lib = "mini@strip_club@idles@stripper", anim = "stripper_idle_02"}},
- {label = "Strippari rööki", type = "scenario", data = {anim = "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS"}},
- {label = "Heruta tissejä", type = "anim", data = {lib = "mini@strip_club@backroom@", anim = "stripper_b_backroom_idle_b"}},
- {label = "Strippi tanssi 1", type = "anim", data = {lib = "mini@strip_club@lap_dance@ld_girl_a_song_a_p1", anim = "ld_girl_a_song_a_p1_f"}},
- {label = "Strippi tanssi 2", type = "anim", data = {lib = "mini@strip_club@private_dance@part2", anim = "priv_dance_p2"}},
- {label = "Twerkkaa", type = "anim", data = {lib = "mini@strip_club@private_dance@part3", anim = "priv_dance_p3"}},
- }
- }
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_animations/localization/nl_config.lua b/[esx_addons]/esx_animations/localization/nl_config.lua
deleted file mode 100644
index d61e38d1..00000000
--- a/[esx_addons]/esx_animations/localization/nl_config.lua
+++ /dev/null
@@ -1,162 +0,0 @@
-Config = {}
-
-Config.Animations = {
-
- {
- name = 'festives',
- label = 'Feestelijk',
- items = {
- {label = "Roken", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING"}},
- {label = "Muzikant", type = "scenario", data = {anim = "WORLD_HUMAN_MUSICIAN"}},
- {label = "Dj", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@dj", anim = "dj"}},
- {label = "Koffie", type = "scenario", data = {anim = "WORLD_HUMAN_DRINKING"}},
- {label = "Bier", type = "scenario", data = {anim = "WORLD_HUMAN_PARTYING"}},
- {label = "Lucht Gitaar", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@air_guitar", anim = "air_guitar"}},
- {label = "Lucht Shagging", type = "anim", data = {lib = "anim@mp_player_intcelebrationfemale@air_shagging", anim = "air_shagging"}},
- {label = "Rock'n'roll", type = "anim", data = {lib = "mp_player_int_upperrock", anim = "mp_player_int_rock"}},
- -- {label = "Fumer un joint", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING_POT"}},
- {label = "Dronken houding", type = "anim", data = {lib = "amb@world_human_bum_standing@drunk@idle_a", anim = "idle_a"}},
- {label = "Overgevem", type = "anim", data = {lib = "oddjobs@taxi@tie", anim = "vomit_outside"}},
- }
- },
-
- {
- name = 'greetings',
- label = 'Ontmoetingen',
- items = {
- {label = "Hallo", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_hello"}},
- {label = "Zwaai", type = "anim", data = {lib = "mp_common", anim = "givetake1_a"}},
- {label = "Schud hand", type = "anim", data = {lib = "mp_ped_interaction", anim = "handshake_guy_a"}},
- {label = "Knuffel", type = "anim", data = {lib = "mp_ped_interaction", anim = "hugs_guy_a"}},
- {label = "Saluteer", type = "anim", data = {lib = "mp_player_int_uppersalute", anim = "mp_player_int_salute"}},
- }
- },
-
- {
- name = 'work',
- label = 'Werkzaamheden',
- items = {
- {label = "Verdachte : Geef over", type = "anim", data = {lib = "random@arrests@busted", anim = "idle_c"}},
- {label = "Vissen", type = "scenario", data = {anim = "world_human_stand_fishing"}},
- {label = "Politie : Onderzoek", type = "anim", data = {lib = "amb@code_human_police_investigate@idle_b", anim = "idle_f"}},
- {label = "Politie : Gebruik radio", type = "anim", data = {lib = "random@arrests", anim = "generic_radio_chatter"}},
- {label = "Politie : Verkeer", type = "scenario", data = {anim = "WORLD_HUMAN_CAR_PARK_ATTENDANT"}},
- {label = "Politie : Verrekijker", type = "scenario", data = {anim = "WORLD_HUMAN_BINOCULARS"}},
- {label = "Boer : Planten", type = "scenario", data = {anim = "world_human_gardener_plant"}},
- {label = "Monteur : Repareer motor", type = "anim", data = {lib = "mini@repair", anim = "fixing_a_ped"}},
- {label = "Arts : Kniel", type = "scenario", data = {anim = "CODE_HUMAN_MEDIC_KNEEL"}},
- {label = "Taxi : Praat met klant", type = "anim", data = {lib = "oddjobs@taxi@driver", anim = "leanover_idle"}},
- {label = "Taxi : Geef factuur", type = "anim", data = {lib = "oddjobs@taxi@cyi", anim = "std_hand_off_ps_passenger"}},
- {label = "Cashier : Geef", type = "anim", data = {lib = "mp_am_hold_up", anim = "purchase_beerbox_shopkeeper"}},
- {label = "Barman : Geef een shot", type = "anim", data = {lib = "mini@drinking", anim = "shots_barman_b"}},
- {label = "Journalist : Neem fotos", type = "scenario", data = {anim = "WORLD_HUMAN_PAPARAZZI"}},
- {label = "Klembord", type = "scenario", data = {anim = "WORLD_HUMAN_CLIPBOARD"}},
- {label = "Hamer", type = "scenario", data = {anim = "WORLD_HUMAN_HAMMERING"}},
- {label = "Zwerver : Houd bord vast", type = "scenario", data = {anim = "WORLD_HUMAN_BUM_FREEWAY"}},
- {label = "Zwerver : Menselijk beeld", type = "scenario", data = {anim = "WORLD_HUMAN_HUMAN_STATUE"}},
- }
- },
-
- {
- name = 'humors',
- label = 'Humor',
- items = {
- {label = "Juichen", type = "scenario", data = {anim = "WORLD_HUMAN_CHEERING"}},
- {label = "Super", type = "anim", data = {lib = "mp_action", anim = "thanks_male_06"}},
- {label = "Wijs", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_point"}},
- {label = "Kom hier", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_come_here_soft"}},
- {label = "Kom maar op", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_bring_it_on"}},
- {label = "Ik", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_me"}},
- {label = "Ik wist het", type = "anim", data = {lib = "anim@am_hold_up@male", anim = "shoplift_high"}},
- {label = "Uitgeput", type = "scenario", data = {lib = "amb@world_human_jog_standing@male@idle_b", anim = "idle_d"}},
- {label = "Ik ben de shit", type = "scenario", data = {lib = "amb@world_human_bum_standing@depressed@idle_a", anim = "idle_a"}},
- {label = "Facepalm", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@face_palm", anim = "face_palm"}},
- {label = "Doe rustig", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_easy_now"}},
- {label = "Wat heb ik gedaan?", type = "anim", data = {lib = "oddjobs@assassinate@multi@", anim = "react_big_variations_a"}},
- {label = "Bang", type = "anim", data = {lib = "amb@code_human_cower_stand@male@react_cowering", anim = "base_right"}},
- {label = "Vechten?", type = "anim", data = {lib = "anim@deathmatch_intros@unarmed", anim = "intro_male_unarmed_e"}},
- {label = "Dat is onmogelijk!", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_damn"}},
- {label = "Omhels", type = "anim", data = {lib = "mp_ped_interaction", anim = "kisses_guy_a"}},
- {label = "Middelvinger", type = "anim", data = {lib = "mp_player_int_upperfinger", anim = "mp_player_int_finger_01_enter"}},
- {label = "Jij rukker", type = "anim", data = {lib = "mp_player_int_upperwank", anim = "mp_player_int_wank_01"}},
- {label = "Doodsbedreiging", type = "anim", data = {lib = "mp_suicide", anim = "pistol"}},
- }
- },
-
- {
- name = 'sports',
- label = 'Sport',
- items = {
- {label = "Flex spieren", type = "anim", data = {lib = "amb@world_human_muscle_flex@arms_at_side@base", anim = "base"}},
- {label = "Gewichten heffen", type = "anim", data = {lib = "amb@world_human_muscle_free_weights@male@barbell@base", anim = "base"}},
- {label = "Push ups", type = "anim", data = {lib = "amb@world_human_push_ups@male@base", anim = "base"}},
- {label = "Sit ups", type = "anim", data = {lib = "amb@world_human_sit_ups@male@base", anim = "base"}},
- {label = "Yoga", type = "anim", data = {lib = "amb@world_human_yoga@male@base", anim = "base_a"}},
- }
- },
-
- {
- name = 'misc',
- label = 'Diverse',
- items = {
- {label = "Drink koffie", type = "anim", data = {lib = "amb@world_human_aa_coffee@idle_a", anim = "idle_a"}},
- {label = "Zit", type = "anim", data = {lib = "anim@heists@prison_heistunfinished_biztarget_idle", anim = "target_idle"}},
- {label = "Leun tegen muur", type = "scenario", data = {anim = "world_human_leaning"}},
- {label = "Op je buik zonnen", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE_BACK"}},
- {label = "Op je rug zonnen", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE"}},
- {label = "Maak schoon", type = "scenario", data = {anim = "world_human_maid_clean"}},
- {label = "Barbeque", type = "scenario", data = {anim = "PROP_HUMAN_BBQ"}},
- {label = "Zoek", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_bj_to_prop_female"}},
- {label = "Neem selfie", type = "scenario", data = {anim = "world_human_tourist_mobile"}},
- {label = "Luister aan muur/deur", type = "anim", data = {lib = "mini@safe_cracking", anim = "idle_base"}},
- }
- },
-
- {
- name = 'attitudem',
- label = 'Loop stijlen',
- items = {
- {label = "Normaal M", type = "attitude", data = {lib = "move_m@confident", anim = "move_m@confident"}},
- {label = "Normaal V", type = "attitude", data = {lib = "move_f@heels@c", anim = "move_f@heels@c"}},
- {label = "Depressieve man", type = "attitude", data = {lib = "move_m@depressed@a", anim = "move_m@depressed@a"}},
- {label = "Depressieve vrouw", type = "attitude", data = {lib = "move_f@depressed@a", anim = "move_f@depressed@a"}},
- {label = "Zakelijk", type = "attitude", data = {lib = "move_m@business@a", anim = "move_m@business@a"}},
- {label = "Vastberaden", type = "attitude", data = {lib = "move_m@brave@a", anim = "move_m@brave@a"}},
- {label = "Normaal", type = "attitude", data = {lib = "move_m@casual@a", anim = "move_m@casual@a"}},
- {label = "Te veel gegeten", type = "attitude", data = {lib = "move_m@fat@a", anim = "move_m@fat@a"}},
- {label = "Hipster", type = "attitude", data = {lib = "move_m@hipster@a", anim = "move_m@hipster@a"}},
- {label = "Gewond", type = "attitude", data = {lib = "move_m@injured", anim = "move_m@injured"}},
- {label = "In een haast", type = "attitude", data = {lib = "move_m@hurry@a", anim = "move_m@hurry@a"}},
- {label = "Zwerver", type = "attitude", data = {lib = "move_m@hobo@a", anim = "move_m@hobo@a"}},
- {label = "Verdrietig", type = "attitude", data = {lib = "move_m@sad@a", anim = "move_m@sad@a"}},
- {label = "Patser", type = "attitude", data = {lib = "move_m@muscle@a", anim = "move_m@muscle@a"}},
- {label = "Geschokkeerd", type = "attitude", data = {lib = "move_m@shocked@a", anim = "move_m@shocked@a"}},
- {label = "Verdacht", type = "attitude", data = {lib = "move_m@shadyped@a", anim = "move_m@shadyped@a"}},
- {label = "Gespannen", type = "attitude", data = {lib = "move_m@buzzed", anim = "move_m@buzzed"}},
- {label = "Haast", type = "attitude", data = {lib = "move_m@hurry_butch@a", anim = "move_m@hurry_butch@a"}},
- {label = "Trots", type = "attitude", data = {lib = "move_m@money", anim = "move_m@money"}},
- {label = "Korte race", type = "attitude", data = {lib = "move_m@quick", anim = "move_m@quick"}},
- {label = "Mannen verslinder", type = "attitude", data = {lib = "move_f@maneater", anim = "move_f@maneater"}},
- {label = "Onbeschaamd", type = "attitude", data = {lib = "move_f@sassy", anim = "move_f@sassy"}},
- {label = "Arrogant", type = "attitude", data = {lib = "move_f@arrogant@a", anim = "move_f@arrogant@a"}},
- }
- },
- {
- name = 'porn',
- label = 'NSFW',
- items = {
- {label = "Man krijgt in de auto", type = "anim", data = {lib = "oddjobs@towing", anim = "m_blow_job_loop"}},
- {label = "Vrouw geeft in de auto", type = "anim", data = {lib = "oddjobs@towing", anim = "f_blow_job_loop"}},
- {label = "Man onder op in de auto", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_player"}},
- {label = "Vrouw boven op in de auto", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_female"}},
- {label = "Krab balzak", type = "anim", data = {lib = "mp_player_int_uppergrab_crotch", anim = "mp_player_int_grab_crotch"}},
- {label = "Prostituée 1", type = "anim", data = {lib = "mini@strip_club@idles@stripper", anim = "stripper_idle_02"}},
- {label = "Prostituée 2", type = "scenario", data = {anim = "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS"}},
- {label = "Prostituée 3", type = "anim", data = {lib = "mini@strip_club@backroom@", anim = "stripper_b_backroom_idle_b"}},
- {label = "Strip Tease 1", type = "anim", data = {lib = "mini@strip_club@lap_dance@ld_girl_a_song_a_p1", anim = "ld_girl_a_song_a_p1_f"}},
- {label = "Strip Tease 2", type = "anim", data = {lib = "mini@strip_club@private_dance@part2", anim = "priv_dance_p2"}},
- {label = "Stip Tease op knieën", type = "anim", data = {lib = "mini@strip_club@private_dance@part3", anim = "priv_dance_p3"}},
- }
- },
-
-}
diff --git a/[esx_addons]/esx_animations/localization/pl_config.lua b/[esx_addons]/esx_animations/localization/pl_config.lua
deleted file mode 100644
index 03243794..00000000
--- a/[esx_addons]/esx_animations/localization/pl_config.lua
+++ /dev/null
@@ -1,161 +0,0 @@
-Config = {}
-
-Config.Animations = {
-
- {
- name = 'festives',
- label = 'Imprezowe',
- items = {
- {label = "Graj na gitarze", type = "scenario", data = {anim = "WORLD_HUMAN_MUSICIAN"}},
- {label = "Dj", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@dj", anim = "dj"}},
- {label = "Picie piwa 'LEGALNIE'", type = "scenario", data = {anim = "WORLD_HUMAN_DRINKING"}},
- {label = "Picie piwa", type = "scenario", data = {anim = "WORLD_HUMAN_PARTYING"}},
- {label = "Udawanie gry na gitarze", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@air_guitar", anim = "air_guitar"}},
- {label = "Dokowanie", type = "anim", data = {lib = "anim@mp_player_intcelebrationfemale@air_shagging", anim = "air_shagging"}},
- {label = "Rock'n'roll", type = "anim", data = {lib = "mp_player_int_upperrock", anim = "mp_player_int_rock"}},
- -- {label = "Fumer un jo int", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING_POT"}},
- {label = "Pijany", type = "anim", data = {lib = "amb@world_human_bum_standing@drunk@idle_a", anim = "idle_a"}},
- {label = "Wymiotowanie z auta", type = "anim", data = {lib = "oddjobs@taxi@tie", anim = "vomit_outside"}},
- }
- },
-
- {
- name = 'greetings',
- label = 'Przywitania',
- items = {
- {label = "Witaj", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_hello"}},
- {label = "Cześć", type = "anim", data = {lib = "mp_common", anim = "givetake1_a"}},
- {label = "Podaj reke", type = "anim", data = {lib = "mp_ped_interaction", anim = "handshake_guy_a"}},
- {label = "Gangsterskie", type = "anim", data = {lib = "mp_ped_interaction", anim = "hugs_guy_a"}},
- {label = "Saluuut", type = "anim", data = {lib = "mp_player_int_uppersalute", anim = "mp_player_int_salute"}},
- }
- },
-
- {
- name = 'work',
- label = 'Prace',
- items = {
- {label = "Na kolana", type = "anim", data = {lib = "random@arrests@busted", anim = "idle_c"}},
- {label = "Łow ryby", type = "scenario", data = {anim = "world_human_stand_fishing"}},
- {label = "Policja: sprawdź dowody", type = "anim", data = {lib = "amb@code_human_police_investigate@idle_b", anim = "idle_f"}},
- {label = "Policja: rozmowaij przez radio", type = "anim", data = {lib = "random@arrests", anim = "generic_radio_chatter"}},
- {label = "Policja: kieruj ruchem", type = "scenario", data = {anim = "WORLD_HUMAN_CAR_PARK_ATTENDANT"}},
- {label = "Użyj lornetki", type = "scenario", data = {anim = "WORLD_HUMAN_BINOCULARS"}},
- {label = "Wykopki", type = "scenario", data = {anim = "world_human_gardener_plant"}},
- {label = "Mechanik: sprawdź/napraw silnik", type = "anim", data = {lib = "mini@repair", anim = "fixing_a_ped"}},
- {label = "Medyk: sprawdź stan", type = "scenario", data = {anim = "CODE_HUMAN_MEDIC_KNEEL"}},
- {label = "Taxi: rozmawiaj z klientem", type = "anim", data = {lib = "oddjobs@taxi@driver", anim = "leanover_idle"}},
- {label = "Taxi : wystaw rachunek", type = "anim", data = {lib = "oddjobs@taxi@cyi", anim = "std_hand_off_ps_passenger"}},
- {label = "Załaduj towar", type = "anim", data = {lib = "mp_am_hold_up", anim = "purchase_beerbox_shopkeeper"}},
- {label = "Barman: polej kolejke", type = "anim", data = {lib = "mini@drinking", anim = "shots_barman_b"}},
- {label = "Redaktor: rób zdjęcia", type = "scenario", data = {anim = "WORLD_HUMAN_PAPARAZZI"}},
- {label = "Patrz w notatki", type = "scenario", data = {anim = "WORLD_HUMAN_CLIPBOARD"}},
- {label = "Jebaj młotkiem", type = "scenario", data = {anim = "WORLD_HUMAN_HAMMERING"}},
- {label = "Trzymaj kartke", type = "scenario", data = {anim = "WORLD_HUMAN_BUM_FREEWAY"}},
- {label = "Pozuj", type = "scenario", data = {anim = "WORLD_HUMAN_HUMAN_STATUE"}},
- }
- },
-
- {
- name = 'humors',
- label = 'Humor',
- items = {
- {label = "Klaskaj", type = "scenario", data = {anim = "WORLD_HUMAN_CHEERING"}},
- {label = "OK", type = "anim", data = {lib = "mp_action", anim = "thanks_male_06"}},
- {label = "Ty", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_point"}},
- {label = "Zawolaj", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_come_here_soft"}},
- {label = "O co cho??", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_bring_it_on"}},
- {label = "A moi", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_me"}},
- {label = "Mam to", type = "anim", data = {lib = "anim@am_hold_up@male", anim = "shoplift_high"}},
- {label = "BRAK!!!!!", type = "scenario", data = {lib = "amb@world_human_jog_standing@male@idle_b", anim = "idle_d"}},
- {label = "BRAK!!!!!", type = "scenario", data = {lib = "amb@world_human_bum_standing@depressed@idle_a", anim = "idle_a"}},
- {label = "Facepalm", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@face_palm", anim = "face_palm"}},
- {label = "Spokojnie ", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_easy_now"}},
- {label = "Zdziwienie", type = "anim", data = {lib = "oddjobs@assassinate@multi@", anim = "react_big_variations_a"}},
- {label = "Poddaj się", type = "anim", data = {lib = "amb@code_human_cower_stand@male@react_cowering", anim = "base_right"}},
- {label = "Przygotuj się do walki", type = "anim", data = {lib = "anim@deathmatch_intros@unarmed", anim = "intro_male_unarmed_e"}},
- {label = "Nie m ch**a", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_damn"}},
- {label = "Przytul", type = "anim", data = {lib = "mp_ped_interaction", anim = "kisses_guy_a"}},
- {label = "Zajeb fakera", type = "anim", data = {lib = "mp_player_int_upperfinger", anim = "mp_player_int_finger_01_enter"}},
- {label = "Marszcz freda", type = "anim", data = {lib = "mp_player_int_upperwank", anim = "mp_player_int_wank_01"}},
- {label = "Strzel sobie w głowe", type = "anim", data = {lib = "mp_suicide", anim = "pistol"}},
- }
- },
-
- {
- name = 'sports',
- label = 'Sport',
- items = {
- {label = "Napinaj miesnie", type = "anim", data = {lib = "amb@world_human_muscle_flex@arms_at_side@base", anim = "base"}},
- {label = "Wyciskaj sztange", type = "anim", data = {lib = "amb@world_human_muscle_free_weights@male@barbell@base", anim = "base"}},
- {label = "Pompuj", type = "anim", data = {lib = "amb@world_human_push_ups@male@base", anim = "base"}},
- {label = "Rob Brzuszki", type = "anim", data = {lib = "amb@world_human_sit_ups@male@base", anim = "base"}},
- {label = "Yoga", type = "anim", data = {lib = "amb@world_human_yoga@male@base", anim = "base_a"}},
- }
- },
-
- {
- name = 'misc',
- label = 'Inne',
- items = {
- {label = "Pij kawe", type = "anim", data = {lib = "amb@world_human_aa_coffee@idle_a", anim = "idle_a"}},
- {label = "Usiadz na krzesle", type = "anim", data = {lib = "anim@heists@prison_heistunfinished_biztarget_idle", anim = "target_idle"}},
- {label = "Przegladaj smartfon", type = "scenario", data = {anim = "world_human_leaning"}},
- {label = "Polóż się na ziemi", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE_BACK"}},
- {label = "Polóż się na ziemi na brzuchu", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE"}},
- {label = "Umyj", type = "scenario", data = {anim = "world_human_maid_clean"}},
- {label = "Smaż na grillu", type = "scenario", data = {anim = "PROP_HUMAN_BBQ"}},
- {label = "Pozuj: samolot", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_bj_to_prop_female"}},
- {label = "Rób selfie", type = "scenario", data = {anim = "world_human_tourist_mobile"}},
- {label = "Otwieraj sejf", type = "anim", data = {lib = "mini@safe_cracking", anim = "idle_base"}},
- }
- },
-
- {
- name = 'attitudem',
- label = 'Zachowania',
- items = {
- {label = "Pewniak M", type = "attitude", data = {lib = "move_m@confident", anim = "move_m@confident"}},
- {label = "Pewniak K", type = "attitude", data = {lib = "move_f@heels@c", anim = "move_f@heels@c"}},
- {label = "Smutas M", type = "attitude", data = {lib = "move_m@depressed@a", anim = "move_m@depressed@a"}},
- {label = "Smutas K", type = "attitude", data = {lib = "move_f@depressed@a", anim = "move_f@depressed@a"}},
- {label = "Biznesman", type = "attitude", data = {lib = "move_m@business@a", anim = "move_m@business@a"}},
- {label = "Odważny", type = "attitude", data = {lib = "move_m@brave@a", anim = "move_m@brave@a"}},
- {label = "Luzak", type = "attitude", data = {lib = "move_m@casual@a", anim = "move_m@casual@a"}},
- {label = "Gruby", type = "attitude", data = {lib = "move_m@fat@a", anim = "move_m@fat@a"}},
- {label = "Hipster", type = "attitude", data = {lib = "move_m@hipster@a", anim = "move_m@hipster@a"}},
- {label = "Poszkodowany", type = "attitude", data = {lib = "move_m@injured", anim = "move_m@injured"}},
- {label = "W pośpiechu", type = "attitude", data = {lib = "move_m@hurry@a", anim = "move_m@hurry@a"}},
- {label = "Bezdomny", type = "attitude", data = {lib = "move_m@hobo@a", anim = "move_m@hobo@a"}},
- {label = "Smutny", type = "attitude", data = {lib = "move_m@sad@a", anim = "move_m@sad@a"}},
- {label = "Siłacz", type = "attitude", data = {lib = "move_m@muscle@a", anim = "move_m@muscle@a"}},
- {label = "Zszokowany", type = "attitude", data = {lib = "move_m@shocked@a", anim = "move_m@shocked@a"}},
- {label = "Podejrzany", type = "attitude", data = {lib = "move_m@shadyped@a", anim = "move_m@shadyped@a"}},
- {label = "Nabuzowany", type = "attitude", data = {lib = "move_m@buzzed", anim = "move_m@buzzed"}},
- {label = "W pośpiechu 2", type = "attitude", data = {lib = "move_m@hurry_butch@a", anim = "move_m@hurry_butch@a"}},
- {label = "Pieniądze", type = "attitude", data = {lib = "move_m@money", anim = "move_m@money"}},
- {label = "Szybki", type = "attitude", data = {lib = "move_m@quick", anim = "move_m@quick"}},
- {label = "Zjadacz", type = "attitude", data = {lib = "move_f@maneater", anim = "move_f@maneater"}},
- {label = "Impertynencki", type = "attitude", data = {lib = "move_f@sassy", anim = "move_f@sassy"}},
- {label = "Arogancki", type = "attitude", data = {lib = "move_f@arrogant@a", anim = "move_f@arrogant@a"}},
- }
- },
-
- {
- name = 'porn',
- label = 'Wulgarne',
- items = {
- {label = "Głebokie gardlo", type = "anim", data = {lib = "oddjobs@towing", anim = "m_blow_job_loop"}},
- {label = "Rób loda", type = "anim", data = {lib = "oddjobs@towing", anim = "f_blow_job_loop"}},
- {label = "Zimny lokiec", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_player"}},
- {label = "Siadaj na berło", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_female"}},
- {label = "Drap sie po jajach", type = "anim", data = {lib = "mp_player_int_uppergrab_crotch", anim = "mp_player_int_grab_crotch"}},
- {label = "Uwodź", type = "anim", data = {lib = "mini@strip_club@idles@stripper", anim = "stripper_idle_02"}},
- {label = "Dziwka pali szluga", type = "scenario", data = {anim = "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS"}},
- {label = "Machaj cyckami", type = "anim", data = {lib = "mini@strip_club@backroom@", anim = "stripper_b_backroom_idle_b"}},
- {label = "Strptiz", type = "anim", data = {lib = "mini@strip_club@lap_dance@ld_girl_a_song_a_p1", anim = "ld_girl_a_song_a_p1_f"}},
- {label = "Strptiz 2", type = "anim", data = {lib = "mini@strip_club@private_dance@part2", anim = "priv_dance_p2"}},
- {label = "Taniec erotyczny", type = "anim", data = {lib = "mini@strip_club@private_dance@part3", anim = "priv_dance_p3"}},
- }
- },
-}
diff --git a/[esx_addons]/esx_animations/localization/ru_config.lua b/[esx_addons]/esx_animations/localization/ru_config.lua
deleted file mode 100644
index 0cc8516a..00000000
--- a/[esx_addons]/esx_animations/localization/ru_config.lua
+++ /dev/null
@@ -1,161 +0,0 @@
-Config = {}
-
-Config.Animations = {
-
- {
- name = 'festives',
- label = 'Действия',
- items = {
- {label = "Курнуть", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING"}},
- --{label = "Jouer de la musique", type = "scenario", data = {anim = "WORLD_HUMAN_MUSICIAN"}},
- {label = "Dj", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@dj", anim = "dj"}},
- {label = "Пить", type = "scenario", data = {anim = "WORLD_HUMAN_DRINKING"}},
- {label = "Веселиться с пивасом", type = "scenario", data = {anim = "WORLD_HUMAN_PARTYING"}},
- {label = "Воздушная гитара", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@air_guitar", anim = "air_guitar"}},
- {label = "Воздушный перепихон", type = "anim", data = {lib = "anim@mp_player_intcelebrationfemale@air_shagging", anim = "air_shagging"}},
- {label = "Rock'n'roll", type = "anim", data = {lib = "mp_player_int_upperrock", anim = "mp_player_int_rock"}},
- {label = "Курить как профи", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING_POT"}},
- {label = "Изоброжать пьянь", type = "anim", data = {lib = "amb@world_human_bum_standing@drunk@idle_a", anim = "idle_a"}},
- --{label = "Vomir en voiture", type = "anim", data = {lib = "oddjobs@taxi@tie", anim = "vomit_outside"}},
- }
- },
-
- {
- name = 'greetings',
- label = 'Приветствия',
- items = {
- {label = "Салют", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_hello"}},
- {label = "Рукопожатие", type = "anim", data = {lib = "mp_common", anim = "givetake1_a"}},
- {label = "Крутое Рукопожатие", type = "anim", data = {lib = "mp_ped_interaction", anim = "handshake_guy_a"}},
- {label = "Рука-обнимашка", type = "anim", data = {lib = "mp_ped_interaction", anim = "hugs_guy_a"}},
- {label = "Отдать честь", type = "anim", data = {lib = "mp_player_int_uppersalute", anim = "mp_player_int_salute"}},
- }
- },
-
- {
- name = 'work',
- label = 'Работа',
- items = {
- {label = "На колени, руки за голову", type = "anim", data = {lib = "random@arrests@busted", anim = "idle_c"}},
- {label = "Рыбачить", type = "scenario", data = {anim = "world_human_stand_fishing"}},
- {label = "Police : Осматривать", type = "anim", data = {lib = "amb@code_human_police_investigate@idle_b", anim = "idle_f"}},
- {label = "Police : Проверять рацию", type = "anim", data = {lib = "random@arrests", anim = "generic_radio_chatter"}},
- {label = "Police : Махать палкой", type = "scenario", data = {anim = "WORLD_HUMAN_CAR_PARK_ATTENDANT"}},
- {label = "Police : Глядеть вдаль биноклем", type = "scenario", data = {anim = "WORLD_HUMAN_BINOCULARS"}},
- {label = "Капать лопаткой", type = "scenario", data = {anim = "world_human_gardener_plant"}},
- {label = "Ремонтировать что-то", type = "anim", data = {lib = "mini@repair", anim = "fixing_a_ped"}},
- {label = "Медик : Осморт лежачего", type = "scenario", data = {anim = "CODE_HUMAN_MEDIC_KNEEL"}},
- --{label = "Taxi : parler au client", type = "anim", data = {lib = "oddjobs@taxi@driver", anim = "leanover_idle"}},
- --{label = "Taxi : donner la facture", type = "anim", data = {lib = "oddjobs@taxi@cyi", anim = "std_hand_off_ps_passenger"}},
- {label = "Достать, положитьб перед собой", type = "anim", data = {lib = "mp_am_hold_up", anim = "purchase_beerbox_shopkeeper"}},
- {label = "Бармен : Налить рюмку", type = "anim", data = {lib = "mini@drinking", anim = "shots_barman_b"}},
- {label = "Фотографировать", type = "scenario", data = {anim = "WORLD_HUMAN_PAPARAZZI"}},
- {label = "Работать с блокнотом", type = "scenario", data = {anim = "WORLD_HUMAN_CLIPBOARD"}},
- {label = "Молотить", type = "scenario", data = {anim = "WORLD_HUMAN_HAMMERING"}},
- {label = "Попрошайничать", type = "scenario", data = {anim = "WORLD_HUMAN_BUM_FREEWAY"}},
- {label = "Изображать статую", type = "scenario", data = {anim = "WORLD_HUMAN_HUMAN_STATUE"}},
- }
- },
-
- {
- name = 'humors',
- label = 'Эмоции',
- items = {
- {label = "Ура! Заебись", type = "scenario", data = {anim = "WORLD_HUMAN_CHEERING"}},
- {label = "Супер", type = "anim", data = {lib = "mp_action", anim = "thanks_male_06"}},
- {label = "Показать пальцем", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_point"}},
- {label = "Сюда иди", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_come_here_soft"}},
- {label = "Че нах ?", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_bring_it_on"}},
- {label = "А я?", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_me"}},
- --{label = "Je le savais, putain", type = "anim", data = {lib = "anim@am_hold_up@male", anim = "shoplift_high"}},
- --{label = "Etre épuisé", type = "scenario", data = {lib = "amb@world_human_jog_standing@male@idle_b", anim = "idle_d"}},
- --{label = "Je suis dans la merde", type = "scenario", data = {lib = "amb@world_human_bum_standing@depressed@idle_a", anim = "idle_a"}},
- {label = "Facepalm", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@face_palm", anim = "face_palm"}},
- {label = "Тихо - тихо", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_easy_now"}},
- {label = "Шо там ебать?", type = "anim", data = {lib = "oddjobs@assassinate@multi@", anim = "react_big_variations_a"}},
- {label = "Страшно", type = "anim", data = {lib = "amb@code_human_cower_stand@male@react_cowering", anim = "base_right"}},
- {label = "Разминаться", type = "anim", data = {lib = "anim@deathmatch_intros@unarmed", anim = "intro_male_unarmed_e"}},
- {label = "Черт!", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_damn"}},
- {label = "Обьятия с поцелуем", type = "anim", data = {lib = "mp_ped_interaction", anim = "kisses_guy_a"}},
- {label = "Два фака", type = "anim", data = {lib = "mp_player_int_upperfinger", anim = "mp_player_int_finger_01_enter"}},
- {label = "Мастурбация", type = "anim", data = {lib = "mp_player_int_upperwank", anim = "mp_player_int_wank_01"}},
- {label = "Застрелиться", type = "anim", data = {lib = "mp_suicide", anim = "pistol"}},
- }
- },
-
- {
- name = 'sports',
- label = 'Спорт',
- items = {
- {label = "Выебываться мускулами", type = "anim", data = {lib = "amb@world_human_muscle_flex@arms_at_side@base", anim = "base"}},
- {label = "Поднимать штангу", type = "anim", data = {lib = "amb@world_human_muscle_free_weights@male@barbell@base", anim = "base"}},
- {label = "Отжимание", type = "anim", data = {lib = "amb@world_human_push_ups@male@base", anim = "base"}},
- {label = "Пресс", type = "anim", data = {lib = "amb@world_human_sit_ups@male@base", anim = "base"}},
- {label = "Йога", type = "anim", data = {lib = "amb@world_human_yoga@male@base", anim = "base_a"}},
- }
- },
-
- {
- name = 'misc',
- label = 'Разное',
- items = {
- --{label = "Boire un café", type = "anim", data = {lib = "amb@world_human_aa_coffee@idle_a", anim = "idle_a"}},
- --{label = "S'asseoir", type = "anim", data = {lib = "anim@heists@prison_heistunfinished_biztarget_idle", anim = "target_idle"}},
- {label = "Курить у стенки", type = "scenario", data = {anim = "world_human_leaning"}},
- {label = "Лежать", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE_BACK"}},
- {label = "Лежать на животе", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE"}},
- {label = "Протирать", type = "scenario", data = {anim = "world_human_maid_clean"}},
- {label = "Жарить на грилле", type = "scenario", data = {anim = "PROP_HUMAN_BBQ"}},
- --{label = "Position de Fouille", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_bj_to_prop_female"}},
- {label = "Селфи", type = "scenario", data = {anim = "world_human_tourist_mobile"}},
- {label = "Подслушивать", type = "anim", data = {lib = "mini@safe_cracking", anim = "idle_base"}},
- }
- },
-
- {
- name = 'attitudem',
- label = 'Походка',
- items = {
- {label = "Normal M", type = "attitude", data = {lib = "move_m@confident", anim = "move_m@confident"}},
- {label = "Normal F", type = "attitude", data = {lib = "move_f@heels@c", anim = "move_f@heels@c"}},
- {label = "Depressif", type = "attitude", data = {lib = "move_m@depressed@a", anim = "move_m@depressed@a"}},
- {label = "Depressif F", type = "attitude", data = {lib = "move_f@depressed@a", anim = "move_f@depressed@a"}},
- {label = "Business", type = "attitude", data = {lib = "move_m@business@a", anim = "move_m@business@a"}},
- {label = "Determine", type = "attitude", data = {lib = "move_m@brave@a", anim = "move_m@brave@a"}},
- {label = "Casual", type = "attitude", data = {lib = "move_m@casual@a", anim = "move_m@casual@a"}},
- {label = "Trop mange", type = "attitude", data = {lib = "move_m@fat@a", anim = "move_m@fat@a"}},
- {label = "Hipster", type = "attitude", data = {lib = "move_m@hipster@a", anim = "move_m@hipster@a"}},
- {label = "Blesse", type = "attitude", data = {lib = "move_m@injured", anim = "move_m@injured"}},
- {label = "Intimide", type = "attitude", data = {lib = "move_m@hurry@a", anim = "move_m@hurry@a"}},
- {label = "Hobo", type = "attitude", data = {lib = "move_m@hobo@a", anim = "move_m@hobo@a"}},
- {label = "Malheureux", type = "attitude", data = {lib = "move_m@sad@a", anim = "move_m@sad@a"}},
- {label = "Muscle", type = "attitude", data = {lib = "move_m@muscle@a", anim = "move_m@muscle@a"}},
- {label = "Choc", type = "attitude", data = {lib = "move_m@shocked@a", anim = "move_m@shocked@a"}},
- {label = "Sombre", type = "attitude", data = {lib = "move_m@shadyped@a", anim = "move_m@shadyped@a"}},
- {label = "Fatigue", type = "attitude", data = {lib = "move_m@buzzed", anim = "move_m@buzzed"}},
- {label = "Pressee", type = "attitude", data = {lib = "move_m@hurry_butch@a", anim = "move_m@hurry_butch@a"}},
- {label = "Fier", type = "attitude", data = {lib = "move_m@money", anim = "move_m@money"}},
- {label = "Petite course", type = "attitude", data = {lib = "move_m@quick", anim = "move_m@quick"}},
- {label = "Mangeuse d'homme", type = "attitude", data = {lib = "move_f@maneater", anim = "move_f@maneater"}},
- {label = "Impertinent", type = "attitude", data = {lib = "move_f@sassy", anim = "move_f@sassy"}},
- {label = "Arrogante", type = "attitude", data = {lib = "move_f@arrogant@a", anim = "move_f@arrogant@a"}},
- }
- },
- {
- name = 'porn',
- label = '18+ БЛЯТЬ',
- items = {
- {label = "Тебе сосут (сидя) в машине", type = "anim", data = {lib = "oddjobs@towing", anim = "m_blow_job_loop"}},
- {label = "Ты сосешь (сидя) в машине", type = "anim", data = {lib = "oddjobs@towing", anim = "f_blow_job_loop"}},
- {label = "Тебе сосут в машине, оч приятно", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_player"}},
- {label = "Трах в машине", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_female"}},
- {label = "Зачесались яйца", type = "anim", data = {lib = "mp_player_int_uppergrab_crotch", anim = "mp_player_int_grab_crotch"}},
- {label = "Аура шлюхи", type = "anim", data = {lib = "mini@strip_club@idles@stripper", anim = "stripper_idle_02"}},
- {label = "Поза шлюхи", type = "scenario", data = {anim = "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS"}},
- {label = "Титькотрясение", type = "anim", data = {lib = "mini@strip_club@backroom@", anim = "stripper_b_backroom_idle_b"}},
- {label = "Стрип 1", type = "anim", data = {lib = "mini@strip_club@lap_dance@ld_girl_a_song_a_p1", anim = "ld_girl_a_song_a_p1_f"}},
- {label = "Стрип 2", type = "anim", data = {lib = "mini@strip_club@private_dance@part2", anim = "priv_dance_p2"}},
- {label = "Стрип 3", type = "anim", data = {lib = "mini@strip_club@private_dance@part3", anim = "priv_dance_p3"}},
- }
- }
-}
diff --git a/[esx_addons]/esx_animations/localization/si_config.lua b/[esx_addons]/esx_animations/localization/si_config.lua
deleted file mode 100644
index da4005f8..00000000
--- a/[esx_addons]/esx_animations/localization/si_config.lua
+++ /dev/null
@@ -1,162 +0,0 @@
-Config = {}
-
-Config.Animations = {
-
- {
- name = 'festives',
- label = 'Prazniki',
- items = {
- {label = "Smoke", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING"}},
- {label = "Musician", type = "scenario", data = {anim = "WORLD_HUMAN_MUSICIAN"}},
- {label = "Dj", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@dj", anim = "dj"}},
- {label = "Coffee", type = "scenario", data = {anim = "WORLD_HUMAN_DRINKING"}},
- {label = "Beer", type = "scenario", data = {anim = "WORLD_HUMAN_PARTYING"}},
- {label = "Air Guitar", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@air_guitar", anim = "air_guitar"}},
- {label = "Air Shagging", type = "anim", data = {lib = "anim@mp_player_intcelebrationfemale@air_shagging", anim = "air_shagging"}},
- {label = "Rock'n'roll", type = "anim", data = {lib = "mp_player_int_upperrock", anim = "mp_player_int_rock"}},
- -- {label = "Fumer un joint", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING_POT"}},
- {label = "Drunk Standing", type = "anim", data = {lib = "amb@world_human_bum_standing@drunk@idle_a", anim = "idle_a"}},
- {label = "Vomiting", type = "anim", data = {lib = "oddjobs@taxi@tie", anim = "vomit_outside"}},
- }
- },
-
- {
- name = 'greetings',
- label = 'Pozdravi',
- items = {
- {label = "Hello", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_hello"}},
- {label = "Wave", type = "anim", data = {lib = "mp_common", anim = "givetake1_a"}},
- {label = "Handshake", type = "anim", data = {lib = "mp_ped_interaction", anim = "handshake_guy_a"}},
- {label = "Hugging", type = "anim", data = {lib = "mp_ped_interaction", anim = "hugs_guy_a"}},
- {label = "Salute", type = "anim", data = {lib = "mp_player_int_uppersalute", anim = "mp_player_int_salute"}},
- }
- },
-
- {
- name = 'work',
- label = 'Sluzba',
- items = {
- {label = "Suspect : Surrender", type = "anim", data = {lib = "random@arrests@busted", anim = "idle_c"}},
- {label = "Fishing", type = "scenario", data = {anim = "world_human_stand_fishing"}},
- {label = "Police : Investigate", type = "anim", data = {lib = "amb@code_human_police_investigate@idle_b", anim = "idle_f"}},
- {label = "Police : Use Radio", type = "anim", data = {lib = "random@arrests", anim = "generic_radio_chatter"}},
- {label = "Police : Traffic", type = "scenario", data = {anim = "WORLD_HUMAN_CAR_PARK_ATTENDANT"}},
- {label = "Police : Binoculars", type = "scenario", data = {anim = "WORLD_HUMAN_BINOCULARS"}},
- {label = "Agriculture : Planting", type = "scenario", data = {anim = "world_human_gardener_plant"}},
- {label = "Mechanic : Fixing Motor", type = "anim", data = {lib = "mini@repair", anim = "fixing_a_ped"}},
- {label = "Medic : Kneel", type = "scenario", data = {anim = "CODE_HUMAN_MEDIC_KNEEL"}},
- {label = "Taxi : Talk to customer", type = "anim", data = {lib = "oddjobs@taxi@driver", anim = "leanover_idle"}},
- {label = "Taxi : Give bill", type = "anim", data = {lib = "oddjobs@taxi@cyi", anim = "std_hand_off_ps_passenger"}},
- {label = "Grocer : Give", type = "anim", data = {lib = "mp_am_hold_up", anim = "purchase_beerbox_shopkeeper"}},
- {label = "Barman : Serve Shot", type = "anim", data = {lib = "mini@drinking", anim = "shots_barman_b"}},
- {label = "Journalist : Take Photos", type = "scenario", data = {anim = "WORLD_HUMAN_PAPARAZZI"}},
- {label = "All Jobs : Clipboard", type = "scenario", data = {anim = "WORLD_HUMAN_CLIPBOARD"}},
- {label = "All Jobs : Hammering", type = "scenario", data = {anim = "WORLD_HUMAN_HAMMERING"}},
- {label = "Bum : Holding Sign", type = "scenario", data = {anim = "WORLD_HUMAN_BUM_FREEWAY"}},
- {label = "Bum : Human Statue", type = "scenario", data = {anim = "WORLD_HUMAN_HUMAN_STATUE"}},
- }
- },
-
- {
- name = 'humors',
- label = 'Zabava',
- items = {
- {label = "Cheering", type = "scenario", data = {anim = "WORLD_HUMAN_CHEERING"}},
- {label = "Super", type = "anim", data = {lib = "mp_action", anim = "thanks_male_06"}},
- {label = "Point", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_point"}},
- {label = "Come here", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_come_here_soft"}},
- {label = "Bring it on", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_bring_it_on"}},
- {label = "Me", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_me"}},
- {label = "I knew it", type = "anim", data = {lib = "anim@am_hold_up@male", anim = "shoplift_high"}},
- {label = "Exhausted", type = "scenario", data = {lib = "amb@world_human_jog_standing@male@idle_b", anim = "idle_d"}},
- {label = "I'm the shit", type = "scenario", data = {lib = "amb@world_human_bum_standing@depressed@idle_a", anim = "idle_a"}},
- {label = "Facepalm", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@face_palm", anim = "face_palm"}},
- {label = "Calm down ", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_easy_now"}},
- {label = "What did I do?", type = "anim", data = {lib = "oddjobs@assassinate@multi@", anim = "react_big_variations_a"}},
- {label = "Fear", type = "anim", data = {lib = "amb@code_human_cower_stand@male@react_cowering", anim = "base_right"}},
- {label = "Fight ?", type = "anim", data = {lib = "anim@deathmatch_intros@unarmed", anim = "intro_male_unarmed_e"}},
- {label = "It's not possible !", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_damn"}},
- {label = "Embrace", type = "anim", data = {lib = "mp_ped_interaction", anim = "kisses_guy_a"}},
- {label = "Finger of honor", type = "anim", data = {lib = "mp_player_int_upperfinger", anim = "mp_player_int_finger_01_enter"}},
- {label = "You wanker", type = "anim", data = {lib = "mp_player_int_upperwank", anim = "mp_player_int_wank_01"}},
- {label = "Bullet in the head", type = "anim", data = {lib = "mp_suicide", anim = "pistol"}},
- }
- },
-
- {
- name = 'sports',
- label = 'Sporti',
- items = {
- {label = "Flex muscles", type = "anim", data = {lib = "amb@world_human_muscle_flex@arms_at_side@base", anim = "base"}},
- {label = "Lift weights", type = "anim", data = {lib = "amb@world_human_muscle_free_weights@male@barbell@base", anim = "base"}},
- {label = "Do push ups", type = "anim", data = {lib = "amb@world_human_push_ups@male@base", anim = "base"}},
- {label = "Do sit ups", type = "anim", data = {lib = "amb@world_human_sit_ups@male@base", anim = "base"}},
- {label = "Do yoga", type = "anim", data = {lib = "amb@world_human_yoga@male@base", anim = "base_a"}},
- }
- },
-
- {
- name = 'misc',
- label = 'Razno',
- items = {
- {label = "Drink coffee", type = "anim", data = {lib = "amb@world_human_aa_coffee@idle_a", anim = "idle_a"}},
- {label = "Sit", type = "anim", data = {lib = "anim@heists@prison_heistunfinished_biztarget_idle", anim = "target_idle"}},
- {label = "Lean against wall", type = "scenario", data = {anim = "world_human_leaning"}},
- {label = "Sunbathe Back", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE_BACK"}},
- {label = "Sunbathe Front", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE"}},
- {label = "Clean", type = "scenario", data = {anim = "world_human_maid_clean"}},
- {label = "BBQ", type = "scenario", data = {anim = "PROP_HUMAN_BBQ"}},
- {label = "Search", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_bj_to_prop_female"}},
- {label = "Take selfie", type = "scenario", data = {anim = "world_human_tourist_mobile"}},
- {label = "Listen to wall/door", type = "anim", data = {lib = "mini@safe_cracking", anim = "idle_base"}},
- }
- },
-
- {
- name = 'attitudem',
- label = 'Stili hoje',
- items = {
- {label = "Normal M", type = "attitude", data = {lib = "move_m@confident", anim = "move_m@confident"}},
- {label = "Normal F", type = "attitude", data = {lib = "move_f@heels@c", anim = "move_f@heels@c"}},
- {label = "Depressed male", type = "attitude", data = {lib = "move_m@depressed@a", anim = "move_m@depressed@a"}},
- {label = "Depressed female", type = "attitude", data = {lib = "move_f@depressed@a", anim = "move_f@depressed@a"}},
- {label = "Business", type = "attitude", data = {lib = "move_m@business@a", anim = "move_m@business@a"}},
- {label = "Determined", type = "attitude", data = {lib = "move_m@brave@a", anim = "move_m@brave@a"}},
- {label = "Casual", type = "attitude", data = {lib = "move_m@casual@a", anim = "move_m@casual@a"}},
- {label = "Ate too much", type = "attitude", data = {lib = "move_m@fat@a", anim = "move_m@fat@a"}},
- {label = "Hipster", type = "attitude", data = {lib = "move_m@hipster@a", anim = "move_m@hipster@a"}},
- {label = "Injured", type = "attitude", data = {lib = "move_m@injured", anim = "move_m@injured"}},
- {label = "In a hurry", type = "attitude", data = {lib = "move_m@hurry@a", anim = "move_m@hurry@a"}},
- {label = "Hobo", type = "attitude", data = {lib = "move_m@hobo@a", anim = "move_m@hobo@a"}},
- {label = "sad", type = "attitude", data = {lib = "move_m@sad@a", anim = "move_m@sad@a"}},
- {label = "Muscle", type = "attitude", data = {lib = "move_m@muscle@a", anim = "move_m@muscle@a"}},
- {label = "Shocked", type = "attitude", data = {lib = "move_m@shocked@a", anim = "move_m@shocked@a"}},
- {label = "Being shady", type = "attitude", data = {lib = "move_m@shadyped@a", anim = "move_m@shadyped@a"}},
- {label = "Buzzed", type = "attitude", data = {lib = "move_m@buzzed", anim = "move_m@buzzed"}},
- {label = "Hurry", type = "attitude", data = {lib = "move_m@hurry_butch@a", anim = "move_m@hurry_butch@a"}},
- {label = "Proud", type = "attitude", data = {lib = "move_m@money", anim = "move_m@money"}},
- {label = "Short race", type = "attitude", data = {lib = "move_m@quick", anim = "move_m@quick"}},
- {label = "Man eater", type = "attitude", data = {lib = "move_f@maneater", anim = "move_f@maneater"}},
- {label = "Sassy", type = "attitude", data = {lib = "move_f@sassy", anim = "move_f@sassy"}},
- {label = "Arrogant", type = "attitude", data = {lib = "move_f@arrogant@a", anim = "move_f@arrogant@a"}},
- }
- },
- {
- name = 'porn',
- label = 'NSFW',
- items = {
- {label = "Man receiving in car", type = "anim", data = {lib = "oddjobs@towing", anim = "m_blow_job_loop"}},
- {label = "Woman giving in car", type = "anim", data = {lib = "oddjobs@towing", anim = "f_blow_job_loop"}},
- {label = "Man on bottom in car", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_player"}},
- {label = "Woman on top in car", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_female"}},
- {label = "Scratch nuts", type = "anim", data = {lib = "mp_player_int_uppergrab_crotch", anim = "mp_player_int_grab_crotch"}},
- {label = "Hooker 1", type = "anim", data = {lib = "mini@strip_club@idles@stripper", anim = "stripper_idle_02"}},
- {label = "Hooker 2", type = "scenario", data = {anim = "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS"}},
- {label = "Hooker 3", type = "anim", data = {lib = "mini@strip_club@backroom@", anim = "stripper_b_backroom_idle_b"}},
- {label = "Strip Tease 1", type = "anim", data = {lib = "mini@strip_club@lap_dance@ld_girl_a_song_a_p1", anim = "ld_girl_a_song_a_p1_f"}},
- {label = "Strip Tease 2", type = "anim", data = {lib = "mini@strip_club@private_dance@part2", anim = "priv_dance_p2"}},
- {label = "Stip Tease On Knees", type = "anim", data = {lib = "mini@strip_club@private_dance@part3", anim = "priv_dance_p3"}},
- }
- },
-
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_animations/localization/sv_config.lua b/[esx_addons]/esx_animations/localization/sv_config.lua
deleted file mode 100644
index 547d63f8..00000000
--- a/[esx_addons]/esx_animations/localization/sv_config.lua
+++ /dev/null
@@ -1,162 +0,0 @@
-Config = {}
-
-Config.Animations = {
-
- {
- name = 'festives',
- label = 'Festliga',
- items = {
- {label = "Rök en cigarett", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING"}},
- {label = "Spela musik", type = "scenario", data = {anim = "WORLD_HUMAN_MUSICIAN"}},
- {label = "DJ", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@dj", anim = "dj"}},
- {label = "Drick en öl", type = "scenario", data = {anim = "WORLD_HUMAN_DRINKING"}},
- {label = "Party", type = "scenario", data = {anim = "WORLD_HUMAN_PARTYING"}},
- {label = "Luftgitarr", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@air_guitar", anim = "air_guitar"}},
- {label = "Dansa", type = "anim", data = {lib = "anim@mp_player_intcelebrationfemale@air_shagging", anim = "air_shagging"}},
- {label = "Rock'n'roll", type = "anim", data = {lib = "mp_player_int_upperrock", anim = "mp_player_int_rock"}},
- -- {label = "Mekka en joint", type = "scenario", data = {anim = "WORLD_HUMAN_SMOKING_POT"}},
- {label = "Fylld på platsen", type = "anim", data = {lib = "amb@world_human_bum_standing@drunk@idle_a", anim = "idle_a"}},
- {label = "Spy", type = "anim", data = {lib = "oddjobs@taxi@tie", anim = "vomit_outside"}},
- }
- },
-
- {
- name = 'greetings',
- label = 'Hälsningar',
- items = {
- {label = "Hälsa", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_hello"}},
- {label = "Skaka hand", type = "anim", data = {lib = "mp_common", anim = "givetake1_a"}},
- {label = "Skaka hand 2", type = "anim", data = {lib = "mp_ped_interaction", anim = "handshake_guy_a"}},
- {label = "Gangsterhälsning", type = "anim", data = {lib = "mp_ped_interaction", anim = "hugs_guy_a"}},
- {label = "Militärhälsning", type = "anim", data = {lib = "mp_player_int_uppersalute", anim = "mp_player_int_salute"}},
- }
- },
-
- {
- name = 'work',
- label = 'Jobb',
- items = {
- {label = "Misstänkt: gå till polisen", type = "anim", data = {lib = "random@arrests@busted", anim = "idle_c"}},
- {label = "FIskare", type = "scenario", data = {anim = "world_human_stand_fishing"}},
- {label = "Polis utreda", type = "anim", data = {lib = "amb@code_human_police_investigate@idle_b", anim = "idle_f"}},
- {label = "Polis: prata på radion", type = "anim", data = {lib = "random@arrests", anim = "generic_radio_chatter"}},
- {label = "Polis: trafik", type = "scenario", data = {anim = "WORLD_HUMAN_CAR_PARK_ATTENDANT"}},
- {label = "Polis: kikare", type = "scenario", data = {anim = "WORLD_HUMAN_BINOCULARS"}},
- {label = "Jordbruk: skörd", type = "scenario", data = {anim = "world_human_gardener_plant"}},
- {label = "Mekaniker: reparera motorn", type = "anim", data = {lib = "mini@repair", anim = "fixing_a_ped"}},
- {label = "Läkare: observera", type = "scenario", data = {anim = "CODE_HUMAN_MEDIC_KNEEL"}},
- {label = "Taxi: prata med kunden", type = "anim", data = {lib = "oddjobs@taxi@driver", anim = "leanover_idle"}},
- {label = "Taxi: ge räkning", type = "anim", data = {lib = "oddjobs@taxi@cyi", anim = "std_hand_off_ps_passenger"}},
- {label = "Livsmedel: ge handla", type = "anim", data = {lib = "mp_am_hold_up", anim = "purchase_beerbox_shopkeeper"}},
- {label = "Bartender: tjäna en shot", type = "anim", data = {lib = "mini@drinking", anim = "shots_barman_b"}},
- {label = "Reporter: Ta en bild", type = "scenario", data = {anim = "WORLD_HUMAN_PAPARAZZI"}},
- {label = "Ta noteringar", type = "scenario", data = {anim = "WORLD_HUMAN_CLIPBOARD"}},
- {label = "Använd hammare", type = "scenario", data = {anim = "WORLD_HUMAN_HAMMERING"}},
- {label = "Gör rundan", type = "scenario", data = {anim = "WORLD_HUMAN_BUM_FREEWAY"}},
- {label = "Statyn", type = "scenario", data = {anim = "WORLD_HUMAN_HUMAN_STATUE"}},
- }
- },
-
- {
- name = 'humors',
- label = 'Humor',
- items = {
- {label = "Gratulera", type = "scenario", data = {anim = "WORLD_HUMAN_CHEERING"}},
- {label = "Stor", type = "anim", data = {lib = "mp_action", anim = "thanks_male_06"}},
- {label = "Peka", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_point"}},
- {label = "Kom hit", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_come_here_soft"}},
- {label = "Kom an", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_bring_it_on"}},
- {label = "Till mig", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_me"}},
- {label = "Jag visste det, skit", type = "anim", data = {lib = "anim@am_hold_up@male", anim = "shoplift_high"}},
- {label = "Utmattad", type = "scenario", data = {lib = "amb@world_human_jog_standing@male@idle_b", anim = "idle_d"}},
- {label = "Jag är i skiten", type = "scenario", data = {lib = "amb@world_human_bum_standing@depressed@idle_a", anim = "idle_a"}},
- {label = "Facepalm", type = "anim", data = {lib = "anim@mp_player_intcelebrationmale@face_palm", anim = "face_palm"}},
- {label = "Lugna ner ", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_easy_now"}},
- {label = "Vad gjorde jag?", type = "anim", data = {lib = "oddjobs@assassinate@multi@", anim = "react_big_variations_a"}},
- {label = "Att vara rädd", type = "anim", data = {lib = "amb@code_human_cower_stand@male@react_cowering", anim = "base_right"}},
- {label = "Slåss?", type = "anim", data = {lib = "anim@deathmatch_intros@unarmed", anim = "intro_male_unarmed_e"}},
- {label = "Det är inte möjligt!", type = "anim", data = {lib = "gestures@m@standing@casual", anim = "gesture_damn"}},
- {label = "Omfamna", type = "anim", data = {lib = "mp_ped_interaction", anim = "kisses_guy_a"}},
- {label = "Finger av ära", type = "anim", data = {lib = "mp_player_int_upperfinger", anim = "mp_player_int_finger_01_enter"}},
- {label = "Vinka", type = "anim", data = {lib = "mp_player_int_upperwank", anim = "mp_player_int_wank_01"}},
- {label = "Begå självmord", type = "anim", data = {lib = "mp_suicide", anim = "pistol"}},
- }
- },
-
- {
- name = 'sports',
- label = 'Sporter',
- items = {
- {label = "Flexa muskler", type = "anim", data = {lib = "amb@world_human_muscle_flex@arms_at_side@base", anim = "base"}},
- {label = "Viktstång", type = "anim", data = {lib = "amb@world_human_muscle_free_weights@male@barbell@base", anim = "base"}},
- {label = "Armhävningar", type = "anim", data = {lib = "amb@world_human_push_ups@male@base", anim = "base"}},
- {label = "Gör situps", type = "anim", data = {lib = "amb@world_human_sit_ups@male@base", anim = "base"}},
- {label = "Yoga", type = "anim", data = {lib = "amb@world_human_yoga@male@base", anim = "base_a"}},
- }
- },
-
- {
- name = 'misc',
- label = 'Olika',
- items = {
- {label = "Drick en kaffe", type = "anim", data = {lib = "amb@world_human_aa_coffee@idle_a", anim = "idle_a"}},
- {label = "Sitta", type = "anim", data = {lib = "anim@heists@prison_heistunfinished_biztarget_idle", anim = "target_idle"}},
- {label = "Luta dig", type = "scenario", data = {anim = "world_human_leaning"}},
- {label = "Ligg på ryggen", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE_BACK"}},
- {label = "Ligg på magen", type = "scenario", data = {anim = "WORLD_HUMAN_SUNBATHE"}},
- {label = "Rengör något", type = "scenario", data = {anim = "world_human_maid_clean"}},
- {label = "Förbered dig för att äta", type = "scenario", data = {anim = "PROP_HUMAN_BBQ"}},
- {label = "Sex Position", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_bj_to_prop_female"}},
- {label = "Ta en selfie", type = "scenario", data = {anim = "world_human_tourist_mobile"}},
- {label = "Lyssna på en dörr", type = "anim", data = {lib = "mini@safe_cracking", anim = "idle_base"}},
- }
- },
-
- {
- name = 'attitudem',
- label = 'Attituder',
- items = {
- {label = "Självsäker M", type = "attitude", data = {lib = "move_m@confident", anim = "move_m@confident"}},
- {label = "Självsäker K", type = "attitude", data = {lib = "move_f@heels@c", anim = "move_f@heels@c"}},
- {label = "Deprimerad M", type = "attitude", data = {lib = "move_m@depressed@a", anim = "move_m@depressed@a"}},
- {label = "Deprimerad K", type = "attitude", data = {lib = "move_f@depressed@a", anim = "move_f@depressed@a"}},
- {label = "Business", type = "attitude", data = {lib = "move_m@business@a", anim = "move_m@business@a"}},
- {label = "Modig", type = "attitude", data = {lib = "move_m@brave@a", anim = "move_m@brave@a"}},
- {label = "Nonchalant", type = "attitude", data = {lib = "move_m@casual@a", anim = "move_m@casual@a"}},
- {label = "Fet", type = "attitude", data = {lib = "move_m@fat@a", anim = "move_m@fat@a"}},
- {label = "Hipster", type = "attitude", data = {lib = "move_m@hipster@a", anim = "move_m@hipster@a"}},
- {label = "Skadad", type = "attitude", data = {lib = "move_m@injured", anim = "move_m@injured"}},
- {label = "Bråttom", type = "attitude", data = {lib = "move_m@hurry@a", anim = "move_m@hurry@a"}},
- {label = "Hemlös", type = "attitude", data = {lib = "move_m@hobo@a", anim = "move_m@hobo@a"}},
- {label = "Ledsen", type = "attitude", data = {lib = "move_m@sad@a", anim = "move_m@sad@a"}},
- {label = "Muskler", type = "attitude", data = {lib = "move_m@muscle@a", anim = "move_m@muscle@a"}},
- {label = "Chockad", type = "attitude", data = {lib = "move_m@shocked@a", anim = "move_m@shocked@a"}},
- {label = "Shadyped", type = "attitude", data = {lib = "move_m@shadyped@a", anim = "move_m@shadyped@a"}},
- {label = "Surrande", type = "attitude", data = {lib = "move_m@buzzed", anim = "move_m@buzzed"}},
- {label = "Pressad", type = "attitude", data = {lib = "move_m@hurry_butch@a", anim = "move_m@hurry_butch@a"}},
- {label = "Pengar", type = "attitude", data = {lib = "move_m@money", anim = "move_m@money"}},
- {label = "Snabb", type = "attitude", data = {lib = "move_m@quick", anim = "move_m@quick"}},
- {label = "Man ätare", type = "attitude", data = {lib = "move_f@maneater", anim = "move_f@maneater"}},
- {label = "Oförskämd", type = "attitude", data = {lib = "move_f@sassy", anim = "move_f@sassy"}},
- {label = "Arrogant", type = "attitude", data = {lib = "move_f@arrogant@a", anim = "move_f@arrogant@a"}},
- }
- },
-
- {
- name = 'porn',
- label = 'Sexställningar',
- items = {
- {label = "1", type = "anim", data = {lib = "oddjobs@towing", anim = "m_blow_job_loop"}},
- {label = "2", type = "anim", data = {lib = "oddjobs@towing", anim = "f_blow_job_loop"}},
- {label = "3", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_player"}},
- {label = "4", type = "anim", data = {lib = "mini@prostitutes@sexlow_veh", anim = "low_car_sex_loop_female"}},
- {label = "5", type = "anim", data = {lib = "mp_player_int_uppergrab_crotch", anim = "mp_player_int_grab_crotch"}},
- {label = "6", type = "anim", data = {lib = "mini@strip_club@idles@stripper", anim = "stripper_idle_02"}},
- {label = "7", type = "scenario", data = {anim = "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS"}},
- {label = "8", type = "anim", data = {lib = "mini@strip_club@backroom@", anim = "stripper_b_backroom_idle_b"}},
- {label = "9", type = "anim", data = {lib = "mini@strip_club@lap_dance@ld_girl_a_song_a_p1", anim = "ld_girl_a_song_a_p1_f"}},
- {label = "10", type = "anim", data = {lib = "mini@strip_club@private_dance@part2", anim = "priv_dance_p2"}},
- {label = "11", type = "anim", data = {lib = "mini@strip_club@private_dance@part3", anim = "priv_dance_p3"}},
- }
- }
-}
diff --git a/[esx_addons]/esx_bankerjob/.editorconfig b/[esx_addons]/esx_bankerjob/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_bankerjob/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_bankerjob/LICENSE b/[esx_addons]/esx_bankerjob/LICENSE
deleted file mode 100644
index 86ecbcaf..00000000
--- a/[esx_addons]/esx_bankerjob/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_bankerjob/README.md b/[esx_addons]/esx_bankerjob/README.md
deleted file mode 100644
index 545fdb0e..00000000
--- a/[esx_addons]/esx_bankerjob/README.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# esx_bankerjob
-
-## Requirements
-
-- [cron](https://github.com/ESX-Org/cron)
-- [esx_addonaccount](https://github.com/ESX-Org/esx_addonaccount)
-- [esx_society](https://github.com/ESX-Org/esx_society)
-
-## Download & Installation
-
-### Using [fvm](https://github.com/qlaffont/fvm-installer)
-```
-fvm install --save --folder=esx esx-org/esx_bankerjob
-```
-
-### Using Git
-```
-cd resources
-git clone https://github.com/ESX-Org/esx_bankerjob [esx]/esx_bankerjob
-```
-
-### Manually
-- Download https://github.com/ESX-Org/esx_bankerjob/archive/master.zip
-- Put it in the `[esx]` directory
-
-## Installation
-- Import `esx_bankerjob.sql` in your database
-- Add this in your `server.cfg`:
-
-```
-start esx_bankerjob
-```
-
-# Legal
-### License
-esx_bankerjob - bank script
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
\ No newline at end of file
diff --git a/[esx_addons]/esx_bankerjob/client/main.lua b/[esx_addons]/esx_bankerjob/client/main.lua
deleted file mode 100644
index a4d8a732..00000000
--- a/[esx_addons]/esx_bankerjob/client/main.lua
+++ /dev/null
@@ -1,267 +0,0 @@
-local CurrentActionData, CurrentAction, CurrentActionMsg, hasAlreadyEnteredMarker, lastZone = {}
-
-RegisterNetEvent('esx:playerLoaded')
-AddEventHandler('esx:playerLoaded', function (xPlayer)
- ESX.PlayerData = xPlayer
-end)
-
-RegisterNetEvent('esx:setJob')
-AddEventHandler('esx:setJob', function (job)
- ESX.PlayerData.job = job
-end)
-
-function OpenBankActionsMenu()
- local elements = {
- {unselectable = true, icon = "fas fa-bank", title = TranslateCap("bank")},
- {icon = "fas fa-users", title = TranslateCap("customers"), value = "customers"},
- {icon = "fas fa-scroll", title = TranslateCap("billing"), value = "billing"}
- }
-
- if ESX.PlayerData.job.grade_name == 'boss' then
- elements[#elements+1] = {
- icon = "fas fa-wallet",
- title = TranslateCap("boss_actions"),
- value = "boss_actions"
- }
- end
-
- ESX.CloseContext()
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.value == "customers" then
- OpenCustomersMenu()
- elseif element.value == "billing" then
- CreateBillingDialog()
- elseif element.value == "boss_actions" then
- TriggerEvent('esx_society:openBossMenu', 'banker', function(data, menu)
- menu.close()
- end, {wash = false})
- CurrentAction = 'bank_actions_menu'
- CurrentActionMsg = TranslateCap('press_input_context_to_open_menu')
- CurrentActionData = {}
- end
- end, function(menu)
- CurrentAction = 'bank_actions_menu'
- CurrentActionMsg = TranslateCap('press_input_context_to_open_menu')
- CurrentActionData = {}
- end)
-end
-
-function OpenCustomersMenu()
- ESX.TriggerServerCallback('esx_bankerjob:getCustomers', function(customers)
- local elements = {
- {unselectable = true, icon = "fas fa-users", title = TranslateCap('customer')}
- }
-
- for i=1, #customers do
- elements[#elements+1] = {
- icon = "fas fa-user",
- title = customers[i].name,
- bankSavings = customers[i].bankSavings,
- data = customers[i]
- }
- end
-
- ESX.OpenContext("right", elements, function(menu,element)
- local elements2 = {
- {unselectable = true, icon = "fas fa-user", title = element.title},
- {unselectable = true, icon = "fas fa-wallet", title = "$"..ESX.Math.GroupDigits(element.bankSavings)},
- {icon = "fas fa-wallet", title = TranslateCap('deposit'), value = "deposit"},
- {icon = "fas fa-wallet", title = TranslateCap('withdraw'), value = "withdraw"},
- }
- ESX.OpenContext("right", elements2, function(menu2,element2)
- local customer = element.data
- if element2.value == "deposit" then
- local elements = {
- {unselectable = true, icon = "fas fa-scroll", title = TranslateCap('amount')},
- {title = "Amount", input = true, inputType = "number", inputMin = 1, inputMax = 250000, inputPlaceholder = "Amount to bill.."},
- {icon = "fas fa-check-double", title = "Confirm", val = "confirm"}
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.val == "confirm" then
- local amount = tonumber(menu.eles[2].inputValue)
-
- if amount == nil then
- ESX.ShowNotification(TranslateCap('invalid_amount'))
- else
- ESX.CloseContext()
- TriggerServerEvent('esx_bankerjob:customerDeposit', customer.source, amount)
- ESX.ShowNotification("You have deposited $"..amount.." into "..element.title.."s account.")
- OpenCustomersMenu()
- end
- end
- end, function(menu)
- CurrentAction = 'bank_actions_menu'
- CurrentActionMsg = TranslateCap('press_input_context_to_open_menu')
- CurrentActionData = {}
- end)
- elseif element2.value == "withdraw" then
- local elements = {
- {unselectable = true, icon = "fas fa-scroll", title = TranslateCap('amount')},
- {title = "Amount", input = true, inputType = "number", inputMin = 1, inputMax = 250000, inputPlaceholder = "Amount to bill.."},
- {icon = "fas fa-check-double", title = "Confirm", val = "confirm"}
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.val == "confirm" then
- local amount = tonumber(menu.eles[2].inputValue)
-
- if amount == nil then
- ESX.ShowNotification(TranslateCap('invalid_amount'))
- else
- ESX.CloseContext()
- TriggerServerEvent('esx_bankerjob:customerWithdraw', customer.source, amount)
- ESX.ShowNotification("You have withdrawn $"..amount.." from "..element.title.."s account.")
- OpenCustomersMenu()
- end
- end
- end, function(menu)
- CurrentAction = 'bank_actions_menu'
- CurrentActionMsg = TranslateCap('press_input_context_to_open_menu')
- CurrentActionData = {}
- end)
- end
- end, function(menu)
- CurrentAction = 'bank_actions_menu'
- CurrentActionMsg = TranslateCap('press_input_context_to_open_menu')
- CurrentActionData = {}
- end)
- end, function(menu)
- CurrentAction = 'bank_actions_menu'
- CurrentActionMsg = TranslateCap('press_input_context_to_open_menu')
- CurrentActionData = {}
- end)
- end)
-end
-
-function CreateBillingDialog()
- local elements = {
- {unselectable = true, icon = "fas fa-scroll", title = TranslateCap('bill_amount')},
- {title = "Amount", input = true, inputType = "number", inputMin = 1, inputMax = 250000, inputPlaceholder = "Amount to bill.."},
- {icon = "fas fa-check-double", title = "Confirm", val = "confirm"}
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.val == "confirm" then
- local amount = tonumber(menu.eles[2].inputValue)
-
- if amount == nil then
- ESX.ShowNotification(TranslateCap('invalid_amount'))
- else
- ESX.CloseContext()
-
- local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
-
- if closestPlayer == -1 or closestDistance > 5.0 then
- ESX.ShowNotification(TranslateCap('no_player_nearby'))
- else
- TriggerServerEvent('esx_billing:sendBill', GetPlayerServerId(closestPlayer), 'society_banker', 'Bank', amount)
- end
- end
- end
- end, function(menu)
- CurrentAction = 'bank_actions_menu'
- CurrentActionMsg = TranslateCap('press_input_context_to_open_menu')
- CurrentActionData = {}
- end)
-end
-
-AddEventHandler('esx_bankerjob:hasEnteredMarker', function (zone)
- if zone == 'BankActions' and ESX.PlayerData.job and ESX.PlayerData.job.name == 'banker' then
- CurrentAction = 'bank_actions_menu'
- CurrentActionMsg = TranslateCap('press_input_context_to_open_menu')
- CurrentActionData = {}
- end
-end)
-
-AddEventHandler('esx_bankerjob:hasExitedMarker', function (zone)
- CurrentAction = nil
- ESX.CloseContext()
-end)
-
--- Create Blips
-CreateThread(function()
- local blip = AddBlipForCoord(Config.Zones.BankActions.Coords)
-
- SetBlipSprite(blip, 108)
- SetBlipColour(blip, 30)
- SetBlipAsShortRange(blip, true)
-
- BeginTextCommandSetBlipName('STRING')
- AddTextComponentSubstringPlayerName(TranslateCap('bank'))
- EndTextCommandSetBlipName(blip)
-end)
-
--- Draw marker & activate menu when player is inside marker
-CreateThread(function()
- while true do
- Wait(0)
-
- if ESX.PlayerData.job and ESX.PlayerData.job.name == 'banker' then
- local playerCoords = GetEntityCoords(PlayerPedId())
- local isInMarker, letSleep, currentZone = false, true
-
- for k,v in pairs(Config.Zones) do
- local distance = #(playerCoords - v.Coords)
-
- if v.Type ~= -1 and distance < Config.DrawDistance then
- letSleep = false
- DrawMarker(v.Type, v.Coords, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, v.Size.x, v.Size.y, v.Size.z, v.Color.r, v.Color.g, v.Color.b, 100, false, true, 2, false, nil, nil, false)
- end
-
- if distance < v.Size.x then
- isInMarker, currentZone, letSleep = true, k, false
- end
- end
-
- if isInMarker and not hasAlreadyEnteredMarker then
- hasAlreadyEnteredMarker, lastZone = true, currentZone
- TriggerEvent('esx_bankerjob:hasEnteredMarker', currentZone)
- end
-
- if not isInMarker and hasAlreadyEnteredMarker then
- hasAlreadyEnteredMarker = false
- TriggerEvent('esx_bankerjob:hasExitedMarker', lastZone)
- end
-
- if letSleep then
- Wait(500)
- end
- else
- Wait(500)
- end
- end
-end)
-
--- Key Controls
-CreateThread(function()
- while true do
- Wait(0)
-
- if CurrentAction then
- ESX.ShowHelpNotification(CurrentActionMsg)
-
- if IsControlJustReleased(0, 38) and ESX.PlayerData.job and ESX.PlayerData.job.name == 'banker' then
- if CurrentAction == 'bank_actions_menu' then
- OpenBankActionsMenu()
- end
-
- CurrentAction = nil
- end
- else
- Wait(500)
- end
- end
-end)
-
-RegisterNetEvent('esx_phone:loaded')
-AddEventHandler('esx_phone:loaded', function (phoneNumber, contacts)
- local specialContact = {
- name = TranslateCap('phone_label'),
- number = 'banker',
- base64Icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAAJUO2JUS4JkW7Jka+L0y5M0+7O1e9J0fBKEjEKEnHKUrJKUvMKk3PK07SK0/VLFHaLVLeLVPgLlTjOl7kO1/lQFu/RmDBTmbEU2vHXHLIR2jmSGnnVHPoVXToaX7NYX7pYn/qbIHPd4rReYzTbojre5PtfZTuhZbWh5jYiJ7vkqHblqnwl6rxoK3fpLXzsb/1u8Xovsr2ydHty9X419zy5Oj25ur88vT78vT88/X9////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATuU7PwAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjEuNv1OCegAAAUoSURBVHhe5ZvrdtQ2FEZjoCmFltsQ2gYCA4VA06GUhktK3v+5ppK8bUu2jnTk26zV7l+JbH1nR7Y0QglH+zHstpsBb7hWSLHAjnpxttylp0zgKXWSXHCzjgKBxxRQcE4XBVqBc6LV0C+LTqDgh+/Y0TmNRoDAcjRPIi8w6qdvyI9CTiAy4csgRyQjQMoUHhMlkBSYNPodpMVJCdB/OqlBkAXO6D0LZEYQBeg5F+L6LAnQbz7OCO4jCNBrVojuERUoXvh1kB4SE1ioftwgIjDr6x9CBZ+hwGI/v4UaHgOBRetHDAYC3LgYlGnpC3DbcvSX5Z4Ady1Jb+McCnDPslALAoEFJ6AP1WoCAW5YHMo5fAEuL4//GngCM+1/NFDR4glwcRUoaegEuFTEp+vr6298XUS3P2kFRuy/X5rylvd8XwJVPQEu6Dn5Rn3Dc9r0PKVsK1D8BtrR7yh/DtRtBWjWckHhjr+5oobCCNCo5BlFQ95yVUldeJTAVyoOOOEGFXws1gIlb8AHqsX4yj0qXGUEaFLQTD2JgilZTwQnoN6G+VNP4iX35ukEaMgSTj0J9ZQsFRhOPYlP9MjRCKhewfjUk9BNyUaAb5OIU0/iGR1T2EMsncBfpJagmZK1QPb8NTf1JD7QX6YW4BuJE+LGkJuSGgHd1JP4hxQJK5A+f1esPGkeEBTHCvClADHjOb5HUpQVBE6rH4iKsYJAVVU3yIpwlhV4Tg58NnnwhCbLFW0WmuCjayMswv4o/Q5agvfQ5TmuaHHQZvhIi+MJjdUjsgbsj/LbccJqCDQElWgzvKPFcUpjVUmTYX/EFwn8legX8izeEPxGk+UzbYZLmix3SeuhEbC4PKJ8CppvERWyokB8MuxWFIhOhu2qAtVD4jrO1hWohuvyygLVHQJb1haobpLYsLpA/1U8gEC4Lh9CIFiXDyJQ/USs4TAC1W1yDybQrssrr4Q+dfD54QTqybDuh1GP+yZ4zY/jIWZd3h+9oUQamzi/gNmkZHfFYBMXEKiq/73Aq0ML2H+aqc7pbeJSAqohsIn/RYFfDy1QH9FcUCSFTVxMQDMENnF+ge8OLWBqOwHFYblNXE5AMQQ2cXaB77UC3hGJ/y/+L7QZvtBkuaTN4J/cRLCla4G0QXBU2Z1Q/EGL4x2NVXVKi6M+IZJwpRUC70lz0NcQVGoPg6pjWhwvaIziKiOQOKl6O+ms9PKYahFcZQTkISBoPOIgvK4rIyDORGImQL0BdeFGQBwCUiZAvT6/U7gRkN4CUsbjz1Af6rYC0hBMPq4X3kKqegKSATlj+ZOCfSjqC0i/vBvzC6uGq259CKGmoROQp+I9es2H2Qk1eAKywSP6zQYFLb5A4jeoN+g5D9Rz+ALyEGw2d+g7B6yBNYFAyuABvadjN2IdoUByf0r/yVALQoH0H/TdImEaVGroCaQewmbzIxlToE5LXyBt8JCU8TSfQS0DgbTB1BfhFUU6hgIZg9tEjcJbARsiAhmD+4SN4GcK+MQEMgajF+bh+BuiAhmDkQvz4P1zxAVyf1hzl8wSSO4jCOQObsoXZnIHSALZx0CuknD995EFcgYlC3Pw+ReSEMg9Bv1GibwoKYGZ5mNk9fFIC+TOjzTzkSSJjEDu76yyGyVSZLICmeeQno/xtSdAIZBZlqgVQVFeKZB+EMJ8pGcOpYCBchEiGyV3/qRCL5A4ROhtlORlL0KJgIWSfShtSM/6IaUCltjW2W2Uoh/4GcYI1Oy2rcj2XPe/rIfs9/8CuOBqaLBm2ZcAAAAASUVORK5CYII='
- }
-
- TriggerEvent('esx_phone:addSpecialContact', specialContact.name, specialContact.number, specialContact.base64Icon)
-end)
diff --git a/[esx_addons]/esx_bankerjob/config.lua b/[esx_addons]/esx_bankerjob/config.lua
deleted file mode 100644
index 9e26ffe1..00000000
--- a/[esx_addons]/esx_bankerjob/config.lua
+++ /dev/null
@@ -1,13 +0,0 @@
-Config = {}
-Config.DrawDistance = 10.0
-Config.BankSavingPercentage = 2.5
-Config.Locale = GetConvar('esx:locale', 'en')
-
-Config.Zones = {
- BankActions = {
- Coords = vector3(260.1, 204.3, 109.2),
- Size = {x = 1.5, y = 1.5, z = 1.0},
- Color = {r = 102, g = 102, b = 204},
- Type = 1
- }
-}
diff --git a/[esx_addons]/esx_bankerjob/esx_bankerjob.sql b/[esx_addons]/esx_bankerjob/esx_bankerjob.sql
deleted file mode 100644
index 83b9a13f..00000000
--- a/[esx_addons]/esx_bankerjob/esx_bankerjob.sql
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_banker','Banque',1),
- ('bank_savings','Livret Bleu',0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('banker','Banquier')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('banker',0,'advisor','Conseiller',10,'{}','{}'),
- ('banker',1,'banker','Banquier',20,'{}','{}'),
- ('banker',2,'business_banker',"Banquier d\'affaire",30,'{}','{}'),
- ('banker',3,'trader','Trader',40,'{}','{}'),
- ('banker',4,'boss','Patron',0,'{}','{}')
-;
diff --git a/[esx_addons]/esx_bankerjob/fxmanifest.lua b/[esx_addons]/esx_bankerjob/fxmanifest.lua
deleted file mode 100644
index 664018c5..00000000
--- a/[esx_addons]/esx_bankerjob/fxmanifest.lua
+++ /dev/null
@@ -1,27 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Banker job'
-
-version '1.9.0'
-lua54 'yes'
-shared_script '@es_extended/imports.lua'
-
-server_scripts {
- '@async/async.lua',
- '@oxmysql/lib/MySQL.lua',
- '@es_extended/locale.lua',
- 'config.lua',
- 'locales/*.lua',
- 'server/main.lua'
-}
-
-client_scripts {
- '@es_extended/locale.lua',
- 'config.lua',
- 'locales/*.lua',
- 'client/main.lua'
-}
-
-dependency 'es_extended'
diff --git a/[esx_addons]/esx_bankerjob/locales/br.lua b/[esx_addons]/esx_bankerjob/locales/br.lua
deleted file mode 100644
index ea237504..00000000
--- a/[esx_addons]/esx_bankerjob/locales/br.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-Locales['br'] = {
- ['actions'] = 'ações',
- ['amount'] = 'quantidade',
- ['balance'] = 'saldo',
- ['bank'] = 'banco',
- ['bill_amount'] = 'montante de dinheiro',
- ['billing'] = 'faturamento',
- ['customer'] = 'cliente',
- ['customers'] = 'clientes',
- ['deposit'] = 'depositar',
- ['invalid_amount'] = 'quantidade inválida',
- ['no_player_nearby'] = 'nenhum jogador nas proximidades',
- ['press_input_context_to_open_menu'] = 'pressione [E] para abrir o menu',
- ['withdraw'] = 'sacar',
- ['boss_actions'] = 'boss Actions',
- ['phone_receive'] = 'bank Customer',
- ['phone_label'] = 'bank',
-}
diff --git a/[esx_addons]/esx_bankerjob/locales/de.lua b/[esx_addons]/esx_bankerjob/locales/de.lua
deleted file mode 100644
index 791d973e..00000000
--- a/[esx_addons]/esx_bankerjob/locales/de.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-Locales['de'] = {
- ['actions'] = 'Aktionen',
- ['amount'] = 'Betrag',
- ['balance'] = 'Kontostand',
- ['bank'] = 'Bank',
- ['bill_amount'] = 'Rechnungsbetrag',
- ['billing'] = 'Rechnung',
- ['customer'] = 'Kunde',
- ['customers'] = 'Client',
- ['deposit'] = 'einzahlen',
- ['invalid_amount'] = 'ungültiger Betrag',
- ['no_player_nearby'] = 'kein Spieler in der Nähe',
- ['press_input_context_to_open_menu'] = 'Drücke [E] um das Bank Menü zu öffnen',
- ['withdraw'] = 'Abheben',
- ['boss_actions'] = 'boss Actions',
- ['phone_receive'] = 'Bankkunde',
- ['phone_label'] = 'bank',
-}
diff --git a/[esx_addons]/esx_bankerjob/locales/en.lua b/[esx_addons]/esx_bankerjob/locales/en.lua
deleted file mode 100644
index 43243733..00000000
--- a/[esx_addons]/esx_bankerjob/locales/en.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-Locales['en'] = {
- ['actions'] = 'actions',
- ['amount'] = 'amount',
- ['balance'] = 'balance',
- ['bank'] = 'bank',
- ['bill_amount'] = 'bill amount',
- ['billing'] = 'billing',
- ['customer'] = 'customer',
- ['customers'] = 'clients',
- ['deposit'] = 'deposit',
- ['invalid_amount'] = 'invalid amount',
- ['no_player_nearby'] = 'no player nearby',
- ['press_input_context_to_open_menu'] = 'press [E] to open the Bank Menu.',
- ['withdraw'] = 'withdraw',
- ['boss_actions'] = 'boss Actions',
- ['phone_receive'] = 'bank Customer',
- ['phone_label'] = 'bank',
-}
diff --git a/[esx_addons]/esx_bankerjob/locales/es.lua b/[esx_addons]/esx_bankerjob/locales/es.lua
deleted file mode 100644
index 8b04a1b0..00000000
--- a/[esx_addons]/esx_bankerjob/locales/es.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-Locales['es'] = {
- ['actions'] = 'acciones',
- ['amount'] = 'cantidad',
- ['balance'] = 'balance',
- ['bank'] = 'Banco',
- ['bill_amount'] = 'total de la factura',
- ['billing'] = 'facturación',
- ['customer'] = 'cliente',
- ['customers'] = 'Clientes',
- ['deposit'] = 'depositar',
- ['invalid_amount'] = 'Monto invalido',
- ['no_player_nearby'] = 'no hay jugadores cerca',
- ['press_input_context_to_open_menu'] = 'presione [E] para abrir el Menú del banc .',
- ['withdraw'] = 'retirar',
- ['boss_actions'] = 'Acciones del jefe',
- ['phone_receive'] = 'Cliente bancario',
- ['phone_label'] = 'banco',
- }
\ No newline at end of file
diff --git a/[esx_addons]/esx_bankerjob/locales/et.lua b/[esx_addons]/esx_bankerjob/locales/et.lua
deleted file mode 100644
index 182b4602..00000000
--- a/[esx_addons]/esx_bankerjob/locales/et.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-Locales['et'] = {
- ['actions'] = 'Tegevused',
- ['amount'] = 'Kogus',
- ['balance'] = 'Saldo',
- ['bank'] = 'Pank',
- ['bill_amount'] = 'Arve suurus',
- ['billing'] = 'Arve',
- ['customer'] = 'Klient',
- ['customers'] = 'Kliendid',
- ['deposit'] = 'Sisesta',
- ['invalid_amount'] = 'Vale kogus',
- ['no_player_nearby'] = 'Ühtegi isikut pole ligidal',
- ['press_input_context_to_open_menu'] = 'Vajuta [E], et avada panga menüü.',
- ['withdraw'] = 'Võta välja',
- ['boss_actions'] = 'Bossi tegevused',
- ['phone_receive'] = 'Panga klient',
- ['phone_label'] = 'Pank',
-}
diff --git a/[esx_addons]/esx_bankerjob/locales/fi.lua b/[esx_addons]/esx_bankerjob/locales/fi.lua
deleted file mode 100644
index 12b95adc..00000000
--- a/[esx_addons]/esx_bankerjob/locales/fi.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-Locales['fi'] = {
- ['actions'] = 'toiminnot',
- ['amount'] = 'määrä',
- ['balance'] = 'balanssi',
- ['bank'] = 'Pankki',
- ['bill_amount'] = 'laskun määrä',
- ['billing'] = 'laskutus',
- ['customer'] = 'asiakas',
- ['customers'] = 'asiakkaat',
- ['deposit'] = 'talletus',
- ['invalid_amount'] = 'virheellinen määrä',
- ['no_player_nearby'] = 'ei pelaajia lähettyvillä',
- ['press_input_context_to_open_menu'] = 'Paina [E] avataksesi valikon',
- ['withdraw'] = 'nosta',
- ['boss_actions'] = 'pomo valinnat',
- ['phone_receive'] = 'pankin asiakas',
- ['phone_label'] = 'bank',
-}
diff --git a/[esx_addons]/esx_bankerjob/locales/fr.lua b/[esx_addons]/esx_bankerjob/locales/fr.lua
deleted file mode 100644
index c836a0c2..00000000
--- a/[esx_addons]/esx_bankerjob/locales/fr.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-Locales['fr'] = {
- ['actions'] = 'actions',
- ['amount'] = 'montant',
- ['balance'] = 'solde',
- ['bank'] = 'banque',
- ['bill_amount'] = 'montant de la facture',
- ['billing'] = 'facturation',
- ['customer'] = 'client',
- ['customers'] = 'clients',
- ['deposit'] = 'virement',
- ['invalid_amount'] = 'montant invalide',
- ['no_player_nearby'] = 'aucun joueur à proximité',
- ['press_input_context_to_open_menu'] = 'appuyez sur [E] pour ouvrir le menu',
- ['withdraw'] = 'retrait',
- ['boss_actions'] = 'action Patron',
- ['phone_receive'] = 'client Banque',
- ['phone_label'] = 'banque',
-}
diff --git a/[esx_addons]/esx_bankerjob/locales/hu.lua b/[esx_addons]/esx_bankerjob/locales/hu.lua
deleted file mode 100644
index 74fd85b0..00000000
--- a/[esx_addons]/esx_bankerjob/locales/hu.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-Locales['hu'] = {
- ['actions'] = 'műveletek',
- ['amount'] = 'összeg',
- ['balance'] = 'egyenleg',
- ['bank'] = 'bank',
- ['bill_amount'] = 'Számla összege',
- ['billing'] = 'Számlázás',
- ['customer'] = 'Vevő',
- ['customers'] = 'Kliensek',
- ['deposit'] = 'Befizetés',
- ['invalid_amount'] = 'Érvénytelen mennyiség',
- ['no_player_nearby'] = 'Nincsen játékos a közeledben',
- ['press_input_context_to_open_menu'] = 'Nyomj [E] hogy megnyisd a bankot.',
- ['withdraw'] = 'Kivétel',
- ['boss_actions'] = 'Főnöki menü',
- ['phone_receive'] = 'banki ügyfél',
- ['phone_label'] = 'bank',
-}
diff --git a/[esx_addons]/esx_bankerjob/locales/it.lua b/[esx_addons]/esx_bankerjob/locales/it.lua
deleted file mode 100644
index 2d3b50a2..00000000
--- a/[esx_addons]/esx_bankerjob/locales/it.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-Locales['it'] = {
- ['actions'] = 'azioni',
- ['amount'] = 'importo',
- ['balance'] = 'saldo',
- ['bank'] = 'banca',
- ['bill_amount'] = 'importo fattura',
- ['billing'] = 'fattura',
- ['customer'] = 'cliente',
- ['customers'] = 'clienti',
- ['deposit'] = 'deposito',
- ['invalid_amount'] = 'importo non valido',
- ['no_player_nearby'] = 'nessun giocatore nelle vicinanze',
- ['press_input_context_to_open_menu'] = 'premi [E] per aprire il menu della banca.',
- ['withdraw'] = 'ritira',
- ['boss_actions'] = 'azioni boss',
- ['phone_receive'] = 'cliente bancario',
- ['phone_label'] = 'banca',
-}
diff --git a/[esx_addons]/esx_bankerjob/locales/nl.lua b/[esx_addons]/esx_bankerjob/locales/nl.lua
deleted file mode 100644
index 824df3ab..00000000
--- a/[esx_addons]/esx_bankerjob/locales/nl.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-Locales['nl'] = {
- ['actions'] = 'acties',
- ['amount'] = 'bedrag',
- ['balance'] = 'saldo',
- ['bank'] = 'bank',
- ['bill_amount'] = 'rekening bedrag',
- ['billing'] = 'rekeningen',
- ['customer'] = 'klant',
- ['customers'] = 'klanten',
- ['deposit'] = 'storten',
- ['invalid_amount'] = 'ongedig bedrag',
- ['no_player_nearby'] = 'geen speler in de omgeving',
- ['press_input_context_to_open_menu'] = 'druk op [E] om het Bank Menute openen.',
- ['withdraw'] = 'opnemen',
- ['boss_actions'] = 'baas acties',
- ['phone_receive'] = 'bank klant',
- ['phone_label'] = 'bank',
-}
diff --git a/[esx_addons]/esx_bankerjob/locales/si.lua b/[esx_addons]/esx_bankerjob/locales/si.lua
deleted file mode 100644
index 1cf1de71..00000000
--- a/[esx_addons]/esx_bankerjob/locales/si.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-Locales['si'] = {
- ['actions'] = 'actions',
- ['amount'] = 'znesek',
- ["balance"] = "balance",
- ['bank'] = 'bank',
- ['bill_amount'] = 'znesek računa',
- ["billing"] = "billing",
- ["customer"] = "customer",
- ['customers'] = 'customers',
- ["deposit"] = "deposit",
- ["invalid_amount"] = "neveljavni znesek",
- ['no_player_nearby'] = 'v bližini ni igralca',
- ['press_input_context_to_open_menu'] = 'pritisnite [E] za odprtje menija banke Bank.',
- ['withdraw'] = 'umakni',
- ['boss_actions'] = 'boss Actions',
- ['phone_receive'] = 'bančna stranka',
- ['phone_label'] = 'bank',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_bankerjob/locales/sv.lua b/[esx_addons]/esx_bankerjob/locales/sv.lua
deleted file mode 100644
index da67d2d3..00000000
--- a/[esx_addons]/esx_bankerjob/locales/sv.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-Locales['sv'] = {
- ['actions'] = 'Handlingar',
- ['amount'] = 'Belopp',
- ['balance'] = 'Saldo',
- ['bank'] = 'Bank',
- ['bill_amount'] = 'Räkningsbelopp',
- ['billing'] = 'Fakturering',
- ['customer'] = 'Kund',
- ['customers'] = 'Kunder',
- ['deposit'] = 'Insättning',
- ['invalid_amount'] = 'Ogiltig belopp',
- ['no_player_nearby'] = 'Ingen spelare i närheten',
- ['press_input_context_to_open_menu'] = 'Tryck [E] för att öppna Bankmenyn.',
- ['withdraw'] = 'Ta ut',
- ['boss_actions'] = 'Chef handlingar',
- ['phone_receive'] = 'Bank meddelande mottaget',
- ['phone_label'] = 'Bank',
-}
diff --git a/[esx_addons]/esx_bankerjob/locales/tr.lua b/[esx_addons]/esx_bankerjob/locales/tr.lua
deleted file mode 100644
index 73067996..00000000
--- a/[esx_addons]/esx_bankerjob/locales/tr.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Locales['tr'] = {
- ['actions'] = 'hareketler',
- ['amount'] = 'tutar',
- ['balance'] = 'bakiye',
- ['bank'] = 'banka',
- ['bill_amount'] = 'fatura tutarı',
- ['billing'] = 'faturalandırma',
- ['customer'] = 'müşteri',
- ['customers'] = 'müşteriler',
- ['deposit'] = 'para yatır',
- ['invalid_amount'] = 'geçersiz tutar',
- ['no_player_nearby'] = 'yakında oyuncu yok',
- ['press_input_context_to_open_menu'] = 'Banka Menüsünü açmak için [E] tuşuna basın.',
- ['withdraw'] = 'para çek',
- ['boss_actions'] = 'patron Hareketleri',
- ['phone_receive'] = 'banka Müşterisi',
- ['phone_label'] = 'banka',
- }
-
\ No newline at end of file
diff --git a/[esx_addons]/esx_bankerjob/localization/de_esx_bankerjob.sql b/[esx_addons]/esx_bankerjob/localization/de_esx_bankerjob.sql
deleted file mode 100644
index 6af7cd59..00000000
--- a/[esx_addons]/esx_bankerjob/localization/de_esx_bankerjob.sql
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_banker','Bank',1),
- ('bank_savings','Bank',0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('banker','Banker')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('banker',0,'advisor','Berater',10,'{}','{}'),
- ('banker',1,'banker','Banker',20,'{}','{}'),
- ('banker',2,'business_banker','Business Banker',30,'{}','{}'),
- ('banker',3,'trader','Trader',40,'{}','{}'),
- ('banker',4,'boss','Boss',0,'{}','{}')
-;
diff --git a/[esx_addons]/esx_bankerjob/localization/en_esx_bankerjob.sql b/[esx_addons]/esx_bankerjob/localization/en_esx_bankerjob.sql
deleted file mode 100644
index 779b3bf8..00000000
--- a/[esx_addons]/esx_bankerjob/localization/en_esx_bankerjob.sql
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_banker','Bank',1),
- ('bank_savings','Bank Savings',0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('banker','Banker')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('banker',0,'advisor','Advisor',10,'{}','{}'),
- ('banker',1,'banker','Banker',20,'{}','{}'),
- ('banker',2,'business_banker','Business Banker',30,'{}','{}'),
- ('banker',3,'trader','Trader',40,'{}','{}'),
- ('banker',4,'boss','Lead Banker',0,'{}','{}')
-;
diff --git a/[esx_addons]/esx_bankerjob/localization/esx_es_esx_bankerjob.sql b/[esx_addons]/esx_bankerjob/localization/esx_es_esx_bankerjob.sql
deleted file mode 100644
index 1b60b113..00000000
--- a/[esx_addons]/esx_bankerjob/localization/esx_es_esx_bankerjob.sql
+++ /dev/null
@@ -1,18 +0,0 @@
-USE `essentialmode`;
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_banker','Bank',1),
- ('bank_savings','Ahorro bancario',0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('banker','Banquero')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('banker',0,'advisor','Asesores',10,'{}','{}'),
- ('banker',1,'banker','Banquero',20,'{}','{}'),
- ('banker',2,'business_banker','Banquero de negocios',30,'{}','{}'),
- ('banker',3,'trader','Comerciante',40,'{}','{}'),
- ('banker',4,'boss','Banquero principal',0,'{}','{}')
-;
diff --git a/[esx_addons]/esx_bankerjob/localization/fi_esx_bankerjob.sql b/[esx_addons]/esx_bankerjob/localization/fi_esx_bankerjob.sql
deleted file mode 100644
index 6b851c77..00000000
--- a/[esx_addons]/esx_bankerjob/localization/fi_esx_bankerjob.sql
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_banker','Pankki',1),
- ('bank_savings','Pankki',0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('banker','Pankkiiri')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('banker',0,'advisor','Konsultti',10,'{}','{}'),
- ('banker',1,'banker','Pankkiiri',20,'{}','{}'),
- ('banker',2,'business_banker','Yritys Pankkiiri',30,'{}','{}'),
- ('banker',3,'trader','Välittäjä',40,'{}','{}'),
- ('banker',4,'boss','Pomo',0,'{}','{}')
-;
diff --git a/[esx_addons]/esx_bankerjob/localization/nl_esx_bankerjob.sql b/[esx_addons]/esx_bankerjob/localization/nl_esx_bankerjob.sql
deleted file mode 100644
index c1289316..00000000
--- a/[esx_addons]/esx_bankerjob/localization/nl_esx_bankerjob.sql
+++ /dev/null
@@ -1,16 +0,0 @@
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_banker','Bank',1),
- ('bank_savings','Spaarrekening',0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('banker','Bankier')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('banker',0,'advisor','Adviseur',10,'{}','{}'),
- ('banker',1,'banker','Bankoer',20,'{}','{}'),
- ('banker',2,'business_banker','Bedrijfs Bankier',30,'{}','{}'),
- ('banker',3,'trader','Stocktrader',40,'{}','{}'),
- ('banker',4,'boss','Hoofd Bankier',0,'{}','{}')
-;
diff --git a/[esx_addons]/esx_bankerjob/localization/sv_esx_bankerjob.sql b/[esx_addons]/esx_bankerjob/localization/sv_esx_bankerjob.sql
deleted file mode 100644
index a0323b98..00000000
--- a/[esx_addons]/esx_bankerjob/localization/sv_esx_bankerjob.sql
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_banker','Bank',1),
- ('bank_savings','Bank',0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('banker','Banktjänsteman')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('banker',0,'advisor','Rådgivare',10,'{}','{}'),
- ('banker',1,'banker','Banktjänsteman',20,'{}','{}'),
- ('banker',2,'business_banker','Företagstjänsteman',30,'{}','{}'),
- ('banker',3,'trader','Köpman',40,'{}','{}'),
- ('banker',4,'boss','VD',0,'{}','{}')
-;
diff --git a/[esx_addons]/esx_bankerjob/localization/tr_esx_bankerjob.sql b/[esx_addons]/esx_bankerjob/localization/tr_esx_bankerjob.sql
deleted file mode 100644
index 89d032df..00000000
--- a/[esx_addons]/esx_bankerjob/localization/tr_esx_bankerjob.sql
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_banker','Banka',1),
- ('bank_savings','Banka Birikimi',0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('banker','Bankacı')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('banker',0,'advisor','Danışman',10,'{}','{}'),
- ('banker',1,'banker','Bankacı',20,'{}','{}'),
- ('banker',2,'business_banker','İşletme Bankacısı',30,'{}','{}'),
- ('banker',3,'trader','Borsacı',40,'{}','{}'),
- ('banker',4,'boss','Yönetici',0,'{}','{}')
-;
diff --git a/[esx_addons]/esx_bankerjob/server/main.lua b/[esx_addons]/esx_bankerjob/server/main.lua
deleted file mode 100644
index 30bb523a..00000000
--- a/[esx_addons]/esx_bankerjob/server/main.lua
+++ /dev/null
@@ -1,108 +0,0 @@
-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'})
-
-RegisterServerEvent('esx_bankerjob:customerDeposit')
-AddEventHandler('esx_bankerjob:customerDeposit', function (target, amount)
- local xPlayer = ESX.GetPlayerFromId(target)
-
- TriggerEvent('esx_addonaccount:getSharedAccount', 'society_banker', function (account)
- if amount > 0 and account.money >= amount then
- account.removeMoney(amount)
-
- TriggerEvent('esx_addonaccount:getAccount', 'bank_savings', xPlayer.identifier, function (account)
- account.addMoney(amount)
- end)
- else
- TriggerClientEvent('esx:showNotification', xPlayer.source, TranslateCap('invalid_amount'))
- end
- end)
-end)
-
-RegisterServerEvent('esx_bankerjob:customerWithdraw')
-AddEventHandler('esx_bankerjob:customerWithdraw', function (target, amount)
- local xPlayer = ESX.GetPlayerFromId(target)
-
- TriggerEvent('esx_addonaccount:getAccount', 'bank_savings', xPlayer.identifier, function (account)
- if amount > 0 and account.money >= amount then
- account.removeMoney(amount)
-
- TriggerEvent('esx_addonaccount:getSharedAccount', 'society_banker', function (account)
- account.addMoney(amount)
- end)
- else
- TriggerClientEvent('esx:showNotification', xPlayer.source, TranslateCap('invalid_amount'))
- end
- end)
-end)
-
-ESX.RegisterServerCallback('esx_bankerjob:getCustomers', function (source, cb)
- local xPlayers = ESX.GetExtendedPlayers()
- local customers = {}
-
- for i=1, #(xPlayers) do
- local xPlayer = xPlayers[i]
-
- TriggerEvent('esx_addonaccount:getAccount', 'bank_savings', xPlayer.identifier, function(account)
- table.insert(customers, {
- source = xPlayer.source,
- name = xPlayer.name,
- bankSavings = account.money
- })
- end)
- end
-
- cb(customers)
-end)
-
-function CalculateBankSavings(d, h, m)
- local asyncTasks = {}
-
- MySQL.query('SELECT * FROM addon_account_data WHERE account_name = @account_name', {
- ['@account_name'] = 'bank_savings'
- }, function(result)
- local bankInterests = 0
-
- for i=1, #result, 1 do
- local xPlayer = ESX.GetPlayerFromIdentifier(result[i].owner)
-
- if xPlayer then
- TriggerEvent('esx_addonaccount:getAccount', 'bank_savings', xPlayer.identifier, function(account)
- local interests = math.floor(account.money / 100 * Config.BankSavingPercentage)
- bankInterests = bankInterests + interests
-
- table.insert(asyncTasks, function(cb)
- account.addMoney(interests)
- end)
- end)
- else
- local interests = math.floor(result[i].money / 100 * Config.BankSavingPercentage)
- local newMoney = result[i].money + interests
- bankInterests = bankInterests + interests
-
- local function scope(newMoney, owner)
- table.insert(asyncTasks, function(cb)
- MySQL.update('UPDATE addon_account_data SET money = @money WHERE owner = @owner AND account_name = @account_name', {
- ['@money'] = newMoney,
- ['@owner'] = owner,
- ['@account_name'] = 'bank_savings',
- }, function(rowsChanged)
- cb()
- end)
- end)
- end
-
- scope(newMoney, result[i].owner)
- end
- end
-
- TriggerEvent('esx_addonaccount:getSharedAccount', 'society_banker', function(account)
- account.addMoney(bankInterests)
- end)
-
- Async.parallelLimit(asyncTasks, 5, function(results)
- print('[^2INFO^7] Calculated interest Rate')
- end)
- end)
-end
-
-TriggerEvent('cron:runAt', 22, 0, CalculateBankSavings)
diff --git a/[esx_addons]/esx_banking/LICENSE b/[esx_addons]/esx_banking/LICENSE
deleted file mode 100644
index 5b3771ae..00000000
--- a/[esx_addons]/esx_banking/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_banking/README.md b/[esx_addons]/esx_banking/README.md
deleted file mode 100644
index bbe28230..00000000
--- a/[esx_addons]/esx_banking/README.md
+++ /dev/null
@@ -1,53 +0,0 @@
-
`);
- $('#example').DataTable({
- "responsive": true,
- "data": transactionData.getStoredData(),
- "columns": [
- { "data" : "id", },
- { "data": "type" , "title":lang.tableLang.typeLabel},
- { "data": "balance" ,"title":lang.tableLang.balanceLabel},
- { "data": "amount" , "title":lang.tableLang.amountLabel},
- { "data": "time" , "title":lang.tableLang.timeLabel}
- ],
- columnDefs: [
- {
- target: 0,
- visible: false,
- searchable: false,
- },
- {
- target: 4,
- orderable: false,
- },
- ],
- createdRow: function (row, data, index) {
- let parseType = data.type.replace(/[\$,]/g, '')
- $('td', row).eq(1).text(`$${data.balance}`)
- if (parseType == lang.deposit || parseType == lang.transferReceive) {
- $('td', row).eq(2).addClass('greenTableText');
- $('td', row).eq(2).html(`+${lang.moneyFormat.replace("__replaceData__",data.amount)}`)
- }
- else if(parseType == lang.withdraw || parseType == lang.transfer){
- $('td', row).eq(2).addClass('redTableText');
- $('td', row).eq(2).html(`-${lang.moneyFormat.replace("__replaceData__",data.amount)}`)
- }
- },
- "order": [[0, 'desc']],
- "scrollY": "450px",
- "scrollX": true,
- "scrollCollapse": true,
- "fixedColumns": {
- "heightMatch": 'none'
- },
- "language": {
- "url": `https://cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/${lang.tableLang.tableFullLanguage}.json`,
- "search": '', "searchPlaceholder": lang.tableLang.searchInputPlaceholder
- },
-
- });
-
- $("#modal-container").fadeIn();
- })
-
-
- let inputs = {
- first: false,
- second: false
- }
-
- $(document).on('keyup','input[type="number"] , input[type="password"]',function(){
- let buttonGroup = $(this).closest('.input-groups-container').find('button');
-
- if(buttonGroup.length > 0){
- let name = $(this).attr("name");
- if(name == "moneyAmount"){
- inputs.first = $(this).val() != ''
- }
- else{
- inputs.second = $(this).val() != ''
- }
-
- if(inputs.first && inputs.second){
- buttonGroup.removeClass('disable-button')
- buttonGroup.prop('disabled',false)
- }
- else{
- buttonGroup.addClass('disable-button')
- buttonGroup.prop('disabled',true)
- }
-
- return
- }
-
- let button = $(this).next('button');
-
- if($(this).val() != '') {
- if($(this).attr("name") == "pincode" && $(this).val().length < 4){
- return
- }
-
- button.removeClass('disable-button')
- button.prop('disabled',false)
- }
- else{
- button.addClass('disable-button')
- button.prop('disabled',true)
- }
-
- });
-
- $(document).on('click','.accept-button',function(){
- let buttonGroup = $(this).closest('.input-groups-container').find('button');
- let inputValues = {}
- if(buttonGroup.length > 0){
- inputValues["transfer"] = {}
- $(".input-groups-container input").each(function() {
- inputValues["transfer"][$(this).attr('name')] = $(this).val();
- $(this).val(null);
- inputs.first = false
- inputs.second = false
- });
- }
- else{
- let inputValue = $(this).prev('input').val();
- if(inputValue == undefined){return}
- if((inputValue.length == 0 && inputValue <= 0 )){
- return
- }
-
- inputValues[$(this).prev('input').attr('name')] = inputValue;
-
- $(this).prev('input').val(null);
- }
-
-
- inputData.setStoredData(inputValues)
- $.post('https://esx_banking/clickButton', JSON.stringify(inputValues));
-
- $(this).addClass('disable-button')
- $(this).prop('disabled',true)
- })
-
-
- $(document).on('click','#close-button',function(){
- $("#modal-container").fadeOut();
- $("#menu").fadeIn();
- })
-
- $(document).on('click','.exit-button',function(){
- Components.loader(".loader","hide")
- $.post('https://esx_banking/close', JSON.stringify({}));
- })
-
- $(document).keyup(function(e) {
- if(e.which == 27) {
- if (!LOADED) {
- Components.loader(".loader","hide")
- $.post('https://esx_banking/close', JSON.stringify({}));
- }
- }
- });
-})
diff --git a/[esx_addons]/esx_banking/html/ui.html b/[esx_addons]/esx_banking/html/ui.html
deleted file mode 100644
index 922ff813..00000000
--- a/[esx_addons]/esx_banking/html/ui.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/[esx_addons]/esx_banking/locales/de.lua b/[esx_addons]/esx_banking/locales/de.lua
deleted file mode 100644
index e900bffb..00000000
--- a/[esx_addons]/esx_banking/locales/de.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['de'] = {
- ['invalid_amount'] = 'Das ist ein ungültiger Geldbetrag.',
- ['deposit_money'] = 'Du hast $%s eingezahlt',
- ['withdraw_money'] = 'Du hast $%s abgehoben',
- ['pincode_money'] = 'Dein neuer Pincode lautet: %s',
- ['transfer_money'] = 'Du hast erfolgreich $%s Geld zu ID: %s transferiert.',
- ['receive_transfer'] = 'Du hast $%s Geld von ID: %s erhalten.',
- ['press_e_banking'] = 'Drücke [E] um die Bank aufzurufen',
- ['access_bank'] = 'Zugang zur Bank',
- ['banking_blip'] = 'Bank',
- ['cant_do_it'] = "Du kannst es nicht tun!",
- ['not_enough_money'] = "Nicht genug Geld, du brauchst $%s",
- ['pincode_not_found'] = "Ungültiger Pincode",
- ['pincode_found'] = "Gültiger PIN-Code...",
- ['bank_name'] = "Fleeca Bank"
- }
\ No newline at end of file
diff --git a/[esx_addons]/esx_banking/locales/en.lua b/[esx_addons]/esx_banking/locales/en.lua
deleted file mode 100644
index 9f5453c8..00000000
--- a/[esx_addons]/esx_banking/locales/en.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['en'] = {
- ['invalid_amount'] = 'That\'s an invalid amount of money',
- ['deposit_money'] = 'you have deposited $%s',
- ['withdraw_money'] = 'you have withdrawn $%s',
- ['pincode_money'] = 'you have new pincode %s',
- ['transfer_money'] = 'you success transfer money $%s ID: %s',
- ['receive_transfer'] = 'you receive transfer money $%s ID: %s',
- ['press_e_banking'] = 'press [E] to access the bank',
- ['access_bank'] = 'Access the bank',
- ['banking_blip'] = 'Bank',
- ['cant_do_it'] = "Can't do it!",
- ['not_enough_money'] = "Not enough money! You need %s money!",
- ['pincode_not_found'] = "Invalid PIN code",
- ['pincode_found'] = "Valid PIN code...",
- ['bank_name'] = "Fleeca Bank"
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_banking/locales/es.lua b/[esx_addons]/esx_banking/locales/es.lua
deleted file mode 100644
index 8afa3678..00000000
--- a/[esx_addons]/esx_banking/locales/es.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['es'] = {
- ['invalid_amount'] = 'Esa es una cantidad de dinero no válida',
- ['deposit_money'] = 'Has depositado $%s',
- ['withdraw_money'] = 'Has retirado $%s',
- ['pincode_money'] = 'Tienes un nuevo código PIN %s',
- ['transfer_money'] = 'Transferencia exitosa por $%s a ID: %s',
- ['receive_transfer'] = 'Recibiste una transferencia por $%s de ID: %s',
- ['press_e_banking'] = 'pulsa [E] para acceder al banco',
- ['access_bank'] = 'Acceder al banco',
- ['banking_blip'] = 'Banco',
- ['cant_do_it'] = "No puede hacerlo!",
- ['not_enough_money'] = "¡No hay suficiente dinero! Necesitas %s de dinero!",
- ['pincode_not_found'] = "Código PIN no valido",
- ['pincode_found'] = "Código PIN válido...",
- ['bank_name'] = "Banco Fleeca"
- }
diff --git a/[esx_addons]/esx_banking/locales/et.lua b/[esx_addons]/esx_banking/locales/et.lua
deleted file mode 100644
index 84f85234..00000000
--- a/[esx_addons]/esx_banking/locales/et.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['et'] = {
- ['invalid_amount'] = 'Tundmatu kogus raha',
- ['deposit_money'] = 'Sa sisestasid $%s',
- ['withdraw_money'] = 'Sa võtsid välja $%s',
- ['pincode_money'] = 'Uus PIN kood: %s',
- ['transfer_money'] = 'Sa tegid ülekande summas: $%s ID: %s',
- ['receive_transfer'] = 'Sa said ülekande summas: $%s ID: %s',
- ['press_e_banking'] = 'Vajuta [E], et avada pank',
- ['access_bank'] = 'Ava pank',
- ['banking_blip'] = 'Pank',
- ['cant_do_it'] = "Ei saa seda teha!",
- ['not_enough_money'] = "Pole piisavalt raha! Sul on vaja %s !",
- ['pincode_not_found'] = "Vale PIN",
- ['pincode_found'] = "Õige PIN...",
- ['bank_name'] = "Fleeca Pank"
-}
diff --git a/[esx_addons]/esx_banking/locales/hu.lua b/[esx_addons]/esx_banking/locales/hu.lua
deleted file mode 100644
index 0d74a8c4..00000000
--- a/[esx_addons]/esx_banking/locales/hu.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['hu'] = {
- ['invalid_amount'] = 'Érvénytelen pénz mennyiség',
- ['deposit_money'] = 'Befizettél %s$-t',
- ['withdraw_money'] = 'Kivettél %s$-t',
- ['pincode_money'] = 'Az új PIN kódod: %s',
- ['transfer_money'] = 'Sikeres utalás! Összeg: $%s ID: %s',
- ['receive_transfer'] = 'Utalás érkezett! Összeg: $%s ID: %s',
- ['press_e_banking'] = 'Nyomd meg a [E] gombot a bank eléréséhez',
- ['access_bank'] = 'Bank megnyitása',
- ['banking_blip'] = 'Bank',
- ['cant_do_it'] = "Ezt nem lehet!",
- ['not_enough_money'] = "Nincs elég pénzed, még szükséged lesz ennyire: %s",
- ['pincode_not_found'] = "Érvénytelen PIN kód",
- ['pincode_found'] = "Érvényes PIN kód...",
- ['bank_name'] = "Fleeca Bank"
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_banking/locales/it.lua b/[esx_addons]/esx_banking/locales/it.lua
deleted file mode 100644
index ed5de004..00000000
--- a/[esx_addons]/esx_banking/locales/it.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['it'] = {
- ['invalid_amount'] = 'questa è una somma di denaro non valida',
- ['deposit_money'] = 'hai depositato $%s',
- ['withdraw_money'] = 'hai prelevato $%s',
- ['pincode_money'] = 'hai un nuovo codice pin %s',
- ['transfer_money'] = 'hai trasferito con successo il denaro a $%s ID: %s',
- ['receive_transfer'] = 'hai ricevuto un trasferimento di denaro da $%s ID: %s',
- ['press_e_banking'] = 'premi [E] per accedere alla banca',
- ['access_bank'] = 'accedi alla banca',
- ['banking_blip'] = 'Banca',
- ['cant_do_it'] = "non puoi farlo!",
- ['not_enough_money'] = "non hai abbastanza soldi! hai bisogno di %s soldi!",
- ['pincode_not_found'] = "codice PIN errato",
- ['pincode_found'] = "codice PIN valido...",
- ['bank_name'] = "Fleeca Bank",
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_banking/locales/nl.lua b/[esx_addons]/esx_banking/locales/nl.lua
deleted file mode 100644
index cb713a8a..00000000
--- a/[esx_addons]/esx_banking/locales/nl.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['nl'] = {
- ['invalid_amount'] = 'Ongeldigd bedrag',
- ['deposit_money'] = 'Je hebt €%s gestort',
- ['withdraw_money'] = 'Je hebt €%s opgenomen',
- ['pincode_money'] = 'Je nieuwe pincode is %s',
- ['transfer_money'] = 'Met succes €%s overgemaakt naar ID: %s',
- ['receive_transfer'] = 'Je hebt €%s ontvangen van ID: %s',
- ['press_e_banking'] = 'Klik op [E] om de bank te gebruiken',
- ['access_bank'] = 'Geldautomaat',
- ['banking_blip'] = 'Bank',
- ['cant_do_it'] = "Kan dit niet doen!",
- ['not_enough_money'] = "Niet genoeg geld! Je hebt nog %s nodig!",
- ['pincode_not_found'] = "Onjuiste PIN",
- ['pincode_found'] = "Een moment geduld...",
- ['bank_name'] = "Fleeca Bank"
-}
diff --git a/[esx_addons]/esx_banking/server/main.lua b/[esx_addons]/esx_banking/server/main.lua
deleted file mode 100644
index e61f7ee4..00000000
--- a/[esx_addons]/esx_banking/server/main.lua
+++ /dev/null
@@ -1,212 +0,0 @@
-local spawnedPeds, netIdTable = {}, {}
-
--- get keys utils
-local function get_key(t)
- local key
- for k, _ in pairs(t) do
- key = k
- end
- return key
-end
-
--- Resource starting
-AddEventHandler('onResourceStart', function(resourceName)
- if (GetCurrentResourceName() ~= resourceName) then return end
- if Config.EnablePeds then BANK.CreatePeds() end
- local twoMonthMs = (os.time() - 5259487) * 1000
- MySQL.Sync.fetchScalar('DELETE FROM banking WHERE time < ? ', {twoMonthMs})
-end)
-
-AddEventHandler('onResourceStop', function(resourceName)
- if (GetCurrentResourceName() ~= resourceName) then return end
- if Config.EnablePeds then BANK.DeletePeds() end
-end)
-
-if Config.EnablePeds then
- AddEventHandler('esx:playerLoaded', function(playerId)
- TriggerClientEvent('esx_banking:PedHandler', playerId, netIdTable)
- end)
-end
-
--- event
-RegisterServerEvent('esx_banking:doingType')
-AddEventHandler('esx_banking:doingType', function(typeData)
- if source == nil then return end
- if (typeData == nil) then return end
-
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
- local identifier = xPlayer.getIdentifier()
- local money = xPlayer.getAccount('money').money
- local bankMoney = xPlayer.getAccount('bank').money
- local amount
-
- local key = get_key(typeData)
- if typeData.deposit then
- amount = tonumber(typeData.deposit)
- elseif typeData.withdraw then
- amount = tonumber(typeData.withdraw)
- elseif typeData.transfer and typeData.transfer.moneyAmount then
- amount = tonumber(typeData.transfer.moneyAmount)
- elseif typeData.pincode then
- amount = tonumber(typeData.pincode)
- end
-
- if not tonumber(amount) then return end
- amount = ESX.Math.Round(amount)
-
- if amount == nil or (not typeData.pincode and amount <= 0) then
- TriggerClientEvent("esx:showNotification", source, TranslateCap('invalid_amount'), "error")
- else
- if typeData.deposit and amount <= money then
- -- deposit
- BANK.Deposit(amount, xPlayer)
- elseif typeData.withdraw and bankMoney ~= nil and amount <= bankMoney then
- -- withdraw
- BANK.Withdraw(amount, xPlayer)
- elseif typeData.pincode then
- -- pincode
- BANK.Pincode(amount, identifier)
- elseif typeData.transfer then
- -- transfer
- if tonumber(typeData.transfer.playerId) > 0 and bankMoney >= amount then
- local xTarget = ESX.GetPlayerFromId(tonumber(typeData.transfer.playerId))
- if not BANK.Transfer(xTarget, xPlayer, amount, key) then
- return
- end
- end
- else
- TriggerClientEvent("esx:showNotification", source, TranslateCap('not_enough_money', amount), "error")
- return
- end
-
- money = xPlayer.getAccount('money').money
- bankMoney = xPlayer.getAccount('bank').money
- if typeData.transfer then
- TriggerClientEvent("esx:showNotification", source,
- TranslateCap(string.format('%s_money', key), amount, typeData.transfer.playerId), "success")
- else
- TriggerClientEvent("esx:showNotification", source, TranslateCap(string.format('%s_money', key), typeData.pincode and (string.format("%04d", amount)) or amount), "success")
- end
- if not typeData.pincode then
- BANK.LogTransaction(source, string.upper(key), amount, bankMoney)
- end
-
- TriggerClientEvent("esx_banking:updateMoneyInUI", source, key, bankMoney, money)
- end
-end)
-
--- register callbacks
-ESX.RegisterServerCallback("esx_banking:getPlayerData", function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
- local identifier = xPlayer.getIdentifier()
- local weekAgo = (os.time() - 604800) * 1000
- local transactionHistory = MySQL.Sync.fetchAll(
- 'SELECT * FROM banking WHERE identifier = ? AND time > ? ORDER BY time DESC LIMIT 10', {identifier, weekAgo})
- local playerData = {
- playerName = xPlayer.getName(),
- money = xPlayer.getAccount('money').money,
- bankMoney = xPlayer.getAccount('bank').money,
- transactionHistory = transactionHistory
- }
-
- cb(playerData)
-end)
-
-ESX.RegisterServerCallback("esx_banking:checkPincode", function(source, cb, inputPincode)
- local xPlayer = ESX.GetPlayerFromId(source)
- local identifier = xPlayer.getIdentifier()
- local pincode = MySQL.Sync.fetchScalar('SELECT COUNT(1) AS pincode FROM users WHERE identifier = ? AND pincode = ?',
- {identifier, inputPincode})
- cb(pincode > 0)
-end)
-
-function logTransaction(targetSource,key,amount)
- if targetSource == nil then
- print("ERROR: TargetSource nil!")
- return
- end
-
- if key == nil then
- print("ERROR: Do you need use these: WITHDRAW,DEPOSIT,TRANSFER_RECEIVE")
- return
- end
-
- if type(key) ~= "string" or key == '' then
- print("ERROR: Do you need use these: WITHDRAW,DEPOSIT,TRANSFER_RECEIVE and can only be string type!")
- return
- end
-
- if amount == nil then
- print("ERROR: Amount value is nil! Add some numeric value to the amount!")
- return
- end
-
- local xPlayer = ESX.GetPlayerFromId(tonumber(targetSource))
-
- if xPlayer ~= nil then
- local bankCurrentMoney = xPlayer.getAccount('bank').money
- BANK.LogTransaction(targetSource, string.upper(key), amount, bankCurrentMoney)
- else
- print("ERROR: xPlayer is nil!")
- end
-end
-exports("logTransaction", logTransaction)
-
--- bank functions
-BANK = {
- CreatePeds = function()
- for i = 1, #Config.Peds do
- local model = Config.Peds[i].Model
- local coords = Config.Peds[i].Position
- spawnedPeds[i] = CreatePed(0, model, coords.x, coords.y, coords.z, coords.w, true, true)
- netIdTable[i] = NetworkGetNetworkIdFromEntity(spawnedPeds[i])
- while not DoesEntityExist(spawnedPeds[i]) do Wait(50) end
- end
-
- Wait(100)
- TriggerClientEvent('esx_banking:PedHandler', -1, netIdTable)
- end,
- DeletePeds = function()
- for i = 1, #spawnedPeds do
- DeleteEntity(spawnedPeds[i])
- spawnedPeds[i] = nil
- end
- end,
- Withdraw = function(amount, xPlayer)
- xPlayer.addAccountMoney('money', amount)
- xPlayer.removeAccountMoney('bank', amount)
- end,
- Deposit = function(amount, xPlayer)
- xPlayer.removeAccountMoney('money', amount)
- xPlayer.addAccountMoney('bank', amount)
- end,
- Transfer = function(xTarget, xPlayer, amount, key)
- if xTarget == nil or xPlayer.source == xTarget.source then
- TriggerClientEvent("esx:showNotification", source, TranslateCap("cant_do_it"), "error")
- return false
- end
-
- xPlayer.removeAccountMoney('bank', amount)
- xTarget.addAccountMoney('bank', amount)
- local bankMoney = xTarget.getAccount('bank').money
- BANK.LogTransaction(xTarget.source, "TRANSFER_RECEIVE", amount, bankMoney)
- TriggerClientEvent("esx:showNotification", xTarget.source, TranslateCap('receive_transfer', amount, xPlayer.source),
- "success")
-
- return true
- end,
- Pincode = function(amount, identifier)
- MySQL.update('UPDATE users SET pincode = ? WHERE identifier = ? ', {amount, identifier})
- end,
- LogTransaction = function(playerId, logType, amount, bankMoney)
- if playerId == nil then
- return
- end
- local xPlayer = ESX.GetPlayerFromId(playerId)
- local identifier = xPlayer.getIdentifier()
-
- MySQL.insert('INSERT INTO banking (identifier, type, amount, time, balance) VALUES (?, ?, ?, ?, ?)',
- {identifier, logType, amount, os.time() * 1000, bankMoney})
- end
-}
diff --git a/[esx_addons]/esx_barbershop/.editorconfig b/[esx_addons]/esx_barbershop/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_barbershop/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_barbershop/LICENSE b/[esx_addons]/esx_barbershop/LICENSE
deleted file mode 100644
index 5575ab2c..00000000
--- a/[esx_addons]/esx_barbershop/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_barbershop/README.md b/[esx_addons]/esx_barbershop/README.md
deleted file mode 100644
index dbd5cd6e..00000000
--- a/[esx_addons]/esx_barbershop/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# esx_barbershop
-
-## Requirements
-- [esx_skin](https://github.com/ESX-Org/esx_skin)
-
-## Download & Installation
-
-### Using [fvm](https://github.com/qlaffont/fvm-installer)
-```
-fvm install --save --folder=esx esx-org/esx_barbershop
-```
-
-### Using Git
-```
-cd resources
-git clone https://github.com/ESX-Org/esx_barbershop [esx]/esx_barbershop
-```
-
-### Manually
-- Download https://github.com/ESX-Org/esx_barbershop/archive/master.zip
-- Put it in the `[esx]` directory
-
-## Installation
-- Add this in your `server.cfg`:
-
-```
-start esx_barbershop
-```
-
-# Legal
-### License
-esx_barbershop - barber shop!
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
\ No newline at end of file
diff --git a/[esx_addons]/esx_barbershop/client/main.lua b/[esx_addons]/esx_barbershop/client/main.lua
deleted file mode 100644
index d261549a..00000000
--- a/[esx_addons]/esx_barbershop/client/main.lua
+++ /dev/null
@@ -1,163 +0,0 @@
-local hasAlreadyEnteredMarker, lastZone, currentAction, currentActionMsg, hasPaid
-
-function OpenShopMenu()
- hasPaid = false
-
- TriggerEvent('esx_skin:openRestrictedMenu', function(data, menu)
- menu.close()
-
- local elements = {
- {unselectable = true, icon = "fas fa-check-double", title = TranslateCap("valid_purchase")},
- {icon = "fas fa-check-circle", title = TranslateCap("yes"), value = "yes"},
- {icon = "fas fa-window-close", title = TranslateCap("no"), value = "no"},
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.value == "yes" then
- ESX.TriggerServerCallback('esx_barbershop:checkMoney', function(hasEnoughMoney)
- if hasEnoughMoney then
- ESX.CloseContext()
- TriggerEvent('skinchanger:getSkin', function(skin)
- TriggerServerEvent('esx_skin:save', skin)
- end)
-
- TriggerServerEvent('esx_barbershop:pay')
- hasPaid = true
- else
- ESX.CloseContext()
- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin)
- TriggerEvent('skinchanger:loadSkin', skin)
- end)
-
- ESX.ShowNotification(TranslateCap('not_enough_money'))
- end
- end)
- elseif element.value == "no" then
- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin)
- TriggerEvent('skinchanger:loadSkin', skin)
- end)
- ESX.CloseContext()
- end
- currentAction = 'shop_menu'
- currentActionMsg = TranslateCap('press_access')
- end, function(menu)
- currentAction = 'shop_menu'
- currentActionMsg = TranslateCap('press_access')
- end)
- end, function(data, menu)
- menu.close()
-
- currentAction = 'shop_menu'
- currentActionMsg = TranslateCap('press_access')
- end, {
- 'beard_1',
- 'beard_2',
- 'beard_3',
- 'beard_4',
- 'hair_1',
- 'hair_2',
- 'hair_color_1',
- 'hair_color_2',
- 'eyebrows_1',
- 'eyebrows_2',
- 'eyebrows_3',
- 'eyebrows_4',
- 'makeup_1',
- 'makeup_2',
- 'makeup_3',
- 'makeup_4',
- 'lipstick_1',
- 'lipstick_2',
- 'lipstick_3',
- 'lipstick_4',
- 'ears_1',
- 'ears_2',
- })
-end
-
-AddEventHandler('esx_barbershop:hasEnteredMarker', function(zone)
- currentAction = 'shop_menu'
- currentActionMsg = TranslateCap('press_access')
-end)
-
-AddEventHandler('esx_barbershop:hasExitedMarker', function(zone)
- ESX.CloseContext()
- currentAction = nil
-
- if not hasPaid then
- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin)
- TriggerEvent('skinchanger:loadSkin', skin)
- end)
- end
-end)
-
--- Create Blips
-CreateThread(function()
- for k,v in ipairs(Config.Shops) do
- local blip = AddBlipForCoord(v)
-
- SetBlipSprite (blip, 71)
- SetBlipColour (blip, 51)
- SetBlipAsShortRange(blip, true)
-
- BeginTextCommandSetBlipName('STRING')
- AddTextComponentSubstringPlayerName(TranslateCap('barber_blip'))
- EndTextCommandSetBlipName(blip)
- end
-end)
-
--- Enter / Exit marker events and draw marker
-CreateThread(function()
- while true do
- Wait(0)
- local playerCoords, isInMarker, currentZone, letSleep = GetEntityCoords(PlayerPedId()), nil, nil, true
-
- for k,v in ipairs(Config.Shops) do
- local distance = #(playerCoords - v)
-
- if distance < Config.DrawDistance then
- letSleep = false
- DrawMarker(Config.MarkerType, v, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Config.MarkerSize, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, nil, nil, false)
-
- if distance < 1.5 then
- isInMarker, currentZone = true, k
- end
- end
- end
-
- if (isInMarker and not hasAlreadyEnteredMarker) or (isInMarker and lastZone ~= currentZone) then
- hasAlreadyEnteredMarker, lastZone = true, currentZone
- TriggerEvent('esx_barbershop:hasEnteredMarker', currentZone)
- end
-
- if not isInMarker and hasAlreadyEnteredMarker then
- hasAlreadyEnteredMarker = false
- TriggerEvent('esx_barbershop:hasExitedMarker', lastZone)
- end
-
- if letSleep then
- Wait(500)
- end
- end
-end)
-
--- Key controls
-CreateThread(function()
- while true do
- Wait(0)
-
- if currentAction then
- ESX.ShowHelpNotification(currentActionMsg)
-
- if IsControlJustReleased(0, 38) then
- if currentAction == 'shop_menu' then
- OpenShopMenu()
- end
-
- currentAction = nil
- end
- else
- Wait(500)
- end
- end
-end)
diff --git a/[esx_addons]/esx_barbershop/config.lua b/[esx_addons]/esx_barbershop/config.lua
deleted file mode 100644
index 6a25a3ab..00000000
--- a/[esx_addons]/esx_barbershop/config.lua
+++ /dev/null
@@ -1,20 +0,0 @@
-Config = {}
-
-Config.Price = 100
-
-Config.DrawDistance = 10.0
-Config.MarkerSize = vector3(1.5, 1.5, 1.0)
-Config.MarkerColor = {r = 102, g = 102, b = 204}
-Config.MarkerType = 1
-
-Config.Locale = GetConvar('esx:locale', 'en')
-
-Config.Shops = {
- vector3(-814.3, -183.8, 36.6),
- vector3(136.8, -1708.4, 28.3),
- vector3(-1282.6, -1116.8, 6.0),
- vector3(1931.5, 3729.7, 31.8),
- vector3(1212.8, -472.9, 65.2),
- vector3(-32.9, -152.3, 56.1),
- vector3(-278.1, 6228.5, 30.7)
-}
diff --git a/[esx_addons]/esx_barbershop/fxmanifest.lua b/[esx_addons]/esx_barbershop/fxmanifest.lua
deleted file mode 100644
index 4d666ce9..00000000
--- a/[esx_addons]/esx_barbershop/fxmanifest.lua
+++ /dev/null
@@ -1,28 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Barber Shop'
-lua54 'yes'
-version '1.9.0'
-
-shared_script '@es_extended/imports.lua'
-
-server_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'server/main.lua'
-}
-
-client_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'client/main.lua'
-}
-
-dependencies {
- 'es_extended',
- 'esx_skin'
-}
diff --git a/[esx_addons]/esx_barbershop/locales/br.lua b/[esx_addons]/esx_barbershop/locales/br.lua
deleted file mode 100644
index 18a5bafa..00000000
--- a/[esx_addons]/esx_barbershop/locales/br.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['br'] = {
- ['valid_purchase'] = 'validar esta compra?',
- ['yes'] = 'sim',
- ['no'] = 'não',
- ['not_enough_money'] = 'você não tem dinheiro suficiente',
- ['press_access'] = 'pressione [E] para acessar o menu',
- ['barber_blip'] = 'Barbearia',
- ['you_paid'] = 'você pagou $%s',
-}
diff --git a/[esx_addons]/esx_barbershop/locales/cs.lua b/[esx_addons]/esx_barbershop/locales/cs.lua
deleted file mode 100644
index 3c9fe512..00000000
--- a/[esx_addons]/esx_barbershop/locales/cs.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['cs'] = {
- ['valid_purchase'] = 'potvrdit nakup?',
- ['yes'] = 'ano',
- ['no'] = 'ne',
- ['not_enough_money'] = 'nemas dostatek penez',
- ['press_access'] = 'stiskni [E] pro pristup k Holici.',
- ['barber_blip'] = 'Holic',
- ['you_paid'] = 'zaplatil jsi $%s',
-}
diff --git a/[esx_addons]/esx_barbershop/locales/de.lua b/[esx_addons]/esx_barbershop/locales/de.lua
deleted file mode 100644
index f06ecc10..00000000
--- a/[esx_addons]/esx_barbershop/locales/de.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['de'] = {
- ['valid_purchase'] = 'Einkauf bestätigen?',
- ['yes'] = 'ja',
- ['no'] = 'nein',
- ['not_enough_money'] = 'Du hast nicht genug Geld',
- ['press_access'] = 'Drücke [E] um das Menü zu öffnen',
- ['barber_blip'] = 'Friseur',
- ['you_paid'] = 'Du bezahlst $%s',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_barbershop/locales/en.lua b/[esx_addons]/esx_barbershop/locales/en.lua
deleted file mode 100644
index 53517dfe..00000000
--- a/[esx_addons]/esx_barbershop/locales/en.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['en'] = {
- ['valid_purchase'] = 'validate this purchase?',
- ['yes'] = 'yes',
- ['no'] = 'no',
- ['not_enough_money'] = 'you do not have enough money',
- ['press_access'] = 'press [E] to access the Barber Shop.',
- ['barber_blip'] = 'barber Shop',
- ['you_paid'] = 'you paid $%s',
-}
diff --git a/[esx_addons]/esx_barbershop/locales/es.lua b/[esx_addons]/esx_barbershop/locales/es.lua
deleted file mode 100644
index 1af39eba..00000000
--- a/[esx_addons]/esx_barbershop/locales/es.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['es'] = {
- ['valid_purchase'] = '¿validar esta compra?',
- ['yes'] = 'si',
- ['no'] = 'no',
- ['not_enough_money'] = 'no tienes suficente dinero',
- ['press_access'] = 'presiona [E] para acceder al menú',
- ['barber_blip'] = 'barbero',
- ['you_paid'] = 'has pagado $%s',
-}
diff --git a/[esx_addons]/esx_barbershop/locales/et.lua b/[esx_addons]/esx_barbershop/locales/et.lua
deleted file mode 100644
index 2243471e..00000000
--- a/[esx_addons]/esx_barbershop/locales/et.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['et'] = {
- ['valid_purchase'] = 'Kinnita ost?',
- ['yes'] = 'Jah',
- ['no'] = 'Ei',
- ['not_enough_money'] = 'Sul pole piisavalt raha.',
- ['press_access'] = 'Vajuta [E], et avada juuksuri menüü.',
- ['barber_blip'] = 'Juuksur',
- ['you_paid'] = 'Maksid $%s',
-}
diff --git a/[esx_addons]/esx_barbershop/locales/fi.lua b/[esx_addons]/esx_barbershop/locales/fi.lua
deleted file mode 100644
index ac8c7d30..00000000
--- a/[esx_addons]/esx_barbershop/locales/fi.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['fi'] = {
- ['valid_purchase'] = 'varmista tämä ostos?',
- ['yes'] = 'kyllä',
- ['no'] = 'ei',
- ['not_enough_money'] = 'sinulla ei ole tarpeeksi rahaa',
- ['press_access'] = 'paina [E] avataksesi menu',
- ['barber_blip'] = 'Kampaamo',
- ['you_paid'] = 'sinä maksoit $%s',
-}
diff --git a/[esx_addons]/esx_barbershop/locales/fr.lua b/[esx_addons]/esx_barbershop/locales/fr.lua
deleted file mode 100644
index edc71d1c..00000000
--- a/[esx_addons]/esx_barbershop/locales/fr.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['fr'] = {
- ['valid_purchase'] = 'valider cet achat ?',
- ['yes'] = 'oui',
- ['no'] = 'non',
- ['not_enough_money'] = 'vous n\'avez pas assez d\'argent',
- ['press_access'] = 'appuez sur [E] pour accéder au menu',
- ['barber_blip'] = 'barbier',
- ['you_paid'] = 'vous avez payé $%s',
-}
diff --git a/[esx_addons]/esx_barbershop/locales/hu.lua b/[esx_addons]/esx_barbershop/locales/hu.lua
deleted file mode 100644
index 4e26fb0b..00000000
--- a/[esx_addons]/esx_barbershop/locales/hu.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['hu'] = {
- ['valid_purchase'] = 'Biztosan kifizeted?',
- ['yes'] = 'Igen',
- ['no'] = 'Nem',
- ['not_enough_money'] = 'Nincsen elég pénzed',
- ['press_access'] = 'Nyomj [E] hogy megnyisd a Fodrászatot.',
- ['barber_blip'] = 'Fodrászat',
- ['you_paid'] = 'Fizettél $%s',
-}
diff --git a/[esx_addons]/esx_barbershop/locales/it.lua b/[esx_addons]/esx_barbershop/locales/it.lua
deleted file mode 100644
index ac483953..00000000
--- a/[esx_addons]/esx_barbershop/locales/it.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['it'] = {
- ['valid_purchase'] = 'confermare l\'acquisto?',
- ['yes'] = 'si',
- ['no'] = 'no',
- ['not_enough_money'] = 'non hai abbastanza soldi',
- ['press_access'] = 'premi [E] per accedere al negozio.',
- ['barber_blip'] = 'barbiere',
- ['you_paid'] = 'hai pagato $%s',
-}
diff --git a/[esx_addons]/esx_barbershop/locales/pl.lua b/[esx_addons]/esx_barbershop/locales/pl.lua
deleted file mode 100644
index 3fd5df4f..00000000
--- a/[esx_addons]/esx_barbershop/locales/pl.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['pl'] = {
- ['valid_purchase'] = 'potwierdzić ten zakup?',
- ['yes'] = 'tak',
- ['no'] = 'nie',
- ['not_enough_money'] = 'nie posiadasz wystarczająco pieniędzy',
- ['press_access'] = 'naciśnij [E] aby otworzyć Fryziera.',
- ['barber_blip'] = 'fryzjer',
- ['you_paid'] = 'zapłaciłeś/aś $%s',
-}
diff --git a/[esx_addons]/esx_barbershop/locales/si.lua b/[esx_addons]/esx_barbershop/locales/si.lua
deleted file mode 100644
index bdc99c8f..00000000
--- a/[esx_addons]/esx_barbershop/locales/si.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['si'] = {
- ['valid_purchase'] = 'potrdi ta nakup?',
- ['yes'] = 'da',
- ['no'] = 'no',
- ['not_enough_money'] = 'nimate dovolj denarja',
- ['press_access'] = 'pritisnite [E] za dostop do Barber Shop.',
- ['barber_blip'] = 'Frizerski Salon',
- ['you_paid'] = 'plačali ste $%s',
-}
diff --git a/[esx_addons]/esx_barbershop/locales/tr.lua b/[esx_addons]/esx_barbershop/locales/tr.lua
deleted file mode 100644
index 3f8bec22..00000000
--- a/[esx_addons]/esx_barbershop/locales/tr.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-Locales['tr'] = {
- ['valid_purchase'] = 'bu işlemi doğruluyor musun?',
- ['yes'] = 'evet',
- ['no'] = 'hayır',
- ['not_enough_money'] = 'yeterli miktarda paranız yok',
- ['press_access'] = 'Berbere erişmek için [E] basın',
- ['barber_blip'] = 'berber',
- ['you_paid'] = '$%s ödedin',
- }
diff --git a/[esx_addons]/esx_barbershop/server/main.lua b/[esx_addons]/esx_barbershop/server/main.lua
deleted file mode 100644
index 2f4a8f6e..00000000
--- a/[esx_addons]/esx_barbershop/server/main.lua
+++ /dev/null
@@ -1,14 +0,0 @@
-RegisterServerEvent('esx_barbershop:pay')
-AddEventHandler('esx_barbershop:pay', function()
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
-
- xPlayer.removeMoney(Config.Price, "Haircut")
- TriggerClientEvent('esx:showNotification', source, TranslateCap('you_paid', ESX.Math.GroupDigits(Config.Price)))
-end)
-
-ESX.RegisterServerCallback('esx_barbershop:checkMoney', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- cb(xPlayer.getMoney() >= Config.Price)
-end)
diff --git a/[esx_addons]/esx_basicneeds/.editorconfig b/[esx_addons]/esx_basicneeds/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_basicneeds/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_basicneeds/LICENSE b/[esx_addons]/esx_basicneeds/LICENSE
deleted file mode 100644
index e315a449..00000000
--- a/[esx_addons]/esx_basicneeds/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_basicneeds/README.md b/[esx_addons]/esx_basicneeds/README.md
deleted file mode 100644
index 0a3bfe24..00000000
--- a/[esx_addons]/esx_basicneeds/README.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# esx_basicneeds
-This script implements hunger and thirst status, they can be increased when eating bread or drinking water.
-
-## Requirements
-- [esx_status](https://github.com/ESX-Org/esx_status)
-
-## Download & Installation
-
-### Using [fvm](https://github.com/qlaffont/fvm-installer)
-```
-fvm install --save --folder=esx esx-org/esx_basicneeds
-```
-
-### Using Git
-```
-cd resources
-git clone https://github.com/ESX-Org/esx_basicneeds [esx]/esx_basicneeds
-```
-
-### Manually
-- Download https://github.com/ESX-Org/esx_basicneeds/archive/master.zip
-- Put it in the `[esx]` directory
-
-
-## Installation
-- Import `esx_basicneeds.sql` in your database
-- Add this in your server.cfg :
-
-```
-start esx_basicneeds
-```
-
-# Legal
-### License
-esx_basicneeds - thirst and hunger system
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
\ No newline at end of file
diff --git a/[esx_addons]/esx_basicneeds/client/main.lua b/[esx_addons]/esx_basicneeds/client/main.lua
deleted file mode 100644
index 83eea163..00000000
--- a/[esx_addons]/esx_basicneeds/client/main.lua
+++ /dev/null
@@ -1,131 +0,0 @@
-local IsDead = false
-local IsAnimated = false
-
-AddEventHandler('esx_basicneeds:resetStatus', function()
- TriggerEvent('esx_status:set', 'hunger', 500000)
- TriggerEvent('esx_status:set', 'thirst', 500000)
-end)
-
-RegisterNetEvent('esx_basicneeds:healPlayer')
-AddEventHandler('esx_basicneeds:healPlayer', function()
- -- restore hunger & thirst
- TriggerEvent('esx_status:set', 'hunger', 1000000)
- TriggerEvent('esx_status:set', 'thirst', 1000000)
-
- -- restore hp
- local playerPed = PlayerPedId()
- SetEntityHealth(playerPed, GetEntityMaxHealth(playerPed))
-end)
-
-AddEventHandler('esx:onPlayerDeath', function()
- IsDead = true
-end)
-
-AddEventHandler('esx:onPlayerSpawn', function(spawn)
- if IsDead then
- TriggerEvent('esx_basicneeds:resetStatus')
- end
-
- IsDead = false
-end)
-
-AddEventHandler('esx_status:loaded', function(status)
- TriggerEvent('esx_status:registerStatus', 'hunger', 1000000, '#CFAD0F', function(status)
- return Config.Visible
- end, function(status)
- status.remove(100)
- end)
-
- TriggerEvent('esx_status:registerStatus', 'thirst', 1000000, '#0C98F1', function(status)
- return Config.Visible
- end, function(status)
- status.remove(75)
- end)
-end)
-
-AddEventHandler('esx_status:onTick', function(data)
- local playerPed = PlayerPedId()
- local prevHealth = GetEntityHealth(playerPed)
- local health = prevHealth
-
- for k, v in pairs(data) do
- if v.name == 'hunger' and v.percent == 0 then
- if prevHealth <= 150 then
- health = health - 5
- else
- health = health - 1
- end
- elseif v.name == 'thirst' and v.percent == 0 then
- if prevHealth <= 150 then
- health = health - 5
- else
- health = health - 1
- end
- end
- end
-
- if health ~= prevHealth then SetEntityHealth(playerPed, health) end
-end)
-
-AddEventHandler('esx_basicneeds:isEating', function(cb)
- cb(IsAnimated)
-end)
-
-RegisterNetEvent('esx_basicneeds:onUse')
-AddEventHandler('esx_basicneeds:onUse', function(type, prop_name)
- if not IsAnimated then
- local anim = {dict = 'mp_player_inteat@burger', name = 'mp_player_int_eat_burger_fp', settings = {8.0, -8, -1, 49, 0, 0, 0, 0}}
- IsAnimated = true
- if type == 'food' then
- prop_name = prop_name or 'prop_cs_burger_01'
- anim = {dict = 'mp_player_inteat@burger', name = 'mp_player_int_eat_burger_fp', settings = {8.0, -8, -1, 49, 0, 0, 0, 0}}
- elseif type == 'drink' then
- prop_name = prop_name or 'prop_ld_flow_bottle'
- anim = {dict = 'mp_player_intdrink', name = 'loop_bottle', settings = {1.0, -1.0, 2000, 0, 1, true, true, true}}
- end
-
- CreateThread(function()
- local playerPed = PlayerPedId()
- local x,y,z = table.unpack(GetEntityCoords(playerPed))
- local prop = CreateObject(joaat(prop_name), x, y, z + 0.2, true, true, true)
- local boneIndex = GetPedBoneIndex(playerPed, 18905)
- AttachEntityToEntity(prop, playerPed, boneIndex, 0.12, 0.028, 0.001, 10.0, 175.0, 0.0, true, true, false, true, 1, true)
-
- ESX.Streaming.RequestAnimDict(anim.dict, function()
- TaskPlayAnim(playerPed, anim.dict, anim.name, anim.settings[1], anim.settings[2], anim.settings[3], anim.settings[4], anim.settings[5], anim.settings[6], anim.settings[7], anim.settings[8])
- RemoveAnimDict(anim.dict)
-
- Wait(3000)
- IsAnimated = false
- ClearPedSecondaryTask(playerPed)
- DeleteObject(prop)
- end)
- end)
- end
-end)
-
--- Backwards compatibility
-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
- prop_name = 'prop_cs_burger_01'
- end
- TriggerEvent('esx_basicneeds:onUse', 'food', prop_name)
-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)
diff --git a/[esx_addons]/esx_basicneeds/config.lua b/[esx_addons]/esx_basicneeds/config.lua
deleted file mode 100644
index a577e68b..00000000
--- a/[esx_addons]/esx_basicneeds/config.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-Config = {}
-Config.Locale = GetConvar('esx:locale', 'en')
-Config.Visible = true
-
-Config.Items = {
- ["bread"] = {
- type = "food",
- prop= "prop_cs_burger_01",
- status = 200000,
- remove = true
- },
-
- ["water"] = {
- type = "drink",
- prop = "prop_ld_flow_bottle",
- status = 100000,
- remove = true
- }
-}
diff --git a/[esx_addons]/esx_basicneeds/esx_basicneeds.sql b/[esx_addons]/esx_basicneeds/esx_basicneeds.sql
deleted file mode 100644
index eb71e7c8..00000000
--- a/[esx_addons]/esx_basicneeds/esx_basicneeds.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('bread', 'Bread', 1),
- ('water', 'Water', 1)
-;
diff --git a/[esx_addons]/esx_basicneeds/fxmanifest.lua b/[esx_addons]/esx_basicneeds/fxmanifest.lua
deleted file mode 100644
index 5eabe7de..00000000
--- a/[esx_addons]/esx_basicneeds/fxmanifest.lua
+++ /dev/null
@@ -1,28 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Basic Needs'
-lua54 'yes'
-version '1.9.0'
-
-shared_script '@es_extended/imports.lua'
-
-server_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'server/main.lua'
-}
-
-client_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'client/main.lua'
-}
-
-dependencies {
- 'es_extended',
- 'esx_status'
-}
diff --git a/[esx_addons]/esx_basicneeds/locales/br.lua b/[esx_addons]/esx_basicneeds/locales/br.lua
deleted file mode 100644
index 2f023c30..00000000
--- a/[esx_addons]/esx_basicneeds/locales/br.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['br'] = {
- ['used_eat'] = 'você comeu 1x %s',
- ['used_drink'] = 'você tomou 1x %s',
-}
diff --git a/[esx_addons]/esx_basicneeds/locales/de.lua b/[esx_addons]/esx_basicneeds/locales/de.lua
deleted file mode 100644
index 93584e37..00000000
--- a/[esx_addons]/esx_basicneeds/locales/de.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['de'] = {
- ['used_food'] = 'Du hast 1x %s gegessen.',
- ['used_drink'] = 'Du hast 1x %s getrunken.',
- ['got_healed'] = 'Du wurdest geheilt.'
-}
diff --git a/[esx_addons]/esx_basicneeds/locales/en.lua b/[esx_addons]/esx_basicneeds/locales/en.lua
deleted file mode 100644
index a994b1bf..00000000
--- a/[esx_addons]/esx_basicneeds/locales/en.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['en'] = {
- ['used_food'] = 'You have eaten 1x %s',
- ['used_drink'] = 'You have drinked 1x %s',
- ['got_healed'] = 'You have been healed.'
-}
diff --git a/[esx_addons]/esx_basicneeds/locales/es.lua b/[esx_addons]/esx_basicneeds/locales/es.lua
deleted file mode 100644
index 06d9abb5..00000000
--- a/[esx_addons]/esx_basicneeds/locales/es.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['es'] = {
- ['used_bread'] = 'Has usado 1x pan',
- ['used_water'] = 'Has usado 1x agua',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_basicneeds/locales/et.lua b/[esx_addons]/esx_basicneeds/locales/et.lua
deleted file mode 100644
index bfb3753f..00000000
--- a/[esx_addons]/esx_basicneeds/locales/et.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['et'] = {
- ['used_eat'] = 'Sõid 1x %s',
- ['used_drink'] = 'Jõid 1x %s',
-}
diff --git a/[esx_addons]/esx_basicneeds/locales/fi.lua b/[esx_addons]/esx_basicneeds/locales/fi.lua
deleted file mode 100644
index 92702f41..00000000
--- a/[esx_addons]/esx_basicneeds/locales/fi.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['fi'] = {
- ['used_bread'] = 'sinä söit 1x leipä',
- ['used_water'] = 'sinä joit 1x vesi',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_basicneeds/locales/fr.lua b/[esx_addons]/esx_basicneeds/locales/fr.lua
deleted file mode 100644
index 1d7f3fc0..00000000
--- a/[esx_addons]/esx_basicneeds/locales/fr.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['fr'] = {
- ['used_bread'] = 'vous avez utilisé 1x pain',
- ['used_water'] = 'vous avez utilisé 1x eau',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_basicneeds/locales/hu.lua b/[esx_addons]/esx_basicneeds/locales/hu.lua
deleted file mode 100644
index 1277cbac..00000000
--- a/[esx_addons]/esx_basicneeds/locales/hu.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['hu'] = {
- ['used_bread'] = 'Megettél egy kenyeret.',
- ['used_water'] = 'Megittál egy vizet.',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_basicneeds/locales/it.lua b/[esx_addons]/esx_basicneeds/locales/it.lua
deleted file mode 100644
index aa80e0a9..00000000
--- a/[esx_addons]/esx_basicneeds/locales/it.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['it'] = {
- ['used_bread'] = 'hai usato 1x panino',
- ['used_water'] = 'hai usato 1x acqua',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_basicneeds/locales/nl.lua b/[esx_addons]/esx_basicneeds/locales/nl.lua
deleted file mode 100644
index 5e654ad5..00000000
--- a/[esx_addons]/esx_basicneeds/locales/nl.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['nl'] = {
- ['used_eat'] = 'je hebt 1x %s gegeten',
- ['used_drink'] = 'je hebt 1x %s gedronken',
- }
diff --git a/[esx_addons]/esx_basicneeds/locales/pl.lua b/[esx_addons]/esx_basicneeds/locales/pl.lua
deleted file mode 100644
index 6ce6b3af..00000000
--- a/[esx_addons]/esx_basicneeds/locales/pl.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['pl'] = {
- ['used_bread'] = 'zjadłeś/aś 1x chleb',
- ['used_water'] = 'wypiłeś/aś 1x woda',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_basicneeds/locales/si.lua b/[esx_addons]/esx_basicneeds/locales/si.lua
deleted file mode 100644
index a052b648..00000000
--- a/[esx_addons]/esx_basicneeds/locales/si.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['si'] = {
- ['used_bread'] = 'uporabili ste 1x bread',
- ['used_water'] = 'uporabili ste 1x water',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_basicneeds/locales/sv.lua b/[esx_addons]/esx_basicneeds/locales/sv.lua
deleted file mode 100644
index 0a077692..00000000
--- a/[esx_addons]/esx_basicneeds/locales/sv.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['sv'] = {
- ['used_bread'] = 'du käkade upp en bit bröd',
- ['used_water'] = 'du drack upp en vattenflaska',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_basicneeds/locales/tr.lua b/[esx_addons]/esx_basicneeds/locales/tr.lua
deleted file mode 100644
index 90511da7..00000000
--- a/[esx_addons]/esx_basicneeds/locales/tr.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['tr'] = {
- ['used_bread'] = '1x ekmek kullandın',
- ['used_water'] = '1x su kullandın',
-}
diff --git a/[esx_addons]/esx_basicneeds/localization/br_esx_basicneeds.sql b/[esx_addons]/esx_basicneeds/localization/br_esx_basicneeds.sql
deleted file mode 100644
index 68fd3207..00000000
--- a/[esx_addons]/esx_basicneeds/localization/br_esx_basicneeds.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('bread', 'Pao', 1),
- ('water', 'Agua', 1)
-;
diff --git a/[esx_addons]/esx_basicneeds/localization/cs_esx_basicneeds.sql b/[esx_addons]/esx_basicneeds/localization/cs_esx_basicneeds.sql
deleted file mode 100644
index ca242f83..00000000
--- a/[esx_addons]/esx_basicneeds/localization/cs_esx_basicneeds.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('bread', 'Chleba', 1),
- ('water', 'Voda', 1)
-;
diff --git a/[esx_addons]/esx_basicneeds/localization/de_esx_basicneeds.sql b/[esx_addons]/esx_basicneeds/localization/de_esx_basicneeds.sql
deleted file mode 100644
index a61c3813..00000000
--- a/[esx_addons]/esx_basicneeds/localization/de_esx_basicneeds.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('bread', 'Brot', 1),
- ('water', 'Wasser', 1)
-;
diff --git a/[esx_addons]/esx_basicneeds/localization/es_esx_basicneeds.sql b/[esx_addons]/esx_basicneeds/localization/es_esx_basicneeds.sql
deleted file mode 100644
index 3170525b..00000000
--- a/[esx_addons]/esx_basicneeds/localization/es_esx_basicneeds.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('bread', 'Pan', 1),
- ('water', 'Agua', 1)
-;
diff --git a/[esx_addons]/esx_basicneeds/localization/fi_esx_basicneeds.sql b/[esx_addons]/esx_basicneeds/localization/fi_esx_basicneeds.sql
deleted file mode 100644
index 4b660320..00000000
--- a/[esx_addons]/esx_basicneeds/localization/fi_esx_basicneeds.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('bread', 'Leipä', 1),
- ('water', 'Vesi', 1)
-;
diff --git a/[esx_addons]/esx_basicneeds/localization/hu_esx_basicneeds.sql b/[esx_addons]/esx_basicneeds/localization/hu_esx_basicneeds.sql
deleted file mode 100644
index 918f5911..00000000
--- a/[esx_addons]/esx_basicneeds/localization/hu_esx_basicneeds.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('bread', 'Kenyér', 1),
- ('water', 'Víz', 1)
-;
diff --git a/[esx_addons]/esx_basicneeds/localization/nl_esx_basicneeds.sql b/[esx_addons]/esx_basicneeds/localization/nl_esx_basicneeds.sql
deleted file mode 100644
index 271c3133..00000000
--- a/[esx_addons]/esx_basicneeds/localization/nl_esx_basicneeds.sql
+++ /dev/null
@@ -1,4 +0,0 @@
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('bread', 'Brood', 1),
- ('water', 'Water', 1)
-;
\ No newline at end of file
diff --git a/[esx_addons]/esx_basicneeds/localization/pl_esx_basicneeds.sql b/[esx_addons]/esx_basicneeds/localization/pl_esx_basicneeds.sql
deleted file mode 100644
index 568f00ce..00000000
--- a/[esx_addons]/esx_basicneeds/localization/pl_esx_basicneeds.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('bread', 'Chleb', 1),
- ('water', 'Woda', 1)
-;
diff --git a/[esx_addons]/esx_basicneeds/localization/sv_esx_basicneeds.sql b/[esx_addons]/esx_basicneeds/localization/sv_esx_basicneeds.sql
deleted file mode 100644
index adad2b13..00000000
--- a/[esx_addons]/esx_basicneeds/localization/sv_esx_basicneeds.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('bread', 'Bröd', 1),
- ('water', 'Vatten', 1)
-;
diff --git a/[esx_addons]/esx_basicneeds/server/main.lua b/[esx_addons]/esx_basicneeds/server/main.lua
deleted file mode 100644
index a4eaf01d..00000000
--- a/[esx_addons]/esx_basicneeds/server/main.lua
+++ /dev/null
@@ -1,36 +0,0 @@
-CreateThread(function()
- for k,v in pairs(Config.Items) do
- ESX.RegisterUsableItem(k, function(source)
- local xPlayer = ESX.GetPlayerFromId(source)
- if v.remove then
- xPlayer.removeInventoryItem(k,1)
- end
- if v.type == "food" then
- TriggerClientEvent("esx_status:add", source, "hunger", v.status)
- TriggerClientEvent('esx_basicneeds:onUse', source, v.type)
- xPlayer.showNotification(TranslateCap('used_food', ESX.GetItemLabel(k)))
- elseif v.type == "drink" then
- TriggerClientEvent("esx_status:add", source, "thirst", v.status)
- TriggerClientEvent('esx_basicneeds:onUse', source, v.type)
- xPlayer.showNotification(TranslateCap('used_drink', ESX.GetItemLabel(k)))
- else
- print(string.format('^1[ERROR]^0 %s has no correct type defined.', k))
- end
- end)
- end
-end)
-
-ESX.RegisterCommand('heal', 'admin', function(xPlayer, args, showError)
- args.playerId.triggerEvent('esx_basicneeds:healPlayer')
- args.playerId.showNotification(TranslateCap('got_healed'))
-end, true, {help = 'Heal a player, or yourself - restores thirst, hunger and health.', validate = true, arguments = {
- {name = 'playerId', help = 'the player id', type = 'player'}
-}})
-
-AddEventHandler('txAdmin:events:healedPlayer', function(eventData)
- if GetInvokingResource() ~= "monitor" or type(eventData) ~= "table" or type(eventData.id) ~= "number" then
- return
- end
-
- TriggerClientEvent('esx_basicneeds:healPlayer', eventData.id)
-end)
diff --git a/[esx_addons]/esx_billing/.editorconfig b/[esx_addons]/esx_billing/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_billing/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_billing/LICENSE b/[esx_addons]/esx_billing/LICENSE
deleted file mode 100644
index b2029366..00000000
--- a/[esx_addons]/esx_billing/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_billing/README.md b/[esx_addons]/esx_billing/README.md
deleted file mode 100644
index dc399931..00000000
--- a/[esx_addons]/esx_billing/README.md
+++ /dev/null
@@ -1,57 +0,0 @@
-# esx_billing
-
-This resource for ESX adds possibility for different jobs to send bills to players, for example making police units able to give people fines. It comes with a menu for paying bills, to open the menu the default keybind is `F7`.
-
-There is a developer server event available in order to register bills in the database, see default resources for examples.
-
-## Download & Installation
-
-### Using [fvm](https://github.com/qlaffont/fvm-installer)
-```
-fvm install --save --folder=esx esx-org/esx_billing
-```
-
-### Using Git
-```
-cd resources
-git clone https://github.com/ESX-Org/esx_billing [esx]/esx_billing
-```
-
-### Manually
-- Download https://github.com/ESX-Org/esx_billing/archive/master.zip
-- Put it in the `[esx]` directory
-
-
-## Installation
-- Import `esx_billing.sql` in your database
-- Add this to your `server.cfg`:
-
-```
-start esx_billing
-```
-
-## Usage
-Press `[F7]` To show the billing menu
-
-```lua
-local amount = 100
-local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
-
-if closestPlayer == -1 or closestDistance > 3.0 then
- ESX.ShowNotification('There\'s no players nearby!')
-else
- TriggerServerEvent('esx_billing:sendBill', GetPlayerServerId(closestPlayer), 'society_taxi', 'Taxi', amount)
-end
-```
-
-# Legal
-### License
-esx_billing - billing for ESX
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
\ No newline at end of file
diff --git a/[esx_addons]/esx_billing/client/main.lua b/[esx_addons]/esx_billing/client/main.lua
deleted file mode 100644
index 66ae67d5..00000000
--- a/[esx_addons]/esx_billing/client/main.lua
+++ /dev/null
@@ -1,38 +0,0 @@
-local isDead = false
-
-function ShowBillsMenu()
- ESX.TriggerServerCallback('esx_billing:getBills', function(bills)
- if #bills > 0 then
- local elements = {
- {unselectable = true, icon = "fas fa-scroll", title = TranslateCap('invoices')}
- }
-
- for k,v in ipairs(bills) do
- elements[#elements+1] = {
- icon = "fas fa-scroll",
- title = ('%s - %s'):format(v.label, TranslateCap('invoices_item', ESX.Math.GroupDigits(v.amount))),
- billId = v.id
- }
- end
-
- ESX.OpenContext("right", elements, function(menu,element)
- ESX.TriggerServerCallback('esx_billing:payBill', function()
- ShowBillsMenu()
- end, element.billId)
- end)
- else
- ESX.ShowNotification(TranslateCap('no_invoices'))
- end
- end)
-end
-
-RegisterCommand('showbills', function()
- if not isDead then
- ShowBillsMenu()
- end
-end, false)
-
-RegisterKeyMapping('showbills', TranslateCap('keymap_showbills'), 'keyboard', 'F7')
-
-AddEventHandler('esx:onPlayerDeath', function() isDead = true end)
-AddEventHandler('esx:onPlayerSpawn', function(spawn) isDead = false end)
diff --git a/[esx_addons]/esx_billing/config.lua b/[esx_addons]/esx_billing/config.lua
deleted file mode 100644
index f6c6c4d9..00000000
--- a/[esx_addons]/esx_billing/config.lua
+++ /dev/null
@@ -1,2 +0,0 @@
-Config = {}
-Config.Locale = GetConvar('esx:locale', 'en')
diff --git a/[esx_addons]/esx_billing/esx_billing.sql b/[esx_addons]/esx_billing/esx_billing.sql
deleted file mode 100644
index a72aa5c8..00000000
--- a/[esx_addons]/esx_billing/esx_billing.sql
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-CREATE TABLE `billing` (
- `id` int NOT NULL AUTO_INCREMENT,
- `identifier` varchar(60) NOT NULL,
- `sender` varchar(60) NOT NULL,
- `target_type` varchar(50) NOT NULL,
- `target` varchar(60) NOT NULL,
- `label` varchar(255) NOT NULL,
- `amount` int NOT NULL,
-
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
diff --git a/[esx_addons]/esx_billing/fxmanifest.lua b/[esx_addons]/esx_billing/fxmanifest.lua
deleted file mode 100644
index 081d2291..00000000
--- a/[esx_addons]/esx_billing/fxmanifest.lua
+++ /dev/null
@@ -1,26 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Billing'
-lua54 'yes'
-version '1.9.0'
-
-shared_script '@es_extended/imports.lua'
-
-server_scripts {
- '@oxmysql/lib/MySQL.lua',
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'server/main.lua'
-}
-
-client_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'client/main.lua'
-}
-
-dependency 'es_extended'
diff --git a/[esx_addons]/esx_billing/locales/br.lua b/[esx_addons]/esx_billing/locales/br.lua
deleted file mode 100644
index 74973ca7..00000000
--- a/[esx_addons]/esx_billing/locales/br.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['br'] = {
- ['invoices'] = 'faturas',
- ['invoices_item'] = '$%s',
- ['received_invoice'] = 'você ~r~recebeu uma fatura',
- ['paid_invoice'] = 'você pagou uma fatura de ~r~$%s',
- ['no_invoices'] = 'you do not have any bills to pay at this moment',
- ['received_payment'] = 'você recebeu um pagamento de ~r~$%s',
- ['player_not_online'] = 'o jogador não está na cidade',
- ['no_money'] = 'você não tem dinheiro suficiente para pagar esta fatura',
- ['target_no_money'] = 'o cidadão ~r~não tem dinheiro suficiente para pagar a conta!',
- ['keymap_showbills'] = 'open bills menu',
-}
diff --git a/[esx_addons]/esx_billing/locales/cs.lua b/[esx_addons]/esx_billing/locales/cs.lua
deleted file mode 100644
index 6e109ea3..00000000
--- a/[esx_addons]/esx_billing/locales/cs.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['cs'] = {
- ['invoices'] = 'faktury',
- ['invoices_item'] = '$%s',
- ['received_invoice'] = 'právě jsi ~r~obdrzel fakturu',
- ['paid_invoice'] = 'zaplatil jsi fakturu za ~r~$%s',
- ['no_invoices'] = 'momentalne nemas zadnou fatkuru k zaplaceni',
- ['received_payment'] = 'obdržel jsi platbu za ~r~$%s',
- ['player_not_online'] = 'hráč není přihlášen',
- ['no_money'] = 'nemáš dostatek peněz na zaplacení této faktury',
- ['target_no_money'] = 'hráč ~r~nemá dostatek peněz na zaplacení faktury!',
- ['keymap_showbills'] = 'otevrit menu faktur',
-}
diff --git a/[esx_addons]/esx_billing/locales/de.lua b/[esx_addons]/esx_billing/locales/de.lua
deleted file mode 100644
index 9c756c5c..00000000
--- a/[esx_addons]/esx_billing/locales/de.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['de'] = {
- ['invoices'] = 'Rechnungen',
- ['invoices_item'] = '$%s',
- ['received_invoice'] = 'Sie haben eine Rechnung erhalten.',
- ['paid_invoice'] = 'Sie bezahlen eine Rechnung von $%s.',
- ['no_invoices'] = 'Sie haben keine offenen Rechnungen.',
- ['received_payment'] = 'Sie erhalten eine Zahlung von $%s.',
- ['player_not_online'] = 'Die Person ist nicht erreichbar.',
- ['no_money'] = 'Sie haben nicht genug Geld, um diese Rechnung zu bezahlen.',
- ['target_no_money'] = 'Die Person kann die Rechnung nicht bezahlen.',
- ['keymap_showbills'] = 'Rechnungen anzeigen',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_billing/locales/en.lua b/[esx_addons]/esx_billing/locales/en.lua
deleted file mode 100644
index a916dd9c..00000000
--- a/[esx_addons]/esx_billing/locales/en.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['en'] = {
- ['invoices'] = 'invoices',
- ['invoices_item'] = '$%s',
- ['received_invoice'] = 'you have just ~r~received an invoice',
- ['paid_invoice'] = 'you paid an invoice of ~r~$%s',
- ['no_invoices'] = 'you do not have any bills to pay at this moment',
- ['received_payment'] = 'you received a payment of ~r~$%s',
- ['player_not_online'] = 'the player is not logged in',
- ['no_money'] = 'you do not have enough money to pay this bill',
- ['target_no_money'] = 'the player ~r~does not have enough money to pay the bill!',
- ['keymap_showbills'] = 'open bills menu',
-}
diff --git a/[esx_addons]/esx_billing/locales/es.lua b/[esx_addons]/esx_billing/locales/es.lua
deleted file mode 100644
index a590ba0b..00000000
--- a/[esx_addons]/esx_billing/locales/es.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['es'] = {
- ['invoices'] = 'Facturas',
- ['invoices_item'] = '%s$',
- ['received_invoice'] = 'Has ~r~recibido una multa',
- ['paid_invoice'] = 'Has pagado una multa de ~r~%s$',
- ['no_invoices'] = 'No tienes ninguna factura para pagar en este momento',
- ['received_payment'] = 'Has recibido un pago de %s$',
- ['player_not_online'] = 'El jugador no está conectado',
- ['no_money'] = 'No tienes suficiente dinero para pagar la factura',
- ['target_no_money'] = '¡El jugador ~r~no tiene suficiente dinero para pagar la factura!',
- ['keymap_showbills'] = 'Abrir menú de facturas',
-}
diff --git a/[esx_addons]/esx_billing/locales/et.lua b/[esx_addons]/esx_billing/locales/et.lua
deleted file mode 100644
index 32d5f2d4..00000000
--- a/[esx_addons]/esx_billing/locales/et.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['et'] = {
- ['invoices'] = 'Arved',
- ['invoices_item'] = '$%s',
- ['received_invoice'] = 'Sa said ~r~arve',
- ['paid_invoice'] = 'Maksid arve maksumusega: ~r~$%s',
- ['no_invoices'] = 'Sul pole hetkel arveid',
- ['received_payment'] = 'Sa said makse summas: ~r~$%s',
- ['player_not_online'] = 'See isik pole linnas',
- ['no_money'] = 'Sul pole piisavalt raha, et maksta selle arve eest',
- ['target_no_money'] = 'Isikul ~r~pole raha, et maksta seda arvet!',
- ['keymap_showbills'] = 'Vaata arveid',
-}
diff --git a/[esx_addons]/esx_billing/locales/fi.lua b/[esx_addons]/esx_billing/locales/fi.lua
deleted file mode 100644
index d621940a..00000000
--- a/[esx_addons]/esx_billing/locales/fi.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['fi'] = {
- ['invoices'] = 'laskut',
- ['invoices_item'] = '$%s',
- ['received_invoice'] = 'sinä ~r~sait laskun',
- ['paid_invoice'] = 'sinä maksoit laskun suuruudelta ~r~$%s',
- ['no_invoices'] = 'you do not have any bills to pay at this moment',
- ['received_payment'] = 'sinä sait maksun suuruudelta ~r~$%s',
- ['player_not_online'] = 'pelaaja ei ole sisäänkirjautuneena',
- ['no_money'] = 'sinulla ei ole tarpeeksi rahaa maksaaksesi tätä laskua.',
- ['target_no_money'] = 'pelaajalla ~r~ei ole tarpeeksi rahaa maksaakseentätä laskua',
- ['keymap_showbills'] = 'open bills menu',
-}
diff --git a/[esx_addons]/esx_billing/locales/fr.lua b/[esx_addons]/esx_billing/locales/fr.lua
deleted file mode 100644
index 3c7b6b7c..00000000
--- a/[esx_addons]/esx_billing/locales/fr.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['fr'] = {
- ['invoices'] = 'factures',
- ['invoices_item'] = '$%s',
- ['received_invoice'] = 'vous avez ~r~reçu une facture',
- ['paid_invoice'] = 'vous avez payé une facture de ~r~$%s',
- ['no_invoices'] = 'vous n\'avez aucune facture à payer en ce moment',
- ['received_payment'] = 'vous avez reçu un paiement de $%s',
- ['player_not_online'] = 'le joueur n\'est pas connecté',
- ['no_money'] = 'vous n\'avez pas assez d\'argent pour payer cette facture',
- ['target_no_money'] = 'le joueur ~r~n\'a pas assez d\'argent pour payer la facture!',
- ['keymap_showbills'] = 'ouvrir le menu des factures',
-}
diff --git a/[esx_addons]/esx_billing/locales/hu.lua b/[esx_addons]/esx_billing/locales/hu.lua
deleted file mode 100644
index d13b564a..00000000
--- a/[esx_addons]/esx_billing/locales/hu.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['hu'] = {
- ['invoices'] = 'Számlák',
- ['invoices_item'] = '$%s',
- ['received_invoice'] = 'Kaptál egy számlát',
- ['paid_invoice'] = 'Befizettél egy számlát ( ~r~$%s )',
- ['no_invoices'] = 'Nincsen számlád amit kifizethetnél',
- ['received_payment'] = 'Fizetést kaptál: ~r~$%s',
- ['player_not_online'] = 'A játékos nem elérhető',
- ['no_money'] = 'Nincsen elég pénzed, hogy kifizesd ezt a számlát',
- ['target_no_money'] = 'A játékosnak nincsen annyi pénze, hogy befizesse a számlát',
- ['keymap_showbills'] = 'Számlák megnézése',
-}
diff --git a/[esx_addons]/esx_billing/locales/it.lua b/[esx_addons]/esx_billing/locales/it.lua
deleted file mode 100644
index ae5f6f8c..00000000
--- a/[esx_addons]/esx_billing/locales/it.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['it'] = {
- ['invoices'] = 'fatture',
- ['invoices_item'] = '$%s',
- ['received_invoice'] = 'hai appena ~r~ricevuto~s~ una fattura',
- ['paid_invoice'] = 'hai ~g~pagato~s~ una fattura di ~r~$%s~s~',
- ['no_invoices'] = 'non hai nessuna fattura da pagare',
- ['received_payment'] = 'hai ~g~ricevuto~s~ il pagamento di ~r~$%s~s~',
- ['player_not_online'] = 'il giocatore non ha effettuato l\'accesso',
- ['no_money'] = 'non hai abbastanza soldi per pagare questo conto',
- ['target_no_money'] = 'il giocatore ~r~non ha~s~ abbastanza soldi per pagare la fattura!',
- ['keymap_showbills'] = 'apri il menu delle fatture',
-}
diff --git a/[esx_addons]/esx_billing/locales/nl.lua b/[esx_addons]/esx_billing/locales/nl.lua
deleted file mode 100644
index 394cf892..00000000
--- a/[esx_addons]/esx_billing/locales/nl.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['nl'] = {
- ['invoices'] = 'Facturen',
- ['invoices_item'] = '€%s',
- ['received_invoice'] = 'Je hebt zojuist een ~r~factuur ontvangen',
- ['paid_invoice'] = 'Je hebt een factuur betaald van ~r~€%s',
- ['no_invoices'] = 'Je hoeft momenteel geen facturen te betalen',
- ['received_payment'] = 'je hebt een bedrag ontvangen van ~r~€%s',
- ['player_not_online'] = 'de speler is niet online',
- ['no_money'] = 'je hebt niet genoeg geld om deze factuur te betalen',
- ['target_no_money'] = 'de speler ~r~heeft niet genoeg geld om te betalen!',
- ['keymap_showbills'] = 'open factuur menu',
-}
diff --git a/[esx_addons]/esx_billing/locales/pl.lua b/[esx_addons]/esx_billing/locales/pl.lua
deleted file mode 100644
index 0851f73b..00000000
--- a/[esx_addons]/esx_billing/locales/pl.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['pl'] = {
- ['invoices'] = 'faktury',
- ['invoices_item'] = '$%s',
- ['received_invoice'] = 'właśnie ~r~dostałeś/aś fakture',
- ['paid_invoice'] = 'Zapłaciłeś/aś fakture: ~r~$%s',
- ['no_invoices'] = 'you do not have any bills to pay at this moment',
- ['received_payment'] = 'Otrzymałeś/aś zapłate: ~r~$%s',
- ['player_not_online'] = 'gracz nie jest zalogowany',
- ['no_money'] = 'nie masz wystarczająco pieniędzy aby zapłacić tą fakture',
- ['target_no_money'] = 'gracz ~r~nie posiada wystarczająco pieniędzy aby zapłacić tą fakture!',
- ['keymap_showbills'] = 'open bills menu',
-}
diff --git a/[esx_addons]/esx_billing/locales/si.lua b/[esx_addons]/esx_billing/locales/si.lua
deleted file mode 100644
index 529d09c9..00000000
--- a/[esx_addons]/esx_billing/locales/si.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['si'] = {
- ['invoices'] = 'racuni',
- ['invoices_item'] = '$%s',
- ['received_invoice'] = 'pravkar ste prejeli račun',
- ['paid_invoice'] = 'plačali ste račun v višini ~r~$%s',
- ['no_invoices'] = 'v tem trenutku nimate računov za plačilo',
- ['received_payment'] = 'prejeli ste plačilo v višini ~r~$%s',
- ['player_not_online'] = 'igralec ni prijavljen',
- ['no_money'] = 'nimate dovolj denarja za plačilo tega računa',
- ['target_no_money'] = 'igralec ~r~does not ima dovolj denarja za plačilo računa!',
- ['keymap_showbills'] = 'odpre meni z računi',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_billing/locales/sv.lua b/[esx_addons]/esx_billing/locales/sv.lua
deleted file mode 100644
index e946edca..00000000
--- a/[esx_addons]/esx_billing/locales/sv.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['sv'] = {
- ['invoices'] = 'räkningar',
- ['invoices_item'] = '%s SEK',
- ['received_invoice'] = 'du har mottagit en räkning',
- ['paid_invoice'] = 'du betalade precis en räkning på %s SEK',
- ['no_invoices'] = 'du har inga inkommande räkningar',
- ['received_payment'] = 'du har mottagit en räkning på %s SEK',
- ['player_not_online'] = 'spelaren är inte online',
- ['no_money'] = 'du har ~r~inte råd för att betala räkningen',
- ['target_no_money'] = 'spelaren har ~r~inte råd för att betala räkningen',
- ['keymap_showbills'] = 'öppna menyn för räkningar',
-}
diff --git a/[esx_addons]/esx_billing/locales/tr.lua b/[esx_addons]/esx_billing/locales/tr.lua
deleted file mode 100644
index c26f72e3..00000000
--- a/[esx_addons]/esx_billing/locales/tr.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['tr'] = {
- ['invoices'] = 'faturalar',
- ['invoices_item'] = '%s TL',
- ['received_invoice'] = '~r~Yeni bir fatura aldınız',
- ['paid_invoice'] = '~r~%s Liralık faturanız ödendi',
- ['no_invoices'] = 'şuan ödenmeyi bekleyen bir faturanız yok',
- ['received_payment'] = 'faturadan ~r~%s Liralık para kazandınız',
- ['player_not_online'] = 'oyuncu aktif değil',
- ['no_money'] = 'bu faturayi odemek icin yeterli paran yok',
- ['target_no_money'] = 'oyuncunun faturayı ödeyecek miktarda parası yok',
- ['keymap_showbills'] = 'faturalar menüsünü aç',
-}
diff --git a/[esx_addons]/esx_billing/server/main.lua b/[esx_addons]/esx_billing/server/main.lua
deleted file mode 100644
index a8a85372..00000000
--- a/[esx_addons]/esx_billing/server/main.lua
+++ /dev/null
@@ -1,136 +0,0 @@
-RegisterServerEvent('esx_billing:sendBill')
-AddEventHandler('esx_billing:sendBill', function(playerId, sharedAccountName, label, amount)
- local xPlayer = ESX.GetPlayerFromId(source)
- local xTarget = ESX.GetPlayerFromId(playerId)
- amount = ESX.Math.Round(amount)
-
- if amount > 0 and xTarget then
- TriggerEvent('esx_addonaccount:getSharedAccount', sharedAccountName, function(account)
- if account then
- MySQL.insert('INSERT INTO billing (identifier, sender, target_type, target, label, amount) VALUES (?, ?, ?, ?, ?, ?)', {xTarget.identifier, xPlayer.identifier, 'society', sharedAccountName, label, amount},
- function(rowsChanged)
- xTarget.showNotification(TranslateCap('received_invoice'))
- end)
- else
- MySQL.insert('INSERT INTO billing (identifier, sender, target_type, target, label, amount) VALUES (?, ?, ?, ?, ?, ?)', {xTarget.identifier, xPlayer.identifier, 'player', xPlayer.identifier, label, amount},
- function(rowsChanged)
- xTarget.showNotification(TranslateCap('received_invoice'))
- end)
- end
- end)
- end
-end)
-
-ESX.RegisterServerCallback('esx_billing:getBills', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- MySQL.query('SELECT amount, id, label FROM billing WHERE identifier = ?', {xPlayer.identifier},
- function(result)
- cb(result)
- end)
-end)
-
-ESX.RegisterServerCallback('esx_billing:getTargetBills', function(source, cb, target)
- local xPlayer = ESX.GetPlayerFromId(target)
-
- if xPlayer then
- MySQL.query('SELECT amount, id, label FROM billing WHERE identifier = ?', {xPlayer.identifier},
- function(result)
- cb(result)
- end)
- else
- cb({})
- end
-end)
-
-ESX.RegisterServerCallback('esx_billing:payBill', function(source, cb, billId)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- MySQL.single('SELECT sender, target_type, target, amount FROM billing WHERE id = ?', {billId},
- function(result)
- if result then
- local amount = result.amount
- local xTarget = ESX.GetPlayerFromIdentifier(result.sender)
-
- if result.target_type == 'player' then
- if xTarget then
- if xPlayer.getMoney() >= amount then
- MySQL.update('DELETE FROM billing WHERE id = ?', {billId},
- function(rowsChanged)
- if rowsChanged == 1 then
- xPlayer.removeMoney(amount, "Bill Paid")
- xTarget.addMoney(amount, "Paid bill")
-
- xPlayer.showNotification(TranslateCap('paid_invoice', ESX.Math.GroupDigits(amount)))
- xTarget.showNotification(TranslateCap('received_payment', ESX.Math.GroupDigits(amount)))
- end
-
- cb()
- end)
- elseif xPlayer.getAccount('bank').money >= amount then
- MySQL.update('DELETE FROM billing WHERE id = ?', {billId},
- function(rowsChanged)
- if rowsChanged == 1 then
- xPlayer.removeAccountMoney('bank', amount, "Bill Paid")
- xTarget.addAccountMoney('bank', amount, "Paid bill")
-
- xPlayer.showNotification(TranslateCap('paid_invoice', ESX.Math.GroupDigits(amount)))
- xTarget.showNotification(TranslateCap('received_payment', ESX.Math.GroupDigits(amount)))
- end
-
- cb()
- end)
- else
- xTarget.showNotification(TranslateCap('target_no_money'))
- xPlayer.showNotification(TranslateCap('no_money'))
- cb()
- end
- else
- xPlayer.showNotification(TranslateCap('player_not_online'))
- cb()
- end
- else
- TriggerEvent('esx_addonaccount:getSharedAccount', result.target, function(account)
- if xPlayer.getMoney() >= amount then
- MySQL.update('DELETE FROM billing WHERE id = ?', {billId},
- function(rowsChanged)
- if rowsChanged == 1 then
- xPlayer.removeMoney(amount, "Bill Paid")
- account.addMoney(amount)
-
- xPlayer.showNotification(TranslateCap('paid_invoice', ESX.Math.GroupDigits(amount)))
- if xTarget then
- xTarget.showNotification(TranslateCap('received_payment', ESX.Math.GroupDigits(amount)))
- end
- end
-
- cb()
- end)
- elseif xPlayer.getAccount('bank').money >= amount then
- MySQL.update('DELETE FROM billing WHERE id = ?', {billId},
- function(rowsChanged)
- if rowsChanged == 1 then
- xPlayer.removeAccountMoney('bank', amount, "Bill Paid")
- account.addMoney(amount)
- xPlayer.showNotification(TranslateCap('paid_invoice', ESX.Math.GroupDigits(amount)))
-
- if xTarget then
- xTarget.showNotification(TranslateCap('received_payment', ESX.Math.GroupDigits(amount)))
- end
- end
-
- cb()
- end)
- else
- if xTarget then
- xTarget.showNotification(TranslateCap('target_no_money'))
- end
-
- xPlayer.showNotification(TranslateCap('no_money'))
- cb()
- end
- end)
- end
- end
- end)
-end)
diff --git a/[esx_addons]/esx_boat/.editorconfig b/[esx_addons]/esx_boat/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_boat/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_boat/README.md b/[esx_addons]/esx_boat/README.md
deleted file mode 100644
index 4edd6200..00000000
--- a/[esx_addons]/esx_boat/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# esx_boat
-This resource for ESX adds boat shops and boat garages around San Andreas, the island has been populated with boat garages, and comes defaulted with one boat shop.
-
-## Requirements
-- [esx_vehicleshop](https://github.com/ESX-Org/esx_vehicleshop)
-
-## Download & Installation
-
-### Using [fvm](https://github.com/qlaffont/fvm-installer)
-```
-fvm install --save --folder=esx esx-org/esx_boat
-```
-
-### Using Git
-```
-cd resources
-git clone https://github.com/ESX-Org/esx_boat [esx]/esx_boat
-```
-
-### Manually
-- Download https://github.com/ESX-Org/esx_boat/archive/master.zip
-- Put it in the `[esx]` directory
-
-## Installation
-- Import `esx_boat.sql` in your database
-- Add this to your `server.cfg`:
-
-```
-start esx_boat
-```
-
-# Legal
-### License
-esx_boat - Boat shop and garage for ESX
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
diff --git a/[esx_addons]/esx_boat/client/main.lua b/[esx_addons]/esx_boat/client/main.lua
deleted file mode 100644
index 1a9cd519..00000000
--- a/[esx_addons]/esx_boat/client/main.lua
+++ /dev/null
@@ -1,229 +0,0 @@
-isInShopMenu = false
-local spawnedVehicles = {}
-
-function OpenBoatShop(shop)
- isInShopMenu = true
-
- local playerPed = PlayerPedId()
- local elements = {
- {unselectable = true, icon = "fas fa-ship", title = TranslateCap('boat_shop')}
- }
-
- for k,v in ipairs(Config.Vehicles) do
- elements[#elements+1] = {
- icon = "fas fa-ship",
- title = ('%s - $%s'):format(v.label, ESX.Math.GroupDigits(v.price)),
- name = v.label,
- model = v.model,
- price = v.price,
- props = v.props or nil
- }
- end
-
- ESX.OpenContext("right", elements, function(menu,element)
- local elements2 = {
- {unselectable = true, icon = "fas fa-ship", title = element.title},
- {icon = "fas fa-eye", title = "View", val = "view"}
- }
-
- ESX.OpenContext("right", elements2, function(menu2,element2)
- if element2.val == "view" then
- DeleteSpawnedVehicles()
-
- ESX.Game.SpawnLocalVehicle(element.model, shop.Inside, shop.Inside.w, function (vehicle)
- table.insert(spawnedVehicles, vehicle)
- TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
- FreezeEntityPosition(vehicle, true)
-
- if element.props then
- ESX.Game.SetVehicleProperties(vehicle, element.props)
- end
-
- local elements3 = {
- {unselectable = true, icon = "fas fa-ship", title = element.title},
- {icon = "fas fa-check-double", title = "Buy", value = "buy"},
- {icon = "fas fa-eye", title = "Stop Viewing", value = "stop"}
- }
-
- ESX.OpenContext("right", elements3, function(menu3,element3)
- if element3.value == "buy" then
- local plate = exports['esx_vehicleshop']:GeneratePlate()
- local vehicle = GetVehiclePedIsIn(playerPed, false)
- local props = ESX.Game.GetVehicleProperties(vehicle)
- props.plate = plate
-
- ESX.TriggerServerCallback('esx_boat:buyBoat', function(bought)
- if bought then
- ESX.ShowNotification(TranslateCap('boat_shop_bought', element.name, ESX.Math.GroupDigits(element.price)))
-
- DeleteSpawnedVehicles()
- isInShopMenu = false
- ESX.CloseContext()
-
- CurrentAction = 'boat_shop'
- CurrentActionMsg = TranslateCap('boat_shop_open')
-
- FreezeEntityPosition(playerPed, false)
- SetEntityVisible(playerPed, true)
- SetEntityCoords(playerPed, shop.Outside.x, shop.Outside.y, shop.Outside.z)
- else
- ESX.ShowNotification(TranslateCap('boat_shop_nomoney'))
- ESX.CloseContext()
- end
- end, props)
- elseif element3.value == "stop" then
- isInShopMenu = false
- DeleteSpawnedVehicles()
-
- CurrentAction = 'boat_shop'
- CurrentActionMsg = TranslateCap('boat_shop_open')
-
- FreezeEntityPosition(playerPed, false)
- SetEntityVisible(playerPed, true)
- SetEntityCoords(playerPed, shop.Outside.x, shop.Outside.y, shop.Outside.z)
- ESX.CloseContext()
- end
- end)
- end)
- end
- end, function(menu)
- isInShopMenu = false
- CurrentAction = 'boat_shop'
- CurrentActionMsg = TranslateCap('boat_shop_open')
- end)
- end, function(menu)
- isInShopMenu = false
- CurrentAction = 'boat_shop'
- CurrentActionMsg = TranslateCap('boat_shop_open')
- end)
-end
-
-function OpenBoatGarage(garage)
- ESX.TriggerServerCallback('esx_boat:getGarage', function (ownedBoats)
- if #ownedBoats == 0 then
- ESX.ShowNotification(TranslateCap('garage_noboats'))
- else
- -- get all available boats
- local elements = {
- {unselectable = true, icon = "fas fa-ship", title = TranslateCap('garage')}
- }
- for i=1, #ownedBoats, 1 do
- ownedBoats[i] = json.decode(ownedBoats[i])
-
- elements[#elements+1] = {
- icon = "fas fa-ship",
- title = getVehicleLabelFromHash(ownedBoats[i].model),
- vehicleProps = ownedBoats[i]
- }
- end
-
- ESX.OpenContext("right", elements, function(menu,element)
- local playerPed = PlayerPedId()
- local vehicleProps = element.vehicleProps
-
- if ESX.Game.IsSpawnPointClear(garage.SpawnPoint, 4.0) then
- TriggerServerEvent('esx_boat:takeOutVehicle', vehicleProps.plate)
- ESX.ShowNotification(TranslateCap('garage_taken'))
-
- ESX.Game.SpawnVehicle(vehicleProps.model, garage.SpawnPoint, garage.SpawnPoint.w, function(vehicle)
- TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
- ESX.Game.SetVehicleProperties(vehicle, vehicleProps)
- end)
-
- ESX.CloseContext()
- else
- ESX.ShowNotification(TranslateCap('garage_blocked'))
- end
- end, function(menu)
- CurrentAction = 'garage_out'
- CurrentActionMsg = TranslateCap('garage_open')
- end)
- end
- end)
-end
-
-function OpenLicenceMenu(shop)
- local elements = {
- {unselectable = true, icon = "fas fa-ship", title = TranslateCap('license_menu')},
- {icon = "fas fa-ship", title = "Purchase Boat License"}
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- local elements2 = {
- {unselectable = true, icon = "fas fa-ship", title = element.title},
- {icon = "fas fa-check-double", title = TranslateCap('license_buy_yes'), val = "yes"},
- {icon = "fas fa-window-close", title = TranslateCap('license_buy_no'), val = "no"}
- }
-
- ESX.OpenContext("right", elements2, function(menu2,element2)
- ESX.TriggerServerCallback('esx_boat:buyBoatLicense', function (boughtLicense)
- if boughtLicense then
- ESX.ShowNotification(TranslateCap('license_bought', ESX.Math.GroupDigits(Config.LicensePrice)))
- ESX.CloseContext()
-
- OpenBoatShop(shop) -- parse current shop
- else
- ESX.ShowNotification(TranslateCap('license_nomoney'))
- end
- end)
- end, function(menu)
- CurrentAction = 'boat_shop'
- CurrentActionMsg = TranslateCap('boat_shop_open')
- end)
- end, function(menu)
- CurrentAction = 'boat_shop'
- CurrentActionMsg = TranslateCap('boat_shop_open')
- end)
-end
-
-function StoreBoatInGarage(vehicle, teleportCoords)
- local vehicleProps = ESX.Game.GetVehicleProperties(vehicle)
-
- ESX.TriggerServerCallback('esx_boat:storeVehicle', function (rowsChanged)
- if rowsChanged > 0 then
- ESX.Game.DeleteVehicle(vehicle)
- ESX.ShowNotification(TranslateCap('garage_stored'))
- local playerPed = PlayerPedId()
-
- ESX.Game.Teleport(playerPed, teleportCoords, function()
- SetEntityHeading(playerPed, teleportCoords.w)
- end)
- else
- ESX.ShowNotification(TranslateCap('garage_notowner'))
- end
- end, vehicleProps.plate)
-end
-
--- Key controls
-CreateThread(function()
- while true do
- Wait(0)
-
- if isInShopMenu then
- DisableControlAction(0, 75, true) -- Disable exit vehicle
- DisableControlAction(27, 75, true) -- Disable exit vehicle
- else
- Wait(500)
- end
- end
-end)
-
-function DeleteSpawnedVehicles()
- while #spawnedVehicles > 0 do
- local vehicle = spawnedVehicles[1]
- ESX.Game.DeleteVehicle(vehicle)
- table.remove(spawnedVehicles, 1)
- end
-end
-
-function getVehicleLabelFromHash(hash)
- local model = string.lower(GetDisplayNameFromVehicleModel(hash))
-
- for i=1, #Config.Vehicles, 1 do
- if Config.Vehicles[i].model == model then
- return Config.Vehicles[i].label
- end
- end
-
- return 'Unknown model [' .. model .. ']'
-end
diff --git a/[esx_addons]/esx_boat/client/marker.lua b/[esx_addons]/esx_boat/client/marker.lua
deleted file mode 100644
index 94ff319e..00000000
--- a/[esx_addons]/esx_boat/client/marker.lua
+++ /dev/null
@@ -1,198 +0,0 @@
-local HasAlreadyEnteredMarker = false
-local LastZone = nil
-
-CurrentAction = nil
-CurrentActionMsg = ''
-CurrentActionData = {}
-
--- Key controls
-CreateThread(function()
- while true do
- Wait(0)
-
- if CurrentAction then
- ESX.ShowHelpNotification(CurrentActionMsg)
-
- if IsControlJustReleased(0, 38) then
- if CurrentAction == 'boat_shop' then
- if not Config.LicenseEnable then
- OpenBoatShop(Config.Zones.BoatShops[CurrentActionData.zoneNum])
- else -- check for license
-
- ESX.TriggerServerCallback('esx_license:checkLicense', function(hasBoatLicense)
- if hasBoatLicense then
- OpenBoatShop(Config.Zones.BoatShops[CurrentActionData.zoneNum])
- else
- OpenLicenceMenu(Config.Zones.BoatShops[CurrentActionData.zoneNum])
- end
- end, GetPlayerServerId(PlayerId()), 'boat')
- end
- elseif CurrentAction == 'garage_out' then
- OpenBoatGarage(Config.Zones.Garages[CurrentActionData.zoneNum])
- elseif CurrentAction == 'garage_in' then
- StoreBoatInGarage(CurrentActionData.vehicle, Config.Zones.Garages[CurrentActionData.zoneNum].StoreTP)
- end
-
- CurrentAction = nil
- end
- else
- Wait(500)
- end
- end
-end)
-
-AddEventHandler('esx_boat:hasEnteredMarker', function(zone, zoneNum)
- if zone == 'boat_shop' then
- CurrentAction = 'boat_shop'
- CurrentActionMsg = TranslateCap('boat_shop_open')
- CurrentActionData = { zoneNum = zoneNum }
- elseif zone == 'garage_out' then
- CurrentAction = 'garage_out'
- CurrentActionMsg = TranslateCap('garage_open')
- CurrentActionData = { zoneNum = zoneNum }
- elseif zone == 'garage_in' then
- local playerPed = PlayerPedId()
- local coords = GetEntityCoords(playerPed)
-
- if IsPedInAnyVehicle(playerPed, false) then
- local vehicle = GetVehiclePedIsIn(playerPed, false)
-
- if DoesEntityExist(vehicle) and GetPedInVehicleSeat(vehicle, -1) == playerPed then
- CurrentAction = 'garage_in'
- CurrentActionMsg = TranslateCap('garage_store')
- CurrentActionData = { vehicle = vehicle, zoneNum = zoneNum }
- end
- end
- end
-end)
-
-AddEventHandler('esx_boat:hasExitedMarker', function()
- if not isInShopMenu then
- ESX.CloseContext()
- end
-
- CurrentAction = nil
-end)
-
--- Enter / Exit marker events
-CreateThread(function()
- while true do
- Wait(0)
-
- local playerPed = PlayerPedId()
- local coords = GetEntityCoords(playerPed)
- local isInMarker, hasExited, letSleep = false, false, true
- local currentZone, currentZoneNum
-
- for i=1, #Config.Zones.BoatShops, 1 do
- local distance = #(coords - Config.Zones.BoatShops[i].Outside)
-
- if distance < Config.DrawDistance then
- DrawMarker(Config.MarkerType, Config.Zones.BoatShops[i].Outside, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Config.Marker.x, Config.Marker.y, Config.Marker.z, Config.Marker.r, Config.Marker.g, Config.Marker.b, 100, false, true, 2, false, nil, nil, false)
- letSleep = false
- end
-
- if distance < Config.Marker.x then
- isInMarker = true
- currentZone = 'boat_shop'
- currentZoneNum = i
- end
- end
-
- for i=1, #Config.Zones.Garages, 1 do
- local distance = #(coords - Config.Zones.Garages[i].GaragePos)
-
- if distance < Config.DrawDistance then
- DrawMarker(Config.MarkerType, Config.Zones.Garages[i].GaragePos, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Config.Marker.x, Config.Marker.y, Config.Marker.z, Config.Marker.r, Config.Marker.g, Config.Marker.b, 100, false, true, 2, false, nil, nil, false)
- letSleep = false
- end
-
- if distance < Config.Marker.x then
- isInMarker = true
- currentZone = 'garage_out'
- currentZoneNum = i
- end
-
- distance = #(coords - Config.Zones.Garages[i].StorePos)
-
- if distance < Config.DrawDistance then
- DrawMarker(Config.MarkerType, Config.Zones.Garages[i].StorePos, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Config.StoreMarker.x, Config.StoreMarker.y, Config.StoreMarker.z, Config.StoreMarker.r, Config.StoreMarker.g, Config.StoreMarker.b, 100, false, true, 2, false, nil, nil, false)
- letSleep = false
- end
-
- if distance < Config.StoreMarker.x then
- isInMarker = true
- currentZone = 'garage_in'
- currentZoneNum = i
- end
- end
-
- if isInMarker and not HasAlreadyEnteredMarker or (isInMarker and (LastZone ~= currentZone or LastZoneNum ~= currentZoneNum)) then
- if
- (LastZone ~= nil and LastZoneNum ~= nil) and
- (LastZone ~= currentZone or LastZoneNum ~= currentZoneNum)
- then
- TriggerEvent('esx_boat:hasExitedMarker', LastZone)
- hasExited = true
- end
-
- HasAlreadyEnteredMarker = true
- LastZone = currentZone
- LastZoneNum = currentZoneNum
-
- TriggerEvent('esx_boat:hasEnteredMarker', currentZone, currentZoneNum)
- end
-
- if not hasExited and not isInMarker and HasAlreadyEnteredMarker then
- HasAlreadyEnteredMarker = false
- TriggerEvent('esx_boat:hasExitedMarker')
- end
-
- if letSleep then
- Wait(500)
- end
- end
-end)
-
--- Blips
-CreateThread(function()
- local blipList = {}
-
- for i=1, #Config.Zones.Garages, 1 do
- table.insert(blipList, {
- coords = Config.Zones.Garages[i].GaragePos,
- text = TranslateCap('blip_garage'),
- sprite = 356,
- color = 3,
- scale = 1.0
- })
- end
-
- for i=1, #Config.Zones.BoatShops, 1 do
- table.insert(blipList, {
- coords = Config.Zones.BoatShops[i].Outside,
- text = TranslateCap('blip_shop'),
- sprite = 427,
- color = 3,
- scale = 1.0
- })
- end
-
- for i=1, #blipList, 1 do
- CreateBlip(blipList[i].coords, blipList[i].text, blipList[i].sprite, blipList[i].color, blipList[i].scale)
- end
-end)
-
-function CreateBlip(coords, text, sprite, color, scale)
- local blip = AddBlipForCoord(coords.x, coords.y)
-
- SetBlipSprite(blip, sprite)
- SetBlipScale(blip, scale)
- SetBlipColour(blip, color)
-
- SetBlipAsShortRange(blip, true)
-
- BeginTextCommandSetBlipName('STRING')
- AddTextComponentSubstringPlayerName(text)
- EndTextCommandSetBlipName(blip)
-end
diff --git a/[esx_addons]/esx_boat/config.lua b/[esx_addons]/esx_boat/config.lua
deleted file mode 100644
index c274b201..00000000
--- a/[esx_addons]/esx_boat/config.lua
+++ /dev/null
@@ -1,92 +0,0 @@
-Config = {}
-
-Config.Locale = GetConvar('esx:locale', 'en')
-
-Config.LicenseEnable = true -- enable boat license? Requires esx_license
-Config.LicensePrice = 50000
-
-Config.MarkerType = 1
-Config.DrawDistance = 10.0
-
-Config.Marker = {
- r = 100, g = 204, b = 100, -- blue-ish color
- x = 1.5, y = 1.5, z = 1.0 -- standard size circle
-}
-
-Config.StoreMarker = {
- r = 255, g = 0, b = 0, -- red color
- x = 5.0, y = 5.0, z = 1.0 -- big circle for storing boat
-}
-
-Config.Zones = {
-
- Garages = {
- { -- Shank St, nearby campaign boat garage
- GaragePos = vector3(-772.4, -1430.9, 0.5),
- SpawnPoint = vector4(-785.39, -1426.3, 0.0, 146.0),
- StorePos = vector3(-798.4, -1456.0, 0.0),
- StoreTP = vector4(-791.4, -1452.5, 1.5, 318.9)
- },
-
- { -- Catfish View
- GaragePos = vector3(3864.9, 4463.9, 1.6),
- SpawnPoint = vector4(3854.4, 4477.2, 0.0, 273.0),
- StorePos = vector3(3857.0, 4446.9, 0.0),
- StoreTP = vector4(3854.7, 4458.6, 1.8, 355.3)
- },
-
- { -- Great Ocean Highway
- GaragePos = vector3(-1614.0, 5260.1, 2.8),
- SpawnPoint = vector4(-1622.5, 5247.1, 0.0, 21.0),
- StorePos = vector3(-1600.3, 5261.9, 0.0),
- StoreTP = vector4(-1605.7, 5259.0, 2.0, 25.0)
- },
-
- { -- North Calafia Way
- GaragePos = vector3(712.6, 4093.3, 33.7),
- SpawnPoint = vector4(712.8, 4080.2, 29.3, 181.0),
- StorePos = vector3(705.1, 4110.1, 30.2),
- StoreTP = vector4(711.9, 4110.5, 31.3, 180.0)
- },
-
- { -- Elysian Fields, nearby the airport
- GaragePos = vector3(23.8, -2806.8, 4.8),
- SpawnPoint = vector4(23.3, -2828.6, 0.8, 181.0),
- StorePos = vector3(-1.0, -2799.2, 0.5),
- StoreTP = vector4(12.6, -2793.8, 2.5, 355.2)
- },
-
- { -- Barbareno Rd
- GaragePos = vector3(-3427.3, 956.9, 7.3),
- SpawnPoint = vector4(-3448.9, 953.8, 0.0, 75.0),
- StorePos = vector3(-3436.5, 946.6, 0.3),
- StoreTP = vector4(-3427.0, 952.6, 8.3, 0.0)
- }
- },
-
- BoatShops = {
- { -- Shank St, nearby campaign boat garage
- Outside = vector3(-773.7, -1495.2, 1.6),
- Inside = vector4(-798.5, -1503.1, -0.4, 120.0)
- }
- }
-
-}
-
-Config.Vehicles = {
- {model = 'seashark', label = 'Seashark (Random Color)', price = 7500},
- {model = 'seashark3', label = 'Seashark (Dark Blue)', price = 7500},
- {model = 'suntrap', label = 'Suntrap', price = 10000},
- {model = 'jetmax', label = 'Jetmax', price = 45000},
- {model = 'tropic2', label = 'Tropic', price = 65000},
- {model = 'dinghy2', label = 'Dinghy (Black)', price = 32500},
- {model = 'dinghy', label = 'Dinghy 2 (Random Color)', price = 40000},
- {model = 'speeder', label = 'Speeder', price = 85000},
- {model = 'squalo', label = 'Squalo (Random Color)', price = 61000},
- {model = 'toro', label = 'Toro', price = 200000},
- {model = 'submersible', label = 'Submersible', price = 750000}
-}
-
-exports('getGarages', function()
- return Config.Zones.Garages
-end)
diff --git a/[esx_addons]/esx_boat/esx_boat.sql b/[esx_addons]/esx_boat/esx_boat.sql
deleted file mode 100644
index 784e656b..00000000
--- a/[esx_addons]/esx_boat/esx_boat.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('boat', 'Boat License')
-;
\ No newline at end of file
diff --git a/[esx_addons]/esx_boat/fxmanifest.lua b/[esx_addons]/esx_boat/fxmanifest.lua
deleted file mode 100644
index 451535a4..00000000
--- a/[esx_addons]/esx_boat/fxmanifest.lua
+++ /dev/null
@@ -1,30 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Boat'
-lua54 'yes'
-version '1.9.0'
-
-shared_script '@es_extended/imports.lua'
-
-server_scripts {
- '@oxmysql/lib/MySQL.lua',
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'server/main.lua'
-}
-
-client_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'client/main.lua',
- 'client/marker.lua'
-}
-
-dependencies {
- 'es_extended',
- 'esx_vehicleshop'
-}
diff --git a/[esx_addons]/esx_boat/locales/de.lua b/[esx_addons]/esx_boat/locales/de.lua
deleted file mode 100644
index a3a6dcb8..00000000
--- a/[esx_addons]/esx_boat/locales/de.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales['de'] = {
- -- shop
- ['boat_shop'] = 'Bootsladen',
- ['boat_shop_open'] = 'Drücke [E] um auf den Bootsladen zuzugreifen .',
- ['boat_shop_confirm'] = 'Kaufen %s für $%s?',
- ['boat_shop_bought'] = 'Du hast ein %s für $%s gekauft',
- ['boat_shop_nomoney'] = 'Du kannst dir dass nicht leisten!',
- ['confirm_no'] = 'Nein',
- ['confirm_yes'] = 'Ja',
-
- -- garage
- ['garage'] = 'Bootsgarage',
- ['garage_open'] = 'Drücke [E] um auf deine Bootsgarage zuzugreifen.',
- ['garage_store'] = 'Drücke [E] um auf den Laden in deiner Bootsgarage zuzugreifen.',
- ['garage_taken'] = 'Das Boot wurde ausgeparkt!',
- ['garage_stored'] = 'Das Boot wurde sicher in Ihre Garage gelagert!',
- ['garage_noboats'] = 'Sie haben besitzen keine Boote! Besuchen Sie den Bootsladen, um eins zu kaufen.',
- ['garage_blocked'] = 'Das Boot kann nicht ausgeparkt werden, weil ein anderes Fahrzeug den Spawn-Punkt blockiert!',
- ['garage_notowner'] = 'Dieses Boot gehört nicht Ihnen!',
-
- -- license
- ['license_menu'] = 'Bootsführerschein erwerben?',
- ['license_buy_no'] = 'Nein',
- ['license_buy_yes'] = 'Bootsführerschein kaufen $%s',
- ['license_bought'] = 'Du hast den Bootsführerschein für $%s gekauft',
- ['license_nomoney'] = 'Du kannst dir den Bootsführerschein nicht leisten!',
-
- -- blips
- ['blip_garage'] = 'Bootsgarage',
- ['blip_shop'] = 'Bootsladen',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_boat/locales/en.lua b/[esx_addons]/esx_boat/locales/en.lua
deleted file mode 100644
index 6afb505d..00000000
--- a/[esx_addons]/esx_boat/locales/en.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales['en'] = {
- -- shop
- ['boat_shop'] = 'boat shop',
- ['boat_shop_open'] = 'press [E] to access the boat shop.',
- ['boat_shop_confirm'] = 'buy %s for $%s?',
- ['boat_shop_bought'] = 'you have bought a %s for $%s',
- ['boat_shop_nomoney'] = 'you cannot ~r~afford this boat!',
- ['confirm_no'] = 'no',
- ['confirm_yes'] = 'yes',
-
- -- garage
- ['garage'] = 'boat garage',
- ['garage_open'] = 'press [E] to access your boat garage.',
- ['garage_store'] = 'press [E] to store the boat in your garage.',
- ['garage_taken'] = 'the boat has been taken out!',
- ['garage_stored'] = 'the boat has been safely stored in your garage!',
- ['garage_noboats'] = 'you don\'t have any stored boats! Visit the boat shop to buy one.',
- ['garage_blocked'] = 'the boat cannot be taken out because another vehicle is blocking the spawn point!',
- ['garage_notowner'] = 'you don\'t own this boat!',
-
- -- license
- ['license_menu'] = 'buy Boat License?',
- ['license_buy_no'] = 'no',
- ['license_buy_yes'] = 'buy Boat License $%s',
- ['license_bought'] = 'you have bought the Boat License for $%s',
- ['license_nomoney'] = 'you cannot ~r~afford the Boat License!',
-
- -- blips
- ['blip_garage'] = 'boat Garage',
- ['blip_shop'] = 'boat Shop',
-}
diff --git a/[esx_addons]/esx_boat/locales/es.lua b/[esx_addons]/esx_boat/locales/es.lua
deleted file mode 100644
index 8ad7edc0..00000000
--- a/[esx_addons]/esx_boat/locales/es.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales['es'] = {
- -- shop
- ['boat_shop'] = 'Tienda de barcos',
- ['boat_shop_open'] = 'Pulsa [E] para acceder a la tienda de barcos.',
- ['boat_shop_confirm'] = '¿Comprar %s por %s$?',
- ['boat_shop_bought'] = 'Has comprado un %s por %s$',
- ['boat_shop_nomoney'] = '¡No puedes ~r~permitirte ese barco!',
- ['confirm_no'] = 'No',
- ['confirm_yes'] = 'Si',
-
- -- garage
- ['garage'] = 'Garaje de barcos',
- ['garage_open'] = 'Pulsa [E] para acceder a tu garaje de barcos',
- ['garage_store'] = 'Pulsa [E] para almacenar el barco en el garaje',
- ['garage_taken'] = '¡El barco ha sido sacado!',
- ['garage_stored'] = '¡El barco se ha almacenado en el garaje!',
- ['garage_noboats'] = '¡No tienes ningún barco guardado! Visita la tienda de barcos para comprar uno',
- ['garage_blocked'] = '¡El barco no ha podido ser sacado, hay un objeto obstruyendo el spawn!',
- ['garage_notowner'] = '¡No eres el dueño de ese barco!',
-
- -- license
- ['license_menu'] = '¿Comprar Licencia de Barcos?',
- ['license_buy_no'] = 'No',
- ['license_buy_yes'] = 'Comprar Licencia de Barcos %s$',
- ['license_bought'] = 'Compraste la Licencia de Barcos por $%s',
- ['license_nomoney'] = '¡No puedes ~r~permitirte la Licencia de Barcos!',
-
- -- blips
- ['blip_garage'] = 'Garaje de barcos',
- ['blip_shop'] = 'Tienda de barcos',
-}
diff --git a/[esx_addons]/esx_boat/locales/et.lua b/[esx_addons]/esx_boat/locales/et.lua
deleted file mode 100644
index 35a47350..00000000
--- a/[esx_addons]/esx_boat/locales/et.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales['et'] = {
- -- shop
- ['boat_shop'] = 'Paadi pood',
- ['boat_shop_open'] = 'Vajuta [E], et avada paadi pood.',
- ['boat_shop_confirm'] = 'Osta %s$%s eest?',
- ['boat_shop_bought'] = 'Sa ostsid %s $%s eest',
- ['boat_shop_nomoney'] = 'Sa ei saa ~r~lubada endale seda paati!',
- ['confirm_no'] = 'Ei',
- ['confirm_yes'] = 'Jah',
-
- -- garage
- ['garage'] = 'Paadi garaaž',
- ['garage_open'] = 'Vajuta [E], et avada paadi garaaž.',
- ['garage_store'] = 'Vajuta [E], et parkida paat garaaži.',
- ['garage_taken'] = 'Paat on väljastatud!',
- ['garage_stored'] = 'Paat on pargitud teie garaaži!',
- ['garage_noboats'] = 'Sul pole ühtegi paati, külasta paadi poodi.',
- ['garage_blocked'] = 'Paati ei saa garaažist välja võtta, kuna miski blokeerib seda!',
- ['garage_notowner'] = 'Sa ei oma seda paati!',
-
- -- license
- ['license_menu'] = 'Osta paadi load?',
- ['license_buy_no'] = 'Ei',
- ['license_buy_yes'] = 'Osta paadi load $%s',
- ['license_bought'] = 'Sa ostsid paadi load $%s eest',
- ['license_nomoney'] = 'Sa ei võimalda ~r~lubada endale paadi lubasid!',
-
- -- blips
- ['blip_garage'] = 'Paadi garaaž',
- ['blip_shop'] = 'Paadi pood',
-}
diff --git a/[esx_addons]/esx_boat/locales/fr.lua b/[esx_addons]/esx_boat/locales/fr.lua
deleted file mode 100644
index 9d93feb7..00000000
--- a/[esx_addons]/esx_boat/locales/fr.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales['fr'] = {
- -- shop
- ['boat_shop'] = 'magasin de bateaux',
- ['boat_shop_open'] = 'appuyez sur [E] pour accéder au magasin de bateaux.',
- ['boat_shop_confirm'] = 'voulez-vous acheter %s pour $%s?',
- ['boat_shop_bought'] = 'vous avez acheté le %s pour $%s',
- ['boat_shop_nomoney'] = 'vous n\'avez pas les moyens ~r~pour acheter ce bateau !',
- ['confirm_no'] = 'non',
- ['confirm_yes'] = 'oui',
-
- -- garage
- ['garage'] = 'garage à bateaux',
- ['garage_open'] = 'appuyez sur [E] pour accéder à votre garage à bateaux.',
- ['garage_store'] = 'appuyez sur [E] pour ranger votre bateau dans votre garage.',
- ['garage_taken'] = 'le bateau est sorti !',
- ['garage_stored'] = 'le bateau a bien été rangé dans votre garage !',
- ['garage_noboats'] = 'vous n\'avez aucun bateau ici ! Rendez-vous au magasin de bateaux pour en acheter un.',
- ['garage_blocked'] = 'le bateau ne peux pas être sorti car un autre véhicule bloque le point !',
- ['garage_notowner'] = 'ce bateau ne vous appartient pas !',
-
- -- license
- ['license_menu'] = 'acheter un permis de naviguer',
- ['license_buy_no'] = 'non',
- ['license_buy_yes'] = 'acheter le permis pour $%s',
- ['license_bought'] = 'vous avez acheté le permis de naviguer pour $%s',
- ['license_nomoney'] = 'vous n\'avez pas les moyens ~r~pour acheter ce permis !',
-
- -- blips
- ['blip_garage'] = 'garage à bateaux',
- ['blip_shop'] = 'magasin de bateaux',
-}
diff --git a/[esx_addons]/esx_boat/locales/hu.lua b/[esx_addons]/esx_boat/locales/hu.lua
deleted file mode 100644
index f15ba04c..00000000
--- a/[esx_addons]/esx_boat/locales/hu.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales['hu'] = {
- -- shop
- ['boat_shop'] = 'Hajóbolt',
- ['boat_shop_open'] = 'Nyomj [E] hogy megnézd a hajókat',
- ['boat_shop_confirm'] = 'hajó: %s ára: $%s',
- ['boat_shop_bought'] = 'Vettél %s ennyiért: $%s',
- ['boat_shop_nomoney'] = '~r~Ezt nem engedheted meg magadnak!',
- ['confirm_no'] = 'Nem',
- ['confirm_yes'] = 'Igen',
-
- -- garage
- ['garage'] = 'Hajógarázs',
- ['garage_open'] = 'Nyomj [E] hogy megnyisd a garázst',
- ['garage_store'] = 'Nyomj [E] hogy kikösd a hajót',
- ['garage_taken'] = 'Sikeresen kivetted a hajót',
- ['garage_stored'] = 'Sikeresen leraktad a hajót',
- ['garage_noboats'] = '~r~Nincsen hajód',
- ['garage_blocked'] = '~r~A lehívási pont blokkolva',
- ['garage_notowner'] = '~r~Nem a tied ez a hajó',
-
- -- license
- ['license_menu'] = 'Szeretnél venni hajó engedélyt?',
- ['license_buy_no'] = 'Nem',
- ['license_buy_yes'] = 'Vegyél hajó engedélyt $%s-ért',
- ['license_bought'] = 'Vettél hajó engedélyt $%s-ért',
- ['license_nomoney'] = '~r~nem engedheted meg magadnak, hogy vegyél hajó engedélyt!',
-
- -- blips
- ['blip_garage'] = 'Hajógarázs',
- ['blip_shop'] = 'Hajóbolt',
-}
diff --git a/[esx_addons]/esx_boat/locales/it.lua b/[esx_addons]/esx_boat/locales/it.lua
deleted file mode 100644
index a771b3c1..00000000
--- a/[esx_addons]/esx_boat/locales/it.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales['it'] = {
- -- shop
- ['boat_shop'] = 'negozio nautico',
- ['boat_shop_open'] = 'premi [E] per accedere al negozio nautico.',
- ['boat_shop_confirm'] = 'compra %s per $%s?',
- ['boat_shop_bought'] = 'hai comprato un %s per $%s',
- ['boat_shop_nomoney'] = 'non puoi ~r~permertterti questa barca!',
- ['confirm_no'] = 'no',
- ['confirm_yes'] = 'si',
-
- -- garage
- ['garage'] = 'garage barca',
- ['garage_open'] = 'premi [E] per accedere al garage della tua barca.',
- ['garage_store'] = 'premi [E] per riporre la barca nel tuo garage.',
- ['garage_taken'] = 'la barca è stata ritirata',
- ['garage_stored'] = 'la barca è stata riposta al sicuro nel tuo garage!',
- ['garage_noboats'] = 'non hai barche in deposito! Visita il negozio per acquistarne una.',
- ['garage_blocked'] = 'la barca non può essere eliminata perché un altro veicolo sta bloccando il punto di spawn!',
- ['garage_notowner'] = 'non possiedi questa barca!',
-
- -- license
- ['license_menu'] = 'acquistare la patente nautica?',
- ['license_buy_no'] = 'no',
- ['license_buy_yes'] = 'acquista patente nautica $%s',
- ['license_bought'] = 'hai acquistato la patente nautica per $%s',
- ['license_nomoney'] = 'non puoi ~r~permetterti la patente nautica',
-
- -- blips
- ['blip_garage'] = 'garage delle barche',
- ['blip_shop'] = 'negozio di barche',
-}
diff --git a/[esx_addons]/esx_boat/locales/nl.lua b/[esx_addons]/esx_boat/locales/nl.lua
deleted file mode 100644
index 372b858b..00000000
--- a/[esx_addons]/esx_boat/locales/nl.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales['nl'] = {
- -- shop
- ['boat_shop'] = 'boten winkel',
- ['boat_shop_open'] = 'Druk op [E] tom de boten winkelte openen.',
- ['boat_shop_confirm'] = 'Koop %s voor €%s?',
- ['boat_shop_bought'] = 'Je hebt een gekochteen %s voor €%s',
- ['boat_shop_nomoney'] = 'Deze boot kan je niet betalen!',
- ['confirm_no'] = 'nee',
- ['confirm_yes'] = 'ja',
-
- -- garage
- ['garage'] = 'boten garage',
- ['garage_open'] = 'Druk op [E] om je boten garagete openen.',
- ['garage_store'] = 'Druk op [E] om je boot op te slaan.',
- ['garage_taken'] = 'de boot staat klaar!',
- ['garage_stored'] = 'de boot is opgeslagen in je garage!',
- ['garage_noboats'] = 'je hebt geen opgeslagen boten! Ga naar de boten winkel om er een te kopen.',
- ['garage_blocked'] = 'de boot kan er niet uit omdat iets het spawnpunt blokkeerd!',
- ['garage_notowner'] = 'je bent geen eigenaar van deze boot!',
-
- -- license
- ['license_menu'] = 'Koop Vaarbewijs?',
- ['license_buy_no'] = 'nee',
- ['license_buy_yes'] = 'Koop vaarbewijs €%s',
- ['license_bought'] = 'je kocht het Vaar Bewijs voor €%s',
- ['license_nomoney'] = 'je kan het Vaar Bewijsniet betalen! ',
-
- -- blips
- ['blip_garage'] = 'boten garage',
- ['blip_shop'] = 'boten winkel',
-}
diff --git a/[esx_addons]/esx_boat/locales/pl.lua b/[esx_addons]/esx_boat/locales/pl.lua
deleted file mode 100644
index aae3369f..00000000
--- a/[esx_addons]/esx_boat/locales/pl.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales['pl'] = {
- -- shop
- ['boat_shop'] = 'sklep z łodziami',
- ['boat_shop_open'] = 'naciśnij [E] aby otworzyć sklep z łodziami.',
- ['boat_shop_confirm'] = 'kup %s za $%s?',
- ['boat_shop_bought'] = 'zakupiłeś/aś %s za $%s',
- ['boat_shop_nomoney'] = 'nie posiadasz ~r~wystarczająco pieniędzy aby zakupić te łódź!',
- ['confirm_no'] = 'nie',
- ['confirm_yes'] = 'tak',
-
- -- garage
- ['garage'] = 'garaż: Lodzie',
- ['garage_open'] = 'naciśnij [E] aby otworzyć garaż z łodziami.',
- ['garage_store'] = 'naciśnij [E] aby schować swoją łódź do garażu',
- ['garage_taken'] = 'łódź zostałą wyjęta z garażu',
- ['garage_stored'] = 'łódź została schowana do garażu',
- ['garage_noboats'] = 'nie posiadasz żadnych łodzi!',
- ['garage_blocked'] = 'łódź nie może zostać wyjęta dlatego że coś blokuje jej miejsce narodzenia',
- ['garage_notowner'] = 'nie jesteś właścicielem tej łodzi!',
-
- -- license
- ['license_menu'] = 'kup licencje na płwanie łodziami?',
- ['license_buy_no'] = 'nie',
- ['license_buy_yes'] = 'kup licencje na pływanie łodziami $%s',
- ['license_bought'] = 'zakupiłeś/aś licencje na pływanie łodziami za $%s',
- ['license_nomoney'] = 'nie posiadasz ~r~wystarczająco pieniędzy aby zakupić licencje na pływanie łodziami!',
-
- -- blips
- ['blip_garage'] = 'garaż: Lodzie',
- ['blip_shop'] = 'sklep z łodziami',
-}
diff --git a/[esx_addons]/esx_boat/locales/si.lua b/[esx_addons]/esx_boat/locales/si.lua
deleted file mode 100644
index 2db7b3ba..00000000
--- a/[esx_addons]/esx_boat/locales/si.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales['si'] = {
- -- trgovina
- ['boat_shop'] = 'trgovina s čolni',
- ['boat_shop_open'] = 'pritisnite [E] za dostop do boat shop.',
- ['boat_shop_confirm'] = 'kupi %s za $%s?',
- ['boat_shop_bought'] = 'ste kupili a %s za $%s',
- ['boat_shop_nomoney'] = 'tega čolna si ne morete ~r~privoliti~!',
- ['confirm_no'] = 'ne',
- ['confirm_yes'] = 'da',
-
- -- garaža
- ['garaža'] = 'garaža za čoln',
- ['garage_open'] = 'pritisnite [E] za dostop do vaše garage~čolna~.',
- ['garage_store'] = 'pritisnite [E], da shranite~čoln v svoji garaži.',
- ['garage_taken'] = 'čoln je bil odpeljan!',
- ['garage_stored'] = 'čoln je bil varno shranjen v vaši garaži!',
- ['garage_noboats'] = 'Nimate shranjenih čolnov! Obiščite trgovine za čolne in jih kupite.',
- ['garage_blocked'] = 'čolna ni mogoče odpeljati, ker drugo vozilo blokira drstitveno točko!',
- ['garage_notowner'] = 'niste lastnik tega čolna!',
-
- -- licenca
- ['license_menu'] = 'kupiti licenco za čoln?',
- ['license_buy_no'] = 'ne',
- ['license_buy_yes'] = 'kupi licenco za čoln $%s',
- ['license_bought'] = 'kupili ste licenco čoln za $%s',
- ['license_nomoney'] = 'ne morete ~r~privoliti~~čolnske licence!',
-
- -- mehurčki
- ['blip_garage'] = 'garaža za čoln',
- ['blip_shop'] = 'trgovina s čolni',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_boat/locales/sv.lua b/[esx_addons]/esx_boat/locales/sv.lua
deleted file mode 100644
index bb51837f..00000000
--- a/[esx_addons]/esx_boat/locales/sv.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales['sv'] = {
- -- shop
- ['boat_shop'] = 'båtaffär',
- ['boat_shop_open'] = 'tryck [E] för att öppna båtaffären.',
- ['boat_shop_confirm'] = 'köp %s för %s SEK?',
- ['boat_shop_bought'] = 'du har köpt en %s för %s SEK',
- ['boat_shop_nomoney'] = 'du har ~r~inte råd för denna båt!',
- ['confirm_no'] = 'nej',
- ['confirm_yes'] = 'ja',
-
- -- garage
- ['garage'] = 'båtgarage',
- ['garage_open'] = 'tryck [E] för att öppna båtgaraget.',
- ['garage_store'] = 'tryck [E] för att lagra båten i ditt garage.',
- ['garage_taken'] = 'båten har släppts från garaget!',
- ['garage_stored'] = 'båten har lagrats i garaget!',
- ['garage_noboats'] = 'du har inga lagrade båtar! Besök båtaffären för att köpa båtar.',
- ['garage_blocked'] = 'båten kan inte tas ur på grund av att en annan båt blokerar spawnpointen!',
- ['garage_notowner'] = 'du äger inte denna båt!',
-
- -- license
- ['license_menu'] = 'köpa båtlicens?',
- ['license_buy_no'] = 'nej',
- ['license_buy_yes'] = 'köp båtlicens %s SEK',
- ['license_bought'] = 'du köpte båtlicensen för %s SEK',
- ['license_nomoney'] = 'du har ~r~inte råd för båtlicensen!',
-
- -- blips
- ['blip_garage'] = 'båtgarage',
- ['blip_shop'] = 'båtaffär',
-}
diff --git a/[esx_addons]/esx_boat/localization/es_esx_boat.sql b/[esx_addons]/esx_boat/localization/es_esx_boat.sql
deleted file mode 100644
index f94aa0cc..00000000
--- a/[esx_addons]/esx_boat/localization/es_esx_boat.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('boat', 'Licencia de Barcos')
-;
diff --git a/[esx_addons]/esx_boat/localization/hu_esx_boat.sql b/[esx_addons]/esx_boat/localization/hu_esx_boat.sql
deleted file mode 100644
index f0f13a19..00000000
--- a/[esx_addons]/esx_boat/localization/hu_esx_boat.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('boat', 'Hajó engedély')
-;
diff --git a/[esx_addons]/esx_boat/server/main.lua b/[esx_addons]/esx_boat/server/main.lua
deleted file mode 100644
index 93fa884b..00000000
--- a/[esx_addons]/esx_boat/server/main.lua
+++ /dev/null
@@ -1,109 +0,0 @@
-MySQL.ready(function()
- ParkBoats()
-end)
-
-function ParkBoats()
- MySQL.update('UPDATE owned_vehicles SET `stored` = true WHERE `stored` = false AND type = @type', {
- ['@type'] = 'boat'
- }, function (rowsChanged)
- if rowsChanged > 0 then
- print(('[^2INFO^7] Stored ^5%s^7 %s !'):format(rowsChanged, rowsChanged > 1 and 'boats' or 'boat'))
- end
- end)
-end
-
-ESX.RegisterServerCallback('esx_boat:buyBoat', function(source, cb, vehicleProps)
- local xPlayer = ESX.GetPlayerFromId(source)
- local price = getPriceFromModel(vehicleProps.model)
-
- -- vehicle model not found
- if price == 0 then
- print(('[^2INFO^7] Player ^5%s^7 Attempted To Exploit Shop'):format(xPlayer.source))
- cb(false)
- else
- if xPlayer.getMoney() >= price then
- xPlayer.removeMoney(price, "Boat Purchase")
-
- MySQL.update('INSERT INTO owned_vehicles (owner, plate, vehicle, type, `stored`) VALUES (@owner, @plate, @vehicle, @type, @stored)', {
- ['@owner'] = xPlayer.identifier,
- ['@plate'] = vehicleProps.plate,
- ['@vehicle'] = json.encode(vehicleProps),
- ['@type'] = 'boat',
- ['@stored'] = true
- }, function(rowsChanged)
- cb(true)
- end)
- else
- cb(false)
- end
- end
-end)
-
-RegisterServerEvent('esx_boat:takeOutVehicle')
-AddEventHandler('esx_boat:takeOutVehicle', function(plate)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- MySQL.update('UPDATE owned_vehicles SET `stored` = @stored WHERE owner = @owner AND plate = @plate', {
- ['@stored'] = false,
- ['@owner'] = xPlayer.identifier,
- ['@plate'] = plate
- }, function(rowsChanged)
- if rowsChanged == 0 then
- print(('[^2INFO^7] Player ^5%s^7 Attempted To Exploit Garage'):format(xPlayer.source))
- end
- end)
-end)
-
-ESX.RegisterServerCallback('esx_boat:storeVehicle', function (source, cb, plate)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- MySQL.update('UPDATE owned_vehicles SET `stored` = @stored WHERE owner = @owner AND plate = @plate', {
- ['@stored'] = true,
- ['@owner'] = xPlayer.identifier,
- ['@plate'] = plate
- }, function(rowsChanged)
- cb(rowsChanged)
- end)
-end)
-
-ESX.RegisterServerCallback('esx_boat:getGarage', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- MySQL.query('SELECT vehicle FROM owned_vehicles WHERE owner = @owner AND type = @type AND `stored` = @stored', {
- ['@owner'] = xPlayer.identifier,
- ['@type'] = 'boat',
- ['@stored'] = true
- }, function(result)
- local vehicles = {}
-
- for i=1, #result, 1 do
- table.insert(vehicles, result[i].vehicle)
- end
-
- cb(vehicles)
- end)
-end)
-
-ESX.RegisterServerCallback('esx_boat:buyBoatLicense', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- if xPlayer.getMoney() >= Config.LicensePrice then
- xPlayer.removeMoney(Config.LicensePrice, "Boat License Purchase")
-
- TriggerEvent('esx_license:addLicense', source, 'boat', function()
- cb(true)
- end)
- else
- cb(false)
- end
-end)
-
-function getPriceFromModel(model)
- for k,v in ipairs(Config.Vehicles) do
- if joaat(v.model) == model then
- return v.price
- end
- end
-
- return 0
-end
diff --git a/[esx_addons]/esx_clotheshop/.editorconfig b/[esx_addons]/esx_clotheshop/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_clotheshop/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_clotheshop/LICENSE b/[esx_addons]/esx_clotheshop/LICENSE
deleted file mode 100644
index fce3a988..00000000
--- a/[esx_addons]/esx_clotheshop/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_clotheshop/README.md b/[esx_addons]/esx_clotheshop/README.md
deleted file mode 100644
index 670003b2..00000000
--- a/[esx_addons]/esx_clotheshop/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
[ESX] Clothe Shop
Discord - Website - Documentation
-
-It`s time to shine! Head over to the variety of stores this resource adds - to Get a new stylish look to out shine all your competition.
-
-# License
-
-esx_clotheshop - clothing store
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
diff --git a/[esx_addons]/esx_clotheshop/client/main.lua b/[esx_addons]/esx_clotheshop/client/main.lua
deleted file mode 100644
index 6c6d5d40..00000000
--- a/[esx_addons]/esx_clotheshop/client/main.lua
+++ /dev/null
@@ -1,184 +0,0 @@
-
-local hasAlreadyEnteredMarker, hasPaid, currentActionData = false, false, {}
-local lastZone, currentAction, currentActionMsg
-
-function OpenShopMenu()
- hasPaid = false
-
- TriggerEvent('esx_skin:openRestrictedMenu', function(data, menu)
- menu.close()
-
- local elements = {
- {unselectable = true, icon = "fas fa-check-double", title = TranslateCap("valid_this_purchase")},
- {icon = "fas fa-check-circle", title = TranslateCap("yes"), value = "yes"},
- {icon = "fas fa-window-close", title = TranslateCap("no"), value = "no"},
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.value == "yes" then
- ESX.TriggerServerCallback('esx_clotheshop:buyClothes', function(bought)
- if bought then
- TriggerEvent('skinchanger:getSkin', function(skin)
- TriggerServerEvent('esx_skin:save', skin)
- end)
-
- hasPaid = true
- ESX.TriggerServerCallback('esx_clotheshop:checkPropertyDataStore', function(foundStore)
- if foundStore then
- local elements2 = {
- {unselectable = true, icon = "fas fa-check-double", title = TranslateCap('save_in_dressing')},
- {icon = "fas fa-check-circle", title = TranslateCap("yes"), value = "yes"},
- {icon = "fas fa-window-close", title = TranslateCap("no"), value = "no"},
- }
-
- ESX.OpenContext("right", elements2, function(menu2,element2)
- if element2.value == "yes" then
- local elements3 = {
- {unselectable = true, icon = "fas fa-shirt", title = TranslateCap('name_outfit')},
- {title = "Outfit Name", input = true, inputType = "text", inputPlaceholder = "Outfit name in wardrobe.."},
- {icon = "fas fa-check-circle", title = "Confirm", value = "confirm"}
- }
-
- ESX.OpenContext("right", elements3, function(menu3,element3)
- TriggerEvent('skinchanger:getSkin', function(skin)
- ESX.CloseContext()
- TriggerServerEvent('esx_clotheshop:saveOutfit', menu3.eles[2].inputValue, skin)
- ESX.ShowNotification(TranslateCap('saved_outfit'))
- end)
- end)
- elseif element2.value == "no" then
- ESX.CloseContext()
- end
- end)
- end
- end)
- else
- ESX.CloseContext()
- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin)
- TriggerEvent('skinchanger:loadSkin', skin)
- end)
- ESX.ShowNotification(TranslateCap('not_enough_money'))
- end
- end)
- elseif element.value == "no" then
- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin)
- TriggerEvent('skinchanger:loadSkin', skin)
- end)
- ESX.CloseContext()
- end
- currentAction = 'shop_menu'
- currentActionMsg = TranslateCap('press_menu')
- currentActionData = {}
- end, function(menu)
- currentAction = 'shop_menu'
- currentActionMsg = TranslateCap('press_menu')
- currentActionData = {}
- end)
-
- end, function(data, menu)
- menu.close()
-
- currentAction = 'shop_menu'
- currentActionMsg = TranslateCap('press_menu')
- currentActionData = {}
- end, {
- 'tshirt_1', 'tshirt_2',
- 'torso_1', 'torso_2',
- 'decals_1', 'decals_2',
- 'arms', 'arms_2',
- 'pants_1', 'pants_2',
- 'shoes_1', 'shoes_2',
- 'bags_1', 'bags_2',
- 'chain_1', 'chain_2',
- 'helmet_1', 'helmet_2',
- 'glasses_1', 'glasses_2'
- })
-end
-
-AddEventHandler('esx_clotheshop:hasEnteredMarker', function(zone)
- currentAction = 'shop_menu'
- currentActionMsg = TranslateCap('press_menu')
- currentActionData = {}
-end)
-
-AddEventHandler('esx_clotheshop:hasExitedMarker', function(zone)
- ESX.CloseContext()
- currentAction = nil
-
- if not hasPaid then
- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin)
- TriggerEvent('skinchanger:loadSkin', skin)
- end)
- end
-end)
-
--- Create Blips
-CreateThread(function()
- for k,v in ipairs(Config.Shops) do
- local blip = AddBlipForCoord(v)
-
- SetBlipSprite (blip, 73)
- SetBlipColour (blip, 47)
- SetBlipAsShortRange(blip, true)
-
- BeginTextCommandSetBlipName('STRING')
- AddTextComponentSubstringPlayerName(TranslateCap('clothes'))
- EndTextCommandSetBlipName(blip)
- end
-end)
-
--- Enter / Exit marker events & draw markers
-CreateThread(function()
- while true do
- Wait(0)
- local playerCoords, isInMarker, currentZone, letSleep = GetEntityCoords(PlayerPedId()), false, nil, true
-
- for k,v in pairs(Config.Shops) do
- local distance = #(playerCoords - v)
-
- if distance < Config.DrawDistance then
- letSleep = false
- DrawMarker(Config.MarkerType, v, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Config.MarkerSize.x, Config.MarkerSize.y, Config.MarkerSize.z, Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, nil, nil, false)
-
- if distance < Config.MarkerSize.x then
- isInMarker, currentZone = true, k
- end
- end
- end
-
- if (isInMarker and not hasAlreadyEnteredMarker) or (isInMarker and lastZone ~= currentZone) then
- hasAlreadyEnteredMarker, lastZone = true, currentZone
- TriggerEvent('esx_clotheshop:hasEnteredMarker', currentZone)
- end
-
- if not isInMarker and hasAlreadyEnteredMarker then
- hasAlreadyEnteredMarker = false
- TriggerEvent('esx_clotheshop:hasExitedMarker', lastZone)
- end
-
- if letSleep then
- Wait(500)
- end
- end
-end)
-
--- Key controls
-CreateThread(function()
- while true do
- Wait(0)
-
- if currentAction then
- ESX.ShowHelpNotification(currentActionMsg)
-
- if IsControlJustReleased(0, 38) then
- if currentAction == 'shop_menu' then
- OpenShopMenu()
- end
-
- currentAction = nil
- end
- else
- Wait(500)
- end
- end
-end)
diff --git a/[esx_addons]/esx_clotheshop/config.lua b/[esx_addons]/esx_clotheshop/config.lua
deleted file mode 100644
index 976431e9..00000000
--- a/[esx_addons]/esx_clotheshop/config.lua
+++ /dev/null
@@ -1,26 +0,0 @@
-Config = {}
-Config.Locale = GetConvar('esx:locale', 'en')
-
-Config.Price = 250
-
-Config.DrawDistance = 10.0
-Config.MarkerSize = {x = 1.5, y = 1.5, z = 1.0}
-Config.MarkerColor = {r = 102, g = 102, b = 204}
-Config.MarkerType = 1
-
-Config.Shops = {
- vector3(72.3, -1399.1, 28.4),
- vector3(-703.8, -152.3, 36.4),
- vector3(-167.9, -299.0, 38.7),
- vector3(428.7, -800.1, 28.5),
- vector3(-829.4, -1073.7, 10.3),
- vector3(-1447.8, -242.5, 48.8),
- vector3(11.6, 6514.2, 30.9),
- vector3(123.6, -219.4, 53.6),
- vector3(1696.3, 4829.3, 41.1),
- vector3(618.1, 2759.6, 41.1),
- vector3(1190.6, 2713.4, 37.2),
- vector3(-1193.4, -772.3, 16.3),
- vector3(-3172.5, 1048.1, 19.9),
- vector3(-1108.4, 2708.9, 18.1)
-}
diff --git a/[esx_addons]/esx_clotheshop/fxmanifest.lua b/[esx_addons]/esx_clotheshop/fxmanifest.lua
deleted file mode 100644
index 32961b82..00000000
--- a/[esx_addons]/esx_clotheshop/fxmanifest.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Clothes Shop'
-
-version '1.9.0'
-lua54 'yes'
-shared_script '@es_extended/imports.lua'
-
-server_scripts {
- '@oxmysql/lib/MySQL.lua',
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'server/main.lua'
-}
-
-client_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'client/main.lua'
-}
-
-dependencies {
- 'es_extended',
- 'esx_skin'
-}
diff --git a/[esx_addons]/esx_clotheshop/locales/br.lua b/[esx_addons]/esx_clotheshop/locales/br.lua
deleted file mode 100644
index 14680720..00000000
--- a/[esx_addons]/esx_clotheshop/locales/br.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['br'] = {
- ['valid_this_purchase'] = 'validar esta compra?',
- ['yes'] = 'sim',
- ['no'] = 'não',
- ['not_enough_money'] = 'você não tem dinheiro suficiente',
- ['press_menu'] = 'pressione [E] para acessar o menu',
- ['clothes'] = 'roupas',
- ['you_paid'] = 'você pagou $%s',
- ['save_in_dressing'] = 'você quer salvar essa roupa?',
- ['name_outfit'] = 'nome da roupa?',
- ['saved_outfit'] = 'roupa salva',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_clotheshop/locales/de.lua b/[esx_addons]/esx_clotheshop/locales/de.lua
deleted file mode 100644
index 417f8d8f..00000000
--- a/[esx_addons]/esx_clotheshop/locales/de.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['de'] = {
- ['valid_this_purchase'] = 'Einkauf bestätigen?',
- ['yes'] = 'ja',
- ['no'] = 'nein',
- ['not_enough_money'] = 'Du hast nicht genug Geld',
- ['press_menu'] = 'Drücke [E] um das Menü zu öffnen',
- ['clothes'] = 'Kleidung',
- ['you_paid'] = 'Du bezahlst $%s',
- ['save_in_dressing'] = 'Wollen sie das Outfit in ihrer Garderobe speichern?',
- ['name_outfit'] = 'Name des outfits?',
- ['saved_outfit'] = 'Das outfit wurde gespeichert',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_clotheshop/locales/en.lua b/[esx_addons]/esx_clotheshop/locales/en.lua
deleted file mode 100644
index 0e3e9d6b..00000000
--- a/[esx_addons]/esx_clotheshop/locales/en.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['en'] = {
- ['valid_this_purchase'] = 'validate this purchase?',
- ['yes'] = 'yes',
- ['no'] = 'no',
- ['not_enough_money'] = 'you do not have enough money',
- ['press_menu'] = 'press [E] to access the Clothing Shop.',
- ['clothes'] = 'clothing Shop',
- ['you_paid'] = 'you paid $%s',
- ['save_in_dressing'] = 'do you want to save the outfit in your property?',
- ['name_outfit'] = 'name your outfit',
- ['saved_outfit'] = 'the outfit has been saved!',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_clotheshop/locales/es.lua b/[esx_addons]/esx_clotheshop/locales/es.lua
deleted file mode 100644
index 6705e5d8..00000000
--- a/[esx_addons]/esx_clotheshop/locales/es.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['es'] = {
- ['valid_this_purchase'] = '¿Validar esta compra?',
- ['yes'] = 'Si',
- ['no'] = 'No',
- ['not_enough_money'] = 'No tienes suficiente dinero',
- ['press_menu'] = 'Presiona [E] para acceder al menú',
- ['clothes'] = 'Ropa',
- ['you_paid'] = 'Has pagado €%s',
- ['save_in_dressing'] = '¿Quieres darle un nombre a tu vestuario?',
- ['name_outfit'] = 'nombre del traje?',
- ['saved_outfit'] = '¡El atuendo se ha guardado!',
-}
diff --git a/[esx_addons]/esx_clotheshop/locales/et.lua b/[esx_addons]/esx_clotheshop/locales/et.lua
deleted file mode 100644
index 1102bea5..00000000
--- a/[esx_addons]/esx_clotheshop/locales/et.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['et'] = {
- ['valid_this_purchase'] = 'Kinnita see ost?',
- ['yes'] = 'jah',
- ['no'] = 'Ei',
- ['not_enough_money'] = 'Sul pole piisavalt raha',
- ['press_menu'] = 'Vajuta [E], et avada riidepood.',
- ['clothes'] = 'Riidepood',
- ['you_paid'] = 'Sa maksid $%s',
- ['save_in_dressing'] = 'Kas soovite sellist paari riideid ka enda korteri?',
- ['name_outfit'] = 'Pane riietusele nimi',
- ['saved_outfit'] = 'Riietus salvestatud!',
-}
diff --git a/[esx_addons]/esx_clotheshop/locales/fi.lua b/[esx_addons]/esx_clotheshop/locales/fi.lua
deleted file mode 100644
index ff729c9d..00000000
--- a/[esx_addons]/esx_clotheshop/locales/fi.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['fi'] = {
- ['valid_this_purchase'] = 'varmista tämä ostos?',
- ['yes'] = 'kyllä',
- ['no'] = 'ei',
- ['not_enough_money'] = 'sinulla ei ole tarpeeksi rahaa',
- ['press_menu'] = 'paina [E] avataksesi menu',
- ['clothes'] = 'vaatekauppa',
- ['you_paid'] = 'sinä maksoit $%s',
- ['save_in_dressing'] = 'haluatko antaa nimen asulle ?',
- ['name_outfit'] = 'asun nimi?',
- ['saved_outfit'] = 'the outfit has been saved!',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_clotheshop/locales/fr.lua b/[esx_addons]/esx_clotheshop/locales/fr.lua
deleted file mode 100644
index dfe6931b..00000000
--- a/[esx_addons]/esx_clotheshop/locales/fr.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['fr'] = {
- ['valid_this_purchase'] = 'valider cet achat ?',
- ['yes'] = 'oui',
- ['no'] = 'non',
- ['not_enough_money'] = 'vous n\'avez pas assez d\'argent',
- ['press_menu'] = 'appuyez sur [E] pour accéder au menu',
- ['clothes'] = 'vêtements',
- ['you_paid'] = 'vous avez payé $%s',
- ['save_in_dressing'] = 'voulez-vous donner un nom à votre tenue?',
- ['name_outfit'] = 'nom de la tenue?',
- ['saved_outfit'] = 'la tenue a été sauvegardée !',
-}
diff --git a/[esx_addons]/esx_clotheshop/locales/hu.lua b/[esx_addons]/esx_clotheshop/locales/hu.lua
deleted file mode 100644
index daf3f0be..00000000
--- a/[esx_addons]/esx_clotheshop/locales/hu.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales["hu"] = {
- ["valid_this_purchase"] = "Megerősíted a vásárlást?",
- ["yes"] = "igen",
- ["no"] = "nem",
- ["not_enough_money"] = "Nincs elég pénzed",
- ["press_menu"] = "Nyomd meg a [E] gombot a Ruhabolt megnyitásához.",
- ["clothes"] = "ruhabolt",
- ["you_paid"] = "fizettél %s$-t",
- ["save_in_dressing"] = "Menteni szeretnéd a ruhát az ingatlanodban?",
- ["name_outfit"] = "Ruha neve",
- ["saved_outfit"] = "Ruha mentésre került!",
-}
diff --git a/[esx_addons]/esx_clotheshop/locales/it.lua b/[esx_addons]/esx_clotheshop/locales/it.lua
deleted file mode 100644
index 116eb6a8..00000000
--- a/[esx_addons]/esx_clotheshop/locales/it.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['it'] = {
- ['valid_this_purchase'] = 'Convalidare questo acquisto?',
- ['yes'] = 'Si',
- ['no'] = 'No',
- ['not_enough_money'] = 'Non hai abbastanza soldi',
- ['press_menu'] = 'Premere [E] per accedere al menu',
- ['clothes'] = 'Vestiario',
- ['you_paid'] = 'Hai pagato €%s',
- ['save_in_dressing'] = 'Vuoi dare un nome al tuo guardaroba?',
- ['name_outfit'] = 'nome del costume?',
- ['saved_outfit'] = 'L abito è stato salvato!',
-}
diff --git a/[esx_addons]/esx_clotheshop/locales/nl.lua b/[esx_addons]/esx_clotheshop/locales/nl.lua
deleted file mode 100644
index 14989059..00000000
--- a/[esx_addons]/esx_clotheshop/locales/nl.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['nl'] = {
- ['valid_this_purchase'] = 'bevestig deze aankoop?',
- ['yes'] = 'ja',
- ['no'] = 'nee',
- ['not_enough_money'] = 'je hebt niet genoeg geld',
- ['press_menu'] = 'klik op [E] om de kleding winkel te bezoeken.',
- ['clothes'] = 'kleding winkel',
- ['you_paid'] = 'je betaalde $%s',
- ['save_in_dressing'] = 'wil je deze outfit opslaan in je garderobe?',
- ['name_outfit'] = 'geef je outfit een naam',
- ['saved_outfit'] = 'je outfit is opgeslagen.',
-}
diff --git a/[esx_addons]/esx_clotheshop/locales/pl.lua b/[esx_addons]/esx_clotheshop/locales/pl.lua
deleted file mode 100644
index 50869f1a..00000000
--- a/[esx_addons]/esx_clotheshop/locales/pl.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['pl'] = {
- ['valid_this_purchase'] = 'potwierdzić ten zakup?',
- ['yes'] = 'tak',
- ['no'] = 'nie',
- ['not_enough_money'] = 'nie masz wystarczająco pieniędzy',
- ['press_menu'] = 'naciśnij [E] aby uzyskać dostęp do menu.',
- ['clothes'] = 'ubranie',
- ['you_paid'] = 'płacisz %s $',
- ['save_in_dressing'] = 'czy chcesz zapisać te ubranie w swojej posiadłości?',
- ['name_outfit'] = 'nazwij swój strój',
- ['saved_outfit'] = 'strój został zapisany!',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_clotheshop/locales/si.lua b/[esx_addons]/esx_clotheshop/locales/si.lua
deleted file mode 100644
index 682d6918..00000000
--- a/[esx_addons]/esx_clotheshop/locales/si.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['si'] = {
- ['valid_this_purchase'] = 'potrdi ta nakup?',
- ['yes'] = 'da',
- ['no'] = 'no',
- ['not_enough_money'] = 'nimate dovolj denarja',
- ['press_menu'] = 'pritisnite [E] za dostop do Clothing Shop.',
- ['clothes'] = 'trgovina z oblačili',
- ['you_paid'] = 'plačal si $%s',
- ['save_in_dressing'] = 'ali želite oblačila shraniti v svojo lastnino?',
- ['name_outfit'] = 'poimenuj svojo obleko',
- ['saved_outfit'] = 'obleka je shranjena!',
-}
diff --git a/[esx_addons]/esx_clotheshop/locales/sv.lua b/[esx_addons]/esx_clotheshop/locales/sv.lua
deleted file mode 100644
index 695ae212..00000000
--- a/[esx_addons]/esx_clotheshop/locales/sv.lua
+++ /dev/null
@@ -1,12 +0,0 @@
-Locales['sv'] = {
- ['valid_this_purchase'] = 'vill du köpa dessa kläder?',
- ['yes'] = 'ja',
- ['no'] = 'nej',
- ['not_enough_money'] = 'du har ~r~inte råd för att köpa detta',
- ['press_menu'] = 'tryck [E] för att öppna klädesaffären.',
- ['clothes'] = 'klädesaffär',
- ['you_paid'] = 'du har betalat $%s',
- ['save_in_dressing'] = 'vill du spara outfiten i din fastighet?',
- ['name_outfit'] = 'vad ska din outfit heta?',
- ['saved_outfit'] = 'outfit har sparats!',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_clotheshop/server/main.lua b/[esx_addons]/esx_clotheshop/server/main.lua
deleted file mode 100644
index c6f3cadc..00000000
--- a/[esx_addons]/esx_clotheshop/server/main.lua
+++ /dev/null
@@ -1,43 +0,0 @@
-RegisterServerEvent('esx_clotheshop:saveOutfit')
-AddEventHandler('esx_clotheshop:saveOutfit', function(label, skin)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- TriggerEvent('esx_datastore:getDataStore', 'property', xPlayer.identifier, function(store)
- local dressing = store.get('dressing')
-
- if dressing == nil then
- dressing = {}
- end
-
- table.insert(dressing, {
- label = label,
- skin = skin
- })
-
- store.set('dressing', dressing)
- store.save()
- end)
-end)
-
-ESX.RegisterServerCallback('esx_clotheshop:buyClothes', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- if xPlayer.getMoney() >= Config.Price then
- xPlayer.removeMoney(Config.Price, "Outfit Purchase")
- TriggerClientEvent('esx:showNotification', source, TranslateCap('you_paid', Config.Price))
- cb(true)
- else
- cb(false)
- end
-end)
-
-ESX.RegisterServerCallback('esx_clotheshop:checkPropertyDataStore', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
- local foundStore = false
-
- TriggerEvent('esx_datastore:getDataStore', 'property', xPlayer.identifier, function(store)
- foundStore = true
- end)
-
- cb(foundStore)
-end)
diff --git a/[esx_addons]/esx_cruisecontrol/.editorconfig b/[esx_addons]/esx_cruisecontrol/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_cruisecontrol/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_cruisecontrol/LICENSE b/[esx_addons]/esx_cruisecontrol/LICENSE
deleted file mode 100644
index 4c37e893..00000000
--- a/[esx_addons]/esx_cruisecontrol/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_cruisecontrol/README.md b/[esx_addons]/esx_cruisecontrol/README.md
deleted file mode 100644
index 83851a35..00000000
--- a/[esx_addons]/esx_cruisecontrol/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
[ESX] Cruise Control
Discord - Website - Documentation
-
-# Legal
-
-esx_cruisecontrol - relaxing driving
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
diff --git a/[esx_addons]/esx_cruisecontrol/client/main.lua b/[esx_addons]/esx_cruisecontrol/client/main.lua
deleted file mode 100644
index 83812177..00000000
--- a/[esx_addons]/esx_cruisecontrol/client/main.lua
+++ /dev/null
@@ -1,77 +0,0 @@
-local CruisedSpeed, CruisedSpeedKm, VehicleVectorY = 0, 0, 0
-
-RegisterCommand("cruise", function(src)
- if IsDriver() then
- TriggerCruiseControl()
- end
-end)
-
-RegisterKeyMapping("cruise", "Enable Cruise Control", "keyboard",Config.ToggleKey)
-
-function TriggerCruiseControl()
- if CruisedSpeed == 0 and IsDriving() then
- if GetVehicleSpeed() > 0 and GetVehicleCurrentGear(GetVehicle()) > 0 then
- CruisedSpeed = GetVehicleSpeed()
- CruisedSpeedKm = TransformToKm(CruisedSpeed)
-
- ESX.ShowNotification(TranslateCap('activated') .. ': ' .. CruisedSpeedKm .. ' km/h')
-
- CreateThread(function ()
- while CruisedSpeed > 0 and IsInVehicle() == PlayerPedId() do
- Wait(0)
-
- if not IsTurningOrHandBraking() and GetVehicleSpeed() < (CruisedSpeed - 1.5) then
- CruisedSpeed = 0
- ESX.ShowNotification(TranslateCap('deactivated'))
- Wait(2000)
- break
- end
-
- if not IsTurningOrHandBraking() and IsVehicleOnAllWheels(GetVehicle()) and GetVehicleSpeed() < CruisedSpeed then
- SetVehicleForwardSpeed(GetVehicle(), CruisedSpeed)
- end
-
- if IsControlJustPressed(1, 246) then
- CruisedSpeed = GetVehicleSpeed()
- CruisedSpeedKm = TransformToKm(CruisedSpeed)
- end
-
- if IsControlJustPressed(2, 72) then
- CruisedSpeed = 0
- ESX.ShowNotification(TranslateCap('deactivated'))
- Wait(2000)
- break
- end
- end
- end)
- end
- end
-end
-
-function IsTurningOrHandBraking ()
- return IsControlPressed(2, 76) or IsControlPressed(2, 63) or IsControlPressed(2, 64)
-end
-
-function IsDriving ()
- return IsPedInAnyVehicle(PlayerPedId(), false)
-end
-
-function GetVehicle ()
- return GetVehiclePedIsIn(PlayerPedId(), false)
-end
-
-function IsInVehicle ()
- return GetPedInVehicleSeat(GetVehicle(), -1)
-end
-
-function IsDriver ()
- return GetPedInVehicleSeat(GetVehiclePedIsIn(PlayerPedId(), false), -1)
-end
-
-function GetVehicleSpeed ()
- return GetEntitySpeed(GetVehicle())
-end
-
-function TransformToKm (speed)
- return math.floor(speed * 3.6 + 0.5)
-end
diff --git a/[esx_addons]/esx_cruisecontrol/config.lua b/[esx_addons]/esx_cruisecontrol/config.lua
deleted file mode 100644
index b5c9d8f1..00000000
--- a/[esx_addons]/esx_cruisecontrol/config.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Config = {}
-Config.Locale = GetConvar('esx:locale', 'en')
-
-Config.ToggleKey = "CAPITAL"
diff --git a/[esx_addons]/esx_cruisecontrol/fxmanifest.lua b/[esx_addons]/esx_cruisecontrol/fxmanifest.lua
deleted file mode 100644
index 22c0c842..00000000
--- a/[esx_addons]/esx_cruisecontrol/fxmanifest.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'CruiseControl System for ESX'
-
-version '1.9.0'
-lua54 'yes'
-dependencies {
- 'es_extended'
-}
-
-client_scripts {
- '@es_extended/imports.lua',
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'client/main.lua'
-}
diff --git a/[esx_addons]/esx_cruisecontrol/locales/de.lua b/[esx_addons]/esx_cruisecontrol/locales/de.lua
deleted file mode 100644
index 01c5d918..00000000
--- a/[esx_addons]/esx_cruisecontrol/locales/de.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['de'] = {
- ['activated'] = 'Aktivieren',
- ['deactivated'] = 'Deaktivieren',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_cruisecontrol/locales/en.lua b/[esx_addons]/esx_cruisecontrol/locales/en.lua
deleted file mode 100644
index 6420075b..00000000
--- a/[esx_addons]/esx_cruisecontrol/locales/en.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['en'] = {
- ['activated'] = 'activated',
- ['deactivated'] = 'deactivated',
-}
diff --git a/[esx_addons]/esx_cruisecontrol/locales/es.lua b/[esx_addons]/esx_cruisecontrol/locales/es.lua
deleted file mode 100644
index e49c184a..00000000
--- a/[esx_addons]/esx_cruisecontrol/locales/es.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['es'] = {
- ['activated'] = 'Activado',
- ['deactivated'] = 'Desactivado',
-}
diff --git a/[esx_addons]/esx_cruisecontrol/locales/fi.lua b/[esx_addons]/esx_cruisecontrol/locales/fi.lua
deleted file mode 100644
index 0d754aba..00000000
--- a/[esx_addons]/esx_cruisecontrol/locales/fi.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['fi'] = {
- ['activated'] = 'aktivoitu',
- ['deactivated'] = 'sammutettu',
-}
diff --git a/[esx_addons]/esx_cruisecontrol/locales/fr.lua b/[esx_addons]/esx_cruisecontrol/locales/fr.lua
deleted file mode 100644
index 5d89d1a8..00000000
--- a/[esx_addons]/esx_cruisecontrol/locales/fr.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['fr'] = {
- ['activated'] = 'activé',
- ['deactivated'] = 'désactivé',
-}
diff --git a/[esx_addons]/esx_cruisecontrol/locales/ge.lua b/[esx_addons]/esx_cruisecontrol/locales/ge.lua
deleted file mode 100644
index c7f55a73..00000000
--- a/[esx_addons]/esx_cruisecontrol/locales/ge.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['ge'] = {
- ['activated'] = 'aktiviert',
- ['deactivated'] = 'deaktiviert',
-}
diff --git a/[esx_addons]/esx_cruisecontrol/locales/hu.lua b/[esx_addons]/esx_cruisecontrol/locales/hu.lua
deleted file mode 100644
index 7a892f66..00000000
--- a/[esx_addons]/esx_cruisecontrol/locales/hu.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['hu'] = {
- ['activated'] = 'Bekapcsolva',
- ['deactivated'] = 'Kikapcsolva',
-}
diff --git a/[esx_addons]/esx_cruisecontrol/locales/it.lua b/[esx_addons]/esx_cruisecontrol/locales/it.lua
deleted file mode 100644
index cb7a3129..00000000
--- a/[esx_addons]/esx_cruisecontrol/locales/it.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['it'] = {
- ['activated'] = 'attivato',
- ['deactivated'] = 'disattivato',
-}
diff --git a/[esx_addons]/esx_cruisecontrol/locales/nl.lua b/[esx_addons]/esx_cruisecontrol/locales/nl.lua
deleted file mode 100644
index 555e377c..00000000
--- a/[esx_addons]/esx_cruisecontrol/locales/nl.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['nl'] = {
- ['activated'] = 'geactiveerd',
- ['deactivated'] = 'gedeactiveerd',
-}
diff --git a/[esx_addons]/esx_cruisecontrol/locales/pl.lua b/[esx_addons]/esx_cruisecontrol/locales/pl.lua
deleted file mode 100644
index 4dee11bb..00000000
--- a/[esx_addons]/esx_cruisecontrol/locales/pl.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['pl'] = {
- ['activated'] = 'aktywowano',
- ['deactivated'] = 'dezaktywano',
-}
diff --git a/[esx_addons]/esx_cruisecontrol/locales/si.lua b/[esx_addons]/esx_cruisecontrol/locales/si.lua
deleted file mode 100644
index ddfd5db7..00000000
--- a/[esx_addons]/esx_cruisecontrol/locales/si.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-Locales['si'] = {
- ['activated'] = 'Aktivirano',
- ['deactivated'] = 'Deaktivirano',
-}
diff --git a/[esx_addons]/esx_datastore/.editorconfig b/[esx_addons]/esx_datastore/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_datastore/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_datastore/LICENSE b/[esx_addons]/esx_datastore/LICENSE
deleted file mode 100644
index 52fcac84..00000000
--- a/[esx_addons]/esx_datastore/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_datastore/README.md b/[esx_addons]/esx_datastore/README.md
deleted file mode 100644
index 8f38d289..00000000
--- a/[esx_addons]/esx_datastore/README.md
+++ /dev/null
@@ -1,43 +0,0 @@
-
[ESX] Data Store
Discord - Website - Documentation
-
-A simple script for storing data :)
-
-# Usage
-
-There are two types of datastores: shared and not shared.
-
-- Shared datastores does not belong to a specific user, Example: police armory
-- None-shared datastores are created for every user in the server. They are created in db when player is loaded, Example: property (weapons, dressing).
-
-## `datastore` database information
-
-An datastore must be configured in the database before using it. Don't forget to run a server restart afterwards (you can alternative restart the script and relog all clients)
-
-| `name` | `label` | `shared` |
-| -------- | ------- | -------- |
-| name of the datastore | label of the datastore (not used) | is the datastore shared with others? (boolean either `0` or `1`) |
-
-```lua
-TriggerEvent('esx_datastore:getSharedDataStore', 'police', function(store)
- local weapons = store.get('weapons') or {}
-
- table.insert(weapons, {name = 'WEAPON_PUMPSHOTGUN', ammo = 50})
- store.set('weapons', weapons)
-end)
-
-TriggerEvent('esx_datastore:getDataStore', 'property', 'steam:0123456789', function(store)
- local dressing = store.get('dressing') or {}
-end)
-```
-
-# Legal
-
-esx_datastore - Datastore for ESX-Framework
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
diff --git a/[esx_addons]/esx_datastore/esx_datastore.sql b/[esx_addons]/esx_datastore/esx_datastore.sql
deleted file mode 100644
index d6382413..00000000
--- a/[esx_addons]/esx_datastore/esx_datastore.sql
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-CREATE TABLE `datastore` (
- `name` VARCHAR(60) NOT NULL,
- `label` VARCHAR(100) NOT NULL,
- `shared` INT NOT NULL,
-
- PRIMARY KEY (`name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
-
-CREATE TABLE `datastore_data` (
- `id` INT NOT NULL AUTO_INCREMENT,
- `name` VARCHAR(60) NOT NULL,
- `owner` VARCHAR(60),
- `data` LONGTEXT,
-
- PRIMARY KEY (`id`),
- UNIQUE INDEX `index_datastore_data_name_owner` (`name`, `owner`),
- INDEX `index_datastore_data_name` (`name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
diff --git a/[esx_addons]/esx_datastore/fxmanifest.lua b/[esx_addons]/esx_datastore/fxmanifest.lua
deleted file mode 100644
index a97a7e5d..00000000
--- a/[esx_addons]/esx_datastore/fxmanifest.lua
+++ /dev/null
@@ -1,14 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Data Store'
-lua54 'yes'
-version '1.9.0'
-
-server_scripts {
- '@es_extended/imports.lua',
- '@oxmysql/lib/MySQL.lua',
- 'server/classes/datastore.lua',
- 'server/main.lua'
-}
diff --git a/[esx_addons]/esx_datastore/server/classes/datastore.lua b/[esx_addons]/esx_datastore/server/classes/datastore.lua
deleted file mode 100644
index 53711386..00000000
--- a/[esx_addons]/esx_datastore/server/classes/datastore.lua
+++ /dev/null
@@ -1,81 +0,0 @@
-function stringsplit(inputstr, sep)
- if sep == nil then
- sep = "%s"
- end
-
- local t={} ; i=1
- for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
- t[i] = str
- i = i + 1
- end
-
- return t
-end
-
-function CreateDataStore(name, owner, data)
- local self = {}
-
- self.name = name
- self.owner = owner
- self.data = type(data) == 'string' and json.decode(data) or data
-
- local timeoutCallbacks = {}
-
- function self.set(key, val)
- data[key] = val
- self.save()
- end
-
- function self.get(key, i)
- local path = stringsplit(key, '.')
- local obj = self.data
-
- for i=1, #path, 1 do
- obj = obj[path[i]]
- end
-
- if i == nil then
- return obj
- else
- return obj[i]
- end
- end
-
- function self.count(key, i)
- local path = stringsplit(key, '.')
- local obj = self.data
-
- for i=1, #path, 1 do
- obj = obj[path[i]]
- end
-
- if i ~= nil then
- obj = obj[i]
- end
-
- if obj == nil then
- return 0
- else
- return #obj
- end
- end
-
- function self.save()
- for i=1, #timeoutCallbacks, 1 do
- ESX.ClearTimeout(timeoutCallbacks[i])
- timeoutCallbacks[i] = nil
- end
-
- local timeoutCallback = ESX.SetTimeout(10000, function()
- if self.owner == nil then
- MySQL.update('UPDATE datastore_data SET data = ? WHERE name = ?', {json.encode(self.data), self.name})
- else
- MySQL.update('UPDATE datastore_data SET data = ? WHERE name = ? and owner = ?', {json.encode(self.data), self.name, self.owner})
- end
- end)
-
- table.insert(timeoutCallbacks, timeoutCallback)
- end
-
- return self
-end
diff --git a/[esx_addons]/esx_datastore/server/main.lua b/[esx_addons]/esx_datastore/server/main.lua
deleted file mode 100644
index fee17821..00000000
--- a/[esx_addons]/esx_datastore/server/main.lua
+++ /dev/null
@@ -1,80 +0,0 @@
-local DataStores, DataStoresIndex, SharedDataStores = {}, {}, {}
-
-AddEventHandler('onResourceStart', function(resourceName)
- if resourceName == GetCurrentResourceName() then
- local dataStore = MySQL.query.await('SELECT * FROM datastore_data LEFT JOIN datastore ON datastore_data.name = datastore.name UNION SELECT * FROM datastore_data RIGHT JOIN datastore ON datastore_data.name = datastore.name')
-
- local newData = {}
- for i = 1, #dataStore do
- local data = dataStore[i]
- if data.shared == 0 then
- if not DataStores[data.name] then
- DataStoresIndex[#DataStoresIndex + 1] = data.name
- DataStores[data.name] = {}
- end
- DataStores[data.name][#DataStores[data.name] + 1] = CreateDataStore(data.name, data.owner, json.decode(data.data))
- else
- if data.data then
- SharedDataStores[data.name] = CreateDataStore(data.name, nil, json.decode(data.data))
- else
- newData[#newData + 1] = {data.name, '\'{}\''}
- end
- end
- end
-
- if next(newData) then
- MySQL.prepare('INSERT INTO datastore_data (name, data) VALUES (?, ?)', newData)
- for i = 1, #newData do
- local new = newData[i]
- SharedDataStores[new[1]] = CreateDataStore(new[1], nil, {})
- end
- end
- end
-end)
-
-function GetDataStore(name, owner)
- for i=1, #DataStores[name], 1 do
- if DataStores[name][i].owner == owner then
- return DataStores[name][i]
- end
- end
-end
-
-function GetDataStoreOwners(name)
- local identifiers = {}
-
- for i=1, #DataStores[name], 1 do
- table.insert(identifiers, DataStores[name][i].owner)
- end
-
- return identifiers
-end
-
-function GetSharedDataStore(name)
- return SharedDataStores[name]
-end
-
-AddEventHandler('esx_datastore:getDataStore', function(name, owner, cb)
- cb(GetDataStore(name, owner))
-end)
-
-AddEventHandler('esx_datastore:getDataStoreOwners', function(name, cb)
- cb(GetDataStoreOwners(name))
-end)
-
-AddEventHandler('esx_datastore:getSharedDataStore', function(name, cb)
- cb(GetSharedDataStore(name))
-end)
-
-AddEventHandler('esx:playerLoaded', function(playerId, xPlayer)
- for i=1, #DataStoresIndex, 1 do
- local name = DataStoresIndex[i]
- local dataStore = GetDataStore(name, xPlayer.identifier)
-
- if not dataStore then
- MySQL.insert('INSERT INTO datastore_data (name, owner, data) VALUES (?, ?, ?)', {name, xPlayer.identifier, '{}'})
-
- DataStores[name][#DataStores[name] + 1] = CreateDataStore(name, xPlayer.identifier, {})
- end
- end
-end)
diff --git a/[esx_addons]/esx_dmvschool/.editorconfig b/[esx_addons]/esx_dmvschool/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_dmvschool/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_dmvschool/LICENSE b/[esx_addons]/esx_dmvschool/LICENSE
deleted file mode 100644
index 943cff70..00000000
--- a/[esx_addons]/esx_dmvschool/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_dmvschool/README.md b/[esx_addons]/esx_dmvschool/README.md
deleted file mode 100644
index 315cdcfa..00000000
--- a/[esx_addons]/esx_dmvschool/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
[ESX] DMV School
Discord - Website - Documentation
-
-Tired of waiting for your local DMV to be free so you can get your driving licence? well today is your day! This amazingly Realistic DMV schools allows you to sit a tough theory test and a Rage fueled , high-stakes Practial Driving Test for Cars, motocycles and Trucks, all from the comfort of FiveM!
-
-# Legal
-
-esx_dmvschool - realistic DMV school for ESX
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see .
diff --git a/[esx_addons]/esx_dmvschool/client/main.lua b/[esx_addons]/esx_dmvschool/client/main.lua
deleted file mode 100644
index 1cbdce5d..00000000
--- a/[esx_addons]/esx_dmvschool/client/main.lua
+++ /dev/null
@@ -1,367 +0,0 @@
-local CurrentAction = nil
-local CurrentActionMsg = nil
-local CurrentActionData = nil
-local Licenses = {}
-local CurrentTest = nil
-local CurrentTestType = nil
-local CurrentVehicle = nil
-local CurrentCheckPoint, DriveErrors = 0, 0
-local LastCheckPoint = -1
-local CurrentBlip = nil
-local CurrentZoneType = nil
-local IsAboveSpeedLimit = false
-local LastVehicleHealth = nil
-
-function DrawMissionText(msg, time)
- ClearPrints()
- BeginTextCommandPrint('STRING')
- AddTextComponentSubstringPlayerName(msg)
- EndTextCommandPrint(time, true)
-end
-
-function StartTheoryTest()
- CurrentTest = 'theory'
-
- SendNUIMessage({
- openQuestion = true
- })
-
- ESX.SetTimeout(200, function()
- SetNuiFocus(true, true)
- end)
-
-
-end
-
-function StopTheoryTest(success)
- CurrentTest = nil
-
- SendNUIMessage({
- openQuestion = false
- })
-
- SetNuiFocus(false)
-
- if success then
- TriggerServerEvent('esx_dmvschool:addLicense', 'dmv')
- ESX.ShowNotification(TranslateCap('passed_test'))
- else
- ESX.ShowNotification(TranslateCap('failed_test'))
- end
-end
-
-function StartDriveTest(type)
- ESX.Game.SpawnVehicle(Config.VehicleModels[type], vector3(Config.Zones.VehicleSpawnPoint.Pos.x, Config.Zones.VehicleSpawnPoint.Pos.y, Config.Zones.VehicleSpawnPoint.Pos.z), Config.Zones.VehicleSpawnPoint.Pos.h, function(vehicle)
- CurrentTest = 'drive'
- CurrentTestType = type
- CurrentCheckPoint = 0
- LastCheckPoint = -1
- CurrentZoneType = 'residence'
- DriveErrors = 0
- IsAboveSpeedLimit = false
- CurrentVehicle = vehicle
- LastVehicleHealth = GetEntityHealth(vehicle)
-
- local playerPed = PlayerPedId()
- TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
- SetVehicleFuelLevel(vehicle, 100.0)
- DecorSetFloat(vehicle, "_FUEL_LEVEL", GetVehicleFuelLevel(vehicle))
- end)
-end
-
-function StopDriveTest(success)
- if success then
- TriggerServerEvent('esx_dmvschool:addLicense', CurrentTestType)
- ESX.ShowNotification(TranslateCap('passed_test'))
- else
- ESX.ShowNotification(TranslateCap('failed_test'))
- end
-
- CurrentTest = nil
- CurrentTestType = nil
-end
-
-function SetCurrentZoneType(type)
-CurrentZoneType = type
-end
-
-function OpenDMVSchoolMenu()
- local ownedLicenses = {}
-
- for i=1, #Licenses, 1 do
- ownedLicenses[Licenses[i].type] = true
- end
-
- local elements = {
- {unselectable = true, icon = "fas fa-car", title = TranslateCap("driving_school")}
- }
-
- if not ownedLicenses['dmv'] then
- elements[#elements+1] = {
- icon = "fas fa-car",
- title = (('%s: %s'):format(TranslateCap('theory_test'), TranslateCap('school_item', ESX.Math.GroupDigits(Config.Prices['dmv'])))),
- value = "theory_test"
- }
- end
-
- if ownedLicenses['dmv'] then
- if not ownedLicenses['drive'] then
- elements[#elements+1] = {
- icon = "fas fa-car",
- title = (('%s: %s'):format(TranslateCap('road_test_car'), TranslateCap('school_item', ESX.Math.GroupDigits(Config.Prices['drive'])))),
- value = "drive_test",
- type = "drive"
- }
- end
-
- if not ownedLicenses['drive_bike'] then
- elements[#elements+1] = {
- icon = "fas fa-car",
- title = (('%s: %s'):format(TranslateCap('road_test_bike'), TranslateCap('school_item', ESX.Math.GroupDigits(Config.Prices['drive_bike'])))),
- value = "drive_test",
- type = "drive_bike"
- }
- end
-
- if not ownedLicenses['drive_truck'] then
- elements[#elements+1] = {
- icon = "fas fa-car",
- title = (('%s: %s'):format(TranslateCap('road_test_truck'), TranslateCap('school_item', ESX.Math.GroupDigits(Config.Prices['drive_truck'])))),
- value = "drive_test",
- type = "drive_truck"
- }
- end
- end
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.value == "theory_test" then
- ESX.TriggerServerCallback('esx_dmvschool:canYouPay', function(haveMoney)
- if haveMoney then
- ESX.CloseContext()
- StartTheoryTest()
- else
- ESX.ShowNotification(TranslateCap('not_enough_money'))
- end
- end, 'dmv')
- elseif element.value == "drive_test" then
- ESX.TriggerServerCallback('esx_dmvschool:canYouPay', function(haveMoney)
- if haveMoney then
- ESX.CloseContext()
- StartDriveTest(element.type)
- else
- ESX.ShowNotification(TranslateCap('not_enough_money'))
- end
- end, element.type)
- end
- end, function(menu)
- CurrentAction = 'dmvschool_menu'
- CurrentActionMsg = TranslateCap('press_open_menu')
- CurrentActionData = {}
- end)
-end
-
-RegisterNUICallback('question', function(data, cb)
- SendNUIMessage({
- openSection = 'question'
- })
-
- cb()
-end)
-
-RegisterNUICallback('close', function(data, cb)
- StopTheoryTest(true)
- cb()
-end)
-
-RegisterNUICallback('kick', function(data, cb)
- StopTheoryTest(false)
- cb()
-end)
-
-AddEventHandler('esx_dmvschool:hasEnteredMarker', function(zone)
- if zone == 'DMVSchool' then
- CurrentAction = 'dmvschool_menu'
- CurrentActionMsg = TranslateCap('press_open_menu')
- CurrentActionData = {}
- end
-end)
-
-AddEventHandler('esx_dmvschool:hasExitedMarker', function(zone)
- CurrentAction = nil
- ESX.CloseContext()
-end)
-
-RegisterNetEvent('esx_dmvschool:loadLicenses')
-AddEventHandler('esx_dmvschool:loadLicenses', function(licenses)
- Licenses = licenses
-end)
-
--- Create Blips
-CreateThread(function()
- local blip = AddBlipForCoord(Config.Zones.DMVSchool.Pos.x, Config.Zones.DMVSchool.Pos.y, Config.Zones.DMVSchool.Pos.z)
-
- SetBlipSprite (blip, 408)
- SetBlipDisplay(blip, 4)
- SetBlipScale (blip, 1.2)
- SetBlipAsShortRange(blip, true)
-
- BeginTextCommandSetBlipName("STRING")
- AddTextComponentSubstringPlayerName(TranslateCap('driving_school_blip'))
- EndTextCommandSetBlipName(blip)
-end)
-
--- Display markers
-CreateThread(function()
- while true do
- local sleep = 1500
- local playerPed = PlayerPedId()
- local coords = GetEntityCoords(playerPed)
-
- for k,v in pairs(Config.Zones) do
- local Pos = vector3(v.Pos.x, v.Pos.y, v.Pos.z)
- if(v.Type ~= -1 and #(coords - Pos) < Config.DrawDistance) then
- sleep = 0
- DrawMarker(v.Type, v.Pos.x, v.Pos.y, v.Pos.z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, v.Size.x, v.Size.y, v.Size.z, v.Color.r, v.Color.g, v.Color.b, 100, false, true, 2, false, false, false, false)
- end
- end
-
- if CurrentTest == 'theory' then
-
- sleep = 0
- DisableControlAction(0, 1, true) -- LookLeftRight
- DisableControlAction(0, 2, true) -- LookUpDown
- DisablePlayerFiring(playerPed, true) -- Disable weapon firing
- DisableControlAction(0, 142, true) -- MeleeAttackAlternate
- DisableControlAction(0, 106, true) -- VehicleMouseControlOverride
- end
-
- if CurrentTest == 'drive' then
- sleep = 0
- local nextCheckPoint = CurrentCheckPoint + 1
-
- if Config.CheckPoints[nextCheckPoint] == nil then
- if DoesBlipExist(CurrentBlip) then
- RemoveBlip(CurrentBlip)
- end
-
- CurrentTest = nil
-
- ESX.ShowNotification(TranslateCap('driving_test_complete'))
-
- if DriveErrors < Config.MaxErrors then
- StopDriveTest(true)
- else
- StopDriveTest(false)
- end
- else
- if CurrentCheckPoint ~= LastCheckPoint then
- if DoesBlipExist(CurrentBlip) then
- RemoveBlip(CurrentBlip)
- end
-
- CurrentBlip = AddBlipForCoord(Config.CheckPoints[nextCheckPoint].Pos.x, Config.CheckPoints[nextCheckPoint].Pos.y, Config.CheckPoints[nextCheckPoint].Pos.z)
- SetBlipRoute(CurrentBlip, 1)
-
- LastCheckPoint = CurrentCheckPoint
- end
-
- local Pos = vector3(Config.CheckPoints[nextCheckPoint].Pos.x,Config.CheckPoints[nextCheckPoint].Pos.y,Config.CheckPoints[nextCheckPoint].Pos.z)
- local distance = #(coords - Pos)
-
- if distance <= Config.DrawDistance then
- DrawMarker(1, Config.CheckPoints[nextCheckPoint].Pos.x, Config.CheckPoints[nextCheckPoint].Pos.y, Config.CheckPoints[nextCheckPoint].Pos.z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, 1.5, 1.5, 1.5, 102, 204, 102, 100, false, true, 2, false, false, false, false)
- end
-
- if distance <= 3.0 then
- Config.CheckPoints[nextCheckPoint].Action(playerPed, CurrentVehicle, SetCurrentZoneType)
- CurrentCheckPoint = CurrentCheckPoint + 1
- end
- end
- end
-
- if CurrentAction then
- sleep = 0
- ESX.ShowHelpNotification(CurrentActionMsg)
-
- if (IsControlJustReleased(0, 38)) and (CurrentAction == 'dmvschool_menu') then
- OpenDMVSchoolMenu()
- CurrentAction = nil
- end
- end
-
- local isInMarker = false
- local currentZone = nil
-
- for k,v in pairs(Config.Zones) do
- local Pos = vector3(v.Pos.x, v.Pos.y, v.Pos.z)
- if(#(coords - Pos) < v.Size.x) then
- sleep = 0
- isInMarker = true
- currentZone = k
- end
- end
-
- if (isInMarker and not HasAlreadyEnteredMarker) or (isInMarker and LastZone ~= currentZone) then
- HasAlreadyEnteredMarker = true
- LastZone = currentZone
- TriggerEvent('esx_dmvschool:hasEnteredMarker', currentZone)
- end
-
- if not isInMarker and HasAlreadyEnteredMarker then
- HasAlreadyEnteredMarker = false
- TriggerEvent('esx_dmvschool:hasExitedMarker', LastZone)
- end
- Wait(sleep)
- end
-end)
-
--- Speed / Damage control
-CreateThread(function()
- while true do
- local sleep = 1500
-
- if CurrentTest == 'drive' then
- sleep = 0
- local playerPed = PlayerPedId()
-
- if IsPedInAnyVehicle(playerPed, false) then
-
- local vehicle = GetVehiclePedIsIn(playerPed, false)
- local speed = GetEntitySpeed(vehicle) * Config.SpeedMultiplier
- local tooMuchSpeed = false
-
- for k,v in pairs(Config.SpeedLimits) do
- if CurrentZoneType == k and speed > v then
- tooMuchSpeed = true
-
- if not IsAboveSpeedLimit then
- DriveErrors = DriveErrors + 1
- IsAboveSpeedLimit = true
-
- ESX.ShowNotification(TranslateCap('driving_too_fast', v))
- ESX.ShowNotification(TranslateCap('errors', DriveErrors, Config.MaxErrors))
- end
- end
- end
-
- if not tooMuchSpeed then
- IsAboveSpeedLimit = false
- end
-
- local health = GetEntityHealth(vehicle)
- if health < LastVehicleHealth then
-
- DriveErrors = DriveErrors + 1
-
- ESX.ShowNotification(TranslateCap('you_damaged_veh'))
- ESX.ShowNotification(TranslateCap('errors', DriveErrors, Config.MaxErrors))
-
- -- avoid stacking faults
- LastVehicleHealth = health
- Wait(1500)
- end
- end
- end
- Wait(sleep)
- end
-end)
diff --git a/[esx_addons]/esx_dmvschool/config.lua b/[esx_addons]/esx_dmvschool/config.lua
deleted file mode 100644
index 06c64ed4..00000000
--- a/[esx_addons]/esx_dmvschool/config.lua
+++ /dev/null
@@ -1,185 +0,0 @@
-Config = {}
-Config.DrawDistance = 10.0
-Config.MaxErrors = 5
-Config.SpeedMultiplier = 3.6
-Config.Locale = GetConvar('esx:locale', 'en')
-
-Config.Prices = {
- dmv = 500,
- drive = 2500,
- drive_bike = 3000,
- drive_truck = 5000
-}
-
-Config.VehicleModels = {
- drive = 'blista',
- drive_bike = 'sanchez',
- drive_truck = 'mule3'
-}
-
-Config.SpeedLimits = {
- residence = 50,
- town = 80,
- freeway = 120
-}
-
-Config.Zones = {
-
- DMVSchool = {
- Pos = {x = 239.471, y = -1380.960, z = 32.741},
- Size = {x = 1.5, y = 1.5, z = 1.0},
- Color = {r = 204, g = 204, b = 0},
- Type = 1
- },
-
- VehicleSpawnPoint = {
- Pos = {x = 249.409, y = -1407.230, z = 30.4094, h = 317.0},
- Size = {x = 1.5, y = 1.5, z = 1.0},
- Color = {r = 204, g = 204, b = 0},
- Type = -1
- }
-
-}
-
-Config.CheckPoints = {
-
- {
- Pos = {x = 255.139, y = -1400.731, z = 29.537},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- DrawMissionText(TranslateCap('next_point_speed', Config.SpeedLimits['residence']), 5000)
- end
- },
-
- {
- Pos = {x = 271.874, y = -1370.574, z = 30.932},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- DrawMissionText(TranslateCap('go_next_point'), 5000)
- end
- },
-
- {
- Pos = {x = 234.907, y = -1345.385, z = 29.542},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- CreateThread(function()
- DrawMissionText(TranslateCap('stop_for_ped'), 5000)
- PlaySound(-1, 'RACE_PLACED', 'HUD_AWARDS', false, 0, true)
- FreezeEntityPosition(vehicle, true)
- Wait(4000)
-
- FreezeEntityPosition(vehicle, false)
- DrawMissionText(TranslateCap('good_lets_cont'), 5000)
- end)
- end
- },
-
- {
- Pos = {x = 217.821, y = -1410.520, z = 28.292},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- setCurrentZoneType('town')
-
- CreateThread(function()
- DrawMissionText(TranslateCap('stop_look_left', Config.SpeedLimits['town']), 5000)
- PlaySound(-1, 'RACE_PLACED', 'HUD_AWARDS', false, 0, true)
- FreezeEntityPosition(vehicle, true)
- Wait(6000)
-
- FreezeEntityPosition(vehicle, false)
- DrawMissionText(TranslateCap('good_turn_right'), 5000)
- end)
- end
- },
-
- {
- Pos = {x = 178.550, y = -1401.755, z = 27.725},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- DrawMissionText(TranslateCap('watch_traffic_lightson'), 5000)
- end
- },
-
- {
- Pos = {x = 113.160, y = -1365.276, z = 27.725},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- DrawMissionText(TranslateCap('go_next_point'), 5000)
- end
- },
-
- {
- Pos = {x = -73.542, y = -1364.335, z = 27.789},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- DrawMissionText(TranslateCap('stop_for_passing'), 5000)
- PlaySound(-1, 'RACE_PLACED', 'HUD_AWARDS', false, 0, true)
- FreezeEntityPosition(vehicle, true)
- Wait(6000)
- FreezeEntityPosition(vehicle, false)
- end
- },
-
- {
- Pos = {x = -355.143, y = -1420.282, z = 27.868},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- DrawMissionText(TranslateCap('go_next_point'), 5000)
- end
- },
-
- {
- Pos = {x = -439.148, y = -1417.100, z = 27.704},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- DrawMissionText(TranslateCap('go_next_point'), 5000)
- end
- },
-
- {
- Pos = {x = -453.790, y = -1444.726, z = 27.665},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- setCurrentZoneType('freeway')
-
- DrawMissionText(TranslateCap('hway_time', Config.SpeedLimits['freeway']), 5000)
- PlaySound(-1, 'RACE_PLACED', 'HUD_AWARDS', false, 0, true)
- end
- },
-
- {
- Pos = {x = -463.237, y = -1592.178, z = 37.519},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- DrawMissionText(TranslateCap('go_next_point'), 5000)
- end
- },
-
- {
- Pos = {x = -900.647, y = -1986.28, z = 26.109},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- DrawMissionText(TranslateCap('go_next_point'), 5000)
- end
- },
-
- {
- Pos = {x = 1225.759, y = -1948.792, z = 38.718},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- DrawMissionText(TranslateCap('go_next_point'), 5000)
- end
- },
-
- {
- Pos = {x = 1225.759, y = -1948.792, z = 38.718},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- setCurrentZoneType('town')
- DrawMissionText(TranslateCap('in_town_speed', Config.SpeedLimits['town']), 5000)
- end
- },
-
- {
- Pos = {x = 1163.603, y = -1841.771, z = 35.679},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- DrawMissionText(TranslateCap('gratz_stay_alert'), 5000)
- PlaySound(-1, 'RACE_PLACED', 'HUD_AWARDS', false, 0, true)
- end
- },
-
- {
- Pos = {x = 235.283, y = -1398.329, z = 28.921},
- Action = function(playerPed, vehicle, setCurrentZoneType)
- ESX.Game.DeleteVehicle(vehicle)
- end
- }
-
-}
diff --git a/[esx_addons]/esx_dmvschool/esx_dmvschool.sql b/[esx_addons]/esx_dmvschool/esx_dmvschool.sql
deleted file mode 100644
index 85257ab9..00000000
--- a/[esx_addons]/esx_dmvschool/esx_dmvschool.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('dmv', 'Code de la route'),
- ('drive', 'Permis de conduire'),
- ('drive_bike', 'Permis moto'),
- ('drive_truck', 'Permis camion')
-;
\ No newline at end of file
diff --git a/[esx_addons]/esx_dmvschool/fxmanifest.lua b/[esx_addons]/esx_dmvschool/fxmanifest.lua
deleted file mode 100644
index 9d45cf22..00000000
--- a/[esx_addons]/esx_dmvschool/fxmanifest.lua
+++ /dev/null
@@ -1,40 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX DMV School'
-lua54 'yes'
-version '1.9.0'
-
-shared_script '@es_extended/imports.lua'
-
-server_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'server/main.lua'
-}
-
-client_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'client/main.lua'
-}
-
-ui_page 'html/ui.html'
-
-files {
- 'html/ui.html',
- 'html/logo.png',
- 'html/dmv.png',
- 'html/styles.css',
- 'html/questions.js',
- 'html/scripts.js',
- 'html/debounce.min.js'
-}
-
-dependencies {
- 'es_extended',
- 'esx_license'
-}
diff --git a/[esx_addons]/esx_dmvschool/html/debounce.min.js b/[esx_addons]/esx_dmvschool/html/debounce.min.js
deleted file mode 100644
index 648fe5d3..00000000
--- a/[esx_addons]/esx_dmvschool/html/debounce.min.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- * jQuery throttle / debounce - v1.1 - 3/7/2010
- * http://benalman.com/projects/jquery-throttle-debounce-plugin/
- *
- * Copyright (c) 2010 "Cowboy" Ben Alman
- * Dual licensed under the MIT and GPL licenses.
- * http://benalman.com/about/license/
- */
-(function(b,c){var $=b.jQuery||b.Cowboy||(b.Cowboy={}),a;$.throttle=a=function(e,f,j,i){var h,d=0;if(typeof f!=="boolean"){i=j;j=f;f=c}function g(){var o=this,m=+new Date()-d,n=arguments;function l(){d=+new Date();j.apply(o,n)}function k(){h=c}if(i&&!h){l()}h&&clearTimeout(h);if(i===c&&m>e){l()}else{if(f!==true){h=setTimeout(i?k:l,i===c?e-m:e)}}}if($.guid){g.guid=j.guid=j.guid||$.guid++}return g};$.debounce=function(d,e,f){return f===c?a(d,e,false):a(d,f,e!==false)}})(this);
diff --git a/[esx_addons]/esx_dmvschool/html/dmv.png b/[esx_addons]/esx_dmvschool/html/dmv.png
deleted file mode 100644
index b5cf951f..00000000
Binary files a/[esx_addons]/esx_dmvschool/html/dmv.png and /dev/null differ
diff --git a/[esx_addons]/esx_dmvschool/html/questions.js b/[esx_addons]/esx_dmvschool/html/questions.js
deleted file mode 100644
index 0cc0d572..00000000
--- a/[esx_addons]/esx_dmvschool/html/questions.js
+++ /dev/null
@@ -1,91 +0,0 @@
-var tableauQuestion = [
- {
- question: "If you're going 80 km/h, and you're approaching a residential area you must:",
- propositionA: "You accelerate",
- propositionB: "You keep your speed, if you do not pass other vehicles",
- propositionC: "You slow down",
- propositionD: "You keep your speed",
- reponse: "C"
- },
-
- {
- question: "If you're turning right at a traffic light, but see a pedestrian crossing what do you do:",
- propositionA: "You pass the pedestrian",
- propositionB: "You check that there is no other vehicles around",
- propositionC: "You wait until the pedestrian has crossed",
- propositionD: "You shoot the pedestrian and continue to drive",
- reponse: "C"
- },
-
- {
- question: "Without any prior indication, the speed in a residential area is: __ km/h",
- propositionA: "30 km/h",
- propositionB: "50 km/h",
- propositionC: "40 km/h",
- propositionD: "60 km/h",
- reponse: "B"
- },
-
- {
- question: "Before every lane change you must:",
- propositionA: "Check your mirrors",
- propositionB: "Check your blind spots",
- propositionC: "Signal your intentions",
- propositionD: "All of the above",
- reponse: "D"
- },
-
- {
- question: "What blood alcohol level is classified as driving while intoxicated?",
- propositionA: "0.05%",
- propositionB: "0.18%",
- propositionC: "0.08%",
- propositionD: "0.06%",
- reponse: "C"
- },
-
- {
- question: "When can you continue to drive at a traffic light?",
- propositionA: "When it is green",
- propositionB: "When there is nobody in the intersection",
- propositionC: "You are in a school zone",
- propositionD: "When it is green and / or red and you're turning right",
- reponse: "D"
- },
-
- {
- question: "A pedestrian has a do not cross signal, what do you do?",
- propositionA: "You let them pass",
- propositionB: "You observe before continuing",
- propositionC: "You wave to tell them to cross",
- propositionD: "You continue because your traffic light is green",
- reponse: "D"
- },
-
- {
- question: "What is allowed when passing another vehicle",
- propositionA: "You follow it closely to pass it faster",
- propositionB: "You pass it without leaving the roadway",
- propositionC: "You drive on the opposite side of the road to pass",
- propositionD: "You exceed the speed limit to pass them",
- reponse: "C"
- },
-
- {
- question: "You are driving on a highway which indicates a maximum speed of 120 km/h. But most trafficers drive at 125 km/h, so you should not drive faster than:",
- propositionA: "120 km/h",
- propositionB: "125 km/h",
- propositionC: "130 km/h",
- propositionD: "110 km/h",
- reponse: "A"
- },
-
- {
- question: "When you are overtaken by another vehicle it is important NOT to:",
- propositionA: "Slow Down",
- propositionB: "Check your mirrors",
- propositionC: "Watch other drivers",
- propositionD: "Increase your speed",
- reponse: "D"
- },
-]
diff --git a/[esx_addons]/esx_dmvschool/html/questions_en.js b/[esx_addons]/esx_dmvschool/html/questions_en.js
deleted file mode 100644
index 0cc0d572..00000000
--- a/[esx_addons]/esx_dmvschool/html/questions_en.js
+++ /dev/null
@@ -1,91 +0,0 @@
-var tableauQuestion = [
- {
- question: "If you're going 80 km/h, and you're approaching a residential area you must:",
- propositionA: "You accelerate",
- propositionB: "You keep your speed, if you do not pass other vehicles",
- propositionC: "You slow down",
- propositionD: "You keep your speed",
- reponse: "C"
- },
-
- {
- question: "If you're turning right at a traffic light, but see a pedestrian crossing what do you do:",
- propositionA: "You pass the pedestrian",
- propositionB: "You check that there is no other vehicles around",
- propositionC: "You wait until the pedestrian has crossed",
- propositionD: "You shoot the pedestrian and continue to drive",
- reponse: "C"
- },
-
- {
- question: "Without any prior indication, the speed in a residential area is: __ km/h",
- propositionA: "30 km/h",
- propositionB: "50 km/h",
- propositionC: "40 km/h",
- propositionD: "60 km/h",
- reponse: "B"
- },
-
- {
- question: "Before every lane change you must:",
- propositionA: "Check your mirrors",
- propositionB: "Check your blind spots",
- propositionC: "Signal your intentions",
- propositionD: "All of the above",
- reponse: "D"
- },
-
- {
- question: "What blood alcohol level is classified as driving while intoxicated?",
- propositionA: "0.05%",
- propositionB: "0.18%",
- propositionC: "0.08%",
- propositionD: "0.06%",
- reponse: "C"
- },
-
- {
- question: "When can you continue to drive at a traffic light?",
- propositionA: "When it is green",
- propositionB: "When there is nobody in the intersection",
- propositionC: "You are in a school zone",
- propositionD: "When it is green and / or red and you're turning right",
- reponse: "D"
- },
-
- {
- question: "A pedestrian has a do not cross signal, what do you do?",
- propositionA: "You let them pass",
- propositionB: "You observe before continuing",
- propositionC: "You wave to tell them to cross",
- propositionD: "You continue because your traffic light is green",
- reponse: "D"
- },
-
- {
- question: "What is allowed when passing another vehicle",
- propositionA: "You follow it closely to pass it faster",
- propositionB: "You pass it without leaving the roadway",
- propositionC: "You drive on the opposite side of the road to pass",
- propositionD: "You exceed the speed limit to pass them",
- reponse: "C"
- },
-
- {
- question: "You are driving on a highway which indicates a maximum speed of 120 km/h. But most trafficers drive at 125 km/h, so you should not drive faster than:",
- propositionA: "120 km/h",
- propositionB: "125 km/h",
- propositionC: "130 km/h",
- propositionD: "110 km/h",
- reponse: "A"
- },
-
- {
- question: "When you are overtaken by another vehicle it is important NOT to:",
- propositionA: "Slow Down",
- propositionB: "Check your mirrors",
- propositionC: "Watch other drivers",
- propositionD: "Increase your speed",
- reponse: "D"
- },
-]
diff --git a/[esx_addons]/esx_dmvschool/html/questions_es.js b/[esx_addons]/esx_dmvschool/html/questions_es.js
deleted file mode 100644
index efd70570..00000000
--- a/[esx_addons]/esx_dmvschool/html/questions_es.js
+++ /dev/null
@@ -1,91 +0,0 @@
-var tableauQuestion = [
- {
- question: "Si vas a 80 km / h, y te aproximas a una zona residencial, debes:",
- propositionA: "Acelerar",
- propositionB: "Mantienes tu velocidad, si no pasas otros vehículos.",
- propositionC: "Frenas",
- propositionD: "Mantienes la velocidad",
- reponse: "C"
- },
-
- {
- question: "Si está girando a la derecha en un semáforo, pero ve un cruce de peatones, ¿qué hace?",
- propositionA: "Pasas del peaton",
- propositionB: "Comprueba que no hay otros vehículos alrededor.",
- propositionC: "Esperas hasta que el peatón haya cruzado.",
- propositionD: "Disparas al peatón y sigues conduciendo.",
- reponse: "C"
- },
-
- {
- question: "Sin ninguna indicación previa, la velocidad en una zona residencial es de: __ km / h",
- propositionA: "30 km/h",
- propositionB: "50 km/h",
- propositionC: "40 km/h",
- propositionD: "60 km/h",
- reponse: "B"
- },
-
- {
- question: "Antes de cada cambio de carril debe:",
- propositionA: "Mirar por los espejos",
- propositionB: "Comprobar los puntos muertos del vehiculo",
- propositionC: "Señalizar tu intención de girar",
- propositionD: "Todas las anteriores",
- reponse: "D"
- },
-
- {
- question: "¿Qué nivel de alcohol en la sangre se clasifica como conducir bajo los efectos del alcohol?",
- propositionA: "0,5",
- propositionB: "0,1",
- propositionC: "0,8",
- propositionD: "0,0",
- reponse: "C"
- },
-
- {
- question: "¿Cuándo puedes continuar conduciendo en un semáforo?",
- propositionA: "Cuando esta verde",
- propositionB: "Cuando no esta cruzando nadie",
- propositionC: "Cuando estas en una zona de colegio",
- propositionD: "Cuando estas entre un 60 u 80 km/h",
- reponse: "A"
- },
-
- {
- question: "Un peatón tiene una señal de no cruzar, ¿qué haces?",
- propositionA: "Le dejas cruzar",
- propositionB: "Te quedas mirandolo",
- propositionC: "Le dices que cruce para que lo puedas atropellar",
- propositionD: "Continuas porque tu señal de tráfico esta en verde",
- reponse: "D"
- },
-
- {
- question: "¿Que esta permitido cuando adelantas a otro vehículo?",
- propositionA: "Lo sigues de cerca para pasarlo más rápido.",
- propositionB: "Lo adelantas por la acera si es necesario.",
- propositionC: "Conduce por el lado opuesto de la carretera para adelantarlo.",
- propositionD: "Lo adelantas rapido",
- reponse: "C"
- },
-
- {
- question: "Usted está conduciendo en una carretera que indica una velocidad máxima de 120 km / h. Pero la mayoría de los conductores conducen a 125 km / h, por lo que no debe conducir más rápido que:",
- propositionA: "120 km/h",
- propositionB: "125 km/h",
- propositionC: "130 km/h",
- propositionD: "110 km/h",
- reponse: "A"
- },
-
- {
- question: "Cuando es superado por otro vehículo, es importante NO:",
- propositionA: "Seguir con la misma velocidad",
- propositionB: "Comprobar los espejos",
- propositionC: "Mirar a otros conductores",
- propositionD: "Aumentar la velocidad",
- reponse: "D"
- },
-]
diff --git a/[esx_addons]/esx_dmvschool/html/questions_fi.js b/[esx_addons]/esx_dmvschool/html/questions_fi.js
deleted file mode 100644
index 58aa65f6..00000000
--- a/[esx_addons]/esx_dmvschool/html/questions_fi.js
+++ /dev/null
@@ -1,91 +0,0 @@
-var tableauQuestion = [
- {
- question: "Jos ajat 80km/h ja vastaan on tulossa asutus alue mitä teet ?",
- propositionA: "Painat kaasua että pääset mahollisimman nopeaa pois",
- propositionB: "Voit ajaa samaa vauhtia jos alueella ei ole muita autoja",
- propositionC: "Sinun pitää hidastaa",
- propositionD: "Voit jatkaa samaan malliin",
- reponse: "C"
- },
-
- {
- question: "Kun olet kääntymässä vasemmalle vihreistä valoista, näet jalankulkian jalkakäytävällä. Kummalla on lupa mennä ensin.",
- propositionA: "Jalankulkijalla koska he voivat mennä tien yli millä valoilla tahansa",
- propositionB: "Sinulla koska valo oli vihreä",
- propositionC: "Jalankulkijalla, koska hänellä palaa vihreä valo",
- propositionD: "Sinulla koska ajoneuvolla on aina oikeus ensin",
- reponse: "C"
- },
-
- {
- question: "Muualla ilmoittamatta, sallittu nopeus asutusalueella on ____ km/h.",
- propositionA: "50",
- propositionB: "55",
- propositionC: "65",
- propositionD: "70",
- reponse: "A"
- },
-
- {
- question: "Ennen jokaista kaistan vaihtoa, sinun pitäisi?",
- propositionA: "Katsoa peilit",
- propositionB: "Katsoa kuolleet kulmat",
- propositionC: "Näyttää vilkuilla mitä aijot tehdä",
- propositionD: "Kaikki yllä mainitut",
- reponse: "D"
- },
-
- {
- question: "Minkä veren alkoholipitoisuus luokitellaan päihtyneeksi?",
- propositionA: "0.2 promillea",
- propositionB: "0.8 promillea",
- propositionC: "0.5 promillea",
- propositionD: "0.4 promillea",
- reponse: "C"
- },
-
- {
- question: "Sinun on vedettävä sivuun ja pysähtyä, kunnes hälyytysajoneuvo on ajanut ohi sireenit päällä, ellei:",
- propositionA: "Sinulla ole kiirre",
- propositionB: "Jos hälyytysajoneuvolla on toisella kaistalla tilaa",
- propositionC: "Olet koulunalueella",
- propositionD: "Olet risteyksessä",
- reponse: "D"
- },
-
- {
- question: "Täytyykö poliisin vilkkuviin valoihin pysähtyä jos ne seuraavat sinua?",
- propositionA: "Ei, jos poliisilla ei ole sireenejä päällä",
- propositionB: "Kyllä",
- propositionC: "Riippuu tilanteesta",
- propositionD: "Ei",
- reponse: "B"
- },
-
- {
- question: "Mikä seuraavista on sallittua kun aloitat ohittaan ajoneuvoa?",
- propositionA: "Ajaminen lähellä ennen ohitusta",
- propositionB: "Koitat ajaa katukivetyksen kautta",
- propositionC: "Ajaminen vastakkaisella kaistalla",
- propositionD: "Nopeusrajoituksen ylittäminen",
- reponse: "A"
- },
-
- {
- question: "Ajat moottoritiellä, jonka nopeus on 120 km/h. Suurinosa liikenteestä ajaa 130km/h, joten sinun ei pitäisi ajaa nopeampaa kuin",
- propositionA: "80 kmh",
- propositionB: "40 kmh",
- propositionC: "50 kmh",
- propositionD: "120 kmh",
- reponse: "D"
- },
-
- {
- question: "Kun sinut ohittaa toinen ajoneuvo, mitä sinun EI pitäisi tehdä?",
- propositionA: "Hiljentää",
- propositionB: "Tarkistaa peilit",
- propositionC: "Katsot toista kuskia",
- propositionD: "Kiihdyttää",
- reponse: "D"
- },
-]
diff --git a/[esx_addons]/esx_dmvschool/html/questions_it.js b/[esx_addons]/esx_dmvschool/html/questions_it.js
deleted file mode 100644
index 8944d8b5..00000000
--- a/[esx_addons]/esx_dmvschool/html/questions_it.js
+++ /dev/null
@@ -1,91 +0,0 @@
-var tableauQuestion = [
- {
- question: "Se stai andando a 80 km/h, e ti stai avvicinando a una zona residenziale devi::",
- propositionA: "Accellerare",
- propositionB: "Mantieni la velocità, se non sorpassi altri veicoli",
- propositionC: "Ralenti",
- propositionD: "Mantieni la velocità",
- reponse: "C"
- },
-
- {
- question: "Se al semaforo stai svoltaando a destra, ma vedi un pedone cosa fai:",
- propositionA: "Superi il pedone",
- propositionB: "Controlli che non ci siano altri veicoli in giro",
- propositionC: "Aspetti che il pedone abbia attraversato",
- propositionD: "Spari al pedone e continui a guidare",
- reponse: "C"
- },
-
- {
- question: "Senza alcuna indicazione preventiva, la velocità in una zona residenziale è: __ km/h",
- propositionA: "30 km/h",
- propositionB: "50 km/h",
- propositionC: "40 km/h",
- propositionD: "60 km/h",
- reponse: "B"
- },
-
- {
- question: "Prima di ogni cambio si corsia devi:",
- propositionA: "Controllare gli specchietti",
- propositionB: "Controllare i punti ciechi",
- propositionC: "Segnalare le tue intenzioni",
- propositionD: "Tutte le risposte sono esatte",
- reponse: "D"
- },
-
- {
- question: "Quale livello di alcol nel sangue è classificato come guida in stato di ebbrezza?",
- propositionA: "0.05%",
- propositionB: "0.18%",
- propositionC: "0.08%",
- propositionD: "0.06%",
- reponse: "C"
- },
-
- {
- question: "Quando puoi continuare a guidare a un semaforo?",
- propositionA: "Quando è verde",
- propositionB: "Quando non c'è nessuno all'incrocio",
- propositionC: "Quando sei in una zona scolastca",
- propositionD: "Quando è verde e/o rosso e stai girando a destra",
- reponse: "D"
- },
-
- {
- question: "Un pedone ha un segnale di non attraversare, cosa fai?",
- propositionA: "Li lasci passare",
- propositionB: "Osservi prima di continuare",
- propositionC: "Fai la mano per dire loro di attraversare",
- propositionD: "Continui perchè il tuo semaforo è verde",
- reponse: "D"
- },
-
- {
- question: "Cosa è consentito quando si supera un'altro veicolo",
- propositionA: "Lo segui da vicino per superarlo velocemente",
- propositionB: "Lo passi senza lasciare la carreggiata",
- propositionC: "Si guida sul lato opposto della strada per passare",
- propositionD: "Si supera il limite di velocità per superarli",
- reponse: "C"
- },
-
- {
- question: "Stai guidando su un'autostrada che indica una velocità massima di 120 km/h. Ma la maggior parte dei trafficanti guida a 125 km/h, quindi non dovresti guidare più veloce di:",
- propositionA: "120 km/h",
- propositionB: "125 km/h",
- propositionC: "130 km/h",
- propositionD: "110 km/h",
- reponse: "A"
- },
-
- {
- question: "Quando vieni sorpassato da un altro veicolo è importane NON:",
- propositionA: "Rallentare",
- propositionB: "Controllare gli specchietti",
- propositionC: "Guardare gli altri automobilisti",
- propositionD: "Aumentare la tua velocità",
- reponse: "D"
- },
-]
diff --git a/[esx_addons]/esx_dmvschool/html/questions_nl.js b/[esx_addons]/esx_dmvschool/html/questions_nl.js
deleted file mode 100644
index 94a82463..00000000
--- a/[esx_addons]/esx_dmvschool/html/questions_nl.js
+++ /dev/null
@@ -1,91 +0,0 @@
-var tableauQuestion = [
- {
- question: "Als je 80 km/h gaat, en je nadert een woonwijk dan moet je:",
- propositionA: "Je geeft gas bij",
- propositionB: "Je behoudt je snelheid, zo lang je niemand inhaalt",
- propositionC: "Je behoudt je snelheid",
- propositionD: "Je remt af",
- reponse: "D"
- },
-
- {
- question: "Als je rechts gaat bij een stoplicht, maar dan ziet iemand oversteken wat doe je dan:",
- propositionA: "Je wacht totdat de voetganger is overgestoken",
- propositionB: "Je passeert de voetganger",
- propositionC: "Je kijkt of er geen voertuigen om je heen zijn",
- propositionD: "Je rijdt de voetganger aan en maakt dat je weg komt",
- reponse: "A"
- },
-
- {
- question: "Zonder enige indicatie, de snelheid in een woonwijk is: __ km/h",
- propositionA: "30 km/u",
- propositionB: "50 km/u",
- propositionC: "40 km/u",
- propositionD: "60 km/u",
- reponse: "A"
- },
-
- {
- question: "Voordat je van rijstrook veranderd moet je:",
- propositionA: "Kijk in je spiegels",
- propositionB: "Kijk in je blinde hoek",
- propositionC: "Gebruik je knipperlicht naar de correcte rijbaan",
- propositionD: "Alles hierboven",
- reponse: "D"
- },
-
- {
- question: "Wat bloed alcohol level word gezien als rijden onder invloed?",
- propositionA: "0.05%",
- propositionB: "0.18%",
- propositionC: "0.08%",
- propositionD: "0.06%",
- reponse: "C"
- },
-
- {
- question: "Wanneer kan je doorrijden bij een verkeerslicht?",
- propositionA: "Wanneer het groen is",
- propositionB: "Wanneer er niemand bij het kruispunt is",
- propositionC: "Als je in een school zone bent",
- propositionD: "Als je boven de 100km/u rijdt.",
- reponse: "A"
- },
-
- {
- question: "Een voetganger heeft een rood licht om over te steken",
- propositionA: "Je laat diegene passeren",
- propositionB: "Je observeert wat diegene doet en gaat vervolgens door omdat het groen is.",
- propositionC: "Je signaleert diegene om over te steken",
- propositionD: "Je gaat door want je hebt groen licht.",
- reponse: "D"
- },
-
- {
- question: "Wat is toegestaan als je een voertuig inhaalt",
- propositionA: "Je gaat bumper kleven om sneller voorbij te gaan",
- propositionB: "Je paseert zonder de weg te verlaten",
- propositionC: "Je rijdt aan de andere kant van de weg om in te halen",
- propositionD: "Je gaat te snel rijden.",
- reponse: "C"
- },
-
- {
- question: "Je rijdt op de snelweg wat een maxiumum snelheid van 120 km/u hanteert maar iedereen rijdt gemiddeld 125 km/u, hoe hard mag je maximaal gaan:",
- propositionA: "120 km/u",
- propositionB: "125 km/u",
- propositionC: "130 km/u",
- propositionD: "110 km/u",
- reponse: "A"
- },
-
- {
- question: "Wanneer je word ingehaald door een ander voertuig is het belangrijk NIET te:",
- propositionA: "Verslomen",
- propositionB: "Je spiegels bekijken",
- propositionC: "Andere bestuurders bekijken",
- propositionD: "Snelheid te verhogen",
- reponse: "D"
- },
-]
diff --git a/[esx_addons]/esx_dmvschool/html/questions_pl.js b/[esx_addons]/esx_dmvschool/html/questions_pl.js
deleted file mode 100644
index cfbf8e03..00000000
--- a/[esx_addons]/esx_dmvschool/html/questions_pl.js
+++ /dev/null
@@ -1,91 +0,0 @@
-var tableauQuestion = [
- {
- question: "Jeśli masz 80 km/h, a zbliżasz się do terenu zabudowanego, musisz:",
- propositionA: "Przyspieszyć",
- propositionB: "Zahamować po czym jechać 50 km/h",
- propositionC: "Zwolnić",
- propositionD: "Zachować prędkość",
- reponse: "C"
- },
-
- {
- question: "Jeśli skręcasz w prawo na światłach bezkolizyjnych, ale widzisz przejście dla pieszych, co robisz:",
- propositionA: "Przepuszczam pieszego",
- propositionB: "Sprawdzam, czy w pobliżu nie ma innych pojazdów",
- propositionC: "Zachowuje szczególną ostrożność i przejeżdżam",
- propositionD: "Strzelam do pieszego i jadę dalej",
- reponse: "C"
- },
-
- {
- question: "Bez wcześniejszego wskazania prędkość w obszarze zabudowanym wynosi: __ km/h",
- propositionA: "40",
- propositionB: "50",
- propositionC: "60",
- propositionD: "70",
- reponse: "B"
- },
-
- {
- question: "Przed każdą zmianą pasa ruchu należy:",
- propositionA: "Spojżeć w lusterka",
- propositionB: "Sprawdź swoje martwe pole",
- propositionC: "Zasygnalizuj swoje zamiary",
- propositionD: "Wszystkie powyższe",
- reponse: "D"
- },
-
- {
- question: "Jaki poziom alkoholu we krwi NIE jest klasyfikowany jako jazda po pijanemu?",
- propositionA: "0.02%",
- propositionB: "0.19%",
- propositionC: "0.05%",
- propositionD: "0.04%",
- reponse: "A"
- },
-
- {
- question: "Kiedy możesz kontynuować jazdę na światłach?",
- propositionA: "Kiedy zaświeci się zielone",
- propositionB: "Kiedy nie ma nikogo na skrzyżowaniu",
- propositionC: "Kiedy zaświeci się żółte",
- propositionD: "Kiedy jest zielony lub czerwony ale skręcasz w prawo",
- reponse: "A"
- },
-
- {
- question: "Przewożąc ładunek gabarytowy możesz poruszać się tylko:",
- propositionA: "Drogami do tego przeznaczonymi",
- propositionB: "Nocami",
- propositionC: "Drogami ekspresowymi",
- propositionD: "Skrzyżowaniami o ruchu okrężnym",
- reponse: "B"
- },
-
- {
- question: "Posiadając prawo jazdy kategorii B możesz prowadzić :",
- propositionA: "Pojazd samochodowy o dopuszczalnej masie całkowitej nieprzekraczającej 3.5 t, z wyjątkiem autobusu i motocykla",
- propositionB: "Zespołem pojazdów złożonym z pojazdu, o którym mowa wyżej, oraz z przyczepy lekkiej",
- propositionC: "Zespołem pojazdów złożonym z pojazdu, o którym mowa wyżej, oraz z przyczepy innej niż lekka, o ile łączna dopuszczalna masa całkowita zespołu tych pojazdów nie przekracza 4250 kg",
- propositionD: "Wszystkie powyższe",
- reponse: "D"
- },
-
- {
- question: "Jedziesz autostradą, która wskazuje maksymalną prędkość 120 km/h. Większość aut jedzie z prędkością 140km/h, więc nie powinieneś jechać szybciej niż:",
- propositionA: "120 km/h",
- propositionB: "130 km/h",
- propositionC: "140 km/h",
- propositionD: "150 km/h",
- reponse: "A"
- },
-
- {
- question: "Wyprzedzając inne pojazdy należy:",
- propositionA: "Zwolnić",
- propositionB: "Trąbić na wyprzedzany pojazd",
- propositionC: "Oglądać wyprzedzany pojazd",
- propositionD: "Zwiększ prędkość",
- reponse: "D"
- },
-]
diff --git a/[esx_addons]/esx_dmvschool/html/questions_sv.js b/[esx_addons]/esx_dmvschool/html/questions_sv.js
deleted file mode 100644
index 6200edcd..00000000
--- a/[esx_addons]/esx_dmvschool/html/questions_sv.js
+++ /dev/null
@@ -1,91 +0,0 @@
-var tableauQuestion = [
- {
- question: "Vilket alternativ beskriver defensiv körning?",
- propositionA: "Motorbromsningar, överhopp av växlar och användande av motorvärmare.",
- propositionB: "Försvarande av den egna positionen genom att exempelvis inte låta någon annan köra om.",
- propositionC: "Lugn, säker och planerad körning utan stress.",
- propositionD: "Då flera fordon kör i någon typ av följe.",
- reponse: "C"
- },
-
- {
- question: "Vad har katalysatorn för uppgift?",
- propositionA: "Dämpar motorljudet (ljuddämpare).",
- propositionB: "Underlättar kallstarter.",
- propositionC: "Omvandlar över 80 % av de skadliga ämnena i avgaserna till vatten och koldioxid.",
- propositionD: "Reducerar bilens koldioxidutsläpp med över 80 %.",
- reponse: "C"
- },
-
- {
- question: "Vad betyder den svarta 30-skylten?",
- propositionA: "Rekommenderad högsta hastighet.",
- propositionB: "Vägarbetet upphör den 30:e samma månad.",
- propositionC: "Rekommenderad lägsta hastighet.",
- propositionD: "Skylten är inget vägmärke, utan är till för vägarbetarna.",
- reponse: "A"
- },
-
- {
- question: "Vad är ett reversibelt körfält?",
- propositionA: "Ett körfält där trafik i båda färdriktningarna tillåts samtidigt.",
- propositionB: "Ett vändbart körfält vars färdriktning bestäms av trafiksignaler.",
- propositionC: "Ett körfält som endast får användas av utryckningsfordon.",
- propositionD: "Ett körfält där man måste se upp för älgar.",
- reponse: "B"
- },
-
- {
- question: "Vilket alternativ ger ett exempel på miljövänlig körning?",
- propositionA: "Körning på så låga växlar som möjligt.",
- propositionB: "Mycket långsam fartökning.",
- propositionC: "Hoppa över växlar.",
- propositionD: "Hålla motorns varvtal på minst 3 000 varv/minut.",
- reponse: "C"
- },
-
- {
- question: "Vad är sant för unga män med körkort?",
- propositionA: "Unga män har en tendens att överskatta sin körförmåga mer när de precis har fått körkort än när de har haft körkort i något år.",
- propositionB: "Unga män löper 5–6 gånger större risk att råka ut för en trafikolycka jämfört med de över 75 år.",
- propositionC: "Unga män har bäst reaktionstid i trafiken.",
- propositionD: "Unga män har en tendens att överskatta sin körförmåga mer när de har haft körkort i något år än när de precis har fått körkort.",
- reponse: "D"
- },
-
- {
- question: "Var går gränsen för rattfylleri?",
- propositionA: "0,1 promille alkohol i blodet.",
- propositionB: "0,2 promille alkohol i blodet.",
- propositionC: "1,0 promille alkohol i blodet.",
- propositionD: "1,2 promille alkohol i blodet.",
- reponse: "B"
- },
-
- {
- question: "Vad är reaktionssträckan?",
- propositionA: "Sträckan du förflyttas från det att du upptäckt hindret tills dess att du börjar bromsa.",
- propositionB: "Reaktionstiden + bromssträckan.",
- propositionC: "Bromssträckan + stoppsträckan.",
- propositionD: "Sträckan du förflyttas från det att du upptäckt hindret tills dess att du står stilla.",
- reponse: "A"
- },
-
- {
- question: "Du ökar hastigheten från 30 km/h till 90 km/h. Hur påverkas bromssträckan?",
- propositionA: "Den blir 9 gånger längre.",
- propositionB: "Den blir 3 gånger längre.",
- propositionC: "Den blir 2 gånger längre.",
- propositionD: "Den förblir oförändrad.",
- reponse: "A"
- },
-
- {
- question: "Hur stor del av människans synfält utgörs av periferiseendet?",
- propositionA: "1-2 %",
- propositionB: "25 %",
- propositionC: "50 %",
- propositionD: "98-99 %",
- reponse: "D"
- },
-]
diff --git a/[esx_addons]/esx_dmvschool/html/scripts.js b/[esx_addons]/esx_dmvschool/html/scripts.js
deleted file mode 100644
index 56d70097..00000000
--- a/[esx_addons]/esx_dmvschool/html/scripts.js
+++ /dev/null
@@ -1,137 +0,0 @@
-// question variables
-var questionNumber = 1;
-var userAnswer = [];
-var goodAnswer = [];
-var questionUsed = [];
-var nbQuestionToAnswer = 10; // don't forget to change the progress bar max value in html
-var nbAnswerNeeded = 5; // out of nbQuestionToAnswer
-var nbPossibleQuestions = 10; // number of questions in database questions.js
-var lastClick = 0;
-
-function getRandomQuestion() {
- var random = Math.floor(Math.random() * nbPossibleQuestions);
-
- while (true) {
- if (questionUsed.indexOf(random) === -1) {
- break;
- }
-
- random = Math.floor(Math.random() * nbPossibleQuestions);
- }
-
- questionUsed.push(random);
-
- return random;
-}
-
-// Partial Functions
-function closeMain() {
- $(".home").css("display", "none");
-}
-function openMain() {
- $(".home").css("display", "block");
-}
-function closeAll() {
- $(".body").css("display", "none");
-}
-function openQuestionnaire() {
- $(".questionnaire-container").css("display", "block");
- var randomQuestion = getRandomQuestion();
-
- $("#questionNumero").html("Question: " + questionNumber);
- $("#question").html(tableauQuestion[randomQuestion].question);
- $(".answerA").html(tableauQuestion[randomQuestion].propositionA);
- $(".answerB").html(tableauQuestion[randomQuestion].propositionB);
- $(".answerC").html(tableauQuestion[randomQuestion].propositionC);
- $(".answerD").html(tableauQuestion[randomQuestion].propositionD);
- $('input[name=question]').attr('checked', false);
-
- goodAnswer.push(tableauQuestion[randomQuestion].reponse);
- $(".questionnaire-container .progression").val(questionNumber - 1);
-}
-function openResultGood() {
- $(".resultGood").css("display", "block");
-}
-function openResultBad() {
- $(".resultBad").css("display", "block");
-}
-function openContainer() {
- $(".question-container").css("display", "block");
-}
-function closeContainer() {
- $(".question-container").css("display", "none");
-}
-
-// Listen for NUI Events
-window.addEventListener('message', function (event) {
- var item = event.data;
-
- // Open & Close main window
- if (item.openQuestion == true) {
- openContainer();
- openMain();
- }
-
- if (item.openQuestion == false) {
- closeContainer();
- closeMain();
- }
-
- // Open sub-windows / partials
- if (item.openSection == "question") {
- closeAll();
- openQuestionnaire();
- }
-});
-
-// Handle Button Presses
-$(".btnQuestion").click(function () {
- $.post('http://esx_dmvschool/question', JSON.stringify({}));
-});
-
-$(".btnClose").click(function () {
- $.post('http://esx_dmvschool/close', JSON.stringify({}));
- userAnswer = [];
- goodAnswer = [];
- questionUsed = [];
- questionNumber = 1;
-});
-
-$(".btnKick").click(function () {
- $.post('http://esx_dmvschool/kick', JSON.stringify({}));
- userAnswer = [];
- goodAnswer = [];
- questionUsed = [];
- questionNumber = 1;
-});
-
-// Handle Form Submits
-$("#question-form").submit(function (e) {
- e.preventDefault();
-
- if (questionNumber != nbQuestionToAnswer) {
- //question 1 to 9: pushing answer in array
- closeAll();
- userAnswer.push($('input[name="question"]:checked').val());
- questionNumber++;
- openQuestionnaire();
- } else {
- // question 10: comparing arrays and sending number of good answers
- userAnswer.push($('input[name="question"]:checked').val());
- var nbGoodAnswer = 0;
- for (i = 0; i < nbQuestionToAnswer; i++) {
- if (userAnswer[i] == goodAnswer[i]) {
- nbGoodAnswer++;
- }
- }
-
- closeAll();
- if (nbGoodAnswer >= nbAnswerNeeded) {
- openResultGood();
- } else {
- openResultBad();
- }
- }
-
- return false;
-});
diff --git a/[esx_addons]/esx_dmvschool/html/styles.css b/[esx_addons]/esx_dmvschool/html/styles.css
deleted file mode 100644
index ad39fba4..00000000
--- a/[esx_addons]/esx_dmvschool/html/styles.css
+++ /dev/null
@@ -1,187 +0,0 @@
-html {
- overflow: hidden;
- font-family: 'Open Sans', sans-serif;
-}
-
-.full-screen {
- width: 100%;
- height: 100%;
- display: flex;
- align-items: center;
-}
-
-.question-container {
- width: 70%;
- height: 700px;
- background-color: #fff;
- border: 1px solid #222;
- border-radius: 1px;
- margin-left: auto;
- margin-right: auto;
- overflow: hidden;
- z-index: 9999999;
- display: none;
-}
-
-.header {
- width: 100%;
- height: 20%;
- background-color: #eee;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: center;
-}
-
-.header .logo {
- width: 80%;
- max-height: 50%;
- margin: auto;
- margin-bottom: 0;
-}
-
-.header h1 {
- font-size: 2em;
- text-align: center;
- margin: auto;
-}
-
-.body {
- width: 100%;
- height: 80%;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- display: none;
-}
-
-.content {
- display: flex;
- flex-direction: column;
- align-self: center;
- width: 90%;
- height: 70%;
- margin: auto;
- border: none;
-}
-
-.content .logo {
- width: auto;
- max-height: auto;
- margin: auto;
- margin-bottom: 0;
-}
-
-.content h2, p {
- margin: 5px;
-}
-
-.buttonspot {
- display: flex;
- flex-direction: column;
- align-self: center;
- width: auto;
- height: 15%;
- margin: auto;
- border: none;
-}
-
-.buttonspot h2, p {
- margin: 5px;
-}
-
-.button {
- width: 30%;
- height: 40px;
- align-self: center;
- text-align: center;
- margin-left: 40px;
- margin-right: 40px;
- background: #6699ff;
- background-image: linear-gradient(to bottom, #6699ff, #4d88ff);
- border-radius: 4px;
- color: #ffffff;
- font-size: 1.5em;
- text-decoration: none;
-}
-
-.form {
- display: flex;
- flex-direction: row;
- justify-content: center;
- flex-wrap: wrap;
- width: 100%;
- margin-top: 5px;
-}
-
-.form div {
- margin: auto;
- margin-top: 5px;
- margin-bottom: 5px;
- width: 100%;
-}
-
-.submit {
- align-items: center;
- height: 30px;
- text-align: center;
- width: 30%;
- background: #017ebc;
- background-image: linear-gradient(to bottom, #6699ff, #4d88ff);
- border-radius: 4px;
- color: #fff;
- font-size: 1.2em;
- margin-top: 10px;
-}
-
-.barre-progression {
- width: 50%;
- align-self: center;
- height: 10%;
- margin: auto;
- margin-top: 0;
- display: flex;
- flex-wrap: wrap;
- justify-content: center;
- padding: 0;
-}
-
-.barre-progression h2 {
- width: 100%;
- height: 60%;
- text-align: center;
- display: flex;
- justify-content: center;
- align-items: center;
- margin: 0;
- color: #6699ff;
-}
-
-.progression {
- width: 80%;
- border: 0 none;
- background: #ddd;
- border-radius: 14px;
- box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.5), 0px 1px 0px rgba(255, 255, 255, 0.2);
-}
-
-.progression::-moz-progress-bar {
- background: #FFF;
- border-radius: 14px;
- box-shadow: inset 0 -2px 4px rgba(0, 0, 0, 0.4), 0 2px 5px 0px rgba(0, 0, 0, 0.3);
-}
-
-.progression::-webkit-progress-bar {
- background: transparent;
-}
-
-.progression::-webkit-progress-value {
- background-image: linear-gradient(to bottom, #6699ff, #4d88ff);
- border-radius: 14px;
- box-shadow: inset 0 -2px 4px rgba(0, 0, 0, 0.4), 0 2px 5px 0px rgba(0, 0, 0, 0.3);
-}
-
-.bold-text {
- font-weight: bold;
- font-size: 1.3em;
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_dmvschool/html/ui.html b/[esx_addons]/esx_dmvschool/html/ui.html
deleted file mode 100644
index 1c841c2f..00000000
--- a/[esx_addons]/esx_dmvschool/html/ui.html
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
Driving School
-
-
-
-
-
-
-
-
-
Welcome to Driving School
-
-
-
All citizens of Los Santos must pass their exam before they can drive.
- Take your time, answer with common sense, and do not answer randomly.
-
- Theory Test
- - The Theory Test costs $200, this is not refunded if you fail the test.
- - Don't be afraid, the driving school accepts credit, but be careful not to get into debt.
- - If you fail your test the first time, you can't retake it immediately, you'll have to take it at a later
- date.
-
- Driving Test
- - The Driving Test costs $500, just like the theory test, this payment will not be refunded if you fail.
- - Make sure you stay alert whilst driving, and avoid accidents!
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/[esx_addons]/esx_dmvschool/html/ui_en.html b/[esx_addons]/esx_dmvschool/html/ui_en.html
deleted file mode 100644
index 1c841c2f..00000000
--- a/[esx_addons]/esx_dmvschool/html/ui_en.html
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
Driving School
-
-
-
-
-
-
-
-
-
Welcome to Driving School
-
-
-
All citizens of Los Santos must pass their exam before they can drive.
- Take your time, answer with common sense, and do not answer randomly.
-
- Theory Test
- - The Theory Test costs $200, this is not refunded if you fail the test.
- - Don't be afraid, the driving school accepts credit, but be careful not to get into debt.
- - If you fail your test the first time, you can't retake it immediately, you'll have to take it at a later
- date.
-
- Driving Test
- - The Driving Test costs $500, just like the theory test, this payment will not be refunded if you fail.
- - Make sure you stay alert whilst driving, and avoid accidents!
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/[esx_addons]/esx_dmvschool/html/ui_es.html b/[esx_addons]/esx_dmvschool/html/ui_es.html
deleted file mode 100644
index ce2cf51c..00000000
--- a/[esx_addons]/esx_dmvschool/html/ui_es.html
+++ /dev/null
@@ -1,119 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
Escuela de Conducción
-
-
-
-
-
-
-
-
-
Bienvenido a la Escuela de Conducción
-
-
-
Todos los ciudadanos de la ciudad deben aprobar su examen antes de poder conducir.
- Tómese su tiempo, responda con sentido común y no conteste al azar.
-
- Examen teórico
- - La prueba teórica cuesta $ 200, esto no se reembolsa si falla la prueba.
- - No tenga miedo, la escuela de conducción acepta crédito, pero tenga cuidado de no entrar en deuda.
- - Si falla la prueba la primera vez, no puede volver a tomarla de inmediato, tendrá que realizarla más adelante.
-
- Examen de Conducir
- - La prueba de conducir cuesta $500, al igual que la prueba de la teoría, este pago no se devolverá si fallas.
- - ¡Asegúrate de estar alerta mientras conduces y de evitar accidentes!
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/[esx_addons]/esx_dmvschool/html/ui_fi.html b/[esx_addons]/esx_dmvschool/html/ui_fi.html
deleted file mode 100644
index 5e679388..00000000
--- a/[esx_addons]/esx_dmvschool/html/ui_fi.html
+++ /dev/null
@@ -1,122 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
Autokoulu
-
-
-
-
-
-
-
-
-
Tervetuloa autokouluun
-
-
-
Vaadimme kaikilta kansalaisilta että pääset läpi teoriaoppitestin ennen kuin voit saada voimassa olevan
- ajokortin.
- Varaa aikaa ja vastaa maalaisjärjellä, älä yritä vastata tuurilla.
-
-
-
- Teoriakoe
- - Teoriakoe maksaa 200 € ja siitä ei voi saada rahoja takaisin jos epäonnistut
- - Älä huoli, Autokoulu antaa maksaa luotolla, mutta älä ota liian paljon luottoa
- - Jos epäonnistut testissä, et voi ottaa sitä heti uudelleen, palaa takaisin toisella kertaa yrittään
- uudelleen.
-
- Inssi
- - Ajokortti vaihtoehtoja on useita ja hinnat vaihtelee niitten mukaan.
- - Inssin päätavote on kiinittää huomiota yksityiskohtiin, ympäristöön ja liikenteeseen. Älä myöskään kolaroi!
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/[esx_addons]/esx_dmvschool/html/ui_it.html b/[esx_addons]/esx_dmvschool/html/ui_it.html
deleted file mode 100644
index 8b1c59bb..00000000
--- a/[esx_addons]/esx_dmvschool/html/ui_it.html
+++ /dev/null
@@ -1,119 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
Scuola Guida
-
-
-
-
-
-
-
-
-
Benvenuto alla Scuola Guida
-
-
-
Tutti i cittadini di Los Santos devono superare l'esame prima di poter governare.
- Prenditi il tuo tempo, rispondi con il buon senso e non rispondere a caso.
-
- Prova di teoria
- - Il test di teoria costa $ 200, questo non viene rimborsato se non superi il test.
- - Non abbiate paura, la scuola guida accetta crediti, ma attenzione a non indebitarvi.
- - Se fallisci il test la prima volta, non puoi ripeterlo immediatamente, eseguirlo in un secondo momento.
-
- Esame di guid
- - L'esame di guida costa $ 500, proprio come l'esame di teoria, questo pagamento non verrà rimborsato in caso di esito negativo.
- - Assicurati di stare attento durante la guida ed evitare incidenti!
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/[esx_addons]/esx_dmvschool/html/ui_pl.html b/[esx_addons]/esx_dmvschool/html/ui_pl.html
deleted file mode 100644
index 653ab9cd..00000000
--- a/[esx_addons]/esx_dmvschool/html/ui_pl.html
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
Szkoła Jazdy
-
-
-
-
-
-
-
-
-
Witaj w szkole jazdy.
-
-
-
Wszyscy mieszkańcy naszej wyspy muszą zdać egzamin zanim zaczną jeździć po ulicach.
- Nie spiesz się, odpowiadaj zgodnie z polskimi przepisami i nie odpowiadaj losowo.
-
- Egzamin teoretyczny
- - Test teoretyczny kosztuje 200 $, kwota uiszczana za każde podejście.
- - Jeśli nie zdasz za pierwszym razem możesz przystąpić ponownie
- - Nie obawiaj się, szkoła jazdy akceptuje kredyt, ale uważaj, aby nie zadłużać się za bardzo.
- - Jeśli nie zaliczysz egzaminu teoretycznego, nie możesz przystąpić do egzaminu praktycznego.
-
- Egzamin praktycznyt
- - Egzamin praktyczny kosztuje 500 $, tak jak w przypadku praktyki kwota uiszczana jest za każde podejście.
- - Zachowaj czujność podczas jazdy i unikaj wypadków!
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/[esx_addons]/esx_dmvschool/html/ui_sv.html b/[esx_addons]/esx_dmvschool/html/ui_sv.html
deleted file mode 100644
index dc1a2939..00000000
--- a/[esx_addons]/esx_dmvschool/html/ui_sv.html
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
Körskola
-
-
-
-
-
-
-
-
-
Välkommen till körskolan
-
-
-
Alla medborgare i Los Santos måste ha körkort för att få behörigheten att köra fordon
- Ta din tid, svara med sunt förnuft och svara inte slumpmässigt.
-
- Kunskapsprov
- - Det teoretiska provet kostar 200 SEK, och kommer ej återbetalas om du misslyckas.
- - Var inte rädd, körskolan accepterar kredit. Var dock försiktig så att du inte får en stor skuld.
- - Om du misslyckas med testet första gången kan du inte omedelbart återta det, du måste ta det på ett senare
- tillfälle.
-
- Uppkörning
- - Uppkörningen kostar 500 SEK, precis som den teoretiska delen. Denna betalning återbetalas ej om du
- misslyckas.
- - Se till att du är uppmärksam vid körning och försök undvik olyckor!
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/[esx_addons]/esx_dmvschool/locales/br.lua b/[esx_addons]/esx_dmvschool/locales/br.lua
deleted file mode 100644
index aeb34b53..00000000
--- a/[esx_addons]/esx_dmvschool/locales/br.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-Locales['br'] = {
- ['you_paid'] = 'você pagou $%s para a auto escola',
- ['go_next_point'] = 'vá para o próximo ponto!',
- ['in_town_speed'] = 'entrou na cidade, preste atenção à sua velocidade! Limite de velocidade: %s km/h',
- ['next_point_speed'] = 'vá para o próximo ponto! Limite de velocidade: %s km/h',
- ['stop_for_ped'] = '~r~Pare para o pedestre atravessar o cruzando',
- ['good_lets_cont'] = 'Boa, vamos continuar.',
- ['stop_look_left'] = '~r~Pare and look left. Limite de velocidade: %s km/h',
- ['good_turn_right'] = 'Boa, vire à direita e siga a em frente',
- ['watch_traffic_lightson'] = 'observe o trânsito e acenda suas luzes!',
- ['stop_for_passing'] = '~r~Pare olher para um lado e para o outro e veja ser não tem veículos passando!',
- ['hway_time'] = 'é hora de dirigir na auto-estrada! Limite de velocidade: %s km/h',
- ['gratz_stay_alert'] = 'Estou impressionado, mas não se esqueça de ficar ~r~alerta enquanto dirigindo!',
- ['passed_test'] = 'você passou no teste, parabéns!',
- ['failed_test'] = 'você ~r~falhou no teste, melhor sorte da próxima vez!',
- ['theory_test'] = 'teste teórico de condução',
- ['road_test_car'] = 'teste de habilidades de condução',
- ['road_test_bike'] = 'teste de habilidades da motocicleta',
- ['road_test_truck'] = 'teste de habilidades de caminhão',
- ['school_item'] = '$%s',
- ['driving_school'] = 'escola de condução',
- ['press_open_menu'] = 'pressione [E] para abrir o menu',
- ['driving_school_blip'] = 'escola de condução',
- ['driving_test_complete'] = 'teste de condução concluído',
- ['driving_too_fast'] = '~r~Você está dirigindo rápido demais o limite de velocidade atual é: %s km/h!',
- ['errors'] = 'erros: ~r~%s/%s',
- ['you_damaged_veh'] = 'você danificou o veículo',
- ['not_enough_money'] = 'Você não tem dinheiro suficiente'
-}
diff --git a/[esx_addons]/esx_dmvschool/locales/de.lua b/[esx_addons]/esx_dmvschool/locales/de.lua
deleted file mode 100644
index 3155a93d..00000000
--- a/[esx_addons]/esx_dmvschool/locales/de.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-Locales['de'] = {
- ['you_paid'] = 'Du hast $%s an die Fahrschule gezahlt.',
- ['go_next_point'] = 'Fahre zum nächsten Punkt!',
- ['in_town_speed'] = 'Du begibst dich in ein Wohngebiet! Geschwindigkeitsbegrenzung: %s km/h',
- ['next_point_speed'] = 'Begieb dich zum nächsten Punkt! Geschwindigkeitsbegrenzung: %s km/h',
- ['stop_for_ped'] = '~r~Halte für den Fußgänger.',
- ['good_lets_cont'] = 'Gut gemacht, weiter so.',
- ['stop_look_left'] = '~r~Halte an und schau nach links. Geschwindigkeitsbegrenzung: %s km/h',
- ['good_turn_right'] = 'Weiter so, biege rechts ab und folge der Route.',
- ['watch_traffic_lightson'] = 'Pass auf den Verkehr auf und achte auf deine Beleuchtung!',
- ['stop_for_passing'] = '~r~Halte an für weitere Fahrzeuge!',
- ['hway_time'] = 'Es ist Zeit auf der Autobahn zu fahren! Geschwindigkeitsbegrenzung: %s km/h',
- ['gratz_stay_alert'] = 'Sehr gut, bleibe jedoch immer achtsam während der Fahrt!',
- ['passed_test'] = '~g~Du hast bestanden, herzlichen Glückwunsch!',
- ['failed_test'] = '~r~Du hast nicht bestanden, viel Glück beim nächsten Mal!',
- ['theory_test'] = 'Theoretische Fahrprüfung',
- ['road_test_car'] = 'Praktische Fahrprüfung',
- ['road_test_bike'] = 'Motorrad Fahrprüfung',
- ['road_test_truck'] = 'LKW Fahrprüfung',
- ['school_item'] = '$%s',
- ['driving_school'] = 'Fahrschule',
- ['press_open_menu'] = 'Drücke [~y~E~s~] um das Menü zu öffnen.',
- ['driving_school_blip'] = 'Fahrschule',
- ['driving_test_complete'] = 'Fahrschultest abgeschlossen.',
- ['driving_too_fast'] = '~r~Du fährst zu schnell, die Geschwindigkeitsbegrenzung ist: %s km/h!',
- ['errors'] = 'Fehler: ~r~%s/%s',
- ['you_damaged_veh'] = 'Du hast das Fahrzeug beschädigt.',
- ['not_enough_money'] = 'Du hast nicht genügend Geld.',
-}
diff --git a/[esx_addons]/esx_dmvschool/locales/en.lua b/[esx_addons]/esx_dmvschool/locales/en.lua
deleted file mode 100644
index 7258cb45..00000000
--- a/[esx_addons]/esx_dmvschool/locales/en.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-Locales['en'] = {
- ['you_paid'] = 'you paid $%s to the DMV school',
- ['go_next_point'] = 'go to the next point!',
- ['in_town_speed'] = 'entered town, pay attention to your speed! Speed Limit: %s km/h',
- ['next_point_speed'] = 'go to the next point! Speed Limit: %s km/h',
- ['stop_for_ped'] = '~r~Stop for the pedestrian crossing',
- ['good_lets_cont'] = 'Good, continue.',
- ['stop_look_left'] = '~r~Stop and look left. Speed Limit: %s km/h',
- ['good_turn_right'] = 'Good, turn right and follow the line',
- ['watch_traffic_lightson'] = 'watch the traffic and turn on your lights!',
- ['stop_for_passing'] = '~r~Stop for passing vehicles!',
- ['hway_time'] = 'it\'s time to drive on the highway! Speed Limit: %s km/h',
- ['gratz_stay_alert'] = 'i\'m impressed, but don\'t forget to stay ~r~alert whilst driving!',
- ['passed_test'] = 'you passed the test, congratulations!',
- ['failed_test'] = 'you ~r~failed the test, better luck next time!',
- ['theory_test'] = 'theoretical Driving Test',
- ['road_test_car'] = 'driving Test',
- ['road_test_bike'] = 'motorcycle Skills Test',
- ['road_test_truck'] = 'truck Skills Test',
- ['school_item'] = '$%s',
- ['driving_school'] = 'driving School',
- ['press_open_menu'] = 'press [E] to open the menu',
- ['driving_school_blip'] = 'driving School',
- ['driving_test_complete'] = 'driving test completed',
- ['driving_too_fast'] = '~r~You\'re driving too fast, the current speed limit is: %s km/h!',
- ['errors'] = 'mistakes: ~r~%s/%s',
- ['you_damaged_veh'] = 'you damaged the vehicle',
- ['not_enough_money'] = 'You don\'t have enough money',
-}
diff --git a/[esx_addons]/esx_dmvschool/locales/es.lua b/[esx_addons]/esx_dmvschool/locales/es.lua
deleted file mode 100644
index 1d67c113..00000000
--- a/[esx_addons]/esx_dmvschool/locales/es.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-Locales['es'] = {
- ['you_paid'] = 'Pagaste %s$ a la autoescuela',
- ['go_next_point'] = '¡Vete al siguiente punto!',
- ['in_town_speed'] = '¡Entraste a la ciudad, presta atención a tu velocidad! Límite de velocidad: %s km/h',
- ['next_point_speed'] = '¡Vete al siguiente punto! Límite de velocidad: %s km/h',
- ['stop_for_ped'] = '~r~Para en el paso de peatones',
- ['good_lets_cont'] = 'Bien, continua',
- ['stop_look_left'] = '~r~Para y mira a la izquierda. Límite de velocidad: %s km/h',
- ['good_turn_right'] = 'Bien, gira a la derecha y sigue la línea',
- ['watch_traffic_lightson'] = '¡Mira el tráfico y enciende las luces!',
- ['stop_for_passing'] = '¡~r~Para para que pasen los vehículos!',
- ['hway_time'] = '¡Es hora de conducir por la autopista! Límite de velocidad: %s km/h',
- ['gratz_stay_alert'] = '¡Estoy impresionado pero no dejes de estar ~r~alerta mientras conduces!',
- ['passed_test'] = 'Has aprobado el examen, ¡Enorabuena!',
- ['failed_test'] = 'Has ~r~suspendido el examen, ¡Más suerte la próxima vez!',
- ['theory_test'] = 'Examen teórico de conducir',
- ['road_test_car'] = 'Examen práctico de conducir',
- ['road_test_bike'] = 'Examen práctico de moto',
- ['road_test_truck'] = 'Examen práctico de camiones',
- ['school_item'] = '%s$',
- ['driving_school'] = 'Escuela de conducción',
- ['press_open_menu'] = 'Pulsa [E] para abrir el menú',
- ['driving_school_blip'] = 'Autoescuela',
- ['driving_test_complete'] = 'Examen de conducir finalizado',
- ['driving_too_fast'] = '¡~r~Estás conduciendo muy rápido, el límite de velocidad actual es: %s km/h!',
- ['errors'] = 'Fallos: ~r~%s / %s',
- ['you_damaged_veh'] = '¡Has dañado el vehículo!',
- ['not_enough_money'] = 'No tienes suficiente dinero'
-}
diff --git a/[esx_addons]/esx_dmvschool/locales/fi.lua b/[esx_addons]/esx_dmvschool/locales/fi.lua
deleted file mode 100644
index 8a39b953..00000000
--- a/[esx_addons]/esx_dmvschool/locales/fi.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-Locales['fi'] = {
- ['you_paid'] = 'you paid $%s to the DMV school',
- ['go_next_point'] = 'mene seuraavaan pisteeseen.',
- ['in_town_speed'] = 'saavuit kaupunkiin! Seuraa nopeuttasi Nopeusrajoitus: %s km/h',
- ['next_point_speed'] = 'mene seuraavaan pisteeseen Nopeusrajoitus: %s km/h',
- ['stop_for_ped'] = '~r~Pysähdy katso tietä ylittäviä jalankulikijoita',
- ['good_lets_cont'] = 'Hyvä, jatkakaa.',
- ['stop_look_left'] = '~r~Pysähdy ja katso vasemmalle. Nopeusrajoitus: %s km/h',
- ['good_turn_right'] = 'Hyvä, käänny oikealle ja seuraa kaistaa',
- ['watch_traffic_lightson'] = 'seuraa liikennettä, ja käänny kun valot ovat vihreät!',
- ['stop_for_passing'] = '~r~Pysähdy ohi menevien autojen vuoksi',
- ['hway_time'] = 'on aika mennä moottoritielle. Nopeusrajoitus: %s km/h',
- ['gratz_stay_alert'] = 'onnitelut, ole ~r~tarkkana kun ajat!',
- ['passed_test'] = 'sinä läpäisit kokeen',
- ['failed_test'] = 'sinä ~r~epäonnistuit kokeessa',
- ['theory_test'] = 'teoriakoe',
- ['road_test_car'] = 'ajokoe',
- ['road_test_bike'] = 'moottoripyörä ajokoe',
- ['road_test_truck'] = 'rekka ajokoe',
- ['school_item'] = '$%s',
- ['driving_school'] = 'Autokoulu',
- ['press_open_menu'] = 'paina [E] hankkiaksesi ajokortin',
- ['driving_school_blip'] = 'Autokoulu',
- ['driving_test_complete'] = 'ajokoe suoritettu',
- ['driving_too_fast'] = '~r~Ajat liian nopeeta! Hidasta! Nopeusrajoitus: %s km/h!',
- ['errors'] = 'mistakes: ~r~%s/%s',
- ['you_damaged_veh'] = 'sinä vahingoitit ajoneuvoa. Aja varovaisemmin...',
- ['not_enough_money'] = 'Sinulla ei ole tarpeeksi rahaa'
-}
diff --git a/[esx_addons]/esx_dmvschool/locales/fr.lua b/[esx_addons]/esx_dmvschool/locales/fr.lua
deleted file mode 100644
index 0d2487a8..00000000
--- a/[esx_addons]/esx_dmvschool/locales/fr.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-Locales['fr'] = {
- ['you_paid'] = 'vous avez payé $%s',
- ['go_next_point'] = 'allez vers le prochain passage!',
- ['in_town_speed'] = 'entrée en ville, attention à votre vitesse! Vitesse limite: %s km/h',
- ['next_point_speed'] = 'allez vers le prochain passage! Vitesse limite: %s km/h',
- ['stop_for_ped'] = 'faites rapidement un ~r~stop pour le piéton qui traverse',
- ['good_lets_cont'] = 'Bien! continuons!',
- ['stop_look_left'] = 'marquer rapidement un ~r~stop et regardez à votre gauche. Vitesse limite: %s km/h',
- ['good_turn_right'] = 'Bien! prenez à droite et suivez votre file',
- ['watch_traffic_lightson'] = 'observez le traffic allumez vos feux!',
- ['stop_for_passing'] = 'marquez le stop pour laisser passer les véhicules!',
- ['hway_time'] = 'il est temps d\'aller sur la rocade! Vitesse limite: %s km/h',
- ['gratz_stay_alert'] = 'bravo, restez vigiliant!',
- ['passed_test'] = 'vous avez réussi le test',
- ['failed_test'] = 'vous avez ~r~raté le test',
- ['theory_test'] = 'examen du code',
- ['road_test_car'] = 'examen de conduite [voiture]',
- ['road_test_bike'] = 'examen de conduite [moto]',
- ['road_test_truck'] = 'examen de conduite [camion]',
- ['school_item'] = '$%s',
- ['driving_school'] = 'ecole de conduite',
- ['press_open_menu'] = 'appuyez sur [E] pour ouvrir le menu',
- ['driving_school_blip'] = 'auto-école',
- ['driving_test_complete'] = 'test de conduite terminé',
- ['driving_too_fast'] = 'vous roulez trop vite, vitesse limite: %s km/h!',
- ['errors'] = 'erreurs: ~r~%s/%s',
- ['you_damaged_veh'] = 'vous avez endommagé votre véhicule',
- ['not_enough_money'] = 'Tu n\'as pas assez d\'argent'
-}
diff --git a/[esx_addons]/esx_dmvschool/locales/hu.lua b/[esx_addons]/esx_dmvschool/locales/hu.lua
deleted file mode 100644
index 933ae7a4..00000000
--- a/[esx_addons]/esx_dmvschool/locales/hu.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-Locales['hu'] = {
- ['you_paid'] = 'Fizettél $%s az autósiskolának iskolának!',
- ['go_next_point'] = 'Menj a kövtkező ponthoz!',
- ['in_town_speed'] = 'Beértél a városba, figyelj a sebességedre! A sebesség határ: %s km/h',
- ['next_point_speed'] = 'Menj a következő ponthoz! Sebesség határ: %s km/h',
- ['stop_for_ped'] = 'Mindig ~r~álj meg a zebránál!',
- ['good_lets_cont'] = 'Ügyes, folytasd a vezetést.',
- ['stop_look_left'] = '~r~Álj meg és néz balra. Sebesség határ: %s km/h',
- ['good_turn_right'] = 'Ügyes, fordulj jobbra, és kövesd a vonalat',
- ['watch_traffic_lightson'] = 'Nézd a forgalmat, és kapcsold fel a fényszóróidat!',
- ['stop_for_passing'] = '~r~Álj meg a keresztező autóknak!',
- ['hway_time'] = 'Itt az idő, hogy először vezess autópályán! Sebesség határ: %s km/h',
- ['gratz_stay_alert'] = 'Levagyok nyűgözve, de sose feledd, ~r~NE vezess fáradtan!',
- ['passed_test'] = 'Átmentél a vizsgán, gratulálok!',
- ['failed_test'] = '~r~Megbuktál a vizsgán, pár óra plusz vezetés után próbáld újra!',
- ['theory_test'] = 'Elméleti vizsga',
- ['road_test_car'] = 'Személyautó vizsga',
- ['road_test_bike'] = ' Nagy motor vizsga',
- ['road_test_truck'] = 'Teher autó vizsga',
- ['school_item'] = '$%s',
- ['driving_school'] = 'Autósiskola',
- ['press_open_menu'] = 'Nyomd meg a(z) [E] gombot, hogy megnyisd a menüt.',
- ['driving_school_blip'] = 'Autósiskola',
- ['driving_test_complete'] = 'A vizsga sikeres volt',
- ['driving_too_fast'] = '~r~Túl gyorsan hajtasz,a végén még megállít a rendőr. A sebesség határ: %s km/h!',
- ['errors'] = 'Hibapontok: ~r~%s/%s',
- ['you_damaged_veh'] = 'Összetörted az autót, ez drága lesz.',
- ['not_enough_money'] = 'Nincs elég pénzed!',
-}
diff --git a/[esx_addons]/esx_dmvschool/locales/it.lua b/[esx_addons]/esx_dmvschool/locales/it.lua
deleted file mode 100644
index 465a1719..00000000
--- a/[esx_addons]/esx_dmvschool/locales/it.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-Locales['it'] = {
- ['you_paid'] = 'hai pagato $%s alla scuola guida',
- ['go_next_point'] = 'vai al punto successivo!',
- ['in_town_speed'] = 'sei entrato in città, fai attenzione alla tua velocità! Limite di velocità: %s km/h',
- ['next_point_speed'] = 'vai al punto successivo! Limite di velocità: %s km/h',
- ['stop_for_ped'] = '~r~Stop per il passaggio pedonale',
- ['good_lets_cont'] = 'Bene, continua.',
- ['stop_look_left'] = '~r~Fermati e guarda a sinistra. Limite di velocità: %s km/h',
- ['good_turn_right'] = 'Bene, gira a destra e segui la linea',
- ['watch_traffic_lightson'] = 'guarda il traffico e accendi le luci!',
- ['stop_for_passing'] = '~r~Stop per i veicoli in transito!',
- ['hway_time'] = 'è ora di guidare in autostrada! Limite di velocità: %s km/h',
- ['gratz_stay_alert'] = 'sono impressionato, ma non dimenticare di stare ~r~allerta mentre guidi!',
- ['passed_test'] = 'hai superato il test, congratulazioni!',
- ['failed_test'] = '~r~non hai superato il test, buona fortuna per la prossima volta!',
- ['theory_test'] = 'Test di guida teorico',
- ['road_test_car'] = 'Test di guida auto',
- ['road_test_bike'] = 'Test di guida moto',
- ['road_test_truck'] = 'Test di guida camion',
- ['school_item'] = '$%s',
- ['driving_school'] = 'scuola guida',
- ['press_open_menu'] = 'premi [E] per aprire il menu',
- ['driving_school_blip'] = 'scuola guida',
- ['driving_test_complete'] = 'test di guida completato',
- ['driving_too_fast'] = '~r~stai guidando troppo veloce, il limite di velocità attuale è: %s km/h!',
- ['errors'] = 'errori: ~r~%s/%s',
- ['you_damaged_veh'] = 'hai danneggiato il veicolo',
- ['not_enough_money'] = 'non hai abbastanza soldi',
-}
diff --git a/[esx_addons]/esx_dmvschool/locales/nl.lua b/[esx_addons]/esx_dmvschool/locales/nl.lua
deleted file mode 100644
index c06ce9ae..00000000
--- a/[esx_addons]/esx_dmvschool/locales/nl.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-Locales['nl'] = {
- ['you_paid'] = 'je betaalde €%s aan het CBR',
- ['go_next_point'] = 'ga naar het volgende punt!',
- ['in_town_speed'] = 'We zitten in de stad, let op je snelheid! Snelheids limiet: %s km/h',
- ['next_point_speed'] = 'Ga naar het volgende punt! Snelheids limiet: %s km/h',
- ['stop_for_ped'] = '~r~Stop voor de overstekende voetganger',
- ['good_lets_cont'] = 'Goed, ga verder.',
- ['stop_look_left'] = '~r~Stop en kijk naar links Snelheids limiet: %s km/h',
- ['good_turn_right'] = 'Goed, ga naar rechts en volg de weg.',
- ['watch_traffic_lightson'] = 'Let op het verkeer en zet je lichten aan!',
- ['stop_for_passing'] = '~r~Stop voor passerende voertuigen!',
- ['hway_time'] = 'Het is tijd om op de snelweg te rijden! Snelheids limiet: %s km/h',
- ['gratz_stay_alert'] = 'Ik ben onder de indruk, vergeet tijdens het rijden niet om ~r~alert te blijven!',
- ['passed_test'] = 'je bent geslaagd, gefeliciteerd!',
- ['failed_test'] = 'je bent ~r~gezakt~s~, volgende keer beter!',
- ['theory_test'] = 'Theorie examen',
- ['road_test_car'] = 'Praktijk examen',
- ['road_test_bike'] = 'Motor examen',
- ['road_test_truck'] = 'Vrachtwagen examen',
- ['school_item'] = '€%s',
- ['driving_school'] = 'CBR',
- ['press_open_menu'] = 'klik op [E] om het menu te openen',
- ['driving_school_blip'] = 'CBR',
- ['driving_test_complete'] = 'Praktijk examen gedaan',
- ['driving_too_fast'] = '~r~Je rijd te snel! De snelheids limiet is: %s km/h!',
- ['errors'] = 'Fouten: ~r~%s/%s',
- ['you_damaged_veh'] = 'Je hebt het voertuig beschadigd',
- ['not_enough_money'] = 'Je hebt niet genoeg geld',
-}
diff --git a/[esx_addons]/esx_dmvschool/locales/pl.lua b/[esx_addons]/esx_dmvschool/locales/pl.lua
deleted file mode 100644
index b1527fc5..00000000
--- a/[esx_addons]/esx_dmvschool/locales/pl.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-Locales['pl'] = {
- ['you_paid'] = 'zapłaciłes $%s dla szkoły jazdy.',
- ['go_next_point'] = 'udaj się do nastepnego punktu!',
- ['in_town_speed'] = 'wjeżdżasz do miasta, zachowaj ostrożność! Ograniczenie prędkości: %s km/h',
- ['next_point_speed'] = 'udaj się do nastepnego punktu! Ograniczenie prędkości: %s km/h',
- ['stop_for_ped'] = '~r~Stop przejście dla pieszych',
- ['good_lets_cont'] = 'Świetnie, kontynuuj.',
- ['stop_look_left'] = '~r~Stop spójrz w lewo. Ograniczenie prędkości: %s km/h',
- ['good_turn_right'] = 'Świetnie, skręć w prawo i podążaj za linią',
- ['watch_traffic_lightson'] = 'obserwuj ruch uliczny i włącz światła!',
- ['stop_for_passing'] = '~r~Stop przepuść przejeżdźające pojazdy!',
- ['hway_time'] = 'czas na autostradę! Ograniczenie prędkości: %s km/h',
- ['gratz_stay_alert'] = 'jestem pod wrażeniem, ale nie zapomnij się zatrzymać ~r~alert podczas jazdy!',
- ['passed_test'] = 'Zdałeś egzamin, gratulacje!',
- ['failed_test'] = '~r~Oblałeś egzamin, powodzenia następnym razem!',
- ['theory_test'] = 'ezgamin Teoretyczny',
- ['road_test_car'] = 'egzamin praktyczny kat. B',
- ['road_test_bike'] = 'egzamin praktyczny kat. A',
- ['road_test_truck'] = 'egzamin praktyczny kat. C',
- ['school_item'] = '$%s',
- ['driving_school'] = 'szkoła jazdy',
- ['press_open_menu'] = 'wciśnij [E] by otworzyć menu',
- ['driving_school_blip'] = 'ośrodek egzaminacyjny',
- ['driving_test_complete'] = 'test praktyczny zakończony',
- ['driving_too_fast'] = '~r~Przekroczenie prędkości! , limit prędkości to: %s km/h!',
- ['errors'] = 'błędy: ~r~%s/%s',
- ['you_damaged_veh'] = 'uszkodziłeś auto',
- ['not_enough_money'] = 'Nie masz wystarczająco dużo pieniędzy'
-}
diff --git a/[esx_addons]/esx_dmvschool/locales/si.lua b/[esx_addons]/esx_dmvschool/locales/si.lua
deleted file mode 100644
index cb9c78ea..00000000
--- a/[esx_addons]/esx_dmvschool/locales/si.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-Locales['si'] = {
- ['you_paid'] = 'šoli DMV ste plačali $%s',
- ['go_next_point'] = 'pojdi na naslednjo točko!',
- ['in_town_speed'] = 'vstopil v mesto, bodi pozoren na svojo hitrost! Omejitev hitrosti: %s km/h',
- ['next_point_speed'] = 'pojdi do naslednje točke! Omejitev hitrosti: %s km/h',
- ['stop_for_ped'] = '~r~Stop za pešca pred prehodom',
- ['good_lets_cont'] = 'Good, continue.',
- ['stop_look_left'] = '~r~Stop and look left. Omejitev hitrosti: %s km/h',
- ['good_turn_right'] = 'Good, zavijte desno in sledite črti',
- ['watch_traffic_lightson'] = 'Pazi na promet in prižgi luči!',
- ['stop_for_passing'] = '~r~Stop za mimo vozeča vozila!',
- ['hway_time'] = 'čas je za vožnjo po avtocesti! Omejitev hitrosti: %s km/h',
- ['gratz_stay_alert'] = 'Navdušen sem, vendar med vožnjo ne pozabite ostati ~r~alert!',
- ['passed_test'] = 'opravil si test, čestitam!',
- ['failed_test'] = 'na testu ste bili neuspešni, naslednjič imejte več sreče!',
- ['theory_test'] = 'teoretični vozniški izpit',
- ['road_test_car'] = 'test vožnje',
- ['road_test_bike'] = 'preizkus spretnosti za motorno kolo',
- ['road_test_truck'] = 'preizkus spretnosti za tovornjake',
- ['school_item'] = '$%s',
- ['driving_school'] = 'šola vožnje',
- ['press_open_menu'] = 'pritisnite [E] za odprtje menija',
- ['driving_school_blip'] = 'šola vožnje',
- ['driving_test_complete'] = 'vozniški izpit opravljen',
- ['driving_too_fast'] = '~r~Vozite prehitro, trenutna omejitev hitrosti je: ~km/h!',
- ['errors'] = 'napake: ~r~%s/%s',
- ['you_damaged_veh'] = 'poškodovali ste vozilo',
- ['not_enough_money'] = 'nimaš dovolj denarja',
-}
diff --git a/[esx_addons]/esx_dmvschool/locales/sv.lua b/[esx_addons]/esx_dmvschool/locales/sv.lua
deleted file mode 100644
index 53183c59..00000000
--- a/[esx_addons]/esx_dmvschool/locales/sv.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-Locales['sv'] = {
- ['you_paid'] = 'du betalade ~r~%s SEK till körskolan',
- ['go_next_point'] = 'åk till nästa punkt!',
- ['in_town_speed'] = 'du åker ni i stan, var uppmärksam på din hastighet! hastighetsgräns: ',
- ['next_point_speed'] = 'åk till nästa punkt! hastighetsgräns: %s km/h',
- ['stop_for_ped'] = '~r~Stanna för fotgängare som korsar vägen!',
- ['good_lets_cont'] = 'Bra, fortsätt.',
- ['stop_look_left'] = '~r~Stanna och kolla åt vänster. Hastighetsgräns: %s km/h',
- ['good_turn_right'] = 'Bra, sväng höger och följ linjen',
- ['watch_traffic_lightson'] = 'var vaken i trafiken och sätt på dina lampor!',
- ['stop_for_passing'] = '~r~Stanna för passerande fordon!',
- ['hway_time'] = 'det är dags att köra på motorväg! Hastighetsgräns: %s km/h',
- ['gratz_stay_alert'] = 'jag är imponerad, glöm inte vara ~r~pigg när du kör!',
- ['passed_test'] = 'du passerade provet, gratulerar!',
- ['failed_test'] = 'du ~r~kuggade provet, bättre lycka nästa gång',
- ['theory_test'] = 'teoretiskt körningsprov',
- ['road_test_car'] = 'B-körkort (personbil)',
- ['road_test_bike'] = 'A-körkort (motorcykel)',
- ['road_test_truck'] = 'C-körkort (lastbil)',
- ['school_item'] = '%s SEK',
- ['driving_school'] = 'körskola',
- ['press_open_menu'] = 'tryck [E] för att öppna menyn',
- ['driving_school_blip'] = 'körskola',
- ['driving_test_complete'] = 'körprovet har avslutats',
- ['driving_too_fast'] = '~r~Du kör för snabbt, den nuvarande hastighetsgräns är: %s km/h!',
- ['errors'] = 'misstag: ~r~%s/%s',
- ['you_damaged_veh'] = 'du skadade fordonet!',
- ['not_enough_money'] = 'Du har inte tillräckligt med pengar'
-}
diff --git a/[esx_addons]/esx_dmvschool/localization/de_esx_dmvschool.sql b/[esx_addons]/esx_dmvschool/localization/de_esx_dmvschool.sql
deleted file mode 100644
index d052385e..00000000
--- a/[esx_addons]/esx_dmvschool/localization/de_esx_dmvschool.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('dmv', 'Probeführerschein'),
- ('drive', 'Führerschein'),
- ('drive_bike', 'Motorradschein'),
- ('drive_truck', 'Lastkraftschein')
-;
diff --git a/[esx_addons]/esx_dmvschool/localization/en_esx_dmvschool.sql b/[esx_addons]/esx_dmvschool/localization/en_esx_dmvschool.sql
deleted file mode 100644
index 7a111bc7..00000000
--- a/[esx_addons]/esx_dmvschool/localization/en_esx_dmvschool.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('dmv', 'Driving Permit'),
- ('drive', 'Drivers License'),
- ('drive_bike', 'Motorcycle License'),
- ('drive_truck', 'Commercial Drivers License')
-;
diff --git a/[esx_addons]/esx_dmvschool/localization/es_esx_dmvschool.sql b/[esx_addons]/esx_dmvschool/localization/es_esx_dmvschool.sql
deleted file mode 100644
index a87c5f6a..00000000
--- a/[esx_addons]/esx_dmvschool/localization/es_esx_dmvschool.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('dmv', 'Permiso teórico de conducir'),
- ('drive', 'Permiso de conducir de coche'),
- ('drive_bike', 'Permiso de conducir de moto'),
- ('drive_truck', 'Permiso de conducir de camión')
-;
diff --git a/[esx_addons]/esx_dmvschool/localization/fi_esx_dmvschool.sql b/[esx_addons]/esx_dmvschool/localization/fi_esx_dmvschool.sql
deleted file mode 100644
index 2e5dd812..00000000
--- a/[esx_addons]/esx_dmvschool/localization/fi_esx_dmvschool.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('dmv', 'Teoriakoe'),
- ('drive', 'Autokortti'),
- ('drive_bike', 'Moottoripyöräkortti'),
- ('drive_truck', 'Rekkakortti')
-;
diff --git a/[esx_addons]/esx_dmvschool/localization/fr_esx_dmvschool.sql b/[esx_addons]/esx_dmvschool/localization/fr_esx_dmvschool.sql
deleted file mode 100644
index 35fd2c3d..00000000
--- a/[esx_addons]/esx_dmvschool/localization/fr_esx_dmvschool.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('dmv', 'Permis de conduire'),
- ('drive', 'Licence de conduite'),
- ('drive_bike', 'Permis de motocyclette'),
- ('drive_truck', 'Licence de conduite commerciale')
-;
diff --git a/[esx_addons]/esx_dmvschool/localization/hu_esx_dmvschool.sql b/[esx_addons]/esx_dmvschool/localization/hu_esx_dmvschool.sql
deleted file mode 100644
index 3906c805..00000000
--- a/[esx_addons]/esx_dmvschool/localization/hu_esx_dmvschool.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('dmv', 'Vezetési engedély'),
- ('drive', 'Jogosítvány'),
- ('drive_bike', 'Motoros Jogosítvány'),
- ('drive_truck', 'Kereskedelmi Jogosítvány')
-;
diff --git a/[esx_addons]/esx_dmvschool/localization/nl_esx_dmvschool.sql b/[esx_addons]/esx_dmvschool/localization/nl_esx_dmvschool.sql
deleted file mode 100644
index 45180d16..00000000
--- a/[esx_addons]/esx_dmvschool/localization/nl_esx_dmvschool.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('dmv', 'Theorie examen'),
- ('drive', 'Rijbewijs B'),
- ('drive_bike', 'Motor Rijbewijs'),
- ('drive_truck', 'Vrachtwagen Rijbewijs')
-;
diff --git a/[esx_addons]/esx_dmvschool/localization/si_esx_dmvschool.sql b/[esx_addons]/esx_dmvschool/localization/si_esx_dmvschool.sql
deleted file mode 100644
index 48e4e035..00000000
--- a/[esx_addons]/esx_dmvschool/localization/si_esx_dmvschool.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('dmv', 'CPP Licenca'),
- ('drive', 'Licenca za voznjo avtomobila'),
- ('drive_bike', 'Licenca za voznjo motorja'),
- ('drive_truck', 'Licenca za voznjo tovornjaka')
-;
diff --git a/[esx_addons]/esx_dmvschool/localization/sv_esx_dmvschool.sql b/[esx_addons]/esx_dmvschool/localization/sv_esx_dmvschool.sql
deleted file mode 100644
index ebca81d5..00000000
--- a/[esx_addons]/esx_dmvschool/localization/sv_esx_dmvschool.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('dmv', 'Körkortstillstånd'),
- ('drive', 'B-körkort'),
- ('drive_bike', 'A-körkort'),
- ('drive_truck', 'C-körkort')
-;
diff --git a/[esx_addons]/esx_dmvschool/server/main.lua b/[esx_addons]/esx_dmvschool/server/main.lua
deleted file mode 100644
index 558a0051..00000000
--- a/[esx_addons]/esx_dmvschool/server/main.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-ESX.RegisterServerCallback('esx_dmvschool:canYouPay', function(source, cb, type)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- if xPlayer.getMoney() >= Config.Prices[type] then
- xPlayer.removeMoney(Config.Prices[type], "DMV Purchase")
- TriggerClientEvent('esx:showNotification', source, TranslateCap('you_paid', Config.Prices[type]))
- cb(true)
- else
- cb(false)
- end
-end)
-
-AddEventHandler('esx:playerLoaded', function(source)
- TriggerEvent('esx_license:getLicenses', source, function(licenses)
- TriggerClientEvent('esx_dmvschool:loadLicenses', source, licenses)
- end)
-end)
-
-RegisterNetEvent('esx_dmvschool:addLicense')
-AddEventHandler('esx_dmvschool:addLicense', function(type)
- local source = source
-
- TriggerEvent('esx_license:addLicense', source, type, function()
- TriggerEvent('esx_license:getLicenses', source, function(licenses)
- TriggerClientEvent('esx_dmvschool:loadLicenses', source, licenses)
- end)
- end)
-end)
-
diff --git a/[esx_addons]/esx_drugs/.editorconfig b/[esx_addons]/esx_drugs/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_drugs/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_drugs/.gitattributes b/[esx_addons]/esx_drugs/.gitattributes
deleted file mode 100644
index dfe07704..00000000
--- a/[esx_addons]/esx_drugs/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-# Auto detect text files and perform LF normalization
-* text=auto
diff --git a/[esx_addons]/esx_drugs/LICENSE b/[esx_addons]/esx_drugs/LICENSE
deleted file mode 100644
index 394fc45a..00000000
--- a/[esx_addons]/esx_drugs/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
-GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_drugs/README.md b/[esx_addons]/esx_drugs/README.md
deleted file mode 100644
index 95f0481e..00000000
--- a/[esx_addons]/esx_drugs/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
[ESX] Drugs
Discord - Website - Documentation
-
-Who loves some good old Marijuana? I hope you do! Cause this resource lets you grow, pick, proccess and roll your own to either use for personal use or do some shady deals to sell off your stock to earn **lots** of money!
-
-# Legal
-
-esx_drugs - Drugs Job
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
diff --git a/[esx_addons]/esx_drugs/client/main.lua b/[esx_addons]/esx_drugs/client/main.lua
deleted file mode 100644
index 77cd648d..00000000
--- a/[esx_addons]/esx_drugs/client/main.lua
+++ /dev/null
@@ -1,157 +0,0 @@
-local menuOpen = false
-local inZoneDrugShop = false
-local inRangeMarkerDrugShop = false
-local cfgMarker = Config.Marker;
-
---slow loop
-CreateThread(function()
- while true do
- local playerPed = PlayerPedId()
- local coords = GetEntityCoords(playerPed)
- local distDrugShop = #(coords - Config.CircleZones.DrugDealer.coords)
-
- inRangeMarkerDrugShop = false
- if(distDrugShop <= Config.Marker.Distance) then
- inRangeMarkerDrugShop = true
- end
-
- if distDrugShop < 1 then
- inZoneDrugShop = true
- else
- inZoneDrugShop = false
- if menuOpen then
- menuOpen=false
- end
- end
-
- Wait(500)
- end
-end)
-
---drawk marker
-CreateThread(function()
- while true do
- local Sleep = 1500
- if(inRangeMarkerDrugShop) then
- Sleep = 0
- local coordsMarker = Config.CircleZones.DrugDealer.coords
- local color = cfgMarker.Color
- DrawMarker(cfgMarker.Type, coordsMarker.x, coordsMarker.y,coordsMarker.z - 1.0,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
- cfgMarker.Size, color.r,color.g,color.b,color.a,
- false, true, 2, false, nil, nil, false)
- end
- Wait(Sleep)
- end
-end)
-
---main loop
-CreateThread(function ()
- while true do
- local Sleep = 1500
- if inZoneDrugShop and not menuOpen then
- Sleep = 0
- ESX.ShowHelpNotification(TranslateCap('dealer_prompt'),true)
- if IsControlJustPressed(0, 38) then
- OpenDrugShop()
- end
- end
- Wait(Sleep)
- end
-end)
-
-function OpenDrugShop()
- local elements = {
- {unselectable = true, icon = "fas fa-cannabis", title = TranslateCap('dealer_title')}
- }
- menuOpen = true
-
- for k, v in pairs(ESX.GetPlayerData().inventory) do
- local price = Config.DrugDealerItems[v.name]
-
- if price and v.count > 0 then
- elements[#elements+1] = {
- icon = "fas fa-shopping-basket",
- title = ('%s - %s'):format(v.label, TranslateCap('dealer_item', ESX.Math.GroupDigits(price))),
- name = v.name,
- price = price,
- }
- end
- end
-
- ESX.OpenContext("right", elements, function(menu,element)
- local elements2 = {
- {unselectable = true, icon = "fas fa-shopping-basket", title = element.title},
- {icon = "fas fa-shopping-basket", title = "Amount", input = true, inputType = "number", inputPlaceholder = "Amount you want to sell", inputMin = Config.SellMenu.Min, inputMax = Config.SellMenu.Max},
- {icon = "fas fa-check-double", title = "Confirm", val = "confirm"}
- }
-
- ESX.OpenContext("right", elements2, function(menu2,element2)
- local amount = menu2.eles[2].inputValue
- ESX.CloseContext()
- TriggerServerEvent('esx_drugs:sellDrug', element.name, amount)
- end, function(menu)
- menuOpen = false
- end)
- end, function(menu)
- menuOpen = false
- end)
-end
-
-AddEventHandler('onResourceStop', function(resource)
- if resource == GetCurrentResourceName() then
- if menuOpen then
- ESX.CloseContext()
- end
- end
-end)
-
-function OpenBuyLicenseMenu(licenseName)
- menuOpen = true
- local license = Config.LicensePrices[licenseName]
-
- local elements = {
- {unselectable = true, title = TranslateCap('purchase_license')},
- {title = ('%s - %s'):format(license.label, TranslateCap('dealer_item', ESX.Math.GroupDigits(license.price))), value = licenseName, price = license.price, licenseName = license.label}
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- ESX.TriggerServerCallback('esx_drugs:buyLicense', function(boughtLicense)
- if boughtLicense then
- ESX.CloseContext()
- ESX.ShowNotification(TranslateCap('license_bought', element.licenseName, ESX.Math.GroupDigits(element.price)))
- else
- ESX.ShowNotification(TranslateCap('license_bought_fail', element.licenseName))
- end
- end, element.value)
- end, function(menu)
- menuOpen = false
- end)
-end
-
-function CreateBlipCircle(coords, text, radius, color, sprite)
- local blip = AddBlipForRadius(coords, radius)
-
- SetBlipHighDetail(blip, true)
- SetBlipColour(blip, 1)
- SetBlipAlpha (blip, 128)
-
- -- create a blip in the middle
- blip = AddBlipForCoord(coords)
-
- SetBlipHighDetail(blip, true)
- SetBlipSprite (blip, sprite)
- SetBlipScale (blip, 1.0)
- SetBlipColour (blip, color)
- SetBlipAsShortRange(blip, true)
-
- BeginTextCommandSetBlipName("STRING")
- AddTextComponentSubstringPlayerName(text)
- EndTextCommandSetBlipName(blip)
-end
-
-CreateThread(function()
- for k,zone in pairs(Config.CircleZones) do
- CreateBlipCircle(zone.coords, zone.name, zone.radius, zone.color, zone.sprite)
- end
-end)
diff --git a/[esx_addons]/esx_drugs/client/weed.lua b/[esx_addons]/esx_drugs/client/weed.lua
deleted file mode 100644
index b2b7e931..00000000
--- a/[esx_addons]/esx_drugs/client/weed.lua
+++ /dev/null
@@ -1,203 +0,0 @@
-local spawnedWeeds = 0
-local weedPlants = {}
-local isPickingUp, isProcessing = false, false
-
-CreateThread(function()
- while true do
- Wait(700)
- local coords = GetEntityCoords(PlayerPedId())
-
- if #(coords - Config.CircleZones.WeedField.coords) < 50 then
- SpawnWeedPlants()
- end
- end
-end)
-
-CreateThread(function()
- while true do
- local wait = 1000
- local playerPed = PlayerPedId()
- local coords = GetEntityCoords(playerPed)
-
- if #(coords - Config.CircleZones.WeedProcessing.coords) < 1 then
- wait = 2
- if not isProcessing then
- ESX.ShowHelpNotification(TranslateCap('weed_processprompt'))
- end
-
- if IsControlJustReleased(0, 38) and not isProcessing then
- ESX.TriggerServerCallback('esx_drugs:cannabis_count', function(xCannabis)
- if Config.LicenseEnable then
- ESX.TriggerServerCallback('esx_license:checkLicense', function(hasProcessingLicense)
- if hasProcessingLicense then
- ProcessWeed(xCannabis)
- else
- OpenBuyLicenseMenu('weed_processing')
- end
- end, GetPlayerServerId(PlayerId()), 'weed_processing')
- else
- ProcessWeed(xCannabis)
- end
- end)
- end
- end
- Wait(wait)
- end
-end)
-
-function ProcessWeed(xCannabis)
- isProcessing = true
- ESX.ShowNotification(TranslateCap('weed_processingstarted'))
- TriggerServerEvent('esx_drugs:processCannabis')
- if(xCannabis <= 3) then
- xCannabis = 0
- end
- local timeLeft = (Config.Delays.WeedProcessing * xCannabis) / 1000
- local playerPed = PlayerPedId()
-
- while timeLeft > 0 do
- Wait(1000)
- timeLeft = timeLeft - 1
-
- if #(GetEntityCoords(playerPed) - Config.CircleZones.WeedProcessing.coords) > 4 then
- ESX.ShowNotification(TranslateCap('weed_processingtoofar'))
- TriggerServerEvent('esx_drugs:cancelProcessing')
- TriggerServerEvent('esx_drugs:outofbound')
- break
- end
- end
-
- isProcessing = false
-end
-
-CreateThread(function()
- while true do
- local Sleep = 1500
-
- local playerPed = PlayerPedId()
- local coords = GetEntityCoords(playerPed)
- local nearbyObject, nearbyID
-
- for i=1, #weedPlants, 1 do
- if #(coords - GetEntityCoords(weedPlants[i])) < 1.5 then
- nearbyObject, nearbyID = weedPlants[i], i
- end
- end
-
- if nearbyObject and IsPedOnFoot(playerPed) then
- Sleep = 0
- if not isPickingUp then
- ESX.ShowHelpNotification(TranslateCap('weed_pickupprompt'))
- end
-
- if IsControlJustReleased(0, 38) and not isPickingUp then
- isPickingUp = true
-
- ESX.TriggerServerCallback('esx_drugs:canPickUp', function(canPickUp)
- if canPickUp then
- TaskStartScenarioInPlace(playerPed, 'world_human_gardener_plant', 0, false)
-
- Wait(2000)
- ClearPedTasks(playerPed)
- Wait(1500)
-
- ESX.Game.DeleteObject(nearbyObject)
-
- table.remove(weedPlants, nearbyID)
- spawnedWeeds = spawnedWeeds - 1
-
- TriggerServerEvent('esx_drugs:pickedUpCannabis')
- else
- ESX.ShowNotification(TranslateCap('weed_inventoryfull'))
- end
-
- isPickingUp = false
- end, 'cannabis')
- end
- end
- Wait(Sleep)
- end
-end)
-
-AddEventHandler('onResourceStop', function(resource)
- if resource == GetCurrentResourceName() then
- for k, v in pairs(weedPlants) do
- ESX.Game.DeleteObject(v)
- end
- end
-end)
-
-function SpawnWeedPlants()
- while spawnedWeeds < 25 do
- Wait(0)
- local weedCoords = GenerateWeedCoords()
-
- ESX.Game.SpawnLocalObject('prop_weed_02', weedCoords, function(obj)
- PlaceObjectOnGroundProperly(obj)
- FreezeEntityPosition(obj, true)
-
- table.insert(weedPlants, obj)
- spawnedWeeds = spawnedWeeds + 1
- end)
- end
-end
-
-function ValidateWeedCoord(plantCoord)
- if spawnedWeeds > 0 then
- local validate = true
-
- for k, v in pairs(weedPlants) do
- if #(plantCoord - GetEntityCoords(v)) < 5 then
- validate = false
- end
- end
-
- if #(plantCoord - Config.CircleZones.WeedField.coords) > 50 then
- validate = false
- end
-
- return validate
- else
- return true
- end
-end
-
-function GenerateWeedCoords()
- while true do
- Wait(0)
-
- local weedCoordX, weedCoordY
-
- math.randomseed(GetGameTimer())
- local modX = math.random(-90, 90)
-
- Wait(100)
-
- math.randomseed(GetGameTimer())
- local modY = math.random(-90, 90)
-
- weedCoordX = Config.CircleZones.WeedField.coords.x + modX
- weedCoordY = Config.CircleZones.WeedField.coords.y + modY
-
- local coordZ = GetCoordZ(weedCoordX, weedCoordY)
- local coord = vector3(weedCoordX, weedCoordY, coordZ)
-
- if ValidateWeedCoord(coord) then
- return coord
- end
- end
-end
-
-function GetCoordZ(x, y)
- local groundCheckHeights = { 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0 }
-
- for i, height in ipairs(groundCheckHeights) do
- local foundGround, z = GetGroundZFor_3dCoord(x, y, height)
-
- if foundGround then
- return z
- end
- end
-
- return 43.0
-end
diff --git a/[esx_addons]/esx_drugs/config.lua b/[esx_addons]/esx_drugs/config.lua
deleted file mode 100644
index 27409d0e..00000000
--- a/[esx_addons]/esx_drugs/config.lua
+++ /dev/null
@@ -1,40 +0,0 @@
-Config = {}
-
-Config.Locale = GetConvar('esx:locale', 'en')
-
-Config.Delays = {
- WeedProcessing = 1000 * 7
-}
-
-Config.DrugDealerItems = {
- marijuana = 91
-}
-
-Config.LicenseEnable = false -- enable processing licenses? The player will be required to buy a license in order to process drugs. Requires esx_license
-
-Config.LicensePrices = {
- weed_processing = {label = TranslateCap('license_weed'), price = 15000}
-}
-
-Config.GiveBlack = true -- give black money? if disabled it'll give regular cash.
-
-Config.CircleZones = {
- WeedField = {coords = vector3(2220.72, 5582.52, 53.81), name = TranslateCap('blip_weedfield'), color = 25, sprite = 496, radius = 100.0},
- WeedProcessing = {coords = vector3(2329.02, 2571.29, 46.68), name = TranslateCap('blip_weedprocessing'), color = 25, sprite = 496},
-
- DrugDealer = {coords = vector3(-1172.02, -1571.98, 4.66), name = TranslateCap('blip_drugdealer'), color = 6, sprite = 378},
-}
-
-Config.Marker = {
- Distance = 100.0,
- Color = {r=60,g=230,b=60,a=255},
- Size = vector3(1.5,1.5,1.0),
- Type = 1,
-}
-
--- min amount of Config.DrugDealerItems to sell
--- max amount of Config.DrugDealerItems to sell
-Config.SellMenu = {
- Min = 1,
- Max = 50
-}
diff --git a/[esx_addons]/esx_drugs/esx_drugs.sql b/[esx_addons]/esx_drugs/esx_drugs.sql
deleted file mode 100644
index b511100e..00000000
--- a/[esx_addons]/esx_drugs/esx_drugs.sql
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
- ('cannabis', 'Cannabis', 3, 0, 1),
- ('marijuana', 'Marijuana', 2, 0, 1)
-;
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('weed_processing', 'Weed Processing License')
-;
diff --git a/[esx_addons]/esx_drugs/fxmanifest.lua b/[esx_addons]/esx_drugs/fxmanifest.lua
deleted file mode 100644
index 5298065a..00000000
--- a/[esx_addons]/esx_drugs/fxmanifest.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-lua54 'yes'
-description 'ESX Drugs'
-
-version '1.9.0'
-
-shared_script '@es_extended/imports.lua'
-
-server_scripts {
- '@oxmysql/lib/MySQL.lua',
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'server/main.lua'
-}
-
-client_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'client/main.lua',
- 'client/weed.lua'
-}
-
-dependencies {
- 'es_extended'
-}
diff --git a/[esx_addons]/esx_drugs/locales/br.lua b/[esx_addons]/esx_drugs/locales/br.lua
deleted file mode 100644
index dd36f658..00000000
--- a/[esx_addons]/esx_drugs/locales/br.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales ['br'] = {
- -- weed
- ['weed_pickupprompt'] = 'aperte [E] para colher a planta Cannabis.',
- ['weed_quitprocess'] = 'aperte [E] para parar Processar Cannabis.',
- ['weed_inventoryfull'] = 'você não tem mais espaço no inventário para Cannabis.',
- ['weed_processprompt'] = 'aperte [E] para começar Processar Cannabis.',
- ['weed_processingstarted'] = 'processando Cannabis em Maconha...',
- ['weed_processingfull'] = 'processando ~r~cancelado porque o inventário está cheio!',
- ['weed_processingenough'] = 'você prescisa ter 3x Cannabis para poder processar.',
- ['weed_processed'] = 'você processou 3x Cannabis para 1x Maconha',
- ['weed_processingtoofar'] = 'o processamento foi ~r~cancelado porque você abandonou a área.',
-
- -- drug dealer
- ['dealer_prompt'] = 'aperte [E] para falar com o ~r~Drug Dealer.',
- ['dealer_title'] = 'traficante de drogas',
- ['dealer_item'] = '$%s',
- ['dealer_notenough'] = 'você não tem o suficiente disso para vender!',
- ['dealer_sold'] = 'você vendeu %sx %s para$%s',
-
- -- license
- ['license_title'] = 'você precisa tirar uma Licença de Processamento de Ervas para processar este produto, a liçenca pode ser comprada aqui.',
- ['license_no'] = 'não',
- ['license_bought'] = 'você comprou o(a) %s para ~r~$%s',
- ['license_bought_fail'] = 'você não pode pagar um %s!',
- ['license_weed'] = 'Licença de Processamento de Ervas',
-
- -- blips
- ['blip_weedfield'] = 'campo de ervas',
- ['blip_weedprocessing'] = 'Processamento de ervas',
- ['blip_drugdealer'] = 'traficante de drogas',
-}
diff --git a/[esx_addons]/esx_drugs/locales/dk.lua b/[esx_addons]/esx_drugs/locales/dk.lua
deleted file mode 100644
index 5aa312e2..00000000
--- a/[esx_addons]/esx_drugs/locales/dk.lua
+++ /dev/null
@@ -1,30 +0,0 @@
-Locales ['dk'] = {
- -- weed
- ['weed_pickupprompt'] = 'tryk [E] for at høste Cannabis planten.',
- ['weed_inventoryfull'] = 'du har ikke mere plads i dit inventory til Cannabis.',
- ['weed_processprompt'] = 'tryk [E] for at starte Behandling af Cannabis.',
- ['weed_processingstarted'] = 'laver Cannabis om til Marihuana...',
- ['weed_processingfull'] = 'behandling ~r~annulleret på grund af dit inventory er fuldt!',
- ['weed_processingenough'] = 'du skal have ~b2 stks Cannabis for at lave dem om.',
- ['weed_processed'] = 'du har lavet 2 stks Cannabis om til 1 stks Marihuana',
- ['weed_processingtoofar'] = 'din behandling er blevet ~r~annulleret fordi du kom ud af rækkevidde.',
-
- -- drug dealer
- ['dealer_prompt'] = 'tryk [E] for at snakke med ~r~Pusheren.',
- ['dealer_title'] = 'Pusher',
- ['dealer_item'] = '$%s',
- ['dealer_notenough'] = 'Du har ikke nok til at sælge!',
- ['dealer_sold'] = 'Du har solgt %sx %s for $%s',
-
- -- license
- ['license_title'] = 'Du er forpligtet til at eje et behandlingslicens for at lave stoffer, det kan købes her.',
- ['license_no'] = 'nej',
- ['license_bought'] = 'du købte %s for ~r~$%s',
- ['license_bought_fail'] = 'du har ikke råd til en %s!',
- ['license_weed'] = 'Cannabis behandlings licens',
-
- -- blips
- ['blip_weedfield'] = 'Cannabis Mark',
- ['blip_weedprocessing'] = 'Cannabis Behandlingscenter',
- ['blip_drugdealer'] = 'Pusher',
-}
diff --git a/[esx_addons]/esx_drugs/locales/en.lua b/[esx_addons]/esx_drugs/locales/en.lua
deleted file mode 100644
index 888cd334..00000000
--- a/[esx_addons]/esx_drugs/locales/en.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales ['en'] = {
- -- weed
- ['weed_pickupprompt'] = 'press [E] to harvest the Cannabis plant.',
- ['weed_quitprocess'] = 'press [E] to stop Process Cannabis.',
- ['weed_inventoryfull'] = 'you do not have any more inventory space for Cannabis.',
- ['weed_processprompt'] = 'press [E] to start Process Cannabis.',
- ['weed_processingstarted'] = 'processing Cannabis into Marijuana...',
- ['weed_processingfull'] = 'processing ~r~canceled due to full inventory!',
- ['weed_processingenough'] = 'you must have 3x Cannabis in order to process.',
- ['weed_processed'] = 'you\'ve processed 3x Cannabis to 1x Marijuana',
- ['weed_processingtoofar'] = 'the processing has been ~r~canceled due to you abandoning the area.',
-
- -- drug dealer
- ['dealer_prompt'] = 'press [E] to talk with the ~r~Drug Dealer.',
- ['dealer_title'] = 'drug Dealer',
- ['dealer_item'] = '$%s',
- ['dealer_notenough'] = 'you don\'t have enough of that to sell!',
- ['dealer_sold'] = 'you\'ve sold %sx %s for $%s',
-
- -- license
- ['license_title'] = 'you are required to own a processing license to process this product, it can be bought here.',
- ['license_no'] = 'no',
- ['license_bought'] = 'you bought the %s for ~r~$%s',
- ['license_bought_fail'] = 'you cannot afford an %s!',
- ['license_weed'] = 'weed Processing License',
-
- -- blips
- ['blip_weedfield'] = 'weed Field',
- ['blip_weedprocessing'] = 'weed Processing',
- ['blip_drugdealer'] = 'drug Dealer',
-}
diff --git a/[esx_addons]/esx_drugs/locales/es.lua b/[esx_addons]/esx_drugs/locales/es.lua
deleted file mode 100644
index fbfc3a2d..00000000
--- a/[esx_addons]/esx_drugs/locales/es.lua
+++ /dev/null
@@ -1,30 +0,0 @@
-Locales ['es'] = {
- -- weed
- ['weed_pickupprompt'] = 'pulsa [E] para recolectar Marijuana húmeda.',
- ['weed_inventoryfull'] = 'no puedes llevar más Marijuana húmeda!',
- ['weed_processprompt'] = 'pulsa [E] para secar la Marijuana.',
- ['weed_processingstarted'] = 'secando la Marijuana húmeda...',
- ['weed_processingfull'] = 'no puedes llevar más Marijuana!',
- ['weed_processingenough'] = 'necesitas 3x Marijuana húmeda.',
- ['weed_processed'] = 'de 3x Marijuana húmeda has obtenido 1x Marijuana',
- ['weed_processingtoofar'] = 'el secado se ha ~r~cancelado por que has abandonado el área.',
-
- -- drug dealer
- ['dealer_prompt'] = 'pulsa [E] para hablar con el ~r~Camello.',
- ['dealer_title'] = 'camello',
- ['dealer_item'] = '$%s',
- ['dealer_notenough'] = 'esa mierda no es cantidad suficiente para vender!',
- ['dealer_sold'] = 'has vendido %sx %s por $%s',
-
- -- license
- ['license_title'] = 'necesitas un permiso para poder tratar con ese producto, puedes comprarlo aquí.',
- ['license_no'] = 'no',
- ['license_bought'] = 'has comprado %s por ~r~$%s',
- ['license_bought_fail'] = 'no puedes permitirte %s!',
- ['license_weed'] = 'permiso de cultivo de Marijuana',
-
- -- blips
- ['blip_weedfield'] = 'plantación de Marijuana',
- ['blip_weedprocessing'] = 'preparación de Marijuana',
- ['blip_drugdealer'] = 'camello'
-}
diff --git a/[esx_addons]/esx_drugs/locales/et.lua b/[esx_addons]/esx_drugs/locales/et.lua
deleted file mode 100644
index e9f8bee5..00000000
--- a/[esx_addons]/esx_drugs/locales/et.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales ['et'] = {
- -- weed
- ['weed_pickupprompt'] = 'Vajuta [E], et korjata kanepitaime.',
- ['weed_quitprocess'] = 'Vajuta [E], et katkestada kanepitaimede töötlemine.',
- ['weed_inventoryfull'] = 'Sul pole rohkem ruumi kanepitaimede jaoks.',
- ['weed_processprompt'] = 'Vajuta [E], et töödelda kanepitaimesid.',
- ['weed_processingstarted'] = 'Kanepitaimede töötlemine kanepiks...',
- ['weed_processingfull'] = 'Töötlemine ~r~katkestatud, kuna sul pole rohkem ruumi!',
- ['weed_processingenough'] = 'Sul peab olema vähemalt 3x kanepitaime, et töödelda.',
- ['weed_processed'] = 'Sa töötlesid 3x kanepitaime 1x kanepiks',
- ['weed_processingtoofar'] = 'Töötlemine ~r~katkestatud, kuna lahkusid alast.',
-
- -- drug dealer
- ['dealer_prompt'] = 'Vajuta [E], et rääkida ~r~Narko Diileriga.',
- ['dealer_title'] = 'Narko diiler',
- ['dealer_item'] = '$%s',
- ['dealer_notenough'] = 'Sul pole seda piisavalt, et müüa!',
- ['dealer_sold'] = 'Sa müüsid %sx %s $%s eest',
-
- -- license
- ['license_title'] = 'Sul peab olema töötlemis litsents,et seda teha, seda saab ostas siit.',
- ['license_no'] = 'ei',
- ['license_bought'] = 'Sa ostsid %s ~r~$%s eest',
- ['license_bought_fail'] = 'Sul pole piisavalt raha, et osta%s!',
- ['license_weed'] = 'Kanepi töötlemis litsents',
-
- -- blips
- ['blip_weedfield'] = 'Kanepi põld',
- ['blip_weedprocessing'] = 'Kanepi töötlemine',
- ['blip_drugdealer'] = 'Narko diiler',
-}
diff --git a/[esx_addons]/esx_drugs/locales/fr.lua b/[esx_addons]/esx_drugs/locales/fr.lua
deleted file mode 100644
index 9c068f66..00000000
--- a/[esx_addons]/esx_drugs/locales/fr.lua
+++ /dev/null
@@ -1,30 +0,0 @@
-Locales ['fr'] = {
- -- weed
- ['weed_pickupprompt'] = 'appuyez sur [E] pour récolter un plan de Cannabis.',
- ['weed_inventoryfull'] = 'vous n\'avez plus assez de place dans votre inventaire pour récolter du Cannabis.',
- ['weed_processprompt'] = 'appuyez [E] pour démarrer la tranformation du Cannabis.',
- ['weed_processingstarted'] = 'transformation du Cannabis en Marijuana...',
- ['weed_processingfull'] = 'transformation ~r~annulée. Votre inventaire est plein!',
- ['weed_processingenough'] = 'vous devez avoir 3x Cannabis pour lancer une transformation.',
- ['weed_processed'] = 'vous avez transformé 3x Cannabis en 1x Marijuana',
- ['weed_processingtoofar'] = 'la transformation a été ~r~annulée. Vous êtes sorti de la zone.',
-
- -- drug dealer
- ['dealer_prompt'] = 'appuyez sur [E] pour parler avec le ~r~Dealer de drogue.',
- ['dealer_title'] = 'Dealer de drogue',
- ['dealer_item'] = '$%s',
- ['dealer_notenough'] = 't\'en as pas assez à vendre!',
- ['dealer_sold'] = 'vous avez vendu %sx %s pour $%s',
-
- -- license
- ['license_title'] = 'vous devez posséder une license spécifique vous autorisant à transformer ce produit. Vous pouvez l\'acheter ici.',
- ['license_no'] = 'non',
- ['license_bought'] = 'vous avez acheté %s pour ~r~$%s',
- ['license_bought_fail'] = 'vous ne pouvez pas acheter %s!',
- ['license_weed'] = 'permis de transformation de weed',
-
- -- blips
- ['blip_weedfield'] = 'champs de weed',
- ['blip_weedprocessing'] = 'transformation de weed',
- ['blip_drugdealer'] = 'Dealer de drogue',
-}
diff --git a/[esx_addons]/esx_drugs/locales/hu.lua b/[esx_addons]/esx_drugs/locales/hu.lua
deleted file mode 100644
index 60556106..00000000
--- a/[esx_addons]/esx_drugs/locales/hu.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales ['hu'] = {
- -- weed
- ['weed_pickupprompt'] = 'Nyomd meg a [E] gombot a betakarításhoz Kannabisz',
- ['weed_quitprocess'] = 'Nyomd meg a [E] gombot a betakarítás befejezéséhez',
- ['weed_inventoryfull'] = 'Nincs több hely a Kannabisz számára.',
- ['weed_processprompt'] = 'Nyomd meg a [E] gombot a kezdéshez Kannabisz betakarítása.',
- ['weed_processingstarted'] = 'Folyamatban Kannabisz into Marihuana...',
- ['weed_processingfull'] = 'Betakarítás ~r~befejezve a raktár tele',
- ['weed_processingenough'] = 'Rendelkezned kell 3x Kannabisz a végrehajtáshoz',
- ['weed_processed'] = 'Feldolgoztad 3x Kannabisz to 1x Marihuana',
- ['weed_processingtoofar'] = 'A feldolgozás ~r~megszakadt elhagytad a területet.',
-
- -- drug dealer
- ['dealer_prompt'] = 'Nyomd meg a [E] gombot a találkozáshoz a ~r~Dílerrel.',
- ['dealer_title'] = 'Díler',
- ['dealer_item'] = '$%s',
- ['dealer_notenough'] = 'Nincs elég anyagod az eladáshoz',
- ['dealer_sold'] = 'Sikeres eladás %sx %s for $%s',
-
- -- license
- ['license_title'] = 'A feldolgozáshoz engedélyek kellenek, melyeket itt megvehetsz',
- ['license_no'] = 'Nem',
- ['license_bought'] = 'Megvetted a %s for ~r~$%s',
- ['license_bought_fail'] = 'Nincs elég pénzed %s!',
- ['license_weed'] = 'Kannabisz Feldolgozási Engedély',
-
- -- blips
- ['blip_weedfield'] = 'Kannabisz ültetvény',
- ['blip_weedprocessing'] = 'Kannabisz feldolgozás',
- ['blip_drugdealer'] = 'Díler',
-}
diff --git a/[esx_addons]/esx_drugs/locales/it.lua b/[esx_addons]/esx_drugs/locales/it.lua
deleted file mode 100644
index 2d93420e..00000000
--- a/[esx_addons]/esx_drugs/locales/it.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales ['it'] = {
- -- weed
- ['weed_pickupprompt'] = 'premi [E] per raccogliere la pianta di cannabis.',
- ['weed_quitprocess'] = 'premi [E] per interrompere il Processo Cannabis.',
- ['weed_inventoryfull'] = 'non hai più spazio nell\'inventario per la Cannabis.',
- ['weed_processprompt'] = 'premi [E] per avviare il processo Cannabis.',
- ['weed_processingstarted'] = 'trasformando la cannabis in Marijuana...',
- ['weed_processingfull'] = 'elaborazione ~r~annullata a causa dell\'inventario pieno!',
- ['weed_processingenough'] = 'devi avere 3x Cannabis per poter processare.',
- ['weed_processed'] = 'hai trasformato 3x di cannabis in 1x Marijuana',
- ['weed_processingtoofar'] = 'la trasformazione è stata ~r~annullata a causa dell\'abbandono dell\'area .',
-
- -- drug dealer
- ['dealer_prompt'] = 'premi [E] per parlare con il ~r~venditore.',
- ['dealer_title'] = 'venditore',
- ['dealer_item'] = '$%s',
- ['dealer_notenough'] = 'non hai abbastanza merce da vendere!',
- ['dealer_sold'] = 'hai venduto %sx %s per $%s',
-
- -- license
- ['license_title'] = 'devi possedere una licenza di elaborazione per elaborare questo prodotto, può essere acquistata qui.',
- ['license_no'] = 'no',
- ['license_bought'] = 'hai comprato %s per ~r~$%s',
- ['license_bought_fail'] = 'non puoi permetterti un %s!',
- ['license_weed'] = 'licenza elaborazione erba',
-
- -- blips
- ['blip_weedfield'] = 'campo erba',
- ['blip_weedprocessing'] = 'elaborazione erba',
- ['blip_drugdealer'] = 'compratore',
-}
diff --git a/[esx_addons]/esx_drugs/locales/nl.lua b/[esx_addons]/esx_drugs/locales/nl.lua
deleted file mode 100644
index 479c521a..00000000
--- a/[esx_addons]/esx_drugs/locales/nl.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales ['nl'] = {
- -- weed
- ['weed_pickupprompt'] = 'druk op [E] om de Cannabis plant te oogsten.',
- ['weed_quitprocess'] = 'druk op [E] om Proces Cannabis te stoppen.',
- ['weed_inventoryfull'] = 'heb je geen voorraadruimte meer voor Cannabis.',
- ['weed_processprompt'] = 'druk op [E] om Proces Cannabis te starten.',
- ['weed_processingstarted'] = 'Cannabis verwerken tot marihuana...',
- ['weed_processingfull'] = 'verwerking ~r~geannuleerd wegens volle voorraad!',
- ['weed_processingenough'] = 'u moet 3x Cannabis hebben om te kunnen verwerken.',
- ['weed_processed'] = 'je hebt 3x Cannabis verwerkt tot 1x Marihuana',
- ['weed_processingtoofar'] = 'het proces is geannuleerd omdat u het gebied verlaten heeft.',
-
- -- drug dealer
- ['dealer_prompt'] = 'druk op [E] om met de ~r~Drugs Dealer te praten.',
- ['dealer_title'] = 'drugsdealer',
- ['dealer_item'] = '$%s',
- ['dealer_notenough'] = 'heb je daar niet genoeg van om te verkopen!',
- ['dealer_sold'] = 'je hebt %sx %s verkocht voor $%s',
-
- -- license
- ['license_title'] = 'u moet een verwerkingsvergunning hebben om dit product te verwerken, die kunt u hier kopen.',
- ['license_no'] = 'nee',
- ['license_bought'] = 'je kocht de %s voor ~r~$%s',
- ['license_bought_fail'] = 'je kunt je geen %s veroorloven!',
- ['license_weed'] = 'Licentie voor wietverwerking',
-
- -- blips
- ['blip_weedfield'] = 'onkruidveld',
- ['blip_weedprocessing'] = 'onkruidverwerking',
- ['blip_drugdealer'] = 'drugsdealer',
-}
diff --git a/[esx_addons]/esx_drugs/locales/pl.lua b/[esx_addons]/esx_drugs/locales/pl.lua
deleted file mode 100644
index ca85f8a3..00000000
--- a/[esx_addons]/esx_drugs/locales/pl.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales ['pl'] = {
- -- weed (marihuana)
- ['weed_pickupprompt'] = 'naciśnij [E] aby zebrać liście Konopii.',
- ['weed_quitprocess'] = 'naciśnij [E] aby przestać Przerabianie Marihuany.',
- ['weed_inventoryfull'] = '~r~Nie możesz zebrać więcej konopii, nie masz wystarczająco miejsca w ekwipunku!',
- ['weed_processprompt'] = 'naciśnij [E] aby rozpocząć Przerabianie Marihuany.',
- ['weed_processingstarted'] = 'przerabianie Konopii na Marihuane...',
- ['weed_processingfull'] = 'przerabianie ~r~przerwane ponieważ masz pełny ekwipunek!',
- ['weed_processingenough'] = 'potrzebujesz 3x Konopii aby rozpocząć przerabianie.',
- ['weed_processed'] = 'przerobiłeś 3x Konopii na 1x Marihuane',
- ['weed_processingtoofar'] = 'przerabianie zostało ~r~przerwane ponieważ opuściłeś teren.',
-
- -- drug dealer (dealer narkotyków)
- ['dealer_prompt'] = 'naciśnij [E] aby rozmawiać z ~r~Dealerem Narkotyków.',
- ['dealer_title'] = 'dealer Narkotyków',
- ['dealer_item'] = '$%s',
- ['dealer_notenough'] = 'nie masz tego wystarczająco aby to sprzedać!',
- ['dealer_sold'] = 'sprzedałeś %sx %s za $%s',
-
- -- license (licencje)
- ['license_title'] = 'musisz posiadać licencję na przetwarzanie aby przerobić ten produkt, możesz zakupić ją tutaj.',
- ['license_no'] = 'nie',
- ['license_bought'] = 'kupiłeś %s za ~r~$%s',
- ['license_bought_fail'] = 'nie stać cię na %s!',
- ['license_weed'] = 'licencja na przetwarzanie zioła',
-
- -- blips (znaczniki)
- ['blip_weedfield'] = 'plantacja Marihuany',
- ['blip_weedprocessing'] = 'przeróbka Marihuany',
- ['blip_drugdealer'] = 'dealer Narkotyków',
-}
diff --git a/[esx_addons]/esx_drugs/locales/si.lua b/[esx_addons]/esx_drugs/locales/si.lua
deleted file mode 100644
index 554c8aa4..00000000
--- a/[esx_addons]/esx_drugs/locales/si.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-Locales ['si'] = {
- -- trava
- ['weed_pickupprompt'] = 'pritisnite [E], da poberete rastlino Cannabis.',
- ['weed_quitprocess'] = 'pritisnite [E], da ustavite Process Cannabis.',
- ['weed_inventoryfull'] = 'v inventarju ni več prostora za Cannabis.',
- ['weed_processprompt'] = 'pritisnite [E], da začnete Proces Cannabis.',
- ['weed_processingstarted'] = 'obdelava Cannabis v Marijuana...',
- ['weed_processingfull'] = 'obdelava ~r~canceled zaradi polne zaloge!',
- ['weed_processingenough'] = 'za obdelavo moraš imeti 3x Cannabis.',
- ['weed_processed'] = 'predelal si 3x Cannabis v 1x Marijuana',
- ['weed_processingtoofar'] = 'obdelava je bila ~r~zaključena, ker ste zapustili območje.',
-
- -- preprodajalec drog
- ['dealer_prompt'] = 'pritisnite [E] za pogovor s ~r~dilerjem drog.',
- ['dealer_title'] = 'prodajalec drog',
- ['dealer_item'] = '$%s',
- ['dealer_notenough'] = 'nimaš dovolj tega, da bi ga prodal!',
- ['dealer_sold'] = 'prodal si %sx %s za $%s',
-
- -- licenca
- ['licence_title'] = 'za predelavo tega izdelka morate imeti licenco za predelavo, ki jo lahko kupite tukaj.',
- ['licence_no'] = 'ne',
- ['licence_bought'] = 'kupili ste %s za ~r~$%s',
- ['license_bought_fail'] = 'ne morete si privoščiti %s!',
- ['licence_weed'] = 'dovoljenje za predelavo plevela',
-
- -- blips
- ['blip_weedfield'] = 'plevel Field',
- ['blip_weedprocessing'] = 'obdelava plevela',
- ['blip_drugdealer'] = 'trgovec z drogami',
-}
diff --git a/[esx_addons]/esx_drugs/locales/sv.lua b/[esx_addons]/esx_drugs/locales/sv.lua
deleted file mode 100644
index 7f3127ee..00000000
--- a/[esx_addons]/esx_drugs/locales/sv.lua
+++ /dev/null
@@ -1,30 +0,0 @@
-Locales ['sv'] = {
- -- weed
- ['weed_pickupprompt'] = 'tryck [E] för att skörda Cannabisväxten.',
- ['weed_inventoryfull'] = 'du har ingen mer plats för Cannabis.',
- ['weed_processprompt'] = 'tryck [E] för att börja Processera Cannabis.',
- ['weed_processingstarted'] = 'processerar Cannabis till Marijuana...',
- ['weed_processingfull'] = 'processeringen ~r~avbröts för att utrymmet är slut!',
- ['weed_processingenough'] = 'du måste ha 3x Cannabis för att kunna bearbeta det.',
- ['weed_processed'] = 'du har processerat 3x Cannabis till 1x Marijuana',
- ['weed_processingtoofar'] = 'processeringen har ~r~har avbrutit på grund av att du lämnade området.',
-
- -- drug dealer
- ['dealer_prompt'] = 'tryck [E] för att prata med ~r~Drågsäljaren.',
- ['dealer_title'] = 'drogsäljare',
- ['dealer_item'] = '%s SEK',
- ['dealer_notenough'] = 'du har inte tillräckligt med det till salu!',
- ['dealer_sold'] = 'du har sålt %sx %s för %s SEK',
-
- -- license
- ['license_title'] = 'du måste ha ett visst processeringslicens för att kunna bearbeta denna produkt, detta kan dock köpas här.',
- ['license_no'] = 'nej',
- ['license_bought'] = 'du köpte %s för ~r~%s SEK',
- ['license_bought_fail'] = 'du har inte råd för %s!',
- ['license_weed'] = 'marijuana processeringslicens',
-
- -- blips
- ['blip_weedfield'] = 'marijuana plock',
- ['blip_weedprocessing'] = 'marijuana processering',
- ['blip_drugdealer'] = 'drogsäljare',
-}
diff --git a/[esx_addons]/esx_drugs/localization/en_esx_drugs.sql b/[esx_addons]/esx_drugs/localization/en_esx_drugs.sql
deleted file mode 100644
index b511100e..00000000
--- a/[esx_addons]/esx_drugs/localization/en_esx_drugs.sql
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
- ('cannabis', 'Cannabis', 3, 0, 1),
- ('marijuana', 'Marijuana', 2, 0, 1)
-;
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('weed_processing', 'Weed Processing License')
-;
diff --git a/[esx_addons]/esx_drugs/localization/es_esx_drugs.sql b/[esx_addons]/esx_drugs/localization/es_esx_drugs.sql
deleted file mode 100644
index 5a1a0940..00000000
--- a/[esx_addons]/esx_drugs/localization/es_esx_drugs.sql
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
- ('cannabis', 'Marijuana húmeda', 3, 0, 1),
- ('marijuana', 'Marijuana', 2, 0, 1)
-;
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('weed_processing', 'permiso de cultivo de Marijuana')
-;
diff --git a/[esx_addons]/esx_drugs/localization/hu_esx_drugs.sql b/[esx_addons]/esx_drugs/localization/hu_esx_drugs.sql
deleted file mode 100644
index 5e0680a1..00000000
--- a/[esx_addons]/esx_drugs/localization/hu_esx_drugs.sql
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
- ('cannabis', 'Cannabis', 3, 0, 1),
- ('marijuana', 'Marihuána', 2, 0, 1)
-;
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('weed_processing', 'Fű termesztési engedély')
-;
diff --git a/[esx_addons]/esx_drugs/localization/nl_esx_drugs.sql b/[esx_addons]/esx_drugs/localization/nl_esx_drugs.sql
deleted file mode 100644
index b3ab5429..00000000
--- a/[esx_addons]/esx_drugs/localization/nl_esx_drugs.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
- ('cannabis', 'Onvewerkte Wiet', 3, 0, 1),
- ('marijuana', 'Wiet', 2, 0, 1)
-;
-
-INSERT INTO `licenses` (`type`, `label`) VALUES
- ('weed_processing', 'Wiet Processing Vergunning')
-;
diff --git a/[esx_addons]/esx_drugs/server/main.lua b/[esx_addons]/esx_drugs/server/main.lua
deleted file mode 100644
index 6dda8af4..00000000
--- a/[esx_addons]/esx_drugs/server/main.lua
+++ /dev/null
@@ -1,144 +0,0 @@
-local playersProcessingCannabis = {}
-local outofbound = true
-local alive = true
-
-RegisterServerEvent('esx_drugs:sellDrug')
-AddEventHandler('esx_drugs:sellDrug', function(itemName, amount)
- local xPlayer = ESX.GetPlayerFromId(source)
- local price = Config.DrugDealerItems[itemName]
- local xItem = xPlayer.getInventoryItem(itemName)
-
- if not price then
- print(('esx_drugs: %s attempted to sell an invalid drug!'):format(xPlayer.identifier))
- return
- end
-
- if xItem.count < amount then
- xPlayer.showNotification(TranslateCap('dealer_notenough'))
- return
- end
-
- price = ESX.Math.Round(price * amount)
-
- if Config.GiveBlack then
- xPlayer.addAccountMoney('black_money', price, "Drugs Sold")
- else
- xPlayer.addMoney(price, "Drugs Sold")
- end
-
- xPlayer.removeInventoryItem(xItem.name, amount)
- xPlayer.showNotification(TranslateCap('dealer_sold', amount, xItem.label, ESX.Math.GroupDigits(price)))
-end)
-
-ESX.RegisterServerCallback('esx_drugs:buyLicense', function(source, cb, licenseName)
- local xPlayer = ESX.GetPlayerFromId(source)
- local license = Config.LicensePrices[licenseName]
-
- if license then
- if xPlayer.getMoney() >= license.price then
- xPlayer.removeMoney(license.price)
-
- TriggerEvent('esx_license:addLicense', source, licenseName, function()
- cb(true)
- end)
- else
- cb(false)
- end
- else
- print(('esx_drugs: %s attempted to buy an invalid license!'):format(xPlayer.identifier))
- cb(false)
- end
-end)
-
-RegisterServerEvent('esx_drugs:pickedUpCannabis')
-AddEventHandler('esx_drugs:pickedUpCannabis', function()
- local xPlayer = ESX.GetPlayerFromId(source)
- local cime = math.random(5,10)
-
- if xPlayer.canCarryItem('cannabis', cime) then
- xPlayer.addInventoryItem('cannabis', cime)
- else
- xPlayer.showNotification(TranslateCap('weed_inventoryfull'))
- end
-end)
-
-ESX.RegisterServerCallback('esx_drugs:canPickUp', function(source, cb, item)
- local xPlayer = ESX.GetPlayerFromId(source)
- cb(xPlayer.canCarryItem(item, 1))
-end)
-
-RegisterServerEvent('esx_drugs:outofbound')
-AddEventHandler('esx_drugs:outofbound', function()
- outofbound = true
-end)
-
-ESX.RegisterServerCallback('esx_drugs:cannabis_count', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
- local xCannabis = xPlayer.getInventoryItem('cannabis').count
- cb(xCannabis)
-end)
-
-RegisterServerEvent('esx_drugs:processCannabis')
-AddEventHandler('esx_drugs:processCannabis', function()
- if not playersProcessingCannabis[source] then
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
- local xCannabis = xPlayer.getInventoryItem('cannabis')
- local can = true
- outofbound = false
- if xCannabis.count >= 3 then
- while outofbound == false and can do
- if playersProcessingCannabis[source] == nil then
- playersProcessingCannabis[source] = ESX.SetTimeout(Config.Delays.WeedProcessing , function()
- if xCannabis.count >= 3 then
- if xPlayer.canSwapItem('cannabis', 3, 'marijuana', 1) then
- xPlayer.removeInventoryItem('cannabis', 3)
- xPlayer.addInventoryItem('marijuana', 1)
- xPlayer.showNotification(TranslateCap('weed_processed'))
- else
- can = false
- xPlayer.showNotification(TranslateCap('weed_processingfull'))
- TriggerEvent('esx_drugs:cancelProcessing')
- end
- else
- can = false
- xPlayer.showNotification(TranslateCap('weed_processingenough'))
- TriggerEvent('esx_drugs:cancelProcessing')
- end
-
- playersProcessingCannabis[source] = nil
- end)
- else
- Wait(Config.Delays.WeedProcessing)
- end
- end
- else
- xPlayer.showNotification(TranslateCap('weed_processingenough'))
- TriggerEvent('esx_drugs:cancelProcessing')
- end
-
- else
- print(('esx_drugs: %s attempted to exploit weed processing!'):format(GetPlayerIdentifiers(source)[1]))
- end
-end)
-
-function CancelProcessing(playerId)
- if playersProcessingCannabis[playerId] then
- ESX.ClearTimeout(playersProcessingCannabis[playerId])
- playersProcessingCannabis[playerId] = nil
- end
-end
-
-RegisterServerEvent('esx_drugs:cancelProcessing')
-AddEventHandler('esx_drugs:cancelProcessing', function()
- CancelProcessing(source)
-end)
-
-AddEventHandler('esx:playerDropped', function(playerId, reason)
- CancelProcessing(playerId)
-end)
-
-RegisterServerEvent('esx:onPlayerDeath')
-AddEventHandler('esx:onPlayerDeath', function(data)
- CancelProcessing(source)
-end)
diff --git a/[esx_addons]/esx_garage/LICENSE b/[esx_addons]/esx_garage/LICENSE
deleted file mode 100644
index 81473243..00000000
--- a/[esx_addons]/esx_garage/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
diff --git a/[esx_addons]/esx_garage/README.md b/[esx_addons]/esx_garage/README.md
deleted file mode 100644
index e738bc72..00000000
--- a/[esx_addons]/esx_garage/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
[ESX] Garage
Discord - Website - Documentation
-
-Store Your vehicles in style! ESX garage has an amazing New UI to help you be stylish while parking your broken, rusty Nissan Micra!
-
-# Legal
-
-esx_Garage - store vehicles in style!
-
-Copyright (C) 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
diff --git a/[esx_addons]/esx_garage/client/main.lua b/[esx_addons]/esx_garage/client/main.lua
deleted file mode 100644
index bdc4d1ec..00000000
--- a/[esx_addons]/esx_garage/client/main.lua
+++ /dev/null
@@ -1,444 +0,0 @@
-local LastMarker, LastPart, thisGarage, thisPound = nil, nil, nil, nil
-local next = next
-local nearMarker, menuIsShowed = false, false
-local vehiclesList, vehiclesImpoundedList = {}, {}
-
-RegisterNetEvent('esx_garage:closemenu')
-AddEventHandler('esx_garage:closemenu', function()
- menuIsShowed = false
- vehiclesList, vehiclesImpoundedList = {}, {}
-
- SetNuiFocus(false)
- SendNUIMessage({
- hideAll = true
- })
-
- if not menuIsShowed and thisGarage then
- ESX.TextUI(TranslateCap('access_parking'))
- end
- if not menuIsShowed and thisPound then
- ESX.TextUI(TranslateCap('access_Impound'))
- end
-end)
-
-RegisterNUICallback('escape', function(data, cb)
- TriggerEvent('esx_garage:closemenu')
- cb('ok')
-end)
-
-RegisterNUICallback('spawnVehicle', function(data, cb)
- local spawnCoords = vector3(data.spawnPoint.x, data.spawnPoint.y, data.spawnPoint.z)
- if thisGarage then
-
- if ESX.Game.IsSpawnPointClear(spawnCoords, 2.5) then
- thisGarage = nil
- TriggerServerEvent('esx_garage:updateOwnedVehicle', false, nil, nil, data, spawnCoords)
- TriggerEvent('esx_garage:closemenu')
-
- ESX.ShowNotification(TranslateCap('veh_released'))
-
- else
- ESX.ShowNotification(TranslateCap('veh_block'), 'error')
- end
-
- elseif thisPound then
-
- ESX.TriggerServerCallback('esx_garage:checkMoney', function(hasMoney)
- if hasMoney then
- if ESX.Game.IsSpawnPointClear(spawnCoords, 2.5) then
- TriggerServerEvent('esx_garage:payPound', data.exitVehicleCost)
- thisPound = nil
-
- TriggerServerEvent('esx_garage:updateOwnedVehicle', false, nil, nil, data, spawnCoords)
- TriggerEvent('esx_garage:closemenu')
-
- else
- ESX.ShowNotification(TranslateCap('veh_block'), 'error')
- end
- else
- ESX.ShowNotification(TranslateCap('missing_money'))
- end
- end, data.exitVehicleCost)
-
- end
-
- cb('ok')
-end)
-
-RegisterNUICallback('impound', function(data, cb)
- local poundCoords = {
- x = data.poundSpawnPoint.x,
- y = data.poundSpawnPoint.y
- }
-
- TriggerServerEvent('esx_garage:setImpound', data.poundName, data.vehicleProps)
- TriggerEvent('esx_garage:closemenu')
-
- SetNewWaypoint(poundCoords.x, poundCoords.y)
-
- cb('ok')
-end)
-
--- Create Blips
-CreateThread(function()
- for k, v in pairs(Config.Garages) do
- local blip = AddBlipForCoord(v.EntryPoint.x, v.EntryPoint.y, v.EntryPoint.z)
-
- SetBlipSprite(blip, v.Sprite)
- SetBlipDisplay(blip, 4)
- SetBlipScale(blip, v.Scale)
- SetBlipColour(blip, v.Colour)
- SetBlipAsShortRange(blip, true)
-
- BeginTextCommandSetBlipName("STRING")
- AddTextComponentSubstringPlayerName(TranslateCap('parking_blip_name'))
- EndTextCommandSetBlipName(blip)
- end
-
- for k, v in pairs(Config.Impounds) do
- local blip = AddBlipForCoord(v.GetOutPoint.x, v.GetOutPoint.y, v.GetOutPoint.z)
-
- SetBlipSprite(blip, v.Sprite)
- SetBlipDisplay(blip, 4)
- SetBlipScale(blip, v.Scale)
- SetBlipColour(blip, v.Colour)
- SetBlipAsShortRange(blip, true)
-
- BeginTextCommandSetBlipName("STRING")
- AddTextComponentSubstringPlayerName(TranslateCap('Impound_blip_name'))
- EndTextCommandSetBlipName(blip)
- end
-end)
-
-AddEventHandler('esx_garage:hasEnteredMarker', function(name, part)
- if part == 'EntryPoint' then
- local isInVehicle = IsPedInAnyVehicle(ESX.PlayerData.ped, false)
- local garage = Config.Garages[name]
- thisGarage = garage
-
- if isInVehicle then
- ESX.TextUI(TranslateCap('park_veh'))
- else
- ESX.TextUI(TranslateCap('access_parking'))
- end
- end
-
- if part == 'GetOutPoint' then
- local pound = Config.Impounds[name]
- thisPound = pound
-
- ESX.TextUI(TranslateCap('access_Impound'))
- end
-end)
-
-AddEventHandler('esx_garage:hasExitedMarker', function()
- thisGarage = nil
- thisPound = nil
- ESX.HideUI()
- TriggerEvent('esx_garage:closemenu')
-end)
-
--- Display markers
-CreateThread(function()
- while true do
- local sleep = 500
-
- local playerPed = ESX.PlayerData.ped
- local coords = GetEntityCoords(playerPed)
- local inVehicle = IsPedInAnyVehicle(playerPed, false)
-
- -- parking
- for k, v in pairs(Config.Garages) do
- if (#(coords - vector3(v.EntryPoint.x, v.EntryPoint.y, v.EntryPoint.z)) < Config.DrawDistance) then
- DrawMarker(Config.Markers.EntryPoint.Type, v.EntryPoint.x, v.EntryPoint.y, v.EntryPoint.z, 0.0, 0.0,
- 0.0, 0, 0.0, 0.0, Config.Markers.EntryPoint.Size.x, Config.Markers.EntryPoint.Size.y,
- Config.Markers.EntryPoint.Size.z, Config.Markers.EntryPoint.Color.r,
- Config.Markers.EntryPoint.Color.g, Config.Markers.EntryPoint.Color.b, 100, false, true, 2, false,
- false, false, false)
- sleep = 0
- break
- end
- end
-
- -- Impound
- for k, v in pairs(Config.Impounds) do
- if (#(coords - vector3(v.GetOutPoint.x, v.GetOutPoint.y, v.GetOutPoint.z)) < Config.DrawDistance) then
- DrawMarker(Config.Markers.GetOutPoint.Type, v.GetOutPoint.x, v.GetOutPoint.y, v.GetOutPoint.z, 0.0, 0.0,
- 0.0, 0, 0.0, 0.0, Config.Markers.GetOutPoint.Size.x, Config.Markers.GetOutPoint.Size.y,
- Config.Markers.GetOutPoint.Size.z, Config.Markers.GetOutPoint.Color.r,
- Config.Markers.GetOutPoint.Color.g, Config.Markers.GetOutPoint.Color.b, 100, false, true, 2, false,
- false, false, false)
- sleep = 0
- break
- end
- end
-
- if sleep == 0 then
- nearMarker = true
- else
- nearMarker = false
- end
-
- Wait(sleep)
- end
-end)
-
--- Enter / Exit marker events (parking)
-CreateThread(function()
- while true do
- if nearMarker then
- local playerPed = ESX.PlayerData.ped
- local coords = GetEntityCoords(playerPed)
- local isInMarker = false
- local currentMarker = nil
- local currentPart = nil
-
- for k, v in pairs(Config.Garages) do
- if (#(coords - vector3(v.EntryPoint.x, v.EntryPoint.y, v.EntryPoint.z)) <
- Config.Markers.EntryPoint.Size.x) then
- isInMarker = true
- currentMarker = k
- currentPart = 'EntryPoint'
- local isInVehicle = IsPedInAnyVehicle(playerPed, false)
-
- if not isInVehicle then
- if IsControlJustReleased(0, 38) and not menuIsShowed then
- ESX.TriggerServerCallback('esx_garage:getVehiclesInParking', function(vehicles)
- if next(vehicles) then
- menuIsShowed = true
-
- for i = 1, #vehicles, 1 do
- table.insert(vehiclesList, {
- model = GetDisplayNameFromVehicleModel(vehicles[i].vehicle.model),
- plate = vehicles[i].plate,
- props = vehicles[i].vehicle
- })
-
- end
-
- local spawnPoint = {
- x = v.SpawnPoint.x,
- y = v.SpawnPoint.y,
- z = v.SpawnPoint.z,
- heading = v.SpawnPoint.heading
- }
-
- ESX.TriggerServerCallback('esx_garage:getVehiclesImpounded', function(vehicles)
- if next(vehicles) then
-
- for i = 1, #vehicles, 1 do
- table.insert(vehiclesImpoundedList, {
- model = GetDisplayNameFromVehicleModel(vehicles[i].vehicle.model),
- plate = vehicles[i].plate,
- props = vehicles[i].vehicle
- })
- end
-
- local poundSpawnPoint = {
- x = Config.Impounds[v.ImpoundedName].GetOutPoint.x,
- y = Config.Impounds[v.ImpoundedName].GetOutPoint.y
- }
-
- SendNUIMessage({
- showMenu = true,
- type = 'garage',
- vehiclesList = {json.encode(vehiclesList)},
- vehiclesImpoundedList = {json.encode(vehiclesImpoundedList)},
- poundName = v.ImpoundedName,
- poundSpawnPoint = poundSpawnPoint,
- spawnPoint = spawnPoint,
- locales = {
- action = TranslateCap('veh_exit'),
- veh_model = TranslateCap('veh_model'),
- veh_plate = TranslateCap('veh_plate'),
- veh_condition = TranslateCap('veh_condition'),
- veh_action = TranslateCap('veh_action'),
- impound_action = TranslateCap('impound_action')
- }
- })
- else
- SendNUIMessage({
- showMenu = true,
- type = 'garage',
- vehiclesList = {json.encode(vehiclesList)},
- spawnPoint = spawnPoint,
- locales = {
- action = TranslateCap('veh_exit'),
- veh_model = TranslateCap('veh_model'),
- veh_plate = TranslateCap('veh_plate'),
- veh_condition = TranslateCap('veh_condition'),
- veh_action = TranslateCap('veh_action'),
- no_veh_impounded = TranslateCap('no_veh_impounded')
- }
- })
- end
- end)
-
- SetNuiFocus(true, true)
-
- if menuIsShowed then
- ESX.HideUI()
- end
- else
- menuIsShowed = true
-
- ESX.TriggerServerCallback('esx_garage:getVehiclesImpounded', function(vehicles)
- if next(vehicles) then
-
- for i = 1, #vehicles, 1 do
- table.insert(vehiclesImpoundedList, {
- model = GetDisplayNameFromVehicleModel(vehicles[i].vehicle.model),
- plate = vehicles[i].plate,
- props = vehicles[i].vehicle
- })
- end
-
- local poundSpawnPoint = {
- x = Config.Impounds[v.ImpoundedName].GetOutPoint.x,
- y = Config.Impounds[v.ImpoundedName].GetOutPoint.y
- }
-
- SendNUIMessage({
- showMenu = true,
- type = 'garage',
- vehiclesImpoundedList = {json.encode(vehiclesImpoundedList)},
- poundName = v.ImpoundedName,
- poundSpawnPoint = poundSpawnPoint,
- locales = {
- action = TranslateCap('veh_exit'),
- veh_model = TranslateCap('veh_model'),
- veh_plate = TranslateCap('veh_plate'),
- veh_condition = TranslateCap('veh_condition'),
- veh_action = TranslateCap('veh_action'),
- no_veh_parking = TranslateCap('no_veh_parking'),
- no_veh_impounded = TranslateCap('no_veh_impounded'),
- impound_action = TranslateCap('impound_action')
- }
- })
- else
- SendNUIMessage({
- showMenu = true,
- type = 'garage',
- locales = {
- action = TranslateCap('veh_exit'),
- veh_model = TranslateCap('veh_model'),
- veh_plate = TranslateCap('veh_plate'),
- veh_condition = TranslateCap('veh_condition'),
- veh_action = TranslateCap('veh_action'),
- no_veh_parking = TranslateCap('no_veh_parking')
- }
- })
- end
- end)
-
- SetNuiFocus(true, true)
-
- if menuIsShowed then
- ESX.HideUI()
- end
- end
- end, currentMarker)
- end
- end
-
- if isInVehicle then
- if IsControlJustReleased(0, 38) then
- local vehicle = GetVehiclePedIsIn(playerPed, false)
- local vehicleProps = ESX.Game.GetVehicleProperties(vehicle)
- ESX.TriggerServerCallback('esx_garage:checkVehicleOwner', function(owner)
- if owner then
- ESX.Game.DeleteVehicle(vehicle)
- TriggerServerEvent('esx_garage:updateOwnedVehicle', true, currentMarker, nil,
- {vehicleProps = vehicleProps})
- else
- ESX.ShowNotification(TranslateCap('not_owning_veh'), 'error')
- end
- end, vehicleProps.plate)
- end
- end
- break
- end
- end
-
- for k, v in pairs(Config.Impounds) do
-
- if (#(coords - vector3(v.GetOutPoint.x, v.GetOutPoint.y, v.GetOutPoint.z)) < 2.0) then
- isInMarker = true
- currentMarker = k
- currentPart = 'GetOutPoint'
-
- if IsControlJustReleased(0, 38) and not menuIsShowed then
- ESX.TriggerServerCallback('esx_garage:getVehiclesInPound', function(vehicles)
- if next(vehicles) then
- menuIsShowed = true
-
- for i = 1, #vehicles, 1 do
- table.insert(vehiclesList, {
- model = GetDisplayNameFromVehicleModel(vehicles[i].vehicle.model),
- plate = vehicles[i].plate,
- props = vehicles[i].vehicle
- })
- end
-
- local spawnPoint = {
- x = v.SpawnPoint.x,
- y = v.SpawnPoint.y,
- z = v.SpawnPoint.z,
- heading = v.SpawnPoint.heading
- }
-
- SendNUIMessage({
- showMenu = true,
- type = 'impound',
- vehiclesList = {json.encode(vehiclesList)},
- spawnPoint = spawnPoint,
- poundCost = v.Cost,
- locales = {
- action = TranslateCap('pay_impound'),
- veh_model = TranslateCap('veh_model'),
- veh_plate = TranslateCap('veh_plate'),
- veh_condition = TranslateCap('veh_condition'),
- veh_action = TranslateCap('veh_action')
- }
- })
-
- SetNuiFocus(true, true)
-
- if menuIsShowed then
- ESX.HideUI()
- end
- else
- ESX.ShowNotification(TranslateCap('no_veh_Impound'))
- end
- end, currentMarker)
- end
- break
- end
- end
-
- if isInMarker and not HasAlreadyEnteredMarker or
- (isInMarker and (LastMarker ~= currentMarker or LastPart ~= currentPart)) then
-
- if LastMarker ~= currentMarker or LastPart ~= currentPart then
- TriggerEvent('esx_garage:hasExitedMarker')
- end
-
- HasAlreadyEnteredMarker = true
- LastMarker = currentMarker
- LastPart = currentPart
-
- TriggerEvent('esx_garage:hasEnteredMarker', currentMarker, currentPart)
- end
-
- if not isInMarker and HasAlreadyEnteredMarker then
- HasAlreadyEnteredMarker = false
-
- TriggerEvent('esx_garage:hasExitedMarker')
- end
-
- Wait(0)
- else
- Wait(500)
- end
- end
-end)
diff --git a/[esx_addons]/esx_garage/config.lua b/[esx_addons]/esx_garage/config.lua
deleted file mode 100644
index e4b3e20a..00000000
--- a/[esx_addons]/esx_garage/config.lua
+++ /dev/null
@@ -1,131 +0,0 @@
-Config = {}
-Config.Locale = GetConvar('esx:locale', 'en')
-
-Config.DrawDistance = 10.0
-
-Config.Markers = {
- EntryPoint = {
- Type = 21,
- Size = {
- x = 1.0,
- y = 1.0,
- z = 0.5,
- },
- Color = {
- r = 50,
- g = 200,
- b = 50,
- },
- },
- GetOutPoint = {
- Type = 21,
- Size = {
- x = 1.0,
- y = 1.0,
- z = 0.5,
- },
- Color = {
- r = 200,
- g = 51,
- b = 51,
- },
- },
-}
-
-Config.Garages = {
- VespucciBoulevard = {
- EntryPoint = {
- x = -285.2,
- y = -886.5,
- z = 31.0,
- },
- SpawnPoint = {
- x = -309.3,
- y = -897.0,
- z = 31.0,
- heading = 351.8,
- },
- Sprite = 357,
- Scale = 0.8,
- Colour = 3,
- ImpoundedName = "LosSantos",
- },
- SanAndreasAvenue = {
- EntryPoint = {
- x = 216.4,
- y = -786.6,
- z = 30.8,
- },
- SpawnPoint = {
- x = 218.9,
- y = -779.7,
- z = 30.8,
- heading = 338.8,
- },
- Sprite = 357,
- Scale = 0.8,
- Colour = 3,
- ImpoundedName = "LosSantos",
- },
-}
-
-Config.Impounds = {
- LosSantos = {
- GetOutPoint = {
- x = 400.7,
- y = -1630.5,
- z = 29.3,
- },
- SpawnPoint = {
- x = 401.9,
- y = -1647.4,
- z = 29.2,
- heading = 323.3,
- },
- Sprite = 524,
- Scale = 0.8,
- Colour = 1,
- Cost = 3000,
- },
- PaletoBay = {
- GetOutPoint = {
- x = -211.4,
- y = 6206.5,
- z = 31.4,
- },
- SpawnPoint = {
- x = -204.6,
- y = 6221.6,
- z = 30.5,
- heading = 227.2,
- },
- Sprite = 524,
- Scale = 0.8,
- Colour = 1,
- Cost = 3000,
- },
- SandyShores = {
- GetOutPoint = {
- x = 1728.2,
- y = 3709.3,
- z = 33.2,
- },
- SpawnPoint = {
- x = 1722.7,
- y = 3713.6,
- z = 33.2,
- heading = 19.9,
- },
- Sprite = 524,
- Scale = 0.8,
- Colour = 1,
- Cost = 3000,
- },
-}
-
-exports("getGarages", function()
- return Config.Garages
-end)
-exports("getImpounds", function()
- return Config.Impounds
-end)
diff --git a/[esx_addons]/esx_garage/esx_garage.sql b/[esx_addons]/esx_garage/esx_garage.sql
deleted file mode 100644
index d5711282..00000000
--- a/[esx_addons]/esx_garage/esx_garage.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-DROP TABLE `user_parkings`;
-ALTER TABLE `owned_vehicles` ADD `parking` VARCHAR(60) NULL AFTER `stored`;
-ALTER TABLE `owned_vehicles` ADD `pound` VARCHAR(60) NULL AFTER `parking`;
\ No newline at end of file
diff --git a/[esx_addons]/esx_garage/fxmanifest.lua b/[esx_addons]/esx_garage/fxmanifest.lua
deleted file mode 100644
index 14f6c8aa..00000000
--- a/[esx_addons]/esx_garage/fxmanifest.lua
+++ /dev/null
@@ -1,17 +0,0 @@
-fx_version 'cerulean'
-game 'gta5'
-
-author 'ESX-Framework'
-description 'Official ESX Garage System for ESX Legacy'
-version '1.9.0'
-lua54 'yes'
-
-shared_script '@es_extended/imports.lua'
-
-server_scripts {'@es_extended/locale.lua', 'locales/*.lua', '@oxmysql/lib/MySQL.lua', 'config.lua', 'server/main.lua'}
-
-client_scripts {'@es_extended/locale.lua', 'locales/*.lua', 'config.lua', 'client/main.lua'}
-
-ui_page 'nui/ui.html'
-
-files {'nui/ui.html', 'nui/js/*.js', 'nui/css/*.css', 'nui/img/*.png', 'nui/roboto.ttf'}
diff --git a/[esx_addons]/esx_garage/locales/de.lua b/[esx_addons]/esx_garage/locales/de.lua
deleted file mode 100644
index 1acf743e..00000000
--- a/[esx_addons]/esx_garage/locales/de.lua
+++ /dev/null
@@ -1,25 +0,0 @@
-Locales["de"] = {
- ["parking_blip_name"] = 'Garage',
- ["Impound_blip_name"] = 'Abschlepphof',
- ["access_parking"] = 'Drücke [E] to access the car park.',
- ["access_Impound"] = 'Drücke [E] um den Abschlepphof zu öffnen.',
- ["park_veh"] = 'Drücke [E] um das Fahrzeug zu parken.',
- ["not_owning_veh"] = 'Du besitzt dieses Fahrzeug nicht!',
- ['veh_released'] = 'Du hast dein Fahrzeug erfolgreich abgeholt.',
- ['veh_Impound_released'] = 'Du hast dein Fahrzeug erfolgreich zurückgeholt.',
- ['veh_stored'] = 'Erfolgreich gelagertes Fahrzeug',
- ['veh_impounded'] = 'Beschlagnahmtes Fahrzeug',
- ['no_veh_parking'] = 'Kein Fahrzeug von dir ist hier eingelagert.',
- ['no_veh_impounded'] = 'Kein Fahrzeug von dir ist hier beschlagnahmt.',
- ['no_veh_Impound'] = 'Du hast keine beschlagnahmten Fahrzeuge.',
- ['veh_model'] = 'Model',
- ['veh_plate'] = 'Kennzeichen',
- ['veh_condition'] = 'Zustand',
- ['veh_action'] = 'Aktion',
- ['impound_action'] = 'Beschlagnahme',
- ['veh_exit'] = 'Fahrzeug zurückholen',
- ['pay_impound'] = 'Beschlagnahme bezahlen',
- ['veh_block'] = 'Fahrzeug kann nicht zurückgeholt werden da der Spawn blockiert ist.',
- ['pay_Impound_bill'] = 'Du hast $%s zum Abschlepphof bezahlt.',
- ['missing_money'] = 'Du hast nicht genug Geld.'
-}
diff --git a/[esx_addons]/esx_garage/locales/en.lua b/[esx_addons]/esx_garage/locales/en.lua
deleted file mode 100644
index 2ec63652..00000000
--- a/[esx_addons]/esx_garage/locales/en.lua
+++ /dev/null
@@ -1,25 +0,0 @@
-Locales["en"] = {
- ["parking_blip_name"] = 'Garage',
- ["Impound_blip_name"] = 'Impound',
- ["access_parking"] = 'press [E] to access the car park.',
- ["access_Impound"] = 'press [E] to access the impound.',
- ["park_veh"] = 'press [E] to park the vehicle.',
- ["not_owning_veh"] = 'You do not own this vehicle!',
- ['veh_released'] = 'Successfully Retrieved Vehicle.',
- ['veh_Impound_released'] = 'Successfully Retrieved Vehicle From Impound.',
- ['veh_stored'] = 'Successfully Stored Vehicle',
- ['veh_impounded'] = 'Impounded Vehicle',
- ['no_veh_parking'] = 'No Vehicles Stored Here.',
- ['no_veh_impounded'] = 'No Impounded Vehicles.',
- ['no_veh_Impound'] = 'you have No Impounded Vehicles.',
- ['veh_model'] = 'Model',
- ['veh_plate'] = 'Plate',
- ['veh_condition'] = 'Condition',
- ['veh_action'] = 'Action',
- ['impound_action'] = 'Impound',
- ['veh_exit'] = 'Retrieve Vehicle',
- ['pay_impound'] = 'Pay Impound',
- ['veh_block'] = 'Unable to retrieve vehicle, Spawn Position is blocked.',
- ['pay_Impound_bill'] = 'Successfully Paid ~g~$%s~s~ to the Impound.',
- ['missing_money'] = 'You don`t have enough money.'
-}
diff --git a/[esx_addons]/esx_garage/locales/et.lua b/[esx_addons]/esx_garage/locales/et.lua
deleted file mode 100644
index 8174955a..00000000
--- a/[esx_addons]/esx_garage/locales/et.lua
+++ /dev/null
@@ -1,25 +0,0 @@
-Locales["et"] = {
- ["parking_blip_name"] = 'Garaaž',
- ["Impound_blip_name"] = 'Sõiduk konfiskeeritud',
- ["access_parking"] = 'Vajuta [E], et avada garaaž.',
- ["access_Impound"] = 'Vajuta [E], et avada konfiskeeritud sõidukite garaaž.',
- ["park_veh"] = 'Vajuta [E], et parkida see sõiduk.',
- ["not_owning_veh"] = 'Sa ei oma seda sõidukit!',
- ['veh_released'] = 'Sõiduk edukalt pargitud.',
- ['veh_Impound_released'] = 'Sõiduk edukalt välja ostetud.',
- ['veh_stored'] = 'Sõiduk edukalt pargitud',
- ['veh_impounded'] = 'Sõiduk on konfiskeeritud sõidukite parklas',
- ['no_veh_parking'] = 'ÜHtegi autot pole siin garaažis',
- ['no_veh_impounded'] = 'Ühtegi autot pole konfiskeeritud.',
- ['no_veh_Impound'] = 'Sul pole ühtegi konfiskeeritud sõidukit.',
- ['veh_model'] = 'Mudel',
- ['veh_plate'] = 'Numbrimärk',
- ['veh_condition'] = 'Konditsioon',
- ['veh_action'] = 'Tegevus',
- ['impound_action'] = 'Konfiskeeritud sõidukid',
- ['veh_exit'] = 'Väljasta sõiduk',
- ['pay_impound'] = 'Maksa trahv',
- ['veh_block'] = 'Sõidukit ei saanud väljastada, miski blokeerib.',
- ['pay_Impound_bill'] = 'Edukalt makstud ~g~$%s~s~.',
- ['missing_money'] = 'Sul pole piisavalt raha.'
-}
diff --git a/[esx_addons]/esx_garage/locales/fr.lua b/[esx_addons]/esx_garage/locales/fr.lua
deleted file mode 100644
index 3b780aa2..00000000
--- a/[esx_addons]/esx_garage/locales/fr.lua
+++ /dev/null
@@ -1,25 +0,0 @@
-Locales["fr"] = {
- ["parking_blip_name"] = 'Garage',
- ["Impound_blip_name"] = 'Fourrière',
- ["access_parking"] = "appuyez sur [E] pour accéder au parking.",
- ["access_Impound"] = 'appuyez sur [E] pour accéder à la fourrière.',
- ["park_veh"] = "appuyez sur [E] pour ranger le véhicule.",
- ["not_owning_veh"] = "ce véhicule ne t'appartient pas.",
- ['veh_released'] = 'le véhicule a été sorti du parking.',
- ['veh_Impound_released'] = 'le véhicule a été sorti de la fourrière',
- ['veh_stored'] = 'le véhicule a bien été rangé.',
- ['veh_impounded'] = 'le véhicule a bien été mis en fourrière.',
- ['no_veh_parking'] = 'aucun véhicule dans ce parking.',
- ['no_veh_impounded'] = 'aucun véhicule à mettre en fourrière.',
- ['no_veh_Impound'] = 'vous n\'avez aucun véhicule dans cette fourrière.',
- ['veh_model'] = 'modèle',
- ['veh_plate'] = 'immatriculation',
- ['veh_condition'] = 'etat',
- ['veh_action'] = 'action',
- ['impound_action'] = 'mettre en fourrière',
- ['veh_exit'] = 'sortir le véhicule',
- ['pay_Impound'] = 'payer la fourrière',
- ['veh_block'] = 'il semble qu\'un véhicule gêne la sortie.',
- ['pay_Impound_bill'] = 'vous venez de payer $%s à la fourrière.',
- ['missing_money'] = 'vous n\'avez pas assez d\'argent.'
-}
diff --git a/[esx_addons]/esx_garage/locales/hu.lua b/[esx_addons]/esx_garage/locales/hu.lua
deleted file mode 100644
index 727b4a19..00000000
--- a/[esx_addons]/esx_garage/locales/hu.lua
+++ /dev/null
@@ -1,25 +0,0 @@
-Locales["hu"] = {
- ["parking_blip_name"] = 'Garázs',
- ["Impound_blip_name"] = 'Lefoglaltak',
- ["access_parking"] = 'Nyomd meg az [E] gombot a parkoló megtekintéséhez.',
- ["access_Impound"] = 'Nyomd meg az [E] gombot a lefoglaltak megtekintéséhez.',
- ["park_veh"] = 'Nyomd meg az [E] gombot a jármű parkolásához.',
- ["not_owning_veh"] = 'Ez a jármű nem a te tulajdonod!',
- ['veh_released'] = 'Sikeresen kivetted a járművet.',
- ['veh_Impound_released'] = 'Jármű sikeresen kiváltva a legfolalásból.',
- ['veh_stored'] = 'Jármű sikeresen tárolva',
- ['veh_impounded'] = 'Lefoglalt jármű megjelölve a térképen',
- ['no_veh_parking'] = 'Nincsenek itt tárolt járművek.',
- ['no_veh_impounded'] = 'Nincs lefoglalt jármű.',
- ['no_veh_Impound'] = 'nincs lefoglalt járműved.',
- ['veh_model'] = 'Model',
- ['veh_plate'] = 'Rendszám',
- ['veh_condition'] = 'Állapot',
- ['veh_action'] = 'Művelet',
- ['impound_action'] = 'Lefoglal',
- ['veh_exit'] = 'Jármű visszakérése',
- ['pay_impound'] = 'Lefoglalás fizetése',
- ['veh_block'] = 'Jármű lekérés sikertelen, a spawn hely foglalt.',
- ['pay_Impound_bill'] = 'Kiváltottad a járművet ~g~%s$~s~-ért',
- ['missing_money'] = 'Nincs elég pénzed!'
-}
diff --git a/[esx_addons]/esx_garage/locales/it.lua b/[esx_addons]/esx_garage/locales/it.lua
deleted file mode 100644
index 745de4cb..00000000
--- a/[esx_addons]/esx_garage/locales/it.lua
+++ /dev/null
@@ -1,25 +0,0 @@
-Locales["it"] = {
- ["parking_blip_name"] = 'Garage',
- ["Impound_blip_name"] = 'sequestro',
- ["access_parking"] = 'premi [E] per accedere al parcheggio.',
- ["access_Impound"] = 'premi [E] per accedere al sequestro.',
- ["park_veh"] = 'premi [E] per parcheggiare il veicolo.',
- ["not_owning_veh"] = 'non possiedi questo veicolo!',
- ['veh_released' ] = ' Veicolo recuperato con successo. ' ,
- ['veh_Impound_released'] = ' Veicolo recuperato con successo dal sequestro. ' ,
- ['veh_stored'] = ' Veicolo depositato con successo ' ,
- ['veh_impounded'] = ' Veicolo sequestrato ' ,
- ['no_veh_parking'] = ' Nessun veicolo immagazzinato qui. ' ,
- ['no_veh_impounded'] = ' Nessun veicolo sequestrato. ' ,
- ['no_veh_Impound'] = ' non hai veicoli sequestrati. ' ,
- ['veh_model'] = ' Modello ' ,
- ['veh_plate'] = ' targa ' ,
- ['veh_condition'] = ' Condizione ' ,
- ['veh_action ' ] = ' Azione ' ,
- ['impound_action' ] = ' Sequestro ' ,
- ['veh_exit' ] = ' Ritira veicolo ' ,
- ['pay_impound' ] = ' Paga sequestro ' ,
- ['veh_block' ] = ' Impossibile recuperare il veicolo, la posizione di spawn è bloccata. ' ,
- ['pay_Impound_bill' ] = 'hai pagato ~g~$%s~s~ al sequestro. ' ,
- ['missing_money' ] = ' Non hai abbastanza soldi. '
-}
diff --git a/[esx_addons]/esx_garage/locales/nl.lua b/[esx_addons]/esx_garage/locales/nl.lua
deleted file mode 100644
index 5670d6fa..00000000
--- a/[esx_addons]/esx_garage/locales/nl.lua
+++ /dev/null
@@ -1,25 +0,0 @@
-Locales["nl"] = {
- ["parking_blip_name"] = 'Garage',
- ["Impound_blip_name"] = 'In beslag genomen',
- ["access_parking"] = 'klik op [E] om je garage te gebruiken.',
- ["access_Impound"] = 'klik op [E] om je in beslag genomen voertuigen te krijgen.',
- ["park_veh"] = 'klik op [E] om je voertuig te parkeren.',
- ["not_owning_veh"] = 'Dit is niet jou voertuig!',
- ['veh_released'] = 'Succesvol je voertuig opgehaald.',
- ['veh_Impound_released'] = 'Succesvol je voertuig terug gekregen van de politie.',
- ['veh_stored'] = 'Succesvol je voertuig geparkeerd',
- ['veh_impounded'] = 'In beslag genomen voertuig',
- ['no_veh_parking'] = 'Er staan hier geen voertuigen.',
- ['no_veh_impounded'] = 'Geen in beslag genomen voertuigen.',
- ['no_veh_Impound'] = 'Er zijn geen voertuigen in beslag genomen.',
- ['veh_model'] = 'Model',
- ['veh_plate'] = 'Kenteken',
- ['veh_condition'] = 'Conditie',
- ['veh_action'] = 'Actie',
- ['impound_action'] = 'Neem in beslag',
- ['veh_exit'] = 'Haal voertuig op',
- ['pay_impound'] = 'Betaal boete',
- ['veh_block'] = 'Kan het voertuig niet ophalen, iets blokkeert de uitgang.',
- ['pay_Impound_bill'] = 'Succesvol ~g~€%s~s~ betaald aan de politie.',
- ['missing_money'] = 'Je hebt niet genoeg geld.'
-}
diff --git a/[esx_addons]/esx_garage/nui/css/app.css b/[esx_addons]/esx_garage/nui/css/app.css
deleted file mode 100644
index 6a327f5f..00000000
--- a/[esx_addons]/esx_garage/nui/css/app.css
+++ /dev/null
@@ -1,279 +0,0 @@
-@font-face {
- font-family: roboto;
- src: url('../roboto.ttf');
-}
-
-body {
- width: 100%;
- height: 100%;
- overflow: hidden;
- font-family: roboto;
-}
-
-#cursor {
- position: absolute;
- z-index: 999999;
- display: none;
-}
-
-#container {
- position: absolute;
- background: #232934;
- border-radius: 10px;
- border-top: 20px solid #353e4f;
- height: 700px;
- width: 1000px;
- top: 40%;
- left: 40%;
- margin: -250px 0 0 -300px;
- cursor: default;
- display: flex;
- flex-direction: unset;
-}
-
-#header {
- color: white;
- font-size: 44px;
- border-radius: 0px 0px 0px 10px;
- background: #353e4f;
- display: flex;
- justify-content: space-between;
- flex-direction: column;
- align-items: baseline;
-}
-
-#header .title {
- padding: 50px;
-}
-
-#header ul {
- font-size: 15px;
- margin-top: -150px;
- padding: 0px;
- list-style-type: none;
-}
-
-#header li {
- cursor: pointer;
- padding: 15px;
- width: 296px;
-}
-
-#header li:hover {
- font-weight: bold;
- background-color: rgba(0, 0, 0, 0.356);
- border-right: 3px solid #7186ad;
-}
-#header li.selected {
- font-weight: bold;
- background-color: rgba(0, 0, 0, 0.356);
- border-right: 3px solid #7186ad;
-}
-
-#header .close {
- float: right;
- text-align: center;
- color: #b90000;
- font-size: 20px;
- font-weight: bold;
- padding: 5px 5px;
- background: #00000026;
- border: 1px solid #00000026;
- border-radius: 3px;
- cursor: pointer;
- border-radius: 50%;
- -moz-border-radius: 50%;
- -webkit-border-radius: 50%;
- height: 25px;
- width: 25px;
- margin: 30px 144px;
-}
-
-#header .close:hover {
- color: #df3d3d;
- background: #00000041;
-}
-
-.clear-both {
- clear: both;
-}
-
-#menu {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
-}
-
-.right-side {
- width: 50%;
-}
-
-.content {
- width: 100%;
- margin: 20px;
- color: white;
- height: 655px;
- overflow-y: auto;
- -ms-overflow-style: none; /* IE and Edge */
- scrollbar-width: none; /* Firefox */
-}
-
-.content h2 {
- width: 290px;
- height: 290px;
- position: absolute;
- top: 50%;
- left: 55%;
- margin: -25px 0 0 -25px;
- text-align: center;
-}
-
-.content::-webkit-scrollbar {
- display: none;
-}
-
-.impounded_content {
- display: none;
- width: 100%;
- margin: 20px;
- color: white;
- height: 655px;
- overflow-y: auto;
- -ms-overflow-style: none; /* IE and Edge */
- scrollbar-width: none; /* Firefox */
-}
-
-.impounded_content h2 {
- width: 290px;
- height: 290px;
- position: absolute;
- top: 50%;
- left: 55%;
- margin: -25px 0 0 -25px;
- text-align: center;
-}
-
-.impounded_content::-webkit-scrollbar {
- display: none;
-}
-
-.webgl {
- position: fixed;
- left: 0;
- top: 0;
- outline: none;
-}
-
-.content .vehicle-header {
- display: flex;
- justify-content: space-between;
- padding: 5px 20px;
-}
-
-.group {
- margin: 20px;
- color: white;
- display: flex;
- flex-direction: column;
- margin-bottom: 20px;
- padding: 10px;
- border: solid #353e4f 2px;
- border-radius: 10px;
-}
-
-.group > button {
- color: white;
- width: 50%;
- padding: 12px 20px;
- margin: 8px 0;
- border: 1px solid #353e4f;
- border-radius: 4px;
- background-color: #353e4f;
-}
-
-.group > input {
- color: white;
- width: 100%;
- padding: 12px 20px;
- margin: 8px 0;
- background-color: #353e4f;
- border: none;
- border-radius: 4px;
- appearance: none;
- -moz-appearance: none;
- -webkit-appearance: none;
-}
-
-.group > input::-webkit-outer-spin-button,
-input::-webkit-inner-spin-button {
- -webkit-appearance: none;
- margin: 0;
-}
-
-.vehicle-listing {
- display: inline-block;
- flex-direction: row;
- border: 1px solid #353e4f;
- border-left: 5px solid #353e4f;
- border-radius: 3px;
- margin: 5px;
- padding: 20px 35px;
- font-size: 18px;
- text-align: center;
- width: 229px;
-}
-
-.vehicle-listing div {
- display: flow-root;
- justify-content: space-between;
- align-content: space-between;
-}
-
-.vehicle-listing strong {
- display: inline-block;
-}
-
-.vehicle-listing:hover {
- background: #353e4f;
- border: 1px solid #353e4f;
- border-left: 5px solid #353e4f;
-}
-
-.unstyled-button {
- padding: 0;
- border: none;
- background: none;
- outline: none;
-}
-
-.vehicle-action {
- background: linear-gradient(to bottom, #77b55a 5%, #72b352 100%);
- background-color: #77b55a;
- border-radius: 3px;
- border: 1px solid #4b8f29;
- display: inline-block;
- cursor: pointer;
- color: #ffffff;
- font-size: 17px;
- font-weight: bold;
- padding: 20px 30px;
- margin: 15px;
- text-shadow: -1px 1px 2px #00000026;
-}
-
-.vehicle-action:hover {
- background: linear-gradient(to bottom, #72b352 5%, #77b55a 100%);
- background-color: #72b352;
-}
-
-.vehicle-action.red {
- border: 1px solid #8f2929;
- background: linear-gradient(to bottom, #b55a5a 5%, #b35252 100%);
- background-color: #b55a5a;
-}
-
-.vehicle-action.red:hover {
- border: 1px solid #8f2c29;
- background: linear-gradient(to bottom, #b55a5a 5%, #b35852 100%);
- background-color: #b55a5a;
-}
diff --git a/[esx_addons]/esx_garage/nui/js/app.js b/[esx_addons]/esx_garage/nui/js/app.js
deleted file mode 100644
index 0f707edc..00000000
--- a/[esx_addons]/esx_garage/nui/js/app.js
+++ /dev/null
@@ -1,228 +0,0 @@
-$(window).ready(function () {
- window.addEventListener('message', function (event) {
- let data = event.data
-
- if (data.showMenu) {
- $('#container').fadeIn()
- $('#menu').fadeIn()
-
- if (data.type === 'impound') {
- $('#header ul').hide()
- } else {
- $('#header ul').show()
- }
-
- if (data.vehiclesList != undefined) {
- $('#container').data('spawnpoint', data.spawnPoint)
- if (data.poundCost) $('#container').data('poundcost', data.poundCost)
-
- if (data.poundCost != undefined) {
- $('.content .vehicle-list').html(
- getVehicles(data.locales, data.vehiclesList, data.poundCost)
- )
- } else {
- $('.content .vehicle-list').html(
- getVehicles(data.locales, data.vehiclesList)
- )
- }
-
- $('.content h2').hide()
- } else {
- $('.content h2').show()
- $('.content .vehicle-list').empty()
- }
-
- if (data.vehiclesImpoundedList != undefined) {
- $('.impounded_content').data('poundName', data.poundName)
- $('.impounded_content').data('poundSpawnPoint', data.poundSpawnPoint)
-
- if (data.poundCost) $('#container').data('poundcost', data.poundCost)
-
- $('.impounded_content .vehicle-list').html(
- getImpoundedVehicles(data.locales, data.vehiclesImpoundedList)
- )
- $('.impounded_content h2').hide()
- } else {
- $('.impounded_content h2').show()
- $('.impounded_content .vehicle-list').empty()
- }
-
- // Locales
-
- // needs a rework
- // $(".content h2").html(function (i, text) {
- // return text.replace("No vehicle in this garage.", data.locales.no_veh_parking);
- // });
-
- // $(".impounded_content h2").html(function (i, text) {
- // return text.replace("No vehicle impounded.", data.locales.no_veh_impounded);
- // });
-
- $('.vehicle-listing').html(function (i, text) {
- return text.replace('Model', data.locales.veh_model)
- })
- $('.vehicle-listing').html(function (i, text) {
- return text.replace('Plate', data.locales.veh_plate)
- })
- $('.vehicle-listing').html(function (i, text) {
- return text.replace('Condition', data.locales.veh_condition)
- })
- } else if (data.hideAll) {
- $('#container').fadeOut()
- }
- })
-
- $('#container').hide()
-
- $('.close').click(function (event) {
- $('#container').hide()
- $.post('https://esx_garage/escape', '{}')
-
- $('.impounded_content').hide()
- $('.content').show()
- $('li[data-page="garage"]').addClass('selected')
- $('li[data-page="impounded"]').removeClass('selected')
- })
-
- document.onkeyup = function (data) {
- if (data.which == 27) {
- $.post('https://esx_garage/escape', '{}')
-
- $('.impounded_content').hide()
- $('.content').show()
- $('li[data-page="garage"]').addClass('selected')
- $('li[data-page="impounded"]').removeClass('selected')
- }
- }
-
- function getVehicles (locale, vehicle, amount = null) {
- let html = ''
- let vehicleData = JSON.parse(vehicle)
- let bodyHealth = 1000
- let engineHealth = 1000
- let tankHealth = 1000
- let vehicleDamagePercent = ''
-
- for (let i = 0; i < vehicleData.length; i++) {
- bodyHealth = (vehicleData[i].props.bodyHealth / 1000) * 100
- engineHealth = (vehicleData[i].props.engineHealth / 1000) * 100
- tankHealth = (vehicleData[i].props.tankHealth / 1000) * 100
-
- vehicleDamagePercent =
- Math.round(((bodyHealth + engineHealth + tankHealth) / 300) * 100) + '%'
-
- html += "
"
- html += '
Model: ' + vehicleData[i].model + '
'
- html += '
Plate: ' + vehicleData[i].plate + '
'
- html +=
- '
Condition: ' + vehicleDamagePercent + '
'
- html +=
- "'
- html += '
'
- }
-
- return html
- }
-
- function getImpoundedVehicles (locale, vehicle) {
- let html = ''
- let vehicleData = JSON.parse(vehicle)
- let bodyHealth = 1000
- let engineHealth = 1000
- let tankHealth = 1000
- let vehicleDamagePercent = ''
-
- for (let i = 0; i < vehicleData.length; i++) {
- bodyHealth = (vehicleData[i].props.bodyHealth / 1000) * 100
- engineHealth = (vehicleData[i].props.engineHealth / 1000) * 100
- tankHealth = (vehicleData[i].props.tankHealth / 1000) * 100
-
- vehicleDamagePercent =
- Math.round(((bodyHealth + engineHealth + tankHealth) / 300) * 100) + '%'
-
- html += "
-
-
-
-
-
diff --git a/[esx_addons]/esx_garage/server/main.lua b/[esx_addons]/esx_garage/server/main.lua
deleted file mode 100644
index 5c5683cb..00000000
--- a/[esx_addons]/esx_garage/server/main.lua
+++ /dev/null
@@ -1,141 +0,0 @@
-RegisterServerEvent('esx_garage:updateOwnedVehicle')
-AddEventHandler('esx_garage:updateOwnedVehicle', function(stored, parking, Impound, data, spawn)
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
- MySQL.update('UPDATE owned_vehicles SET `stored` = @stored, `parking` = @parking, `pound` = @Impound, `vehicle` = @vehicle WHERE `plate` = @plate AND `owner` = @identifier',
- {
- ['@identifier'] = xPlayer.identifier,
- ['@vehicle'] = json.encode(data.vehicleProps),
- ['@plate'] = data.vehicleProps.plate,
- ['@stored'] = stored,
- ['@parking'] = parking,
- ['@Impound'] = Impound
- })
-
- if stored then
- xPlayer.showNotification(TranslateCap('veh_stored'))
- else
- ESX.OneSync.SpawnVehicle(data.vehicleProps.model, spawn, data.spawnPoint.heading,data.vehicleProps, function(vehicle)
- local vehicle = NetworkGetEntityFromNetworkId(vehicle)
- Wait(300)
- TaskWarpPedIntoVehicle(GetPlayerPed(source), vehicle, -1)
- end)
- end
-end)
-
-RegisterServerEvent('esx_garage:setImpound')
-AddEventHandler('esx_garage:setImpound', function(Impound, vehicleProps)
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
-
- MySQL.update('UPDATE owned_vehicles SET `stored` = @stored, `pound` = @Impound, `vehicle` = @vehicle WHERE `plate` = @plate AND `owner` = @identifier',
- {
- ['@identifier'] = xPlayer.identifier,
- ['@vehicle'] = json.encode(vehicleProps),
- ['@plate'] = vehicleProps.plate,
- ['@stored'] = 2,
- ['@Impound'] = Impound
- })
-
- xPlayer.showNotification(TranslateCap('veh_impounded'))
-end)
-
-
-ESX.RegisterServerCallback('esx_garage:getVehiclesInParking', function(source, cb, parking)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- MySQL.query('SELECT * FROM `owned_vehicles` WHERE `owner` = @identifier AND `parking` = @parking AND `stored` = 1',
- {
- ['@identifier'] = xPlayer.identifier,
- ['@parking'] = parking
- }, function(result)
-
- local vehicles = {}
- for i = 1, #result, 1 do
- table.insert(vehicles, {
- vehicle = json.decode(result[i].vehicle),
- plate = result[i].plate
- })
- end
-
- cb(vehicles)
- end)
-end)
-
-ESX.RegisterServerCallback('esx_garage:checkVehicleOwner', function(source, cb, plate)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- MySQL.query('SELECT COUNT(*) as count FROM `owned_vehicles` WHERE `owner` = @identifier AND `plate` = @plate',
- {
- ['@identifier'] = xPlayer.identifier,
- ['@plate'] = plate
- }, function(result)
-
- if tonumber(result[1].count) > 0 then
- return cb(true)
- else
- return cb(false)
- end
- end)
-end)
-
--- Pounds part
-ESX.RegisterServerCallback('esx_garage:getVehiclesImpounded', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- MySQL.query('SELECT * FROM `owned_vehicles` WHERE `owner` = @identifier AND `stored` = 0',
- {
- ['@identifier'] = xPlayer.identifier,
- }, function(result)
- local vehicles = {}
-
- for i = 1, #result, 1 do
- table.insert(vehicles, {
- vehicle = json.decode(result[i].vehicle),
- plate = result[i].plate
- })
- end
-
- cb(vehicles)
- end)
-end)
-
-ESX.RegisterServerCallback('esx_garage:getVehiclesInPound', function(source, cb, Impound)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- MySQL.query('SELECT * FROM `owned_vehicles` WHERE `owner` = @identifier AND `pound` = @Impound AND `stored` = 2',
- {
- ['@identifier'] = xPlayer.identifier,
- ['@Impound'] = Impound
- }, function(result)
- local vehicles = {}
-
- for i = 1, #result, 1 do
- table.insert(vehicles, {
- vehicle = json.decode(result[i].vehicle),
- plate = result[i].plate
- })
- end
-
- cb(vehicles)
- end)
-end)
-
-ESX.RegisterServerCallback('esx_garage:checkMoney', function(source, cb, amount)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- cb(xPlayer.getMoney() >= amount)
-end)
-
-RegisterServerEvent("esx_garage:payPound")
-AddEventHandler("esx_garage:payPound", function(amount)
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
-
- if xPlayer.getMoney() >= amount then
- xPlayer.removeMoney(amount, "Impound Fee")
- xPlayer.showNotification(TranslateCap('pay_Impound_bill', amount))
- else
- xPlayer.showNotification(TranslateCap('missing_money'))
- end
-end)
\ No newline at end of file
diff --git a/[esx_addons]/esx_holdup/.editorconfig b/[esx_addons]/esx_holdup/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_holdup/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_holdup/LICENSE b/[esx_addons]/esx_holdup/LICENSE
deleted file mode 100644
index 288b1eee..00000000
--- a/[esx_addons]/esx_holdup/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_holdup/README.md b/[esx_addons]/esx_holdup/README.md
deleted file mode 100644
index 251f1999..00000000
--- a/[esx_addons]/esx_holdup/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
[ESX] Hold Up
Discord - Website - Documentation
-
-"Freeze!" - is the only you will be hearing here. This resource adds **alot** of stores for you to rob and steal from, because how else are you going to get money? work? uh, Lame!
-
-# Legal
-
-esx_holdup - rob stores!
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
\ No newline at end of file
diff --git a/[esx_addons]/esx_holdup/client/main.lua b/[esx_addons]/esx_holdup/client/main.lua
deleted file mode 100644
index 6f171414..00000000
--- a/[esx_addons]/esx_holdup/client/main.lua
+++ /dev/null
@@ -1,118 +0,0 @@
-local holdingUp = false
-local store = ''
-local blipRobbery = nil
-
-function DrawTxt(x,y, width, height, scale, text, r, g, b, a, outline)
- SetTextFont(0)
- SetTextScale(scale, scale)
- SetTextColour(r, g, b, a)
- SetTextDropshadow(0, 0, 0, 0,255)
- SetTextDropShadow()
- if outline then
- SetTextOutline()
- end
- BeginTextCommandDisplayText('STRING')
- AddTextComponentSubstringPlayerName(text)
- EndTextCommandDisplayText(x - width / 2, y - height / 2 + 0.005)
-end
-
-RegisterNetEvent('esx_holdup:currentlyRobbing')
-AddEventHandler('esx_holdup:currentlyRobbing', function(currentStore)
- holdingUp, store = true, currentStore
-end)
-
-RegisterNetEvent('esx_holdup:killBlip')
-AddEventHandler('esx_holdup:killBlip', function()
- RemoveBlip(blipRobbery)
-end)
-
-RegisterNetEvent('esx_holdup:setBlip')
-AddEventHandler('esx_holdup:setBlip', function(position)
- blipRobbery = AddBlipForCoord(position)
- SetBlipSprite(blipRobbery, 161)
- SetBlipScale(blipRobbery, 2.0)
- SetBlipColour(blipRobbery, 3)
- PulseBlip(blipRobbery)
-end)
-
-RegisterNetEvent('esx_holdup:tooFar')
-AddEventHandler('esx_holdup:tooFar', function()
- store = ''
- ESX.ShowNotification(TranslateCap('robbery_cancelled'))
-end)
-
-RegisterNetEvent('esx_holdup:robberyComplete')
-AddEventHandler('esx_holdup:robberyComplete', function(award)
- holdingUp, store = false, ''
- ESX.ShowNotification(TranslateCap('robbery_complete', award))
-end)
-
-RegisterNetEvent('esx_holdup:startTimer')
-AddEventHandler('esx_holdup:startTimer', function()
- local timer = Stores[store].secondsRemaining
- CreateThread(function()
- while timer > 0 and holdingUp do
- Wait(1000)
- if timer > 0 then
- timer = timer - 1
- end
- end
- end)
- CreateThread(function()
- while holdingUp do
- Wait(0)
- DrawTxt(0.66, 1.44, 1.0, 1.0, 0.4, TranslateCap('robbery_timer', timer), 255, 255, 255, 255)
- end
- end)
-end)
-
-CreateThread(function()
- for k,v in pairs(Stores) do
- local blip = AddBlipForCoord(v.position)
- SetBlipSprite(blip, 156)
- SetBlipScale(blip, 0.8)
- SetBlipAsShortRange(blip, true)
- BeginTextCommandSetBlipName('STRING')
- AddTextComponentSubstringPlayerName(TranslateCap('shop_robbery'))
- EndTextCommandSetBlipName(blip)
- end
-end)
-
-CreateThread(function()
- while true do
- Wait(0)
- local playerPos, letSleep = GetEntityCoords(PlayerPedId()), true
- for k,v in pairs(Stores) do
- local distance = #(playerPos - v.position)
- if distance < Config.Marker.DrawDistance then
- if not holdingUp then
- letSleep = false
- DrawMarker(Config.Marker.Type, v.position, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Config.Marker.x, Config.Marker.y, Config.Marker.z, Config.Marker.r, Config.Marker.g, Config.Marker.b, Config.Marker.a, false, false, 2, false, false, false, false)
- if distance < 2.0 then
- ESX.ShowHelpNotification(TranslateCap('press_to_rob', v.nameOfStore))
- if IsControlJustReleased(0, 38) then
- if IsPedArmed(PlayerPedId(), 4) then
- TriggerServerEvent('esx_holdup:robberyStarted', k)
- else
- ESX.ShowNotification(TranslateCap('no_threat'))
- end
- end
- end
- end
- break
- else
- letSleep = true
- end
- end
- if holdingUp then
- letSleep = false
- if #(playerPos - Stores[store].position) > Config.MaxDistance then
- TriggerServerEvent('esx_holdup:tooFar', store)
- holdingUp, letSleep = false, true
- end
- end
- if letSleep then
- Wait(500)
- end
- end
-end)
diff --git a/[esx_addons]/esx_holdup/config.lua b/[esx_addons]/esx_holdup/config.lua
deleted file mode 100644
index 9ea2d292..00000000
--- a/[esx_addons]/esx_holdup/config.lua
+++ /dev/null
@@ -1,80 +0,0 @@
-Config = {}
-Config.Locale = GetConvar('esx:locale', 'en')
-
-Config.Marker = {
- r = 250, g = 0, b = 0, a = 100, -- red color
- x = 1.0, y = 1.0, z = 1.5, -- tiny, cylinder formed circle
- DrawDistance = 15.0, Type = 1 -- default circle type, low draw distance due to indoors area
-}
-
-Config.PoliceNumberRequired = 2
-Config.TimerBeforeNewRob = 1800 -- The cooldown timer on a store after robbery was completed / canceled, in seconds
-
-Config.MaxDistance = 20 -- max distance from the robbary, going any longer away from it will to cancel the robbary
-Config.GiveBlackMoney = true -- give black money? If disabled it will give cash instead
-
-Stores = {
- ['paleto_twentyfourseven'] = {
- position = vector3(1736.32, 6419.47, 34.03),
- reward = math.random(5000, 35000),
- nameOfStore = '24/7. (Paleto Bay)',
- secondsRemaining = 350, -- seconds
- lastRobbed = 0
- },
- ['sandyshores_twentyfoursever'] = {
- position = vector3(1961.24, 3749.46, 31.34),
- reward = math.random(3000, 20000),
- nameOfStore = '24/7. (Sandy Shores)',
- secondsRemaining = 200, -- seconds
- lastRobbed = 0
- },
- ['littleseoul_twentyfourseven'] = {
- position = vector3(-709.17, -904.21, 18.21),
- reward = math.random(3000, 20000),
- nameOfStore = '24/7. (Little Seoul)',
- secondsRemaining = 200, -- seconds
- lastRobbed = 0
- },
- ['bar_one'] = {
- position = vector3(1990.57, 3044.95, 46.21),
- reward = math.random(5000, 35000),
- nameOfStore = 'Yellow Jack. (Sandy Shores)',
- secondsRemaining = 300, -- seconds
- lastRobbed = 0
- },
- ['ocean_liquor'] = {
- position = vector3(-2959.33, 388.21, 13.00),
- reward = math.random(3000, 30000),
- nameOfStore = 'Robs Liquor. (Great Ocean Highway)',
- secondsRemaining = 200, -- seconds
- lastRobbed = 0
- },
- ['rancho_liquor'] = {
- position = vector3(1126.80, -980.40, 44.41),
- reward = math.random(3000, 50000),
- nameOfStore = 'Robs Liquor. (El Rancho Blvd)',
- secondsRemaining = 200, -- seconds
- lastRobbed = 0
- },
- ['sanandreas_liquor'] = {
- position = vector3(-1219.85, -916.27, 10.32),
- reward = math.random(3000, 30000),
- nameOfStore = 'Robs Liquor. (San Andreas Avenue)',
- secondsRemaining = 200, -- seconds
- lastRobbed = 0
- },
- ['grove_ltd'] = {
- position = vector3(-43.40, -1749.20, 28.42),
- reward = math.random(3000, 15000),
- nameOfStore = 'LTD Gasoline. (Grove Street)',
- secondsRemaining = 200, -- seconds
- lastRobbed = 0
- },
- ['mirror_ltd'] = {
- position = vector3(1160.67, -314.40, 68.20),
- reward = math.random(3000, 15000),
- nameOfStore = 'LTD Gasoline. (Mirror Park Boulevard)',
- secondsRemaining = 200, -- seconds
- lastRobbed = 0
- }
-}
diff --git a/[esx_addons]/esx_holdup/fxmanifest.lua b/[esx_addons]/esx_holdup/fxmanifest.lua
deleted file mode 100644
index 23cd302b..00000000
--- a/[esx_addons]/esx_holdup/fxmanifest.lua
+++ /dev/null
@@ -1,23 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Holdup'
-lua54 'yes'
-version '1.9.0'
-
-shared_script '@es_extended/imports.lua'
-
-client_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'client/main.lua'
-}
-
-server_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'server/main.lua'
-}
diff --git a/[esx_addons]/esx_holdup/locales/de.lua b/[esx_addons]/esx_holdup/locales/de.lua
deleted file mode 100644
index fb9c7a05..00000000
--- a/[esx_addons]/esx_holdup/locales/de.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['de'] = {
- ['shop_robbery'] = 'Ladenraub',
- ['press_to_rob'] = 'Drücke [E] zum Ausrauben %s',
- ['robbery_timer'] = 'Ladenraub: %s Sekunden übrig!',
- ['recently_robbed'] = 'dieser Laden wurde bereits ausgeraubt. Bitte warte %s sekunden!',
- ['rob_in_prog'] = 'Raub im Gange bei: %s',
- ['started_to_rob'] = 'Du hast einen Raub gestartet %s',
- ['alarm_triggered'] = 'Der Alarm wurde ausgelöst',
- ['robbery_complete'] = 'Raub erfolgreich. Du hast $%s gestohlen',
- ['robbery_complete_at'] = 'Raub erfolgreich bei: %s',
- ['robbery_cancelled'] = 'Der Raub wurde abgebrochen, du bekommst nichts!',
- ['robbery_cancelled_at'] = 'Raub abgebrochen bei: %s',
- ['min_police'] = 'Es müssen mindestens %s Polizisten im Dienst sein um ein Raub zu starten.',
- ['robbery_already'] = 'Ein Raub ist bereits im gange.',
- ['no_threat'] = 'Du machst den Ladenbesitzer keine Angst!',
-}
diff --git a/[esx_addons]/esx_holdup/locales/en.lua b/[esx_addons]/esx_holdup/locales/en.lua
deleted file mode 100644
index 073d95df..00000000
--- a/[esx_addons]/esx_holdup/locales/en.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['en'] = {
- ['shop_robbery'] = 'shop Robbery',
- ['press_to_rob'] = 'press [E] to ~o~rob %s',
- ['robbery_timer'] = 'store robbery: ~r~%s seconds remaning',
- ['recently_robbed'] = 'this store was recently been robbed. Please wait %s seconds until you can rob again',
- ['rob_in_prog'] = '~r~robbery in progress at %s',
- ['started_to_rob'] = 'you started to rob %s',
- ['alarm_triggered'] = 'the alarm has been triggered',
- ['robbery_complete'] = '~r~The robbery has been successful, you ~o~stole $%s',
- ['robbery_complete_at'] = '~r~Robbery successful at %s',
- ['robbery_cancelled'] = 'the robbery has been cancelled!',
- ['robbery_cancelled_at'] = '~r~The robbery at %s has been cancelled!',
- ['min_police'] = 'there must be at least %s cops in town to rob.',
- ['robbery_already'] = '~r~A robbery is already in progress.',
- ['no_threat'] = 'you do not pose a threat to the store keeper',
-}
diff --git a/[esx_addons]/esx_holdup/locales/es.lua b/[esx_addons]/esx_holdup/locales/es.lua
deleted file mode 100644
index 326f26fb..00000000
--- a/[esx_addons]/esx_holdup/locales/es.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['es'] = {
- ['shop_robbery'] = 'atraco a tienda',
- ['press_to_rob'] = 'pulsa [E] para ~o~robar %s',
- ['robbery_timer'] = 'atraco: ~r~%s segundos restantes',
- ['recently_robbed'] = 'esta tienda fue robada recientemente. Espera %s antes de poder robarla de nuevo',
- ['rob_in_prog'] = '~r~Robo en proceso en %s',
- ['started_to_rob'] = 'has empezado a robar en %s',
- ['alarm_triggered'] = 'la alarma ha sido activada!',
- ['robbery_complete'] = '~r~El robo salió bien, has ~o~robado %s€',
- ['robbery_complete_at'] = '~r~Robo finalizado en %s',
- ['robbery_cancelled'] = 'el ~o~robo ha sido cancelado!',
- ['robbery_cancelled_at'] = '~r~El robo en %s ha sido cancelado!',
- ['min_police'] = 'se necesitan %s policias activos para poder robar.',
- ['robbery_already'] = '~r~Ya hay un robo en progreso.',
- ['no_threat'] = 'sin pistola el encargado de la tienda no te tiene miedo...',
-}
diff --git a/[esx_addons]/esx_holdup/locales/et.lua b/[esx_addons]/esx_holdup/locales/et.lua
deleted file mode 100644
index b04db889..00000000
--- a/[esx_addons]/esx_holdup/locales/et.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['et'] = {
- ['shop_robbery'] = 'Poe rööv',
- ['press_to_rob'] = 'Vajuta [E], et ~o~röövida %s',
- ['robbery_timer'] = 'Poe vargus: ~r~%s sekundit jäänud',
- ['recently_robbed'] = 'Seda poodi on juba röövitud. Palun oota %s sekundit, et seda poodi röövida uuesti',
- ['rob_in_prog'] = '~r~Toimumas poe rööv asukohas: %s',
- ['started_to_rob'] = 'Sa alustasid %s röövimisega',
- ['alarm_triggered'] = 'Alarm on käivitatud',
- ['robbery_complete'] = '~r~Rööv edukas, sa ~o~varastasid $%s',
- ['robbery_complete_at'] = '~r~Edukas rööv asukohas %s',
- ['robbery_cancelled'] = 'Poe rööv katkestatud!',
- ['robbery_cancelled_at'] = '~r~Rööv asukohas: %s on katkestatud!',
- ['min_police'] = 'Linnas peab olema vähemalt %s politseiniku ,et röövida poodi.',
- ['robbery_already'] = '~r~Keegi juba röövib kusagil poodi.',
- ['no_threat'] = 'Sa ei kujuta poepidajale ohtu',
-}
diff --git a/[esx_addons]/esx_holdup/locales/fi.lua b/[esx_addons]/esx_holdup/locales/fi.lua
deleted file mode 100644
index eafb48e8..00000000
--- a/[esx_addons]/esx_holdup/locales/fi.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['fi'] = {
- ['shop_robbery'] = 'kaupan ryöstö',
- ['press_to_rob'] = 'paina [E] ~o~ryöstääksesi kaupan %s',
- ['robbery_timer'] = 'kauppa ryöstö: ~r~%s sekunttia jäljellä',
- ['recently_robbed'] = 'tämä kauppa ryöstettiin vasta. Odota %s sekunttia että voit ryöstää.',
- ['rob_in_prog'] = '~r~ryöstö menossa kohteessa %s',
- ['started_to_rob'] = 'sinä aloitit ryöstään %s',
- ['alarm_triggered'] = 'hälyytys laukaistu!',
- ['robbery_complete'] = '~r~Ryöstö onnistui, sinä ~o~varastit $%s',
- ['robbery_complete_at'] = '~r~Ryöstö ohitse kohteessa %s',
- ['robbery_cancelled'] = 'ryöstö keskeytyi!',
- ['robbery_cancelled_at'] = '~r~Ryöstö kohteessa %s keskeytyi!',
- ['min_police'] = 'kaupungissa pitää olla vähintää %s poliisia paikalla ryöstön aloitukseen.',
- ['robbery_already'] = '~r~Ryöstö on jo menossa.',
- ['no_threat'] = 'you do not pose a threat to the store keeper',
-}
diff --git a/[esx_addons]/esx_holdup/locales/fr.lua b/[esx_addons]/esx_holdup/locales/fr.lua
deleted file mode 100644
index 86ff6cbb..00000000
--- a/[esx_addons]/esx_holdup/locales/fr.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['fr'] = {
- ['shop_robbery'] = 'braquage magasin',
- ['press_to_rob'] = 'appuyez sur [E] ~o~pour braquer %s',
- ['robbery_timer'] = 'braquage magasin: il reste ~r~%s secondes',
- ['recently_robbed'] = 'ce magasin a déjà été braqué. Attendez ~r~%s secondes.',
- ['rob_in_prog'] = '~r~Braquage en cours à: %s',
- ['started_to_rob'] = 'vous avez commencé à braquer %s',
- ['alarm_triggered'] = 'l\'alarme a été déclenchée',
- ['robbery_complete'] = '~r~Braquage terminé. Vous avez ~o~volé $%s',
- ['robbery_complete_at'] = '~r~Braquage terminé à: %s',
- ['robbery_cancelled'] = 'le braquage va être annulé, vous ne gagnerez rien!',
- ['robbery_cancelled_at'] = '~r~Braquage annulé à: %s',
- ['min_police'] = 'il faut minimum %s policiers en ville pour braquer.',
- ['robbery_already'] = '~r~Un braquage est déjà en cours.',
- ['no_threat'] = 'vous ne représentez pas une menace pour le commerçant',
-}
diff --git a/[esx_addons]/esx_holdup/locales/hu.lua b/[esx_addons]/esx_holdup/locales/hu.lua
deleted file mode 100644
index f6d2190f..00000000
--- a/[esx_addons]/esx_holdup/locales/hu.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['hu'] = {
- ['shop_robbery'] = 'Boltrablás',
- ['press_to_rob'] = 'Nyomd meg az [E] gombot ~o~rablás indításához %s',
- ['robbery_timer'] = 'Ennyi idö van a rablásból: ~r~%s másodperc',
- ['recently_robbed'] = 'Ezt a boltot már rabolták. Várj a következö rablásig: %s másodperc',
- ['rob_in_prog'] = '~r~Rablás indult: %s',
- ['started_to_rob'] = 'Elindítottál egy rablást: %s',
- ['alarm_triggered'] = 'Vészjelzö elindult!',
- ['robbery_complete'] = '~r~Rablás sikeres, ennyit kaptál: $%s',
- ['robbery_complete_at'] = '~r~Rablás sikeres: %s',
- ['robbery_cancelled'] = 'Rablást félbe szakítottad!',
- ['robbery_cancelled_at'] = '~r~Rablást megszakították: %s!',
- ['min_police'] = 'Legalább %s rendőrnek kell lennie a városban a rabláshoz.',
- ['robbery_already'] = '~r~Rablás folyamatban.',
- ['no_threat'] = 'nem jelentesz veszélyzt az üzletvezetőre',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_holdup/locales/it.lua b/[esx_addons]/esx_holdup/locales/it.lua
deleted file mode 100644
index df8ae255..00000000
--- a/[esx_addons]/esx_holdup/locales/it.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['it'] = {
- ['shop_robbery'] = 'rapine negozi',
- ['press_to_rob'] = 'premi [E] per ~o~avviare una rapina %s',
- ['robbery_timer'] = 'rapina: ~r~%s secondi rimanenti',
- ['recently_robbed'] = 'questo negozio è stato recentemente rapinato. Attendi %s secondi prima di poter avviare una nuova rapina',
- ['rob_in_prog'] = '~r~rapina in corso %s',
- ['started_to_rob'] = 'hai iniziato a derubare %s',
- ['alarm_triggered'] = 'l\'allarme è stato attivato',
- ['robbery_complete'] = '~r~la rapina ha avuto successo, hai ~o~rubato $%s',
- ['robbery_complete_at'] = '~r~rapina riuscita %s',
- ['robbery_cancelled'] = 'la rapina è stata annullata!',
- ['robbery_cancelled_at'] = '~r~la rapina a %s è stata annullata!',
- ['min_police'] = 'devono esserci almeno %s poliziotti in città per avviare una rapina.',
- ['robbery_already'] = '~r~una rapina è già in corso.',
- ['no_threat'] = 'non rappresenti una minaccia per il negoziante',
-}
diff --git a/[esx_addons]/esx_holdup/locales/nl.lua b/[esx_addons]/esx_holdup/locales/nl.lua
deleted file mode 100644
index 650e5ff0..00000000
--- a/[esx_addons]/esx_holdup/locales/nl.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['nl'] = {
- ['shop_robbery'] = 'Winkel Overval',
- ['press_to_rob'] = 'Druk op ~INPUT_CONTEXT~ om ~b~%s~s~ te ~o~overvallen~s~ ',
- ['robbery_timer'] = 'Winkel overval: nog ~r~%s~s~ seconden wachten',
- ['recently_robbed'] = 'Deze winkel is net overvallen . Wacht nog ~y~%s~s~ seconden voordat je deze winkel kan overvallen',
- ['rob_in_prog'] = '~r~Overval aan de gang bij de ~b~%s~s~',
- ['started_to_rob'] = 'Je bent begonnen met het overvallen van de ~y~%s~s~',
- ['alarm_triggered'] = 'Het alarm gaat af!',
- ['robbery_complete'] = '~r~De overval is succesvol ~s~, je hebt ~g~$%s~s~ ~o~buitgemaakt~s~',
- ['robbery_complete_at'] = '~r~De overval bij de ~y~%s~s~ is geslaagd',
- ['robbery_cancelled'] = 'De overval is gestopt!',
- ['robbery_cancelled_at'] = '~r~De overval bij de ~b~%s~s~ is gestopt!',
- ['min_police'] = 'Er moeten minimaal ~b~%s agenten~s~ in de stad aanwezig zijn.',
- ['robbery_already'] = '~r~Er is al een overval gaande.',
- ['no_threat'] = 'Je vormt geen Bedreiging voor de eigenaar',
-}
diff --git a/[esx_addons]/esx_holdup/locales/pl.lua b/[esx_addons]/esx_holdup/locales/pl.lua
deleted file mode 100644
index 7e0c122a..00000000
--- a/[esx_addons]/esx_holdup/locales/pl.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['pl'] = {
- ['shop_robbery'] = 'napad na sklep',
- ['press_to_rob'] = 'naciśnij [E] aby rozpocząc ~o~napad na %s',
- ['robbery_timer'] = 'napad na sklep: ~r~%s sekund do końca',
- ['recently_robbed'] = 'ten sklep niedawno został obrabowany. Proszę poczekać %s sekund przed kolejnym napadem',
- ['rob_in_prog'] = '~r~napad w toku w %s',
- ['started_to_rob'] = 'rozpoczałeś/aś napad %s',
- ['alarm_triggered'] = 'alarm został włączony',
- ['robbery_complete'] = '~r~Napad udany, ~o~obrabowałeś/aś $%s',
- ['robbery_complete_at'] = '~r~Napad udany w %s',
- ['robbery_cancelled'] = 'napad został anulowany!',
- ['robbery_cancelled_at'] = '~r~Napad w %s został anulowany!',
- ['min_police'] = 'minimalnie musi być %s policjantów w mieście aby obrabować.',
- ['robbery_already'] = '~r~Napad jest już w toku.',
- ['no_threat'] = 'nie stwarzasz zagrożenia dla tego sklepu',
-}
diff --git a/[esx_addons]/esx_holdup/locales/si.lua b/[esx_addons]/esx_holdup/locales/si.lua
deleted file mode 100644
index 9b2974e9..00000000
--- a/[esx_addons]/esx_holdup/locales/si.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['si'] = {
- ['shop_robbery'] = 'rop trgovine',
- ['press_to_rob'] = 'pritisnite [E] za ~o~rob %s',
- ['robbery_timer'] = 'rop trgovine: ~r~%s sekundah',
- ['recently_robbed'] = 'ta trgovina je bila nedavno oropana. Počakajte %s sekund, da boste lahko ponovno ropali',
- ['rob_in_prog'] = '~r~robljenje poteka v %s',
- ['started_to_rob'] = 'začel si ropati %s',
- ['alarm_triggered'] = 'alarm se je sprožil',
- ['robbery_complete'] = '~r~Lop je bil uspešen, ~o~stole $%s',
- ['robbery_complete_at'] = '~r~Robbery successful at %s',
- ['robbery_cancelled'] = 'rop je bil preklican!',
- ['robbery_cancelled_at'] = '~r~Lop na lokaciji %s je bil preklican!',
- ['min_police'] = 'za rop mora biti v mestu vsaj %s policistov.',
- ['robbery_already'] = '~r~Lop je že v teku.',
- ['no_threat'] = 'ne predstavljaš nevarnosti za lastnika trgovine',
-}
diff --git a/[esx_addons]/esx_holdup/locales/sv.lua b/[esx_addons]/esx_holdup/locales/sv.lua
deleted file mode 100644
index 68ef5826..00000000
--- a/[esx_addons]/esx_holdup/locales/sv.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Locales['sv'] = {
- ['shop_robbery'] = 'butikrån',
- ['press_to_rob'] = 'tryck [E] för att ~o~råna %s',
- ['robbery_timer'] = 'butiksrån: ~r~%s sekunder kvarstår',
- ['recently_robbed'] = 'denna butik har nyligen rånats, du måste vänta %s sekunder!',
- ['rob_in_prog'] = '~r~Det är ett pågående rån vid %s',
- ['started_to_rob'] = 'du började att råna %s, gå inte för långt från butiken!',
- ['alarm_triggered'] = '~o~Larmet har utlösts',
- ['robbery_complete'] = '~r~Rånet är avklarat, du stal ~r~%s SEK!',
- ['robbery_complete_at'] = '~r~Ett rån lyckades vid %s',
- ['robbery_cancelled'] = 'rånet avbröts!',
- ['robbery_cancelled_at'] = '~r~Rånet vid %s avbröts!',
- ['min_police'] = 'det måste vara minst %s poliser inne för att du ska kunna ~o~råna butiker.',
- ['robbery_already'] = '~r~Ett rån pågår redan.',
- ['no_threat'] = 'du kan inte hota utan ett vapen',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_holdup/server/main.lua b/[esx_addons]/esx_holdup/server/main.lua
deleted file mode 100644
index 0e8498d4..00000000
--- a/[esx_addons]/esx_holdup/server/main.lua
+++ /dev/null
@@ -1,68 +0,0 @@
-local rob = false
-local robbers = {}
-
-RegisterServerEvent('esx_holdup:tooFar')
-AddEventHandler('esx_holdup:tooFar', function(currentStore)
- local source = source
- rob = false
- for _, xPlayer in pairs(ESX.GetExtendedPlayers('job', 'police')) do
- TriggerClientEvent('esx:showNotification', xPlayer.source, TranslateCap('robbery_cancelled_at', Stores[currentStore].nameOfStore))
- TriggerClientEvent('esx_holdup:killBlip', xPlayer.source)
- end
- if robbers[source] then
- TriggerClientEvent('esx_holdup:tooFar', source)
- ESX.ClearTimeout(robbers[source])
- robbers[source] = nil
- TriggerClientEvent('esx:showNotification', source, TranslateCap('robbery_cancelled_at', Stores[currentStore].nameOfStore))
- end
-end)
-
-RegisterServerEvent('esx_holdup:robberyStarted')
-AddEventHandler('esx_holdup:robberyStarted', function(currentStore)
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
- if Stores[currentStore] then
- local store = Stores[currentStore]
- if (os.time() - store.lastRobbed) < Config.TimerBeforeNewRob and store.lastRobbed ~= 0 then
- TriggerClientEvent('esx:showNotification', source, TranslateCap('recently_robbed', Config.TimerBeforeNewRob - (os.time() - store.lastRobbed)))
- return
- end
- if not rob then
- local xPlayers = ESX.GetExtendedPlayers('job', 'police')
- if #xPlayers >= Config.PoliceNumberRequired then
- rob = true
- for i=1, #(xPlayers) do
- local xPlayer = xPlayers[i]
- TriggerClientEvent('esx:showNotification', xPlayer.source, TranslateCap('rob_in_prog', store.nameOfStore))
- TriggerClientEvent('esx_holdup:setBlip', xPlayer.source, Stores[currentStore].position)
- end
- TriggerClientEvent('esx:showNotification', source, TranslateCap('started_to_rob', store.nameOfStore))
- TriggerClientEvent('esx:showNotification', source, TranslateCap('alarm_triggered'))
- TriggerClientEvent('esx_holdup:currentlyRobbing', source, currentStore)
- TriggerClientEvent('esx_holdup:startTimer', source)
- Stores[currentStore].lastRobbed = os.time()
- robbers[source] = ESX.SetTimeout(store.secondsRemaining * 1000, function()
- rob = false
- if xPlayer then
- TriggerClientEvent('esx_holdup:robberyComplete', source, store.reward)
- if Config.GiveBlackMoney then
- xPlayer.addAccountMoney('black_money', store.reward, "Robbery")
- else
- xPlayer.addMoney(store.reward, "Robbery")
- end
- local xPlayers = ESX.GetExtendedPlayers('job', 'police')
- for i=1, #(xPlayers) do
- local xPlayer = xPlayers[i]
- TriggerClientEvent('esx:showNotification', xPlayer.source, TranslateCap('robbery_complete_at', store.nameOfStore))
- TriggerClientEvent('esx_holdup:killBlip', xPlayer.source)
- end
- end
- end)
- else
- TriggerClientEvent('esx:showNotification', source, TranslateCap('min_police', Config.PoliceNumberRequired))
- end
- else
- TriggerClientEvent('esx:showNotification', source, TranslateCap('robbery_already'))
- end
- end
-end)
diff --git a/[esx_addons]/esx_joblisting/.editorconfig b/[esx_addons]/esx_joblisting/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_joblisting/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_joblisting/LICENSE b/[esx_addons]/esx_joblisting/LICENSE
deleted file mode 100644
index 428c413b..00000000
--- a/[esx_addons]/esx_joblisting/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_joblisting/README.md b/[esx_addons]/esx_joblisting/README.md
deleted file mode 100644
index a8e4cfd5..00000000
--- a/[esx_addons]/esx_joblisting/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
[ESX] Job Listing
Discord - Website - Documentation
-
-This Simple resource lets you finally contribute to Society and make a difference in the Word! How? it adds an amazing Menu where you can pick what you want to be in life - want to be a police officier? No-problem! Or maybe you want to stalk people and be a creepy reporter? We got you covered!
-
-## Legal
-
-esx_joblisting - virtual Job Center!
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
diff --git a/[esx_addons]/esx_joblisting/client/main.lua b/[esx_addons]/esx_joblisting/client/main.lua
deleted file mode 100644
index 2ab5cc08..00000000
--- a/[esx_addons]/esx_joblisting/client/main.lua
+++ /dev/null
@@ -1,81 +0,0 @@
-local menuIsShowed, TextUIdrawing = false, false
-
-function ShowJobListingMenu()
- menuIsShowed = true
- ESX.TriggerServerCallback('esx_joblisting:getJobsList', function(jobs)
- local elements = {{unselectable = "true", title = TranslateCap('job_center'), icon = "fas fa-briefcase"}}
-
- for i = 1, #(jobs) do
- elements[#elements + 1] = {title = jobs[i].label, name = jobs[i].name}
- end
-
- ESX.OpenContext("right", elements, function(menu, SelectJob)
- TriggerServerEvent('esx_joblisting:setJob', SelectJob.name)
- ESX.CloseContext()
- ESX.ShowNotification(TranslateCap('new_job', SelectJob.title), "success")
- menuIsShowed = false
- TextUIdrawing = false
- end, function()
- menuIsShowed = false
- TextUIdrawing = false
- end)
- end)
-end
-
--- Activate menu when player is inside marker, and draw markers
-CreateThread(function()
- while true do
- local Sleep = 1500
-
- local coords = GetEntityCoords(ESX.PlayerData.ped)
- local isInMarker = false
-
- for i = 1, #Config.Zones, 1 do
- local distance = #(coords - Config.Zones[i])
-
- if distance < Config.DrawDistance then
- Sleep = 0
- DrawMarker(Config.MarkerType, Config.Zones[i], 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.ZoneSize.x, Config.ZoneSize.y, Config.ZoneSize.z,
- Config.MarkerColor.r, Config.MarkerColor.g, Config.MarkerColor.b, 100, false, true, 2, false, false, false, false)
- end
-
- if distance < (Config.ZoneSize.x / 2) then
- isInMarker = true
- if not TextUIdrawing then
- ESX.TextUI(TranslateCap("access_job_center"))
- TextUIdrawing = true
- end
- if IsControlJustReleased(0, 38) and not menuIsShowed then
- ShowJobListingMenu()
- ESX.HideUI()
- end
- end
- end
-
- if not isInMarker and TextUIdrawing then
- ESX.HideUI()
- TextUIdrawing = false
- end
-
- Wait(Sleep)
- end
-end)
-
--- Create blips
-if Config.Blip.Enabled then
- CreateThread(function()
- for i = 1, #Config.Zones, 1 do
- local blip = AddBlipForCoord(Config.Zones[i])
-
- SetBlipSprite(blip, Config.Blip.Sprite)
- SetBlipDisplay(blip, Config.Blip.Display)
- SetBlipScale(blip, Config.Blip.Scale)
- SetBlipColour(blip, Config.Blip.Colour)
- SetBlipAsShortRange(blip, Config.Blip.ShortRange)
-
- BeginTextCommandSetBlipName("STRING")
- AddTextComponentSubstringPlayerName(TranslateCap('blip_text'))
- EndTextCommandSetBlipName(blip)
- end
- end)
-end
\ No newline at end of file
diff --git a/[esx_addons]/esx_joblisting/config.lua b/[esx_addons]/esx_joblisting/config.lua
deleted file mode 100644
index f26abe18..00000000
--- a/[esx_addons]/esx_joblisting/config.lua
+++ /dev/null
@@ -1,22 +0,0 @@
-Config = {}
-
-Config.DrawDistance = 15.0
-Config.ZoneSize = {x = 2.7, y = 2.7, z = 0.5}
-Config.MarkerColor = {r = 100, g = 200, b = 104}
-Config.MarkerType = 27
-Config.Debug = ESX.GetConfig().EnableDebug
-
-Config.Locale = GetConvar('esx:locale', 'en')
-
-Config.Zones = {
- vector3(-265.08, -964.1, 30.3)
-}
-
-Config.Blip = {
- Enabled = true,
- Sprite = 407,
- Display = 4,
- Scale = 0.8,
- Colour = 27,
- ShortRange = true
-}
diff --git a/[esx_addons]/esx_joblisting/esx_joblisting.sql b/[esx_addons]/esx_joblisting/esx_joblisting.sql
deleted file mode 100644
index 98493ad5..00000000
--- a/[esx_addons]/esx_joblisting/esx_joblisting.sql
+++ /dev/null
@@ -1 +0,0 @@
-ALTER TABLE jobs add whitelisted BOOLEAN NOT NULL DEFAULT FALSE;
\ No newline at end of file
diff --git a/[esx_addons]/esx_joblisting/fxmanifest.lua b/[esx_addons]/esx_joblisting/fxmanifest.lua
deleted file mode 100644
index a2066124..00000000
--- a/[esx_addons]/esx_joblisting/fxmanifest.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-fx_version 'bodacious'
-game 'gta5'
-
-description 'ESX Job Listing'
-lua54 'yes'
-version '1.9.0'
-
-shared_scripts {
- '@es_extended/imports.lua',
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua'
-}
-
-server_script 'server/main.lua'
-
-client_script 'client/main.lua'
-
-dependency 'es_extended'
diff --git a/[esx_addons]/esx_joblisting/locales/br.lua b/[esx_addons]/esx_joblisting/locales/br.lua
deleted file mode 100644
index 26f317fb..00000000
--- a/[esx_addons]/esx_joblisting/locales/br.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['br'] = {
- ['new_job'] = 'Você agora tem um novo emprego!',
- ['access_job_center'] = 'Pressione ~INPUT_PICKUP~ para acessar a Lista de Empregos.',
- ['job_center'] = 'Agência de Empregos',
-}
diff --git a/[esx_addons]/esx_joblisting/locales/cs.lua b/[esx_addons]/esx_joblisting/locales/cs.lua
deleted file mode 100644
index 8c934176..00000000
--- a/[esx_addons]/esx_joblisting/locales/cs.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['cs'] = {
- ['new_job'] = 'mate novou praci!',
- ['access_job_center'] = 'stiskni ~INPUT_PICKUP~ pro pristup na Urad prace.',
- ['job_center'] = 'Urad prace',
-}
diff --git a/[esx_addons]/esx_joblisting/locales/de.lua b/[esx_addons]/esx_joblisting/locales/de.lua
deleted file mode 100644
index 84ad3342..00000000
--- a/[esx_addons]/esx_joblisting/locales/de.lua
+++ /dev/null
@@ -1,7 +0,0 @@
-Locales['de'] = {
- ['new_job'] = 'Du hast einen neuen Job!',
- ['access_job_center'] = 'Drücke [E] um das Arbeitsamt zu öffnen.',
- ['job_center'] = 'Arbeitsamt',
- ["blip_text"] = "Job Center"
-
-}
diff --git a/[esx_addons]/esx_joblisting/locales/en.lua b/[esx_addons]/esx_joblisting/locales/en.lua
deleted file mode 100644
index 901e076f..00000000
--- a/[esx_addons]/esx_joblisting/locales/en.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-Locales['en'] = {
- ['new_job'] = 'New Job: ~b~%s~s~ !',
- ['access_job_center'] = 'Press ~b~[E]~s~ To Open Job Selector.',
- ['job_center'] = 'Select A Job.',
- ["blip_text"] = "Job Centre"
-}
diff --git a/[esx_addons]/esx_joblisting/locales/es.lua b/[esx_addons]/esx_joblisting/locales/es.lua
deleted file mode 100644
index 95afec8a..00000000
--- a/[esx_addons]/esx_joblisting/locales/es.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['es'] = {
- ['new_job'] = '¡Tienes un trabajo nuevo!',
- ['access_job_center'] = 'Pulsa ~INPUT_PICKUP~ para entrar a la Oficina de Empleo.',
- ['job_center'] = 'Oficina de Empleo',
-}
diff --git a/[esx_addons]/esx_joblisting/locales/et.lua b/[esx_addons]/esx_joblisting/locales/et.lua
deleted file mode 100644
index 663d0446..00000000
--- a/[esx_addons]/esx_joblisting/locales/et.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-Locales['et'] = {
- ['new_job'] = 'Uus töökoht: ~b~%s~s~ !',
- ['access_job_center'] = 'Vajuta ~b~[E]~s~, et avada töötukassa menüü.',
- ['job_center'] = 'Vali töökoht.',
- ["blip_text"] = "Töötukassa"
-}
diff --git a/[esx_addons]/esx_joblisting/locales/fi.lua b/[esx_addons]/esx_joblisting/locales/fi.lua
deleted file mode 100644
index 1e37abdd..00000000
--- a/[esx_addons]/esx_joblisting/locales/fi.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['fi'] = {
- ['new_job'] = 'Sinulla on nyt uusi työ !',
- ['access_job_center'] = 'paina ~INPUT_PICKUP~ vaihtaaksesi työtä työkeskuksessa.',
- ['job_center'] = 'työkeskus',
-}
diff --git a/[esx_addons]/esx_joblisting/locales/fr.lua b/[esx_addons]/esx_joblisting/locales/fr.lua
deleted file mode 100644
index 7ac0a78b..00000000
--- a/[esx_addons]/esx_joblisting/locales/fr.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['fr'] = {
- ['new_job'] = 'vous avez un nouveau job !',
- ['access_job_center'] = 'appuyez sur ~INPUT_PICKUP~ pour \naccéder au Pôle Emploi.',
- ['job_center'] = 'pôle-Emploi',
-}
diff --git a/[esx_addons]/esx_joblisting/locales/hu.lua b/[esx_addons]/esx_joblisting/locales/hu.lua
deleted file mode 100644
index 36cb8365..00000000
--- a/[esx_addons]/esx_joblisting/locales/hu.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['hu'] = {
- ['new_job'] = 'Felvetted a munkát!',
- ['access_job_center'] = 'Nyomj ~b~[E]~s~ hogy megnézd a munkákat',
- ['job_center'] = 'Munkaügyi központ',
-}
diff --git a/[esx_addons]/esx_joblisting/locales/it.lua b/[esx_addons]/esx_joblisting/locales/it.lua
deleted file mode 100644
index fd2e9a89..00000000
--- a/[esx_addons]/esx_joblisting/locales/it.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-Locales['it'] = {
- ['new_job'] = 'Nuovo lavoro: ~b~%s~s~ !',
- ['access_job_center'] = 'Premi ~b~[E]~s~ per aprire la scelta dei lavori.',
- ['job_center'] = 'Seleziona un lavoro.',
- ["blip_text"] = "Centro lavori"
-}
diff --git a/[esx_addons]/esx_joblisting/locales/nl.lua b/[esx_addons]/esx_joblisting/locales/nl.lua
deleted file mode 100644
index 7152f026..00000000
--- a/[esx_addons]/esx_joblisting/locales/nl.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-Locales['nl'] = {
- ['new_job'] = 'Nieuwe baan: ~b~%s~s~ !',
- ['access_job_center'] = 'Klik op ~b~[E]~s~ om het uitzendbureau te openen.',
- ['job_center'] = 'Selecteer een baan.',
- ["blip_text"] = "Uitzendbureau"
-}
diff --git a/[esx_addons]/esx_joblisting/locales/pl.lua b/[esx_addons]/esx_joblisting/locales/pl.lua
deleted file mode 100644
index 9f22e657..00000000
--- a/[esx_addons]/esx_joblisting/locales/pl.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['pl'] = {
- ['new_job'] = 'masz nową pracę!',
- ['access_job_center'] = 'wciśnij ~INPUT_PICKUP~ aby otworzyć urząd pracy.',
- ['job_center'] = 'urząd Pracy',
-}
diff --git a/[esx_addons]/esx_joblisting/locales/si.lua b/[esx_addons]/esx_joblisting/locales/si.lua
deleted file mode 100644
index 76c5b6dd..00000000
--- a/[esx_addons]/esx_joblisting/locales/si.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['si'] = {
- ['new_job'] = 'imaš novo službo!',
- ['access_job_center'] = 'pritisnite ~INPUT_PICKUP~ za dostop do job center.',
- ['job_center'] = 'center za delovna mesta',
-}
diff --git a/[esx_addons]/esx_joblisting/locales/sv.lua b/[esx_addons]/esx_joblisting/locales/sv.lua
deleted file mode 100644
index b718af6c..00000000
--- a/[esx_addons]/esx_joblisting/locales/sv.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['sv'] = {
- ['new_job'] = 'du har ett nytt jobb! Tips: kolla kartan för nya blips.',
- ['access_job_center'] = 'tryck ~INPUT_PICKUP~ för att öppna arbetsförmedlingen',
- ['job_center'] = 'arbetsförmedlingen',
-}
diff --git a/[esx_addons]/esx_joblisting/server/main.lua b/[esx_addons]/esx_joblisting/server/main.lua
deleted file mode 100644
index 648c4c2b..00000000
--- a/[esx_addons]/esx_joblisting/server/main.lua
+++ /dev/null
@@ -1,55 +0,0 @@
-function getJobs()
- local jobs = ESX.GetJobs()
- local availableJobs = {}
- for k, v in pairs(jobs) do
- if v.whitelisted == false then
- availableJobs[#availableJobs + 1] = {label = v.label, name = k}
- end
- end
- return availableJobs
-end
-
-ESX.RegisterServerCallback('esx_joblisting:getJobsList', function(source, cb)
- local jobs = getJobs()
- cb(jobs)
-end)
-
-function IsJobAvailable(job)
- local jobs = ESX.GetJobs()
- local JobToCheck = jobs[job]
- return not JobToCheck.whitelisted
-end
-
-function IsNearCentre(player)
- local Ped = GetPlayerPed(player)
- local PedCoords = GetEntityCoords(Ped)
- local Zones = Config.Zones
- local Close = false
-
- for i = 1, #Config.Zones, 1 do
- local distance = #(PedCoords - Config.Zones[i])
-
- if distance < Config.DrawDistance then
- Close = true
- end
- end
-
- return Close
-end
-
-RegisterServerEvent('esx_joblisting:setJob')
-AddEventHandler('esx_joblisting:setJob', function(job)
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
- local jobs = getJobs()
-
- if xPlayer and IsNearCentre(source) and IsJobAvailable(job) then
- if ESX.DoesJobExist(job, 0) then
- xPlayer.setJob(job, 0)
- else
- print("[^1ERROR^7] Tried Setting User ^5".. source .. "^7 To Invalid Job - ^5"..job .."^7!")
- end
- else
- print("[^3WARNING^7] User ^5".. source .. "^7 Attempted to Exploit ^5`esx_joblisting:setJob`^7!")
- end
-end)
diff --git a/[esx_addons]/esx_jobs/.editorconfig b/[esx_addons]/esx_jobs/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_jobs/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_jobs/LICENSE b/[esx_addons]/esx_jobs/LICENSE
deleted file mode 100644
index 2f5a7768..00000000
--- a/[esx_addons]/esx_jobs/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_jobs/README.md b/[esx_addons]/esx_jobs/README.md
deleted file mode 100644
index dc17072b..00000000
--- a/[esx_addons]/esx_jobs/README.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# esx_jobs
-
-## Requirements
-
-- [esx_addonaccount](https://github.com/ESX-Org/esx_addonaccount)
-- [esx_skin](https://github.com/ESX-Org/esx_skin)
-
-### Features
-
-- Jobs: slaughterer, miner, fisherman, journalist, fueler, tailor
-- Security deposit when renting a job vehicle (given back in case of crash, to the amount of damage the vehicle has already taken)
-- Easy system to create jobs (samples in jobs folder)
-- Item farming jobs
-This addon is an easy way to have farming jobs on your server, there is no player management.
-
-## iZone integreation (optional)
-
-- You can use iZone with esx_jobs by creating polynomial zones with iZone. When you finish the zone creation, take the zone name and set a Zone field on the job like so:
-
-```
-CloakRoom = {
- Zone = "miner_room", -- HERE
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = true,
- Name = TranslateCap("m_miner_locker"),
- Type = "cloakroom",
- Hint = TranslateCap("cloak_change"),
- GPS = {x = 884.86, y = -2176.51, z = 29.51}
-}
-```
-
-- Note that this is just to have custom zone and avoid using radius.
-
-### [How to install and use iZone](https://github.com/izio38/iZone)
-
-## Legal
-
-esx_jobs - jobs
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see .
diff --git a/[esx_addons]/esx_jobs/client/main.lua b/[esx_addons]/esx_jobs/client/main.lua
deleted file mode 100644
index 721742de..00000000
--- a/[esx_addons]/esx_jobs/client/main.lua
+++ /dev/null
@@ -1,496 +0,0 @@
-local Blips = {}
-local JobBlips = {}
-local isInMarker = false
-local hintToDisplay = "no hint to display"
-local onDuty = false
-local spawner = 0
-local myPlate = {}
-
-local vehicleObjInCaseofDrop = nil
-local vehicleInCaseofDrop = nil
-
-local vehicleMaxHealth = nil
-
-RegisterNetEvent('esx:playerLoaded', function(xPlayer)
- ESX.PlayerData = xPlayer
- ESX.PlayerLoaded = true
- refreshBlips()
-end)
-
-RegisterNetEvent('esx:onPlayerLogout',function()
- ESX.PlayerLoaded = false
- ESX.PlayerData = {}
-end)
-
-RegisterNetEvent('esx:setJob',function(job)
- ESX.PlayerData.job = job
-end)
-
-function OpenMenu()
- local elements = {
- {unselectable = true, icon = "fas fa-shirt", title = TranslateCap('cloakroom')},
- {icon = "fas fa-shirt", title = TranslateCap('job_wear'), value = "job_wear"},
- {icon = "fas fa-shirt", title = TranslateCap('citizen_wear'), value = "citizen_wear"},
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.value == "citizen_wear" then
- onDuty = false
- ESX.ShowNotification(TranslateCap('offduty'),"success")
- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin)
- local isMale = skin.sex == 0
-
- TriggerEvent('skinchanger:loadDefaultModel', isMale, function()
- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin)
- TriggerEvent('skinchanger:loadSkin', skin)
- end)
- end)
- end)
- elseif element.value == "job_wear" then
- onDuty = true
- ESX.ShowNotification(TranslateCap('onduty'), "success")
- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin)
- if skin.sex == 0 then
- if ESX.Table.SizeOf(jobSkin.skin_male) >= 1 then
- TriggerEvent('skinchanger:loadClothes', skin, jobSkin.skin_male)
- else
- ESX.ShowNotification(TranslateCap('no_male_clothing'), "error")
- end
- else
- if ESX.Table.SizeOf(jobSkin.skin_female) >= 1 then
- TriggerEvent('skinchanger:loadClothes', skin, jobSkin.skin_female)
- else
- ESX.ShowNotification(TranslateCap('no_female_clothing'), "error")
- end
- end
- end)
- end
- end)
-end
-
-AddEventHandler('esx_jobs:action', function(job, zone, zoneKey)
- menuIsShowed = true
- if zone.Type == "cloakroom" then
- OpenMenu()
- elseif zone.Type == "work" then
- local playerPed = PlayerPedId()
-
- if IsPedInAnyVehicle(playerPed, false) then
- ESX.ShowNotification(TranslateCap('foot_work'))
- else
- TriggerServerEvent('esx_jobs:startWork', zone.Item, zoneKey)
- end
- elseif zone.Type == "vehspawner" then
- local spawnPoint = nil
- local vehicle = nil
-
- for k,v in pairs(Config.Jobs) do
- if ESX.PlayerData.job.name == k then
- for l,w in pairs(v.Zones) do
- if w.Type == "vehspawnpt" and w.Spawner == zone.Spawner then
- spawnPoint = w
- spawner = w.Spawner
- end
- end
-
- for m,x in pairs(v.Vehicles) do
- if x.Spawner == zone.Spawner then
- vehicle = x
- end
- end
- end
- end
-
- if ESX.Game.IsSpawnPointClear(spawnPoint.Pos, 5.0) then
- spawnVehicle(spawnPoint, vehicle, zone.Caution)
- else
- ESX.ShowNotification(TranslateCap('spawn_blocked'))
- end
-
- elseif zone.Type == "vehdelete" then
- local looping = true
-
- for k,v in pairs(Config.Jobs) do
- if ESX.PlayerData.job.name == k then
- for l,w in pairs(v.Zones) do
- if w.Type == "vehdelete" and w.Spawner == zone.Spawner then
- local playerPed = PlayerPedId()
-
- if IsPedInAnyVehicle(playerPed, false) then
-
- local vehicle = GetVehiclePedIsIn(playerPed, false)
- local plate = GetVehicleNumberPlateText(vehicle)
- plate = string.gsub(plate, " ", "")
- local driverPed = GetPedInVehicleSeat(vehicle, -1)
- local vehicleMaxHealth = GetVehicleEngineHealth(vehicle)
-
- if playerPed == driverPed then
-
- for i=1, #myPlate, 1 do
- if myPlate[i] == plate then
-
- local vehicleHealth = GetVehicleEngineHealth(vehicleInCaseofDrop)
- local giveBack = ESX.Math.Round(vehicleHealth / vehicleMaxHealth, 2)
-
- TriggerServerEvent('esx_jobs:caution', "give_back", giveBack, 0, 0)
- DeleteVehicle(GetVehiclePedIsIn(playerPed, false))
-
- if w.Teleport ~= 0 then
- ESX.Game.Teleport(playerPed, w.Teleport)
- end
-
- table.remove(myPlate, i)
-
- if vehicleObjInCaseofDrop.HasCaution then
- vehicleInCaseofDrop = nil
- vehicleObjInCaseofDrop = nil
- vehicleMaxHealth = nil
- end
-
- break
- end
- end
-
- else
- ESX.ShowNotification(TranslateCap('not_your_vehicle'))
- end
-
- end
-
- looping = false
- break
- end
-
- if looping == false then
- break
- end
- end
- end
- if looping == false then
- break
- end
- end
- elseif zone.Type == "delivery" then
- if Blips['delivery'] ~= nil then
- RemoveBlip(Blips['delivery'])
- Blips['delivery'] = nil
- end
- TriggerServerEvent('esx_jobs:startWork', zone.Item, zoneKey)
- end
- --nextStep(zone.GPS)
-end)
-
-function nextStep(gps)
- if gps ~= 0 then
- if Blips['delivery'] ~= nil then
- RemoveBlip(Blips['delivery'])
- Blips['delivery'] = nil
- end
-
- Blips['delivery'] = AddBlipForCoord(gps.x, gps.y, gps.z)
- SetBlipRoute(Blips['delivery'], true)
- ESX.ShowNotification(TranslateCap('next_point'))
- end
-end
-
-AddEventHandler('esx_jobs:hasExitedMarker', function(zone)
- TriggerServerEvent('esx_jobs:stopWork')
- menuIsShowed = false
- isInMarker = false
-end)
-
-RegisterNetEvent('esx:setJob', function(job)
- onDuty = false
- myPlate = {} -- loosing vehicle caution in case player changes job.
- spawner = 0
- deleteBlips()
- refreshBlips()
-end)
-
-function deleteBlips()
- if JobBlips[1] ~= nil then
- for i=1, #JobBlips, 1 do
- RemoveBlip(JobBlips[i])
- JobBlips[i] = nil
- end
- end
-end
-
-function refreshBlips()
- local zones = {}
- local blipInfo = {}
-
- if ESX.PlayerData.job ~= nil then
- for jobKey,jobValues in pairs(Config.Jobs) do
- if jobKey == ESX.PlayerData.job.name then
- for zoneKey,zoneValues in pairs(jobValues.Zones) do
-
- if zoneValues.Blip then
- local _Pos = {}
- if (zoneValues.Zone) then
- TriggerEvent("izone:getZoneCenter", zoneValues.Zone, function(_center)
- if (_center) then
- _Pos = _center
- end
- end)
- else
- _Pos = zoneValues.Pos
- end
- local blip = AddBlipForCoord(_Pos.x, _Pos.y, _Pos.z)
- SetBlipSprite (blip, jobValues.BlipInfos.Sprite)
- SetBlipDisplay (blip, 4)
- SetBlipScale (blip, 0.8)
- SetBlipCategory(blip, 3)
- SetBlipColour (blip, jobValues.BlipInfos.Color)
- SetBlipAsShortRange(blip, true)
-
- BeginTextCommandSetBlipName("STRING")
- AddTextComponentSubstringPlayerName(zoneValues.Name)
- EndTextCommandSetBlipName(blip)
- table.insert(JobBlips, blip)
- end
- end
- end
- end
- end
-end
-
-function spawnVehicle(spawnPoint, vehicle, vehicleCaution)
- hintIsShowed = false
- TriggerServerEvent('esx_jobs:caution', 'take', vehicleCaution, spawnPoint, vehicle)
-end
-
-RegisterNetEvent('esx_jobs:spawnJobVehicle',function(spawnPoint, vehicle)
- local playerPed = PlayerPedId()
-
- ESX.Game.SpawnVehicle(vehicle.Hash, spawnPoint.Pos, spawnPoint.Heading, function(spawnedVehicle)
-
- if vehicle.Trailer ~= "none" then
- ESX.Game.SpawnVehicle(vehicle.Trailer, spawnPoint.Pos, spawnPoint.Heading, function(trailer)
- AttachVehicleToTrailer(spawnedVehicle, trailer, 1.1)
- end)
- end
-
- -- save & set plate
- local plate = 'WORK' .. math.random(100, 900)
- SetVehicleNumberPlateText(spawnedVehicle, plate)
- table.insert(myPlate, plate)
- plate = string.gsub(plate, " ", "")
-
- TaskWarpPedIntoVehicle(playerPed, spawnedVehicle, -1)
-
- if vehicle.HasCaution then
- vehicleInCaseofDrop = spawnedVehicle
- vehicleObjInCaseofDrop = vehicle
- vehicleMaxHealth = GetVehicleEngineHealth(spawnedVehicle)
- end
- end)
-end)
-
--- Display markers (only if on duty and the player's job ones)
-CreateThread(function()
- while true do
- local Sleep = 1500
- local zones = {}
-
- if ESX.PlayerData.job then
- for k,v in pairs(Config.Jobs) do
- if ESX.PlayerData.job.name == k then
- Sleep = 0
- zones = v.Zones
- end
- end
-
- local coords = GetEntityCoords(PlayerPedId())
- for k,v in pairs(zones) do
- if onDuty or v.Type == "cloakroom" then
- if (v.Zone) then
- TriggerEvent("izone:getZoneCenter", v.Zone, function(center)
- if (not(center == nil)) then
- if(v.Marker ~= -1 and #(coords - center) < Config.DrawDistance) then
- Sleep = 0
- DrawMarker(v.Marker, center.x, center.y, center.z - 1, 0.0, 0.0, 0.0, 0, 0.0, 0.0, v.Size.x, v.Size.y, v.Size.z, v.Color.r, v.Color.g, v.Color.b, 100, false, true, 2, false, false, false, false)
- end
- end
- end)
- else
- local Pos = vector3(v.Pos.x, v.Pos.y, v.Pos.z)
- if(v.Marker ~= -1 and #(coords - Pos) < Config.DrawDistance) then
- Sleep = 0
- DrawMarker(v.Marker, v.Pos.x, v.Pos.y, v.Pos.z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, v.Size.x, v.Size.y, v.Size.z, v.Color.r, v.Color.g, v.Color.b, 100, false, true, 2, false, false, false, false)
- end
- end
- end
- end
- end
- Wait(Sleep)
- end
-end)
-
--- Display public markers
-CreateThread(function()
- while true do
- local Sleep = 1500
- local coords = GetEntityCoords(PlayerPedId())
- for k,v in pairs(Config.PublicZones) do
- if(v.Marker ~= -1 and #(coords - v.Pos) < Config.DrawDistance) then
- Sleep = 0
- DrawMarker(v.Marker, v.Pos.x, v.Pos.y, v.Pos.z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, v.Size.x, v.Size.y, v.Size.z, v.Color.r, v.Color.g, v.Color.b, 100, false, true, 2, false, false, false, false)
- end
- end
- Wait(Sleep)
- end
-end)
-
--- Activate public marker
-CreateThread(function()
- while true do
- local Sleep = 1500
- local coords = GetEntityCoords(PlayerPedId())
-
- for k,v in pairs(Config.PublicZones) do
- if #(coords - v.Pos) < v.Size.x/2 then
- Sleep = 0
- ESX.ShowHelpNotification(v.Hint)
- hintIsShowed = true
- if IsControlJustReleased(0, 38) then
- ESX.Game.Teleport(PlayerPedId(), v.Teleport)
- end
- end
- end
-
- Wait(Sleep)
- end
-end)
-
--- Activate menu when player is inside marker
-CreateThread(function()
- while true do
-
- local Sleep = 500
-
- if ESX.PlayerData.job and ESX.PlayerData.job.name ~= 'unemployed' then
- local zones = nil
- local job = nil
-
- for k,v in pairs(Config.Jobs) do
- if ESX.PlayerData.job.name == k then
- Sleep = 0
- job = v
- zones = v.Zones
- end
- end
-
- if zones then
- local coords = GetEntityCoords(PlayerPedId())
- local currentZone = nil
- local zone = nil
- local lastZone = nil
-
- for k,v in pairs(zones) do
- -- If we defined a zone from iZone
- if v.Zone then
- TriggerEvent("izone:isPlayerInZone", v.Zone, function(isIn)
- if isIn then
- Sleep = 0
- isInMarker = true
- currentZone = k
- zone = v
- return
- else
- isInMarker = false
- end
- end)
- -- Because we were in a routine
- if isInMarker then
- break
- end
- -- Else use radius defined from center
- else
- local Pos = vector3(v.Pos.x, v.Pos.y, v.Pos.z)
- if #(coords - Pos) < v.Size.x then
- Sleep = 0
- isInMarker = true
- currentZone = k
- zone = v
- break
- else
- isInMarker = false
- end
- end
-
- end
-
- if IsControlJustReleased(0, 38) and not menuIsShowed and isInMarker then
- if onDuty or zone.Type == "cloakroom" then
- TriggerEvent('esx_jobs:action', job, zone, currentZone)
- end
- end
-
- -- hide or show top left zone hints
- if isInMarker and not menuIsShowed then
- hintIsShowed = true
- if (onDuty or zone.Type == "cloakroom") and zone.Type ~= "vehdelete" then
- hintToDisplay = zone.Hint
- ESX.ShowHelpNotification(hintToDisplay)
- elseif zone.Type == "vehdelete" and (onDuty) then
- local playerPed = PlayerPedId()
-
- if IsPedInAnyVehicle(playerPed, false) then
- local vehicle = GetVehiclePedIsIn(playerPed, false)
- local driverPed = GetPedInVehicleSeat(vehicle, -1)
- local plate = GetVehicleNumberPlateText(vehicle)
- plate = string.gsub(plate, " ", "")
-
- if playerPed == driverPed then
-
- for i=1, #myPlate, 1 do
- if myPlate[i] == plate then
- hintToDisplay = zone.Hint
- break
- end
- end
-
- else
- hintToDisplay = TranslateCap('not_your_vehicle')
- ESX.ShowHelpNotification(hintToDisplay)
- end
- else
- hintToDisplay = TranslateCap('in_vehicle')
- ESX.ShowHelpNotification(hintToDisplay)
- end
- hintIsShowed = true
- elseif onDuty and zone.Spawner ~= spawner then
- hintToDisplay = TranslateCap('wrong_point')
- ESX.ShowHelpNotification(hintToDisplay)
- end
- end
-
- if isInMarker and not hasAlreadyEnteredMarker then
- hasAlreadyEnteredMarker = true
- end
-
- if not isInMarker and hasAlreadyEnteredMarker then
- hasAlreadyEnteredMarker = false
- TriggerEvent('esx_jobs:hasExitedMarker', zone)
- end
- end
- end
- Wait(Sleep)
- end
-end)
-
-if Config.RequestIPL then
- CreateThread(function()
- -- Slaughterer
- RemoveIpl("CS1_02_cf_offmission")
- RequestIpl("CS1_02_cf_onmission1")
- RequestIpl("CS1_02_cf_onmission2")
- RequestIpl("CS1_02_cf_onmission3")
- RequestIpl("CS1_02_cf_onmission4")
- -- Tailor
- RequestIpl("id2_14_during_door")
- RequestIpl("id2_14_during1")
- end)
-end
-if ESX.PlayerLoaded then refreshBlips() end
diff --git a/[esx_addons]/esx_jobs/config.lua b/[esx_addons]/esx_jobs/config.lua
deleted file mode 100644
index 044d82e5..00000000
--- a/[esx_addons]/esx_jobs/config.lua
+++ /dev/null
@@ -1,35 +0,0 @@
-Config = {}
-Config.DrawDistance = 10.0
-Config.Locale = GetConvar('esx:locale', 'en')
-Config.Jobs = {}
-
-Config.MaxCaution = 10000 -- the max caution allowed
-Config.RequestIPL = true
-
-Config.PublicZones = {
-
- EnterBuilding = {
- Pos = vector3(-118.21, -607.14, 35.28),
- Size = {x = 3.0, y = 3.0, z = 0.2},
- Color = {r = 50, g = 200, b = 50},
- Marker= 1,
- Blip = false,
- Name = TranslateCap('reporter_name'),
- Type = "teleport",
- Hint = TranslateCap('public_enter'),
- Teleport = vector3(-139.09,-620.74, 167.82)
- },
-
- ExitBuilding = {
- Pos = vector3( -139.45, -617.32, 167.82),
- Size = {x = 3.0, y = 3.0, z = 0.2},
- Color = {r = 50, g = 200, b = 50},
- Marker= 1,
- Blip = false,
- Name = TranslateCap('reporter_name'),
- Type = "teleport",
- Hint = TranslateCap('public_leave'),
- Teleport = vector3(-113.07, -604.93, 35.28 ),
- }
-
-}
diff --git a/[esx_addons]/esx_jobs/esx_jobs.sql b/[esx_addons]/esx_jobs/esx_jobs.sql
deleted file mode 100644
index e1d0abc6..00000000
--- a/[esx_addons]/esx_jobs/esx_jobs.sql
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('caution', 'Caution', 0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('slaughterer', 'Abatteur'),
- ('fisherman', 'Pêcheur'),
- ('miner', 'Mineur'),
- ('lumberjack', 'Bûcheron'),
- ('fueler', 'Raffineur'),
- ('reporter', 'Journaliste'),
- ('tailor', 'Couturier')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('lumberjack', 0, 'employee', 'Employee', 0, '{}', '{}'),
- ('fisherman', 0, 'employee', 'Employee', 0, '{}', '{}'),
- ('fueler', 0, 'employee', 'Employee', 0, '{}', '{}'),
- ('reporter', 0, 'employee', 'Employee', 0, '{}', '{}'),
- ('tailor',0,'employee','Employee',0,'{\"mask_1\":0,\"arms\":1,\"glasses_1\":0,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":0,\"torso_1\":24,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":0,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":0,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":36,\"tshirt_2\":0,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":48,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}','{\"mask_1\":0,\"arms\":5,\"glasses_1\":5,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":1,\"torso_1\":52,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":1,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":23,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":42,\"tshirt_2\":4,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":36,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}'),
- ('miner', 0, 'employee', 'Employee', 0, '{"tshirt_2":1,"ears_1":8,"glasses_1":15,"torso_2":0,"ears_2":2,"glasses_2":3,"shoes_2":1,"pants_1":75,"shoes_1":51,"bags_1":0,"helmet_2":0,"pants_2":7,"torso_1":71,"tshirt_1":59,"arms":2,"bags_2":0,"helmet_1":0}', '{}'),
- ('slaughterer',0,'employee','Employee',0,'{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":67,\"pants_1\":36,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":0,\"torso_1\":56,\"beard_2\":6,\"shoes_1\":12,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":15,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":0,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}','{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":72,\"pants_1\":45,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":1,\"torso_1\":49,\"beard_2\":6,\"shoes_1\":24,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":9,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":5,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}')
-;
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('alive_chicken', 'Poulet vivant', 1),
- ('slaughtered_chicken', 'Poulet abattu', 1),
- ('packaged_chicken', 'Poulet en barquette', 1),
- ('fish', 'Poisson', 1),
- ('stone', 'Pierre', 1),
- ('washed_stone', 'Pierre Lavée', 1),
- ('copper', 'Cuivre', 1),
- ('iron', 'Fer', 1),
- ('gold', 'Or', 1),
- ('diamond', 'Diamant', 1),
- ('wood', 'Bois', 1),
- ('cutted_wood', 'Bois coupé', 1),
- ('packaged_plank', 'Paquet de planches', 1),
- ('petrol', 'Pétrole', 1),
- ('petrol_raffin', 'Pétrole Raffiné', 1),
- ('essence', 'Essence', 1),
- ('wool', 'Laine', 1),
- ('fabric', 'Tissu', 1),
- ('clothe', 'Vêtement', 1)
-;
diff --git a/[esx_addons]/esx_jobs/fxmanifest.lua b/[esx_addons]/esx_jobs/fxmanifest.lua
deleted file mode 100644
index 6d7a303b..00000000
--- a/[esx_addons]/esx_jobs/fxmanifest.lua
+++ /dev/null
@@ -1,24 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Jobs'
-lua54 'yes'
-version '1.9.0'
-
-shared_scripts {
- '@es_extended/imports.lua',
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'jobs/*.lua',
-}
-server_scripts {
- 'server/main.lua',
-}
-
-client_scripts {
- 'client/main.lua',
-}
-
-dependency 'es_extended'
diff --git a/[esx_addons]/esx_jobs/jobs/fisherman.lua b/[esx_addons]/esx_jobs/jobs/fisherman.lua
deleted file mode 100644
index e59d2024..00000000
--- a/[esx_addons]/esx_jobs/jobs/fisherman.lua
+++ /dev/null
@@ -1,176 +0,0 @@
-Config.Jobs.fisherman = {
-
- BlipInfos = {
- Sprite = 68,
- Color = 38
- },
-
- Vehicles = {
-
- Truck = {
- Spawner = 1,
- Hash = 'benson',
- Trailer = 'none',
- HasCaution = true
- },
-
- Boat = {
- Spawner = 2,
- Hash = 'tug',
- Trailer = 'none',
- HasCaution = true
- }
-
- },
-
- Zones = {
-
- CloakRoom = {
- Pos = {x = 868.39, y = -1639.75, z = 30.33},
- Size = {x = 0.8, y = 0.5, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker= 20,
- Blip = true,
- Name = TranslateCap('fm_fish_locker'),
- Type = 'cloakroom',
- Hint = TranslateCap('cloak_change'),
- GPS = {x = 880.74, y = -1663.96, z = 29.37}
- },
-
- FishingSpot = {
- Pos = {x = 4435.21, y = 4829.60, z = 0.34},
- Size = {x = 100.0, y = 100.0, z = 50.0},
- Color = {r = 50, g = 200, b = 50},
- Marker= 1,
- Blip = true,
- Name = TranslateCap('fm_fish_area'),
- Type = 'work',
- Hint = TranslateCap('fm_fish_button'),
- GPS = {x = 3859.43, y = 4448.83, z = 0.39},
- Item = {
- {
- name = TranslateCap('fm_fish'),
- db_name= 'fish',
- time = 10,
- max = 100,
- add = 1,
- remove = 0,
- requires = 'nothing',
- requires_name = 'Nothing',
- drop = 100
- }
- },
-
- },
-
- BoatSpawner = {
- Pos = {x = 3866.268, y = 4463.868, z = 2.72},
- Size = {x = 0.8, y = 0.5, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker= 20,
- Blip = true,
- Name = TranslateCap('fm_spawnboat_title'),
- Type = 'vehspawner',
- Spawner = 2,
- Hint = TranslateCap('fm_spawnboat'),
- Caution = 0,
- GPS = {x = 4435.21, y = 4829.60, z = 0.34}
- },
-
- BoatSpawnPoint = {
- Pos = {x = 3888.3, y = 4468.09, z = 0.0},
- Size = {x = 0.8, y = 0.5, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker= -1,
- Blip = false,
- Name = TranslateCap('fm_boat_title'),
- Type = 'vehspawnpt',
- Spawner = 2,
- GPS = 0,
- Heading = 270.1
- },
-
- BoatDeletePoint = {
- Pos = {x = 3859.43, y = 4448.83, z = 0.39},
- Size = {x = 0.8, y = 0.5, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker= 20,
- Blip = false,
- Name = TranslateCap('fm_boat_return_title'),
- Type = 'vehdelete',
- Hint = TranslateCap('fm_boat_return_button'),
- Spawner = 2,
- Caution = 0,
- GPS = {x = -1012.64, y = -1354.62, z = 5.54},
- Teleport = {x = 3867.44, y = 4463.62, z = 1.72}
- },
-
- VehicleSpawner = {
- Pos = {x = 880.74, y = -1663.96, z = 29.37},
- Size = {x = 0.8, y = 0.5, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker= 20,
- Blip = false,
- Name = TranslateCap('spawn_veh'),
- Type = 'vehspawner',
- Spawner = 1,
- Hint = TranslateCap('spawn_veh_button'),
- Caution = 2000,
- GPS = {x = 3867.44, y = 4463.62, z = 1.72}
- },
-
- VehicleSpawnPoint = {
- Pos = {x = 859.35, y = -1656.21, z = 29.56},
- Size = {x = 0.8, y = 0.5, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker= 20,
- Blip = false,
- Name = TranslateCap('service_vh'),
- Type = 'vehspawnpt',
- Spawner = 1,
- GPS = 0,
- Heading = 70.1
- },
-
- VehicleDeletePoint = {
- Pos = {x = 863.23, y = -1718.28, z = 28.63},
- Size = {x = 0.8, y = 0.5, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker= 20,
- Blip = false,
- Name = TranslateCap('return_vh'),
- Type = 'vehdelete',
- Hint = TranslateCap('return_vh_button'),
- Spawner = 1,
- Caution = 2000,
- GPS = 0,
- Teleport = 0
- },
-
- Delivery = {
- Pos = {x = -1037.96, y = -1397.09, z = 5.54},
- Size = {x = 0.8, y = 0.5, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker= 20,
- Blip = true,
- Name = TranslateCap('delivery_point'),
- Type = 'delivery',
- Spawner = 2,
- Hint = TranslateCap('fm_deliver_fish'),
- GPS = {x = 3867.44, y = 4463.62, z = 1.72},
- Item = {
- {
- name = TranslateCap('delivery'),
- time = 0.5,
- remove = 1,
- max = 100, -- if not present, probably an error at itemQtty >= item.max in esx_jobs_sv.lua
- price = 11,
- requires = 'fish',
- requires_name = TranslateCap('fm_fish'),
- drop = 100
- }
- }
- }
-
- }
-}
diff --git a/[esx_addons]/esx_jobs/jobs/fueler.lua b/[esx_addons]/esx_jobs/jobs/fueler.lua
deleted file mode 100644
index 4f5ee01f..00000000
--- a/[esx_addons]/esx_jobs/jobs/fueler.lua
+++ /dev/null
@@ -1,177 +0,0 @@
-Config.Jobs.fueler = {
-
- BlipInfos = {
- Sprite = 436,
- Color = 5
- },
-
- Vehicles = {
-
- Truck = {
- Spawner = 1,
- Hash = 'phantom',
- Trailer = 'tanker',
- HasCaution = true
- }
-
- },
-
- Zones = {
-
- CloakRoom = {
- Pos = {x = 557.93, y = -2327.90, z = 5.82},
- Size = {x = 0.5, y = 0.5, z = 0.8},
- Color = {r = 50, g = 200, b = 50},
- Marker = 20,
- Blip = true,
- Name = TranslateCap('f_oil_refiner'),
- Type = 'cloakroom',
- Hint = TranslateCap('cloak_change'),
- GPS = {x = 554.59, y = -2314.43, z = 4.86}
- },
-
- OilFarm = {
- Pos = {x = 609.58, y = 2856.74, z = 38.90},
- Size = {x = 20.0, y = 20.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('f_drill_oil'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('f_fuel'),
- db_name = 'petrol',
- time = 5,
- max = 24,
- add = 1,
- remove = 0,
- requires = 'nothing',
- requires_name = 'Nothing',
- drop = 100
- }
- },
- Hint = TranslateCap('f_drillbutton'),
- GPS = {x = 2736.94, y = 1417.99, z = 23.48}
- },
-
- OilRefinement = {
- Pos = {x = 2736.94, y = 1417.99, z = 23.48},
- Size = {x = 10.0, y = 10.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('f_fuel_refine'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('f_fuel_refine'),
- db_name = 'petrol_raffin',
- time = 5,
- max = 24,
- add = 1,
- remove = 2,
- requires = 'petrol',
- requires_name = TranslateCap('f_fuel'),
- drop = 100
- }
- },
- Hint = TranslateCap('f_refine_fuel_button'),
- GPS = {x = 265.75, y = -3013.39, z = 4.73}
- },
-
- OilMix = {
- Pos = {x = 265.75, y = -3013.39, z = 4.73},
- Size = {x = 10.0, y = 10.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('f_fuel_mixture'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('f_gas'),
- db_name = 'essence',
- time = 5,
- max = 24,
- add = 2,
- remove = 1,
- requires = 'petrol_raffin',
- requires_name = TranslateCap('f_fuel_refine'),
- drop = 100
- }
- },
- Hint = TranslateCap('f_fuel_mixture_button'),
- GPS = {x = 491.40, y = -2163.37, z = 4.91}
- },
-
- VehicleSpawner = {
- Pos = {x = 554.59, y = -2314.43, z = 4.86},
- Size = {x = 3.0, y = 3.0, z = 2.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('spawn_veh'),
- Type = 'vehspawner',
- Spawner = 1,
- Hint = TranslateCap('spawn_truck_button'),
- Caution = 2000,
- GPS = {x = 602.25, y = 2926.62, z = 39.68}
- },
-
- VehicleSpawnPoint = {
- Pos = {x = 570.54, y = -2309.70, z = 4.90},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = -1,
- Blip = false,
- Name = TranslateCap('service_vh'),
- Type = 'vehspawnpt',
- Spawner = 1,
- GPS = 0,
- Heading = 0
- },
-
- VehicleDeletePoint = {
- Pos = {x = 520.68, y = -2124.21, z = 4.98},
- Size = {x = 5.0, y = 5.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('return_vh'),
- Type = 'vehdelete',
- Hint = TranslateCap('return_vh_button'),
- Spawner = 1,
- Caution = 2000,
- GPS = 0,
- Teleport = 0
- },
-
- Delivery = {
- Pos = {x = 491.40, y = -2163.37, z = 4.91},
- Color = {r = 50, g = 200, b = 50},
- Size = {x = 10.0, y = 10.0, z = 1.0},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('f_deliver_gas'),
- Type = 'delivery',
- Spawner = 1,
- Item = {
- {
- name = TranslateCap('delivery'),
- time = 0.5,
- remove = 1,
- max = 100, -- if not present, probably an error at itemQtty >= item.max in esx_jobs_sv.lua
- price = 61,
- requires = 'essence',
- requires_name = TranslateCap('f_gas'),
- drop = 100
- }
- },
-
- Hint = TranslateCap('f_deliver_gas_button'),
- GPS = {x = 609.58, y = 2856.74, z = 39.49}
- }
-
- }
-}
diff --git a/[esx_addons]/esx_jobs/jobs/lumberjack.lua b/[esx_addons]/esx_jobs/jobs/lumberjack.lua
deleted file mode 100644
index 6e9ca68f..00000000
--- a/[esx_addons]/esx_jobs/jobs/lumberjack.lua
+++ /dev/null
@@ -1,168 +0,0 @@
-Config.Jobs.lumberjack = {
-
- BlipInfos = {
- Sprite = 237,
- Color = 4
- },
-
- Vehicles = {
-
- Truck = {
- Spawner = 1,
- Hash = 'phantom',
- Trailer = 'trailers',
- HasCaution = true
- }
-
- },
-
- Zones = {
-
- CloakRoom = {
- Pos = {x = 1200.63, y = -1276.87, z = 34.38},
- Size = {x = 0.8, y = 0.5, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker= 20,
- Blip = true,
- Name = TranslateCap('lj_locker_room'),
- Type = 'cloakroom',
- Hint = TranslateCap('cloak_change')
- },
-
- Wood = {
- Pos = {x = -534.32, y = 5373.79, z = 69.50},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('lj_mapblip'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('lj_wood'),
- db_name = 'wood',
- time = 3,
- max = 20,
- add = 1,
- remove = 0,
- requires = 'nothing',
- requires_name = 'Nothing',
- drop = 100
- }
- },
- Hint = TranslateCap('lj_pickup')
- },
-
- CuttedWood = {
- Pos = {x = -552.21, y = 5326.90, z = 72.59},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('lj_woodcutting'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('lj_cutwood'),
- db_name = 'cutted_wood',
- time = 5,
- max = 20,
- add = 1,
- remove = 1,
- requires = 'wood',
- requires_name = TranslateCap('lj_wood'),
- drop = 100
- }
- },
- Hint = TranslateCap('lj_cutwood_button')
- },
-
- Planks = {
- Pos = {x = -501.38, y = 5280.53, z = 79.61},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('lj_board'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('lj_planks'),
- db_name = 'packaged_plank',
- time = 4,
- max = 100,
- add = 5,
- remove = 1,
- requires = 'cutted_wood',
- requires_name = TranslateCap('lj_cutwood'),
- drop = 100
- }
- },
- Hint = TranslateCap('lj_pick_boards')
- },
-
- VehicleSpawner = {
- Pos = {x = 1191.96, y = -1261.77, z = 34.17},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('spawn_veh'),
- Type = 'vehspawner',
- Spawner = 1,
- Hint = TranslateCap('spawn_veh_button'),
- Caution = 2000
- },
-
- VehicleSpawnPoint = {
- Pos = {x = 1194.62, y = -1286.95, z = 34.12},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Marker = -1,
- Blip = false,
- Name = TranslateCap('service_vh'),
- Type = 'vehspawnpt',
- Spawner = 1,
- Heading = 264.40
- },
-
- VehicleDeletePoint = {
- Pos = {x = 1216.89, y = -1229.23, z = 34.40},
- Size = {x = 5.0, y = 5.0, z = 1.0},
- Color = {r = 255, g = 0, b = 0},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('return_vh'),
- Type = 'vehdelete',
- Hint = TranslateCap('return_vh_button'),
- Spawner = 1,
- Caution = 2000,
- GPS = 0,
- Teleport = 0
- },
-
- Delivery = {
- Pos = {x = 1201.35, y = -1327.51, z = 34.22},
- Color = {r = 50, g = 200, b = 50},
- Size = {x = 5.0, y = 5.0, z = 3.0},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('delivery_point'),
- Type = 'delivery',
- Spawner = 1,
- Item = {
- {
- name = TranslateCap('delivery'),
- time = 0.5,
- remove = 1,
- max = 100, -- if not present, probably an error at itemQtty >= item.max in esx_jobs_sv.lua
- price = 13,
- requires = 'packaged_plank',
- requires_name = TranslateCap('lj_planks'),
- drop = 100
- }
- },
- Hint = TranslateCap('lj_deliver_button')
- }
-
- }
-}
diff --git a/[esx_addons]/esx_jobs/jobs/miner.lua b/[esx_addons]/esx_jobs/jobs/miner.lua
deleted file mode 100644
index c73d732b..00000000
--- a/[esx_addons]/esx_jobs/jobs/miner.lua
+++ /dev/null
@@ -1,271 +0,0 @@
-Config.Jobs.miner = {
-
- BlipInfos = {
- Sprite = 68,
- Color = 5
- },
-
- Vehicles = {
-
- Truck = {
- Spawner = 1,
- Hash = 'rubble',
- Trailer = 'none',
- HasCaution = true
- }
-
- },
-
- Zones = {
-
- CloakRoom = {
- Pos = {x = 892.35, y = -2172.77, z = 31.28},
- Size = {x = 0.8, y = 0.5, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker= 20,
- Blip = true,
- Name = TranslateCap('m_miner_locker'),
- Type = 'cloakroom',
- Hint = TranslateCap('cloak_change'),
- GPS = {x = 884.86, y = -2176.51, z = 29.51}
- },
-
- Mine = {
- Pos = {x = 2962.40, y = 2746.20, z = 42.39},
- Size = {x = 5.0, y = 5.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('m_rock'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('m_rock'),
- db_name = 'stone',
- time = 3,
- max = 7,
- add = 1,
- remove = 0,
- requires = 'nothing',
- requires_name = 'Nothing',
- drop = 100
- }
- },
- Hint = TranslateCap('m_pickrocks'),
- GPS = {x = 289.24, y = 2862.90, z = 42.64}
- },
-
- StoneWash = {
- Pos = {x = 289.24, y = 2862.90, z = 42.64},
- Size = {x = 5.0, y = 5.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('m_washrock'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('m_washrock'),
- db_name = 'washed_stone',
- time = 5,
- max = 7,
- add = 1,
- remove = 1,
- requires = 'stone',
- requires_name = TranslateCap('m_rock'),
- drop = 100
- }
- },
- Hint = TranslateCap('m_rock_button'),
- GPS = {x = 1109.14, y = -2007.87, z = 30.01}
- },
-
- Foundry = {
- Pos = {x = 1109.14, y = -2007.87, z = 30.01},
- Size = {x = 5.0, y = 5.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('m_rock_smelting'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('m_copper'),
- db_name = 'copper',
- time = 4,
- max = 56,
- add = 8,
- remove = 1,
- requires = 'washed_stone',
- requires_name = TranslateCap('m_washrock'),
- drop = 100
- },
- {
- name = TranslateCap('m_iron'),
- db_name = 'iron',
- max = 42,
- add = 6,
- drop = 100
- },
- {
- name = TranslateCap('m_gold'),
- db_name = 'gold',
- max = 21,
- add = 3,
- drop = 100
- },
- {
- name = TranslateCap('m_diamond'),
- db_name = 'diamond',
- max = 50,
- add = 1,
- drop = 5
- }
- },
- Hint = TranslateCap('m_melt_button'),
- GPS = {x = -169.48, y = -2659.16, z = 5.00}
- },
-
- VehicleSpawner = {
- Pos = {x = 884.86, y = -2176.51, z = 29.51},
- Size = {x = 5.0, y = 5.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('spawn_veh'),
- Type = 'vehspawner',
- Spawner = 1,
- Hint = TranslateCap('spawn_veh_button'),
- Caution = 2000,
- GPS = {x = 2962.40, y = 2746.20, z = 42.39}
- },
-
- VehicleSpawnPoint = {
- Pos = {x = 879.55, y = -2189.79, z = 29.51},
- Size = {x = 5.0, y = 5.0, z = 1.0},
- Marker = -1,
- Blip = false,
- Name = TranslateCap('service_vh'),
- Type = 'vehspawnpt',
- Spawner = 1,
- Heading = 90.1,
- GPS = 0
- },
-
- VehicleDeletePoint = {
- Pos = {x = 881.93, y = -2198.01, z = 29.51},
- Size = {x = 5.0, y = 5.0, z = 1.0},
- Color = {r = 255, g = 0, b = 0},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('return_vh'),
- Type = 'vehdelete',
- Hint = TranslateCap('return_vh_button'),
- Spawner = 1,
- Caution = 2000,
- GPS = 0,
- Teleport = 0
- },
-
- CopperDelivery = {
- Pos = {x = -169.481, y = -2659.16, z = 5.00103},
- Color = {r = 50, g = 200, b = 50},
- Size = {x = 5.0, y = 5.0, z = 3.0},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('m_sell_copper'),
- Type = 'delivery',
- Spawner = 1,
- Item = {
- {
- name = TranslateCap('delivery'),
- time = 0.5,
- remove = 1,
- max = 56, -- if not present, probably an error at itemQtty >= item.max in esx_jobs_sv.lua
- price = 5,
- requires = 'copper',
- requires_name = TranslateCap('m_copper'),
- drop = 100
- }
- },
- Hint = TranslateCap('m_deliver_copper'),
- GPS = {x = -148.78, y = -1040.38, z = 26.27}
- },
-
- IronDelivery = {
- Pos = {x = -148.78, y = -1040.38, z = 26.27},
- Color = {r = 50, g = 200, b = 50},
- Size = {x = 5.0, y = 5.0, z = 3.0},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('m_sell_iron'),
- Type = 'delivery',
- Spawner = 1,
- Item = {
- {
- name = TranslateCap('delivery'),
- time = 0.5,
- remove = 1,
- max = 42, -- if not present, probably an error at itemQtty >= item.max in esx_jobs_sv.lua
- price = 9,
- requires = 'iron',
- requires_name = TranslateCap('m_iron'),
- drop = 100
- }
- },
- Hint = TranslateCap('m_deliver_iron'),
- GPS = {x = 261.48, y = 207.35, z = 109.28}
- },
-
- GoldDelivery = {
- Pos = {x = 261.48, y = 207.35, z = 109.28},
- Color = {r = 50, g = 200, b = 50},
- Size = {x = 5.0, y = 5.0, z = 3.0},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('m_sell_gold'),
- Type = 'delivery',
- Spawner = 1,
- Item = {
- {
- name = TranslateCap('delivery'),
- time = 0.5,
- remove = 1,
- max = 21, -- if not present, probably an error at itemQtty >= item.max in esx_jobs_sv.lua
- price = 25,
- requires = 'gold',
- requires_name = TranslateCap('m_gold'),
- drop = 100
- }
- },
- Hint = TranslateCap('m_deliver_gold'),
- GPS = {x = -621.04, y = -228.53, z = 37.05}
- },
-
- DiamondDelivery = {
- Pos = {x = -621.04, y = -228.53, z = 37.05},
- Color = {r = 50, g = 200, b = 50},
- Size = {x = 5.0, y = 5.0, z = 3.0},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('m_sell_diamond'),
- Type = 'delivery',
- Spawner = 1,
- Item = {
- {
- name = TranslateCap('delivery'),
- time = 0.5,
- remove = 1,
- max = 50, -- if not present, probably an error at itemQtty >= item.max in esx_jobs_sv.lua
- price = 250,
- requires = 'diamond',
- requires_name = TranslateCap('m_diamond'),
- drop = 100
- }
- },
- Hint = TranslateCap('m_deliver_diamond'),
- GPS = {x = 2962.40, y = 2746.20, z = 42.39}
- }
-
- }
-}
diff --git a/[esx_addons]/esx_jobs/jobs/slaughterer.lua b/[esx_addons]/esx_jobs/jobs/slaughterer.lua
deleted file mode 100644
index df83c3cf..00000000
--- a/[esx_addons]/esx_jobs/jobs/slaughterer.lua
+++ /dev/null
@@ -1,166 +0,0 @@
-Config.Jobs.slaughterer = {
-
- BlipInfos = {
- Sprite = 256,
- Color = 5
- },
-
- Vehicles = {
-
- Truck = {
- Spawner = 1,
- Hash = 'benson',
- Trailer = 'none',
- HasCaution = true
- }
- },
-
- Zones = {
-
- CloakRoom = {
- Pos = {x = -1071.13, y = -2003.78, z = 15.78},
- Size = {x = 0.8, y = 0.5, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker= 20,
- Blip = true,
- Name = TranslateCap('s_slaughter_locker'),
- Type = 'cloakroom',
- Hint = TranslateCap('cloak_change')
- },
-
- AliveChicken = {
- Pos = {x = -62.90, y = 6241.46, z = 30.09},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('s_hen'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('s_alive_chicken'),
- db_name = 'alive_chicken',
- time = 3,
- max = 20,
- add = 1,
- remove = 0,
- requires = 'nothing',
- requires_name = 'Nothing',
- drop = 100
- }
- },
- Hint = TranslateCap('s_catch_hen')
- },
-
- SlaughterHouse = {
- Pos = {x = -77.99, y = 6229.06, z = 30.09},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('s_slaughtered'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('s_slaughtered_chicken'),
- db_name = 'slaughtered_chicken',
- time = 5,
- max = 20,
- add = 1,
- remove = 1,
- requires = 'alive_chicken',
- requires_name = TranslateCap('s_alive_chicken'),
- drop = 100
- }
- },
- Hint = TranslateCap('s_chop_animal')
- },
-
- Packaging = {
- Pos = {x = -101.97, y = 6208.79, z = 30.02},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('s_package'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('s_packagechicken'),
- db_name = 'packaged_chicken',
- time = 4,
- max = 100,
- add = 5,
- remove = 1,
- requires = 'slaughtered_chicken',
- requires_name = TranslateCap('s_unpackaged'),
- drop = 100
- }
- },
- Hint = TranslateCap('s_unpackaged_button')
- },
-
- VehicleSpawner = {
- Pos = {x = -1042.94, y = -2023.25, z = 12.16},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('spawn_veh'),
- Type = 'vehspawner',
- Spawner = 1,
- Hint = TranslateCap('spawn_veh_button'),
- Caution = 2000
- },
-
- VehicleSpawnPoint = {
- Pos = {x = -1048.85, y = -2025.32, z = 12.16},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Marker = -1,
- Blip = false,
- Name = TranslateCap('service_vh'),
- Type = 'vehspawnpt',
- Spawner = 1,
- Heading = 130.1
- },
-
- VehicleDeletePoint = {
- Pos = {x = -1061.51, y = -2008.35, z = 12.16},
- Size = {x = 5.0, y = 5.0, z = 1.0},
- Color = {r = 255, g = 0, b = 0},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('return_vh'),
- Type = 'vehdelete',
- Hint = TranslateCap('return_vh_button'),
- Spawner = 1,
- Caution = 2000,
- GPS = 0,
- Teleport = 0
- },
-
- Delivery = {
- Pos = {x = -596.15, y = -889.32, z = 24.50},
- Color = {r = 50, g = 200, b = 50},
- Size = {x = 5.0, y = 5.0, z = 1.0},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('delivery_point'),
- Type = 'delivery',
- Spawner = 1,
- Item = {
- {
- name = TranslateCap('delivery'),
- time = 0.5,
- remove = 1,
- max = 100, -- if not present, probably an error at itemQtty >= item.max in esx_jobs_sv.lua
- price = 23,
- requires = 'packaged_chicken',
- requires_name = TranslateCap('s_packagechicken'),
- drop = 100
- }
- },
- Hint = TranslateCap('s_deliver')
- }
- }
-}
diff --git a/[esx_addons]/esx_jobs/jobs/tailor.lua b/[esx_addons]/esx_jobs/jobs/tailor.lua
deleted file mode 100644
index 2df266ce..00000000
--- a/[esx_addons]/esx_jobs/jobs/tailor.lua
+++ /dev/null
@@ -1,174 +0,0 @@
-Config.Jobs.tailor = {
-
- BlipInfos = {
- Sprite = 366,
- Color = 4
- },
-
- Vehicles = {
-
- Truck = {
- Spawner = 1,
- Hash = 'youga2',
- Trailer = 'none',
- HasCaution = true
- }
-
- },
-
- Zones = {
-
- CloakRoom = {
- Pos = {x = 706.73, y = -960.90, z = 30.39},
- Size = {x = 0.8, y = 0.5, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker= 20,
- Blip = true,
- Name = TranslateCap('dd_dress_locker'),
- Type = 'cloakroom',
- Hint = TranslateCap('cloak_change'),
- GPS = {x = 740.80, y = -970.06, z = 23.46}
- },
-
- Wool = {
- Pos = {x = 1978.92, y = 5171.70, z = 46.63},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('dd_wool'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('dd_wool'),
- db_name = 'wool',
- time = 3,
- max = 40,
- add = 1,
- remove = 0,
- requires = 'nothing',
- requires_name = 'Nothing',
- drop = 100
- }
- },
- Hint = TranslateCap('dd_pickup'),
- GPS = {x = 715.95, y = -959.63, z = 29.39}
- },
-
- Fabric = {
- Pos = {x = 715.95, y = -959.63, z = 29.39},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('dd_fabric'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('dd_fabric'),
- db_name = 'fabric',
- time = 5,
- max = 80,
- add = 2,
- remove = 1,
- requires = 'wool',
- requires_name = TranslateCap('dd_wool'),
- drop = 100
- }
- },
- Hint = TranslateCap('dd_makefabric'),
- GPS = {x = 712.92, y = -970.58, z = 29.39}
- },
-
- Clothe = {
- Pos = {x = 712.92, y = -970.58, z = 29.39},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('dd_clothing'),
- Type = 'work',
- Item = {
- {
- name = TranslateCap('dd_clothing'),
- db_name = 'clothe',
- time = 4,
- max = 40,
- add = 1,
- remove = 2,
- requires = 'fabric',
- requires_name = TranslateCap('dd_fabric'),
- drop = 100
- }
- },
- Hint = TranslateCap('dd_makeclothing'),
- GPS = {x = 429.59, y = -807.34, z = 28.49}
- },
-
- VehicleSpawner = {
- Pos = {x = 740.80, y = -970.06, z = 23.46},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 50, g = 200, b = 50},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('spawn_veh'),
- Type = 'vehspawner',
- Spawner = 1,
- Hint = TranslateCap('spawn_veh_button'),
- Caution = 2000,
- GPS = {x = 1978.92, y = 5171.70, z = 46.63}
- },
-
- VehicleSpawnPoint = {
- Pos = {x = 747.31, y = -966.23, z = 23.70},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Marker = -1,
- Blip = false,
- Name = TranslateCap('service_vh'),
- Type = 'vehspawnpt',
- Spawner = 1,
- Heading = 270.1,
- GPS = 0
- },
-
- VehicleDeletePoint = {
- Pos = {x = 693.79, y = -963.01, z = 22.82},
- Size = {x = 3.0, y = 3.0, z = 1.0},
- Color = {r = 255, g = 0, b = 0},
- Marker = 1,
- Blip = false,
- Name = TranslateCap('return_vh'),
- Type = 'vehdelete',
- Hint = TranslateCap('return_vh_button'),
- Spawner = 1,
- Caution = 2000,
- GPS = 0,
- Teleport = 0
- },
-
- Delivery = {
- Pos = {x = 429.59, y = -807.34, z = 28.49},
- Color = {r = 50, g = 200, b = 50},
- Size = {x = 5.0, y = 5.0, z = 3.0},
- Marker = 1,
- Blip = true,
- Name = TranslateCap('delivery_point'),
- Type = 'delivery',
- Spawner = 1,
- Item = {
- {
- name = TranslateCap('delivery'),
- time = 0.5,
- remove = 1,
- max = 100, -- if not present, probably an error at itemQtty >= item.max in esx_jobs_sv.lua
- price = 40,
- requires = 'clothe',
- requires_name = TranslateCap('dd_clothing'),
- drop = 100
- }
- },
- Hint = TranslateCap('dd_deliver_clothes'),
- GPS = {x = 1978.92, y = 5171.70, z = 46.63}
- }
- }
-}
diff --git a/[esx_addons]/esx_jobs/locales/br.lua b/[esx_addons]/esx_jobs/locales/br.lua
deleted file mode 100644
index 0f0450bc..00000000
--- a/[esx_addons]/esx_jobs/locales/br.lua
+++ /dev/null
@@ -1,115 +0,0 @@
-Locales['br'] = {
- -- Global menus
- ['cloakroom'] = 'vestiário',
- ['cloak_change'] = 'pressione ~INPUT_PICKUP~ mudar de roupa.',
- ['citizen_wear'] = 'retirar uniforme',
- ['job_wear'] = 'colocar uniforme',
- ['bank_deposit_returned'] = 'um depósito de segurança de $%s foi devolvido a você.',
- ['bank_deposit_taken'] = 'um depósito de segurança de $%s foi tirado de você.',
- ['caution_afford'] = 'you cannot afford the caution of $%s',
- ['foot_work'] = 'você deve estar a pé para poder trabalhar.',
- ['next_point'] = 'vá para o próximo passo depois de completar este.',
- ['not_your_vehicle'] = 'este não é o seu veículo ou você deve ser um motorista.',
- ['in_vehicle'] = 'você deve estar em um veículo.',
- ['wrong_point'] = 'você não está no ponto certo de entrega.',
- ['max_limit'] = 'você tem o máximo %s',
- ['not_enough'] = 'você não tem o suficiente %s para continuar esta tarefa.',
- ['spawn_veh'] = 'veiculo Spawnado',
- ['spawn_veh_button'] = 'pressione ~INPUT_PICKUP~ chamar o veículo de entrega.',
- ['spawn_truck_button'] = 'pressione ~INPUT_PICKUP~ spawnar o caminhão.',
- ['spawn_blocked'] = 'an vehicle is blocking the spawnpoint!',
- ['service_vh'] = 'veículo de serviço',
- ['return_vh'] = 'veiculo devolvido',
- ['return_vh_button'] = 'pressione ~INPUT_PICKUP~ para devolver o veiculo.',
- ['delivery_point'] = 'ponto de entrega',
- ['delivery'] = 'entrega',
- ['public_enter'] = 'pressione ~INPUT_PICKUP~ para entrar no prédio.',
- ['public_leave'] = 'pressione ~INPUT_PICKUP~ para ir à entrada do edifício.',
-
- -- Lumber Jack job
- ['lj_locker_room'] = 'vestiario Lenhador',
- ['lj_mapblip'] = 'pilha de madeira',
- ['lj_wood'] = 'madeira',
- ['lj_pickup'] = 'pressione ~INPUT_PICKUP~ para recuperar madeira.',
- ['lj_woodcutting'] = 'corte de Madeira',
- ['lj_cutwood_button'] = 'pressione ~INPUT_PICKUP~ para cortar madeira.',
- ['lj_board'] = 'tábua',
- ['lj_planks'] = 'tábua embalada',
- ['lj_cutwood'] = 'madeira cortada',
- ['lj_pick_boards'] = 'pressione ~INPUT_PICKUP~ para recuperar tábuas.',
- ['lj_deliver_button'] = 'pressione ~INPUT_PICKUP~ para entregar as tábuas.',
-
- -- Fisherman
- ['fm_fish_locker'] = 'vestiario Pescador',
- ['fm_fish'] = 'peixe',
- ['fm_fish_area'] = 'area de pesca',
- ['fm_fish_button'] = 'pressione ~INPUT_PICKUP~ para pescar.',
- ['fm_spawnboat_title'] = 'Spawnar Barco',
- ['fm_spawnboat'] = 'pressione ~INPUT_PICKUP~ para chamar um barco.',
- ['fm_boat_title'] = 'barco',
- ['fm_boat_return_title'] = 'devolver barco',
- ['fm_boat_return_button'] = 'Pressione ~INPUT_PICKUP~ para devolver o barco.',
- ['fm_deliver_fish'] = 'pressione ~INPUT_PICKUP~ para entregar os peixes.',
-
- -- Fuel
- ['f_oil_refiner'] = 'vestiario Refinador',
- ['f_drill_oil'] = 'broca de óleo',
- ['f_fuel'] = 'óleo',
- ['f_drillbutton'] = 'pressione ~INPUT_PICKUP~ para perfurar.',
- ['f_fuel_refine'] = 'refinar óleo',
- ['f_refine_fuel_button'] = 'pressione ~INPUT_PICKUP~ para refinar.',
- ['f_fuel_mixture'] = 'misturar o óleo refinado',
- ['f_gas'] = 'gasolina',
- ['f_fuel_mixture_button'] = 'pressione ~INPUT_PICKUP~ para misturar.',
- ['f_deliver_gas'] = 'entregar Gasolina',
- ['f_deliver_gas_button'] = 'pressione ~INPUT_PICKUP~ para entregar a gasolina.',
-
- -- Miner
- ['m_miner_locker'] = 'vestiario Minerador',
- ['m_rock'] = 'pedregulho',
- ['m_pickrocks'] = 'pressione ~INPUT_PICKUP~ para obter pedras.',
- ['m_washrock'] = 'pedras limpas ',
- ['m_rock_button'] = 'pressione ~INPUT_PICKUP~ para lavar as pedras.',
- ['m_rock_smelting'] = 'fundição',
- ['m_copper'] = 'cobre',
- ['m_sell_copper'] = 'vender cobre',
- ['m_deliver_copper'] = 'pressione ~INPUT_PICKUP~ para entregar cobre.',
- ['m_iron'] = 'ferro',
- ['m_sell_iron'] = 'vender ferro',
- ['m_deliver_iron'] = 'pressione ~INPUT_PICKUP~ para entregar ferro.',
- ['m_gold'] = 'ouro',
- ['m_sell_gold'] = 'vender ouro',
- ['m_deliver_gold'] = 'pressione ~INPUT_PICKUP~ para entregar ouro.',
- ['m_diamond'] = 'diamante',
- ['m_sell_diamond'] = 'vender diamante',
- ['m_deliver_diamond'] = 'pressione ~INPUT_PICKUP~ para entregar diamantes.',
- ['m_melt_button'] = 'pressione ~INPUT_PICKUP~ para derreter as pedras.',
-
- -- Reporter
- ['reporter_name'] = 'globo News',
- ['reporter_garage'] = 'pressione ~INPUT_PICKUP~ para descer à garagem.',
-
- -- Slaughterer
- ['s_slaughter_locker'] = 'vestiario Abatedor',
- ['s_hen'] = 'galinheiro',
- ['s_alive_chicken'] = 'galinha viva',
- ['s_catch_hen'] = 'pressione ~INPUT_PICKUP~ para pegar galinha viva.',
- ['s_slaughtered_chicken'] = 'frango para ser embalado',
- ['s_chop_animal'] = 'pressione ~INPUT_PICKUP~ para cortar as galinhas.',
- ['s_slaughtered'] = 'matadouro',
- ['s_package'] = 'embalamento',
- ['s_packagechicken'] = 'frango na bandeija',
- ['s_unpackaged'] = 'frango para ser embalado',
- ['s_unpackaged_button'] = 'pressione ~INPUT_PICKUP~ para colocar o frango em uma bandeja.',
- ['s_deliver'] = 'pressione ~INPUT_PICKUP~ para entregar as bandejas de frango.',
-
- -- Dress Designer
- ['dd_dress_locker'] = 'vestiario Costureiro',
- ['dd_wool'] = 'lã',
- ['dd_pickup'] = 'pressione ~INPUT_PICKUP~ para obter lã.',
- ['dd_fabric'] = 'tecido',
- ['dd_makefabric'] = 'pressione ~INPUT_PICKUP~ para fazer tecido.',
- ['dd_clothing'] = 'roupas',
- ['dd_makeclothing'] = 'pressione ~INPUT_PICKUP~ para obter roupas.',
- ['dd_deliver_clothes'] = 'pressione ~INPUT_PICKUP~ para entregar roupas.',
-}
diff --git a/[esx_addons]/esx_jobs/locales/cs.lua b/[esx_addons]/esx_jobs/locales/cs.lua
deleted file mode 100644
index 6c190363..00000000
--- a/[esx_addons]/esx_jobs/locales/cs.lua
+++ /dev/null
@@ -1,115 +0,0 @@
-Locales['cs'] = {
- -- Global menus
- ['cloakroom'] = 'satna',
- ['cloak_change'] = 'stiskni ~INPUT_PICKUP~ pro prevleceni.',
- ['citizen_wear'] = 'civilni obleceni',
- ['job_wear'] = 'pracovni obleceni',
- ['bank_deposit_returned'] = 'bezpecnostni poplatek $%s ti byl vracen.',
- ['bank_deposit_taken'] = 'bezpecnostni poplatek ~r~$%s ti byl odebram.',
- ['caution_afford'] = 'nemuzes si dovolit kauci $%s',
- ['foot_work'] = 'musis byt na nohach, aby jsi mohl pracovat.',
- ['next_point'] = 'bez do dalsiho bodu po dokonceni tohoto.',
- ['not_your_vehicle'] = 'nejsi ridic tohoto vozidla.',
- ['in_vehicle'] = 'musis byt ve vozidle.',
- ['wrong_point'] = 'nejsi na spravnem bodu doruceni.',
- ['max_limit'] = 'neuneses vic %s',
- ['not_enough'] = 'nemas dostatek %s pro pokracovani v tomto ukolu.',
- ['spawn_veh'] = 'spawnout vozidlo',
- ['spawn_veh_button'] = 'stiksni ~INPUT_PICKUP~ pro privolani dorucovaciho voziidla.',
- ['spawn_truck_button'] = 'stiskni ~INPUT_PICKUP~ pro spawnuti trucku.',
- ['spawn_blocked'] = 'vozidlo blokuje spawn!',
- ['service_vh'] = 'opravit vozidlo',
- ['return_vh'] = 'vraceni vozidla',
- ['return_vh_button'] = 'stiskni ~INPUT_PICKUP~ pro navrat vozidla.',
- ['delivery_point'] = 'dorucovaci bod',
- ['delivery'] = 'doruceni',
- ['public_enter'] = 'stiskni ~INPUT_PICKUP~ pro vstup do budovy.',
- ['public_leave'] = 'stiskni ~INPUT_PICKUP~ pro odchod z budovy.',
-
- -- Lumber Jack job
- ['lj_locker_room'] = 'drevorubcova satna',
- ['lj_mapblip'] = 'vyroba dreva',
- ['lj_wood'] = 'drevo',
- ['lj_pickup'] = 'stiskni ~INPUT_PICKUP~ pro ziskani dreva.',
- ['lj_woodcutting'] = 'rezani dreva',
- ['lj_cutwood_button'] = 'stiskni ~INPUT_PICKUP~ pro rezani dreva.',
- ['lj_board'] = 'prkna',
- ['lj_planks'] = 'baleni prken',
- ['lj_cutwood'] = 'rezat drevo',
- ['lj_pick_boards'] = 'stiskni ~INPUT_PICKUP~ pro ziskani prken.',
- ['lj_deliver_button'] = 'stiskni ~INPUT_PICKUP~ pro doruceni prken.',
-
- -- Fisherman
- ['fm_fish_locker'] = 'rybarova satna',
- ['fm_fish'] = 'ryba',
- ['fm_fish_area'] = 'rybarska oblast',
- ['fm_fish_button'] = 'stiskni ~INPUT_PICKUP~ pro rybareni.',
- ['fm_spawnboat_title'] = 'spawnout lod',
- ['fm_spawnboat'] = 'stiskni ~INPUT_PICKUP~ pro privolani lodi.',
- ['fm_boat_title'] = 'lod',
- ['fm_boat_return_title'] = 'vraceni lodi',
- ['fm_boat_return_button'] = 'stiskni ~INPUT_PICKUP~ pro vraceni lodi.',
- ['fm_deliver_fish'] = 'stiskni ~INPUT_PICKUP~ pro doruceni ryby.',
-
- -- Fuel
- ['f_oil_refiner'] = 'satna ropne rafinerie',
- ['f_drill_oil'] = 'ropny vrtak',
- ['f_fuel'] = 'ropa',
- ['f_drillbutton'] = 'stiskni ~INPUT_PICKUP~ pro vrtani.',
- ['f_fuel_refine'] = 'refinovat ropu',
- ['f_refine_fuel_button'] = 'stiskni ~INPUT_PICKUP~ pro refinovani.',
- ['f_fuel_mixture'] = 'mix. rafinovaneho oleje',
- ['f_gas'] = 'palivo',
- ['f_fuel_mixture_button'] = 'stiskni ~INPUT_PICKUP~ pro smichani ropy.',
- ['f_deliver_gas'] = 'doruceni paliva',
- ['f_deliver_gas_button'] = 'stiskni ~INPUT_PICKUP~ pro doruceni paliva.',
-
- -- Miner
- ['m_miner_locker'] = 'hornikova satna',
- ['m_rock'] = 'kamen',
- ['m_pickrocks'] = 'stiskni ~INPUT_PICKUP~ pro ziskani kamenu.',
- ['m_washrock'] = 'myti kamenu',
- ['m_rock_button'] = 'stiskni ~INPUT_PICKUP~ pro myti kamenu.',
- ['m_rock_smelting'] = 'drceni kamenu',
- ['m_copper'] = 'med',
- ['m_sell_copper'] = 'prodejce medi',
- ['m_deliver_copper'] = 'stiskni ~INPUT_PICKUP~ pro doruceni medi.',
- ['m_iron'] = 'zelezo',
- ['m_sell_iron'] = 'prodejce zeleza',
- ['m_deliver_iron'] = 'stiskni ~INPUT_PICKUP~ pro doruceni zeleza.',
- ['m_gold'] = 'zlato',
- ['m_sell_gold'] = 'zlaty prodejce',
- ['m_deliver_gold'] = 'stiskni ~INPUT_PICKUP~ pro doruceni zlata.',
- ['m_diamond'] = 'diamant',
- ['m_sell_diamond'] = 'diamantovy prodejce',
- ['m_deliver_diamond'] = 'stiskni ~INPUT_PICKUP~ pro doruceni diamantu.',
- ['m_melt_button'] = 'stiskni ~INPUT_PICKUP~ pro drceni kamenu.',
-
- -- Reporter
- ['reporter_name'] = 'noviny San Andreas',
- ['reporter_garage'] = 'stiskni ~INPUT_PICKUP~ pro pristup do garaze.',
-
- -- Slaughterer
- ['s_slaughter_locker'] = 'reznikova satna',
- ['s_hen'] = 'kurnik',
- ['s_alive_chicken'] = 'zive kure',
- ['s_catch_hen'] = 'stiskni ~INPUT_PICKUP~ pro chyceni ziveho kurete.',
- ['s_slaughtered_chicken'] = 'kure na zabaleni',
- ['s_chop_animal'] = 'stiskni ~INPUT_PICKUP~ pro nasekani kurat.',
- ['s_slaughtered'] = 'reznikuv dum',
- ['s_package'] = 'baleni',
- ['s_packagechicken'] = 'kure v zasobniku',
- ['s_unpackaged'] = 'kure k zabaleni',
- ['s_unpackaged_button'] = 'stiskni ~INPUT_PICKUP~ pro vlozeni kurete do prihradky.',
- ['s_deliver'] = 'stiskni ~INPUT_PICKUP~ pro doruceni kurat v prihradkach.',
-
- -- Dress Designer
- ['dd_dress_locker'] = 'satna navrhare obleceni',
- ['dd_wool'] = 'vlna',
- ['dd_pickup'] = 'stiskni ~INPUT_PICKUP~ pro ziskani vlny.',
- ['dd_fabric'] = 'latka',
- ['dd_makefabric'] = 'stiskni ~INPUT_PICKUP~ pro vyrobu latky.',
- ['dd_clothing'] = 'obleceni',
- ['dd_makeclothing'] = 'stiskni ~INPUT_PICKUP~ pro vyrobu obleceni.',
- ['dd_deliver_clothes'] = 'stiskni ~INPUT_PICKUP~ pro doruceni obleceni.',
-}
diff --git a/[esx_addons]/esx_jobs/locales/de.lua b/[esx_addons]/esx_jobs/locales/de.lua
deleted file mode 100644
index 69b2437e..00000000
--- a/[esx_addons]/esx_jobs/locales/de.lua
+++ /dev/null
@@ -1,115 +0,0 @@
-Locales['de'] = {
- -- Global menus
- ['cloakroom'] = 'Umkleide',
- ['cloak_change'] = 'Drücke [E] to change clothes.',
- ['citizen_wear'] = 'Zivilkleidung',
- ['job_wear'] = 'Arbeitskleidung',
- ['bank_deposit_returned'] = 'Ein Pfand über $%s wurde dir zurückgegeben.',
- ['bank_deposit_taken'] = 'Ein Pfand über $%s wurde von dir genommen.',
- ['caution_afford'] = 'Du kannst die Kaution über $%s nicht bezahlen',
- ['foot_work'] = 'Du musst dafür zu Fuß sein.',
- ['next_point'] = 'Gehe zum nächsten Schritt nach diesem.',
- ['not_your_vehicle'] = 'Du bist nicht der Fahrer von diesem Fahrzeug.',
- ['in_vehicle'] = 'Du musst in einem Fahrzeug sitzen.',
- ['wrong_point'] = 'Du bist nicht am richtigen Lieferpunkt.',
- ['max_limit'] = 'Du kannst nicht mehr %s tragen',
- ['not_enough'] = 'Du hast nicht genug %s um diese Aufgabe weiterhin zu erledigen.',
- ['spawn_veh'] = 'Fahrzeug spawnen',
- ['spawn_veh_button'] = 'Drücke [E] um ein Lieferfahrzeug zu holen.',
- ['spawn_truck_button'] = 'Drücke [E] um einen Truck zu spawnen.',
- ['spawn_blocked'] = 'Ein Fahrzeug blockiert den Spawnpoint!',
- ['service_vh'] = 'Service Fahrzeug',
- ['return_vh'] = 'Fahrzeugrückgabe',
- ['return_vh_button'] = 'Drücke [E] um das Fahrzeug zurückzugeben.',
- ['delivery_point'] = 'Lieferpunkt',
- ['delivery'] = 'Lieferung',
- ['public_enter'] = 'Drücke [E] um das Gebäude zu betreten.',
- ['public_leave'] = 'Drücke [E] um das Gebäude zu verlassen.',
-
- -- Lumber Jack job
- ['lj_locker_room'] = 'Umkleide',
- ['lj_mapblip'] = 'Holzstapel',
- ['lj_wood'] = 'Holz',
- ['lj_pickup'] = 'Drücke [E] um Holz zu sammeln.',
- ['lj_woodcutting'] = 'Holzverarbeitung',
- ['lj_cutwood_button'] = 'Drücke [E] um das Holz zu schneiden.',
- ['lj_board'] = 'Bretter',
- ['lj_planks'] = 'Holz verarbeiten',
- ['lj_cutwood'] = 'Holz schneiden',
- ['lj_pick_boards'] = 'Drücke [E] um Bretter zu bekommen.',
- ['lj_deliver_button'] = 'Drücke [E] um die Bretter zu liefern.',
-
- -- Fisherman
- ['fm_fish_locker'] = 'Umkleide',
- ['fm_fish'] = 'Fisch',
- ['fm_fish_area'] = 'Fischerzone',
- ['fm_fish_button'] = 'Drücke [E] um zu fischen.',
- ['fm_spawnboat_title'] = 'Boot spawnen',
- ['fm_spawnboat'] = 'Drücke [E] um ein Boot auszuparken.',
- ['fm_boat_title'] = 'Boot',
- ['fm_boat_return_title'] = 'Bootsrückgabe',
- ['fm_boat_return_button'] = 'Drücke [E] um das Boot zurückzugeben.',
- ['fm_deliver_fish'] = 'Drücke [E] um den Fisch zu liefern.',
-
- -- Fuel
- ['f_oil_refiner'] = 'Umkleide',
- ['f_drill_oil'] = 'Nach Öl bohren',
- ['f_fuel'] = 'Öl',
- ['f_drillbutton'] = 'Drücke [E] um nach Öl zu bohren.',
- ['f_fuel_refine'] = 'Öl verarbeiten',
- ['f_refine_fuel_button'] = 'Drücke [E] zum verarbeiten.',
- ['f_fuel_mixture'] = 'Öl mischen',
- ['f_gas'] = 'Benzin',
- ['f_fuel_mixture_button'] = 'Drücke [E] um das Öl zu mixen.',
- ['f_deliver_gas'] = 'Benzin liefern',
- ['f_deliver_gas_button'] = 'Drücke [E] um Benzin zu liefern.',
-
- -- Miner
- ['m_miner_locker'] = 'Umkleide',
- ['m_rock'] = 'Stein',
- ['m_pickrocks'] = 'Drücke [E] um Stein abzubauen.',
- ['m_washrock'] = 'Steine waschen',
- ['m_rock_button'] = 'Drücke [E] um die Steine zu waschen.',
- ['m_rock_smelting'] = 'Steine schmelzen',
- ['m_copper'] = 'Kupfer',
- ['m_sell_copper'] = 'Kupfer Verkäufer',
- ['m_deliver_copper'] = 'Drücke [E] um Kupfer zu liefern.',
- ['m_iron'] = 'Eisen',
- ['m_sell_iron'] = 'Eisen Verkäufer',
- ['m_deliver_iron'] = 'Drücke [E] um Eisen zu liefern.',
- ['m_gold'] = 'Gold',
- ['m_sell_gold'] = 'Gold verkaufen',
- ['m_deliver_gold'] = 'Drücke [E] um Gold zu verkaufen.',
- ['m_diamond'] = 'Diamant',
- ['m_sell_diamond'] = 'Diamanten verkaufen',
- ['m_deliver_diamond'] = 'Drücke [E] um die Diamanten zu verkaufen.',
- ['m_melt_button'] = 'Drücke [E] um die Steine zu schmelzen.',
-
- -- Reporter
- ['reporter_name'] = 'san Andreas Times',
- ['reporter_garage'] = 'Drücke [E] to go down to the garage.',
-
- -- Slaughterer
- ['s_slaughter_locker'] = 'Umkleide',
- ['s_hen'] = 'Hühner',
- ['s_alive_chicken'] = 'lebende Hühner',
- ['s_catch_hen'] = 'Drücke [E] um Hühner zu fangen.',
- ['s_slaughtered_chicken'] = 'Hühner verpacken',
- ['s_chop_animal'] = 'Drücke [E] um die Hühner zu schneiden.',
- ['s_slaughtered'] = 'Schlachthaus',
- ['s_package'] = 'Verpackung',
- ['s_packagechicken'] = 'Hühnchen in Verpackung',
- ['s_unpackaged'] = 'Verpackbereite Hühnchen',
- ['s_unpackaged_button'] = 'Drücke [E] um die Hühnchen zu verpacken.',
- ['s_deliver'] = 'Drücke [E] um die Hühnchen zu liefern.',
-
- -- Dress Designer
- ['dd_dress_locker'] = 'dress Designer\'s Locker Room',
- ['dd_wool'] = 'wolle',
- ['dd_pickup'] = 'Drücke [E] um Wolle zu gewinnen.',
- ['dd_fabric'] = 'stoff',
- ['dd_makefabric'] = 'Drücke [E] zur Herstellung von Stoffen.',
- ['dd_clothing'] = 'kleidung',
- ['dd_makeclothing'] = 'Drücke [E] um Kleidung herzustellen.',
- ['dd_deliver_clothes'] = 'Drücke [E] um Kleidung zu liefern.',
- }
diff --git a/[esx_addons]/esx_jobs/locales/en.lua b/[esx_addons]/esx_jobs/locales/en.lua
deleted file mode 100644
index 63dcdf06..00000000
--- a/[esx_addons]/esx_jobs/locales/en.lua
+++ /dev/null
@@ -1,119 +0,0 @@
-Locales['en'] = {
- -- Global menus
- ['cloakroom'] = 'locker Room',
- ['cloak_change'] = 'press [E] to change clothes.',
- ['citizen_wear'] = 'civilian clothes',
- ['job_wear'] = 'workers clothes',
- ['bank_deposit_returned'] = 'a security deposit of $%s was returned to you.',
- ['bank_deposit_taken'] = 'a security deposit of $%s was taken from you.',
- ['caution_afford'] = 'you cannot afford the caution of $%s',
- ['foot_work'] = 'you have to be on foot to be able to work.',
- ['next_point'] = 'go to the next step after completing this one.',
- ['not_your_vehicle'] = 'you are not the driver of this vehicle.',
- ['in_vehicle'] = 'you must sit in a vehicle.',
- ['wrong_point'] = 'you are not at the right point of delivery.',
- ['onduty'] = "You are On-Duty!",
- ['offduty'] = "You are Off-Duty!",
- ['no_male_clothing'] = "Warning: Job has no male clothing!",
- ['no_female_clothing'] = "Warning: Job has no female clothing!",
- ['max_limit'] = 'you cannot carry more %s',
- ['not_enough'] = 'you do not have enough %s to continue this task.',
- ['spawn_veh'] = 'spawn vehicle',
- ['spawn_veh_button'] = 'press [E] to call the delivery vehicle.',
- ['spawn_truck_button'] = 'press [E] to spawn the truck.',
- ['spawn_blocked'] = 'an vehicle is blocking the spawnpoint!',
- ['service_vh'] = 'service vehicle',
- ['return_vh'] = 'vehicle return',
- ['return_vh_button'] = 'press [E] to return the vehicle.',
- ['delivery_point'] = 'delivery point',
- ['delivery'] = 'delivery',
- ['public_enter'] = 'press [E] to enter the building.',
- ['public_leave'] = 'press [E] to go to the entrance of the building.',
-
- -- Lumber Jack job
- ['lj_locker_room'] = "lumberjack's Locker Room",
- ['lj_mapblip'] = 'wood pile',
- ['lj_wood'] = 'wood',
- ['lj_pickup'] = 'press [E] to retrieve wood.',
- ['lj_woodcutting'] = 'wood cutting',
- ['lj_cutwood_button'] = 'press [E] to cut wood.',
- ['lj_board'] = 'boards',
- ['lj_planks'] = 'package board',
- ['lj_cutwood'] = 'cut wood',
- ['lj_pick_boards'] = 'press [E] to retrieve boards.',
- ['lj_deliver_button'] = 'press [E] to deliver the boards.',
-
- -- Fisherman
- ['fm_fish_locker'] = 'fishermen\'s Locker Room',
- ['fm_fish'] = 'fish',
- ['fm_fish_area'] = 'fishing area',
- ['fm_fish_button'] = 'press [E] to fish.',
- ['fm_spawnboat_title'] = 'spawn boat',
- ['fm_spawnboat'] = 'press [E] to call the boat.',
- ['fm_boat_title'] = 'boat',
- ['fm_boat_return_title'] = 'boat return',
- ['fm_boat_return_button'] = 'press [E] to return the boat.',
- ['fm_deliver_fish'] = 'press [E] to deliver the fish.',
-
- -- Fuel
- ['f_oil_refiner'] = 'oil Refiner Locker Room',
- ['f_drill_oil'] = 'drill for oil',
- ['f_fuel'] = 'oil',
- ['f_drillbutton'] = 'press [E] to drill.',
- ['f_fuel_refine'] = 'refine oil',
- ['f_refine_fuel_button'] = 'press [E] to refine.',
- ['f_fuel_mixture'] = 'mix refined oil',
- ['f_gas'] = 'gas',
- ['f_fuel_mixture_button'] = 'press [E] to mix oil.',
- ['f_deliver_gas'] = 'deliver Gas',
- ['f_deliver_gas_button'] = 'press [E] to deliver gasoline.',
-
- -- Miner
- ['m_miner_locker'] = 'miner\'s Locker Room',
- ['m_rock'] = 'rock',
- ['m_pickrocks'] = 'press [E] to retrieve rocks.',
- ['m_washrock'] = 'rock Washing',
- ['m_rock_button'] = 'press [E] to wash the rocks.',
- ['m_rock_smelting'] = 'rock Smelting',
- ['m_copper'] = 'copper',
- ['m_sell_copper'] = 'copper Seller',
- ['m_deliver_copper'] = 'press [E] to deliver the copper.',
- ['m_iron'] = 'iron',
- ['m_sell_iron'] = 'iron Seller',
- ['m_deliver_iron'] = 'press [E] to deliver the iron.',
- ['m_gold'] = 'gold',
- ['m_sell_gold'] = 'gold Seller',
- ['m_deliver_gold'] = 'press [E] to deliver the gold.',
- ['m_diamond'] = 'diamond',
- ['m_sell_diamond'] = 'diamond Seller',
- ['m_deliver_diamond'] = 'press [E] to deliver the diamonds.',
- ['m_melt_button'] = 'press [E] to melt the rocks.',
-
- -- Reporter
- ['reporter_name'] = 'san Andreas Times',
- ['reporter_garage'] = 'press [E] to go down to the garage.',
-
- -- Slaughterer
- ['s_slaughter_locker'] = 'butcher\'s Locker Room',
- ['s_hen'] = 'chicken coop',
- ['s_alive_chicken'] = 'live Chicken',
- ['s_catch_hen'] = 'press [E] to catch live chickens.',
- ['s_slaughtered_chicken'] = 'chicken to be packed',
- ['s_chop_animal'] = 'press [E] to chop the chickens.',
- ['s_slaughtered'] = 'slaughter house',
- ['s_package'] = 'packaging',
- ['s_packagechicken'] = 'chicken in tray',
- ['s_unpackaged'] = 'chicken to be packed',
- ['s_unpackaged_button'] = 'press [E] to set the chicken in a tray.',
- ['s_deliver'] = 'press [E] to deliver the chicken trays.',
-
- -- Dress Designer
- ['dd_dress_locker'] = 'dress Designer\'s Locker Room',
- ['dd_wool'] = 'wool',
- ['dd_pickup'] = 'press [E] to retrieve wool.',
- ['dd_fabric'] = 'fabric',
- ['dd_makefabric'] = 'press [E] to make fabric.',
- ['dd_clothing'] = 'clothing',
- ['dd_makeclothing'] = 'press [E] to retrieve clothing.',
- ['dd_deliver_clothes'] = 'press [E] to deliver the clothes.',
-}
diff --git a/[esx_addons]/esx_jobs/locales/es.lua b/[esx_addons]/esx_jobs/locales/es.lua
deleted file mode 100644
index d3376968..00000000
--- a/[esx_addons]/esx_jobs/locales/es.lua
+++ /dev/null
@@ -1,117 +0,0 @@
-Locales['es'] = {
- -- Global menus
- ['cloakroom'] = 'guardarropas',
- ['cloak_change'] = 'presiona ~INPUT_PICKUP~ para cambiarte la ropa.',
- ['citizen_wear'] = 'ropa de civil',
- ['job_wear'] = 'ropa de trabajo',
- ['bank_deposit_returned'] = 'El deposito de seguro te ha devuelto $%s',
- ['bank_deposit_taken'] = 'El deposito te ha tomado ~r~$%s por el seguro del vehiculo',
- ['caution_afford'] = 'no puedes pagar el deposito de seguro de $%s',
- ['foot_work'] = 'debes estar en pie para trabajar.',
- ['next_point'] = 've al siguiente punto tras terminar este.',
- ['not_your_vehicle'] = 'no eres el conductor.',
- ['in_vehicle'] = 'debes estar en un vehiculo.',
- ['wrong_point'] = 'no estas en el punto correcto de entrega.',
- ['onduty'] = "Estás en servicio!",
- ['offduty'] = "Estás fuera de servicio!",
- ['max_limit'] = 'no puedes llevar mas %s',
- ['not_enough'] = 'no tienes suficientes %s para continuar esta tarea.',
- ['spawn_veh'] = 'spawnear vehiculo',
- ['spawn_veh_button'] = 'presiona ~INPUT_PICKUP~ para pedir el vehiculo de entrega.',
- ['spawn_truck_button'] = 'presiona ~INPUT_PICKUP~ para spawnear un camion.',
- ['spawn_blocked'] = 'el punto de spawn esta bloqueado!',
- ['service_vh'] = 'vehiculo de servicio',
- ['return_vh'] = 'devolver vehiculo',
- ['return_vh_button'] = 'presiona ~INPUT_PICKUP~ para devolver vehiculo.',
- ['delivery_point'] = 'punto de entrega',
- ['delivery'] = 'entrega',
- ['public_enter'] = 'presiona ~INPUT_PICKUP~ para entrar al edificio.',
- ['public_leave'] = 'presiona ~INPUT_PICKUP~ para ir a la entrada del edificio.',
-
- -- Lumber Jack job
- ['lj_locker_room'] = 'guardarropas',
- ['lj_mapblip'] = 'pila de madera',
- ['lj_wood'] = 'madera',
- ['lj_pickup'] = 'presiona ~INPUT_PICKUP~ para agarrar madera.',
- ['lj_woodcutting'] = 'cortar madera',
- ['lj_cutwood_button'] = 'presiona ~INPUT_PICKUP~ para cortar madera.',
- ['lj_board'] = 'tablas',
- ['lj_planks'] = 'empaquetar',
- ['lj_cutwood'] = 'cortar madera',
- ['lj_pick_boards'] = 'presiona ~INPUT_PICKUP~ para agarrar tablas.',
- ['lj_deliver_button'] = 'presiona ~INPUT_PICKUP~ para entregar tablas.',
-
- -- Fisherman
- ['fm_fish_locker'] = 'guardarropas',
- ['fm_fish'] = 'pescar',
- ['fm_fish_area'] = 'area de pesca',
- ['fm_fish_button'] = 'presiona ~INPUT_PICKUP~ para pescar.',
- ['fm_spawnboat_title'] = 'spawnear bote',
- ['fm_spawnboat'] = 'presiona ~INPUT_PICKUP~ para pedir un bote.',
- ['fm_boat_title'] = 'bote',
- ['fm_boat_return_title'] = 'devolver bote',
- ['fm_boat_return_button'] = 'presiona ~INPUT_PICKUP~ para devolver un bote.',
- ['fm_deliver_fish'] = 'presiona ~INPUT_PICKUP~ para entregar pescados.',
-
- -- Fuel
- ['f_oil_refiner'] = 'guardarropas',
- ['f_drill_oil'] = 'agujerear para encontrar petroleo',
- ['f_fuel'] = 'petroleo',
- ['f_drillbutton'] = 'presiona ~INPUT_PICKUP~ para agujerear.',
- ['f_fuel_refine'] = 'refinar petroleo',
- ['f_refine_fuel_button'] = 'presiona ~INPUT_PICKUP~ para refinar.',
- ['f_fuel_mixture'] = 'mezclar petroleo refinado',
- ['f_gas'] = 'gas',
- ['f_fuel_mixture_button'] = 'presiona ~INPUT_PICKUP~ para mezclar petroleo.',
- ['f_deliver_gas'] = 'entregar gas',
- ['f_deliver_gas_button'] = 'presiona ~INPUT_PICKUP~ para entregar gasolina.',
-
- -- Miner
- ['m_miner_locker'] = 'guardarropas',
- ['m_rock'] = 'roca',
- ['m_pickrocks'] = 'presiona ~INPUT_PICKUP~ para agarrar rocas.',
- ['m_washrock'] = 'lavado de rocas',
- ['m_rock_button'] = 'presiona ~INPUT_PICKUP~ para lavar rocas.',
- ['m_rock_smelting'] = 'derretir rocas',
- ['m_copper'] = 'cobre',
- ['m_sell_copper'] = 'vender cobre',
- ['m_deliver_copper'] = 'presiona ~INPUT_PICKUP~ para entregar el cobre.',
- ['m_iron'] = 'hierro',
- ['m_sell_iron'] = 'vender hierro',
- ['m_deliver_iron'] = 'presiona ~INPUT_PICKUP~ para entregar el hierro.',
- ['m_gold'] = 'oro',
- ['m_sell_gold'] = 'vender oro',
- ['m_deliver_gold'] = 'presiona ~INPUT_PICKUP~ para entregar oro.',
- ['m_diamond'] = 'diamantes',
- ['m_sell_diamond'] = 'vender diamantes',
- ['m_deliver_diamond'] = 'presiona ~INPUT_PICKUP~ para entregar los diamantes.',
- ['m_melt_button'] = 'presiona ~INPUT_PICKUP~ para derretir rocas.',
-
- -- Reporter
- ['reporter_name'] = 'periódico San Andreas',
- ['reporter_garage'] = 'presiona ~INPUT_PICKUP~ para ir al garage.',
-
- -- Slaughterer
- ['s_slaughter_locker'] = 'guardarropas',
- ['s_hen'] = 'Gallinero',
- ['s_alive_chicken'] = 'pollos vivos',
- ['s_catch_hen'] = 'presiona ~INPUT_PICKUP~ para agarrar pollos vivos.',
- ['s_slaughtered_chicken'] = 'pollo listo para empaquetar',
- ['s_chop_animal'] = 'presiona ~INPUT_PICKUP~ para cortar los pollos.',
- ['s_slaughtered'] = 'matadero',
- ['s_package'] = 'empaquetando',
- ['s_packagechicken'] = 'pollo en bandeja',
- ['s_unpackaged'] = 'pollo para empaquetar',
- ['s_unpackaged_button'] = 'presiona ~INPUT_PICKUP~ para poner el pollo en una bandeja.',
- ['s_deliver'] = 'presiona ~INPUT_PICKUP~ para entregar bandejas de pollos.',
-
- -- Dress Designer
- ['dd_dress_locker'] = 'guardarropas',
- ['dd_wool'] = 'lana',
- ['dd_pickup'] = 'presiona ~INPUT_PICKUP~ para agarrar lana.',
- ['dd_fabric'] = 'tela',
- ['dd_makefabric'] = 'presiona ~INPUT_PICKUP~ para hacer tela.',
- ['dd_clothing'] = 'ropa',
- ['dd_makeclothing'] = 'presiona ~INPUT_PICKUP~ para agarrar ropa.',
- ['dd_deliver_clothes'] = 'presiona ~INPUT_PICKUP~ para entregar ropa.',
-}
diff --git a/[esx_addons]/esx_jobs/locales/fi.lua b/[esx_addons]/esx_jobs/locales/fi.lua
deleted file mode 100644
index 21ed6b5c..00000000
--- a/[esx_addons]/esx_jobs/locales/fi.lua
+++ /dev/null
@@ -1,115 +0,0 @@
-Locales['fi'] = {
- -- Global menus
- ['cloakroom'] = 'vaatelokero',
- ['cloak_change'] = 'paina ~INPUT_PICKUP~ vaihtaaksesi vaatteet',
- ['citizen_wear'] = 'siviilivaatteet',
- ['job_wear'] = 'työvaatteet',
- ['bank_deposit_returned'] = 'vakuuden summa €%s palautettiin sinulle.',
- ['bank_deposit_taken'] = 'vakuuden summa ~r~€%s otettiin sinulta.',
- ['caution_afford'] = 'you cannot afford the caution of $%s',
- ['foot_work'] = 'sinun täytyy olla jalan, jotta voit työskennellä',
- ['next_point'] = 'mene seuraavaan pisteeseen kun olet valmis täällä',
- ['not_your_vehicle'] = 'tämä ei ole sinun ajoneuvo tai et ole sen kuski',
- ['in_vehicle'] = 'sinun täytyy olla ajoneuvossa',
- ['wrong_point'] = 'et ole oikeassa paikassa',
- ['max_limit'] = 'sinulla on jo maksimi määrä %s',
- ['not_enough'] = 'sinulla ei ole tarpeeksi %s jatkaaksesi täällä.',
- ['spawn_veh'] = 'spawnaa ajoneuvo',
- ['spawn_veh_button'] = 'paina ~INPUT_PICKUP~ soittaaksesi kuljetus ajoneuvo',
- ['spawn_truck_button'] = 'paina ~INPUT_PICKUP~ spawnataksesi rekka.',
- ['spawn_blocked'] = 'an vehicle is blocking the spawnpoint!',
- ['service_vh'] = 'huolla ajonevuo',
- ['return_vh'] = 'palauta ajoneuvo',
- ['return_vh_button'] = 'paina ~INPUT_PICKUP~ palautaaksesi ajoneuvo.',
- ['delivery_point'] = 'toimituspiste',
- ['delivery'] = 'toimitus',
- ['public_enter'] = 'paina ~INPUT_PICKUP~ mennäksesi taloon sisälle.',
- ['public_leave'] = 'paina ~INPUT_PICKUP~ poistuaksesi talosta.',
-
- -- Lumber Jack job
- ['lj_locker_room'] = 'metsurin Pukulokero',
- ['lj_mapblip'] = 'puukasa',
- ['lj_wood'] = 'puu',
- ['lj_pickup'] = 'paina ~INPUT_PICKUP~ kerätäksesi puita',
- ['lj_woodcutting'] = 'puun hakkuu',
- ['lj_cutwood_button'] = 'paina ~INPUT_PICKUP~ pilkkoaksesi puita.',
- ['lj_board'] = 'lankkuja',
- ['lj_planks'] = 'paketoituja lankkuja',
- ['lj_cutwood'] = 'pilko puita',
- ['lj_pick_boards'] = 'paina ~INPUT_PICKUP~ saadaksesi lankkuja',
- ['lj_deliver_button'] = 'paina ~INPUT_PICKUP~ toimitaaksesi lankut.',
-
- -- Fisherman
- ['fm_fish_locker'] = 'kalastajan Pukulokero',
- ['fm_fish'] = 'kala',
- ['fm_fish_area'] = 'kalastus alue',
- ['fm_fish_button'] = 'paina ~INPUT_PICKUP~ kalastaaksesi',
- ['fm_spawnboat_title'] = 'spawnaa laiva',
- ['fm_spawnboat'] = 'paina ~INPUT_PICKUP~ soittaaksesi laiva.',
- ['fm_boat_title'] = 'laiva',
- ['fm_boat_return_title'] = 'laivan palautus',
- ['fm_boat_return_button'] = 'paina ~INPUT_PICKUP~ palautaaksesi laiva',
- ['fm_deliver_fish'] = 'paina ~INPUT_PICKUP~ myydäksesi kalat',
-
- -- Fuel
- ['f_oil_refiner'] = 'öljynjalostajan Pukulokero',
- ['f_drill_oil'] = 'poraa että saat öljyä',
- ['f_fuel'] = 'öljy',
- ['f_drillbutton'] = 'paina ~INPUT_PICKUP~ porataksesi',
- ['f_fuel_refine'] = 'puhdista öljy',
- ['f_refine_fuel_button'] = 'paina ~INPUT_PICKUP~ puhdistaaksesi',
- ['f_fuel_mixture'] = 'sekoita puhdistettu öljy',
- ['f_gas'] = 'polttoöljy',
- ['f_fuel_mixture_button'] = 'paina ~INPUT_PICKUP~ sekoita',
- ['f_deliver_gas'] = 'toimita polttoöljy',
- ['f_deliver_gas_button'] = 'paina ~INPUT_PICKUP~ myydäksesi Polttoöljyä',
-
- -- Miner
- ['m_miner_locker'] = 'kaivostyöläisen Pukulokero',
- ['m_rock'] = 'kivi',
- ['m_pickrocks'] = 'paina ~INPUT_PICKUP~ louhiaksesi kiviä.',
- ['m_washrock'] = 'puhdistettu kivi',
- ['m_rock_button'] = 'paina ~INPUT_PICKUP~ puhdistaaksesi kiviä',
- ['m_rock_smelting'] = 'sulatus',
- ['m_copper'] = 'kupari',
- ['m_sell_copper'] = 'myy kupari',
- ['m_deliver_copper'] = 'paina ~INPUT_PICKUP~ myydäksesi kuparit',
- ['m_iron'] = 'metalli',
- ['m_sell_iron'] = 'myy metalli',
- ['m_deliver_iron'] = 'paina ~INPUT_PICKUP~ myydäksesi metallit',
- ['m_gold'] = 'kulta',
- ['m_sell_gold'] = 'myy kulta',
- ['m_deliver_gold'] = 'paina ~INPUT_PICKUP~ myydäksesi kullat',
- ['m_diamond'] = 'timantti',
- ['m_sell_diamond'] = 'myy timantti',
- ['m_deliver_diamond'] = 'paina ~INPUT_PICKUP~ myydäksesi timantit',
- ['m_melt_button'] = 'paina ~INPUT_PICKUP~ sulattaaksesi kivet',
-
- -- Reporter
- ['reporter_name'] = 'san Andreas Times',
- ['reporter_garage'] = 'paina ~INPUT_PICKUP~ mennäksesi alas talliin',
-
- -- Slaughterer
- ['s_slaughter_locker'] = 'teurastajan Pukulokero',
- ['s_hen'] = 'kanakoppi',
- ['s_alive_chicken'] = 'elävä kana',
- ['s_catch_hen'] = 'paina ~INPUT_PICKUP~ ottaaksesi kana kiinni',
- ['s_slaughtered_chicken'] = 'teurasta kana',
- ['s_chop_animal'] = 'paina ~INPUT_PICKUP~ teurastaaksesi kanoja.',
- ['s_slaughtered'] = 'teurastamo',
- ['s_package'] = 'paketointi',
- ['s_packagechicken'] = 'kananfilee',
- ['s_unpackaged'] = 'kana paketoitavaksi',
- ['s_unpackaged_button'] = 'paina ~INPUT_PICKUP~ laittaaksesi kanoja pakettiin',
- ['s_deliver'] = 'paina ~INPUT_PICKUP~ myydäksesi kananfileet',
-
- -- Dress Designer
- ['dd_dress_locker'] = 'vaatevalmistajan Pukulokero',
- ['dd_wool'] = 'villa',
- ['dd_pickup'] = 'paina ~INPUT_PICKUP~ kerätäksesi villaa',
- ['dd_fabric'] = 'kangas',
- ['dd_makefabric'] = 'paina ~INPUT_PICKUP~ tehdäksesi kangasta',
- ['dd_clothing'] = 'asuste',
- ['dd_makeclothing'] = 'paina ~INPUT_PICKUP~ tehdäksesi asusteita',
- ['dd_deliver_clothes'] = 'paina ~INPUT_PICKUP~ myydäksesi asusteita',
-}
diff --git a/[esx_addons]/esx_jobs/locales/fr.lua b/[esx_addons]/esx_jobs/locales/fr.lua
deleted file mode 100644
index 3e878903..00000000
--- a/[esx_addons]/esx_jobs/locales/fr.lua
+++ /dev/null
@@ -1,115 +0,0 @@
-Locales['fr'] = {
- -- Global menus
- ['cloakroom'] = 'vestiaire',
- ['cloak_change'] = 'appuyez sur ~INPUT_PICKUP~ pour vous changer.',
- ['citizen_wear'] = 'tenue civile',
- ['job_wear'] = 'tenue de travail',
- ['bank_deposit_returned'] = 'une caution de $%s vous a été rendue.',
- ['bank_deposit_taken'] = 'une caution de $%s vous a été prélevée.',
- ['caution_afford'] = 'vous ne pouvez pas payer la caution de $%s',
- ['foot_work'] = 'vous devez être à pied pour pouvoir travailler.',
- ['next_point'] = 'rendez-vous à la prochaine étape après avoir complété celle-ci.',
- ['not_your_vehicle'] = 'ce n\'est pas votre véhicule ou vous devez être conducteur.',
- ['in_vehicle'] = 'vous devez être dans un véhicule.',
- ['wrong_point'] = 'vous n\'êtes pas au bon point de livraison.',
- ['max_limit'] = 'vous avez le maximum de %s',
- ['not_enough'] = 'vous n\'avez plus assez de %s pour continuer cette tâche.',
- ['spawn_veh'] = 'spawner véhicule de fonction',
- ['spawn_veh_button'] = 'appuyez sur ~INPUT_PICKUP~ pour appeler le véhicule de livraison.',
- ['spawn_truck_button'] = 'appuyez sur ~INPUT_PICKUP~ pour appeler le camion.',
- ['spawn_blocked'] = 'un véhicule bloque le point de spawn!',
- ['service_vh'] = 'véhicule de fonction',
- ['return_vh'] = 'suppression du véhicule',
- ['return_vh_button'] = 'appuyez sur ~INPUT_PICKUP~ pour rendre le véhicule.',
- ['delivery_point'] = 'point de livraison',
- ['delivery'] = 'livraison',
- ['public_enter'] = 'appuyez sur ~INPUT_PICKUP~ pour entrer dans l\'immeuble.',
- ['public_leave'] = 'appuyez sur ~INPUT_PICKUP~ pour aller à l\'entrée de l\'immeuble.',
-
- -- Lumber Jack job
- ['lj_locker_room'] = 'vestiaire du bûcheron',
- ['lj_mapblip'] = 'tas de bois',
- ['lj_wood'] = 'bois',
- ['lj_pickup'] = 'appuyez sur ~INPUT_PICKUP~ pour récupérer du bois.',
- ['lj_woodcutting'] = 'découpe du bois',
- ['lj_cutwood_button'] = 'appuyez sur ~INPUT_PICKUP~ pour couper du bois.',
- ['lj_board'] = 'planches',
- ['lj_planks'] = 'paquet de planche',
- ['lj_cutwood'] = 'bois coupé',
- ['lj_pick_boards'] = 'appuyez sur ~INPUT_PICKUP~ pour récupérer des planches.',
- ['lj_deliver_button'] = 'appuyez sur ~INPUT_PICKUP~ pour livrer les planches.',
-
- -- Fisherman
- ['fm_fish_locker'] = 'vestiaire du pêcheur',
- ['fm_fish'] = 'poisson',
- ['fm_fish_area'] = 'zone de pêche',
- ['fm_fish_button'] = 'appuyez sur ~INPUT_PICKUP~ pour pêcher.',
- ['fm_spawnboat_title'] = 'spawner bateau',
- ['fm_spawnboat'] = 'appuyez sur ~INPUT_PICKUP~ pour appeler le bateau.',
- ['fm_boat_title'] = 'bateau',
- ['fm_boat_return_title'] = 'suppression du bateau',
- ['fm_boat_return_button'] = 'appuyez sur ~INPUT_PICKUP~ pour rendre le bateau.',
- ['fm_deliver_fish'] = 'appuyez sur ~INPUT_PICKUP~ pour livrer le poisson.',
-
- -- Fuel
- ['f_oil_refiner'] = 'vestiaire du raffineur',
- ['f_drill_oil'] = 'extraction le pétrole',
- ['f_fuel'] = 'pétrole',
- ['f_drillbutton'] = 'appuyez sur ~INPUT_PICKUP~ pour forer.',
- ['f_fuel_refine'] = 'pétrol raffiné',
- ['f_refine_fuel_button'] = 'appuyez sur ~INPUT_PICKUP~ pour raffiner le pétrole.',
- ['f_fuel_mixture'] = 'mélange',
- ['f_gas'] = 'essence',
- ['f_fuel_mixture_button'] = 'appuyez sur ~INPUT_PICKUP~ pour mélanger.',
- ['f_deliver_gas'] = 'livraison d\'essence.',
- ['f_deliver_gas_button'] = 'appuyez sur ~INPUT_PICKUP~ pour livrer l\'essence.',
-
- -- Miner
- ['m_miner_locker'] = 'vestiaire du mineur',
- ['m_rock'] = 'rocher',
- ['m_pickrocks'] = 'appuyez sur ~INPUT_PICKUP~ pour récupérer des rochers.',
- ['m_washrock'] = 'roche lavée',
- ['m_rock_button'] = 'appuyez sur ~INPUT_PICKUP~ pour laver les roches.',
- ['m_rock_smelting'] = 'fonderie',
- ['m_copper'] = 'cuivre',
- ['m_sell_copper'] = 'revente de cuivre',
- ['m_deliver_copper'] = 'appuyez sur ~INPUT_PICKUP~ pour livrer le cuivre.',
- ['m_iron'] = 'fer',
- ['m_sell_iron'] = 'revente de fer',
- ['m_deliver_iron'] = 'appuyez sur ~INPUT_PICKUP~ pour livrer le fer.',
- ['m_gold'] = 'or',
- ['m_sell_gold'] = 'revente d\'or',
- ['m_deliver_gold'] = 'appuyez sur ~INPUT_PICKUP~ pour livrer l\'or\'.',
- ['m_diamond'] = 'diamant',
- ['m_sell_diamond'] = 'revente de diamants',
- ['m_deliver_diamond'] = 'appuyez sur ~INPUT_PICKUP~ pour livrer les diamants.',
- ['m_melt_button'] = 'appuyez sur ~INPUT_PICKUP~ pour fondre les roches.',
-
- -- Reporter
- ['reporter_name'] = 'le Maclerait Libéré',
- ['reporter_garage'] = 'appuyez sur ~INPUT_PICKUP~ pour descendre au garage.',
-
- -- Slaughterer
- ['s_slaughter_locker'] = 'vestiaire de l\'abatteur',
- ['s_hen'] = 'poulailler',
- ['s_alive_chicken'] = 'poulet vivant',
- ['s_catch_hen'] = 'appuyez sur ~INPUT_PICKUP~ pour attrapper des poulets vivants.',
- ['s_slaughtered_chicken'] = 'poulet à conditionner',
- ['s_chop_animal'] = 'appuyez sur ~INPUT_PICKUP~ pour dépecer les poulets.',
- ['s_slaughtered'] = 'abattoir',
- ['s_package'] = 'emballage',
- ['s_packagechicken'] = 'poulet en barquette',
- ['s_unpackaged'] = 'poulet à conditionner',
- ['s_unpackaged_button'] = 'appuyez sur ~INPUT_PICKUP~ pour conditionner le poulet en barquette.',
- ['s_deliver'] = 'appuyez sur ~INPUT_PICKUP~ pour livrer les barquettes de poulet.',
-
- -- Dress Designer
- ['dd_dress_locker'] = 'vestiaire du couturier',
- ['dd_wool'] = 'laine',
- ['dd_pickup'] = 'appuyez sur ~INPUT_PICKUP~ pour récupérer de la laine.',
- ['dd_fabric'] = 'tissu',
- ['dd_makefabric'] = 'appuyez sur ~INPUT_PICKUP~ pour fabriquer du tissu.',
- ['dd_clothing'] = 'vêtement',
- ['dd_makeclothing'] = 'appuyez sur ~INPUT_PICKUP~ pour récupérer des vêtements.',
- ['dd_deliver_clothes'] = 'appuyez sur ~INPUT_PICKUP~ pour livrer les vêtements.',
-}
diff --git a/[esx_addons]/esx_jobs/locales/hu.lua b/[esx_addons]/esx_jobs/locales/hu.lua
deleted file mode 100644
index 4d0d718f..00000000
--- a/[esx_addons]/esx_jobs/locales/hu.lua
+++ /dev/null
@@ -1,119 +0,0 @@
-Locales["hu"] = {
- -- Global menus
- ["cloakroom"] = "Öltözö szoba",
- ["cloak_change"] = "Nyomj [E] gombot a ruha választáshos.",
- ["citizen_wear"] = "Civil ruha",
- ["job_wear"] = "Munka ruha",
- ["bank_deposit_returned"] = "Visszakaptál $%s letétet.",
- ["bank_deposit_taken"] = "Biztonsági letétet ~r~$%s fizettél.",
- ["caution_afford"] = "nem engedheted meg magadnak az óvatosságot $%s",
- ["foot_work"] = "gyalog kell dolgoznod.",
- ["next_point"] = "Menj a következö lépéshez ha ezzel kész vagy.",
- ["not_your_vehicle"] = "Ez nem a te kocsid vagy soförnek kell lenned.",
- ["in_vehicle"] = "kocsiban kell ülnöd.",
- ["wrong_point"] = "nem a megfelelö szállítási ponton vagy.",
- ["onduty"] = "Szolgálatban vagy!",
- ["offduty"] = "Nem vagy szolgálatban!",
- ["no_male_clothing"] = "Figyelmeztetés: A munkának nincs férfi ruházata",
- ["no_female_clothing"] = "Figyelmeztetés: A munkának nincs női ruházata!",
- ["max_limit"] = "nem tudsz többet szállítani %s",
- ["not_enough"] = "Nincs elég %s hogy folytasd.",
- ["spawn_veh"] = "Autó lekérés",
- ["spawn_veh_button"] = "Nyomj [E] hogy lekérd a szállító autót.",
- ["spawn_truck_button"] = "Nyomj [E] hogy lekérd az autót.",
- ["spawn_blocked"] = "egy autó elzárja a lekérési pontot!",
- ["service_vh"] = "munka autó",
- ["return_vh"] = "autó visszakérés",
- ["return_vh_button"] = "Nyomj [E] gombot hogy vissza add az autót.",
- ["delivery_point"] = "szállítási pont",
- ["delivery"] = "szállítás",
- ["public_enter"] = "nyomj [E] gombot hogy belépj az épületbe.",
- ["public_leave"] = "nyomj [E] gombot hogy kilépj az épületböl.",
-
- -- Lumber Jack job
- ["lj_locker_room"] = "favágó Öltözö szoba",
- ["lj_mapblip"] = "farakás",
- ["lj_wood"] = "fa",
- ["lj_pickup"] = "nyomj [E] gombot hogy kiszedd a fát.",
- ["lj_woodcutting"] = "favágás",
- ["lj_cutwood_button"] = "nyomj [E] gombot a favágáshoz.",
- ["lj_board"] = "táblák",
- ["lj_planks"] = "tábla csomagolás",
- ["lj_cutwood"] = "favágás",
- ["lj_pick_boards"] = "nyomj [E] gombot hogy kiszedd a táblát.",
- ["lj_deliver_button"] = "nyomj [E] gombot hogy leszállítsd a táblát.",
-
- -- Fisherman
- ["fm_fish_locker"] = "horgász Öltözö szoba",
- ["fm_fish"] = "hal",
- ["fm_fish_area"] = "horgászati terület",
- ["fm_fish_button"] = "nyomjd [E] gombot a horgászathoz.",
- ["fm_spawnboat_title"] = "hajó lekérés",
- ["fm_spawnboat"] = "nyomjd [E] gombot hogy hívd a hajót.",
- ["fm_boat_title"] = "hajó",
- ["fm_boat_return_title"] = "visszetérés a hajóra",
- ["fm_boat_return_button"] = "nyomj [E] gombot hogy visszatért a hajóra.",
- ["fm_deliver_fish"] = "nyomj [E] gombot hogy leszállítsd a halat.",
-
- -- Fuel
- ["f_oil_refiner"] = "olajfinomító Öltözö szoba",
- ["f_drill_oil"] = "olaj fúrása",
- ["f_fuel"] = "olaj",
- ["f_drillbutton"] = "nyomj [E] gombot a fúráshoz.",
- ["f_fuel_refine"] = "olaj finomítás",
- ["f_refine_fuel_button"] = "nyomj [E] gombot a finomításhoz.",
- ["f_fuel_mixture"] = "újra finomított olaj mix",
- ["f_gas"] = "gáz",
- ["f_fuel_mixture_button"] = "nyomj [E] gombot a mixeléshez.",
- ["f_deliver_gas"] = "gáz szállítás",
- ["f_deliver_gas_button"] = "nyomj [E] gombot hogy leszállítsd a gázt.",
-
- -- Miner
- ["m_miner_locker"] = "bányász Öltözö szoba",
- ["m_rock"] = "kő",
- ["m_pickrocks"] = "nyomj [E] gombot hogy kiszedd a követ.",
- ["m_washrock"] = "kő mosás",
- ["m_rock_button"] = "nyomj [E] gombot a kövek mosásához.",
- ["m_rock_smelting"] = "kő olvasztás",
- ["m_copper"] = "réz",
- ["m_sell_copper"] = "réz eladás",
- ["m_deliver_copper"] = "nyomj [E] gombot a réz eladásához.",
- ["m_iron"] = "vas",
- ["m_sell_iron"] = "vas eladás",
- ["m_deliver_iron"] = "nyomj [E] gombot hogy leszállítsd a vasat.",
- ["m_gold"] = "arany",
- ["m_sell_gold"] = "arany eladás",
- ["m_deliver_gold"] = "nyomj [E] gombot hogy leszállítsd az aranyat.",
- ["m_diamond"] = "gyémánt",
- ["m_sell_diamond"] = "gyémánt eladás",
- ["m_deliver_diamond"] = "nyomj [E] gombot hogy leszállítsd a gyémántot.",
- ["m_melt_button"] = "nyomj [E] gombot a szikla olvasztáshoz.",
-
- -- Reporter
- ["reporter_name"] = "Fivem hírek",
- ["reporter_garage"] = "nyomj [E] gombot a garázshoz.",
-
- -- Slaughterer
- ["s_slaughter_locker"] = "hentes Öltözö szoba",
- ["s_hen"] = "csírkefarm",
- ["s_alive_chicken"] = "élő csírke",
- ["s_catch_hen"] = "nyomj [E] gombot hogy megfogj egy csírkét.",
- ["s_slaughtered_chicken"] = "csírke csomagolás",
- ["s_chop_animal"] = "nyomj [E] gombot a csírkék csomagolásához.",
- ["s_slaughtered"] = "Hentes ház",
- ["s_package"] = "csomagolás",
- ["s_packagechicken"] = "csírke a tálcán",
- ["s_unpackaged"] = "csírke kicsomagolás",
- ["s_unpackaged_button"] = "nyomj [E] gombot hogy kitedd egy tálcára a csírkét.",
- ["s_deliver"] = "nyomj [E] gombot hogy leszállítsd a csírketálat.",
-
- -- Dress Designer
- ["dd_dress_locker"] = "ruha tervező Öltözö szoba",
- ["dd_wool"] = "gyapjú",
- ["dd_pickup"] = "nyomj [E] gombot hogy kivedd a gyapjút.",
- ["dd_fabric"] = "szövet",
- ["dd_makefabric"] = "nyomj [E] gombot hogy szövetet készíts.",
- ["dd_clothing"] = "ruha",
- ["dd_makeclothing"] = "nyomj [E] gombot hogy kivedd a ruhát.",
- ["dd_deliver_clothes"] = "nyomj [E] gombot hogy leszállítsd a ruhát.",
-}
diff --git a/[esx_addons]/esx_jobs/locales/nl.lua b/[esx_addons]/esx_jobs/locales/nl.lua
deleted file mode 100644
index 5bb34ff6..00000000
--- a/[esx_addons]/esx_jobs/locales/nl.lua
+++ /dev/null
@@ -1,116 +0,0 @@
-Locales['nl'] = {
- -- Global menus
- ['cloakroom'] = 'Kleedkamer',
- ['cloak_change'] = 'Druk op ~INPUT_PICKUP~ om je werkkleding aan/uit te doen.',
- ['citizen_wear'] = 'Burgerkleding',
- ['job_wear'] = 'Werkkleding',
- ['bank_deposit_returned'] = 'a security deposit of $%s was returned to you.',
- ['bank_deposit_taken'] = 'a security deposit of ~r~$%s was taken from you.',
- ['foot_work'] = 'Je moet uit een voertuig zijn om te werken',
- ['next_point'] = 'Ga naar de volgende stap zodra je klaar bent met deze.',
- ['not_your_vehicle'] = 'Dit is niet jou voertuig of je moet de bestuurder zijn.',
- ['in_vehicle'] = 'Je moet in een voertuig zitten',
- ['wrong_point'] = 'Je bent bij het verkeerde afleverpunt',
- ['max_limit'] = 'Je hebt al het maximale %s bij je',
- ['not_enough'] = 'Je hebt niet genoeg %s om het werk te voltooien',
- ['spawn_veh'] = 'Pak werkvoertuig',
- ['spawn_veh_button'] = 'Druk op ~INPUT_PICKUP~ om je werkvoertuig op te roepen',
- ['spawn_truck_button'] = 'Druk op ~INPUT_PICKUP~ om een vrachtwagen te pakken',
- ['spawn_blocked'] = 'Een voertuig blokkerd het spawnpoint!',
- ['service_vh'] = 'service voertuig',
- ['return_vh'] = 'Voertuig terug zetten',
- ['return_vh_button'] = 'Druk op ~INPUT_PICKUP~ om het voertuig terug te zetten',
- ['delivery_point'] = 'Afleverpunt',
- ['delivery'] = 'Afleveren',
- ['public_enter'] = 'Druk op ~INPUT_PICKUP~ om het gebouw te betreden',
- ['public_leave'] = 'Druk op ~INPUT_PICKUP~ om het gebouw te verlaten',
-
- -- Lumber Jack job
- ['lj_locker_room'] = 'Houthakker kleedkamer',
- ['lj_mapblip'] = 'Houthandel',
- ['lj_wood'] = 'Hout',
- ['lj_pickup'] = 'Druk op ~INPUT_PICKUP~ om hout op te halen',
- ['lj_cutwood'] = 'Het hout word gezaagd',
- ['lj_cutwood_button'] = 'Druk op ~INPUT_PICKUP~ om het hout te zagen',
- ['lj_board'] = 'Plaken',
- ['lj_planks'] = 'pakket met planken',
- ['lj_pick_boards'] = 'Druk op ~INPUT_PICKUP~ om hout te zagen',
- ['lj_deliver_button'] = 'Druk op ~INPUT_PICKUP~ om het hout te leveren',
-
- -- Fisherman
- ['fm_fish_locker'] = 'Vissers kleedkamer',
- ['fm_fish'] = 'Vis',
- ['fm_fish_area'] = 'Vis gebied',
- ['fm_fish_button'] = 'Druk op ~INPUT_PICKUP~ om te beginnen met vissen',
- ['fm_spawnboat_title'] = 'Pak een vissersboot',
- ['fm_spawnboat'] = 'Druk op ~INPUT_PICKUP~ om de boot op te roepen',
- ['fm_boat_title'] = 'boot',
- ['fm_boat_return_title'] = 'Boot terugzetten',
- ['fm_boat_return_button'] = 'Druk op ~INPUT_PICKUP~ om de boot terug te zetten',
- ['fm_deliver_fish'] = 'Druk op ~INPUT_PICKUP~ om de vis af te leveren',
-
- -- Fuel
- ['f_oil_refiner'] = 'Olie transporteur kleedkamer',
- ['f_drill_oil'] = 'Olieboor',
- ['f_fuel'] = 'Olie',
- ['f_drillbutton'] = 'Druk op ~INPUT_PICKUP~ om te beginnen met olie boren',
- ['f_fuel_refine'] = 'olie raffineren',
- ['f_refine_fuel_button'] = 'Druk op ~INPUT_PICKUP~ om te raffineren',
- ['f_fuel_mixture'] = 'mix geraffineerde olie',
- ['f_gas'] = 'Brandstof',
- ['f_fuel_mixture_button'] = 'Druk op ~INPUT_PICKUP~ om olie te mixen',
- ['f_deliver_gas'] = 'Brandstof afleveren',
- ['f_deliver_gas_button'] = 'Druk op ~INPUT_PICKUP~ om de brandstof af te leveren',
- ['caution_afford'] = 'Je hebt onvoldoende Geld opzak om een voertuig te leasen!',
-
- -- Miner
- ['m_miner_locker'] = 'Kleedkamer',
- ['m_rock'] = 'Metaal erts',
- ['m_pickrocks'] = 'Druk op ~INPUT_PICKUP~ om erts te verzamelen',
- ['m_washrock'] = 'erts verwerken',
- ['m_rock_button'] = 'Druk op ~INPUT_PICKUP~ om de erts te verwerken',
- ['m_rock_smelting'] = 'erts omsmelten',
- ['m_copper'] = 'Koper',
- ['m_sell_copper'] = 'Koper verkopen',
- ['m_deliver_copper'] = 'druk op ~INPUT_PICKUP~ om Koper te verkopen',
- ['m_iron'] = 'Aluminium',
- ['m_sell_iron'] = 'Aluminium verkoop',
- ['m_deliver_iron'] = 'Drup op ~INPUT_PICKUP~ om Aluminium te verkopen',
- ['m_gold'] = 'Goud',
- ['m_sell_gold'] = 'Goud verkopen',
- ['m_deliver_gold'] = 'Druk op ~INPUT_PICKUP~ om Goud te verkopen',
- ['m_diamond'] = 'Diamant',
- ['m_sell_diamond'] = 'Diamanten verkopen',
- ['m_deliver_diamond'] = 'Druk op ~INPUT_PICKUP~ om Diamant te verkopen',
- ['m_melt_button'] = 'Druk op ~INPUT_PICKUP~ om de erts om te smelten',
-
- -- Reporter
- ['reporter_locker'] = 'Kleedkamer',
- ['reporter_name'] = 'OmroepZeeland',
- ['reporter_garage'] = 'Druk op ~INPUT_PICKUP~ om nara de garage te gaan',
-
- -- Slaughterer
- ['s_slaughter_locker'] = 'Kûppen kleedkamer',
- ['s_hen'] = 'Kûppenhok',
- ['s_alive_chicken'] = 'Levende Kûppen',
- ['s_catch_hen'] = 'Druk op ~INPUT_PICKUP~ om levende Kûppen te vangen',
- ['s_slaughtered_chicken'] = 'Kûppen om te verpakken',
- ['s_chop_animal'] = 'Druk op ~INPUT_PICKUP~ om de Kûppen te slachten',
- ['s_slaughtered'] = 'Slachthuis',
- ['s_package'] = 'verpakken',
- ['s_packagechicken'] = 'krat met Kûpfilet',
- ['s_unpackaged'] = 'Kûppen om te verpakken',
- ['s_unpackaged_button'] = 'Druk op ~INPUT_PICKUP~ om de Kûpfilet in de krat te doen',
- ['s_deliver'] = 'Druk op ~INPUT_PICKUP~ om de kratten met Kûppen af te leveren',
-
- -- Dress Designer
- ['dd_dress_locker'] = 'kleding ontwerper kleedkamer',
- ['dd_wool'] = 'wol',
- ['dd_pickup'] = 'Druk op ~INPUT_PICKUP~ om schapenwol te verzamelen',
- ['dd_fabric'] = 'kleding stof',
- ['dd_makefabric'] = 'Druk op ~INPUT_PICKUP~ om van wol kleding stof te maken',
- ['dd_clothing'] = 'Kleding',
- ['dd_makeclothing'] = 'Druk op ~INPUT_PICKUP~ om kleding te maken',
- ['dd_deliver_clothes'] = 'Druk op ~INPUT_PICKUP~ om kleding af te leveren',
-}
-
\ No newline at end of file
diff --git a/[esx_addons]/esx_jobs/locales/si.lua b/[esx_addons]/esx_jobs/locales/si.lua
deleted file mode 100644
index d2a4d33e..00000000
--- a/[esx_addons]/esx_jobs/locales/si.lua
+++ /dev/null
@@ -1,119 +0,0 @@
-Locales['si'] = {
- -- Globalni meniji
- ['cloakroom'] = 'garderoba',
- ['cloak_change'] = "pritisnite [E], da se preoblečete.",
- ['citizen_wear'] = 'civilna oblačila',
- ['job_wear'] = 'delavska oblačila',
- ['bank_deposit_returned'] = 'vrnjen vam je bil varnostni depozit v višini $%s.',
- ['bank_deposit_taken'] = 'od vas je bil prevzet varnostni depozit v višini $%s.',
- ['caution_afford'] = 'ne morete si privoščiti varščine v višini $%s',
- ['foot_work'] = 'da lahko delate, morate hoditi peš.',
- ['next_point'] = 'pojdi na naslednji korak, ko zaključiš tega.',
- ['not_your_vehicle'] = 'niste voznik tega vozila',
- ['in_vehicle'] = 'morate sedeti v vozilu.',
- ['wrong_point'] = 'niste na pravem mestu dostave',
- ['onduty'] = "Ste v službi!",
- ['offduty'] = "Ste izven službe!",
- ['no_male_clothing'] = "Opozorilo: Delo nima moških oblačil!",
- ['no_female_clothing'] = "Opozorilo: Job nima ženskih oblačil!",
- ['max_limit'] = "ne morete nositi več %s",
- ['not_enough'] = "za nadaljevanje te naloge nimate dovolj %s.",
- ['spawn_veh'] = 'spawn vehicle',
- ['spawn_veh_button'] = 'pritisnite [E], da pokličete dostavno vozilo.',
- ['spawn_truck_button'] = 'pritisnite [E], da prikličete tovornjak.',
- ['spawn_blocked'] = 'vozilo blokira točko izločanja!',
- ['service_vh'] = 'servisno vozilo',
- ['return_vh'] = 'vrnitev vozila',
- ['return_vh_button'] = 'pritisnite [E] za vrnitev vozila.',
- ['delivery_point'] = 'mesto dostave',
- ['delivery'] = 'dostava',
- ['public_enter'] = "pritisnite [E] za vstop v stavbo.",
- ['public_leave'] = "pritisnite [E], da greste do vhoda v stavbo.",
-
- -- delovno mesto za podajalca lesa
- ['lj_locker_room'] = "drvarjeva garderoba",
- ['lj_mapblip'] = 'kup lesa',
- ['lj_wood'] = 'les',
- ['lj_pickup'] = "pritisnite [E] za pobiranje lesa.",
- ['lj_woodcutting'] = 'rezanje lesa',
- ['lj_cutwood_button'] = 'pritisnite [E] za rezanje lesa.',
- ['lj_board'] = 'deske',
- ['lj_planks'] = 'paketna plošča',
- ['lj_cutwood'] = 'reži les',
- ['lj_pick_boards'] = 'pritisnite [E] za pobiranje desk.',
- ['lj_deliver_button'] = 'pritisnite [E] za dostavo desk.',
-
- -- ribič
- ['fm_fish_locker'] = 'garderoba ribiča',
- ['fm_fish'] = 'ribe',
- ['fm_fish_area'] = 'območje ribolova',
- ['fm_fish_button'] = 'pritisnite [E] za ribolov.',
- ['fm_spawnboat_title'] = 'drstilna ladja',
- ['fm_spawnboat'] = 'pritisnite [E], da prikličete čoln',
- ['fm_boat_title'] = 'čoln',
- ['fm_boat_return_title'] = 'vrnitev čolna',
- ['fm_boat_return_button'] = "pritisnite [E] za vrnitev čolna.",
- ['fm_deliver_fish'] = 'pritisnite [E] za dostavo rib.',
-
- -- gorivo
- ['f_oil_refiner'] = 'omara za rafiniranje nafte',
- ['f_drill_oil'] = 'vrtanje za nafto',
- ['f_fuel'] = 'nafta',
- ['f_drillbutton'] = 'pritisnite [E] za vrtanje.',
- ['f_fuel_refine'] = 'rafinirati nafto',
- ['f_refine_fuel_button'] = 'pritisni [E] za rafiniranje.',
- ['f_fuel_mixture'] = 'zmešaj rafinirano olje',
- ['f_gas'] = 'plin',
- ['f_fuel_mixture_button'] = 'pritisnite [E] za mešanje olja.',
- ['f_deliver_gas'] = 'dostavi plin',
- ['f_deliver_gas_button'] = 'pritisnite [E] za dostavo bencina.',
-
- -- rudar
- ['m_miner_locker'] = 'rudarjeva garderoba',
- ['m_rock'] = 'kamen',
- ['m_pickrocks'] = 'pritisnite [E] za dostavo kamenja.',
- ['m_washrock'] = 'pranje kamenja',
- ['m_rock_button'] = 'pritisnite [E], da operete skale.',
- ['m_rock_smelting'] = 'taljenje kamenja',
- ['m_copper'] = 'baker',
- ['m_sell_copper'] = 'prodajalec bakra',
- ['m_deliver_copper'] = 'pritisnite [E] za dostavo bakra.',
- ['m_iron'] = 'železo',
- ['m_sell_iron'] = 'prodajalec železa',
- ['m_deliver_iron'] = 'pritisnite [E], da dostavite železo',
- ['m_gold'] = 'zlato',
- ['m_sell_gold'] = 'prodajalec zlata',
- ['m_deliver_gold'] = 'pritisnite [E] za dostavo zlata',
- ['m_diamond'] = 'diamant',
- ['m_sell_diamond'] = 'prodajalec diamantov',
- ['m_deliver_diamond'] = 'pritisnite [E] za dostavo diamantov',
- ['m_melt_button'] = 'pritisnite [E] za taljenje kamnov.',
-
- -- Reporter
- ['ime_poročevalca'] = 'san Andreas Times',
- ['reporter_garage'] = 'pritisnite [E], da se spustite v garažo.',
-
- -- klavec
- ['s_slaughter_locker'] = 'mesarjeva garderoba',
- ['s_hen'] = 'kokošnjak',
- ['s_alive_chicken'] = 'živi piščanec',
- ['s_catch_hen'] = 'pritisnite [E] za lovljenje živih piščancev.',
- ['s_slaughtered_chicken'] = 'piščanec za pakiranje',
- ['s_chop_animal'] = 'pritisnite [E], da razkosate piščance',
- ['s_slaughtered'] = 'klavnica',
- ['s_package'] = 'pakiranje',
- ['s_packagechicken'] = 'piščanec v pladnju',
- ['s_unpackaged'] = "piščanec za pakiranje",
- ['s_unpackaged_button'] = 'pritisnite [E], da piščanca postavite na pladenj.',
- ['s_deliver'] = "pritisnite [E], da dostavite piščančje pladnje.",
-
- -- Oblikovalec oblačil
- ['dd_dress_locker'] = 'garderoba oblikovalca',
- ['dd_wool'] = 'volna',
- ['dd_pickup'] = 'pritisnite [E] za prevzem volne.',
- ['dd_fabric'] = 'tkanina',
- ['dd_makefabric'] = 'pritisnite [E] za izdelavo tkanine.',
- ['dd_clothing'] = 'oblačila',
- ['dd_makeclothing'] = 'pritisnite [E], da pridobite oblačila.',
- ['dd_deliver_clothes'] = 'pritisnite [E], da dostavite oblačila.',
-}
diff --git a/[esx_addons]/esx_jobs/locales/sv.lua b/[esx_addons]/esx_jobs/locales/sv.lua
deleted file mode 100644
index 1f839554..00000000
--- a/[esx_addons]/esx_jobs/locales/sv.lua
+++ /dev/null
@@ -1,115 +0,0 @@
-Locales['sv'] = {
- -- Global menus
- ['cloakroom'] = 'omklädningsrum',
- ['cloak_change'] = 'tryck ~INPUT_PICKUP~ för att byta kläder.',
- ['citizen_wear'] = 'civilkläder',
- ['job_wear'] = 'arbetskläder',
- ['bank_deposit_returned'] = 'en deposition på %s SEK har återvänts till dig.',
- ['bank_deposit_taken'] = 'en deposition på ~r~%s SEK togs från dig.',
- ['caution_afford'] = 'you cannot afford the caution of $%s',
- ['foot_work'] = 'du måste vara till fots för att kunna arbeta.',
- ['next_point'] = 'gå till nästa steg efter att du har avslutat här.',
- ['not_your_vehicle'] = 'det här är inte ditt fordon eller så måste du vara föraren.',
- ['in_vehicle'] = 'du måste sitta i ett fordon!',
- ['wrong_point'] = 'du är inte på rätt leveranspunkt!',
- ['max_limit'] = 'du kan inte bära mer %s',
- ['not_enough'] = 'du har inte tillräckligt med %s för att fortsätta denna uppgift.',
- ['spawn_veh'] = 'spawna fordon',
- ['spawn_veh_button'] = 'tryck ~INPUT_PICKUP~ för att ringa leveransfordonet.',
- ['spawn_truck_button'] = 'tryck ~INPUT_PICKUP~ för att spawna bilen.',
- ['spawn_blocked'] = 'ett fordon blockerar spawnpointen!',
- ['service_vh'] = 'service fordon',
- ['return_vh'] = 'lämna service fordon',
- ['return_vh_button'] = 'tryck ~INPUT_PICKUP~ för att ge tillbaka fordonet.',
- ['delivery_point'] = 'leveranspunkt',
- ['delivery'] = 'leverans',
- ['public_enter'] = 'tryck ~INPUT_PICKUP~ för att gå in i byggnaden.',
- ['public_leave'] = 'tryck ~INPUT_PICKUP~ för att lämna byggnaden.',
-
- -- Lumber Jack job
- ['lj_locker_room'] = 'skogshuggare omklädningsrum',
- ['lj_mapblip'] = 'trähög',
- ['lj_wood'] = 'träd',
- ['lj_pickup'] = 'tryck ~INPUT_PICKUP~ för att hämta trä.',
- ['lj_woodcutting'] = 'trädfällning',
- ['lj_cutwood_button'] = 'tryck ~INPUT_PICKUP~ för att hugga trä.',
- ['lj_board'] = 'brädor',
- ['lj_planks'] = 'brädpaket',
- ['lj_cutwood'] = 'hugg trä',
- ['lj_pick_boards'] = 'tryck ~INPUT_PICKUP~ för att hämta brädorna.',
- ['lj_deliver_button'] = 'tryck ~INPUT_PICKUP~ för att sälja brädorna.',
-
- -- Fisherman
- ['fm_fish_locker'] = 'fiskarens omklädningsrum',
- ['fm_fish'] = 'fisk',
- ['fm_fish_area'] = 'fiskeoområde',
- ['fm_fish_button'] = 'tryck ~INPUT_PICKUP~ för att fiska.',
- ['fm_spawnboat_title'] = 'spawn boat',
- ['fm_spawnboat'] = 'tryck ~INPUT_PICKUP~ för att spawna båten.',
- ['fm_boat_title'] = 'båt',
- ['fm_boat_return_title'] = 'lämna tillbaka båt',
- ['fm_boat_return_button'] = 'tryck ~INPUT_PICKUP~ för att återvända båten.',
- ['fm_deliver_fish'] = 'tryck ~INPUT_PICKUP~ för att sälja fisk.',
-
- -- Fuel
- ['f_oil_refiner'] = 'ojeraffinaderi Omklädningsrum',
- ['f_drill_oil'] = 'borra efter olja',
- ['f_fuel'] = 'olja',
- ['f_drillbutton'] = 'tryck ~INPUT_PICKUP~ för att borra efter olja.',
- ['f_fuel_refine'] = 'raffinera oljan',
- ['f_refine_fuel_button'] = 'tryck ~INPUT_PICKUP~ för att raffinera olja.',
- ['f_fuel_mixture'] = 'blanda raffinerad olja',
- ['f_gas'] = 'gas',
- ['f_fuel_mixture_button'] = 'tryck ~INPUT_PICKUP~ för att mixa olja.',
- ['f_deliver_gas'] = 'leverera gas',
- ['f_deliver_gas_button'] = 'tryck ~INPUT_PICKUP~ för att sälja bensin.',
-
- -- Miner
- ['m_miner_locker'] = 'Gruvarbetarnas Omklädningsrum',
- ['m_rock'] = 'sten',
- ['m_pickrocks'] = 'tryck ~INPUT_PICKUP~ för att hämta sten.',
- ['m_washrock'] = 'sten tvättning',
- ['m_rock_button'] = 'tryck ~INPUT_PICKUP~ för att tvätta sten.',
- ['m_rock_smelting'] = 'stensmältning',
- ['m_copper'] = 'koppar',
- ['m_sell_copper'] = 'kopparsäljare',
- ['m_deliver_copper'] = 'tryck ~INPUT_PICKUP~ för att sälja koppar.',
- ['m_iron'] = 'järn',
- ['m_sell_iron'] = 'järnsäljare',
- ['m_deliver_iron'] = 'tryck ~INPUT_PICKUP~ för att sälja järn.',
- ['m_gold'] = 'guld',
- ['m_sell_gold'] = 'guldsäljare',
- ['m_deliver_gold'] = 'tryck ~INPUT_PICKUP~ för att sälja guld.',
- ['m_diamond'] = 'diamant',
- ['m_sell_diamond'] = 'diamantsäljare',
- ['m_deliver_diamond'] = 'tryck ~INPUT_PICKUP~ för att sälja diamant.',
- ['m_melt_button'] = 'tryck ~INPUT_PICKUP~ för att smälta sten.',
-
- -- Reporter
- ['reporter_name'] = 'aftonbladet',
- ['reporter_garage'] = 'tryck ~INPUT_PICKUP~ för att gå ner till garaget.',
-
- -- Slaughterer
- ['s_slaughter_locker'] = 'slaktarens omklädningsrum',
- ['s_hen'] = 'hönshus',
- ['s_alive_chicken'] = 'levande Kyckling',
- ['s_catch_hen'] = 'tryck ~INPUT_PICKUP~ för att fånga en kyckling.',
- ['s_slaughtered_chicken'] = 'kyckling som ska packas',
- ['s_chop_animal'] = 'tryck ~INPUT_PICKUP~ för att slakta kycklingar.',
- ['s_slaughtered'] = 'slaktarhus',
- ['s_package'] = 'förpackning',
- ['s_packagechicken'] = 'kyckling i förpackning',
- ['s_unpackaged'] = 'kyckling väntar på att förpackas',
- ['s_unpackaged_button'] = 'tryck ~INPUT_PICKUP~ för att packa kycklingen.',
- ['s_deliver'] = 'tryck ~INPUT_PICKUP~ för att sälja kycklingsförpackningar.',
-
- -- Dress Designer
- ['dd_dress_locker'] = 'Klädesdesigners omklädningsrum',
- ['dd_wool'] = 'ull',
- ['dd_pickup'] = 'tryck ~INPUT_PICKUP~ för att skörda ull.',
- ['dd_fabric'] = 'tyg',
- ['dd_makefabric'] = 'tryck ~INPUT_PICKUP~ för att framställa tyg.',
- ['dd_clothing'] = 'plagg',
- ['dd_makeclothing'] = 'tryck ~INPUT_PICKUP~ för att hämta kläder.',
- ['dd_deliver_clothes'] = 'tryck ~INPUT_PICKUP~ för att sälja plagg.',
-}
diff --git a/[esx_addons]/esx_jobs/localization/br_esx_jobs.sql b/[esx_addons]/esx_jobs/localization/br_esx_jobs.sql
deleted file mode 100644
index 9ac91f3b..00000000
--- a/[esx_addons]/esx_jobs/localization/br_esx_jobs.sql
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('caution', 'Deposito', 0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('slaughterer', 'Abatedor'),
- ('fisherman', 'Pescador'),
- ('miner', 'Minerador'),
- ('lumberjack', 'Lenhador'),
- ('fueler', 'Refinador'),
- ('reporter', 'Jornalista'),
- ('tailor', 'Costureiro')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('lumberjack', 0, 'employee', 'Temporario', 0, '{}', '{}'),
- ('fisherman', 0, 'employee', 'Temporario', 0, '{}', '{}'),
- ('fueler', 0, 'employee', 'Temporario', 0, '{}', '{}'),
- ('reporter', 0, 'employee', 'Temporario', 0, '{}', '{}'),
- ('tailor',0, 'employee','Temporario',0,'{\"mask_1\":0,\"arms\":1,\"glasses_1\":0,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":0,\"torso_1\":24,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":0,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":0,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":36,\"tshirt_2\":0,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":48,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}','{\"mask_1\":0,\"arms\":5,\"glasses_1\":5,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":1,\"torso_1\":52,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":1,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":23,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":42,\"tshirt_2\":4,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":36,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}'),
- ('miner', 0, 'employee', 'Temporario', 0, '{"tshirt_2":1,"ears_1":8,"glasses_1":15,"torso_2":0,"ears_2":2,"glasses_2":3,"shoes_2":1,"pants_1":75,"shoes_1":51,"bags_1":0,"helmet_2":0,"pants_2":7,"torso_1":71,"tshirt_1":59,"arms":2,"bags_2":0,"helmet_1":0}', '{}'),
- ('slaughterer',0,'employee','Temporario',0,'{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":67,\"pants_1\":36,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":0,\"torso_1\":56,\"beard_2\":6,\"shoes_1\":12,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":15,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":0,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}','{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":72,\"pants_1\":45,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":1,\"torso_1\":49,\"beard_2\":6,\"shoes_1\":24,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":9,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":5,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}')
-;
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('alive_chicken', 'Frango Vivo', 1),
- ('slaughtered_chicken', 'Frango Abatido', 1),
- ('packaged_chicken', 'Frango na Bandeja', 1),
- ('fish', 'Peixe', 1),
- ('stone', 'Pedra', 1),
- ('washed_stone', 'Pedra Limpa', 1),
- ('copper', 'Cobre', 1),
- ('iron', 'Ferro', 1),
- ('gold', 'Ouro', 1),
- ('diamond', 'Diamante', 1),
- ('wood', 'Madeira', 1),
- ('cutted_wood', 'Madeira Cortada', 1),
- ('packaged_plank', 'Tábua Embalada', 1),
- ('petrol', 'Petroleo', 1),
- ('petrol_raffin', 'Petroleo Refinado', 1),
- ('essence', 'Gasolina', 1),
- ('wool', 'Lã', 1),
- ('fabric', 'Tecido', 1),
- ('clothe', 'Roupa', 1)
-;
diff --git a/[esx_addons]/esx_jobs/localization/de_esx_jobs.sql b/[esx_addons]/esx_jobs/localization/de_esx_jobs.sql
deleted file mode 100644
index 69f77184..00000000
--- a/[esx_addons]/esx_jobs/localization/de_esx_jobs.sql
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('caution', 'Caution', 0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('slaughterer', 'Schlachterei'),
- ('fisherman', 'Fischerei'),
- ('miner', 'Bergbau'),
- ('lumberjack', 'Holzbetrieb'),
- ('fueler', 'Raffinerie'),
- ('reporter', 'Kanal 7'),
- ('tailor', 'Schneiderei')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('lumberjack', 0, 'employee', 'Mitarbeiter', 0, '{}', '{}'),
- ('fisherman', 0, 'employee', 'Mitarbeiter', 0, '{}', '{}'),
- ('fueler', 0, 'employee', 'Mitarbeiter', 0, '{}', '{}'),
- ('reporter', 0, 'employee', 'Mitarbeiter', 0, '{}', '{}'),
- ('tailor', 0, 'employee', 'Mitarbeiter', 0,'{\"mask_1\":0,\"arms\":1,\"glasses_1\":0,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":0,\"torso_1\":24,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":0,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":0,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":36,\"tshirt_2\":0,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":48,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}','{\"mask_1\":0,\"arms\":5,\"glasses_1\":5,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":1,\"torso_1\":52,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":1,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":23,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":42,\"tshirt_2\":4,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":36,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}'),
- ('miner', 0, 'employee', 'Mitarbeiter', 0, '{"tshirt_2":1,"ears_1":8,"glasses_1":15,"torso_2":0,"ears_2":2,"glasses_2":3,"shoes_2":1,"pants_1":75,"shoes_1":51,"bags_1":0,"helmet_2":0,"pants_2":7,"torso_1":71,"tshirt_1":59,"arms":2,"bags_2":0,"helmet_1":0}', '{}'),
- ('slaughterer',0,'employee','Mitarbeiter', 0,'{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":67,\"pants_1\":36,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":0,\"torso_1\":56,\"beard_2\":6,\"shoes_1\":12,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":15,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":0,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}','{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":72,\"pants_1\":45,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":1,\"torso_1\":49,\"beard_2\":6,\"shoes_1\":24,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":9,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":5,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}')
-;
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('alive_chicken', 'lebendes Huhn', 1),
- ('slaughtered_chicken', 'geschlachtetes Huhn', 1),
- ('packaged_chicken', 'Hähnchenfilet', 1),
- ('fish', 'Fisch', 1),
- ('stone', 'Felsbrocken', 1),
- ('washed_stone', 'gewaschener Felsbrocken', 1),
- ('copper', 'Kupfer', 1),
- ('iron', 'Eisen', 1),
- ('gold', 'Gold', 1),
- ('diamond', 'Diamant', 1),
- ('wood', 'Holz', 1),
- ('cutted_wood', 'Holzstämme', 1),
- ('packaged_plank', 'Bretterpaket', 1),
- ('petrol', 'Öl', 1),
- ('petrol_raffin', 'bearbeitetes Öl', 1),
- ('essence', 'Benzin', 1),
- ('wool', 'Wolle', 1),
- ('fabric', 'Tuch', 1),
- ('clothe', 'Kleidung', 1)
-;
diff --git a/[esx_addons]/esx_jobs/localization/en_esx_jobs.sql b/[esx_addons]/esx_jobs/localization/en_esx_jobs.sql
deleted file mode 100644
index 3fd484cf..00000000
--- a/[esx_addons]/esx_jobs/localization/en_esx_jobs.sql
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('caution', 'caution', 0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('slaughterer', 'Butcher'),
- ('fisherman', 'Fisherman'),
- ('miner', 'Miner'),
- ('lumberjack', 'Lumberjack'),
- ('fueler', 'Fueler'),
- ('reporter', 'Reporter'),
- ('tailor', 'Tailor')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('lumberjack', 0, 'employee', 'Employee', 0, '{}', '{}'),
- ('fisherman', 0, 'employee', 'Employee', 0, '{}', '{}'),
- ('fueler', 0, 'employee', 'Employee', 0, '{}', '{}'),
- ('reporter', 0, 'employee', 'Employee', 0, '{}', '{}'),
- ('tailor', 0, 'employee', 'Employee', 0, '{\"mask_1\":0,\"arms\":1,\"glasses_1\":0,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":0,\"torso_1\":24,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":0,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":0,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":36,\"tshirt_2\":0,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":48,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}','{\"mask_1\":0,\"arms\":5,\"glasses_1\":5,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":1,\"torso_1\":52,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":1,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":23,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":42,\"tshirt_2\":4,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":36,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}'),
- ('miner', 0, 'employee', 'Employee', 0, '{"tshirt_2":1,"ears_1":8,"glasses_1":15,"torso_2":0,"ears_2":2,"glasses_2":3,"shoes_2":1,"pants_1":75,"shoes_1":51,"bags_1":0,"helmet_2":0,"pants_2":7,"torso_1":71,"tshirt_1":59,"arms":2,"bags_2":0,"helmet_1":0}', '{}'),
- ('slaughterer', 0, 'employee', 'Employee', 0, '{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":67,\"pants_1\":36,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":0,\"torso_1\":56,\"beard_2\":6,\"shoes_1\":12,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":15,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":0,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}','{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":72,\"pants_1\":45,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":1,\"torso_1\":49,\"beard_2\":6,\"shoes_1\":24,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":9,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":5,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}')
-;
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('alive_chicken', 'Living chicken', 1),
- ('slaughtered_chicken', 'Slaughtered chicken', 1),
- ('packaged_chicken', 'Chicken fillet', 1),
- ('fish', 'Fish', 1),
- ('stone', 'Stone', 1),
- ('washed_stone', 'Washed stone', 1),
- ('copper', 'Copper', 1),
- ('iron', 'Iron', 1),
- ('gold', 'Gold', 1),
- ('diamond', 'Diamond', 1),
- ('wood', 'Wood', 1),
- ('cutted_wood', 'Cut wood', 1),
- ('packaged_plank', 'Packaged wood', 1),
- ('petrol', 'Oil', 1),
- ('petrol_raffin', 'Processed oil', 1),
- ('essence', 'Gas', 1),
- ('wool', 'Wool', 1),
- ('fabric', 'Fabric', 1),
- ('clothe', 'Cloth', 1)
-;
diff --git a/[esx_addons]/esx_jobs/localization/es_esx_jobs.sql b/[esx_addons]/esx_jobs/localization/es_esx_jobs.sql
deleted file mode 100644
index 900741c1..00000000
--- a/[esx_addons]/esx_jobs/localization/es_esx_jobs.sql
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('caution', 'Precaución', 0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('slaughterer', 'Carnicero'),
- ('fisherman', 'Pescador'),
- ('miner', 'Minero'),
- ('lumberjack', 'Leñador'),
- ('fueler', 'Camionero'),
- ('reporter', 'Repartidor'),
- ('tailor', 'Sastre')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('lumberjack', 0, 'employee', 'Trabajador', 0, '{}', '{}'),
- ('fisherman', 0, 'employee', 'Trabajador', 0, '{}', '{}'),
- ('fueler', 0, 'employee', 'Trabajador', 0, '{}', '{}'),
- ('reporter', 0, 'employee', 'Trabajador', 0, '{}', '{}'),
- ('tailor', 0, 'employee', 'Trabajador', 0, '{\"mask_1\":0,\"arms\":1,\"glasses_1\":0,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":0,\"torso_1\":24,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":0,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":0,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":36,\"tshirt_2\":0,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":48,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}','{\"mask_1\":0,\"arms\":5,\"glasses_1\":5,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":1,\"torso_1\":52,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":1,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":23,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":42,\"tshirt_2\":4,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":36,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}'),
- ('miner', 0, 'employee', 'Trabajador', 0, '{"tshirt_2":1,"ears_1":8,"glasses_1":15,"torso_2":0,"ears_2":2,"glasses_2":3,"shoes_2":1,"pants_1":75,"shoes_1":51,"bags_1":0,"helmet_2":0,"pants_2":7,"torso_1":71,"tshirt_1":59,"arms":2,"bags_2":0,"helmet_1":0}', '{}'),
- ('slaughterer', 0, 'employee', 'Trabajador', 0, '{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":67,\"pants_1\":36,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":0,\"torso_1\":56,\"beard_2\":6,\"shoes_1\":12,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":15,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":0,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}','{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":72,\"pants_1\":45,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":1,\"torso_1\":49,\"beard_2\":6,\"shoes_1\":24,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":9,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":5,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}')
-;
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('alive_chicken', 'Pollo vivo', 1),
- ('slaughtered_chicken', 'Pollo sacrificado', 1),
- ('packaged_chicken', 'Filete de pollo', 1),
- ('fish', 'Pez', 1),
- ('stone', 'Piedra', 1),
- ('washed_stone', 'Piedra pulida', 1),
- ('copper', 'Cobre', 1),
- ('iron', 'Hierro', 1),
- ('gold', 'Oro', 1),
- ('diamond', 'Diamante', 1),
- ('wood', 'Madera', 1),
- ('cutted_wood', 'Madera cortada', 1),
- ('packaged_plank', 'Madera empaquetada', 1),
- ('petrol', 'Gasolina', 1),
- ('petrol_raffin', 'Gasolina destilada', 1),
- ('essence', 'Gas', 1),
- ('wool', 'Lana', 1),
- ('fabric', 'Tela', 1),
- ('clothe', 'Paño', 1)
-;
diff --git a/[esx_addons]/esx_jobs/localization/fi_esx_jobs.sql b/[esx_addons]/esx_jobs/localization/fi_esx_jobs.sql
deleted file mode 100644
index b66f1c4f..00000000
--- a/[esx_addons]/esx_jobs/localization/fi_esx_jobs.sql
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('caution', 'caution', 0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('slaughterer', 'Teurastaja'),
- ('fisherman', 'Kalastaja'),
- ('miner', 'Kaivostyöläinen'),
- ('lumberjack', 'Metsuri'),
- ('fueler', 'Öljynjalostaja'),
- ('reporter', 'Journalisti'),
- ('tailor', 'Räätäli')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('lumberjack', 0, 'interim', 'Työläinen', 0, '{}', '{}'),
- ('fisherman', 0, 'interim', 'Työläinen', 0, '{}', '{}'),
- ('fueler', 0, 'interim', 'Työläinen', 0, '{}', '{}'),
- ('reporter', 0, 'employee', 'Työläinen', 0, '{}', '{}'),
- ('tailor', 0, 'interim', 'Työläinen', 0, '{\"mask_1\":0,\"arms\":1,\"glasses_1\":0,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":0,\"torso_1\":24,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":0,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":0,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":36,\"tshirt_2\":0,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":48,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}','{\"mask_1\":0,\"arms\":5,\"glasses_1\":5,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":1,\"torso_1\":52,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":1,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":23,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":42,\"tshirt_2\":4,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":36,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}'),
- ('miner', 0, 'interim', 'Työläinen', 0, '{"tshirt_2":1,"ears_1":8,"glasses_1":15,"torso_2":0,"ears_2":2,"glasses_2":3,"shoes_2":1,"pants_1":75,"shoes_1":51,"bags_1":0,"helmet_2":0,"pants_2":7,"torso_1":71,"tshirt_1":59,"arms":2,"bags_2":0,"helmet_1":0}', '{}'),
- ('slaughterer', 0, 'interim', 'Työläinen', 0, '{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":67,\"pants_1\":36,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":0,\"torso_1\":56,\"beard_2\":6,\"shoes_1\":12,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":15,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":0,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}','{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":72,\"pants_1\":45,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":1,\"torso_1\":49,\"beard_2\":6,\"shoes_1\":24,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":9,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":5,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}')
-;
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('alive_chicken', 'Elävä kana', 1),
- ('slaughtered_chicken', 'Teurastettu kana', 1),
- ('packaged_chicken', 'Kananfilee', 1),
- ('fish', 'Kala', 1),
- ('stone', 'Kivi', 1),
- ('washed_stone', 'Puhdistettu Kivi', 1),
- ('copper', 'Kupari', 1),
- ('iron', 'Rauta', 1),
- ('gold', 'Kulta', 1),
- ('diamond', 'Timantti', 1),
- ('wood', 'Puu', 1),
- ('cutted_wood', 'Pilkottu Puu', 1),
- ('packaged_plank', 'Paketoitu Lankku', 1),
- ('petrol', 'Öljy', 1),
- ('petrol_raffin', 'Prosessoitu Öljy', 1),
- ('essence', 'Polttoöljy', 1),
- ('wool', 'Villa', 1),
- ('fabric', 'Kangas', 1),
- ('clothe', 'Vaate', 1)
-;
diff --git a/[esx_addons]/esx_jobs/localization/hu_esx_jobs.sql b/[esx_addons]/esx_jobs/localization/hu_esx_jobs.sql
deleted file mode 100644
index f83f8386..00000000
--- a/[esx_addons]/esx_jobs/localization/hu_esx_jobs.sql
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('caution', 'caution', 0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('slaughterer', 'Hentes'),
- ('fisherman', 'Halász'),
- ('miner', 'Bányász'),
- ('lumberjack', 'Favágó'),
- ('fueler', 'Üzemanyagtöltő'),
- ('reporter', 'Riporter'),
- ('tailor', 'Szabó')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('lumberjack', 0, 'employee', 'Munkavállaló', 0, '{}', '{}'),
- ('fisherman', 0, 'employee', 'Munkavállaló', 0, '{}', '{}'),
- ('fueler', 0, 'employee', 'Munkavállaló', 0, '{}', '{}'),
- ('reporter', 0, 'employee', 'Munkavállaló', 0, '{}', '{}'),
- ('tailor', 0, 'employee', 'Munkavállaló', 0, '{\"mask_1\":0,\"arms\":1,\"glasses_1\":0,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":0,\"torso_1\":24,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":0,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":0,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":36,\"tshirt_2\":0,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":48,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}','{\"mask_1\":0,\"arms\":5,\"glasses_1\":5,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":1,\"torso_1\":52,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":1,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":23,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":42,\"tshirt_2\":4,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":36,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}'),
- ('miner', 0, 'employee', 'Munkavállaló', 0, '{"tshirt_2":1,"ears_1":8,"glasses_1":15,"torso_2":0,"ears_2":2,"glasses_2":3,"shoes_2":1,"pants_1":75,"shoes_1":51,"bags_1":0,"helmet_2":0,"pants_2":7,"torso_1":71,"tshirt_1":59,"arms":2,"bags_2":0,"helmet_1":0}', '{}'),
- ('slaughterer', 0, 'employee', 'Munkavállaló', 0, '{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":67,\"pants_1\":36,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":0,\"torso_1\":56,\"beard_2\":6,\"shoes_1\":12,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":15,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":0,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}','{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":72,\"pants_1\":45,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":1,\"torso_1\":49,\"beard_2\":6,\"shoes_1\":24,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":9,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":5,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}')
-;
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('alive_chicken', 'Élő csirke', 1),
- ('slaughtered_chicken', 'Levágott csirke', 1),
- ('packaged_chicken', 'Csirkefilé', 1),
- ('fish', 'Hal', 1),
- ('stone', 'Kő', 1),
- ('washed_stone', 'Mosott kő', 1),
- ('copper', 'Réz', 1),
- ('iron', 'Vas', 1),
- ('gold', 'Arany', 1),
- ('diamond', 'Gyémánt', 1),
- ('wood', 'Fa', 1),
- ('cutted_wood', 'Vágott fa', 1),
- ('packaged_plank', 'Csomagolt wood', 1),
- ('petrol', 'Olaj', 1),
- ('petrol_raffin', 'Feldolgozott oil', 1),
- ('essence', 'Gáz', 1),
- ('wool', 'Gyapjú', 1),
- ('fabric', 'Szövet', 1),
- ('clothe', 'Ruha', 1)
-;
diff --git a/[esx_addons]/esx_jobs/localization/si_esx_jobs.sql b/[esx_addons]/esx_jobs/localization/si_esx_jobs.sql
deleted file mode 100644
index 88f0c0bc..00000000
--- a/[esx_addons]/esx_jobs/localization/si_esx_jobs.sql
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('caution', 'caution', 0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('slaughterer', 'Mesar'),
- ('fisherman', 'Ribic'),
- ('miner', 'Rudar'),
- ('lumberjack', 'Gozdar'),
- ('fueler', 'Gorivnik'),
- ('reporter', 'Novinar'),
- ('tailor', 'Krojac')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('lumberjack', 0, 'employee', 'Delavec', 0, '{}', '{}'),
- ('fisherman', 0, 'employee', 'Delavec', 0, '{}', '{}'),
- ('fueler', 0, 'employee', 'Delavec', 0, '{}', '{}'),
- ('reporter', 0, 'employee', 'Delavec', 0, '{}', '{}'),
- ('tailor', 0, 'employee', 'Delavec', 0, '{\"mask_1\":0,\"arms\":1,\"glasses_1\":0,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":0,\"torso_1\":24,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":0,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":0,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":36,\"tshirt_2\":0,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":48,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}','{\"mask_1\":0,\"arms\":5,\"glasses_1\":5,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":1,\"torso_1\":52,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":1,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":23,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":42,\"tshirt_2\":4,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":36,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}'),
- ('miner', 0, 'employee', 'Delavec', 0, '{"tshirt_2":1,"ears_1":8,"glasses_1":15,"torso_2":0,"ears_2":2,"glasses_2":3,"shoes_2":1,"pants_1":75,"shoes_1":51,"bags_1":0,"helmet_2":0,"pants_2":7,"torso_1":71,"tshirt_1":59,"arms":2,"bags_2":0,"helmet_1":0}', '{}'),
- ('slaughterer', 0, 'employee', 'Delavec', 0, '{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":67,\"pants_1\":36,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":0,\"torso_1\":56,\"beard_2\":6,\"shoes_1\":12,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":15,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":0,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}','{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":72,\"pants_1\":45,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":1,\"torso_1\":49,\"beard_2\":6,\"shoes_1\":24,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":9,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":5,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}')
-;
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('alive_chicken', 'Living chicken', 1),
- ('slaughtered_chicken', 'Slaughtered chicken', 1),
- ('packaged_chicken', 'Chicken fillet', 1),
- ('fish', 'Fish', 1),
- ('stone', 'Stone', 1),
- ('washed_stone', 'Washed stone', 1),
- ('copper', 'Copper', 1),
- ('iron', 'Iron', 1),
- ('gold', 'Gold', 1),
- ('diamond', 'Diamond', 1),
- ('wood', 'Wood', 1),
- ('cutted_wood', 'Cut wood', 1),
- ('packaged_plank', 'Packaged wood', 1),
- ('petrol', 'Oil', 1),
- ('petrol_raffin', 'Processed oil', 1),
- ('essence', 'Gas', 1),
- ('wool', 'Wool', 1),
- ('fabric', 'Fabric', 1),
- ('clothe', 'Cloth', 1)
-;
diff --git a/[esx_addons]/esx_jobs/localization/sv_esx_jobs.sql b/[esx_addons]/esx_jobs/localization/sv_esx_jobs.sql
deleted file mode 100644
index b7a243a3..00000000
--- a/[esx_addons]/esx_jobs/localization/sv_esx_jobs.sql
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('caution', 'caution', 0)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('slaughterer', 'Slaktare'),
- ('fisherman', 'Fiskare'),
- ('miner', 'Gruvarbetare'),
- ('lumberjack', 'Skogshuggare'),
- ('fueler', 'Bensintankare'),
- ('reporter', 'Reporter'),
- ('tailor', 'Skräddare')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('lumberjack', 0, 'employee', 'Anställd', 0, '{}', '{}'),
- ('fisherman', 0, 'employee', 'Anställd', 0, '{}', '{}'),
- ('fueler', 0, 'employee', 'Anställd', 0, '{}', '{}'),
- ('reporter', 0, 'employee', 'Anställd', 0, '{}', '{}'),
- ('tailor', 0, 'employee', 'Anställd', 0, '{\"mask_1\":0,\"arms\":1,\"glasses_1\":0,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":0,\"torso_1\":24,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":0,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":0,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":36,\"tshirt_2\":0,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":48,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}','{\"mask_1\":0,\"arms\":5,\"glasses_1\":5,\"hair_color_2\":4,\"makeup_1\":0,\"face\":19,\"glasses\":0,\"mask_2\":0,\"makeup_3\":0,\"skin\":29,\"helmet_2\":0,\"lipstick_4\":0,\"sex\":1,\"torso_1\":52,\"makeup_2\":0,\"bags_2\":0,\"chain_2\":0,\"ears_1\":-1,\"bags_1\":0,\"bproof_1\":0,\"shoes_2\":1,\"lipstick_2\":0,\"chain_1\":0,\"tshirt_1\":23,\"eyebrows_3\":0,\"pants_2\":0,\"beard_4\":0,\"torso_2\":0,\"beard_2\":6,\"ears_2\":0,\"hair_2\":0,\"shoes_1\":42,\"tshirt_2\":4,\"beard_3\":0,\"hair_1\":2,\"hair_color_1\":0,\"pants_1\":36,\"helmet_1\":-1,\"bproof_2\":0,\"eyebrows_4\":0,\"eyebrows_2\":0,\"decals_1\":0,\"age_2\":0,\"beard_1\":5,\"shoes\":10,\"lipstick_1\":0,\"eyebrows_1\":0,\"glasses_2\":0,\"makeup_4\":0,\"decals_2\":0,\"lipstick_3\":0,\"age_1\":0}'),
- ('miner', 0, 'employee', 'Anställd', 0, '{"tshirt_2":1,"ears_1":8,"glasses_1":15,"torso_2":0,"ears_2":2,"glasses_2":3,"shoes_2":1,"pants_1":75,"shoes_1":51,"bags_1":0,"helmet_2":0,"pants_2":7,"torso_1":71,"tshirt_1":59,"arms":2,"bags_2":0,"helmet_1":0}', '{}'),
- ('slaughterer', 0, 'employee', 'Anställd', 0, '{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":67,\"pants_1\":36,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":0,\"torso_1\":56,\"beard_2\":6,\"shoes_1\":12,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":15,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":0,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}','{\"age_1\":0,\"glasses_2\":0,\"beard_1\":5,\"decals_2\":0,\"beard_4\":0,\"shoes_2\":0,\"tshirt_2\":0,\"lipstick_2\":0,\"hair_2\":0,\"arms\":72,\"pants_1\":45,\"skin\":29,\"eyebrows_2\":0,\"shoes\":10,\"helmet_1\":-1,\"lipstick_1\":0,\"helmet_2\":0,\"hair_color_1\":0,\"glasses\":0,\"makeup_4\":0,\"makeup_1\":0,\"hair_1\":2,\"bproof_1\":0,\"bags_1\":0,\"mask_1\":0,\"lipstick_3\":0,\"chain_1\":0,\"eyebrows_4\":0,\"sex\":1,\"torso_1\":49,\"beard_2\":6,\"shoes_1\":24,\"decals_1\":0,\"face\":19,\"lipstick_4\":0,\"tshirt_1\":9,\"mask_2\":0,\"age_2\":0,\"eyebrows_3\":0,\"chain_2\":0,\"glasses_1\":5,\"ears_1\":-1,\"bags_2\":0,\"ears_2\":0,\"torso_2\":0,\"bproof_2\":0,\"makeup_2\":0,\"eyebrows_1\":0,\"makeup_3\":0,\"pants_2\":0,\"beard_3\":0,\"hair_color_2\":4}')
-;
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('alive_chicken', 'Levande kyckling', 1),
- ('slaughtered_chicken', 'Slaktad kyckling', 1),
- ('packaged_chicken', 'Paketerad kyckling', 1),
- ('fish', 'Fisk', 1),
- ('stone', 'Sten', 1),
- ('washed_stone', 'Tvättad sten', 1),
- ('copper', 'Koppar', 1),
- ('iron', 'Järn', 1),
- ('gold', 'Guld', 1),
- ('diamond', 'Diamant', 1),
- ('wood', 'Trä', 1),
- ('cutted_wood', 'Sågat trä', 1),
- ('packaged_plank', 'Paketerad trä', 1),
- ('petrol', 'Råolja', 1),
- ('petrol_raffin', 'Raffinerad olja', 1),
- ('essence', 'Gas', 1),
- ('wool', 'Ull', 1),
- ('fabric', 'Textil', 1),
- ('clothe', 'Tyg', 1)
-;
diff --git a/[esx_addons]/esx_jobs/server/main.lua b/[esx_addons]/esx_jobs/server/main.lua
deleted file mode 100644
index 4a493c8f..00000000
--- a/[esx_addons]/esx_jobs/server/main.lua
+++ /dev/null
@@ -1,132 +0,0 @@
-local playersWorking = {}
-
-CreateThread(function()
- while true do
- Wait(1000)
- local timeNow = os.clock()
-
- for playerId,data in pairs(playersWorking) do
- Wait(0)
- local xPlayer = ESX.GetPlayerFromId(playerId)
-
- -- is player still online?
- if xPlayer then
- local distance = #(xPlayer.getCoords(true) - data.zoneCoords)
-
- -- player still within zone limits?
- if distance <= data.zoneMaxDistance then
- -- calculate the elapsed time
- local timeElapsed = timeNow - data.time
-
- if timeElapsed > data.jobItem[1].time then
- data.time = os.clock()
-
- for k,v in ipairs(data.jobItem) do
- local itemQtty, requiredItemQtty = 0, 0
-
- if v.name ~= TranslateCap('delivery') then
- itemQtty = xPlayer.getInventoryItem(v.db_name).count
- end
-
- if data.jobItem[1].requires ~= 'nothing' then
- requiredItemQtty = xPlayer.getInventoryItem(data.jobItem[1].requires).count
- end
-
- if v.name ~= TranslateCap('delivery') and itemQtty >= v.max then
- xPlayer.showNotification(TranslateCap('max_limit', v.name))
- playersWorking[playerId] = nil
- elseif v.requires ~= 'nothing' and requiredItemQtty <= 0 then
- xPlayer.showNotification(TranslateCap('not_enough', data.jobItem[1].requires_name))
- playersWorking[playerId] = nil
- else
- if v.name ~= TranslateCap('delivery') then
- -- chances to drop the item
- if v.drop == 100 then
- xPlayer.addInventoryItem(v.db_name, v.add)
- else
- local chanceToDrop = math.random(100)
- if chanceToDrop <= v.drop then
- xPlayer.addInventoryItem(v.db_name, v.add)
- end
- end
- else
- xPlayer.addMoney(v.price, "Job Payment")
- end
- end
- end
-
- if data.jobItem[1].requires ~= 'nothing' then
- local itemToRemoveQtty = xPlayer.getInventoryItem(data.jobItem[1].requires).count
- if itemToRemoveQtty > 0 then
- xPlayer.removeInventoryItem(data.jobItem[1].requires, data.jobItem[1].remove)
- end
- end
- end
- else
- playersWorking[playerId] = nil
- end
- else
- playersWorking[playerId] = nil
- end
- end
- end
-end)
-
-RegisterServerEvent('esx_jobs:startWork', function(zoneIndex, zoneKey)
- if not playersWorking[source] then
- local xPlayer = ESX.GetPlayerFromId(source)
-
- if xPlayer then
- local jobObject = Config.Jobs[xPlayer.job.name]
-
- if jobObject then
- local jobZone = jobObject.Zones[zoneKey]
-
- if jobZone and jobZone.Item then
- playersWorking[source] = {
- jobItem = jobZone.Item,
- zoneCoords = vector3(jobZone.Pos.x, jobZone.Pos.y, jobZone.Pos.z),
- zoneMaxDistance = jobZone.Size.x,
- time = os.clock()
- }
- end
- end
- end
- end
-end)
-
-RegisterServerEvent('esx_jobs:stopWork', function()
- if playersWorking[source] then
- playersWorking[source] = nil
- end
-end)
-
-RegisterNetEvent('esx_jobs:caution', function(cautionType, cautionAmount, spawnPoint, vehicle)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- if cautionType == 'take' then
- if cautionAmount <= Config.MaxCaution and cautionAmount >= 0 then
- TriggerEvent('esx_addonaccount:getAccount', 'caution', xPlayer.identifier, function(account)
- if xPlayer.getAccount('bank').money >= cautionAmount then
- xPlayer.removeAccountMoney('bank', cautionAmount, "Caution Fine")
- account.addMoney(cautionAmount)
- xPlayer.showNotification(TranslateCap('bank_deposit_taken', ESX.Math.GroupDigits(cautionAmount)))
- TriggerClientEvent('esx_jobs:spawnJobVehicle', xPlayer.source, spawnPoint, vehicle)
- else
- xPlayer.showNotification(TranslateCap('caution_afford', ESX.Math.GroupDigits(cautionAmount)))
- end
- end)
- end
- elseif cautionType == 'give_back' then
- if cautionAmount <= 1 and cautionAmount > 0 then
- TriggerEvent('esx_addonaccount:getAccount', 'caution', xPlayer.identifier, function(account)
- local caution = account.money
- local toGive = ESX.Math.Round(caution * cautionAmount)
-
- xPlayer.addAccountMoney('bank', toGive, "Caution Return")
- account.removeMoney(toGive)
- TriggerClientEvent('esx:showNotification', source, TranslateCap('bank_deposit_returned', ESX.Math.GroupDigits(toGive)))
- end)
- end
- end
-end)
diff --git a/[esx_addons]/esx_license/.editorconfig b/[esx_addons]/esx_license/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_license/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_license/LICENSE b/[esx_addons]/esx_license/LICENSE
deleted file mode 100644
index 12aff000..00000000
--- a/[esx_addons]/esx_license/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_license/README.md b/[esx_addons]/esx_license/README.md
deleted file mode 100644
index 90cee8f9..00000000
--- a/[esx_addons]/esx_license/README.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# esx_license
-
-## Download & Installation
-
-### Using [fvm](https://github.com/qlaffont/fvm-installer)
-```
-fvm install --save --folder=esx esx-org/esx_license
-```
-
-### Using Git
-```
-cd resources
-git clone https://github.com/ESX-Org/esx_license [esx]/esx_license
-```
-
-### Manually
-- Download https://github.com/ESX-Org/esx_license/archive/master.zip
-- Put it in the `[esx]` directory
-
-## Installation
-- Import `esx_license.sql` in your database
-- Add this to your `server.cfg`:
-
-```
-start esx_license
-```
-
-### Available triggers
-- `'esx_license:addLicense', function(target, type, cb)`
-- `'esx_license:removeLicense', function(target, type, cb)`
-- `'esx_license:getLicense', function(source, cb, type)` (callback)
-- `'esx_license:getLicenses', function(source, cb, target)` (callback)
-- `'esx_license:checkLicense', function(source, cb, target, type)` (callback)
-- `'esx_license:getLicensesList', function(source, cb)` (callback)
diff --git a/[esx_addons]/esx_license/config.lua b/[esx_addons]/esx_license/config.lua
deleted file mode 100644
index 236b1f29..00000000
--- a/[esx_addons]/esx_license/config.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Config = {}
-
-Config.allowedJobs = {
- ['police'] = true
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_license/esx_license.sql b/[esx_addons]/esx_license/esx_license.sql
deleted file mode 100644
index 9cb2eb68..00000000
--- a/[esx_addons]/esx_license/esx_license.sql
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-CREATE TABLE `licenses` (
- `type` varchar(60) NOT NULL,
- `label` varchar(60) NOT NULL,
-
- PRIMARY KEY (`type`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
-
-CREATE TABLE `user_licenses` (
- `id` int NOT NULL AUTO_INCREMENT,
- `type` varchar(60) NOT NULL,
- `owner` VARCHAR(60) NOT NULL,
-
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
diff --git a/[esx_addons]/esx_license/fxmanifest.lua b/[esx_addons]/esx_license/fxmanifest.lua
deleted file mode 100644
index e515dc8a..00000000
--- a/[esx_addons]/esx_license/fxmanifest.lua
+++ /dev/null
@@ -1,14 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX License'
-lua54 'yes'
-version '1.9.0'
-
-server_scripts {
- '@es_extended/imports.lua',
- '@oxmysql/lib/MySQL.lua',
- 'config.lua',
- 'server/main.lua'
-}
diff --git a/[esx_addons]/esx_license/server/main.lua b/[esx_addons]/esx_license/server/main.lua
deleted file mode 100644
index 89f2efe8..00000000
--- a/[esx_addons]/esx_license/server/main.lua
+++ /dev/null
@@ -1,157 +0,0 @@
-local licenses = {}
-
-MySQL.ready(function()
- local p = promise.new()
- MySQL.query('SELECT type, label FROM licenses', function(result)
- licenses = result
- p:resolve(true)
- end)
- Citizen.Await(p)
- ESX.Trace('[esx_license] : ' .. #licenses .. ' Loaded.')
-end)
-
----@param identifier target identifier
----@param licenseType license type
----@param cb callback function
-local function AddLicense(identifier, licenseType, cb)
- MySQL.insert('INSERT INTO user_licenses (type, owner) VALUES (?, ?)', {licenseType, identifier}, function(rowsChanged)
- if cb then
- cb(rowsChanged)
- end
- end)
-end
-
----@param identifier target identifier
----@param licenseType license type
----@param cb callback function
-local function RemoveLicense(identifier, licenseType, cb)
- MySQL.update('DELETE FROM user_licenses WHERE type = ? AND owner = ?', {licenseType, identifier}, function(rowsChanged)
- if cb then
- cb(rowsChanged)
- end
- end)
-end
-
----@param licenseType license type
----@param cb callback function
-local function GetLicense(licenseType, cb)
- MySQL.scalar('SELECT label FROM licenses WHERE type = ?', {licenseType}, function(result)
- if cb then
- cb({type = licenseType, label = result})
- end
- end)
-end
-
----@param identifier target identifier
----@param cb callback function
-local function GetLicenses(identifier, cb)
- MySQL.query('SELECT user_licenses.type, licenses.label FROM user_licenses LEFT JOIN licenses ON user_licenses.type = licenses.type WHERE owner = ?', {identifier},
- function(result)
- if cb then
- cb(result)
- end
- end)
-end
-
----@param identifier target identifier
----@param licenseType license type
----@param cb callback function
-local function CheckLicense(identifier, licenseType, cb)
- MySQL.scalar('SELECT type FROM user_licenses WHERE type = ? AND owner = ?', {licenseType, identifier}, function(result)
- if cb then
- if result then
- cb(true)
- else
- cb(false)
- end
- end
- end)
-end
-
-local function GetLicensesList(cb)
- cb(licenses)
-end
-
-local function isValidLicense(licenseType)
- local flag = false
- for i=1,#licenses do
- if licenses[i].type == licenseType then
- flag = true
- break
- end
- end
- return flag
-end
-
-AddEventHandler('esx_license:addLicense', function(target, licenseType, cb)
- local xPlayer = ESX.GetPlayerFromId(target)
- if xPlayer then
- if isValidLicense(licenseType) then
- AddLicense(xPlayer.getIdentifier(), licenseType, cb)
- else
- print('[esx_license] : missing license type in db ' .. licenseType .. ' or someone try to use lua executor id : ' .. target)
- end
- end
-end)
-
-RegisterNetEvent('esx_license:removeLicense')
-AddEventHandler('esx_license:removeLicense', function(target, licenseType, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
- if xPlayer then
- if Config.allowedJobs[xPlayer.getJob().name] then
- local xTarget = ESX.GetPlayerFromId(target)
- if xTarget then
- RemoveLicense(xTarget.getIdentifier(), licenseType, cb)
- end
- else
- xPlayer.showNotification('Your job is not allowed to remove the license', 'error', 3000)
- end
- end
-end)
-
-AddEventHandler('esx_license:getLicense', function(licenseType, cb)
- GetLicense(licenseType, cb)
-end)
-
-AddEventHandler('esx_license:getLicenses', function(target, cb)
- local xPlayer = ESX.GetPlayerFromId(target)
- if xPlayer then
- GetLicenses(xPlayer.getIdentifier(), cb)
- end
-end)
-
-AddEventHandler('esx_license:checkLicense', function(target, licenseType, cb)
- local xPlayer = ESX.GetPlayerFromId(target)
- if xPlayer then
- CheckLicense(xPlayer.getIdentifier(), licenseType, cb)
- end
-end)
-
-AddEventHandler('esx_license:getLicensesList', function(cb)
- GetLicensesList(cb)
-end)
-
-ESX.RegisterServerCallback('esx_license:getLicense', function(source, cb, licenseType)
- local xPlayer = ESX.GetPlayerFromId(source)
- if xPlayer then
- GetLicense(licenseType, cb)
- end
-end)
-
-ESX.RegisterServerCallback('esx_license:getLicenses', function(source, cb, target)
- local xPlayer = ESX.GetPlayerFromId(target)
- if xPlayer then
- GetLicenses(xPlayer.getIdentifier(), cb)
- end
-end)
-
-ESX.RegisterServerCallback('esx_license:checkLicense', function(source, cb, target, licenseType)
- local xPlayer = ESX.GetPlayerFromId(target)
- if xPlayer then
- CheckLicense(xPlayer.getIdentifier(), licenseType, cb)
- end
-end)
-
-ESX.RegisterServerCallback('esx_license:getLicensesList', function(source, cb)
- GetLicensesList(cb)
-end)
\ No newline at end of file
diff --git a/[esx_addons]/esx_lscustom/.editorconfig b/[esx_addons]/esx_lscustom/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_lscustom/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_lscustom/LICENSE b/[esx_addons]/esx_lscustom/LICENSE
deleted file mode 100644
index 3d886edd..00000000
--- a/[esx_addons]/esx_lscustom/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
diff --git a/[esx_addons]/esx_lscustom/README.md b/[esx_addons]/esx_lscustom/README.md
deleted file mode 100644
index dd0044de..00000000
--- a/[esx_addons]/esx_lscustom/README.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# esx_lscustom
-
-## Requirements
-
-- [esx_vehicleshop](https://github.com/ESX-Org/esx_vehicleshop)
-
-## Legal
-
-esx_lscustoms - The best LS Custom out there for FX
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
\ No newline at end of file
diff --git a/[esx_addons]/esx_lscustom/client/main.lua b/[esx_addons]/esx_lscustom/client/main.lua
deleted file mode 100644
index feeff260..00000000
--- a/[esx_addons]/esx_lscustom/client/main.lua
+++ /dev/null
@@ -1,578 +0,0 @@
-local Vehicles, myCar = {}, {}
-local lsMenuIsShowed, HintDisplayed, isInLSMarker = false, false, false
-
-RegisterNetEvent('esx:playerLoaded')
-AddEventHandler('esx:playerLoaded', function()
- ESX.TriggerServerCallback('esx_lscustom:getVehiclesPrices', function(vehicles)
- Vehicles = vehicles
- end)
-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, NetId)
-end)
-
-RegisterNetEvent('esx_lscustom:restoreMods', function(netId, props)
- local xVehicle = NetworkGetEntityFromNetworkId(netId)
- if props ~= nil then
- if DoesEntityExist(xVehicle) then
- ESX.Game.SetVehicleProperties(xVehicle, props)
- end
- end
-end)
-
-RegisterNetEvent('esx_lscustom:cancelInstallMod')
-AddEventHandler('esx_lscustom:cancelInstallMod', function()
- local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
- if (GetPedInVehicleSeat(vehicle, -1) ~= PlayerPedId()) then
- vehicle = GetPlayersLastVehicle(PlayerPedId())
- end
- ESX.Game.SetVehicleProperties(vehicle, myCar)
- if not (myCar.modTurbo) then
- ToggleVehicleMod(vehicle, 18, false)
- end
- if not (myCar.modXenon) then
- ToggleVehicleMod(vehicle, 22, false)
- end
- if not (myCar.windowTint) then
- SetVehicleWindowTint(vehicle, 0)
- end
-end)
-
-AddEventHandler('onClientResourceStop', function(resource)
- if resource == GetCurrentResourceName() then
- if lsMenuIsShowed then
- TriggerEvent('esx_lscustom:cancelInstallMod')
- end
- end
-end)
-
-AddEventHandler('onResourceStop', function(resource)
- if resource == GetCurrentResourceName() then
- if lsMenuIsShowed then
- TriggerEvent('esx_lscustom:cancelInstallMod')
- end
- end
-end)
-
-function OpenLSMenu(elems, menuName, menuTitle, parent)
- ESX.UI.Menu.Open('default', GetCurrentResourceName(), menuName, {
- title = menuTitle,
- align = 'top-left',
- elements = elems
- }, function(data, menu)
- local isRimMod, found = false, false
- local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
-
- if data.current.modType == "modFrontWheels" then
- isRimMod = true
- end
-
- for k, v in pairs(Config.Menus) do
-
- if k == data.current.modType or isRimMod then
-
- 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, NetworkGetNetworkIdFromEntity(vehicle))
- else
- local vehiclePrice = 50000
-
- for i = 1, #Vehicles, 1 do
- if GetEntityModel(vehicle) == joaat(Vehicles[i].model) then
- vehiclePrice = Vehicles[i].price
- break
- end
- end
-
- if isRimMod then
- price = math.floor(vehiclePrice * data.current.price / 100)
- TriggerServerEvent('esx_lscustom:buyMod', price)
- elseif v.modType == 11 or v.modType == 12 or v.modType == 13 or v.modType == 15 or v.modType == 16 then
- price = math.floor(vehiclePrice * v.price[data.current.modNum + 1] / 100)
- TriggerServerEvent('esx_lscustom:buyMod', price)
- elseif v.modType == 17 then
- price = math.floor(vehiclePrice * v.price[1] / 100)
- TriggerServerEvent('esx_lscustom:buyMod', price)
- else
- price = math.floor(vehiclePrice * v.price / 100)
- TriggerServerEvent('esx_lscustom:buyMod', price)
- end
- end
-
- menu.close()
- found = true
- break
- end
-
- end
-
- if not found then
- GetAction(data.current)
- end
- end, function(data, menu) -- on cancel
- menu.close()
- TriggerEvent('esx_lscustom:cancelInstallMod')
-
- local playerPed = PlayerPedId()
- local vehicle = GetVehiclePedIsIn(playerPed, false)
- SetVehicleDoorsShut(vehicle, false)
-
- if parent == nil then
- lsMenuIsShowed = false
- local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
- FreezeEntityPosition(vehicle, false)
- TriggerServerEvent('esx_lscustom:stopModing', myCar.plate)
- myCar = {}
- end
- end, function(data, menu) -- on change
- UpdateMods(data.current)
- end)
-end
-
-function UpdateMods(data)
- local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
-
- if data.modType then
- local props = {}
-
- if data.wheelType then
- props['wheels'] = data.wheelType
-
- if GetVehicleClass(vehicle) == 8 then -- Fix bug wheels for bikes.
- props['modBackWheels'] = data.modNum
- end
-
- ESX.Game.SetVehicleProperties(vehicle, props)
- props = {}
- elseif data.modType == 'neonColor' then
- if data.modNum[1] == 0 and data.modNum[2] == 0 and data.modNum[3] == 0 then
- props['neonEnabled'] = {false, false, false, false}
- else
- props['neonEnabled'] = {true, true, true, true}
- end
- ESX.Game.SetVehicleProperties(vehicle, props)
- props = {}
- elseif data.modType == 'tyreSmokeColor' then
- props['modSmokeEnabled'] = true
- ESX.Game.SetVehicleProperties(vehicle, props)
- props = {}
- elseif data.modType == 'xenonColor' then
- if data.modNum then
- props['modXenon'] = true
- else
- props['modXenon'] = false
- end
- ESX.Game.SetVehicleProperties(vehicle, props)
- props = {}
- end
-
- props[data.modType] = data.modNum
- ESX.Game.SetVehicleProperties(vehicle, props)
- end
-end
-
-function GetAction(data)
- local elements = {}
- local menuName = ''
- local menuTitle = ''
- local parent = nil
-
- local playerPed = PlayerPedId()
- local vehicle = GetVehiclePedIsIn(playerPed, false)
- local currentMods = ESX.Game.GetVehicleProperties(vehicle)
- if data.value == 'modSpeakers' or data.value == 'modTrunk' or data.value == 'modHydrolic' or data.value ==
- 'modEngineBlock' or data.value == 'modAirFilter' or data.value == 'modStruts' or data.value == 'modTank' then
- SetVehicleDoorOpen(vehicle, 4, false)
- SetVehicleDoorOpen(vehicle, 5, false)
- elseif data.value == 'modDoorSpeaker' then
- SetVehicleDoorOpen(vehicle, 0, false)
- SetVehicleDoorOpen(vehicle, 1, false)
- SetVehicleDoorOpen(vehicle, 2, false)
- SetVehicleDoorOpen(vehicle, 3, false)
- else
- SetVehicleDoorsShut(vehicle, false)
- end
-
- local vehiclePrice = 50000
-
- for i = 1, #Vehicles, 1 do
- if GetEntityModel(vehicle) == joaat(Vehicles[i].model) then
- vehiclePrice = Vehicles[i].price
- break
- end
- end
-
- for k, v in pairs(Config.Menus) do
-
- if data.value == k then
-
- menuName = k
- menuTitle = v.label
- parent = v.parent
-
- if v.modType then
-
- if v.modType == 22 or v.modType == 'xenonColor' then
- table.insert(elements, {
- label = " " .. TranslateCap('by_default'),
- modType = k,
- modNum = false
- })
- elseif v.modType == 'neonColor' or v.modType == 'tyreSmokeColor' then -- disable neon
- table.insert(elements, {
- label = " " .. TranslateCap('by_default'),
- modType = k,
- modNum = {0, 0, 0}
- })
- elseif v.modType == 'color1' or v.modType == 'color2' or v.modType == 'pearlescentColor' or v.modType ==
- 'wheelColor' then
- local num = myCar[v.modType]
- table.insert(elements, {
- label = " " .. TranslateCap('by_default'),
- modType = k,
- modNum = num
- })
- elseif v.modType == 17 then
- table.insert(elements, {
- label = " " .. TranslateCap('no_turbo'),
- modType = k,
- modNum = false
- })
- elseif v.modType == 23 then
- table.insert(elements, {
- label = " " .. TranslateCap('by_default'),
- modType = "modFrontWheels",
- modNum = -1,
- wheelType = -1,
- price = Config.DefaultWheelsPriceMultiplier
- })
- else
- table.insert(elements, {
- label = " " .. TranslateCap('by_default'),
- modType = k,
- modNum = -1
- })
- end
-
- if v.modType == 14 then -- HORNS
- for j = 0, 51, 1 do
- local _label = ''
- if j == currentMods.modHorns then
- _label = GetHornName(j) .. ' - ' .. TranslateCap('installed') ..
- ''
- else
- price = math.floor(vehiclePrice * v.price / 100)
- _label = GetHornName(j) .. ' - $' .. price .. ' '
- end
- table.insert(elements, {
- label = _label,
- modType = k,
- modNum = j
- })
- end
- elseif v.modType == 'plateIndex' then -- PLATES
- for j = 0, 4, 1 do
- local _label = ''
- if j == currentMods.plateIndex then
- _label = GetPlatesName(j) .. ' - ' .. TranslateCap('installed') ..
- ''
- else
- price = math.floor(vehiclePrice * v.price / 100)
- _label = GetPlatesName(j) .. ' - $' .. price .. ' '
- end
- table.insert(elements, {
- label = _label,
- modType = k,
- modNum = j
- })
- end
- elseif v.modType == 22 then -- NEON
- local _label = ''
- if currentMods.modXenon then
- _label = TranslateCap('neon') .. ' - ' .. TranslateCap('installed') .. ''
- else
- price = math.floor(vehiclePrice * v.price / 100)
- _label = TranslateCap('neon') .. ' - $' .. price .. ' '
- end
- table.insert(elements, {
- label = _label,
- modType = k,
- modNum = true
- })
- elseif v.modType == 'xenonColor' then -- XENON COLOR
- local xenonColors = GetXenonColors()
- price = math.floor(vehiclePrice * v.price / 100)
- for i = 1, #xenonColors, 1 do
- table.insert(elements, {
- label = xenonColors[i].label .. ' - $' .. price .. '',
- modType = k,
- modNum = xenonColors[i].index
- })
- end
- elseif v.modType == 'neonColor' or v.modType == 'tyreSmokeColor' then -- NEON & SMOKE COLOR
- local neons = GetNeons()
- price = math.floor(vehiclePrice * v.price / 100)
- for i = 1, #neons, 1 do
- table.insert(elements, {
- label = '' .. neons[i].label .. ' - $' .. price .. '',
- modType = k,
- modNum = {neons[i].r, neons[i].g, neons[i].b}
- })
- end
- elseif v.modType == 'color1' or v.modType == 'color2' or v.modType == 'pearlescentColor' or v.modType ==
- 'wheelColor' then -- RESPRAYS
- local colors = GetColors(data.color)
- for j = 1, #colors, 1 do
- local _label = ''
- price = math.floor(vehiclePrice * v.price / 100)
- _label = colors[j].label .. ' - $' .. price .. ' '
- table.insert(elements, {
- label = _label,
- modType = k,
- modNum = colors[j].index
- })
- end
- elseif v.modType == 'windowTint' then -- WINDOWS TINT
- for j = 1, 5, 1 do
- local _label = ''
- if j == currentMods.modHorns then
- _label = GetWindowName(j) .. ' - ' .. TranslateCap('installed') ..
- ''
- else
- price = math.floor(vehiclePrice * v.price / 100)
- _label = GetWindowName(j) .. ' - $' .. price .. ' '
- end
- table.insert(elements, {
- label = _label,
- modType = k,
- modNum = j
- })
- end
- elseif v.modType == 23 then -- WHEELS RIM & TYPE
- local props = {}
-
- props['wheels'] = v.wheelType
- ESX.Game.SetVehicleProperties(vehicle, props)
-
- local modCount = GetNumVehicleMods(vehicle, v.modType)
- for j = 0, modCount, 1 do
- local modName = GetModTextLabel(vehicle, v.modType, j)
- if modName then
- local _label = ''
- if j == currentMods.modFrontWheels then
- _label = GetLabelText(modName) .. ' - ' ..
- TranslateCap('installed') .. ''
- else
- price = math.floor(vehiclePrice * v.price / 100)
- _label = GetLabelText(modName) .. ' - $' .. price ..
- ' '
- end
- table.insert(elements, {
- label = _label,
- modType = 'modFrontWheels',
- modNum = j,
- wheelType = v.wheelType,
- price = v.price
- })
- end
- end
- elseif v.modType == 11 or v.modType == 12 or v.modType == 13 or v.modType == 15 or v.modType == 16 then
- SetVehicleModKit(vehicle, 0)
- local modCount = GetNumVehicleMods(vehicle, v.modType) -- UPGRADES
- for j = 0, modCount, 1 do
- local _label = ''
- if j == currentMods[k] then
- _label =
- TranslateCap('level', j + 1) .. ' - ' .. TranslateCap('installed') ..
- ''
- else
- price = math.floor(vehiclePrice * v.price[j + 1] / 100)
- _label = TranslateCap('level', j + 1) .. ' - $' .. price .. ' '
- end
- table.insert(elements, {
- label = _label,
- modType = k,
- modNum = j
- })
- if j == modCount - 1 then
- break
- end
- end
- elseif v.modType == 17 then -- TURBO
- local _label = ''
- if currentMods[k] then
- _label = 'Turbo - ' .. TranslateCap('installed') .. ''
- else
- _label =
- 'Turbo - $' .. math.floor(vehiclePrice * v.price[1] / 100) ..
- ' '
- end
- table.insert(elements, {
- label = _label,
- modType = k,
- modNum = true
- })
- else
- local modCount = GetNumVehicleMods(vehicle, v.modType) -- BODYPARTS
- for j = 0, modCount, 1 do
- local modName = GetModTextLabel(vehicle, v.modType, j)
- if modName then
- local _label = ''
- if j == currentMods[k] then
- _label = GetLabelText(modName) .. ' - ' ..
- TranslateCap('installed') .. ''
- else
- price = math.floor(vehiclePrice * v.price / 100)
- _label = GetLabelText(modName) .. ' - $' .. price ..
- ' '
- end
- table.insert(elements, {
- label = _label,
- modType = k,
- modNum = j
- })
- end
- end
- end
- else
- if data.value == 'primaryRespray' or data.value == 'secondaryRespray' or data.value ==
- 'pearlescentRespray' or data.value == 'modFrontWheelsColor' then
- for i = 1, #Config.Colors, 1 do
- if data.value == 'primaryRespray' then
- table.insert(elements, {
- label = Config.Colors[i].label,
- value = 'color1',
- color = Config.Colors[i].value
- })
- elseif data.value == 'secondaryRespray' then
- table.insert(elements, {
- label = Config.Colors[i].label,
- value = 'color2',
- color = Config.Colors[i].value
- })
- elseif data.value == 'pearlescentRespray' then
- table.insert(elements, {
- label = Config.Colors[i].label,
- value = 'pearlescentColor',
- color = Config.Colors[i].value
- })
- elseif data.value == 'modFrontWheelsColor' then
- table.insert(elements, {
- label = Config.Colors[i].label,
- value = 'wheelColor',
- color = Config.Colors[i].value
- })
- end
- end
- else
- for l, w in pairs(v) do
- if l ~= 'label' and l ~= 'parent' then
- table.insert(elements, {
- label = w,
- value = l
- })
- end
- end
- end
- end
- break
- end
- end
-
- table.sort(elements, function(a, b)
- return a.label < b.label
- end)
-
- OpenLSMenu(elements, menuName, menuTitle, parent)
-end
-
--- Blips
-CreateThread(function()
- for k, v in pairs(Config.Zones) do
- local blip = AddBlipForCoord(v.Pos.x, v.Pos.y, v.Pos.z)
-
- SetBlipSprite(blip, 72)
- SetBlipScale(blip, 0.8)
- SetBlipAsShortRange(blip, true)
-
- BeginTextCommandSetBlipName('STRING')
- AddTextComponentSubstringPlayerName(v.Name)
- EndTextCommandSetBlipName(blip)
- end
-end)
-
--- Activate menu when player is inside marker
-CreateThread(function()
- while true do
- local Sleep = 1500
- local Near = false
- local playerPed = PlayerPedId()
-
- if IsPedInAnyVehicle(playerPed, false) then
- local coords = GetEntityCoords(playerPed)
- local currentZone, zone, lastZone
-
- if (ESX.PlayerData.job and ESX.PlayerData.job.name == 'mechanic') or not Config.IsMechanicJobOnly then
- for k, v in pairs(Config.Zones) do
- local zonePos = vector3(v.Pos.x, v.Pos.y, v.Pos.z)
- if #(coords - zonePos) < 10.0 then
- Near = true
- Sleep = 0
- if not lsMenuIsShowed then
- if not HintDisplayed then
- HintDisplayed = true
- ESX.TextUI(v.Hint)
- end
- if IsControlJustReleased(0, 38) then
- lsMenuIsShowed = true
-
- local vehicle = GetVehiclePedIsIn(playerPed, false)
- FreezeEntityPosition(vehicle, true)
- myCar = ESX.Game.GetVehicleProperties(vehicle)
-
- local netId = NetworkGetNetworkIdFromEntity(vehicle)
- TriggerServerEvent('esx_lscustom:startModing', myCar, netId)
-
- ESX.UI.Menu.CloseAll()
- GetAction({
- value = 'main'
- })
-
- -- Prevent Free Tunning Bug
- CreateThread(function()
- while true do
- local Sleep = 1000
- if lsMenuIsShowed then
- Sleep = 0
- DisableControlAction(2, 288, true)
- DisableControlAction(2, 289, true)
- DisableControlAction(2, 170, true)
- DisableControlAction(2, 167, true)
- DisableControlAction(2, 168, true)
- DisableControlAction(2, 23, true)
- DisableControlAction(0, 75, true) -- Disable exit vehicle
- DisableControlAction(27, 75, true) -- Disable exit vehicle
- end
- Wait(Sleep)
- end
- end)
- end
- end
- end
- end
- if not Near and HintDisplayed then
- HintDisplayed = false
- ESX.HideUI()
- end
- end
- end
- Wait(Sleep)
- end
-end)
diff --git a/[esx_addons]/esx_lscustom/config.lua b/[esx_addons]/esx_lscustom/config.lua
deleted file mode 100644
index b8477198..00000000
--- a/[esx_addons]/esx_lscustom/config.lua
+++ /dev/null
@@ -1,940 +0,0 @@
-Config = {}
-Config.DrawDistance = 10.0
-Config.Locale = GetConvar('esx:locale', 'en')
-Config.IsMechanicJobOnly = false
-
-Config.Zones = {
-
- ls1 = {
- Pos = { x = -337.38, y = -136.92, z = 38.57},
- Size = {x = 3.0, y = 3.0, z = 0.2},
- Color = {r = 204, g = 204, b = 0},
- Marker= 1,
- Name = TranslateCap('blip_name'),
- Hint = TranslateCap('press_custom')
- },
-
- ls2 = {
- Pos = { x = -1155.53, y = -2007.18, z = 12.74},
- Size = {x = 3.0, y = 3.0, z = 0.2},
- Color = {r = 204, g = 204, b = 0},
- Marker= 1,
- Name = TranslateCap('blip_name'),
- Hint = TranslateCap('press_custom')
- },
-
- ls3 = {
- Pos = { x = 731.81, y = -1088.82, z = 21.73},
- Size = {x = 3.0, y = 3.0, z = 0.2},
- Color = {r = 204, g = 204, b = 0},
- Marker= 1,
- Name = TranslateCap('blip_name'),
- Hint = TranslateCap('press_custom')
- },
-
- ls4 = {
- Pos = { x = 1175.04, y = 2640.21, z = 37.32},
- Size = {x = 3.0, y = 3.0, z = 0.2},
- Color = {r = 204, g = 204, b = 0},
- Marker= 1,
- Name = TranslateCap('blip_name'),
- Hint = TranslateCap('press_custom')
- },
-
- ls5 = {
- Pos = { x = 110.99, y = 6626.39, z = 30.89},
- Size = {x = 3.0, y = 3.0, z = 0.2},
- Color = {r = 204, g = 204, b = 0},
- Marker= 1,
- Name = TranslateCap('blip_name'),
- Hint = TranslateCap('press_custom')
- }
-
-}
-
-Config.Colors = {
- {label = TranslateCap('black'), value = 'black'},
- {label = TranslateCap('white'), value = 'white'},
- {label = TranslateCap('grey'), value = 'grey'},
- {label = TranslateCap('red'), value = 'red'},
- {label = TranslateCap('pink'), value = 'pink'},
- {label = TranslateCap('blue'), value = 'blue'},
- {label = TranslateCap('yellow'), value = 'yellow'},
- {label = TranslateCap('green'), value = 'green'},
- {label = TranslateCap('orange'), value = 'orange'},
- {label = TranslateCap('brown'), value = 'brown'},
- {label = TranslateCap('purple'), value = 'purple'},
- {label = TranslateCap('chrome'), value = 'chrome'},
- {label = TranslateCap('gold'), value = 'gold'}
-}
-
-Config.DefaultWheelsPriceMultiplier = 2
-
-function GetColors(color)
- local colors = {}
- if color == 'black' then
- colors = {
- { index = 0, label = TranslateCap('black')},
- { index = 1, label = TranslateCap('graphite')},
- { index = 2, label = TranslateCap('black_metallic')},
- { index = 3, label = TranslateCap('caststeel')},
- { index = 11, label = TranslateCap('black_anth')},
- { index = 12, label = TranslateCap('matteblack')},
- { index = 15, label = TranslateCap('darknight')},
- { index = 16, label = TranslateCap('deepblack')},
- { index = 21, label = TranslateCap('oil')},
- { index = 147, label = TranslateCap('carbon')}
- }
- elseif color == 'white' then
- colors = {
- { index = 106, label = TranslateCap('vanilla')},
- { index = 107, label = TranslateCap('creme')},
- { index = 111, label = TranslateCap('white')},
- { index = 112, label = TranslateCap('polarwhite')},
- { index = 113, label = TranslateCap('beige')},
- { index = 121, label = TranslateCap('mattewhite')},
- { index = 122, label = TranslateCap('snow')},
- { index = 131, label = TranslateCap('cotton')},
- { index = 132, label = TranslateCap('alabaster')},
- { index = 134, label = TranslateCap('purewhite')}
- }
- elseif color == 'grey' then
- colors = {
- { index = 4, label = TranslateCap('silver')},
- { index = 5, label = TranslateCap('metallicgrey')},
- { index = 6, label = TranslateCap('laminatedsteel')},
- { index = 7, label = TranslateCap('darkgray')},
- { index = 8, label = TranslateCap('rockygray')},
- { index = 9, label = TranslateCap('graynight')},
- { index = 10, label = TranslateCap('aluminum')},
- { index = 13, label = TranslateCap('graymat')},
- { index = 14, label = TranslateCap('lightgrey')},
- { index = 17, label = TranslateCap('asphaltgray')},
- { index = 18, label = TranslateCap('grayconcrete')},
- { index = 19, label = TranslateCap('darksilver')},
- { index = 20, label = TranslateCap('magnesite')},
- { index = 22, label = TranslateCap('nickel')},
- { index = 23, label = TranslateCap('zinc')},
- { index = 24, label = TranslateCap('dolomite')},
- { index = 25, label = TranslateCap('bluesilver')},
- { index = 26, label = TranslateCap('titanium')},
- { index = 66, label = TranslateCap('steelblue')},
- { index = 93, label = TranslateCap('champagne')},
- { index = 144, label = TranslateCap('grayhunter')},
- { index = 156, label = TranslateCap('grey')}
- }
- elseif color == 'red' then
- colors = {
- { index = 27, label = TranslateCap('red')},
- { index = 28, label = TranslateCap('torino_red')},
- { index = 29, label = TranslateCap('poppy')},
- { index = 30, label = TranslateCap('copper_red')},
- { index = 31, label = TranslateCap('cardinal')},
- { index = 32, label = TranslateCap('brick')},
- { index = 33, label = TranslateCap('garnet')},
- { index = 34, label = TranslateCap('cabernet')},
- { index = 35, label = TranslateCap('candy')},
- { index = 39, label = TranslateCap('matte_red')},
- { index = 40, label = TranslateCap('dark_red')},
- { index = 43, label = TranslateCap('red_pulp')},
- { index = 44, label = TranslateCap('bril_red')},
- { index = 46, label = TranslateCap('pale_red')},
- { index = 143, label = TranslateCap('wine_red')},
- { index = 150, label = TranslateCap('volcano')}
- }
- elseif color == 'pink' then
- colors = {
- { index = 135, label = TranslateCap('electricpink')},
- { index = 136, label = TranslateCap('salmon')},
- { index = 137, label = TranslateCap('sugarplum')}
- }
- elseif color == 'blue' then
- colors = {
- { index = 54, label = TranslateCap('topaz')},
- { index = 60, label = TranslateCap('light_blue')},
- { index = 61, label = TranslateCap('galaxy_blue')},
- { index = 62, label = TranslateCap('dark_blue')},
- { index = 63, label = TranslateCap('azure')},
- { index = 64, label = TranslateCap('navy_blue')},
- { index = 65, label = TranslateCap('lapis')},
- { index = 67, label = TranslateCap('blue_diamond')},
- { index = 68, label = TranslateCap('surfer')},
- { index = 69, label = TranslateCap('pastel_blue')},
- { index = 70, label = TranslateCap('celeste_blue')},
- { index = 73, label = TranslateCap('rally_blue')},
- { index = 74, label = TranslateCap('blue_paradise')},
- { index = 75, label = TranslateCap('blue_night')},
- { index = 77, label = TranslateCap('cyan_blue')},
- { index = 78, label = TranslateCap('cobalt')},
- { index = 79, label = TranslateCap('electric_blue')},
- { index = 80, label = TranslateCap('horizon_blue')},
- { index = 82, label = TranslateCap('metallic_blue')},
- { index = 83, label = TranslateCap('aquamarine')},
- { index = 84, label = TranslateCap('blue_agathe')},
- { index = 85, label = TranslateCap('zirconium')},
- { index = 86, label = TranslateCap('spinel')},
- { index = 87, label = TranslateCap('tourmaline')},
- { index = 127, label = TranslateCap('paradise')},
- { index = 140, label = TranslateCap('bubble_gum')},
- { index = 141, label = TranslateCap('midnight_blue')},
- { index = 146, label = TranslateCap('forbidden_blue')},
- { index = 157, label = TranslateCap('glacier_blue')}
- }
- elseif color == 'yellow' then
- colors = {
- { index = 42, label = TranslateCap('yellow')},
- { index = 88, label = TranslateCap('wheat')},
- { index = 89, label = TranslateCap('raceyellow')},
- { index = 91, label = TranslateCap('paleyellow')},
- { index = 126, label = TranslateCap('lightyellow')}
- }
- elseif color == 'green' then
- colors = {
- { index = 49, label = TranslateCap('met_dark_green')},
- { index = 50, label = TranslateCap('rally_green')},
- { index = 51, label = TranslateCap('pine_green')},
- { index = 52, label = TranslateCap('olive_green')},
- { index = 53, label = TranslateCap('light_green')},
- { index = 55, label = TranslateCap('lime_green')},
- { index = 56, label = TranslateCap('forest_green')},
- { index = 57, label = TranslateCap('lawn_green')},
- { index = 58, label = TranslateCap('imperial_green')},
- { index = 59, label = TranslateCap('green_bottle')},
- { index = 92, label = TranslateCap('citrus_green')},
- { index = 125, label = TranslateCap('green_anis')},
- { index = 128, label = TranslateCap('khaki')},
- { index = 133, label = TranslateCap('army_green')},
- { index = 151, label = TranslateCap('dark_green')},
- { index = 152, label = TranslateCap('hunter_green')},
- { index = 155, label = TranslateCap('matte_foilage_green')}
- }
- elseif color == 'orange' then
- colors = {
- { index = 36, label = TranslateCap('tangerine')},
- { index = 38, label = TranslateCap('orange')},
- { index = 41, label = TranslateCap('matteorange')},
- { index = 123, label = TranslateCap('lightorange')},
- { index = 124, label = TranslateCap('peach')},
- { index = 130, label = TranslateCap('pumpkin')},
- { index = 138, label = TranslateCap('orangelambo')}
- }
- elseif color == 'brown' then
- colors = {
- { index = 45, label = TranslateCap('copper')},
- { index = 47, label = TranslateCap('lightbrown')},
- { index = 48, label = TranslateCap('darkbrown')},
- { index = 90, label = TranslateCap('bronze')},
- { index = 94, label = TranslateCap('brownmetallic')},
- { index = 95, label = TranslateCap('expresso')},
- { index = 96, label = TranslateCap('chocolate')},
- { index = 97, label = TranslateCap('terracotta')},
- { index = 98, label = TranslateCap('marble')},
- { index = 99, label = TranslateCap('sand')},
- { index = 100, label = TranslateCap('sepia')},
- { index = 101, label = TranslateCap('bison')},
- { index = 102, label = TranslateCap('palm')},
- { index = 103, label = TranslateCap('caramel')},
- { index = 104, label = TranslateCap('rust')},
- { index = 105, label = TranslateCap('chestnut')},
- { index = 108, label = TranslateCap('brown')},
- { index = 109, label = TranslateCap('hazelnut')},
- { index = 110, label = TranslateCap('shell')},
- { index = 114, label = TranslateCap('mahogany')},
- { index = 115, label = TranslateCap('cauldron')},
- { index = 116, label = TranslateCap('blond')},
- { index = 129, label = TranslateCap('gravel')},
- { index = 153, label = TranslateCap('darkearth')},
- { index = 154, label = TranslateCap('desert')}
- }
- elseif color == 'purple' then
- colors = {
- { index = 71, label = TranslateCap('indigo')},
- { index = 72, label = TranslateCap('deeppurple')},
- { index = 76, label = TranslateCap('darkviolet')},
- { index = 81, label = TranslateCap('amethyst')},
- { index = 142, label = TranslateCap('mysticalviolet')},
- { index = 145, label = TranslateCap('purplemetallic')},
- { index = 148, label = TranslateCap('matteviolet')},
- { index = 149, label = TranslateCap('mattedeeppurple')}
- }
- elseif color == 'chrome' then
- colors = {
- { index = 117, label = TranslateCap('brushedchrome')},
- { index = 118, label = TranslateCap('blackchrome')},
- { index = 119, label = TranslateCap('brushedaluminum')},
- { index = 120, label = TranslateCap('chrome')}
- }
- elseif color == 'gold' then
- colors = {
- { index = 37, label = TranslateCap('gold')},
- { index = 158, label = TranslateCap('puregold')},
- { index = 159, label = TranslateCap('brushedgold')},
- { index = 160, label = TranslateCap('lightgold')}
- }
- end
- return colors
-end
-
-function GetWindowName(index)
- if (index == 1) then
- return "Pure Black"
- elseif (index == 2) then
- return "Darksmoke"
- elseif (index == 3) then
- return "Lightsmoke"
- elseif (index == 4) then
- return "Limo"
- elseif (index == 5) then
- return "Green"
- else
- return "Unknown"
- end
-end
-
-function GetHornName(index)
- if (index == 0) then
- return "Truck Horn"
- elseif (index == 1) then
- return "Cop Horn"
- elseif (index == 2) then
- return "Clown Horn"
- elseif (index == 3) then
- return "Musical Horn 1"
- elseif (index == 4) then
- return "Musical Horn 2"
- elseif (index == 5) then
- return "Musical Horn 3"
- elseif (index == 6) then
- return "Musical Horn 4"
- elseif (index == 7) then
- return "Musical Horn 5"
- elseif (index == 8) then
- return "Sad Trombone"
- elseif (index == 9) then
- return "Classical Horn 1"
- elseif (index == 10) then
- return "Classical Horn 2"
- elseif (index == 11) then
- return "Classical Horn 3"
- elseif (index == 12) then
- return "Classical Horn 4"
- elseif (index == 13) then
- return "Classical Horn 5"
- elseif (index == 14) then
- return "Classical Horn 6"
- elseif (index == 15) then
- return "Classical Horn 7"
- elseif (index == 16) then
- return "Scale - Do"
- elseif (index == 17) then
- return "Scale - Re"
- elseif (index == 18) then
- return "Scale - Mi"
- elseif (index == 19) then
- return "Scale - Fa"
- elseif (index == 20) then
- return "Scale - Sol"
- elseif (index == 21) then
- return "Scale - La"
- elseif (index == 22) then
- return "Scale - Ti"
- elseif (index == 23) then
- return "Scale - Do"
- elseif (index == 24) then
- return "Jazz Horn 1"
- elseif (index == 25) then
- return "Jazz Horn 2"
- elseif (index == 26) then
- return "Jazz Horn 3"
- elseif (index == 27) then
- return "Jazz Horn Loop"
- elseif (index == 28) then
- return "Star Spangled Banner 1"
- elseif (index == 29) then
- return "Star Spangled Banner 2"
- elseif (index == 30) then
- return "Star Spangled Banner 3"
- elseif (index == 31) then
- return "Star Spangled Banner 4"
- elseif (index == 32) then
- return "Classical Horn 8 Loop"
- elseif (index == 33) then
- return "Classical Horn 9 Loop"
- elseif (index == 34) then
- return "Classical Horn 10 Loop"
- elseif (index == 35) then
- return "Classical Horn 8"
- elseif (index == 36) then
- return "Classical Horn 9"
- elseif (index == 37) then
- return "Classical Horn 10"
- elseif (index == 38) then
- return "Funeral Loop"
- elseif (index == 39) then
- return "Funeral"
- elseif (index == 40) then
- return "Spooky Loop"
- elseif (index == 41) then
- return "Spooky"
- elseif (index == 42) then
- return "San Andreas Loop"
- elseif (index == 43) then
- return "San Andreas"
- elseif (index == 44) then
- return "Liberty City Loop"
- elseif (index == 45) then
- return "Liberty City"
- elseif (index == 46) then
- return "Festive 1 Loop"
- elseif (index == 47) then
- return "Festive 1"
- elseif (index == 48) then
- return "Festive 2 Loop"
- elseif (index == 49) then
- return "Festive 2"
- elseif (index == 50) then
- return "Festive 3 Loop"
- elseif (index == 51) then
- return "Festive 3"
- else
- return "Unknown Horn"
- end
-end
-
-function GetNeons()
- local neons = {
- {label = TranslateCap('white'), r = 255, g = 255, b = 255},
- {label = "Slate Gray", r = 112, g = 128, b = 144},
- {label = "Blue", r = 0, g = 0, b = 255},
- {label = "Light Blue", r = 0, g = 150, b = 255},
- {label = "Navy Blue", r = 0, g = 0, b = 128},
- {label = "Sky Blue", r = 135, g = 206, b = 235},
- {label = "Turquoise", r = 0, g = 245, b = 255},
- {label = "Mint Green", r = 50, g = 255, b = 155},
- {label = "Lime Green", r = 0, g = 255, b = 0},
- {label = "Olive", r = 128, g = 128, b = 0},
- {label = TranslateCap('yellow'), r = 255, g = 255, b = 0},
- {label = TranslateCap('gold'), r = 255, g = 215, b = 0},
- {label = TranslateCap('orange'), r = 255, g = 165, b = 0},
- {label = TranslateCap('wheat'), r = 245, g = 222, b = 179},
- {label = TranslateCap('red'), r = 255, g = 0, b = 0},
- {label = TranslateCap('pink'), r = 255, g = 161, b = 211},
- {label = TranslateCap('brightpink'), r = 255, g = 0, b = 255},
- {label = TranslateCap('purple'), r = 153, g = 0, b = 153},
- {label = "Ivory", r = 41, g = 36, b = 33}
- }
-
- return neons
-end
-
-function GetXenonColors()
- local xenonColors = {
- {label = TranslateCap('neon'), index = -1},
- {label = TranslateCap('white'), index = 0},
- {label = TranslateCap('blue'), index = 1},
- {label = TranslateCap('electric_blue'), index = 2},
- {label = TranslateCap('mintgreen'), index = 3},
- {label = TranslateCap('lime_green'), index = 4},
- {label = TranslateCap('yellow'), index = 5},
- {label = TranslateCap('goldenshower'), index = 6},
- {label = TranslateCap('orange'), index = 7},
- {label = TranslateCap('red'), index = 8},
- {label = TranslateCap('ponypink'), index = 9},
- {label = TranslateCap('hotpink'), index = 10},
- {label = TranslateCap('purple'), index = 11},
- {label = TranslateCap('blacklight'), index = 11},
- }
-
- return xenonColors
-end
-
-function GetPlatesName(index)
- if (index == 0) then
- return TranslateCap('blue_on_white_1')
- elseif (index == 1) then
- return TranslateCap('yellow_on_black')
- elseif (index == 2) then
- return TranslateCap('yellow_blue')
- elseif (index == 3) then
- return TranslateCap('blue_on_white_2')
- elseif (index == 4) then
- return TranslateCap('blue_on_white_3')
- end
-end
-
-Config.Menus = {
- main = {
- label = 'LS CUSTOMS',
- parent = nil,
- upgrades = TranslateCap('upgrades'),
- cosmetics = TranslateCap('cosmetics')
- },
- upgrades = {
- label = TranslateCap('upgrades'),
- parent = 'main',
- modEngine = TranslateCap('engine'),
- modBrakes = TranslateCap('brakes'),
- modTransmission = TranslateCap('transmission'),
- modSuspension = TranslateCap('suspension'),
- modArmor = TranslateCap('armor'),
- modTurbo = TranslateCap('turbo')
- },
- modEngine = {
- label = TranslateCap('engine'),
- parent = 'upgrades',
- modType = 11,
- price = {13.95, 32.56, 65.12, 139.53}
- },
- modBrakes = {
- label = TranslateCap('brakes'),
- parent = 'upgrades',
- modType = 12,
- price = {4.65, 9.3, 18.6, 13.95}
- },
- modTransmission = {
- label = TranslateCap('transmission'),
- parent = 'upgrades',
- modType = 13,
- price = {13.95, 20.93, 46.51, 63.55}
- },
- modSuspension = {
- label = TranslateCap('suspension'),
- parent = 'upgrades',
- modType = 15,
- price = {3.72, 7.44, 14.88, 29.77, 40.2}
- },
- modArmor = {
- label = TranslateCap('armor'),
- parent = 'upgrades',
- modType = 16,
- price = {69.77, 116.28, 130.00, 150.00, 180.00, 190.00}
- },
- modTurbo = {
- label = TranslateCap('turbo'),
- parent = 'upgrades',
- modType = 17,
- price = {55.81}
- },
- cosmetics = {
- label = TranslateCap('cosmetics'),
- parent = 'main',
- bodyparts = TranslateCap('bodyparts'),
- windowTint = TranslateCap('windowtint'),
- modHorns = TranslateCap('horns'),
- neonColor = TranslateCap('neons'),
- resprays = TranslateCap('respray'),
- -- modXenon = TranslateCap('headlights'),
- xenonColor = TranslateCap('headlights'),
- plateIndex = TranslateCap('licenseplates'),
- wheels = TranslateCap('wheels'),
- modPlateHolder = TranslateCap('modplateholder'),
- modVanityPlate = TranslateCap('modvanityplate'),
- modTrimA = TranslateCap('interior'),
- modOrnaments = TranslateCap('trim'),
- modDashboard = TranslateCap('dashboard'),
- modDial = TranslateCap('speedometer'),
- modDoorSpeaker = TranslateCap('door_speakers'),
- modSeats = TranslateCap('seats'),
- modSteeringWheel = TranslateCap('steering_wheel'),
- modShifterLeavers = TranslateCap('gear_lever'),
- modAPlate = TranslateCap('quarter_deck'),
- modSpeakers = TranslateCap('speakers'),
- modTrunk = TranslateCap('trunk'),
- modHydrolic = TranslateCap('hydraulic'),
- modEngineBlock = TranslateCap('engine_block'),
- modAirFilter = TranslateCap('air_filter'),
- modStruts = TranslateCap('struts'),
- modArchCover = TranslateCap('arch_cover'),
- modAerials = TranslateCap('aerials'),
- modTrimB = TranslateCap('wings'),
- modTank = TranslateCap('fuel_tank'),
- modWindows = TranslateCap('windows'),
- modLivery = TranslateCap('stickers')
- },
-
- modPlateHolder = {
- label = TranslateCap('modplateholder'),
- parent = 'cosmetics',
- modType = 25,
- price = 3.49
- },
- modVanityPlate = {
- label = TranslateCap('modvanityplate'),
- parent = 'cosmetics',
- modType = 26,
- price = 1.1
- },
- modTrimA = {
- label = TranslateCap('interior'),
- parent = 'cosmetics',
- modType = 27,
- price = 6.98
- },
- modOrnaments = {
- label = TranslateCap('trim'),
- parent = 'cosmetics',
- modType = 28,
- price = 0.9
- },
- modDashboard = {
- label = TranslateCap('dashboard'),
- parent = 'cosmetics',
- modType = 29,
- price = 4.65
- },
- modDial = {
- label = TranslateCap('speedometer'),
- parent = 'cosmetics',
- modType = 30,
- price = 4.19
- },
- modDoorSpeaker = {
- label = TranslateCap('door_speakers'),
- parent = 'cosmetics',
- modType = 31,
- price = 5.58
- },
- modSeats = {
- label = TranslateCap('seats'),
- parent = 'cosmetics',
- modType = 32,
- price = 4.65
- },
- modSteeringWheel = {
- label = TranslateCap('steering_wheel'),
- parent = 'cosmetics',
- modType = 33,
- price = 4.19
- },
- modShifterLeavers = {
- label = TranslateCap('gear_lever'),
- parent = 'cosmetics',
- modType = 34,
- price = 3.26
- },
- modAPlate = {
- label = TranslateCap('quarter_deck'),
- parent = 'cosmetics',
- modType = 35,
- price = 4.19
- },
- modSpeakers = {
- label = TranslateCap('speakers'),
- parent = 'cosmetics',
- modType = 36,
- price = 6.98
- },
- modTrunk = {
- label = TranslateCap('trunk'),
- parent = 'cosmetics',
- modType = 37,
- price = 5.58
- },
- modHydrolic = {
- label = TranslateCap('hydraulic'),
- parent = 'cosmetics',
- modType = 38,
- price = 5.12
- },
- modEngineBlock = {
- label = TranslateCap('engine_block'),
- parent = 'cosmetics',
- modType = 39,
- price = 5.12
- },
- modAirFilter = {
- label = TranslateCap('air_filter'),
- parent = 'cosmetics',
- modType = 40,
- price = 3.72
- },
- modStruts = {
- label = TranslateCap('struts'),
- parent = 'cosmetics',
- modType = 41,
- price = 6.51
- },
- modArchCover = {
- label = TranslateCap('arch_cover'),
- parent = 'cosmetics',
- modType = 42,
- price = 4.19
- },
- modAerials = {
- label = TranslateCap('aerials'),
- parent = 'cosmetics',
- modType = 43,
- price = 1.12
- },
- modTrimB = {
- label = TranslateCap('wings'),
- parent = 'cosmetics',
- modType = 44,
- price = 6.05
- },
- modTank = {
- label = TranslateCap('fuel_tank'),
- parent = 'cosmetics',
- modType = 45,
- price = 4.19
- },
- modWindows = {
- label = TranslateCap('windows'),
- parent = 'cosmetics',
- modType = 46,
- price = 4.19
- },
- modLivery = {
- label = TranslateCap('stickers'),
- parent = 'cosmetics',
- modType = 48,
- price = 9.3
- },
-
- wheels = {
- label = TranslateCap('wheels'),
- parent = 'cosmetics',
- modFrontWheelsTypes = TranslateCap('wheel_type'),
- modFrontWheelsColor = TranslateCap('wheel_color'),
- tyreSmokeColor = TranslateCap('tiresmoke')
- },
- modFrontWheelsTypes = {
- label = TranslateCap('wheel_type'),
- parent = 'wheels',
- modFrontWheelsType0 = TranslateCap('sport'),
- modFrontWheelsType1 = TranslateCap('muscle'),
- modFrontWheelsType2 = TranslateCap('lowrider'),
- modFrontWheelsType3 = TranslateCap('suv'),
- modFrontWheelsType4 = TranslateCap('allterrain'),
- modFrontWheelsType5 = TranslateCap('tuning'),
- modFrontWheelsType6 = TranslateCap('motorcycle'),
- modFrontWheelsType7 = TranslateCap('highend')
- },
- modFrontWheelsType0 = {
- label = TranslateCap('sport'),
- parent = 'modFrontWheelsTypes',
- modType = 23,
- wheelType = 0,
- price = 4.65
- },
- modFrontWheelsType1 = {
- label = TranslateCap('muscle'),
- parent = 'modFrontWheelsTypes',
- modType = 23,
- wheelType = 1,
- price = 4.19
- },
- modFrontWheelsType2 = {
- label = TranslateCap('lowrider'),
- parent = 'modFrontWheelsTypes',
- modType = 23,
- wheelType = 2,
- price = 4.65
- },
- modFrontWheelsType3 = {
- label = TranslateCap('suv'),
- parent = 'modFrontWheelsTypes',
- modType = 23,
- wheelType = 3,
- price = 4.19
- },
- modFrontWheelsType4 = {
- label = TranslateCap('allterrain'),
- parent = 'modFrontWheelsTypes',
- modType = 23,
- wheelType = 4,
- price = 4.19
- },
- modFrontWheelsType5 = {
- label = TranslateCap('tuning'),
- parent = 'modFrontWheelsTypes',
- modType = 23,
- wheelType = 5,
- price = 5.12
- },
- modFrontWheelsType6 = {
- label = TranslateCap('motorcycle'),
- parent = 'modFrontWheelsTypes',
- modType = 23,
- wheelType = 6,
- price = 3.26
- },
- modFrontWheelsType7 = {
- label = TranslateCap('highend'),
- parent = 'modFrontWheelsTypes',
- modType = 23,
- wheelType = 7,
- price = 5.12
- },
- modFrontWheelsColor = {
- label = TranslateCap('wheel_color'),
- parent = 'wheels'
- },
- wheelColor = {
- label = TranslateCap('wheel_color'),
- parent = 'modFrontWheelsColor',
- modType = 'wheelColor',
- price = 0.66
- },
- plateIndex = {
- label = TranslateCap('licenseplates'),
- parent = 'cosmetics',
- modType = 'plateIndex',
- price = 1.1
- },
- resprays = {
- label = TranslateCap('respray'),
- parent = 'cosmetics',
- primaryRespray = TranslateCap('primary'),
- secondaryRespray = TranslateCap('secondary'),
- pearlescentRespray = TranslateCap('pearlescent'),
- },
- primaryRespray = {
- label = TranslateCap('primary'),
- parent = 'resprays',
- },
- secondaryRespray = {
- label = TranslateCap('secondary'),
- parent = 'resprays',
- },
- pearlescentRespray = {
- label = TranslateCap('pearlescent'),
- parent = 'resprays',
- },
- color1 = {
- label = TranslateCap('primary'),
- parent = 'primaryRespray',
- modType = 'color1',
- price = 1.12
- },
- color2 = {
- label = TranslateCap('secondary'),
- parent = 'secondaryRespray',
- modType = 'color2',
- price = 0.66
- },
- pearlescentColor = {
- label = TranslateCap('pearlescent'),
- parent = 'pearlescentRespray',
- modType = 'pearlescentColor',
- price = 0.88
- },
- modXenon = {
- label = TranslateCap('headlights'),
- parent = 'cosmetics',
- modType = 22,
- price = 3.72
- },
- xenonColor = {
- label = TranslateCap('headlights'),
- parent = 'cosmetics',
- modType = 'xenonColor',
- price = 3.72
- },
- bodyparts = {
- label = TranslateCap('bodyparts'),
- parent = 'cosmetics',
- modFender = TranslateCap('leftfender'),
- modRightFender = TranslateCap('rightfender'),
- modSpoilers = TranslateCap('spoilers'),
- modSideSkirt = TranslateCap('sideskirt'),
- modFrame = TranslateCap('cage'),
- modHood = TranslateCap('hood'),
- modGrille = TranslateCap('grille'),
- modRearBumper = TranslateCap('rearbumper'),
- modFrontBumper = TranslateCap('frontbumper'),
- modExhaust = TranslateCap('exhaust'),
- modRoof = TranslateCap('roof')
- },
- modSpoilers = {
- label = TranslateCap('spoilers'),
- parent = 'bodyparts',
- modType = 0,
- price = 4.65
- },
- modFrontBumper = {
- label = TranslateCap('frontbumper'),
- parent = 'bodyparts',
- modType = 1,
- price = 5.12
- },
- modRearBumper = {
- label = TranslateCap('rearbumper'),
- parent = 'bodyparts',
- modType = 2,
- price = 5.12
- },
- modSideSkirt = {
- label = TranslateCap('sideskirt'),
- parent = 'bodyparts',
- modType = 3,
- price = 4.65
- },
- modExhaust = {
- label = TranslateCap('exhaust'),
- parent = 'bodyparts',
- modType = 4,
- price = 5.12
- },
- modFrame = {
- label = TranslateCap('cage'),
- parent = 'bodyparts',
- modType = 5,
- price = 5.12
- },
- modGrille = {
- label = TranslateCap('grille'),
- parent = 'bodyparts',
- modType = 6,
- price = 3.72
- },
- modHood = {
- label = TranslateCap('hood'),
- parent = 'bodyparts',
- modType = 7,
- price = 4.88
- },
- modFender = {
- label = TranslateCap('leftfender'),
- parent = 'bodyparts',
- modType = 8,
- price = 5.12
- },
- modRightFender = {
- label = TranslateCap('rightfender'),
- parent = 'bodyparts',
- modType = 9,
- price = 5.12
- },
- modRoof = {
- label = TranslateCap('roof'),
- parent = 'bodyparts',
- modType = 10,
- price = 5.58
- },
- windowTint = {
- label = TranslateCap('windowtint'),
- parent = 'cosmetics',
- modType = 'windowTint',
- price = 1.12
- },
- modHorns = {
- label = TranslateCap('horns'),
- parent = 'cosmetics',
- modType = 14,
- price = 1.12
- },
- neonColor = {
- label = TranslateCap('neons'),
- parent = 'cosmetics',
- modType = 'neonColor',
- price = 1.12
- },
- tyreSmokeColor = {
- label = TranslateCap('tiresmoke'),
- parent = 'wheels',
- modType = 'tyreSmokeColor',
- price = 1.12
- }
-
-}
diff --git a/[esx_addons]/esx_lscustom/fxmanifest.lua b/[esx_addons]/esx_lscustom/fxmanifest.lua
deleted file mode 100644
index 6d2e6fbc..00000000
--- a/[esx_addons]/esx_lscustom/fxmanifest.lua
+++ /dev/null
@@ -1,24 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX LS Customs'
-lua54 'yes'
-version '1.9.0'
-
-shared_script '@es_extended/imports.lua'
-
-server_scripts {
- '@oxmysql/lib/MySQL.lua',
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'server/main.lua'
-}
-
-client_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'client/main.lua'
-}
diff --git a/[esx_addons]/esx_lscustom/locales/br.lua b/[esx_addons]/esx_lscustom/locales/br.lua
deleted file mode 100644
index 9b6763e0..00000000
--- a/[esx_addons]/esx_lscustom/locales/br.lua
+++ /dev/null
@@ -1,276 +0,0 @@
-Locales['br'] = {
- ['by_default'] = 'default',
- ['installed'] = 'instalado',
- ['already_own'] = 'já possuis: %s',
- ['not_enough_money'] = 'sem dinheiro!',
- ['purchased'] = 'tu compraste esta peça!',
- ['press_custom'] = 'pressiona ~INPUT_PICKUP~ para personalizar o veiculo.',
- ['level'] = 'level %s',
- ['neon'] = 'neon',
- ['blip_name'] = 'los Santos Customs',
--- Paint Colors
- -- Black
- ['black'] = 'preto',
- ['graphite'] = 'preto grafit',
- ['black_metallic'] = 'preto metalico',
- ['caststeel'] = 'aço fundido',
- ['black_anth'] = 'antracite Preto',
- ['matteblack'] = 'preto fosco',
- ['darknight'] = 'noite escura',
- ['deepblack'] = 'preto profundo',
- ['oil'] = 'preto oleo',
- ['carbon'] = 'preto carbono',
- -- White
- ['white'] = 'branco',
- ['vanilla'] = 'baunilha',
- ['creme'] = 'creme',
- ['polarwhite'] = 'branco polar',
- ['beige'] = 'bege',
- ['mattewhite'] = 'branco fosco',
- ['snow'] = 'branco neve',
- ['cotton'] = 'branco algodao',
- ['alabaster'] = 'branco alabastro',
- ['purewhite'] = 'branco puro',
- -- Grey
- ['grey'] = 'cinzento',
- ['silver'] = 'prata',
- ['metallicgrey'] = 'cinza metalizado',
- ['laminatedsteel'] = 'aço laminado',
- ['darkgray'] = 'cinza escuro',
- ['rockygray'] = 'cinza rochoso',
- ['graynight'] = 'noite cinzenta',
- ['aluminum'] = 'alumínio',
- ['graymat'] = 'cinza fosco',
- ['lightgrey'] = 'cinza claro',
- ['asphaltgray'] = 'asfalto Cinza',
- ['grayconcrete'] = 'cinza concreto',
- ['darksilver'] = 'prata escura',
- ['magnesite'] = 'magnesita',
- ['nickel'] = 'níquel',
- ['zinc'] = 'zinco',
- ['dolomite'] = 'dolomite',
- ['bluesilver'] = 'prata azul',
- ['titanium'] = 'titânio',
- ['steelblue'] = 'aço azul',
- ['champagne'] = 'champanhe',
- ['grayhunter'] = 'caçador cinzento',
- -- Red
- ['red'] = 'vermelho',
- ['torino_red'] = 'vermelho torino',
- ['poppy'] = 'vermelho papoila',
- ['copper_red'] = 'vermelho cobre',
- ['cardinal'] = 'vermelho cardeal',
- ['brick'] = 'vermelho tijolo',
- ['garnet'] = 'vermelho granada',
- ['cabernet'] = 'vermelho cabernet',
- ['candy'] = 'vermelho doce',
- ['matte_red'] = 'vermelho fosco',
- ['dark_red'] = 'vermelho escuro',
- ['red_pulp'] = 'polpa vermelha',
- ['bril_red'] = 'vermelho brilhante',
- ['pale_red'] = 'vermelho pálido',
- ['wine_red'] = 'vermelho vinho',
- ['volcano'] = 'vermelho vulcão',
- -- Pink
- ['pink'] = 'rosa',
- ['electricpink'] = 'rosa elétrica',
- ['brightpink'] = 'rosa brilhante',
- ['salmon'] = 'rosa salmão',
- ['sugarplum'] = 'ameixa doce',
- -- Blue
- ['blue'] = 'azul',
- ['topaz'] = 'azul topázio',
- ['light_blue'] = 'azul claro',
- ['galaxy_blue'] = 'azul galáxia',
- ['dark_blue'] = 'azul escuro',
- ['azure'] = 'azure',
- ['navy_blue'] = 'azul marinho',
- ['lapis'] = 'lápis lazúli',
- ['blue_diamond'] = 'azul diamante',
- ['surfer'] = 'azul surfista',
- ['pastel_blue'] = 'azul pastel',
- ['celeste_blue'] = 'azul celeste',
- ['rally_blue'] = 'azul rally',
- ['blue_paradise'] = 'azul paraíso',
- ['blue_night'] = 'azul noite',
- ['cyan_blue'] = 'azul ciano',
- ['cobalt'] = 'azul cobalto',
- ['electric_blue'] = 'azul elétrico',
- ['horizon_blue'] = 'azul horizonte',
- ['metallic_blue'] = 'azul metálico',
- ['aquamarine'] = 'azul aquamarino',
- ['blue_agathe'] = 'azul ágata',
- ['zirconium'] = 'azul zircônio',
- ['spinel'] = 'azul espinel',
- ['tourmaline'] = 'azul turmalina',
- ['paradise'] = 'azul paraíso',
- ['bubble_gum'] = 'azul pastilha',
- ['midnight_blue'] = 'azul meia-noite',
- ['forbidden_blue'] = 'azul proibido',
- ['glacier_blue'] = 'azul glaciar',
- -- Yellow
- ['yellow'] = 'amarelo',
- ['wheat'] = 'amarelo trigo',
- ['raceyellow'] = 'amarelo corrida',
- ['paleyellow'] = 'amarelo pálido',
- ['lightyellow'] = 'amarelo claro',
- -- Green
- ['green'] = 'verde',
- ['met_dark_green'] = 'verde escuro metálico',
- ['rally_green'] = 'verde rally',
- ['pine_green'] = 'verde pinho',
- ['olive_green'] = 'verde oliva',
- ['light_green'] = 'verde claro',
- ['lime_green'] = 'verde lima',
- ['forest_green'] = 'verde floresta',
- ['lawn_green'] = 'verde relva',
- ['imperial_green'] = 'verde imperial',
- ['green_bottle'] = 'verde garrafa',
- ['citrus_green'] = 'verde cítrico',
- ['green_anis'] = 'verde anis',
- ['khaki'] = 'verde Khaki',
- ['army_green'] = 'verde tropa',
- ['dark_green'] = 'verde escuro',
- ['hunter_green'] = 'verde caça',
- ['matte_foilage_green'] = 'verde fosco',
- -- Orange
- ['orange'] = 'laranja',
- ['tangerine'] = 'laranja tangerina',
- ['matteorange'] = 'laranja fosco',
- ['lightorange'] = 'laranja claro',
- ['peach'] = 'laranja pessego',
- ['pumpkin'] = 'laranja abóbora',
- ['orangelambo'] = 'laranja lambo',
- -- Brown
- ['brown'] = 'castanho',
- ['copper'] = 'castanho cobre',
- ['lightbrown'] = 'castanho claro',
- ['darkbrown'] = 'castanho escuro',
- ['Bronze'] = 'bronze',
- ['brownmetallic'] = 'castanho metálico',
- ['expresso'] = 'castanho expresso',
- ['chocolate'] = 'castanho chocolate',
- ['terracotta'] = 'castanho Terracota',
- ['marble'] = 'castanho mármore',
- ['sand'] = 'castanho areia',
- ['sepia'] = 'castanho sepia',
- ['bison'] = 'castanho Bisonte',
- ['palm'] = 'castanho palma',
- ['caramel'] = 'castanho caramelo',
- ['rust'] = 'castanho ferrugem',
- ['chestnut'] = 'castanho fruto-seco',
- ['hazelnut'] = 'castanho avelã',
- ['shell'] = 'castanho concha',
- ['mahogany'] = 'castanho mogno',
- ['cauldron'] = 'castanho caldeirão',
- ['blond'] = 'castanho loiro',
- ['gravel'] = 'castanho gravilha',
- ['darkearth'] = 'castanho escuro',
- ['desert'] = 'castanho deserto',
- -- Purple
- ['purple'] = 'roxo',
- ['indigo'] = 'roxo indigo',
- ['deeppurple'] = 'roxo profundo',
- ['darkviolet'] = 'violeta negro',
- ['amethyst'] = 'roxo ametista',
- ['mysticalviolet'] = 'violeta mística',
- ['purplemetallic'] = 'roxo metálico',
- ['matteviolet'] = 'violeta fosco',
- ['mattedeeppurple'] = 'roxo fosco',
- -- Chrome
- ['chrome'] = 'cromado',
- ['brushedchrome'] = 'cromado escovado',
- ['blackchrome'] = 'cromado Preto',
- ['brushedaluminum'] = 'alumínio escovado',
- -- Metal
- ['gold'] = 'ouro',
- ['puregold'] = 'ouro puro',
- ['brushedgold'] = 'ouro escovado',
- ['lightgold'] = 'ouro brilhante',
--- License Plates
- ['blue_on_white_1'] = 'azul e cinza 1',
- ['yellow_on_black'] = 'amarelo e Preto',
- ['yellow_blue'] = 'amarelo e azul',
- ['blue_on_white_2'] = 'azul e cinza 2',
- ['blue_on_white_3'] = 'azul no cinza 3',
--- Upgrades
- ['upgrades'] = 'upgrades',
- ['engine'] = 'motor',
- ['brakes'] = 'travões',
- ['transmission'] = 'transmissão',
- ['suspension'] = 'suspensão',
- ['armor'] = 'armadura',
- ['turbo'] = 'turbo',
- ['no_turbo'] = 'sem turbo',
--- Cosmetics
- ['cosmetics'] = 'cosméticos',
- -- Body Parts
- ['bodyparts'] = 'chaparia',
- ['leftfender'] = 'para-choque esquerdo',
- ['rightfender'] = 'para-choque direito',
- ['spoilers'] = 'alarão',
- ['sideskirt'] = 'saias laterais',
- ['cage'] = 'santantônio',
- ['hood'] = 'capô',
- ['grille'] = 'grade',
- ['rearbumper'] = 'para-choque traseiro',
- ['frontbumper'] = 'para-choque dianteiro',
- ['exhaust'] = 'escape',
- ['roof'] = 'teto',
- -- Paint
- ['respray'] = 'pintura',
- ['primary'] = 'primário',
- ['secondary'] = 'secundário',
- ['pearlescent'] = 'perolado',
- -- Misc
- ['headlights'] = 'faróis dianteiros',
- ['licenseplates'] = 'matricula',
- ['windowtint'] = 'pelicula de vidro',
- ['horns'] = 'buzinas',
- -- Neon
- ['neons'] = 'neons',
- -- Wheels
- ['wheels'] = 'rodas',
- ['tiresmoke'] = 'fumaça de pneu',
- ['wheel_type'] = 'tipo de roda',
- ['wheel_color'] = 'cor de roda',
- ['sport'] = 'desportivo',
- ['muscle'] = 'muscle',
- ['lowrider'] = 'lowrider',
- ['suv'] = 'suv',
- ['allterrain'] = 'todo terreno',
- ['tuning'] = 'tuning',
- ['motorcycle'] = 'motociclo',
- ['highend'] = 'high end',
-
- ['modplateholder'] = 'placa - atrás',
- ['modvanityplate'] = 'placa - frente',
- ['interior'] = 'interior',
- ['trim'] = 'trim',
- ['dashboard'] = 'painel',
- ['speedometer'] = 'velocímetro',
- ['door_speakers'] = 'colunas da porta',
- ['seats'] = 'bancos',
- ['steering_wheel'] = 'volante',
- ['gear_lever'] = 'manete de veloçidades',
- ['quarter_deck'] = 'quarter-deck',
- ['speakers'] = 'colunas',
- ['trunk'] = 'bagagem',
- ['hydraulic'] = 'hidráulico',
- ['engine_block'] = 'bloco do motor',
- ['air_filter'] = 'filtro de ar',
- ['struts'] = 'suportes do motor',
- ['arch_cover'] = 'cobertura de arco',
- ['aerials'] = 'antenas',
- ['wings'] = 'wings',
- ['fuel_tank'] = 'tanque de combustível',
- ['windows'] = 'janelas',
- ['stickers'] = 'autocolantes',
-
--- Xenon Colors
- ['mintgreen'] = 'Mint Green',
- ['goldenshower'] = 'Golden Shower',
- ['ponypink'] = 'Pony Pink',
- ['hotpink'] = 'Hot Pink',
- ['blacklight'] = 'Blacklight',
-}
diff --git a/[esx_addons]/esx_lscustom/locales/de.lua b/[esx_addons]/esx_lscustom/locales/de.lua
deleted file mode 100644
index fe04d692..00000000
--- a/[esx_addons]/esx_lscustom/locales/de.lua
+++ /dev/null
@@ -1,276 +0,0 @@
-Locales['de'] = {
- ['by_default'] = 'Standard',
- ['installed'] = 'Installiert',
- ['already_own'] = 'Sie besitzen bereits: %s',
- ['not_enough_money'] = 'Du kannst dir diese mod nicht leisten',
- ['purchased'] = 'Du hast diese Mod gekauft!',
- ['press_custom'] = 'Drücke [E] um dein Fahrzeug auf zu Tunen',
- ['level'] = 'level %s',
- ['neon'] = 'Neon',
- ['blip_name'] = 'Tuning',
--- Paint Colors
- -- Black
- ['black'] = 'black',
- ['graphite'] = 'graphite',
- ['black_metallic'] = 'black Metallic',
- ['caststeel'] = 'cast Steel',
- ['black_anth'] = 'black Anthracite',
- ['matteblack'] = 'matte Black',
- ['darknight'] = 'dark Night',
- ['deepblack'] = 'deep Black',
- ['oil'] = 'oil',
- ['carbon'] = 'carbon',
- -- White
- ['white'] = 'white',
- ['vanilla'] = 'vanilla',
- ['creme'] = 'creme',
- ['polarwhite'] = 'polar White',
- ['beige'] = 'beige',
- ['mattewhite'] = 'matte White',
- ['snow'] = 'snow',
- ['cotton'] = 'cotton',
- ['alabaster'] = 'alabaster',
- ['purewhite'] = 'pure White',
- -- Grey
- ['grey'] = 'grey',
- ['silver'] = 'silver',
- ['metallicgrey'] = 'metallic Grey',
- ['laminatedsteel'] = 'laminated Steel',
- ['darkgray'] = 'dark Grey',
- ['rockygray'] = 'rocky Grey',
- ['graynight'] = 'gray Night',
- ['aluminum'] = 'aluminum',
- ['graymat'] = 'matte Grey',
- ['lightgrey'] = 'light Grey',
- ['asphaltgray'] = 'asphalt Grey',
- ['grayconcrete'] = 'concrete Grey',
- ['darksilver'] = 'dark Silver',
- ['magnesite'] = 'magnesite',
- ['nickel'] = 'nickel',
- ['zinc'] = 'zinc',
- ['dolomite'] = 'dolomite',
- ['bluesilver'] = 'blue Silver',
- ['titanium'] = 'titanium',
- ['steelblue'] = 'steel Blue',
- ['champagne'] = 'champagne',
- ['grayhunter'] = 'grey Hunter',
- -- Red
- ['red'] = 'red',
- ['torino_red'] = 'torino Red',
- ['poppy'] = 'poppy',
- ['copper_red'] = 'copper Red',
- ['cardinal'] = 'cardinal Red',
- ['brick'] = 'brick Red',
- ['garnet'] = 'Garnet',
- ['cabernet'] = 'cabernet Red',
- ['candy'] = 'candy Red',
- ['matte_red'] = 'matte Red',
- ['dark_red'] = 'dark Red',
- ['red_pulp'] = 'red Pulp',
- ['bril_red'] = 'brilliant Red',
- ['pale_red'] = 'pale Red',
- ['wine_red'] = 'wine Red',
- ['volcano'] = 'Volcano',
- -- Pink
- ['pink'] = 'pink',
- ['electricpink'] = 'electric Pink',
- ['brightpink'] = 'bright Pink',
- ['salmon'] = 'salmon',
- ['sugarplum'] = 'sugar Plum',
- -- Blue
- ['blue'] = 'blue',
- ['topaz'] = 'topaz',
- ['light_blue'] = 'light Blue',
- ['galaxy_blue'] = 'galaxy Blue',
- ['dark_blue'] = 'dark Blue',
- ['azure'] = 'azure',
- ['navy_blue'] = 'navy Blue',
- ['lapis'] = 'lapis Lazuli',
- ['blue_diamond'] = 'blue Diamond',
- ['surfer'] = 'surfer',
- ['pastel_blue'] = 'pastel Blue',
- ['celeste_blue'] = 'celeste Blue',
- ['rally_blue'] = 'rally Blue',
- ['blue_paradise'] = 'blue Paradise',
- ['blue_night'] = 'blue Night',
- ['cyan_blue'] = 'cyan Blue',
- ['cobalt'] = 'cobalt',
- ['electric_blue'] = 'electric Blue',
- ['horizon_blue'] = 'horizon Blue',
- ['metallic_blue'] = 'metallic Blue',
- ['aquamarine'] = 'aquamarine',
- ['blue_agathe'] = 'blue Agathe',
- ['zirconium'] = 'zirconium',
- ['spinel'] = 'spinel',
- ['tourmaline'] = 'tourmaline',
- ['paradise'] = 'paradise',
- ['bubble_gum'] = 'bubble Gum',
- ['midnight_blue'] = 'midnight Blue',
- ['forbidden_blue'] = 'forbidden Blue',
- ['glacier_blue'] = 'glacier Blue',
- -- Yellow
- ['yellow'] = 'yellow',
- ['wheat'] = 'wheat',
- ['raceyellow'] = 'race Yellow',
- ['paleyellow'] = 'pale Yellow',
- ['lightyellow'] = 'light Yellow',
- -- Green
- ['green'] = 'green',
- ['met_dark_green'] = 'metallic Dark Green',
- ['rally_green'] = 'Rally Green',
- ['pine_green'] = 'pine Green',
- ['olive_green'] = 'olive Green',
- ['light_green'] = 'Light Green',
- ['lime_green'] = 'lime green',
- ['forest_green'] = 'forest Green',
- ['lawn_green'] = 'lawn Green',
- ['imperial_green'] = 'imperial Green',
- ['green_bottle'] = 'breen Bottle',
- ['citrus_green'] = 'citrus Green',
- ['green_anis'] = 'green Anis',
- ['khaki'] = 'Khaki',
- ['army_green'] = 'army Green',
- ['dark_green'] = 'dark Green',
- ['hunter_green'] = 'hunter Green',
- ['matte_foilage_green'] = 'matte Foilage Green',
- -- Orange
- ['orange'] = 'orange',
- ['tangerine'] = 'Tangerine',
- ['matteorange'] = 'Matte Orange',
- ['lightorange'] = 'Light Orange',
- ['peach'] = 'Peach',
- ['pumpkin'] = 'Pumpkin',
- ['orangelambo'] = 'Orange Lambo',
- -- Brown
- ['brown'] = 'brown',
- ['copper'] = 'Copper',
- ['lightbrown'] = 'Light Brown',
- ['darkbrown'] = 'Dark Brown',
- ['bronze'] = 'Bronze',
- ['brownmetallic'] = 'Brown Metallic',
- ['expresso'] = 'Expresso',
- ['chocolate'] = 'Chocolate',
- ['terracotta'] = 'Terracotta',
- ['marble'] = 'Marble',
- ['sand'] = 'Sand',
- ['sepia'] = 'Sepia',
- ['bison'] = 'Bison',
- ['palm'] = 'Palm',
- ['caramel'] = 'Caramel',
- ['rust'] = 'Rust',
- ['chestnut'] = 'Chestnut',
- ['hazelnut'] = 'Hazelnut',
- ['shell'] = 'Shell',
- ['mahogany'] = 'Mahogany',
- ['cauldron'] = 'Cauldron',
- ['blond'] = 'Blond',
- ['gravel'] = 'Gravel',
- ['darkearth'] = 'Dark Earth',
- ['desert'] = 'Desert',
- -- Purple
- ['purple'] = 'purple',
- ['indigo'] = 'Indigo',
- ['deeppurple'] = 'Deep Purple',
- ['darkviolet'] = 'Dark Violet',
- ['amethyst'] = 'Amethyst',
- ['mysticalviolet'] = 'Mystic Violet',
- ['purplemetallic'] = 'Purple Metallic',
- ['matteviolet'] = 'Matte Violet',
- ['mattedeeppurple'] = 'Matte Deep Purple',
- -- Chrome
- ['chrome'] = 'chrome',
- ['brushedchrome'] = 'brushed Chrome',
- ['blackchrome'] = 'black Chrome',
- ['brushedaluminum'] = 'brushed Aluminum',
- -- Metal
- ['gold'] = 'gold',
- ['puregold'] = 'pure Gold',
- ['brushedgold'] = 'brushed Gold',
- ['lightgold'] = 'light Gold',
--- License Plates
- ['blue_on_white_1'] = 'blau auf weiß 1',
- ['yellow_on_black'] = 'gelb auf schwarz',
- ['yellow_blue'] = 'gelb auf blau',
- ['blue_on_white_2'] = 'blau auf weiß 2',
- ['blue_on_white_3'] = 'blau auf weiß 3',
--- Upgrades
- ['upgrades'] = 'Upgrades',
- ['engine'] = 'Motor',
- ['brakes'] = 'bremsen',
- ['transmission'] = 'Getriebe',
- ['suspension'] = 'Suspension',
- ['armor'] = 'Panzerung',
- ['turbo'] = 'Turbo',
- ['no_turbo'] = 'kein Turbo',
--- Cosmetics
- ['cosmetics'] = 'Zubehör',
- -- Body Parts
- ['bodyparts'] = 'Karroserie Teile',
- ['leftfender'] = 'linker Kotflügel',
- ['rightfender'] = 'rechter Kotflügel',
- ['spoilers'] = 'Spoiler',
- ['sideskirt'] = 'Seitenschweller',
- ['cage'] = 'Käfig',
- ['hood'] = 'Motorhaube',
- ['grille'] = 'Gitter',
- ['rearbumper'] = 'hintere Stoßstange',
- ['frontbumper'] = 'Frontstoßstange',
- ['exhaust'] = 'Auspuff',
- ['roof'] = 'Dach',
- -- Paint
- ['respray'] = 'Lackierung',
- ['primary'] = 'Primär',
- ['secondary'] = 'Sekundär',
- ['pearlescent'] = 'Perlglanz',
- -- Misc
- ['headlights'] = 'Scheinwerfer',
- ['licenseplates'] = 'Nummernschild',
- ['windowtint'] = 'Fenstertönung',
- ['horns'] = 'Hörner',
- -- Neon
- ['neons'] = 'neons',
- -- Wheels
- ['wheels'] = 'Räder',
- ['tiresmoke'] = 'Reifenrauch',
- ['wheel_type'] = 'Rad-Typ',
- ['wheel_color'] = 'Radfarbe',
- ['sport'] = 'Sport',
- ['muscle'] = 'Muskel',
- ['lowrider'] = 'Lowrider',
- ['suv'] = 'SUV',
- ['allterrain'] = 'alles Gelände',
- ['tuning'] = 'tuning',
- ['motorcycle'] = 'Motorrad',
- ['highend'] = 'High End',
-
- ['modplateholder'] = 'Platte - Zurück',
- ['modvanityplate'] = 'Platte - Vorne',
- ['interior'] = 'interior',
- ['trim'] = 'trim',
- ['dashboard'] = 'dashboard',
- ['speedometer'] = 'Tachometer',
- ['door_speakers'] = 'Türlautsprecher',
- ['seats'] = 'Sitze',
- ['steering_wheel'] = 'Lenkrad',
- ['gear_lever'] = 'Schalthebel',
- ['quarter_deck'] = 'Achterdeck',
- ['speakers'] = 'Lautsprecher',
- ['trunk'] = 'Kofferraum',
- ['hydraulic'] = 'hydraulisch',
- ['engine_block'] = 'Motorblock',
- ['air_filter'] = 'air filter',
- ['struts'] = 'Streben',
- ['arch_cover'] = 'Bogenabdeckung',
- ['aerials'] = 'Antennen',
- ['wings'] = 'Flügel',
- ['fuel_tank'] = 'Treibstofftank',
- ['windows'] = 'Fenster',
- ['stickers'] = 'Designs',
-
--- Xenon Colors
- ['mintgreen'] = 'Mint Green',
- ['goldenshower'] = 'Golden Shower',
- ['ponypink'] = 'Pony Pink',
- ['hotpink'] = 'Hot Pink',
- ['blacklight'] = 'Blacklight',
-}
diff --git a/[esx_addons]/esx_lscustom/locales/en.lua b/[esx_addons]/esx_lscustom/locales/en.lua
deleted file mode 100644
index 937538d5..00000000
--- a/[esx_addons]/esx_lscustom/locales/en.lua
+++ /dev/null
@@ -1,276 +0,0 @@
-Locales['en'] = {
- ['by_default'] = 'default',
- ['installed'] = 'installed',
- ['already_own'] = 'you already own: %s',
- ['not_enough_money'] = 'you cannot afford this mod!',
- ['purchased'] = 'you have purchased the mod!',
- ['press_custom'] = 'press ~b~[E]~s~ to Personalise Your Vehicle',
- ['level'] = 'level %s',
- ['neon'] = 'neon',
- ['blip_name'] = 'los Santos Customs',
--- Paint Colors
- -- Black
- ['black'] = 'black',
- ['graphite'] = 'graphite',
- ['black_metallic'] = 'black Metallic',
- ['caststeel'] = 'cast Steel',
- ['black_anth'] = 'black Anthracite',
- ['matteblack'] = 'matte Black',
- ['darknight'] = 'dark Night',
- ['deepblack'] = 'deep Black',
- ['oil'] = 'oil',
- ['carbon'] = 'carbon',
- -- White
- ['white'] = 'white',
- ['vanilla'] = 'vanilla',
- ['creme'] = 'creme',
- ['polarwhite'] = 'polar White',
- ['beige'] = 'beige',
- ['mattewhite'] = 'matte White',
- ['snow'] = 'snow',
- ['cotton'] = 'cotton',
- ['alabaster'] = 'alabaster',
- ['purewhite'] = 'pure White',
- -- Grey
- ['grey'] = 'grey',
- ['silver'] = 'silver',
- ['metallicgrey'] = 'metallic Grey',
- ['laminatedsteel'] = 'laminated Steel',
- ['darkgray'] = 'dark Grey',
- ['rockygray'] = 'rocky Grey',
- ['graynight'] = 'gray Night',
- ['aluminum'] = 'aluminum',
- ['graymat'] = 'matte Grey',
- ['lightgrey'] = 'light Grey',
- ['asphaltgray'] = 'asphalt Grey',
- ['grayconcrete'] = 'concrete Grey',
- ['darksilver'] = 'dark Silver',
- ['magnesite'] = 'magnesite',
- ['nickel'] = 'nickel',
- ['zinc'] = 'zinc',
- ['dolomite'] = 'dolomite',
- ['bluesilver'] = 'blue Silver',
- ['titanium'] = 'titanium',
- ['steelblue'] = 'steel Blue',
- ['champagne'] = 'champagne',
- ['grayhunter'] = 'grey Hunter',
- -- Red
- ['red'] = 'red',
- ['torino_red'] = 'torino Red',
- ['poppy'] = 'poppy',
- ['copper_red'] = 'copper Red',
- ['cardinal'] = 'cardinal Red',
- ['brick'] = 'brick Red',
- ['garnet'] = 'Garnet',
- ['cabernet'] = 'cabernet Red',
- ['candy'] = 'candy Red',
- ['matte_red'] = 'matte Red',
- ['dark_red'] = 'dark Red',
- ['red_pulp'] = 'red Pulp',
- ['bril_red'] = 'brilliant Red',
- ['pale_red'] = 'pale Red',
- ['wine_red'] = 'wine Red',
- ['volcano'] = 'Volcano',
- -- Pink
- ['pink'] = 'pink',
- ['electricpink'] = 'electric Pink',
- ['brightpink'] = 'bright Pink',
- ['salmon'] = 'salmon',
- ['sugarplum'] = 'sugar Plum',
- -- Blue
- ['blue'] = 'blue',
- ['topaz'] = 'topaz',
- ['light_blue'] = 'light Blue',
- ['galaxy_blue'] = 'galaxy Blue',
- ['dark_blue'] = 'dark Blue',
- ['azure'] = 'azure',
- ['navy_blue'] = 'navy Blue',
- ['lapis'] = 'lapis Lazuli',
- ['blue_diamond'] = 'blue Diamond',
- ['surfer'] = 'surfer',
- ['pastel_blue'] = 'pastel Blue',
- ['celeste_blue'] = 'celeste Blue',
- ['rally_blue'] = 'rally Blue',
- ['blue_paradise'] = 'blue Paradise',
- ['blue_night'] = 'blue Night',
- ['cyan_blue'] = 'cyan Blue',
- ['cobalt'] = 'cobalt',
- ['electric_blue'] = 'electric Blue',
- ['horizon_blue'] = 'horizon Blue',
- ['metallic_blue'] = 'metallic Blue',
- ['aquamarine'] = 'aquamarine',
- ['blue_agathe'] = 'blue Agathe',
- ['zirconium'] = 'zirconium',
- ['spinel'] = 'spinel',
- ['tourmaline'] = 'tourmaline',
- ['paradise'] = 'paradise',
- ['bubble_gum'] = 'bubble Gum',
- ['midnight_blue'] = 'midnight Blue',
- ['forbidden_blue'] = 'forbidden Blue',
- ['glacier_blue'] = 'glacier Blue',
- -- Yellow
- ['yellow'] = 'yellow',
- ['wheat'] = 'wheat',
- ['raceyellow'] = 'race Yellow',
- ['paleyellow'] = 'pale Yellow',
- ['lightyellow'] = 'light Yellow',
- -- Green
- ['green'] = 'green',
- ['met_dark_green'] = 'metallic Dark Green',
- ['rally_green'] = 'Rally Green',
- ['pine_green'] = 'pine Green',
- ['olive_green'] = 'olive Green',
- ['light_green'] = 'Light Green',
- ['lime_green'] = 'lime green',
- ['forest_green'] = 'forest Green',
- ['lawn_green'] = 'lawn Green',
- ['imperial_green'] = 'imperial Green',
- ['green_bottle'] = 'breen Bottle',
- ['citrus_green'] = 'citrus Green',
- ['green_anis'] = 'green Anis',
- ['khaki'] = 'Khaki',
- ['army_green'] = 'army Green',
- ['dark_green'] = 'dark Green',
- ['hunter_green'] = 'hunter Green',
- ['matte_foilage_green'] = 'matte Foilage Green',
- -- Orange
- ['orange'] = 'orange',
- ['tangerine'] = 'Tangerine',
- ['matteorange'] = 'Matte Orange',
- ['lightorange'] = 'Light Orange',
- ['peach'] = 'Peach',
- ['pumpkin'] = 'Pumpkin',
- ['orangelambo'] = 'Orange Lambo',
- -- Brown
- ['brown'] = 'brown',
- ['copper'] = 'Copper',
- ['lightbrown'] = 'Light Brown',
- ['darkbrown'] = 'Dark Brown',
- ['bronze'] = 'Bronze',
- ['brownmetallic'] = 'Brown Metallic',
- ['expresso'] = 'Expresso',
- ['chocolate'] = 'Chocolate',
- ['terracotta'] = 'Terracotta',
- ['marble'] = 'Marble',
- ['sand'] = 'Sand',
- ['sepia'] = 'Sepia',
- ['bison'] = 'Bison',
- ['palm'] = 'Palm',
- ['caramel'] = 'Caramel',
- ['rust'] = 'Rust',
- ['chestnut'] = 'Chestnut',
- ['hazelnut'] = 'Hazelnut',
- ['shell'] = 'Shell',
- ['mahogany'] = 'Mahogany',
- ['cauldron'] = 'Cauldron',
- ['blond'] = 'Blond',
- ['gravel'] = 'Gravel',
- ['darkearth'] = 'Dark Earth',
- ['desert'] = 'Desert',
- -- Purple
- ['purple'] = 'purple',
- ['indigo'] = 'Indigo',
- ['deeppurple'] = 'Deep Purple',
- ['darkviolet'] = 'Dark Violet',
- ['amethyst'] = 'Amethyst',
- ['mysticalviolet'] = 'Mystic Violet',
- ['purplemetallic'] = 'Purple Metallic',
- ['matteviolet'] = 'Matte Violet',
- ['mattedeeppurple'] = 'Matte Deep Purple',
- -- Chrome
- ['chrome'] = 'chrome',
- ['brushedchrome'] = 'brushed Chrome',
- ['blackchrome'] = 'black Chrome',
- ['brushedaluminum'] = 'brushed Aluminum',
- -- Metal
- ['gold'] = 'gold',
- ['puregold'] = 'pure Gold',
- ['brushedgold'] = 'brushed Gold',
- ['lightgold'] = 'light Gold',
--- License Plates
- ['blue_on_white_1'] = 'blue on white 1',
- ['yellow_on_black'] = 'yellow on black',
- ['yellow_blue'] = 'yellow on blue',
- ['blue_on_white_2'] = 'blue on white 2',
- ['blue_on_white_3'] = 'blue on white 3',
--- Upgrades
- ['upgrades'] = 'upgrades',
- ['engine'] = 'engine',
- ['brakes'] = 'brakes',
- ['transmission'] = 'transmission',
- ['suspension'] = 'suspension',
- ['armor'] = 'armor',
- ['turbo'] = 'turbo',
- ['no_turbo'] = 'no turbo',
--- Cosmetics
- ['cosmetics'] = 'cosmetics',
- -- Body Parts
- ['bodyparts'] = 'body Parts',
- ['leftfender'] = 'left fender',
- ['rightfender'] = 'right fender',
- ['spoilers'] = 'spoilers',
- ['sideskirt'] = 'side skirts',
- ['cage'] = 'cage',
- ['hood'] = 'hood',
- ['grille'] = 'grille',
- ['rearbumper'] = 'rear bumper',
- ['frontbumper'] = 'front bumper',
- ['exhaust'] = 'exhaust',
- ['roof'] = 'roof',
- -- Paint
- ['respray'] = 'respray',
- ['primary'] = 'primary',
- ['secondary'] = 'secondary',
- ['pearlescent'] = 'pearlescent',
- -- Misc
- ['headlights'] = 'headlights',
- ['licenseplates'] = 'license Plate',
- ['windowtint'] = 'window Tint',
- ['horns'] = 'horns',
- -- Neon
- ['neons'] = 'neons',
- -- Wheels
- ['wheels'] = 'wheels',
- ['tiresmoke'] = 'tire smoke',
- ['wheel_type'] = 'wheel type',
- ['wheel_color'] = 'wheel color',
- ['sport'] = 'sport',
- ['muscle'] = 'muscle',
- ['lowrider'] = 'lowrider',
- ['suv'] = 'SUV',
- ['allterrain'] = 'all terrain',
- ['tuning'] = 'tuning',
- ['motorcycle'] = 'motorcycle',
- ['highend'] = 'high end',
-
- ['modplateholder'] = 'plate - Back',
- ['modvanityplate'] = 'plate - Front',
- ['interior'] = 'interior',
- ['trim'] = 'trim',
- ['dashboard'] = 'dashboard',
- ['speedometer'] = 'speedometer',
- ['door_speakers'] = 'door speakers',
- ['seats'] = 'seats',
- ['steering_wheel'] = 'steering wheel',
- ['gear_lever'] = 'gear lever',
- ['quarter_deck'] = 'quarter-deck',
- ['speakers'] = 'speakers',
- ['trunk'] = 'trunk',
- ['hydraulic'] = 'hydraulic',
- ['engine_block'] = 'engine block',
- ['air_filter'] = 'air filter',
- ['struts'] = 'struts',
- ['arch_cover'] = 'arch cover',
- ['aerials'] = 'aerials',
- ['wings'] = 'wings',
- ['fuel_tank'] = 'fuel tank',
- ['windows'] = 'windows',
- ['stickers'] = 'Livery',
-
--- Xenon Colors
- ['mintgreen'] = 'Mint Green',
- ['goldenshower'] = 'Golden Shower',
- ['ponypink'] = 'Pony Pink',
- ['hotpink'] = 'Hot Pink',
- ['blacklight'] = 'Blacklight',
-}
diff --git a/[esx_addons]/esx_lscustom/locales/es.lua b/[esx_addons]/esx_lscustom/locales/es.lua
deleted file mode 100644
index a21c1999..00000000
--- a/[esx_addons]/esx_lscustom/locales/es.lua
+++ /dev/null
@@ -1,276 +0,0 @@
-Locales['es'] = {
- ['by_default'] = 'Por defecto',
- ['installed'] = 'Instalado',
- ['already_own'] = 'Ya tienes: %s~',
- ['not_enough_money'] = '¡No tienes suficiente dinero!',
- ['purchased'] = '¡Comprado!',
- ['press_custom'] = 'Pulsa [E] para personalizar tu vehiculo.',
- ['level'] = 'Nivel %s',
- ['neon'] = 'Neón',
- ['blip_name'] = 'los Santos Customs',
--- Paint Colors
- -- Black
- ['black'] = 'negro',
- ['graphite'] = 'grafito',
- ['black_metallic'] = 'negro metalizado',
- ['caststeel'] = 'acero fundido',
- ['black_anth'] = 'antracita negro',
- ['matteblack'] = 'negro mate',
- ['darknight'] = 'noche oscura',
- ['deepblack'] = 'negro profundo',
- ['oil'] = 'petróleo',
- ['carbon'] = 'carbon',
- -- White
- ['white'] = 'blanco',
- ['vanilla'] = 'vainilla',
- ['creme'] = 'crema',
- ['polarwhite'] = 'blanco polar',
- ['beige'] = 'café',
- ['mattewhite'] = 'blanco mate',
- ['snow'] = 'nieve',
- ['cotton'] = 'algodón',
- ['alabaster'] = 'alabastro',
- ['purewhite'] = 'blanco puro',
- -- Grey
- ['grey'] = 'gris',
- ['silver'] = 'plata',
- ['metallicgrey'] = 'gris metalizado',
- ['laminatedsteel'] = 'acero laminado',
- ['darkgray'] = 'gris oscuro',
- ['rockygray'] = 'gris rocoso',
- ['graynight'] = 'noche gris',
- ['aluminum'] = 'noche gris',
- ['graymat'] = 'gris mate',
- ['lightgrey'] = 'gris claro',
- ['asphaltgray'] = 'asfalto gris',
- ['grayconcrete'] = 'hormigón gris',
- ['darksilver'] = 'plateado oscuro',
- ['magnesite'] = 'magnesita',
- ['nickel'] = 'níquel',
- ['zinc'] = 'zinc',
- ['dolomite'] = 'dolomita',
- ['bluesilver'] = 'azul plata',
- ['titanium'] = 'titanio',
- ['steelblue'] = 'azul acero',
- ['champagne'] = 'champán',
- ['grayhunter'] = 'cazador gris',
- -- Red
- ['red'] = 'rojo',
- ['torino_red'] = 'rojo torino',
- ['poppy'] = 'amapola',
- ['copper_red'] = 'rojo cobre',
- ['cardinal'] = 'cardenal rojo',
- ['brick'] = 'ladrillo rojo',
- ['garnet'] = 'Granate',
- ['cabernet'] = 'rojo cabernet',
- ['candy'] = 'caramelo rojo',
- ['matte_red'] = 'rojo mate',
- ['dark_red'] = 'rojo oscuro',
- ['red_pulp'] = 'pulpa roja',
- ['bril_red'] = 'rojo brillante',
- ['pale_red'] = 'rojo pálido',
- ['wine_red'] = 'vino rojo',
- ['volcano'] = 'Volcán',
- -- Pink
- ['pink'] = 'rosa',
- ['electricpink'] = 'rosa electrico',
- ['brightpink'] = 'Rosa brillante',
- ['salmon'] = 'salmón',
- ['sugarplum'] = 'Ciruela de azúcar',
- -- Blue
- ['blue'] = 'azul',
- ['topaz'] = 'topacio',
- ['light_blue'] = 'azul claro',
- ['galaxy_blue'] = 'galaxia azul',
- ['dark_blue'] = 'azul oscuro',
- ['azure'] = 'azul intenso',
- ['navy_blue'] = 'azul marino',
- ['lapis'] = 'lapislázuli',
- ['blue_diamond'] = 'diamante azul',
- ['surfer'] = 'azul surfista',
- ['pastel_blue'] = 'azul pastel',
- ['celeste_blue'] = 'celeste azul',
- ['rally_blue'] = 'rally azul',
- ['blue_paradise'] = 'paraíso azul',
- ['blue_night'] = 'noche azul',
- ['cyan_blue'] = 'azul cian',
- ['cobalt'] = 'cobalto',
- ['electric_blue'] = 'azul eléctrico',
- ['horizon_blue'] = 'horizonte azul',
- ['metallic_blue'] = 'azúl metálico',
- ['aquamarine'] = 'aguamarina',
- ['blue_agathe'] = 'ágata azul',
- ['zirconium'] = 'circonio',
- ['spinel'] = 'espinela',
- ['tourmaline'] = 'turmalina',
- ['paradise'] = 'paraíso',
- ['bubble_gum'] = 'chicle',
- ['midnight_blue'] = 'azul medianoche',
- ['forbidden_blue'] = 'azul prohibido',
- ['glacier_blue'] = 'azul glaciar',
- -- Yellow
- ['yellow'] = 'amarillo',
- ['wheat'] = 'trigo',
- ['raceyellow'] = 'raza amarilla',
- ['paleyellow'] = 'amarillo pálido',
- ['lightyellow'] = 'amarillo claro',
- -- Green
- ['green'] = 'verde',
- ['met_dark_green'] = 'verde oscuro metalizado',
- ['rally_green'] = 'Rally verde',
- ['pine_green'] = 'verde pino',
- ['olive_green'] = 'verde oliva',
- ['light_green'] = 'Verde claro',
- ['lime_green'] = 'verde lima',
- ['forest_green'] = 'verde bosque',
- ['lawn_green'] = 'verde césped',
- ['imperial_green'] = 'verde imperial',
- ['green_bottle'] = 'verde botella',
- ['citrus_green'] = 'verde cítrico',
- ['green_anis'] = 'verde anis',
- ['khaki'] = 'Caqui',
- ['army_green'] = 'verde ejercito',
- ['dark_green'] = 'verde oscuro',
- ['hunter_green'] = 'cazador verde',
- ['matte_foilage_green'] = 'verde mate',
- -- Orange
- ['orange'] = 'naranja',
- ['tangerine'] = 'mandarina',
- ['matteorange'] = 'naranja mate',
- ['lightorange'] = 'naranja claro',
- ['peach'] = 'melocotón',
- ['pumpkin'] = 'Calabaza',
- ['orangelambo'] = 'lambo naranja',
- -- Brown
- ['brown'] = 'marrón',
- ['copper'] = 'cobre',
- ['lightbrown'] = 'Marrón claro',
- ['darkbrown'] = 'Marrón oscuro',
- ['bronze'] = 'Bronce',
- ['brownmetallic'] = 'Marrón metalizado',
- ['espresso'] = 'café',
- ['chocolate'] = 'Chocolate',
- ['terracotta'] = 'Terracota',
- ['marble'] = 'Mármol',
- ['sand'] = 'Arena',
- ['sepia'] = 'Sepia',
- ['bison'] = 'Bisonte',
- ['palm'] = 'Palma',
- ['caramel'] = 'Caramelo',
- ['rust'] = 'Moho',
- ['chestnut'] = 'castaña',
- ['hazelnut'] = 'Avellana',
- ['shell'] = 'Cáscara',
- ['mahogany'] = 'Caoba',
- ['cauldron'] = 'Caldera',
- ['blond'] = 'Rubio',
- ['gravel'] = 'Grava',
- ['darkearth'] = 'Tierra oscura',
- ['desert'] = 'Desierto',
- -- Purple
- ['purple'] = 'púrpura',
- ['indigo'] = 'Índigo',
- ['deeppurple'] = 'Morado oscuro',
- ['darkviolet'] = 'Violeta oscuro',
- ['amethyst'] = 'Amatista',
- ['mysticalviolet'] = 'Violeta mística',
- ['purplemetallic'] = 'Púrpura metalizado',
- ['matteviolet'] = 'Violeta mate',
- ['mattedeeppurple'] = 'morado oscuro mate',
- -- Chrome
- ['chrome'] = 'cromado',
- ['brushedchrome'] = 'cepillado',
- ['blackchrome'] = 'negro',
- ['brushedaluminum'] = 'aluminio cepillado',
- -- Metal
- ['gold'] = 'dorado',
- ['puregold'] = 'dorado puro',
- ['brushedgold'] = 'dorado cepillado',
- ['lightgold'] = 'dorado claro',
--- License Plates
- ['blue_on_white_1'] = 'azul sobre blanco 1',
- ['yellow_on_black'] = 'amarillo sobre negro',
- ['yellow_blue'] = 'amarillo sobre azul',
- ['blue_on_white_2'] = 'azul sobre blanco 2',
- ['blue_on_white_3'] = 'azul sobre blanco 3',
--- Upgrades
- ['upgrades'] = 'mejoras',
- ['engine'] = 'motor',
- ['brakes'] = 'frenos',
- ['transmission'] = 'transmisión',
- ['suspension'] = 'suspension',
- ['armor'] = 'blindaje',
- ['turbo'] = 'turbo',
- ['no_turbo'] = 'no turbo',
--- Cosmetics
- ['cosmetics'] = 'cosméticos',
- -- Body Parts
- ['bodyparts'] = 'partes del cuerpo',
- ['leftfender'] = 'guardabarros izquierdo',
- ['rightfender'] = 'guardabarros derecho',
- ['spoilers'] = 'alerón',
- ['sideskirt'] = 'faldones laterales',
- ['cage'] = 'interior',
- ['hood'] = 'capó',
- ['grille'] = 'grille',
- ['rearbumper'] = 'parachoques trasero',
- ['frontbumper'] = 'parachoques delantero',
- ['exhaust'] = 'escape',
- ['roof'] = 'techo',
- -- Paint
- ['respray'] = 'pintura',
- ['primary'] = 'primario',
- ['secondary'] = 'secundario',
- ['pearlescent'] = 'nacarado',
- -- Misc
- ['headlights'] = 'faros',
- ['licenseplates'] = 'matrícula',
- ['windowtint'] = 'color de ventanas',
- ['horns'] = 'claxon',
- -- Neon
- ['neons'] = 'neones',
- -- Wheels
- ['wheels'] = 'ruedas',
- ['tiresmoke'] = 'humo de las ruedas',
- ['wheel_type'] = 'tipo de ruedas',
- ['wheel_color'] = 'color de ruedas',
- ['sport'] = 'deportivo',
- ['muscle'] = 'muscle',
- ['lowrider'] = 'lowrider',
- ['suv'] = 'sUV',
- ['allterrain'] = 'all terrain',
- ['tuning'] = 'tuning',
- ['motorcycle'] = 'motocicleta',
- ['highend'] = 'gama alta',
-
- ['modplateholder'] = 'matrícula - Trasera',
- ['modvanityplate'] = 'matrícula - Frontal',
- ['interior'] = 'interior',
- ['trim'] = 'trim',
- ['dashboard'] = 'dashboard',
- ['speedometer'] = 'velocímetro',
- ['door_speakers'] = 'altavoces de la puerta',
- ['seats'] = 'asientos',
- ['steering_wheel'] = 'volante',
- ['gear_lever'] = 'palanca de cambios',
- ['quarter_deck'] = 'quarter-deck',
- ['speakers'] = 'altavoces',
- ['trunk'] = 'trunk',
- ['hydraulic'] = 'hidráulico',
- ['engine_block'] = 'bloque de motor',
- ['air_filter'] = 'filtro de aire',
- ['struts'] = 'puntales de coche',
- ['arch_cover'] = 'cubierta',
- ['aerials'] = 'antenas',
- ['wings'] = 'wings',
- ['fuel_tank'] = 'depósito de combustible',
- ['windows'] = 'ventanas',
- ['stickers'] = 'calcomanías',
-
--- Xenon Colors
- ['mintgreen'] = 'Menta verde',
- ['goldenshower'] = 'Baño de oro',
- ['ponypink'] = 'Poni rosa',
- ['hotpink'] = 'Rosa caliente',
- ['blacklight'] = 'Luz negra',
-}
diff --git a/[esx_addons]/esx_lscustom/locales/et.lua b/[esx_addons]/esx_lscustom/locales/et.lua
deleted file mode 100644
index a6c0743f..00000000
--- a/[esx_addons]/esx_lscustom/locales/et.lua
+++ /dev/null
@@ -1,269 +0,0 @@
-Locales['et'] = {
- ['by_default'] = 'Tavaline',
- ['installed'] = 'Lisatud',
- ['already_own'] = 'Sa juba omad seda: ~b~%s~s~',
- ['not_enough_money'] = 'Sa ei saa seda modi lisada kuna sul pole piisavalt raha!',
- ['purchased'] = 'Sa ostsid modi!',
- ['press_custom'] = 'Vajuta ~g~[E]~s~, et tuunida sõidukit.',
- ['level'] = 'Level %s',
- ['neon'] = 'Neoon',
- ['blip_name'] = 'Mehaanik',
--- Värvid
- -- Must
- ['black'] = 'Must',
- ['graphite'] = 'Grafiit',
- ['black_metallic'] = 'Metallne Must',
- ['caststeel'] = 'Valatud Teras',
- ['black_anth'] = 'Antratsiitmust',
- ['matteblack'] = 'Mattmust',
- ['darknight'] = 'Must Öö',
- ['deepblack'] = 'Sügav Must',
- ['oil'] = 'Oil must',
- ['carbon'] = 'Süsinik must',
- -- Valge
- ['white'] = 'Valge',
- ['vanilla'] = 'Vanilla',
- ['creme'] = 'Kreem valge',
- ['polarwhite'] = 'Polaar valge',
- ['beige'] = 'Beez',
- ['mattewhite'] = 'Matt valge',
- ['snow'] = 'Lumivalge',
- ['cotton'] = 'Puuvill',
- ['alabaster'] = 'Alabaster valge',
- ['purewhite'] = 'Puhas valge',
- -- Hall
- ['grey'] = 'Hall',
- ['silver'] = 'Hõbe',
- ['metallicgrey'] = 'Metallne Hall',
- ['laminatedsteel'] = 'Lamineeritud Teras',
- ['darkgray'] = 'Tumehall',
- ['rockygray'] = 'Kivine Hall',
- ['graynight'] = 'Öö Hall',
- ['aluminum'] = 'Alumiinium Hall',
- ['graymat'] = 'Matthall',
- ['lightgrey'] = 'Helehall',
- ['asphaltgray'] = 'Asfalt Hall',
- ['grayconcrete'] = 'Hall Betoon',
- ['darksilver'] = 'Tume Hõbe',
- ['magnesite'] = 'Magnesiit Hall',
- ['nickel'] = 'Nikli Hall',
- ['zinc'] = 'Tsink Hall',
- ['dolomite'] = 'Dolomiit Hall',
- ['bluesilver'] = 'Sinine Hõbe',
- ['titanium'] = 'Titaanium',
- ['steelblue'] = 'Sini-hall Teras',
- ['champagne'] = 'Šampuse Hall',
- ['grayhunter'] = 'Küttija Hall',
- -- Punane
- ['red'] = 'Punane',
- ['torino_red'] = 'Torino Punane',
- ['poppy'] = 'Mooni Punane',
- ['copper_red'] = 'Vask Punane',
- ['cardinal'] = 'Kardinal Punane',
- ['brick'] = 'Telliskivi Punane',
- ['garnet'] = 'Granaat Punane',
- ['cabernet'] = 'Cabernet Punane',
- ['candy'] = 'Kommi Punane',
- ['matte_red'] = 'Mattpunane',
- ['dark_red'] = 'Tumepunane',
- ['red_pulp'] = 'Liha Punane',
- ['bril_red'] = 'Briljant Punane',
- ['pale_red'] = 'Kahvatu Punane',
- ['wine_red'] = 'Veini Punane',
- ['volcano'] = 'Vulkaani Punane',
- -- Roosa
- ['pink'] = 'Roosa',
- ['electricpink'] = 'Elektri roosa',
- ['brightpink'] = 'Erkroosa',
- ['salmon'] = 'Lõhe Roosa',
- ['sugarplum'] = 'Magus Ploom',
- -- Sinine
- ['blue'] = 'Sinine',
- ['topaz'] = 'Topaas Sinine',
- ['light_blue'] = 'Helesinine',
- ['galaxy_blue'] = 'Galaktika Sinine',
- ['dark_blue'] = 'Tumesinine',
- ['azure'] = 'Taevasina Sinine',
- ['navy_blue'] = 'Mereväe Sinine',
- ['lapis'] = 'Lapis Sinine',
- ['blue_diamond'] = 'Sinine Teemant',
- ['surfer'] = 'Surfari Sinine',
- ['pastel_blue'] = 'Pastell Sinine',
- ['celeste_blue'] = 'Celeste Sinine',
- ['rally_blue'] = 'Ralli Sinine',
- ['blue_paradise'] = 'Sinine Paradiis',
- ['blue_night'] = 'Öö Sinine',
- ['cyan_blue'] = 'Tsuaansinine',
- ['cobalt'] = 'Kobalt Sinine',
- ['electric_blue'] = 'Elektri Sinine',
- ['horizon_blue'] = 'Horisondi Sinine',
- ['metallic_blue'] = 'Metallne Sinine',
- ['aquamarine'] = 'Akvamariin Sinine',
- ['blue_agathe'] = 'Agathe Sinine',
- ['zirconium'] = 'Tsirkoonium Sinine',
- ['spinel'] = 'Spinell Sinine',
- ['tourmaline'] = 'Turmaliin Sinine',
- ['paradise'] = 'Paradiisi Sinine',
- ['bubble_gum'] = 'Nätsu Sinine',
- ['midnight_blue'] = 'Kesköö Sinine',
- ['forbidden_blue'] = 'Keelatud Sinine',
- ['glacier_blue'] = 'Liustiku Sinine',
- -- Kollane
- ['yellow'] = 'Kollane',
- ['wheat'] = 'Nisukollane',
- ['raceyellow'] = 'Ralli Kollane',
- ['paleyellow'] = 'Kahvatu Kollane',
- ['lightyellow'] = 'Helekollane',
- -- Green
- ['green'] = 'Roheline',
- ['met_dark_green'] = 'Tumeroheline Metall',
- ['rally_green'] = 'Ralli Roheline',
- ['pine_green'] = 'Kuuse Roheline',
- ['olive_green'] = 'Oliivi Roheline',
- ['light_green'] = 'Hele Roheline',
- ['lime_green'] = 'Laimi Roheline',
- ['forest_green'] = 'Metsa Roheline',
- ['lawn_green'] = 'Muru Roheline',
- ['imperial_green'] = 'Keiserlik Roheline',
- ['green_bottle'] = 'Klaaspudeli Roheline',
- ['citrus_green'] = 'Tsitruse Roheline',
- ['green_anis'] = 'Roheline Aniis',
- ['khaki'] = 'Khaki Roheline',
- ['army_green'] = 'Sõjaväe Roheline',
- ['dark_green'] = 'Tumeroheline',
- ['hunter_green'] = 'Jahi Roheline',
- ['matte_foilage_green'] = 'Matt Lehestiku Roheline',
- -- Orange
- ['orange'] = 'Oranž',
- ['tangerine'] = 'Mandariini Oranž',
- ['matteorange'] = 'Mattoranž',
- ['lightorange'] = 'Heleoranž',
- ['peach'] = 'Virsiku Oranž',
- ['pumpkin'] = 'Kõrvitsa Oranž',
- ['orangelambo'] = 'Oranž Lamborghini',
- -- Brown
- ['brown'] = 'Pruun',
- ['copper'] = 'Vask',
- ['lightbrown'] = 'Helepruun',
- ['darkbrown'] = 'Tumepruun',
- ['bronze'] = 'Pronks',
- ['brownmetallic'] = 'Pruun Metall',
- ['espresso'] = 'Espresso Pruun',
- ['chocolate'] = 'Šokolaadi Pruun',
- ['terracotta'] = 'Terrakota Pruun',
- ['marble'] = 'Pruun Marmor',
- ['sand'] = 'Pruun Liiv',
- ['sepia'] = 'Pruun Seepia',
- ['bison'] = 'Piisoni Pruun',
- ['palm'] = 'Pruun Palm',
- ['caramel'] = 'Pruun Karamell',
- ['rust'] = 'Pruun Rooste',
- ['chestnut'] = 'Pruun Kastan',
- ['hazelnut'] = 'Pruun Sarapuupähkel',
- ['shell'] = 'Pruun Karp',
- ['mahogany'] = 'Pruun Mahagon',
- ['cauldron'] = 'Pruun Kastrul',
- ['blond'] = 'Blond',
- ['gravel'] = 'Kruus',
- ['darkearth'] = 'Tume Maa',
- ['desert'] = 'Kõrb',
- -- Purple
- ['purple'] = 'Lilla',
- ['indigo'] = 'Indigo',
- ['deeppurple'] = 'Sügav Lilla',
- ['darkviolet'] = 'Tume Violett',
- ['amethyst'] = 'Ametüst',
- ['mysticalviolet'] = 'Müstiline Violett',
- ['purplemetallic'] = 'Lilla Metall',
- ['matteviolet'] = 'Mattviolett',
- ['mattedeeppurple'] = 'Matt Sügav Lilla',
- -- Chrome
- ['chrome'] = 'Kroom',
- ['brushedchrome'] = 'Harjatud Kroom',
- ['blackchrome'] = 'Must Kroom',
- ['brushedaluminum'] = 'Harjatud Alumiinium',
- -- Metal
- ['gold'] = 'Kuld',
- ['puregold'] = 'Puhas Kuld',
- ['brushedgold'] = 'Harjatud Kuld',
- ['lightgold'] = 'Õrn Kuld',
--- License Plates
- ['blue_on_white_1'] = 'Sinine Valge peal 1',
- ['yellow_on_black'] = 'Kollane Musta peal',
- ['yellow_blue'] = 'Kollane Sinise peal',
- ['blue_on_white_2'] = 'Sinine Valge peal 2',
- ['blue_on_white_3'] = 'Sinine Valge peal 3',
--- Upgrades
- ['upgrades'] = 'Uuendused',
- ['engine'] = 'Mootor',
- ['brakes'] = 'Pidurid',
- ['transmission'] = 'Käigukast',
- ['suspension'] = 'Vedrustus',
- ['armor'] = 'Kere',
- ['turbo'] = 'Turbo',
- ['no_turbo'] = 'Turbo eemaldatud',
--- Cosmetics
- ['cosmetics'] = 'Kosmeetikud',
- -- Body Parts
- ['bodyparts'] = 'Auto osad',
- ['leftfender'] = 'Vasakpoolne Poritiib',
- ['rightfender'] = 'Parempoolne Poritiib',
- ['spoilers'] = 'Spoilerid',
- ['sideskirt'] = 'Küljekarbid',
- ['cage'] = 'Puur',
- ['hood'] = 'Kapott',
- ['grille'] = 'Võre',
- ['rearbumper'] = 'Taga Stange',
- ['frontbumper'] = 'Esi Stange',
- ['exhaust'] = 'Summuti',
- ['roof'] = 'Katus',
- -- Paint
- ['respray'] = 'Ülevärvimine/Värv',
- ['primary'] = 'Esmane',
- ['secondary'] = 'Sekundaarne',
- ['pearlescent'] = 'Läige',
- -- Misc
- ['headlights'] = 'Esituled',
- ['licenseplates'] = 'Numbrimärk',
- ['windowtint'] = 'Toonaknad',
- ['horns'] = 'Signaal',
- -- Neon
- ['neons'] = 'Neoonid/Ledid',
- -- Wheels
- ['wheels'] = 'Rattad',
- ['tiresmoke'] = 'Rehvi Toss',
- ['wheel_type'] = 'Ratta Tüüp',
- ['wheel_color'] = 'Ratta Värv',
- ['sport'] = 'Sport',
- ['muscle'] = 'Muskel',
- ['lowrider'] = 'lowrider',
- ['suv'] = 'SUV',
- ['allterrain'] = 'Igal Maastikul',
- ['tuning'] = 'Tuuner',
- ['motorcycle'] = 'Mootorrattad',
- ['highend'] = 'Tipptasemel',
-
- ['modplateholder'] = 'Numbrimärk - Taga',
- ['modvanityplate'] = 'Numbrimärk - Ees',
- ['interior'] = 'Sisustus',
- ['trim'] = 'Polstrid',
- ['dashboard'] = 'Armatuur',
- ['speedometer'] = 'Spidomeeter',
- ['door_speakers'] = 'Ukse Kõlarid',
- ['seats'] = 'Istmed',
- ['steering_wheel'] = 'Rool',
- ['gear_lever'] = 'Käigukang',
- ['quarter_deck'] = 'Sõiduki Kast',
- ['speakers'] = 'Kõlarid',
- ['trunk'] = 'Bagasnik',
- ['hydraulic'] = 'Hüdraulika',
- ['engine_block'] = 'Mootoriplokk',
- ['air_filter'] = 'Õhu Filtrid',
- ['struts'] = 'Tugipostid',
- ['arch_cover'] = 'Kaare kate',
- ['aerials'] = 'Areaalid',
- ['wings'] = 'Tiivad',
- ['fuel_tank'] = 'Tankimispaak',
- ['windows'] = 'Aknad',
- ['stickers'] = 'Kleepsud',
-}
diff --git a/[esx_addons]/esx_lscustom/locales/fr.lua b/[esx_addons]/esx_lscustom/locales/fr.lua
deleted file mode 100644
index 22a52b91..00000000
--- a/[esx_addons]/esx_lscustom/locales/fr.lua
+++ /dev/null
@@ -1,276 +0,0 @@
-Locales['fr'] = {
- ['by_default'] = 'par défaut',
- ['installed'] = 'installé',
- ['already_own'] = 'vous possédez déjà: %s',
- ['not_enough_money'] = 'vous n\'avez pas assez d\'argent!',
- ['purchased'] = 'achat effectué!',
- ['press_custom'] = 'appuyez sur ~INPUT_PICKUP~ pour personnaliser le véhicule.',
- ['level'] = 'niveau %s',
- ['neon'] = 'neon',
- ['blip_name'] = 'los Santos Customs',
--- Paint Colors
- -- Black
- ['black'] = 'noir',
- ['graphite'] = 'graphite',
- ['black_metallic'] = 'noir Méttallisé',
- ['caststeel'] = 'acier Fondu',
- ['black_anth'] = 'noir Anthracite',
- ['matteblack'] = 'noir Mat',
- ['darknight'] = 'nuit Sombre',
- ['deepblack'] = 'noir Profond',
- ['oil'] = 'pétrol',
- ['carbon'] = 'carbon',
- -- White
- ['white'] = 'blanc',
- ['vanilla'] = 'vanille',
- ['creme'] = 'crème',
- ['polarwhite'] = 'blanc Polair',
- ['beige'] = 'beige',
- ['mattewhite'] = 'blanc Mat',
- ['snow'] = 'neige',
- ['cotton'] = 'coton',
- ['alabaster'] = 'albâtre',
- ['purewhite'] = 'blanc Pure',
- -- Grey
- ['grey'] = 'gris',
- ['silver'] = 'Argenté',
- ['metallicgrey'] = 'Gris Métallisé',
- ['laminatedsteel'] = 'Acier Laminé',
- ['darkgray'] = 'Gris Foncé',
- ['rockygray'] = 'Gris Rocheux',
- ['graynight'] = 'Gris Nuit',
- ['aluminum'] = 'Aluminium',
- ['graymat'] = 'Gris Mat',
- ['lightgrey'] = 'Gris Clair',
- ['asphaltgray'] = 'Gris Bitume',
- ['grayconcrete'] = 'Gris Béton',
- ['darksilver'] = 'Argent Sombre',
- ['magnesite'] = 'Magnésite',
- ['nickel'] = 'nickel',
- ['zinc'] = 'zinc',
- ['dolomite'] = 'dolomite',
- ['bluesilver'] = 'Argent Bleuté',
- ['titanium'] = 'Titane',
- ['steelblue'] = 'Acier Bleui',
- ['champagne'] = 'Champagne',
- ['grayhunter'] = 'Gris Chasseur',
- -- Red
- ['red'] = 'rouge',
- ['torino_red'] = 'Rouge Turin',
- ['poppy'] = 'Coquelicot',
- ['copper_red'] = 'Rouge Cuivré',
- ['cardinal'] = 'Rouge Cardinal',
- ['brick'] = 'Rouge Brique',
- ['garnet'] = 'Grenat',
- ['cabernet'] = 'Pourpre',
- ['candy'] = 'Framboise',
- ['matte_red'] = 'Rouge Mat',
- ['dark_red'] = 'Rouge Foncé',
- ['red_pulp'] = 'Rouge Pulpeux',
- ['bril_red'] = 'Rouge Brillant',
- ['pale_red'] = 'Rouge Pale',
- ['wine_red'] = 'Rouge Vin',
- ['volcano'] = 'Volcano',
- -- Pink
- ['pink'] = 'rose',
- ['electricpink'] = 'rose Electrique',
- ['brightpink'] = 'rose pétant',
- ['salmon'] = 'rose Saumon',
- ['sugarplum'] = 'rose Dragée',
- -- Blue
- ['blue'] = 'bleu',
- ['topaz'] = 'topaze',
- ['light_blue'] = 'bleu clair',
- ['galaxy_blue'] = 'bleu galaxy',
- ['dark_blue'] = 'bleu foncé',
- ['azure'] = 'bleu azur',
- ['navy_blue'] = 'bleu marine',
- ['lapis'] = 'lapis lazuli',
- ['blue_diamond'] = 'bleu diamant',
- ['surfer'] = 'surfer',
- ['pastel_blue'] = 'pastel',
- ['celeste_blue'] = 'bleu celeste',
- ['rally_blue'] = 'bleu rally',
- ['blue_paradise'] = 'bleu paradis',
- ['blue_night'] = 'bleu nuit',
- ['cyan_blue'] = 'bleu cyan',
- ['cobalt'] = 'cobalt',
- ['electric_blue'] = 'bleu electrique',
- ['horizon_blue'] = 'bleu horizon',
- ['metallic_blue'] = 'bleu métallisé',
- ['aquamarine'] = 'aigue marine',
- ['blue_agathe'] = 'bleu agathe',
- ['zirconium'] = 'zirconium',
- ['spinel'] = 'spinelle',
- ['tourmaline'] = 'tourmaline',
- ['paradise'] = 'paradis',
- ['bubble_gum'] = 'bubble gum',
- ['midnight_blue'] = 'bleu minuit',
- ['forbidden_blue'] = 'bleu interdit',
- ['glacier_blue'] = 'bleu glacier',
- -- Yellow
- ['yellow'] = 'jaune',
- ['wheat'] = 'Jaune Blé',
- ['raceyellow'] = 'Jaune Rally',
- ['paleyellow'] = 'Jaune Clair',
- ['lightyellow'] = 'Jaune Pâle',
- -- Green
- ['green'] = 'vert',
- ['met_dark_green'] = 'Vert Foncé',
- ['rally_green'] = 'Vert Rally',
- ['pine_green'] = 'Vert Sapin',
- ['olive_green'] = 'Vert Olive',
- ['light_green'] = 'Vert Clair',
- ['lime_green'] = 'Vert Lime',
- ['forest_green'] = 'Vert Forêt',
- ['lawn_green'] = 'Vert Pelouse',
- ['imperial_green'] = 'Vert Impérial',
- ['green_bottle'] = 'Vert Bouteille',
- ['citrus_green'] = 'Vert Citrus',
- ['green_anis'] = 'Vert Anis',
- ['khaki'] = 'Kaki',
- ['army_green'] = 'Vert Army',
- ['dark_green'] = 'Vert Sombre',
- ['hunter_green'] = 'Vert Chasseur',
- ['matte_foilage_green'] = 'Amarylisse',
- -- Orange
- ['orange'] = 'orange',
- ['tangerine'] = 'Tangerine',
- ['matteorange'] = 'Orange Mat',
- ['lightorange'] = 'Orange Clair',
- ['peach'] = 'Pèche',
- ['pumpkin'] = 'Citrouille',
- ['orangelambo'] = 'Orange Lambo',
- -- Brown
- ['brown'] = 'marron',
- ['copper'] = 'Cuivre',
- ['lightbrown'] = 'Marronclair',
- ['darkbrown'] = 'Marron Foncé',
- ['bronze'] = 'Bronze',
- ['brownmetallic'] = 'Marron Métallisé',
- ['expresso'] = 'Expresso',
- ['chocolate'] = 'Chocolat',
- ['terracotta'] = 'Terre Cuite',
- ['marble'] = 'Marbre',
- ['sand'] = 'Sable',
- ['sepia'] = 'Sépia',
- ['bison'] = 'Bison',
- ['palm'] = 'Palmier',
- ['caramel'] = 'Caramel',
- ['rust'] = 'Rouille',
- ['chestnut'] = 'Chataigne',
- ['hazelnut'] = 'Noisette',
- ['shell'] = 'Coquillage',
- ['mahogany'] = 'Acajou',
- ['cauldron'] = 'Chaudron',
- ['blond'] = 'Blond',
- ['gravel'] = 'Gravillon',
- ['darkearth'] = 'Terre Foncé',
- ['desert'] = 'Désert',
- -- Purple
- ['purple'] = 'violet',
- ['indigo'] = 'Indigo',
- ['deeppurple'] = 'Violet Profond',
- ['darkviolet'] = 'Violet Foncé',
- ['amethyst'] = 'Améthyste',
- ['mysticalviolet'] = 'Violet Mystique',
- ['purplemetallic'] = 'Violet Métallisé',
- ['matteviolet'] = 'Violet Mat',
- ['mattedeeppurple'] = 'Violet Profond Mat',
- -- Chrome
- ['chrome'] = 'chrome',
- ['brushedchrome'] = 'chrome Brossé',
- ['blackchrome'] = 'chrome Noir',
- ['brushedaluminum'] = 'aluminum Brossé',
- -- Metal
- ['gold'] = 'or',
- ['puregold'] = 'Or Pure',
- ['brushedgold'] = 'Or Brossé',
- ['lightgold'] = 'Or Clair',
--- License Plates
- ['blue_on_white_1'] = 'bleu sur fond Blanc 1',
- ['yellow_on_black'] = 'jaune sur fond Noir',
- ['yellow_blue'] = 'jaune sur fond Bleu',
- ['blue_on_white_2'] = 'bleu sur fond Blanc 2',
- ['blue_on_white_3'] = 'bleu sur fond Blanc 3',
--- Upgrades
- ['upgrades'] = 'upgrades',
- ['engine'] = 'moteur',
- ['brakes'] = 'freins',
- ['transmission'] = 'transmission',
- ['suspension'] = 'suspension',
- ['armor'] = 'armure',
- ['turbo'] = 'turbo',
- ['no_turbo'] = 'pas de turbo',
--- Cosmetics
- ['cosmetics'] = 'cosmétiques',
- -- Body Parts
- ['bodyparts'] = 'carosserie',
- ['leftfender'] = 'aile gauche',
- ['rightfender'] = 'aile droite',
- ['spoilers'] = 'aileron',
- ['sideskirt'] = 'bas de caisse',
- ['cage'] = 'cage',
- ['hood'] = 'capot',
- ['grille'] = 'grille',
- ['rearbumper'] = 'pare-choc arrière',
- ['frontbumper'] = 'pare-choc avant',
- ['exhaust'] = 'pot d\'échappement',
- ['roof'] = 'toit',
- -- Paint
- ['respray'] = 'peinture',
- ['primary'] = 'primaire',
- ['secondary'] = 'secondaire',
- ['pearlescent'] = 'nacré',
- -- Misc
- ['headlights'] = 'phares',
- ['licenseplates'] = 'plaque',
- ['windowtint'] = 'fenêtres',
- ['horns'] = 'klaxon',
- -- Neon
- ['neons'] = 'néons',
- -- Wheels
- ['wheels'] = 'roues',
- ['tiresmoke'] = 'fumée des pneus',
- ['wheel_type'] = 'types de Jantes',
- ['wheel_color'] = 'couleurs jantes',
- ['sport'] = 'Jantes Sport',
- ['muscle'] = 'Jantes Muscle',
- ['lowrider'] = 'Jantes Lowrider',
- ['suv'] = 'Jantes SUV',
- ['allterrain'] = 'Jantes Tout-terrain',
- ['tuning'] = 'Jantes Tuning',
- ['motorcycle'] = 'Jantes Moto',
- ['highend'] = 'Jantes Haut de gamme',
-
- ['modplateholder'] = 'plaque - Arrière',
- ['modvanityplate'] = 'plate - Avant',
- ['interior'] = 'intérieur',
- ['trim'] = 'accessoires',
- ['dashboard'] = 'tableau de bord',
- ['speedometer'] = 'compteur de vitesse',
- ['door_speakers'] = 'haut-parleurs - portières',
- ['seats'] = 'sièges',
- ['steering_wheel'] = 'volant',
- ['gear_lever'] = 'levier de vitesse',
- ['quarter_deck'] = 'plage arrière',
- ['speakers'] = 'haut-parleurs',
- ['trunk'] = 'coffre',
- ['hydraulic'] = 'suspension hydraulique',
- ['engine_block'] = 'bloc moteur',
- ['air_filter'] = 'filtre à air',
- ['struts'] = 'entretoises',
- ['arch_cover'] = 'pare-boue des ailes',
- ['aerials'] = 'antennes',
- ['wings'] = 'ailes',
- ['fuel_tank'] = 'bouchon du réservoir',
- ['windows'] = 'fenêtres',
- ['stickers'] = 'autocollants',
-
--- Xenon Colors
- ['mintgreen'] = 'Mint Green',
- ['goldenshower'] = 'Golden Shower',
- ['ponypink'] = 'Pony Pink',
- ['hotpink'] = 'Hot Pink',
- ['blacklight'] = 'Blacklight',
-}
diff --git a/[esx_addons]/esx_lscustom/locales/hu.lua b/[esx_addons]/esx_lscustom/locales/hu.lua
deleted file mode 100644
index 70e492ed..00000000
--- a/[esx_addons]/esx_lscustom/locales/hu.lua
+++ /dev/null
@@ -1,276 +0,0 @@
-Locales['hu'] = {
- ['by_default'] = 'alapértelmezett',
- ['installed'] = 'telepítve',
- ['already_own'] = 'már használod: %s',
- ['not_enough_money'] = 'nincs pénzed erre az alkatrészre!',
- ['purchased'] = 'megvásároltad ezt az alkatrészt!',
- ['press_custom'] = 'nyomd meg az ~INPUT_PICKUP~ betüt a jármü tuningolásához.',
- ['level'] = 'szint %s',
- ['neon'] = 'neon',
- ['blip_name'] = 'Tuning mühely',
--- Paint Colors
- -- Black
- ['black'] = 'fekete',
- ['graphite'] = 'grafit',
- ['black_metallic'] = 'metál fekete',
- ['caststeel'] = 'fényezett acél',
- ['black_anth'] = 'antraktív fekete',
- ['matteblack'] = 'matt fekete',
- ['darknight'] = 'éjsötét',
- ['deepblack'] = 'mély fekete',
- ['oil'] = 'olaj',
- ['carbon'] = 'karbon',
- -- White
- ['white'] = 'fehér',
- ['vanilla'] = 'vanilla',
- ['creme'] = 'krém',
- ['polarwhite'] = 'polár fehér',
- ['beige'] = 'bézs',
- ['mattewhite'] = 'matt fehér',
- ['snow'] = 'hó',
- ['cotton'] = 'pamut fehér',
- ['alabaster'] = 'alabástrom',
- ['purewhite'] = 'tiszta fehér',
- -- Grey
- ['grey'] = 'szürke',
- ['silver'] = 'ezüst',
- ['metallicgrey'] = 'metál szürke',
- ['laminatedsteel'] = 'laminált acél szürke',
- ['darkgray'] = 'sötétszürkeszürke',
- ['rockygray'] = 'sziklás szürke',
- ['graynight'] = 'éjszürke',
- ['aluminum'] = 'alumínium szürke',
- ['graymat'] = 'matt szürke',
- ['lightgrey'] = 'világos szürke',
- ['asphaltgray'] = 'aszfalt szürke',
- ['grayconcrete'] = 'beton szürke',
- ['darksilver'] = 'sötét ezüst',
- ['magnesite'] = 'magnezit szürke',
- ['nickel'] = 'nikkel szürke',
- ['zinc'] = 'cink szürke',
- ['dolomite'] = 'dolomit szürke',
- ['bluesilver'] = 'kék ezüst',
- ['titanium'] = 'titán szürke',
- ['steelblue'] = 'kék acél',
- ['champagne'] = 'pezsgö szürke',
- ['grayhunter'] = 'vadász szürke',
- -- Red
- ['red'] = 'piros',
- ['torino_red'] = 'torinó piros',
- ['poppy'] = 'mák piros',
- ['copper_red'] = 'rézvörös',
- ['cardinal'] = 'bíbor piros',
- ['brick'] = 'tégla vörös',
- ['garnet'] = 'gránit vörös',
- ['cabernet'] = 'kabernetabernet piros',
- ['candy'] = 'cukorka piros',
- ['matte_red'] = 'matt piros',
- ['dark_red'] = 'sötét piros',
- ['red_pulp'] = 'pép vörös',
- ['bril_red'] = 'ragyogó piros',
- ['pale_red'] = 'halvány piros',
- ['wine_red'] = 'bor vörös',
- ['volcano'] = 'Vulkán',
- -- Pink
- ['pink'] = 'rózsaszín',
- ['electricpink'] = 'elektromos rózsaszín',
- ['brightpink'] = 'világos rózsaszín',
- ['salmon'] = 'lazac rózsaszín',
- ['sugarplum'] = 'cukorka rózsaszín',
- -- Blue
- ['blue'] = 'kék',
- ['topaz'] = 'topáz kék',
- ['light_blue'] = 'világos kék',
- ['galaxy_blue'] = 'galaktikus kék',
- ['dark_blue'] = 'sötét Blue',
- ['azure'] = 'azúr kék',
- ['navy_blue'] = 'hadi kék',
- ['lapis'] = 'lazurit kék',
- ['blue_diamond'] = 'gyémánt kék',
- ['surfer'] = 'szörf kék',
- ['pastel_blue'] = 'pasztel kék',
- ['celeste_blue'] = 'keleszt kék',
- ['rally_blue'] = 'rally kék',
- ['blue_paradise'] = 'paradicsom kék',
- ['blue_night'] = 'kék éjszaka',
- ['cyan_blue'] = 'cián kék',
- ['cobalt'] = 'kobalt kék',
- ['electric_blue'] = 'elektromos kék',
- ['horizon_blue'] = 'horizont kék',
- ['metallic_blue'] = 'metál kék',
- ['aquamarine'] = 'akvamarin kék',
- ['blue_agathe'] = 'kék agát',
- ['zirconium'] = 'cirkónium kék',
- ['spinel'] = 'spinell kék',
- ['tourmaline'] = 'turmalin kék',
- ['paradise'] = 'parádia kék',
- ['bubble_gum'] = 'rágógumi kék',
- ['midnight_blue'] = 'éjkék',
- ['forbidden_blue'] = 'tiltott kék',
- ['glacier_blue'] = 'gleccser kék',
- -- Yellow
- ['yellow'] = 'sárga',
- ['wheat'] = 'búza sárga',
- ['raceyellow'] = 'verseny sárga',
- ['paleyellow'] = 'halványsárga',
- ['lightyellow'] = 'világos sárga',
- -- Green
- ['green'] = 'zöld',
- ['met_dark_green'] = 'metál sötétzöld',
- ['rally_green'] = 'rally zöld',
- ['pine_green'] = 'fenyö zöld',
- ['olive_green'] = 'oliva zöld',
- ['light_green'] = 'világos zöld',
- ['lime_green'] = 'lime zöld',
- ['forest_green'] = 'erdö zöld',
- ['lawn_green'] = 'gyep zöld',
- ['imperial_green'] = 'birodalmi zöld',
- ['green_bottle'] = 'üveg zöld',
- ['citrus_green'] = 'citrus zöld',
- ['green_anis'] = 'zöld ánizs',
- ['khaki'] = 'khaki zöld',
- ['army_green'] = 'katonai zöld',
- ['dark_green'] = 'sötét zöld',
- ['hunter_green'] = 'vadász zöld',
- ['matte_foilage_green'] = 'matt lombozat zöld',
- -- Orange
- ['orange'] = 'narancssárga',
- ['tangerine'] = 'mandarin sárga',
- ['matteorange'] = 'matt narancssárga',
- ['lightorange'] = 'világos narancssárga',
- ['peach'] = 'öszibarack narancssárga',
- ['pumpkin'] = 'tök narancssárga',
- ['orangelambo'] = 'lambo narancssárga',
- -- Brown
- ['brown'] = 'barna',
- ['copper'] = 'réz',
- ['lightbrown'] = 'világos barna',
- ['darkbrown'] = 'sötét barna',
- ['bronze'] = 'bronz',
- ['brownmetallic'] = 'metál barna',
- ['espresso'] = 'eszpresszó barna',
- ['chocolate'] = 'csokoládé barna',
- ['terracotta'] = 'terrakotta',
- ['marble'] = 'márvány',
- ['sand'] = 'homok barnca',
- ['sepia'] = 'Szépia barna',
- ['bison'] = 'bölény barna',
- ['palm'] = 'tenyér barna',
- ['caramel'] = 'karamella barna',
- ['rust'] = 'rozsda barna',
- ['chestnut'] = 'gesztenye barna',
- ['hazelnut'] = 'mogyoró barna',
- ['shell'] = 'héj barna',
- ['mahogany'] = 'mahagóni barna',
- ['cauldron'] = 'üst barna',
- ['blond'] = 'szökés barna',
- ['gravel'] = 'kavics barna',
- ['darkearth'] = 'sötét föld barna',
- ['desert'] = 'sivatag barna',
- -- Purple
- ['purple'] = 'lila',
- ['indigo'] = 'Indigó',
- ['deeppurple'] = 'mély lila',
- ['darkviolet'] = 'sötét lila',
- ['amethyst'] = 'ametiszt lila',
- ['mysticalviolet'] = 'misztikus lila',
- ['purplemetallic'] = 'metál lila',
- ['matteviolet'] = 'matt lila',
- ['mattedeeppurple'] = 'mély matt lila',
- -- Chrome
- ['chrome'] = 'króm',
- ['brushedchrome'] = 'csiszolt króm',
- ['blackchrome'] = 'króm fekete',
- ['brushedaluminum'] = 'szálcsiszolt alumínium',
- -- Metal
- ['gold'] = 'arany',
- ['puregold'] = 'tiszta arany',
- ['brushedgold'] = 'csiszolt arany',
- ['lightgold'] = 'világos arany',
--- License Plates
- ['blue_on_white_1'] = 'kék és fehér 1',
- ['yellow_on_black'] = 'sárga és fekete',
- ['yellow_blue'] = 'sárga és kék',
- ['blue_on_white_2'] = 'kék és fehér 2',
- ['blue_on_white_3'] = 'kék és fehér 3',
--- Upgrades
- ['upgrades'] = 'fejlesztések',
- ['engine'] = 'motor',
- ['brakes'] = 'fék',
- ['transmission'] = 'váltó',
- ['suspension'] = 'lengéscsillapító',
- ['armor'] = 'páncél',
- ['turbo'] = 'turbó',
- ['no_turbo'] = 'turbó nélkül',
--- Cosmetics
- ['cosmetics'] = 'kozmetika',
- -- Body Parts
- ['bodyparts'] = 'karosszéria elemek',
- ['leftfender'] = 'bal oldali sárvédö',
- ['rightfender'] = 'jobb oldali sárvédö',
- ['spoilers'] = 'spoilerek',
- ['sideskirt'] = 'oldalsó szoknyák',
- ['cage'] = 'kaszni',
- ['hood'] = 'motorháztetö',
- ['grille'] = 'rács',
- ['rearbumper'] = 'hátsó lökhárító',
- ['frontbumper'] = 'elsö lökhárító',
- ['exhaust'] = 'kipufogó',
- ['roof'] = 'tetö',
- -- Paint
- ['respray'] = 'átfestés',
- ['primary'] = 'elsödleges',
- ['secondary'] = 'másodlagos',
- ['pearlescent'] = 'gyöngyházfényü',
- -- Misc
- ['headlights'] = 'fényszórók',
- ['licenseplates'] = 'rendszámtábla',
- ['windowtint'] = 'ablak üveg szín',
- ['horns'] = 'dudák',
- -- Neon
- ['neons'] = 'neonok',
- -- Wheels
- ['wheels'] = 'kerekek',
- ['tiresmoke'] = 'gumi füst',
- ['wheel_type'] = 'kerék típus',
- ['wheel_color'] = 'kerék szín',
- ['sport'] = 'sport kerék',
- ['muscle'] = 'izomautó kerék',
- ['lowrider'] = 'lowrider kerék',
- ['suv'] = 'utcai terepjáró kerék',
- ['allterrain'] = 'terepjáró kerék',
- ['tuning'] = 'tuning kerék',
- ['motorcycle'] = 'motorbicikli kerék',
- ['highend'] = 'magas szintü kerék',
-
- ['modplateholder'] = 'rendszámtábla - hátsó',
- ['modvanityplate'] = 'rendszámtábla - elsö',
- ['interior'] = 'belsö',
- ['trim'] = 'állapot',
- ['dashboard'] = 'müszerfal',
- ['speedometer'] = 'sebességmérö',
- ['door_speakers'] = 'ajtó hangszórók',
- ['seats'] = 'ülések',
- ['steering_wheel'] = 'kormánykerék',
- ['gear_lever'] = 'váltókar',
- ['quarter_deck'] = 'hátsó fedélzet',
- ['speakers'] = 'hangszórók',
- ['trunk'] = 'csomagtartó',
- ['hydraulic'] = 'hidraulika',
- ['engine_block'] = 'motorblokk',
- ['air_filter'] = 'légszürö',
- ['struts'] = 'merevítés',
- ['arch_cover'] = 'arch borító',
- ['aerials'] = 'antennák',
- ['wings'] = 'szárnyak',
- ['fuel_tank'] = 'üzemanyag tartály',
- ['windows'] = 'ablakok',
- ['stickers'] = 'matricák',
-
--- Xenon Colors
- ['mintgreen'] = 'Mint Green',
- ['goldenshower'] = 'Golden Shower',
- ['ponypink'] = 'Pony Pink',
- ['hotpink'] = 'Hot Pink',
- ['blacklight'] = 'Blacklight',
-}
diff --git a/[esx_addons]/esx_lscustom/locales/it.lua b/[esx_addons]/esx_lscustom/locales/it.lua
deleted file mode 100644
index e65ea29a..00000000
--- a/[esx_addons]/esx_lscustom/locales/it.lua
+++ /dev/null
@@ -1,276 +0,0 @@
-Locales['it'] = {
- ['by_default'] = 'default',
- ['installed'] = 'installato',
- ['already_own'] = 'possiedi già: %s',
- ['not_enough_money'] = 'non puoi permetterti questa mod!',
- ['purchased'] = 'hai acquistato la mod!',
- ['press_custom'] = 'premi ~b~[E]~s~ per personalizzare il tuo veicolo',
- ['level'] = 'livello %s',
- ['neon'] = 'neon',
- ['blip_name'] = 'los Santos Customs',
--- Paint Colors
- -- Black
- ['black'] = 'nero',
- ['graphite'] = 'grafite',
- ['black_metallic'] = 'nero metallico',
- ['caststeel'] = 'acciaio fuso',
- ['black_anth'] = 'nero antacite',
- ['matteblack'] = 'nero opaco',
- ['darknight'] = 'notte oscura',
- ['deepblack'] = 'nero profondo',
- ['oil'] = 'olio',
- ['carbon'] = 'carbonio',
- -- White
- ['white'] = 'bianco',
- ['vanilla'] = 'vaniglia',
- ['creme'] = 'crema',
- ['polarwhite'] = 'bianco polare',
- ['beige'] = 'beige',
- ['mattewhite'] = 'bianco opaco',
- ['snow'] = 'neve',
- ['cotton'] = 'cotone',
- ['alabaster'] = 'alabastro',
- ['purewhite'] = 'bianco puro',
- -- Grey
- ['grey'] = 'grigio',
- ['silver'] = 'argento',
- ['metallicgrey'] = 'grigio metallico',
- ['laminatedsteel'] = 'acciaio laminato',
- ['darkgray'] = 'grigio scuro',
- ['rockygray'] = 'grigio roccioso',
- ['graynight'] = 'grigio notte',
- ['aluminum'] = 'alluminio',
- ['graymat'] = 'grigio opaco',
- ['lightgrey'] = 'grigio chiaro',
- ['asphaltgray'] = 'grigio asfalto',
- ['grayconcrete'] = 'grigio cemento',
- ['darksilver'] = 'argento scuro',
- ['magnesite'] = 'magnesite',
- ['nickel'] = 'nickel',
- ['zinc'] = 'zinco',
- ['dolomite'] = 'dolomite',
- ['bluesilver'] = 'argento blu',
- ['titanium'] = 'titanio',
- ['steelblue'] = 'blu acciaio',
- ['champagne'] = 'champagne',
- ['grayhunter'] = 'grigio cacciatore',
- -- Red
- ['red'] = 'rosso',
- ['torino_red'] = 'rosso torino',
- ['poppy'] = 'papavero',
- ['copper_red'] = 'rosso rame',
- ['cardinal'] = 'rosso cardinale',
- ['brick'] = 'rosso mattone',
- ['garnet'] = 'Granato',
- ['cabernet'] = 'rosso cabernet',
- ['candy'] = 'caramella rossa',
- ['matte_red'] = 'rosso opaco',
- ['dark_red'] = 'rosso scuro',
- ['red_pulp'] = 'polpa rossa',
- ['bril_red'] = 'rosso brillante',
- ['pale_red'] = 'rosso pallido',
- ['wine_red'] = 'vino rosso',
- ['volcano'] = 'vulcano',
- -- Pink
- ['pink'] = 'rosa',
- ['electricpink'] = 'rosa elettrico',
- ['brightpink'] = 'rosa brillante',
- ['salmon'] = 'rosa salmone',
- ['sugarplum'] = 'rosa prugna',
- -- Blue
- ['blue'] = 'blu',
- ['topaz'] = 'blu topazio',
- ['light_blue'] = 'azzurro',
- ['galaxy_blue'] = 'blu galassia',
- ['dark_blue'] = 'blu scuro',
- ['azure'] = 'azzurro',
- ['navy_blue'] = 'blu marino',
- ['lapis'] = 'blu lapislazzulo',
- ['blue_diamond'] = 'blu diamante',
- ['surfer'] = 'surfista',
- ['pastel_blue'] = 'blu pastello',
- ['celeste_blue'] = 'blu celeste',
- ['rally_blue'] = 'rally Blue',
- ['blue_paradise'] = 'blu Paradiso',
- ['blue_night'] = 'blu notte',
- ['cyan_blue'] = 'blu ciano',
- ['cobalt'] = 'cobalto',
- ['electric_blue'] = 'blue elettrico',
- ['horizon_blue'] = 'blu orizzonte',
- ['metallic_blue'] = 'blu metallico',
- ['aquamarine'] = 'acquamarina',
- ['blue_agathe'] = 'blu agata',
- ['zirconium'] = 'zirconio',
- ['spinel'] = 'spinello',
- ['tourmaline'] = 'tormalina',
- ['paradise'] = 'paradiso',
- ['bubble_gum'] = 'blu gomma',
- ['midnight_blue'] = 'blu mezzanotte',
- ['forbidden_blue'] = 'blu proibito',
- ['glacier_blue'] = 'blu glaciale',
- -- Yellow
- ['yellow'] = 'giallo',
- ['wheat'] = 'giallo grano',
- ['raceyellow'] = 'giallo gara',
- ['paleyellow'] = 'giallo pallido',
- ['lightyellow'] = 'giallo chiaro',
- -- Green
- ['green'] = 'verde',
- ['met_dark_green'] = 'verde scuro metallico',
- ['rally_green'] = 'verde Rally',
- ['pine_green'] = 'verde pino',
- ['olive_green'] = 'verde oliva',
- ['light_green'] = 'verde chiaro',
- ['lime_green'] = 'verde lime',
- ['forest_green'] = 'verde foresta',
- ['lawn_green'] = 'verde prato',
- ['imperial_green'] = 'verde imperiale',
- ['green_bottle'] = 'verde bottiglia',
- ['citrus_green'] = 'verde agrumi',
- ['green_anis'] = 'verde anici',
- ['khaki'] = 'cachi',
- ['army_green'] = 'verde militare',
- ['dark_green'] = 'verde scuro',
- ['hunter_green'] = 'verde cacciatore',
- ['matte_foilage_green'] = 'verde foglia',
- -- Orange
- ['orange'] = 'arancione',
- ['tangerine'] = 'mandarino',
- ['matteorange'] = 'arancio opaco',
- ['lightorange'] = 'arancione chiaro',
- ['peach'] = 'pesca',
- ['pumpkin'] = 'zucca',
- ['orangelambo'] = 'arancione Lambo',
- -- Brown
- ['brown'] = 'marrone',
- ['copper'] = 'rame',
- ['lightbrown'] = 'marrone chiaro',
- ['darkbrown'] = 'marrone scuro',
- ['bronze'] = 'Bronzo',
- ['brownmetallic'] = 'marrone metallico',
- ['expresso'] = 'Espresso',
- ['chocolate'] = 'cioccolato',
- ['terracotta'] = 'Terracotta',
- ['marble'] = 'Marmo',
- ['sand'] = 'Sabbia',
- ['sepia'] = 'Seppia',
- ['bison'] = 'Bisonte',
- ['palm'] = 'Palmo',
- ['caramel'] = 'Caramello',
- ['rust'] = 'Ruggine',
- ['chestnut'] = 'Castagna',
- ['hazelnut'] = 'nocciola',
- ['shell'] = 'guscio',
- ['mahogany'] = 'Mogano',
- ['cauldron'] = 'marrone calderone',
- ['blond'] = 'marrone biondo',
- ['gravel'] = 'marrone ghiaia',
- ['darkearth'] = 'marrone terra scura',
- ['desert'] = 'deserto',
- -- Purple
- ['purple'] = 'viola',
- ['indigo'] = 'Indaco',
- ['deeppurple'] = 'viola intenso',
- ['darkviolet'] = 'viola scuro',
- ['amethyst'] = 'emetista',
- ['mysticalviolet'] = 'viola mistico',
- ['purplemetallic'] = 'viola metallico',
- ['matteviolet'] = 'viola opaco',
- ['mattedeeppurple'] = 'viola intenso opaco',
- -- Chrome
- ['chrome'] = 'cromato',
- ['brushedchrome'] = 'cromato spazzolato',
- ['blackchrome'] = 'nero gromato',
- ['brushedaluminum'] = 'alluminio spazzolato',
- -- Metal
- ['gold'] = 'oro',
- ['puregold'] = 'oro puro',
- ['brushedgold'] = 'oro spazzolato',
- ['lightgold'] = 'oro chiaro',
--- License Plates
- ['blue_on_white_1'] = 'blu su bianco 1',
- ['yellow_on_black'] = 'giallo su nero',
- ['yellow_blue'] = 'giallo su blu',
- ['blue_on_white_2'] = 'blu su bianco 2',
- ['blue_on_white_3'] = 'blu su bianco 3',
--- Upgrades
- ['upgrades'] = 'aggiornamenti',
- ['engine'] = 'motore',
- ['brakes'] = 'freni',
- ['transmission'] = 'trasmissione',
- ['suspension'] = 'ssospensione',
- ['armor'] = 'armatura',
- ['turbo'] = 'turbo',
- ['no_turbo'] = 'no turbo',
--- Cosmetics
- ['cosmetics'] = 'cosmetici',
- -- Body Parts
- ['bodyparts'] = 'parti del corpo',
- ['leftfender'] = 'parafango sinistro',
- ['rightfender'] = 'parafango destro',
- ['spoilers'] = 'spoiler',
- ['sideskirt'] = 'gonna laterale',
- ['cage'] = 'gabbia',
- ['hood'] = 'cappuccio',
- ['grille'] = 'griglia',
- ['rearbumper'] = 'paraurti posteriore',
- ['frontbumper'] = 'paraurti anteriore',
- ['exhaust'] = 'scarico',
- ['roof'] = 'tetto',
- -- Paint
- ['respray'] = 'verici',
- ['primary'] = 'primaria',
- ['secondary'] = 'secondaria',
- ['pearlescent'] = 'perlescente',
- -- Misc
- ['headlights'] = 'fari',
- ['licenseplates'] = 'targa',
- ['windowtint'] = 'tinta finestrino',
- ['horns'] = 'clacson',
- -- Neon
- ['neons'] = 'neons',
- -- Wheels
- ['wheels'] = 'ruote',
- ['tiresmoke'] = 'fumo pneumatici',
- ['wheel_type'] = 'tipo di ruota',
- ['wheel_color'] = 'colore cerchione',
- ['sport'] = 'sport',
- ['muscle'] = 'muscle',
- ['lowrider'] = 'lowrider',
- ['suv'] = 'SUV',
- ['allterrain'] = 'tutti i terreni',
- ['tuning'] = 'tuning',
- ['motorcycle'] = 'moto',
- ['highend'] = 'fascia alta',
-
- ['modplateholder'] = 'targa - posteriore',
- ['modvanityplate'] = 'targa - anteriore',
- ['interior'] = 'interni',
- ['trim'] = 'trim',
- ['dashboard'] = 'cruscotto',
- ['speedometer'] = 'tachimetro',
- ['door_speakers'] = 'casse audio',
- ['seats'] = 'sedili',
- ['steering_wheel'] = 'volante',
- ['gear_lever'] = 'leva del cambio',
- ['quarter_deck'] = 'quarter-deck',
- ['speakers'] = 'altoparlanti',
- ['trunk'] = 'tronco',
- ['hydraulic'] = 'idraulica',
- ['engine_block'] = 'blocco motore',
- ['air_filter'] = 'filtro aria',
- ['struts'] = 'puntoni',
- ['arch_cover'] = 'cover',
- ['aerials'] = 'antenne',
- ['wings'] = 'ali',
- ['fuel_tank'] = 'serbatoio carburante',
- ['windows'] = 'finestrini',
- ['stickers'] = 'Livrea',
-
--- Xenon Colors
- ['mintgreen'] = 'Mint Green',
- ['goldenshower'] = 'Golden Shower',
- ['ponypink'] = 'Pony Pink',
- ['hotpink'] = 'Hot Pink',
- ['blacklight'] = 'Blacklight',
-}
diff --git a/[esx_addons]/esx_lscustom/locales/pl.lua b/[esx_addons]/esx_lscustom/locales/pl.lua
deleted file mode 100644
index 8039a6f3..00000000
--- a/[esx_addons]/esx_lscustom/locales/pl.lua
+++ /dev/null
@@ -1,276 +0,0 @@
-Locales['pl'] = {
- ['by_default'] = 'domyślna',
- ['installed'] = 'zainstalowane',
- ['already_own'] = 'już posiadasz: %s',
- ['not_enough_money'] = 'nie masz wystarczająco pieniędzy!',
- ['purchased'] = 'zakupiłeś!',
- ['press_custom'] = 'naciśnij ~INPUT_PICKUP~ aby spersonalizować swój pojazd.',
- ['level'] = 'level %s',
- ['neon'] = 'neon',
- ['blip_name'] = 'los Santos Customs',
--- Paint Colors
- -- Black
- ['black'] = 'czarny',
- ['graphite'] = 'grafit',
- ['black_metallic'] = 'metaliczny czarny',
- ['caststeel'] = 'kuta stal',
- ['black_anth'] = 'czarny Antracyt',
- ['matteblack'] = 'matowa czerń',
- ['darknight'] = 'ciemna noc',
- ['deepblack'] = 'głęboka czerń',
- ['oil'] = 'olej',
- ['carbon'] = 'carbon',
- -- White
- ['white'] = 'biały',
- ['vanilla'] = 'wanilliowy',
- ['creme'] = 'kremowy',
- ['polarwhite'] = 'polarny biały',
- ['beige'] = 'beżowy',
- ['mattewhite'] = 'matowy biały',
- ['snow'] = 'snieżny',
- ['cotton'] = 'bawełna',
- ['alabaster'] = 'alabastrowy',
- ['purewhite'] = 'czysty biały',
- -- Grey
- ['grey'] = 'szary',
- ['silver'] = 'srebro',
- ['metallicgrey'] = 'metaliczny szary',
- ['laminatedsteel'] = 'laminowana stal',
- ['darkgray'] = 'ciemny szary',
- ['rockygray'] = 'skalisty szary',
- ['graynight'] = 'szara noc',
- ['aluminum'] = 'aluminium',
- ['graymat'] = 'matowy szary',
- ['lightgrey'] = 'jasny szary',
- ['asphaltgray'] = 'asfaltowy szary',
- ['grayconcrete'] = 'betonowy szary',
- ['darksilver'] = 'ciemny szary',
- ['magnesite'] = 'magnesite',
- ['nickel'] = 'nikiel',
- ['zinc'] = 'cynk',
- ['dolomite'] = 'dolomite',
- ['bluesilver'] = 'niebieski srebrzysty',
- ['titanium'] = 'titanium',
- ['steelblue'] = 'niebieska stal',
- ['champagne'] = 'szampanowy',
- ['grayhunter'] = 'grey Hunter',
- -- Red
- ['red'] = 'czerwony',
- ['torino_red'] = 'turyńska czerwień',
- ['poppy'] = 'makowy czerwień',
- ['copper_red'] = 'miedziany czerwień',
- ['cardinal'] = 'kardynałowy czerwień',
- ['brick'] = 'ceglana czerwień',
- ['garnet'] = 'granat',
- ['cabernet'] = 'cabernet Red',
- ['candy'] = 'cukierkowa czerwień',
- ['matte_red'] = 'matowa czerwień',
- ['dark_red'] = 'ciemna czerwień',
- ['red_pulp'] = 'red Pulp',
- ['bril_red'] = 'brilliant Red',
- ['pale_red'] = 'blady czerwony',
- ['wine_red'] = 'winiana czerwień',
- ['volcano'] = 'wulkanowy',
- -- Pink
- ['pink'] = 'różowy',
- ['electricpink'] = 'elektryczny różowy',
- ['brightpink'] = 'jasny Różowy',
- ['salmon'] = 'łososiowy',
- ['sugarplum'] = 'sugar Plum',
- -- Niebieski
- ['blue'] = 'niebieski',
- ['topaz'] = 'topaz',
- ['light_blue'] = 'jasny niebieski',
- ['galaxy_blue'] = 'galaktyczny niebieski',
- ['dark_blue'] = 'ciemny niebieski',
- ['azure'] = 'azure',
- ['navy_blue'] = 'granatowy',
- ['lapis'] = 'lapis Lazuli',
- ['blue_diamond'] = 'niebieski diament',
- ['surfer'] = 'surfer',
- ['pastel_blue'] = 'pastelowy niebieski',
- ['celeste_blue'] = 'celeste Blue',
- ['rally_blue'] = 'rally Blue',
- ['blue_paradise'] = 'blue Paradise',
- ['blue_night'] = 'niebieska noc',
- ['cyan_blue'] = 'cyankowy',
- ['cobalt'] = 'kobaltowy',
- ['electric_blue'] = 'elektryczny miebieski',
- ['horizon_blue'] = 'horizon Blue',
- ['metallic_blue'] = 'metaliczny niebieski',
- ['aquamarine'] = 'akwamaryn',
- ['blue_agathe'] = 'blue Agathe',
- ['zirconium'] = 'zirconium',
- ['spinel'] = 'spinel',
- ['tourmaline'] = 'tourmaline',
- ['paradise'] = 'paradise',
- ['bubble_gum'] = 'guma balonowa',
- ['midnight_blue'] = 'midnight Blue',
- ['forbidden_blue'] = 'forbidden Blue',
- ['glacier_blue'] = 'glacier Blue',
- -- Yellow
- ['yellow'] = 'żółty',
- ['wheat'] = 'pszenica',
- ['raceyellow'] = 'wyścigowy żółty',
- ['paleyellow'] = 'jasnożółty',
- ['lightyellow'] = 'jasny żółty',
- -- Green
- ['green'] = 'zielony',
- ['met_dark_green'] = 'metaliczny ciemny zielony',
- ['rally_green'] = 'rally Green',
- ['pine_green'] = 'pine Green',
- ['olive_green'] = 'zielona oliwka',
- ['light_green'] = 'jasny zielony',
- ['lime_green'] = 'lime green',
- ['forest_green'] = 'forest Green',
- ['lawn_green'] = 'lawn Green',
- ['imperial_green'] = 'imperial Green',
- ['green_bottle'] = 'breen Bottle',
- ['citrus_green'] = 'cytrusowy Zielony',
- ['green_anis'] = 'zielony anyż',
- ['khaki'] = 'khaki',
- ['army_green'] = 'zieleń wojskowa',
- ['dark_green'] = 'ciemny zielony',
- ['hunter_green'] = 'hunter Green',
- ['matte_foilage_green'] = 'matte Foilage Green',
- -- Orange
- ['orange'] = 'pomarańczowy',
- ['tangerine'] = 'tangerine',
- ['matteorange'] = 'matowy Pomarańczowy',
- ['lightorange'] = 'jasny Pomarańczowy',
- ['peach'] = 'brzoskwiniowy ',
- ['pumpkin'] = 'dynia',
- ['orangelambo'] = 'orange Lambo',
- -- Brown
- ['brown'] = 'brązowy',
- ['copper'] = 'medziany',
- ['lightbrown'] = 'jasny brązowy',
- ['darkbrown'] = 'ciemny brąz',
- ['bronze'] = 'brąz',
- ['brownmetallic'] = 'metaliczny brązowy',
- ['expresso'] = 'expresso',
- ['chocolate'] = 'czekoladowy',
- ['terracotta'] = 'terakota',
- ['marble'] = 'marmur',
- ['sand'] = 'piasek',
- ['sepia'] = 'sepia',
- ['bison'] = 'bison',
- ['palm'] = 'palma',
- ['caramel'] = 'karmel',
- ['rust'] = 'rdza ',
- ['chestnut'] = 'orzechowy',
- ['hazelnut'] = 'orzech laskowy',
- ['shell'] = 'shell',
- ['mahogany'] = 'mahogany',
- ['cauldron'] = 'cauldron',
- ['blond'] = 'blond',
- ['gravel'] = 'żwir',
- ['darkearth'] = 'ciemna ziemia',
- ['desert'] = 'pustynia',
- -- Purple
- ['purple'] = 'fioletowy',
- ['indigo'] = 'indygo',
- ['deeppurple'] = 'głęboki fiolet',
- ['darkviolet'] = 'ciemny fiolet',
- ['amethyst'] = 'ametyst',
- ['mysticalviolet'] = 'mystic Violet',
- ['purplemetallic'] = 'metaliczny fiolet',
- ['matteviolet'] = 'matowy fiolet',
- ['mattedeeppurple'] = 'matowy głęboki fiolet',
- -- Chrome
- ['chrome'] = 'chrom',
- ['brushedchrome'] = 'oczyszczony chrom',
- ['blackchrome'] = 'czarny chrom',
- ['brushedaluminum'] = 'szczotkowane aluminium',
- -- Metal
- ['gold'] = 'Złoto',
- ['puregold'] = 'czyste złoto',
- ['brushedgold'] = 'szczotkowane złoto',
- ['lightgold'] = 'jasne złoto',
--- License Plates
- ['blue_on_white_1'] = 'niebieskie na białym 1',
- ['yellow_on_black'] = 'żółte na czarnym',
- ['yellow_blue'] = 'żółte na niebieskim',
- ['blue_on_white_2'] = 'niebieskie na białym 2',
- ['blue_on_white_3'] = 'niebieskie na białym 3',
--- Upgrades
- ['upgrades'] = 'ulepszenia',
- ['engine'] = 'silnik',
- ['brakes'] = 'hamulce',
- ['transmission'] = 'skrzynia biegów',
- ['suspension'] = 'zawieszenie',
- ['armor'] = 'opancerzenie',
- ['turbo'] = 'turbo',
- ['no_turbo'] = 'bez turbo',
--- Cosmetics
- ['cosmetics'] = 'kosmetyczne',
- -- Body parts
- ['bodyparts'] = 'karoseria',
- ['leftfender'] = 'lewy błotnik',
- ['rightfender'] = 'prawy błotnik',
- ['spoilers'] = 'spojler',
- ['sideskirt'] = 'progi',
- ['cage'] = 'bagażnik',
- ['hood'] = 'maska',
- ['grille'] = 'gril',
- ['rearbumper'] = 'tylny zderzak ',
- ['frontbumper'] = 'przedni zderzak',
- ['exhaust'] = 'wydech',
- ['roof'] = 'dach',
- -- Paint
- ['respray'] = 'przefarbuj',
- ['primary'] = 'pierwszy',
- ['secondary'] = 'drugi',
- ['pearlescent'] = 'perła',
- -- Misc
- ['headlights'] = 'reflektory',
- ['licenseplates'] = 'tablice rejestracyjne',
- ['windowtint'] = 'odcień okna',
- ['horns'] = 'klakson',
- -- Neon
- ['neons'] = 'neony',
- -- Wheels
- ['wheels'] = 'koła',
- ['tiresmoke'] = 'dym spod opon',
- ['wheel_type'] = 'typ koła',
- ['wheel_color'] = 'kolor koła',
- ['sport'] = 'sportowe',
- ['muscle'] = 'muscle',
- ['lowrider'] = 'lowrider',
- ['suv'] = 'sUV',
- ['allterrain'] = 'terenowe',
- ['tuning'] = 'tuner',
- ['motorcycle'] = 'motocykle',
- ['highend'] = 'high end',
-
- ['modplateholder'] = 'tablica - Tył',
- ['modvanityplate'] = 'tablica - Przód',
- ['interior'] = 'wnętrze',
- ['trim'] = 'wykończenie',
- ['dashboard'] = 'deska rozdzielcza',
- ['speedometer'] = 'prędkościomierz',
- ['door_speakers'] = 'drzwi',
- ['seats'] = 'siedzenia',
- ['steering_wheel'] = 'kierownica',
- ['gear_lever'] = 'dżwignia zmiany biegów',
- ['quarter_deck'] = 'quarter-deck',
- ['speakers'] = 'głośniki',
- ['trunk'] = 'bagażnik',
- ['hydraulic'] = 'hydraulika',
- ['engine_block'] = 'blok silnika',
- ['air_filter'] = 'filtr powietrza',
- ['struts'] = 'podpórka',
- ['arch_cover'] = 'arch cover',
- ['aerials'] = 'anteny',
- ['wings'] = 'skrzydełka ',
- ['fuel_tank'] = 'zbiornik paliwa',
- ['windows'] = 'okna',
- ['stickers'] = 'naklejki',
-
--- Xenon Colors
- ['mintgreen'] = 'Mint Green',
- ['goldenshower'] = 'Golden Shower',
- ['ponypink'] = 'Pony Pink',
- ['hotpink'] = 'Hot Pink',
- ['blacklight'] = 'Blacklight',
-}
diff --git a/[esx_addons]/esx_lscustom/locales/si.lua b/[esx_addons]/esx_lscustom/locales/si.lua
deleted file mode 100644
index 8d8a9b70..00000000
--- a/[esx_addons]/esx_lscustom/locales/si.lua
+++ /dev/null
@@ -1,276 +0,0 @@
-Locales['si'] = {
- ['by_default'] = 'privzeto',
- ['installed'] = 'nameščen',
- ['already_own'] = 'že imaš: %s',
- ['not_enough_money'] = 'tega modusa si ne moreš privoščiti!',
- ['purchased'] = 'kupili ste mod!',
- ['press_custom'] = 'pritisnite ~INPUT_PICKUP~, da personalizirate~ svoje vozilo.',
- ['level'] = 'raven %s',
- ['neon'] = 'neon',
- ['blip_name'] = 'los Santos Customs',
--- Barve barve
- -- črna
- ['black'] = 'black',
- ['graphite'] = 'grafit',
- ['black_metallic'] = 'črna kovinska',
- ['caststeel'] = 'jeklena litina',
- ['black_anth'] = 'črni antracit',
- ['matteblack'] = 'mat črna',
- ['darknight'] = 'temna noč',
- ['deepblack'] = 'globoka črna',
- ['oil'] = 'olje',
- ['carbon'] = 'ogljik',
- -- bela
- ['white'] = 'bela',
- ['vanilla'] = 'vanilija',
- ['creme'] = 'creme',
- ['polarwhite'] = 'polarna bela',
- ['beige'] = 'bež',
- ['mattewhite'] = 'mat bela',
- ['snow'] = 'sneg',
- ['cotton'] = 'bombaž',
- ['alabaster'] = 'alabaster',
- ['purewhite'] = 'čista bela',
- -- siva
- ['grey'] = 'siva',
- ['silver'] = 'srebrna',
- ['metallicgrey'] = 'kovinsko siva',
- ['laminatedsteel'] = 'laminirano jeklo',
- ['darkgray'] = 'temno siva',
- ['rockygray'] = 'kamnito siva',
- ['graynight'] = 'siva noč',
- ['aluminium'] = 'aluminij',
- ['graymat'] = 'mat siva',
- ['lightgrey'] = 'svetlo siva',
- ['asphaltgray'] = 'asfaltno siva',
- ['grayconcrete'] = 'betonsko siva',
- ['darksilver'] = 'temno srebrna',
- ['magnezit'] = 'magnezit',
- ['nickel'] = 'nikelj',
- ['cink'] = 'cink',
- ['dolomit'] = 'dolomit',
- ['bluesilver'] = 'modro srebro',
- ['titanium'] = 'titan',
- ['steelblue'] = 'jekleno modra',
- ['champagne'] = 'šampanjec',
- ['grayhunter'] = 'sivi lovec',
- -- rdeča
- ['red'] = 'rdeča',
- ['torino_red'] = 'torinsko rdeča',
- ['poppy'] = 'mak',
- ['copper_red'] = 'bakrena rdeča',
- ['cardinal'] = 'kardinalsko rdeča',
- ['brick'] = 'opečnato rdeča',
- ['garnet'] = 'granatna',
- ['cabernet'] = 'kabernetno rdeča',
- ['candy'] = 'rdeča sladkarija',
- ['matte_red'] = 'mat rdeča',
- ['dark_red'] = 'temno rdeča',
- ['red_pulp'] = 'rdeča celuloza',
- ['bril_red'] = 'briljantna rdeča',
- ['pale_red'] = 'bleda rdeča',
- ['wine_red'] = 'vinsko rdeča',
- ['volcano'] = 'vulkan',
- -- roza
- ['pink'] = 'roza',
- ['electricpink'] = 'električno roza',
- ['brightpink'] = 'svetlo rožnata',
- ['salmon'] = 'losos',
- ['sugarplum'] = 'sladkorna sliva',
- -- modra
- ['blue'] = 'modra',
- ['topaz'] = 'topaz',
- ['light_blue'] = 'svetlo modra',
- ['galaxy_blue'] = 'galaxy Blue',
- ['dark_blue'] = 'temno modra',
- ['azure'] = 'azurna',
- ['navy_blue'] = 'mornarsko modra',
- ['lapis'] = 'lapis Lazuli',
- ['blue_diamond'] = 'modri diamant',
- ['surfer'] = 'surfer',
- ['pastel_blue'] = 'pastelno modra',
- ['celeste_blue'] = 'celeste Blue',
- ['rally_blue'] = 'rally Blue',
- ['blue_paradise'] = 'modri raj',
- ['blue_night'] = 'modra noč',
- ['cyan_blue'] = 'cyan Blue',
- ['cobalt'] = 'kobalt',
- ['electric_blue'] = 'električno modra',
- ['horizon_blue'] = 'horizontalna modra',
- ['metallic_blue'] = 'kovinsko modra',
- ['aquamarine'] = 'akvamarin',
- ['blue_agathe'] = 'modra Agathe',
- ['zirconium'] = 'cirkonij',
- ['spinel'] = 'spinel',
- ['tourmaline'] = 'turmalin',
- ['paradise'] = 'raj',
- ['bubble_gum'] = 'žvečilni gumi',
- ['midnight_blue'] = 'polnočno modra',
- ['forbidden_blue'] = 'prepovedana modra',
- ['glacier_blue'] = 'ledeniško modra',
- -- rumena
- ['yellow'] = 'rumena',
- ['wheat'] = 'pšenica',
- ['raceyellow'] = 'race Yellow',
- ['paleyellow'] = 'bledo rumena',
- ['lightyellow'] = 'svetlo rumena',
- -- zelena
- ['green'] = 'zelen',
- ['met_dark_green'] = 'kovinska temno zelena',
- ['rally_green'] = 'rally zelena',
- ['pine_green'] = 'zelena borovničeva',
- ['olive_green'] = 'olivno zelena',
- ['light_green'] = 'svetlo zelena',
- ['lime_green'] = 'limetno zelena',
- ['forest_green'] = 'gozdna zelena',
- ['lawn_green'] = 'travnata zelena',
- ['imperial_green'] = 'imperialna zelena',
- ['green_bottle'] = 'breen Bottle',
- ['citrus_green'] = 'zelena citrusov',
- ['green_anis'] = 'zeleni anis',
- ['khaki'] = 'kaki',
- ['army_green'] = 'army Green',
- ['dark_green'] = 'temno zelena',
- ['hunter_green'] = 'lovsko zelena',
- ['matte_foilage_green'] = 'matirana zelena folija',
- -- oranžna
- ['orange'] = 'oranžna',
- ['tangerine'] = 'oranžna',
- ['matteorange'] = 'mat oranžna',
- ['lightorange'] = 'svetlo oranžna',
- ['peach'] = 'Peach',
- ['pumpkin'] = 'Buča',
- ['orangelambo'] = 'Orange Lambo',
- -- rjava
- ['brown'] = 'rjava',
- ['copper'] = 'bakrena',
- ['lightbrown'] = 'svetlo rjava',
- ['darkbrown'] = 'Temno rjava',
- ['bronze'] = 'bronasta',
- ['brownmetallic'] = 'Brown Metallic',
- ['expresso'] = 'Expresso',
- ['chocolate'] = 'Čokolada',
- ['terracotta'] = 'Terracotta',
- ['marble'] = 'Marmor',
- ['sand'] = 'Pesek',
- ['sepia'] = 'Sepija',
- ['bison'] = 'Bizon',
- ['palm'] = 'Palm',
- ['caramel'] = 'Karamel',
- ['rust'] = 'Rust',
- ["kostanj"] = "Kostanj",
- ['hazelnut'] = 'Lešnik',
- ['shell'] = 'lupina',
- ['mahagoni'] = 'Mahagoni',
- ['cauldron'] = 'Kotel',
- ['blond'] = 'blond',
- ['gravel'] = 'Gravel',
- ['darkearth'] = 'Temna Zemlja',
- ['desert'] = 'Desert',
- -- vijolična
- ['purple'] = 'vijolična',
- ['indigo'] = 'Indigo',
- ['deeppurple'] = 'Deep Purple',
- ['darkviolet'] = 'Temno vijolična',
- ['ametist'] = 'Ametist',
- ['mysticalviolet'] = 'mistična vijolična',
- ['purplemetallic'] = 'vijolična kovinska',
- ['matteviolet'] = 'matirana vijolična',
- ['mattedeeppurple'] = 'matirano globoko vijolična',
- -- Chrome
- ['chrome'] = 'krom',
- ['brushedchrome'] = 'brušeni krom',
- ['blackchrome'] = 'črni krom',
- ['brushedaluminum'] = 'brušeni aluminij',
- -- kovina
- ['gold'] = 'zlato',
- ['puregold'] = 'čisto zlato',
- ['brushedgold'] = 'brušeno zlato',
- ['lightgold'] = 'svetlo zlato',
--- registrske tablice
- ['blue_on_white_1'] = 'modra na beli 1',
- ['yellow_on_black'] = 'rumena na črni',
- ['yellow_blue'] = 'rumena na modri',
- ['blue_on_white_2'] = 'modra na beli 2',
- ['blue_on_white_3'] = 'modra na beli 3',
--- nadgradnje
- ['upgrades'] = 'nadgradnje',
- ['engine'] = 'motor',
- ['brakes'] = 'brakes',
- ['transmisija'] = 'transmisija',
- ['suspension'] = 'vzmetenje',
- ['armor'] = 'armor',
- ['turbo'] = 'turbo',
- ['no_turbo'] = 'brez turba',
--- kozmetika
- ['cosmetics'] = 'kozmetika',
- -- Deli telesa
- ['bodyparts'] = 'deli telesa',
- ['leftfender'] = 'levi blatnik',
- ['rightfender'] = 'desni blatnik',
- ['spoilers'] = 'spojlerji',
- ['sideskirt'] = 'stranska krila',
- ['cage'] = 'kletka',
- ['hood'] = 'maska',
- ['grille'] = 'rešetka',
- ['rearbumper'] = 'zadnji odbijač',
- ['frontbumper'] = 'prednji odbijač',
- ['exhaust'] = 'izpuh',
- ['roof'] = 'streha',
- -- barva
- ['respray'] = 'ponovno lakiranje',
- ['primary'] = 'primary',
- ["secondary"] = "secondary",
- ['pearlescent'] = 'biserno',
- -- Razno
- ['headlights'] = 'žarometi',
- ['licenseplates'] = 'registrska tablica',
- ['windowtint'] = 'barvni odtenek oken',
- ['horns'] = 'horns',
- -- Neon
- ['neons'] = 'neons',
- -- kolesa
- ['wheels'] = 'wheels',
- ['tiresmoke'] = 'dim iz pnevmatik',
- ['wheel_type'] = 'tip kolesa',
- ['wheel_color'] = 'barva kolesa',
- ['sport'] = 'sport',
- ['muscle'] = 'muscle',
- ['lowrider'] = 'lowrider',
- ['suv'] = 'SUV',
- ['allterrain'] = 'terenski',
- ['tuning'] = 'tuning',
- ['motorcycle'] = 'motorno kolo',
- ['highend'] = 'vrhunski',
-
- ['modplateholder'] = 'plate - Back',
- ['modvanityplate'] = 'plate - Front',
- ['interior'] = 'notranjost',
- ["trim"] = "trim",
- ['dashboard'] = 'armaturna plošča',
- ['speedometer'] = 'merilnik hitrosti',
- ['door_speakers'] = 'vratni zvočniki',
- ["seats"] = "seats",
- ['steering_wheel'] = 'volan',
- ['gear_lever'] = 'prestavna ročica',
- ['quarter_deck'] = 'četrtinska paluba',
- ['speakers'] = 'zvočniki',
- ['trunk'] = 'prtljažnik',
- ['hydraulic'] = 'hidravlični',
- ['engine_block'] = 'blok motorja',
- ['air_filter'] = 'zračni filter',
- ['struts'] = 'opore',
- ['arch_cover'] = 'pokrov loka',
- ['aerials'] = 'antene',
- ['wings'] = 'wings',
- ['fuel_tank'] = 'rezervoar za gorivo',
- ['windows'] = 'okna',
- ['stickers'] = 'nalepke',
-
--- Xenon Colors
- ['mintgreen'] = 'Mint Green',
- ['goldenshower'] = 'Golden Shower',
- ['ponypink'] = 'Pony Pink',
- ['hotpink'] = 'Hot Pink',
- ['blacklight'] = 'Blacklight',
-}
diff --git a/[esx_addons]/esx_lscustom/server/main.lua b/[esx_addons]/esx_lscustom/server/main.lua
deleted file mode 100644
index 7ab91939..00000000
--- a/[esx_addons]/esx_lscustom/server/main.lua
+++ /dev/null
@@ -1,109 +0,0 @@
-local Vehicles
-local Customs = {}
-
-RegisterNetEvent('esx_lscustom:startModing', function(props, netId)
- local src = tostring(source)
- if Customs[src] then
- Customs[src][tostring(props.plate)] = {props = props, netId = netId}
- else
- Customs[src] = {}
- Customs[src][tostring(props.plate)] = {props = props, netId = netId}
- end
-end)
-
-RegisterNetEvent('esx_lscustom:stopModing', function(plate)
- local src = tostring(source)
- if Customs[src] then
- Customs[src][tostring(plate)] = nil
- end
-end)
-
-AddEventHandler('esx:playerDropped', function(src)
- src = tostring(src)
- local playersCount = #ESX.GetExtendedPlayers()
- if Customs[src] then
- for k,v in pairs(Customs[src]) do
- local entity = NetworkGetEntityFromNetworkId(v.netId)
- if DoesEntityExist(entity) then
- if playersCount > 0 then
- TriggerClientEvent('esx_lscustom:restoreMods', -1, v.netId, v.props)
- else
- DeleteEntity(entity)
- end
- end
- end
- Customs[src] = nil
- end
-end)
-
-RegisterServerEvent('esx_lscustom:buyMod')
-AddEventHandler('esx_lscustom:buyMod', function(price)
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
- price = tonumber(price)
-
- if Config.IsMechanicJobOnly then
- local societyAccount
-
- TriggerEvent('esx_addonaccount:getSharedAccount', 'society_mechanic', function(account)
- societyAccount = account
- end)
-
- if price < societyAccount.money then
- TriggerClientEvent('esx_lscustom:installMod', source)
- TriggerClientEvent('esx:showNotification', source, TranslateCap('purchased'))
- societyAccount.removeMoney(price)
- else
- TriggerClientEvent('esx_lscustom:cancelInstallMod', source)
- TriggerClientEvent('esx:showNotification', source, TranslateCap('not_enough_money'))
- end
- else
- if price < xPlayer.getMoney() then
- TriggerClientEvent('esx_lscustom:installMod', source)
- TriggerClientEvent('esx:showNotification', source, TranslateCap('purchased'))
- xPlayer.removeMoney(price, "LSC Purchase")
- else
- TriggerClientEvent('esx_lscustom:cancelInstallMod', source)
- TriggerClientEvent('esx:showNotification', source, TranslateCap('not_enough_money'))
- end
- end
-end)
-
-RegisterServerEvent('esx_lscustom:refreshOwnedVehicle')
-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})
- 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
- end
- end)
-end)
-
-ESX.RegisterServerCallback('esx_lscustom:getVehiclesPrices', function(source, cb)
- if not Vehicles then
- Vehicles = MySQL.query.await('SELECT model, price FROM vehicles')
- end
- cb(Vehicles)
-end)
diff --git a/[esx_addons]/esx_mechanicjob/.editorconfig b/[esx_addons]/esx_mechanicjob/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_mechanicjob/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_mechanicjob/LICENSE b/[esx_addons]/esx_mechanicjob/LICENSE
deleted file mode 100644
index e345d8e8..00000000
--- a/[esx_addons]/esx_mechanicjob/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_mechanicjob/README.md b/[esx_addons]/esx_mechanicjob/README.md
deleted file mode 100644
index 9e3cbbbc..00000000
--- a/[esx_addons]/esx_mechanicjob/README.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# esx_mechanicjob
-
-## Requirements
-
-* Auto mode
- * No need to download another resource
-
-* Player management (billing and boss actions)
- * [esx_society](https://github.com/ESX-Org/esx_society)
- * [esx_billing](https://github.com/ESX-Org/esx_billing)
-
-## Download & Installation
-
-### Using [fvm](https://github.com/qlaffont/fvm-installer)
-```
-fvm install --save --folder=esx esx-org/esx_mechanicjob
-```
-
-### Using Git
-```
-cd resources
-git clone https://github.com/ESX-Org/esx_mechanicjob [esx]/esx_mechanicjob
-```
-
-### Manually
-- Download https://github.com/ESX-Org/esx_mechanicjob/archive/master.zip
-- Put it in the `[esx]` directory
-
-## Installation
-- Import `esx_mechanicjob.sql` in your database
-- If you want player management you have to set `Config.EnablePlayerManagement` to `true` in `config.lua`
-- Add this to your `server.cfg`:
-
-```
-start esx_mechanicjob
-```
-
-# Legal
-### License
-esx_mechanicjob - mechanic job for ESX
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
\ No newline at end of file
diff --git a/[esx_addons]/esx_mechanicjob/client/main.lua b/[esx_addons]/esx_mechanicjob/client/main.lua
deleted file mode 100644
index bb085d7d..00000000
--- a/[esx_addons]/esx_mechanicjob/client/main.lua
+++ /dev/null
@@ -1,950 +0,0 @@
-local HasAlreadyEnteredMarker, LastZone = false, nil
-local CurrentAction, CurrentActionMsg, CurrentActionData = nil, '', {}
-local CurrentlyTowedVehicle, Blips, NPCOnJob, NPCTargetTowable, NPCTargetTowableZone = nil, {}, false, nil, nil
-local NPCHasSpawnedTowable, NPCLastCancel, NPCHasBeenNextToTowable, NPCTargetDeleterZone = false, GetGameTimer() - 5 * 60000, false, false
-local isDead, isBusy = false, false
-
-function SelectRandomTowable()
- local index = GetRandomIntInRange(1, #Config.Towables)
-
- for k,v in pairs(Config.Zones) do
- if v.Pos.x == Config.Towables[index].x and v.Pos.y == Config.Towables[index].y and v.Pos.z == Config.Towables[index].z then
- return k
- end
- end
-end
-
-function StartNPCJob()
- NPCOnJob = true
-
- NPCTargetTowableZone = SelectRandomTowable()
- local zone = Config.Zones[NPCTargetTowableZone]
-
- Blips['NPCTargetTowableZone'] = AddBlipForCoord(zone.Pos.x, zone.Pos.y, zone.Pos.z)
- SetBlipRoute(Blips['NPCTargetTowableZone'], true)
-
- ESX.ShowNotification(TranslateCap('drive_to_indicated'))
-end
-
-function StopNPCJob(cancel)
- if Blips['NPCTargetTowableZone'] then
- RemoveBlip(Blips['NPCTargetTowableZone'])
- Blips['NPCTargetTowableZone'] = nil
- end
-
- if Blips['NPCDelivery'] then
- RemoveBlip(Blips['NPCDelivery'])
- Blips['NPCDelivery'] = nil
- end
-
- Config.Zones.VehicleDelivery.Type = -1
-
- NPCOnJob = false
- NPCTargetTowable = nil
- NPCTargetTowableZone = nil
- NPCHasSpawnedTowable = false
- NPCHasBeenNextToTowable = false
-
- if cancel then
- ESX.ShowNotification(TranslateCap('mission_canceled'), "error")
- else
- --TriggerServerEvent('esx_mechanicjob:onNPCJobCompleted')
- end
-end
-
-function OpenMechanicActionsMenu()
- local elements = {
- {unselectable = true, icon = "fas fa-gear", title = TranslateCap('mechanic')},
- {icon = "fas fa-car", title = TranslateCap('vehicle_list'), value = 'vehicle_list'},
- {icon = "fas fa-shirt", title = TranslateCap('work_wear'), value = 'cloakroom'},
- {icon = "fas fa-shirt", title = TranslateCap('civ_wear'), value = 'cloakroom2'},
- {icon = "fas fa-box", title = TranslateCap('deposit_stock'), value = 'put_stock'},
- {icon = "fas fa-box", title = TranslateCap('withdraw_stock'), value = 'get_stock'}
- }
-
- if Config.EnablePlayerManagement and ESX.PlayerData.job and ESX.PlayerData.job.grade_name == 'boss' then
- elements[#elements+1] = {
- icon = 'fas fa-boss',
- title = TranslateCap('boss_actions'),
- value = 'boss_actions'
- }
- end
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.value == 'vehicle_list' then
- if Config.EnableSocietyOwnedVehicles then
- local elements2 = {
- {unselectable = true, icon = "fas fa-car", title = TranslateCap('service_vehicle')}
- }
-
- ESX.TriggerServerCallback('esx_society:getVehiclesInGarage', function(vehicles)
- for i=1, #vehicles, 1 do
- elements2[#elements2+1] = {
- icon = 'fas fa-car',
- title = GetDisplayNameFromVehicleModel(vehicles[i].model) .. ' [' .. vehicles[i].plate .. ']',
- value = vehicles[i]
- }
- end
-
- ESX.OpenContext("right", elements2, function(menu2,element2)
- ESX.CloseContext()
- local vehicleProps = element.value
-
- ESX.Game.SpawnVehicle(vehicleProps.model, Config.Zones.VehicleSpawnPoint.Pos, 270.0, function(vehicle)
- ESX.Game.SetVehicleProperties(vehicle, vehicleProps)
- local playerPed = PlayerPedId()
- TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
- end)
-
- TriggerServerEvent('esx_society:removeVehicleFromGarage', 'mechanic', vehicleProps)
- end)
- end, 'mechanic')
- else
- local elements2 = {
- {unselectable = true, icon = "fas fa-car", title = TranslateCap('service_vehicle')},
- {icon = "fas fa-truck", title = TranslateCap('flat_bed'), value = 'flatbed'},
- {icon = "fas fa-truck", title = TranslateCap('tow_truck'), value = 'towtruck2'}
- }
-
- if Config.EnablePlayerManagement and ESX.PlayerData.job and (ESX.PlayerData.job.grade_name == 'boss' or ESX.PlayerData.job.grade_name == 'chief' or ESX.PlayerData.job.grade_name == 'experimente') then
- elements2[#elements2+1] = {
- icon = 'fas fa-truck',
- title = 'Slamvan',
- value = 'slamvan3'
- }
- end
-
- ESX.OpenContext("right", elements2, function(menu2,element2)
- if Config.MaxInService == -1 then
- ESX.CloseContext()
- ESX.Game.SpawnVehicle(element2.value, Config.Zones.VehicleSpawnPoint.Pos, 90.0, function(vehicle)
- local playerPed = PlayerPedId()
- TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
- end)
- else
- ESX.TriggerServerCallback('esx_service:enableService', function(canTakeService, maxInService, inServiceCount)
- if canTakeService then
- ESX.CloseContext()
- ESX.Game.SpawnVehicle(element2.value, Config.Zones.VehicleSpawnPoint.Pos, 90.0, function(vehicle)
- local playerPed = PlayerPedId()
- TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
- end)
- else
- ESX.ShowNotification(TranslateCap('service_full') .. inServiceCount .. '/' .. maxInService)
- end
- end, 'mechanic')
- end
- end)
- end
- elseif element.value == 'cloakroom' then
- ESX.CloseContext()
- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin)
- if skin.sex == 0 then
- TriggerEvent('skinchanger:loadClothes', skin, jobSkin.skin_male)
- else
- TriggerEvent('skinchanger:loadClothes', skin, jobSkin.skin_female)
- end
- end)
- elseif element.value == 'cloakroom2' then
- ESX.CloseContext()
- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin)
- TriggerEvent('skinchanger:loadSkin', skin)
- end)
- elseif Config.OxInventory and (element.value == 'put_stock' or element.value == 'get_stock') then
- exports.ox_inventory:openInventory('stash', 'society_mechanic')
- return ESX.CloseContext()
- elseif element.value == 'put_stock' then
- OpenPutStocksMenu()
- elseif element.value == 'get_stock' then
- OpenGetStocksMenu()
- elseif element.value == 'boss_actions' then
- TriggerEvent('esx_society:openBossMenu', 'mechanic', function(data, menu)
- menu.close()
- end)
- end
- end, function(menu)
- CurrentAction = 'mechanic_actions_menu'
- CurrentActionMsg = TranslateCap('open_actions')
- CurrentActionData = {}
- end)
-end
-
-function OpenMechanicHarvestMenu()
- if Config.EnablePlayerManagement and ESX.PlayerData.job and ESX.PlayerData.job.grade_name ~= 'recrue' then
- local elements = {
- {unselectable = true, icon = "fas fa-gear", title = "Mechanic Harvest Menu"},
- {icon = "fas fa-gear", title = TranslateCap('gas_can'), value = 'gaz_bottle'},
- {icon = "fas fa-gear", title = TranslateCap('repair_tools'), value = 'fix_tool'},
- {icon = "fas fa-gear", title = TranslateCap('body_work_tools'), value = 'caro_tool'}
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.value == 'gaz_bottle' then
- TriggerServerEvent('esx_mechanicjob:startHarvest')
- elseif element.value == 'fix_tool' then
- TriggerServerEvent('esx_mechanicjob:startHarvest2')
- elseif element.value == 'caro_tool' then
- TriggerServerEvent('esx_mechanicjob:startHarvest3')
- end
- end, function(menu)
- CurrentAction = 'mechanic_harvest_menu'
- CurrentActionMsg = TranslateCap('harvest_menu')
- CurrentActionData = {}
- end)
- else
- ESX.ShowNotification(TranslateCap('not_experienced_enough'))
- end
-end
-
-function OpenMechanicCraftMenu()
- if Config.EnablePlayerManagement and ESX.PlayerData.job and ESX.PlayerData.job.grade_name ~= 'recrue' then
- local elements = {
- {unselectable = true, icon = "fas fa-gear", title = "Mechanic Craft Menu"},
- {icon = "fas fa-gear", title = TranslateCap('blowtorch'), value = 'blow_pipe'},
- {icon = "fas fa-gear", title = TranslateCap('repair_kit'), value = 'fix_kit'},
- {icon = "fas fa-gear", title = TranslateCap('body_kit'), value = 'caro_kit'}
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- if element.value == 'blow_pipe' then
- TriggerServerEvent('esx_mechanicjob:startCraft')
- elseif element.value == 'fix_kit' then
- TriggerServerEvent('esx_mechanicjob:startCraft2')
- elseif element.value == 'caro_kit' then
- TriggerServerEvent('esx_mechanicjob:startCraft3')
- end
- end, function(menu)
- CurrentAction = 'mechanic_craft_menu'
- CurrentActionMsg = TranslateCap('craft_menu')
- CurrentActionData = {}
- end)
- else
- ESX.ShowNotification(TranslateCap('not_experienced_enough'))
- end
-end
-
-function OpenMobileMechanicActionsMenu()
- local elements = {
- {unselectable = true, icon = "fas fa-gear", title = TranslateCap('mechanic')},
- {icon = "fas fa-gear", title = TranslateCap('billing'), value = 'billing'},
- {icon = "fas fa-gear", title = TranslateCap('hijack'), value = 'hijack_vehicle'},
- {icon = "fas fa-gear", title = TranslateCap('repair'), value = 'fix_vehicle'},
- {icon = "fas fa-gear", title = TranslateCap('clean'), value = 'clean_vehicle'},
- {icon = "fas fa-gear", title = TranslateCap('imp_veh'), value = 'del_vehicle'},
- {icon = "fas fa-gear", title = TranslateCap('flat_bed'), value = 'dep_vehicle'},
- {icon = "fas fa-gear", title = TranslateCap('place_objects'), value = 'object_spawner'}
- }
-
- ESX.OpenContext("right", elements, function(menu,element)
- if isBusy then return end
-
- if element.value == "billing" then
- local elements2 = {
- {unselectable = true, icon = "fas fa-scroll", title = element.title},
- {title = "Amount", input = true, inputType = "number", inputMin = 1, inputMax = 250000, inputPlaceholder = "Amount to bill.."},
- {icon = "fas fa-check-double", title = "Confirm", value = "confirm"}
- }
-
- ESX.OpenContext("right", elements2, function(menu2,element2)
- local amount = tonumber(menu2.eles[2].inputValue)
-
- if amount == nil or amount < 0 then
- ESX.ShowNotification(TranslateCap('amount_invalid'), "error")
- else
- local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
- if closestPlayer == -1 or closestDistance > 3.0 then
- ESX.ShowNotification(TranslateCap('no_players_nearby'), "error")
- else
- menu.close()
- TriggerServerEvent('esx_billing:sendBill', GetPlayerServerId(closestPlayer), 'society_mechanic', TranslateCap('mechanic'), amount)
- end
- end
- end)
- elseif element.value == "hijack_vehicle" then
- local playerPed = PlayerPedId()
- local vehicle = ESX.Game.GetVehicleInDirection()
- local coords = GetEntityCoords(playerPed)
-
- if IsPedSittingInAnyVehicle(playerPed) then
- ESX.ShowNotification(TranslateCap('inside_vehicle'))
- return
- end
-
- if DoesEntityExist(vehicle) then
- isBusy = true
- TaskStartScenarioInPlace(playerPed, 'WORLD_HUMAN_WELDING', 0, true)
- CreateThread(function()
- Wait(10000)
-
- SetVehicleDoorsLocked(vehicle, 1)
- SetVehicleDoorsLockedForAllPlayers(vehicle, false)
- ClearPedTasksImmediately(playerPed)
-
- ESX.ShowNotification(TranslateCap('vehicle_unlocked'))
- isBusy = false
- end)
- else
- ESX.ShowNotification(TranslateCap('no_vehicle_nearby'))
- end
- elseif element.value == "fix_vehicle" then
- local playerPed = PlayerPedId()
- local vehicle = ESX.Game.GetVehicleInDirection()
- local coords = GetEntityCoords(playerPed)
-
- if IsPedSittingInAnyVehicle(playerPed) then
- ESX.ShowNotification(TranslateCap('inside_vehicle'))
- return
- end
-
- if DoesEntityExist(vehicle) then
- isBusy = true
- TaskStartScenarioInPlace(playerPed, 'PROP_HUMAN_BUM_BIN', 0, true)
- CreateThread(function()
- Wait(20000)
-
- SetVehicleFixed(vehicle)
- SetVehicleDeformationFixed(vehicle)
- SetVehicleUndriveable(vehicle, false)
- SetVehicleEngineOn(vehicle, true, true)
- ClearPedTasksImmediately(playerPed)
-
- ESX.ShowNotification(TranslateCap('vehicle_repaired'))
- isBusy = false
- end)
- else
- ESX.ShowNotification(TranslateCap('no_vehicle_nearby'))
- end
- elseif element.value == "clean_vehicle" then
- local playerPed = PlayerPedId()
- local vehicle = ESX.Game.GetVehicleInDirection()
- local coords = GetEntityCoords(playerPed)
-
- if IsPedSittingInAnyVehicle(playerPed) then
- ESX.ShowNotification(TranslateCap('inside_vehicle'))
- return
- end
-
- if DoesEntityExist(vehicle) then
- isBusy = true
- TaskStartScenarioInPlace(playerPed, 'WORLD_HUMAN_MAID_CLEAN', 0, true)
- CreateThread(function()
- Wait(10000)
-
- SetVehicleDirtLevel(vehicle, 0)
- ClearPedTasksImmediately(playerPed)
-
- ESX.ShowNotification(TranslateCap('vehicle_cleaned'))
- isBusy = false
- end)
- else
- ESX.ShowNotification(TranslateCap('no_vehicle_nearby'))
- end
- elseif element.value == "del_vehicle" then
- local playerPed = PlayerPedId()
-
- if IsPedSittingInAnyVehicle(playerPed) then
- local vehicle = GetVehiclePedIsIn(playerPed, false)
-
- if GetPedInVehicleSeat(vehicle, -1) == playerPed then
- ESX.ShowNotification(TranslateCap('vehicle_impounded'))
- ESX.Game.DeleteVehicle(vehicle)
- else
- ESX.ShowNotification(TranslateCap('must_seat_driver'))
- end
- else
- local vehicle = ESX.Game.GetVehicleInDirection()
-
- if DoesEntityExist(vehicle) then
- ESX.ShowNotification(TranslateCap('vehicle_impounded'))
- ESX.Game.DeleteVehicle(vehicle)
- else
- ESX.ShowNotification(TranslateCap('must_near'))
- end
- end
- elseif element.value == "dep_vehicle" then
- local playerPed = PlayerPedId()
- local vehicle = GetVehiclePedIsIn(playerPed, true)
-
- local towmodel = `flatbed`
- local isVehicleTow = IsVehicleModel(vehicle, towmodel)
-
- if isVehicleTow then
- local targetVehicle = ESX.Game.GetVehicleInDirection()
-
- if CurrentlyTowedVehicle == nil then
- if targetVehicle ~= 0 then
- if not IsPedInAnyVehicle(playerPed, true) then
- if vehicle ~= targetVehicle then
- AttachEntityToEntity(targetVehicle, vehicle, 20, -0.5, -5.0, 1.0, 0.0, 0.0, 0.0, false, false, false, false, 20, true)
- CurrentlyTowedVehicle = targetVehicle
- ESX.ShowNotification(TranslateCap('vehicle_success_attached'))
-
- if NPCOnJob then
- if NPCTargetTowable == targetVehicle then
- ESX.ShowNotification(TranslateCap('please_drop_off'))
- Config.Zones.VehicleDelivery.Type = 1
-
- if Blips['NPCTargetTowableZone'] then
- RemoveBlip(Blips['NPCTargetTowableZone'])
- Blips['NPCTargetTowableZone'] = nil
- end
-
- Blips['NPCDelivery'] = AddBlipForCoord(Config.Zones.VehicleDelivery.Pos.x, Config.Zones.VehicleDelivery.Pos.y, Config.Zones.VehicleDelivery.Pos.z)
- SetBlipRoute(Blips['NPCDelivery'], true)
- end
- end
- else
- ESX.ShowNotification(TranslateCap('cant_attach_own_tt'))
- end
- end
- else
- ESX.ShowNotification(TranslateCap('no_veh_att'))
- end
- else
- AttachEntityToEntity(CurrentlyTowedVehicle, vehicle, 20, -0.5, -12.0, 1.0, 0.0, 0.0, 0.0, false, false, false, false, 20, true)
- DetachEntity(CurrentlyTowedVehicle, true, true)
-
- if NPCOnJob then
- if NPCTargetDeleterZone then
-
- if CurrentlyTowedVehicle == NPCTargetTowable then
- ESX.Game.DeleteVehicle(NPCTargetTowable)
- TriggerServerEvent('esx_mechanicjob:onNPCJobMissionCompleted')
- StopNPCJob()
- NPCTargetDeleterZone = false
- else
- ESX.ShowNotification(TranslateCap('not_right_veh'))
- end
-
- else
- ESX.ShowNotification(TranslateCap('not_right_place'))
- end
- end
-
- CurrentlyTowedVehicle = nil
- ESX.ShowNotification(TranslateCap('veh_det_succ'))
- end
- else
- ESX.ShowNotification(TranslateCap('imp_flatbed'))
- end
- elseif element.value == "object_spawner" then
- local playerPed = PlayerPedId()
-
- if IsPedSittingInAnyVehicle(playerPed) then
- ESX.ShowNotification(TranslateCap('inside_vehicle'))
- return
- end
-
- local elements2 = {
- {unselectable= true, icon = "fas fa-object", title = TranslateCap('objects')},
- {icon = "fas fa-object", title = TranslateCap('roadcone'), value = 'prop_roadcone02a'},
- {icon = "fas fa-object", title = TranslateCap('toolbox'), value = 'prop_toolchest_01'}
- }
-
- ESX.OpenContext("right", elements2, function(menuObj,elementObj)
- local model = elementObj.value
- local coords = GetEntityCoords(playerPed)
- local forward = GetEntityForwardVector(playerPed)
- local x, y, z = table.unpack(coords + forward * 1.0)
-
- if model == 'prop_roadcone02a' then
- z = z - 2.0
- elseif model == 'prop_toolchest_01' then
- z = z - 2.0
- end
-
- ESX.Game.SpawnObject(model, {x = x, y = y, z = z}, function(obj)
- SetEntityHeading(obj, GetEntityHeading(playerPed))
- PlaceObjectOnGroundProperly(obj)
- end)
- end)
- end
- end)
-end
-
-function OpenGetStocksMenu()
- ESX.TriggerServerCallback('esx_mechanicjob:getStockItems', function(items)
- local elements = {
- {unselectable = true, icon = "fas fa-box", title = TranslateCap('mechanic_stock')}
- }
-
- for i=1, #items, 1 do
- elements[#elements+1] = {
- icon = 'fas fa-box',
- title = 'x' .. items[i].count .. ' ' .. items[i].label,
- value = items[i].name
- }
- end
-
- ESX.OpenContext("right", elements, function(menu,element)
- local itemName = element.value
-
- local elements2 = {
- {unselectable = true, icon = "fas fa-box", title = element.title},
- {title = "Amount", input = true, inputType = "number", inputMin = 1, inputMax = 100, inputPlaceholder = "Amount to withdraw.."},
- {icon = "fas fa-check-double", title = "Confirm", value = "confirm"}
- }
-
- ESX.OpenContext("right", elements2, function(menu2,element2)
- local count = tonumber(menu2.eles[2].inputValue)
-
- if count == nil then
- ESX.ShowNotification(TranslateCap('invalid_quantity'))
- else
- ESX.CloseContext()
- TriggerServerEvent('esx_mechanicjob:getStockItem', itemName, count)
-
- Wait(1000)
- OpenGetStocksMenu()
- end
- end)
- end)
- end)
-end
-
-function OpenPutStocksMenu()
- ESX.TriggerServerCallback('esx_mechanicjob:getPlayerInventory', function(inventory)
- local elements = {
- {unselectable = true, icon = "fas fa-box", title = TranslateCap('inventory')}
- }
-
- for i=1, #inventory.items, 1 do
- local item = inventory.items[i]
-
- if item.count > 0 then
- elements[#elements+1] = {
- icon = 'fas fa-box',
- title = item.label .. ' x' .. item.count,
- type = 'item_standard',
- value = item.name
- }
- end
- end
-
- ESX.OpenContext("right", elements, function(menu,element)
- local itemName = element.value
-
- local elements2 = {
- {unselectable = true, icon = "fas fa-box", title = element.title},
- {title = "Amount", input = true, inputType = "number", inputMin = 1, inputMax = 100, inputPlaceholder = "Amount to deposit.."},
- {icon = "fas fa-check-double", title = "Confirm", value = "confirm"}
- }
-
- ESX.OpenContext("right", elements2, function(menu2,element2)
- local count = tonumber(menu2.eles[2].inputValue)
-
- if count == nil then
- ESX.ShowNotification(TranslateCap('invalid_quantity'))
- else
- ESX.CloseContext()
- TriggerServerEvent('esx_mechanicjob:putStockItems', itemName, count)
-
- Wait(1000)
- OpenPutStocksMenu()
- end
- end)
- end)
- end)
-end
-
-RegisterNetEvent('esx_mechanicjob:onHijack')
-AddEventHandler('esx_mechanicjob:onHijack', function()
- local playerPed = PlayerPedId()
- local coords = GetEntityCoords(playerPed)
-
- if IsAnyVehicleNearPoint(coords.x, coords.y, coords.z, 5.0) then
- local vehicle
-
- if IsPedInAnyVehicle(playerPed, false) then
- vehicle = GetVehiclePedIsIn(playerPed, false)
- else
- vehicle = GetClosestVehicle(coords.x, coords.y, coords.z, 5.0, 0, 71)
- end
-
- local chance = math.random(100)
- local alarm = math.random(100)
-
- if DoesEntityExist(vehicle) then
- if alarm <= 33 then
- SetVehicleAlarm(vehicle, true)
- StartVehicleAlarm(vehicle)
- end
-
- TaskStartScenarioInPlace(playerPed, 'WORLD_HUMAN_WELDING', 0, true)
-
- CreateThread(function()
- Wait(10000)
- if chance <= 66 then
- SetVehicleDoorsLocked(vehicle, 1)
- SetVehicleDoorsLockedForAllPlayers(vehicle, false)
- ClearPedTasksImmediately(playerPed)
- ESX.ShowNotification(TranslateCap('veh_unlocked'))
- else
- ESX.ShowNotification(TranslateCap('hijack_failed'))
- ClearPedTasksImmediately(playerPed)
- end
- end)
- end
- end
-end)
-
-RegisterNetEvent('esx_mechanicjob:onCarokit')
-AddEventHandler('esx_mechanicjob:onCarokit', function()
- local playerPed = PlayerPedId()
- local coords = GetEntityCoords(playerPed)
-
- if IsAnyVehicleNearPoint(coords.x, coords.y, coords.z, 5.0) then
- local vehicle
-
- if IsPedInAnyVehicle(playerPed, false) then
- vehicle = GetVehiclePedIsIn(playerPed, false)
- else
- vehicle = GetClosestVehicle(coords.x, coords.y, coords.z, 5.0, 0, 71)
- end
-
- if DoesEntityExist(vehicle) then
- TaskStartScenarioInPlace(playerPed, 'WORLD_HUMAN_HAMMERING', 0, true)
- CreateThread(function()
- Wait(10000)
- SetVehicleFixed(vehicle)
- SetVehicleDeformationFixed(vehicle)
- ClearPedTasksImmediately(playerPed)
- ESX.ShowNotification(TranslateCap('body_repaired'))
- end)
- end
- end
-end)
-
-RegisterNetEvent('esx_mechanicjob:onFixkit')
-AddEventHandler('esx_mechanicjob:onFixkit', function()
- local playerPed = PlayerPedId()
- local coords = GetEntityCoords(playerPed)
-
- if IsAnyVehicleNearPoint(coords.x, coords.y, coords.z, 5.0) then
- local vehicle
-
- if IsPedInAnyVehicle(playerPed, false) then
- vehicle = GetVehiclePedIsIn(playerPed, false)
- else
- vehicle = GetClosestVehicle(coords.x, coords.y, coords.z, 5.0, 0, 71)
- end
-
- if DoesEntityExist(vehicle) then
- TaskStartScenarioInPlace(playerPed, 'PROP_HUMAN_BUM_BIN', 0, true)
- CreateThread(function()
- Wait(20000)
- SetVehicleFixed(vehicle)
- SetVehicleDeformationFixed(vehicle)
- SetVehicleUndriveable(vehicle, false)
- ClearPedTasksImmediately(playerPed)
- ESX.ShowNotification(TranslateCap('veh_repaired'))
- end)
- end
- end
-end)
-
-RegisterNetEvent('esx:playerLoaded')
-AddEventHandler('esx:playerLoaded', function(xPlayer)
- ESX.PlayerData = xPlayer
- ESX.PlayerLoaded = true
-end)
-
-RegisterNetEvent('esx:setJob')
-AddEventHandler('esx:setJob', function(job)
- ESX.PlayerData.job = job
-end)
-
-AddEventHandler('esx_mechanicjob:hasEnteredMarker', function(zone)
- if zone == 'NPCJobTargetTowable' then
-
- elseif zone =='VehicleDelivery' then
- NPCTargetDeleterZone = true
- elseif zone == 'MechanicActions' then
- CurrentAction = 'mechanic_actions_menu'
- CurrentActionMsg = TranslateCap('open_actions')
- CurrentActionData = {}
- elseif zone == 'Garage' then
- CurrentAction = 'mechanic_harvest_menu'
- CurrentActionMsg = TranslateCap('harvest_menu')
- CurrentActionData = {}
- elseif zone == 'Craft' then
- CurrentAction = 'mechanic_craft_menu'
- CurrentActionMsg = TranslateCap('craft_menu')
- CurrentActionData = {}
- elseif zone == 'VehicleDeleter' then
- local playerPed = PlayerPedId()
-
- if IsPedInAnyVehicle(playerPed, false) then
- local vehicle = GetVehiclePedIsIn(playerPed, false)
-
- CurrentAction = 'delete_vehicle'
- CurrentActionMsg = TranslateCap('veh_stored')
- CurrentActionData = {vehicle = vehicle}
- end
- end
-end)
-
-AddEventHandler('esx_mechanicjob:hasExitedMarker', function(zone)
- if zone =='VehicleDelivery' then
- NPCTargetDeleterZone = false
- elseif zone == 'Craft' then
- TriggerServerEvent('esx_mechanicjob:stopCraft')
- TriggerServerEvent('esx_mechanicjob:stopCraft2')
- TriggerServerEvent('esx_mechanicjob:stopCraft3')
- elseif zone == 'Garage' then
- TriggerServerEvent('esx_mechanicjob:stopHarvest')
- TriggerServerEvent('esx_mechanicjob:stopHarvest2')
- TriggerServerEvent('esx_mechanicjob:stopHarvest3')
- end
-
- CurrentAction = nil
- ESX.CloseContext()
-end)
-
-AddEventHandler('esx_mechanicjob:hasEnteredEntityZone', function(entity)
- local playerPed = PlayerPedId()
-
- if ESX.PlayerData.job and ESX.PlayerData.job.name == 'mechanic' and not IsPedInAnyVehicle(playerPed, false) then
- CurrentAction = 'remove_entity'
- CurrentActionMsg = TranslateCap('press_remove_obj')
- CurrentActionData = {entity = entity}
- end
-end)
-
-AddEventHandler('esx_mechanicjob:hasExitedEntityZone', function(entity)
- if CurrentAction == 'remove_entity' then
- CurrentAction = nil
- end
-end)
-
-RegisterNetEvent('esx_phone:loaded')
-AddEventHandler('esx_phone:loaded', function(phoneNumber, contacts)
- local specialContact = {
- name = TranslateCap('mechanic'),
- number = 'mechanic',
- base64Icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAA4BJREFUWIXtll9oU3cUx7/nJA02aSSlFouWMnXVB0ejU3wcRteHjv1puoc9rA978cUi2IqgRYWIZkMwrahUGfgkFMEZUdg6C+u21z1o3fbgqigVi7NzUtNcmsac40Npltz7S3rvUHzxQODec87vfD+/e0/O/QFv7Q0beV3QeXqmgV74/7H7fZJvuLwv8q/Xeux1gUrNBpN/nmtavdaqDqBK8VT2RDyV2VHmF1lvLERSBtCVynzYmcp+A9WqT9kcVKX4gHUehF0CEVY+1jYTTIwvt7YSIQnCTvsSUYz6gX5uDt7MP7KOKuQAgxmqQ+neUA+I1B1AiXi5X6ZAvKrabirmVYFwAMRT2RMg7F9SyKspvk73hfrtbkMPyIhA5FVqi0iBiEZMMQdAui/8E4GPv0oAJkpc6Q3+6goAAGpWBxNQmTLFmgL3jSJNgQdGv4pMts2EKm7ICJB/aG0xNdz74VEk13UYCx1/twPR8JjDT8wttyLZtkoAxSb8ZDCz0gdfKxWkFURf2v9qTYH7SK7rQIDn0P3nA0ehixvfwZwE0X9vBE/mW8piohhl1WH18UQBhYnre8N/L8b8xQvlx4ACbB4NnzaeRYDnKm0EALCMLXy84hwuTCXL/ExoB1E7qcK/8NCLIq5HcTT0i6u8TYbXUM1cAyyveVq8Xls7XhYrvY/4n3gC8C+dsmAzL1YUiyfWxvHzsy/w/dNd+KjhW2yvv/RfXr7x9QDcmo1he2RBiCCI1Q8jVj9szPNixVfgz+UiIGyDSrcoRu2J16d3I6e1VYvNSQjXpnucAcEPUOkGYZs/l4uUhowt/3kqu1UIv9n90fAY9jT3YBlbRvFTD4fw++wHjhiTRL/bG75t0jI2ITcHb5om4Xgmhv57xpGOg3d/NIqryOR7z+r+MC6qBJB/ZB2t9Om1D5lFm843G/3E3HI7Yh1xDRAfzLQr5EClBf/HBHK462TG2J0OABXeyWDPZ8VqxmBWYscpyghwtTd4EKpDTjCZdCNmzFM9k+4LHXIFACJN94Z6FiFEpKDQw9HndWsEuhnADVMhAUaYJBp9XrcGQKJ4qFE9k+6r2+MG3k5N8VQ22TVglbX2ZwOzX2VvNKr91zmY6S7N6zqZicVT2WNLyVSehESaBhxnOALfMeYX+K/S2yv7wmMAlvwyuR7FxQUyf0fgc/jztfkJr7XeGgC8BJJgWNV8ImT+AAAAAElFTkSuQmCC'
- }
-
- TriggerEvent('esx_phone:addSpecialContact', specialContact.name, specialContact.number, specialContact.base64Icon)
-end)
-
--- Pop NPC mission vehicle when inside area
-CreateThread(function()
- while true do
- local Sleep = 1500
-
- if NPCTargetTowableZone and not NPCHasSpawnedTowable then
- Sleep = 0
- local coords = GetEntityCoords(PlayerPedId())
- local zone = Config.Zones[NPCTargetTowableZone]
-
- if #(coords - zone.Pos) < Config.NPCSpawnDistance then
- local model = Config.Vehicles[GetRandomIntInRange(1, #Config.Vehicles)]
-
- ESX.Game.SpawnVehicle(model, zone.Pos, 0, function(vehicle)
- NPCTargetTowable = vehicle
- end)
-
- NPCHasSpawnedTowable = true
- end
- end
-
- if NPCTargetTowableZone and NPCHasSpawnedTowable and not NPCHasBeenNextToTowable then
- Sleep = 500
- local coords = GetEntityCoords(PlayerPedId())
- local zone = Config.Zones[NPCTargetTowableZone]
-
- if #(coords - zone.Pos) < Config.NPCNextToDistance then
- Sleep = 0
- ESX.ShowNotification(TranslateCap('please_tow'))
- NPCHasBeenNextToTowable = true
- end
- end
- Wait(Sleep)
- end
-end)
-
--- Create Blips
-CreateThread(function()
- local blip = AddBlipForCoord(Config.Zones.MechanicActions.Pos.x, Config.Zones.MechanicActions.Pos.y, Config.Zones.MechanicActions.Pos.z)
-
- SetBlipSprite (blip, 446)
- SetBlipDisplay(blip, 4)
- SetBlipScale (blip, 1.0)
- SetBlipColour (blip, 5)
- SetBlipAsShortRange(blip, true)
-
- BeginTextCommandSetBlipName('STRING')
- AddTextComponentSubstringPlayerName(TranslateCap('mechanic'))
- EndTextCommandSetBlipName(blip)
-end)
-
--- Display markers
-CreateThread(function()
- while true do
- local Sleep = 2000
-
- if ESX.PlayerData.job and ESX.PlayerData.job.name == 'mechanic' then
- Sleep = 500
- local coords, letSleep = GetEntityCoords(PlayerPedId()), true
-
- for k,v in pairs(Config.Zones) do
- if v.Type ~= -1 and #(coords - v.Pos) < Config.DrawDistance then
- Sleep = 0
- DrawMarker(v.Type, v.Pos.x, v.Pos.y, v.Pos.z, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, v.Size.x, v.Size.y, v.Size.z, v.Color.r, v.Color.g, v.Color.b, 100, true, true, 2, true, nil, nil, false)
- letSleep = false
- end
- end
- end
- Wait(Sleep)
- end
-end)
-
--- Enter / Exit marker events
-CreateThread(function()
- while true do
- local Sleep = 500
-
- if ESX.PlayerData.job and ESX.PlayerData.job.name == 'mechanic' then
-
- local coords = GetEntityCoords(PlayerPedId())
- local isInMarker = false
- local currentZone = nil
-
- for k,v in pairs(Config.Zones) do
- if(#(coords - v.Pos) < v.Size.x) then
- Sleep = 0
- isInMarker = true
- currentZone = k
- end
- end
-
- if (isInMarker and not HasAlreadyEnteredMarker) or (isInMarker and LastZone ~= currentZone) then
- HasAlreadyEnteredMarker = true
- LastZone = currentZone
- TriggerEvent('esx_mechanicjob:hasEnteredMarker', currentZone)
- end
-
- if not isInMarker and HasAlreadyEnteredMarker then
- HasAlreadyEnteredMarker = false
- TriggerEvent('esx_mechanicjob:hasExitedMarker', LastZone)
- end
- end
- Wait(Sleep)
- end
-end)
-
-CreateThread(function()
- local trackedEntities = {
- 'prop_roadcone02a',
- 'prop_toolchest_01'
- }
-
- while true do
- Wait(500)
-
- local playerPed = PlayerPedId()
- local coords = GetEntityCoords(playerPed)
-
- local closestDistance = -1
- local closestEntity = nil
-
- for i=1, #trackedEntities, 1 do
- local object = GetClosestObjectOfType(coords, 3.0, joaat(trackedEntities[i]), false, false, false)
-
- if DoesEntityExist(object) then
- local objCoords = GetEntityCoords(object)
- local distance = #(coords - objCoords)
-
- if closestDistance == -1 or closestDistance > distance then
- closestDistance = distance
- closestEntity = object
- end
- end
- end
-
- if closestDistance ~= -1 and closestDistance <= 3.0 then
- if LastEntity ~= closestEntity then
- TriggerEvent('esx_mechanicjob:hasEnteredEntityZone', closestEntity)
- LastEntity = closestEntity
- end
- else
- if LastEntity then
- TriggerEvent('esx_mechanicjob:hasExitedEntityZone', LastEntity)
- LastEntity = nil
- end
- end
- end
-end)
-
--- Key Controls
-CreateThread(function()
- while true do
- local sleep = 500
- if CurrentAction then
- sleep = 0
- ESX.ShowHelpNotification(CurrentActionMsg)
-
- if IsControlJustReleased(0, 38) and ESX.PlayerData.job and ESX.PlayerData.job.name == 'mechanic' then
- if CurrentAction == 'mechanic_actions_menu' then
- OpenMechanicActionsMenu()
- elseif CurrentAction == 'mechanic_harvest_menu' then
- OpenMechanicHarvestMenu()
- elseif CurrentAction == 'mechanic_craft_menu' then
- OpenMechanicCraftMenu()
- elseif CurrentAction == 'delete_vehicle' then
- if Config.EnableSocietyOwnedVehicles then
-
- local vehicleProps = ESX.Game.GetVehicleProperties(CurrentActionData.vehicle)
- TriggerServerEvent('esx_society:putVehicleInGarage', 'mechanic', vehicleProps)
- else
- local entityModel = GetEntityModel(CurrentActionData.vehicle)
-
- if entityModel == `flatbed` or entityModel == `towtruck2` or entityModel == `slamvan3` then
- TriggerServerEvent('esx_service:disableService', 'mechanic')
- end
- end
- ESX.Game.DeleteVehicle(CurrentActionData.vehicle)
- elseif CurrentAction == 'remove_entity' then
- DeleteEntity(CurrentActionData.entity)
- end
-
- CurrentAction = nil
- end
- end
- Wait(sleep)
- end
-end)
-RegisterCommand('mechanicMenu', function()
- if ESX.PlayerData.job and ESX.PlayerData.job.name == 'mechanic' then
- OpenMobileMechanicActionsMenu()
- end
-end, false)
-
-
-
-RegisterCommand('mechanicjob', function()
- local playerPed = PlayerPedId()
- if ESX.PlayerData.job and ESX.PlayerData.job.name == 'mechanic' then
- if NPCOnJob then
- if GetGameTimer() - NPCLastCancel > 5 * 60000 then
- StopNPCJob(true)
- NPCLastCancel = GetGameTimer()
- else
- ESX.ShowNotification(TranslateCap('wait_five'), "error")
- end
- else
- if IsPedInAnyVehicle(playerPed, false) and IsVehicleModel(GetVehiclePedIsIn(playerPed, false), `flatbed`) then
- StartNPCJob()
- else
- ESX.ShowNotification(TranslateCap('must_in_flatbed'), "error")
- end
- end
- end
-end, false)
-
-RegisterKeyMapping('mechanicMenu', 'Open Mechanic Menu', 'keyboard', 'F6')
-RegisterKeyMapping('mechanicjob', 'Togggle NPC Job', 'keyboard', 'F6')
-
-AddEventHandler('esx:onPlayerDeath', function(data) isDead = true end)
-AddEventHandler('esx:onPlayerSpawn', function(spawn) isDead = false end)
diff --git a/[esx_addons]/esx_mechanicjob/config.lua b/[esx_addons]/esx_mechanicjob/config.lua
deleted file mode 100644
index 776b9355..00000000
--- a/[esx_addons]/esx_mechanicjob/config.lua
+++ /dev/null
@@ -1,119 +0,0 @@
-Config = {}
-Config.Locale = GetConvar('esx:locale', 'en')
-
-Config.DrawDistance = 10.0 -- How close you need to be in order for the markers to be drawn (in GTA units).
-Config.MaxInService = -1
-Config.EnablePlayerManagement = true -- Enable society managing.
-Config.EnableSocietyOwnedVehicles = false
-
-Config.NPCSpawnDistance = 500.0
-Config.NPCNextToDistance = 25.0
-Config.NPCJobEarnings = { min = 15, max = 40 }
-
-Config.OxInventory = ESX.GetConfig().OxInventory
-
-Config.Vehicles = {
- 'adder',
- 'asea',
- 'asterope',
- 'banshee',
- 'buffalo',
- 'sultan',
- 'baller3'
-}
-
-Config.Zones = {
-
- MechanicActions = {
- Pos = vector3(-342.291, -133.370, 39.009 ),
- Size = { x = 1.0, y = 1.0, z = 1.0 },
- Color = { r = 50, g = 200, b = 50 },
- Type = 21
- },
-
- Garage = {
- Pos = vector3(-97.5, 6496.1, 31.4 ),
- Size = { x = 1.0, y = 1.0, z = 1.0 },
- Color = { r = 50, g = 200, b = 50 },
- Type = 21
- },
-
- Craft = {
- Pos = vector3( -323.140, -129.882, 38.999 ),
- Size = { x = 1.0, y = 1.0, z = 1.0 },
- Color = { r = 50, g = 200, b = 50 },
- Type = 21
- },
-
- VehicleSpawnPoint = {
- Pos = vector3(-366.354, -110.766, 37.696 ),
- Size = { x = 1.5, y = 1.5, z = 1.0 },
- Type = -1
- },
-
- VehicleDeleter = {
- Pos = vector3(-386.899, -105.675, 37.683 ),
- Size = { x = 3.0, y = 3.0, z = 1.0 },
- Color = { r = 204, g = 204, b = 0 },
- Type = 1
- },
-
- VehicleDelivery = {
- Pos = vector3(-382.925, -133.748, 37.685 ),
- Size = { x = 20.0, y = 20.0, z = 3.0 },
- Color = { r = 204, g = 204, b = 0 },
- Type = -1
- }
-}
-
-Config.Towables = {
- vector3(-2480.9, -212.0, 17.4),
- vector3(-2723.4, 13.2, 15.1),
- vector3(-3169.6, 976.2, 15.0),
- vector3(-3139.8, 1078.7, 20.2),
- vector3(-1656.9, -246.2, 54.5),
- vector3(-1586.7, -647.6, 29.4),
- vector3(-1036.1, -491.1, 36.2),
- vector3(-1029.2, -475.5, 36.4),
- vector3(75.2, 164.9, 104.7),
- vector3(-534.6, -756.7, 31.6),
- vector3(487.2, -30.8, 88.9),
- vector3(-772.2, -1281.8, 4.6),
- vector3(-663.8, -1207.0, 10.2),
- vector3(719.1, -767.8, 24.9),
- vector3(-971.0, -2410.4, 13.3),
- vector3(-1067.5, -2571.4, 13.2),
- vector3(-619.2, -2207.3, 5.6),
- vector3(1192.1, -1336.9, 35.1),
- vector3(-432.8, -2166.1, 9.9),
- vector3(-451.8, -2269.3, 7.2),
- vector3(939.3, -2197.5, 30.5),
- vector3(-556.1, -1794.7, 22.0),
- vector3(591.7, -2628.2, 5.6),
- vector3(1654.5, -2535.8, 74.5),
- vector3(1642.6, -2413.3, 93.1),
- vector3(1371.3, -2549.5, 47.6),
- vector3(383.8, -1652.9, 37.3),
- vector3(27.2, -1030.9, 29.4),
- vector3(229.3, -365.9, 43.8),
- vector3(-85.8, -51.7, 61.1),
- vector3(-4.6, -670.3, 31.9),
- vector3(-111.9, 92.0, 71.1),
- vector3(-314.3, -698.2, 32.5),
- vector3(-366.9, 115.5, 65.6),
- vector3(-592.1, 138.2, 60.1),
- vector3(-1613.9, 18.8, 61.8),
- vector3(-1709.8, 55.1, 65.7),
- vector3(-521.9, -266.8, 34.9),
- vector3(-451.1, -333.5, 34.0),
- vector3(322.4, -1900.5, 25.8)
-}
-
-for k,v in ipairs(Config.Towables) do
- Config.Zones['Towable' .. k] = {
- Pos = v,
- Size = { x = 1.5, y = 1.5, z = 1.0 },
- Color = { r = 204, g = 204, b = 0 },
- Type = -1
- }
-end
diff --git a/[esx_addons]/esx_mechanicjob/esx_mechanicjob.sql b/[esx_addons]/esx_mechanicjob/esx_mechanicjob.sql
deleted file mode 100644
index 0b80f4ec..00000000
--- a/[esx_addons]/esx_mechanicjob/esx_mechanicjob.sql
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_mechanic', 'Mechanic', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_mechanic', 'Mechanic', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_mechanic', 'Mechanic', 1)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('mechanic', 'Mechanic')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('mechanic',0,'recrue','Recrue',12,'{}','{}'),
- ('mechanic',1,'novice','Novice',24,'{}','{}'),
- ('mechanic',2,'experimente','Experimente',36,'{}','{}'),
- ('mechanic',3,'chief',"Chef d\'équipe",48,'{}','{}'),
- ('mechanic',4,'boss','Patron',0,'{}','{}')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('gazbottle', 'bouteille de gaz', 2),
- ('fixtool', 'outils réparation', 2),
- ('carotool', 'outils carosserie', 2),
- ('blowpipe', 'Chalumeaux', 2),
- ('fixkit', 'Kit réparation', 3),
- ('carokit', 'Kit carosserie', 3)
-;
diff --git a/[esx_addons]/esx_mechanicjob/fxmanifest.lua b/[esx_addons]/esx_mechanicjob/fxmanifest.lua
deleted file mode 100644
index 4f0704df..00000000
--- a/[esx_addons]/esx_mechanicjob/fxmanifest.lua
+++ /dev/null
@@ -1,29 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Mechanic Job'
-lua54 'yes'
-version '1.9.0'
-
-shared_script '@es_extended/imports.lua'
-
-client_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'client/main.lua'
-}
-
-server_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'server/main.lua'
-}
-
-dependencies {
- 'es_extended',
- 'esx_society',
- 'esx_billing'
-}
diff --git a/[esx_addons]/esx_mechanicjob/locales/br.lua b/[esx_addons]/esx_mechanicjob/locales/br.lua
deleted file mode 100644
index 2670b870..00000000
--- a/[esx_addons]/esx_mechanicjob/locales/br.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['br'] = {
- ['mechanic'] = 'Mecânico',
- ['drive_to_indicated'] = 'Dirija para a localização indicada.',
- ['mission_canceled'] = 'Missão ~r~cancelada',
- ['vehicle_list'] = 'Lista de veículos',
- ['work_wear'] = 'Vestuário de trabalho',
- ['civ_wear'] = 'Roupas normal',
- ['deposit_stock'] = 'Depósito de estoque',
- ['withdraw_stock'] = 'Retirar do estoque',
- ['boss_actions'] = 'Administração',
- ['service_vehicle'] = 'Veículo de serviço',
- ['flat_bed'] = 'Reboque Pranha',
- ['tow_truck'] = 'Reboque Guincho',
- ['service_full'] = 'Serviço cheio: ',
- ['open_actions'] = 'Aperte [E] para acessar menu.',
- ['harvest'] = 'Processando',
- ['harvest_menu'] = 'Aperte [E] para acessar o menu de processamento.',
- ['not_experienced_enough'] = 'Você não é ~r~experiente o suficiente para executar está ação.',
- ['gas_can'] = 'Lata de gás',
- ['repair_tools'] = 'Ferramentas de reparo',
- ['body_work_tools'] = 'Ferramentas de carroçaria',
- ['blowtorch'] = 'Maçarico',
- ['repair_kit'] = 'Kit de reparação',
- ['body_kit'] = 'Kit de corpo',
- ['craft'] = 'Construir',
- ['craft_menu'] = 'Aperte [E] para acessar menu de criar feramentas.',
- ['billing'] = 'Faturamento',
- ['hijack'] = 'Sequestro',
- ['repair'] = 'Reparar',
- ['clean'] = 'Limpar',
- ['imp_veh'] = 'Veículo rebocado',
- ['place_objects'] = 'Objetos de trabalho',
- ['invoice_amount'] = 'Valor da fatura',
- ['amount_invalid'] = 'Valor inválido',
- ['no_players_nearby'] = 'Sem jogadores nas proximidades',
- ['no_vehicle_nearby'] = 'there is no nearby vehicle',
- ['inside_vehicle'] = 'you can\'t do this from inside the vehicle!',
- ['vehicle_unlocked'] = 'Veículo Destrancado',
- ['vehicle_repaired'] = 'Veículo Reparado',
- ['vehicle_cleaned'] = 'Veículo Limpo',
- ['vehicle_impounded'] = 'Veículo ~r~removido',
- ['must_seat_driver'] = 'Você deve estar sentado ~r~no banco do motorista!',
- ['must_near'] = 'Você deve estar perto de um ~r~veículo para rebocalo.',
- ['vehicle_success_attached'] = 'Veículo foi rebocado com sucesso!.',
- ['please_drop_off'] = 'Por favor, deixe o veículo na oficina mecânica',
- ['cant_attach_own_tt'] = '~r~Você não pode rebocar seu próprio veículo!',
- ['no_veh_att'] = 'Não há ~r~veículo para ser rebocado!',
- ['not_right_veh'] = 'Este não é o veículo certo',
- ['veh_det_succ'] = 'Veículo foi entregue com sucesso...',
- ['imp_flatbed'] = '~r~Ação impossível! você precisa de um reboque de prancha para isso.',
- ['objects'] = 'Objetos',
- ['roadcone'] = 'Cone',
- ['toolbox'] = 'Caixa de ferramentas',
- ['mechanic_stock'] = 'Estoque do mecânico',
- ['quantity'] = 'Quantidade',
- ['invalid_quantity'] = 'Quantidade inválida',
- ['inventory'] = 'Inventário',
- ['veh_unlocked'] = 'Veículo destrancado',
- ['hijack_failed'] = '~r~Destrava falhou',
- ['body_repaired'] = 'Carro reparado',
- ['veh_repaired'] = 'Veículo reparado',
- ['veh_stored'] = 'Aperte [E] para armazenar o veículo.',
- ['press_remove_obj'] = 'Aperte [E] para remover o objeto',
- ['please_tow'] = 'Por favor reboque este veículo!',
- ['wait_five'] = 'Você deve ~r~aguardar 5 minutos',
- ['must_in_flatbed'] = 'Você deve estar em um caminhão de mecânico para iniciar a missão',
- ['mechanic_customer'] = 'Cliente mecânico',
- ['you_do_not_room'] = '~r~Você não tem mais espaço',
- ['recovery_gas_can'] = 'Lata de gâs fabricado...',
- ['recovery_repair_tools'] = 'Ferramentas de reparo fabricado...',
- ['recovery_body_tools'] = 'Ferramentas de capo fabricado...',
- ['not_enough_gas_can'] = 'Você não tem ~r~lata de gás o suficiente.',
- ['assembling_blowtorch'] = 'Montagem Maçarico...',
- ['not_enough_repair_tools'] = 'Você não tem ~r~ferramentas de reparo o suficiente.',
- ['assembling_repair_kit'] = 'Fabricando Kit de reparação...',
- ['not_enough_body_tools'] = 'Você não tem ~r~ferramentas corporais o suficiente.',
- ['assembling_body_kit'] = 'Fabricando Kit de corpo...',
- ['your_comp_earned'] = 'Sua empresa recebeu $',
- ['you_used_blowtorch'] = 'Você usou um maçarico',
- ['you_used_repair_kit'] = 'Você usou um Kit de reparação',
- ['you_used_body_kit'] = 'Você usou um Kit de corpo',
- ['have_withdrawn'] = 'você retirou x%s %s',
- ['have_deposited'] = 'você depositou x%s %s',
- ['player_cannot_hold'] = 'you do ~r~not have enough free space in your inventory!',
-}
diff --git a/[esx_addons]/esx_mechanicjob/locales/de.lua b/[esx_addons]/esx_mechanicjob/locales/de.lua
deleted file mode 100644
index 002fd47d..00000000
--- a/[esx_addons]/esx_mechanicjob/locales/de.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['de'] = {
- ['mechanic'] = 'Mechaniker',
- ['drive_to_indicated'] = 'Fahre zum markierten Bereich',
- ['mission_canceled'] = 'Mission abgebrochen',
- ['vehicle_list'] = 'Fahrzeugliste',
- ['work_wear'] = 'Arbeitskleidung',
- ['civ_wear'] = 'Zivilkleidung',
- ['deposit_stock'] = 'Bestand Einzahlen',
- ['withdraw_stock'] = 'Verfügbar Abheben',
- ['boss_actions'] = 'Inhaber Aktionen',
- ['service_vehicle'] = 'Service Fahrzeug',
- ['flat_bed'] = 'Pritschenwagen',
- ['tow_truck'] = 'Abschleppwagen',
- ['service_full'] = 'Gesamt Service: ',
- ['open_actions'] = 'Drücke [E] um Menü zu öffnen',
- ['harvest'] = 'Sammeln',
- ['harvest_menu'] = 'Drücke [E] um Farm Menü aufzurufen',
- ['not_experienced_enough'] = 'Du bist nicht erfahren genug um dies zu tun!',
- ['gas_can'] = 'Benzinkanister',
- ['repair_tools'] = 'Reparaturwerkzeug',
- ['body_work_tools'] = 'Karosseriewerkzeug',
- ['blowtorch'] = 'Schweißgerät',
- ['repair_kit'] = 'Reparatur Kit',
- ['body_kit'] = 'Karosserie Kit',
- ['craft'] = 'Herstellen',
- ['craft_menu'] = 'Drücke [E] um Herstellungsmenü zu öffnen.',
- ['billing'] = 'Rechnungen',
- ['hijack'] = 'Aufgebrochen',
- ['repair'] = 'Reparieren',
- ['clean'] = 'Reinigen',
- ['imp_veh'] = 'Fahrzeug einziehen',
- ['place_objects'] = 'Objekte platzieren',
- ['invoice_amount'] = 'Rechnungsbetrag',
- ['amount_invalid'] = 'Ungültiger Betrag',
- ['no_players_nearby'] = 'Es ist kein Spieler in der Nähe',
- ['no_vehicle_nearby'] = 'Es ist kein Fahrzeug in der Nähe',
- ['inside_vehicle'] = 'Du musst vorher aussteigen!',
- ['vehicle_unlocked'] = 'Fahrzeug geöffnet',
- ['vehicle_repaired'] = 'Fahrzeug repariert',
- ['vehicle_cleaned'] = 'Fahrzeug gereinigt',
- ['vehicle_impounded'] = 'Fahrzeug wurde eingezogen',
- ['must_seat_driver'] = 'Setz dich als Fahrer hinein!',
- ['must_near'] = 'In die Nähe des Fahrzeugs stellen was eingezogen werden soll',
- ['vehicle_success_attached'] = 'Fahrzeug fixiert',
- ['please_drop_off'] = 'Stelle Fahrzeug in der Garage ab',
- ['cant_attach_own_tt'] = 'Du kannst nicht den eigenen Abschleppwagen fixieren',
- ['no_veh_att'] = 'Kein Fahrzeug zum fixieren gefunden',
- ['not_right_veh'] = 'Falsches Fahrzeug',
- ['veh_det_succ'] = 'Fahrzeug gelöst!',
- ['imp_flatbed'] = 'Nicht möglich! Du benötigst einen Pritschenwagen',
- ['objects'] = 'Objekte',
- ['roadcone'] = 'Verkehrskegel',
- ['toolbox'] = 'Werkzeugkasten',
- ['mechanic_stock'] = 'Lager Mechaniker',
- ['quantity'] = 'Anzahl',
- ['invalid_quantity'] = 'Anzahl ungültig!',
- ['inventory'] = 'Inventar',
- ['veh_unlocked'] = 'Fahrzeug geöffnet',
- ['hijack_failed'] = 'Aufbrechen gescheitert',
- ['body_repaired'] = 'Karosserie repariert',
- ['veh_repaired'] = 'Fahrzueg repariert',
- ['veh_stored'] = 'Drücke [E] um Fahrzeug einzuparken',
- ['press_remove_obj'] = 'Drücke [E] um Objekt zu entfernen',
- ['please_tow'] = 'Fahrzeug abschleppen',
- ['wait_five'] = 'Warte 5 Minuten',
- ['must_in_flatbed'] = 'Du musst dich im Pritschenwagen befinden',
- ['mechanic_customer'] = 'Kunde',
- ['you_do_not_room'] = 'Kein Platz mehr',
- ['recovery_gas_can'] = 'Abholung Bezinkanister...',
- ['recovery_repair_tools'] = 'Abholung Reparaturwerkzeug...',
- ['recovery_body_tools'] = 'Abholung Karosseriewerkzeug...',
- ['not_enough_gas_can'] = 'Du hast nicht genug Benzinkanister',
- ['assembling_blowtorch'] = 'Schweißgerät zusammenbauen...',
- ['not_enough_repair_tools'] = 'Du hast nicht genug Reparaturwerkzeuge.',
- ['assembling_repair_kit'] = 'Reparatur Kit zusammenbauen...',
- ['not_enough_body_tools'] = 'Du hast nicht genug Karosseriewerkzeug',
- ['assembling_body_kit'] = 'Karosseriewerkzeug zusammenbauen...',
- ['your_comp_earned'] = 'Deine Firma hat $ verdient',
- ['you_used_blowtorch'] = 'Schweißgerät genutzt',
- ['you_used_repair_kit'] = 'Reparatur Kit genutzt',
- ['you_used_body_kit'] = 'Karosserie Kit genutzt',
- ['have_withdrawn'] = 'Du hast x%s %s abgehoben',
- ['have_deposited'] = 'Du hast x%s %s eingezahlt',
- ['player_cannot_hold'] = 'Kein Platz im Inventar!',
-}
diff --git a/[esx_addons]/esx_mechanicjob/locales/en.lua b/[esx_addons]/esx_mechanicjob/locales/en.lua
deleted file mode 100644
index 14921c47..00000000
--- a/[esx_addons]/esx_mechanicjob/locales/en.lua
+++ /dev/null
@@ -1,86 +0,0 @@
-Locales['en'] = {
- ['mechanic'] = 'mechanic',
- ['drive_to_indicated'] = 'Drive to the indicated location.',
- ['mission_canceled'] = 'Mission canceled',
- ['vehicle_list'] = 'vehicle List',
- ['work_wear'] = 'workwear',
- ['civ_wear'] = 'civilian clothes',
- ['deposit_stock'] = 'deposit Stock',
- ['withdraw_stock'] = 'withdraw Stock',
- ['boss_actions'] = 'boss Actions',
- ['service_vehicle'] = 'service Vehicle',
- ['flat_bed'] = 'flatbed',
- ['tow_truck'] = 'tow Truck',
- ['service_full'] = 'service full: ',
- ['open_actions'] = 'Press [E] to access the menu.',
- ['harvest'] = 'harvest',
- ['harvest_menu'] = 'press [E] to access the harvest menu.',
- ['not_experienced_enough'] = 'you are not experienced enough to perform this action.',
- ['gas_can'] = 'gas Can',
- ['repair_tools'] = 'repair Tools',
- ['body_work_tools'] = 'bodywork Tools',
- ['blowtorch'] = 'blowtorch',
- ['repair_kit'] = 'repair Kit',
- ['body_kit'] = 'body Kit',
- ['craft'] = 'craft',
- ['craft_menu'] = 'press [E] to access the crafting menu.',
- ['billing'] = 'billing',
- ['hijack'] = 'hijack',
- ['repair'] = 'repair',
- ['clean'] = 'clean',
- ['imp_veh'] = 'impound',
- ['place_objects'] = 'place Objects',
- ['invoice_amount'] = 'invoice Amount',
- ['amount_invalid'] = 'invalid amount',
- ['no_players_nearby'] = 'there is no nearby player',
- ['no_vehicle_nearby'] = 'there is no nearby vehicle',
- ['inside_vehicle'] = 'you can\'t do this from inside the vehicle!',
- ['vehicle_unlocked'] = 'the vehicle has been unlocked',
- ['vehicle_repaired'] = 'the vehicle has been repaired',
- ['vehicle_cleaned'] = 'the vehicle has been cleaned',
- ['vehicle_impounded'] = 'the vehicle has been impounded',
- ['must_seat_driver'] = 'you must be in the driver seat!',
- ['must_near'] = 'you must be near a vehicle to impound it.',
- ['vehicle_success_attached'] = 'vehicle successfully attached',
- ['please_drop_off'] = 'please drop off the vehicle at the garage',
- ['cant_attach_own_tt'] = 'you can\'t attach own tow truck',
- ['no_veh_att'] = 'there is no vehicle to be attached',
- ['not_right_veh'] = 'this is not the right vehicle',
- ['not_right_place'] = 'this is not the right place',
- ['veh_det_succ'] = 'vehicle successfully dettached!',
- ['imp_flatbed'] = 'Action impossible! You need a Flatbed to load a vehicle',
- ['objects'] = 'objects',
- ['roadcone'] = 'roadcone',
- ['toolbox'] = 'toolbox',
- ['mechanic_stock'] = 'mechanic Stock',
- ['quantity'] = 'quantity',
- ['invalid_quantity'] = 'invalid quantity',
- ['inventory'] = 'inventory',
- ['veh_unlocked'] = 'Vehicle Unlocked',
- ['hijack_failed'] = 'Hijack Failed',
- ['body_repaired'] = 'Body repaired',
- ['veh_repaired'] = 'Vehicle Repaired',
- ['veh_stored'] = 'press [E] to store the vehicle.',
- ['press_remove_obj'] = 'press [E] to remove the object',
- ['please_tow'] = 'please tow the vehicle',
- ['wait_five'] = 'you must wait 5 minutes',
- ['must_in_flatbed'] = 'you must be in a flatbed to being the mission',
- ['mechanic_customer'] = 'mechanic Customer',
- ['you_do_not_room'] = 'You do not have more room',
- ['recovery_gas_can'] = 'Gas Can Retrieval...',
- ['recovery_repair_tools'] = 'Repair Tools Retrieval...',
- ['recovery_body_tools'] = 'Body Tools Retrieval...',
- ['not_enough_gas_can'] = 'You do not have enough gas cans.',
- ['assembling_blowtorch'] = 'Assembling Blowtorch...',
- ['not_enough_repair_tools'] = 'You do not have enough repair tools.',
- ['assembling_repair_kit'] = 'Assembling Repair Kit...',
- ['not_enough_body_tools'] = 'You do not have enough body tools.',
- ['assembling_body_kit'] = 'Assembling Body Kit...',
- ['your_comp_earned'] = 'your company has earned $',
- ['you_used_blowtorch'] = 'you used a blowtorch',
- ['you_used_repair_kit'] = 'you used a Repair Kit',
- ['you_used_body_kit'] = 'you used a Body Kit',
- ['have_withdrawn'] = 'you have withdrawn x%s %s',
- ['have_deposited'] = 'you have deposited x%s %s',
- ['player_cannot_hold'] = 'you do not have enough free space in your inventory!',
-}
diff --git a/[esx_addons]/esx_mechanicjob/locales/es.lua b/[esx_addons]/esx_mechanicjob/locales/es.lua
deleted file mode 100644
index dbe22348..00000000
--- a/[esx_addons]/esx_mechanicjob/locales/es.lua
+++ /dev/null
@@ -1,86 +0,0 @@
-Locales['es'] = {
- ['mechanic'] = 'Mecánico',
- ['drive_to_indicated'] = 'Conduce a la ubicación indicada.',
- ['mission_canceled'] = 'Misión cancelada',
- ['vehicle_list'] = 'Lista de vehículos',
- ['work_wear'] = 'Ropa de trabajo',
- ['civ_wear'] = 'Ropa de civil',
- ['deposit_stock'] = 'Depositar stock',
- ['withdraw_stock'] = 'Retirar stock',
- ['boss_actions'] = 'Acciones del jefe',
- ['service_vehicle'] = 'Vehículo de servicio',
- ['flat_bed'] = 'Plataforma',
- ['tow_truck'] = 'Camión de remolque',
- ['service_full'] = 'Servicio completo: ',
- ['open_actions'] = 'Presiona [E] para acceder al menú.',
- ['harvest'] = 'Cosecha',
- ['harvest_menu'] = 'Presiona [E] para acceder al menú de cosecha.',
- ['not_experienced_enough'] = 'Usted no está lo suficientemente experimentado para realizar esta acción.',
- ['gas_can'] = 'Lata de gas',
- ['repair_tools'] = 'Herramientas para reparar',
- ['body_work_tools'] = 'Herramientas de carrocería',
- ['blowtorch'] = 'Soplete',
- ['repair_kit'] = 'kit de reparación',
- ['body_kit'] = 'kit de carrocería',
- ['craft'] = 'Fabricar',
- ['craft_menu'] = 'Presiona [E] para acceder al menú de crafteo.',
- ['billing'] = 'Facturación',
- ['hijack'] = 'Forzar',
- ['repair'] = 'Reparar',
- ['clean'] = 'Limpiar',
- ['imp_veh'] = 'Incautar',
- ['place_objects'] = 'Colocar objetos',
- ['invoice_amount'] = 'Cantidad de factura',
- ['amount_invalid'] = 'Cantidad Inválida',
- ['no_players_nearby'] = 'No hay un jugador/a cercano',
- ['no_vehicle_nearby'] = 'No hay ningún vehículo cercano',
- ['inside_vehicle'] = '¡No puedes hacer esto desde el interior del vehículo!',
- ['vehicle_unlocked'] = 'El vehículo ha sido desbloqueado',
- ['vehicle_repaired'] = 'El vehículo ha sido reparado',
- ['vehicle_cleaned'] = 'El vehículo ha sido limpiado',
- ['vehicle_impounded'] = 'El vehículo ha sido incautado',
- ['must_seat_driver'] = '¡Debes estar en el asiento del conductor!',
- ['must_near'] = 'Usted debe estar cerca de un vehículo incautarlo.',
- ['vehicle_success_attached'] = 'Vehículo con éxito adjuntado',
- ['please_drop_off'] = 'Por favor, deje el vehículo en el garaje',
- ['cant_attach_own_tt'] = 'No puedes adjuntar su propia grúa',
- ['no_veh_att'] = 'No hay vehículo que se adjunte',
- ['not_right_veh'] = 'Este no es el vehículo correcto',
- ['not_right_place'] = 'Este no es el lugar correcto',
- ['veh_det_succ'] = 'Vehículo con éxito separado!',
- ['imp_flatbed'] = '¡Acción imposible! Necesitas una Cama plana para cargar un vehículo',
- ['objects'] = 'Objetos',
- ['roadcone'] = 'Cono',
- ['toolbox'] = 'Caja de herramientas',
- ['mechanic_stock'] = 'Stock mecánico',
- ['quantity'] = 'Cantidad',
- ['invalid_quantity'] = 'Cantidad inválida',
- ['inventory'] = 'Inventario',
- ['veh_unlocked'] = 'Vehículo desbloqueado',
- ['hijack_failed'] = 'Secuestro fallido',
- ['body_repaired'] = 'Carrocería reparado',
- ['veh_repaired'] = 'Vehículo reparado',
- ['veh_stored'] = 'Presiona [E] para almacenar el vehículo.',
- ['press_remove_obj'] = 'Presiona [E] para quitar el objeto',
- ['please_tow'] = 'Por favor remolca el vehículo',
- ['wait_five'] = 'Debes esperar 5 minutos',
- ['must_in_flatbed'] = 'Debes estar en una plataforma para ser la misión',
- ['mechanic_customer'] = 'Cliente mecánico',
- ['you_do_not_room'] = 'No tienes mas espacio',
- ['recovery_gas_can'] = 'Lata de gas Recuperando...',
- ['recovery_repair_tools'] = 'Herramientas para reparar Recuperando...',
- ['recovery_body_tools'] = 'Herramientas de carrocería Recuperando...',
- ['not_enough_gas_can'] = 'No tienes suficiente latas de gas.',
- ['assembling_blowtorch'] = 'Montando Soplete...',
- ['not_enough_repair_tools'] = 'No tienes suficiente herramientas para reparar.',
- ['assembling_repair_kit'] = 'Montando Kit de reparación...',
- ['not_enough_body_tools'] = 'No tienes suficiente herramientas de carrocería.',
- ['assembling_body_kit'] = 'Montando Kit de carrocería...',
- ['your_comp_earned'] = 'Tu empresa ha ganado $',
- ['you_used_blowtorch'] = 'Usaste un soplete',
- ['you_used_repair_kit'] = 'Usaste un Kit de reparación',
- ['you_used_body_kit'] = 'Usaste un Kit de carrocería',
- ['have_withdrawn'] = 'Has retirado x%s %s',
- ['have_deposited'] = 'Has depositado x%s %s',
- ['player_cannot_hold'] = 'Tu no tienes suficiente espacio suficiente en tu inventario!',
-}
diff --git a/[esx_addons]/esx_mechanicjob/locales/et.lua b/[esx_addons]/esx_mechanicjob/locales/et.lua
deleted file mode 100644
index bd7af279..00000000
--- a/[esx_addons]/esx_mechanicjob/locales/et.lua
+++ /dev/null
@@ -1,86 +0,0 @@
-Locales['et'] = {
- ['mechanic'] = 'Mehaanik',
- ['drive_to_indicated'] = 'Sõida ettenähtud kohta.',
- ['mission_canceled'] = 'Töö katkestatud',
- ['vehicle_list'] = 'Sõidukite list',
- ['work_wear'] = 'Töö riided',
- ['civ_wear'] = 'Tava riided',
- ['deposit_stock'] = 'deposit Stock',
- ['withdraw_stock'] = 'withdraw Stock',
- ['boss_actions'] = 'Bossi menüü',
- ['service_vehicle'] = 'Teenindussõiduk',
- ['flat_bed'] = 'Pardaauto',
- ['tow_truck'] = 'Puksiirauto',
- ['service_full'] = 'Täis teenus: ',
- ['open_actions'] = 'Vajuta [E], et avada menüü.',
- ['harvest'] = 'Korja',
- ['harvest_menu'] = 'Vajuta [E], et avada korjamis menüü.',
- ['not_experienced_enough'] = 'Sa pole piisavalt kogenud, et seda teha.',
- ['gas_can'] = 'Bensiini kanister',
- ['repair_tools'] = 'Parandus tööriistad',
- ['body_work_tools'] = 'Kere tööriistad',
- ['blowtorch'] = 'keevitaja',
- ['repair_kit'] = 'Parandus komplekt',
- ['body_kit'] = 'Kere',
- ['craft'] = 'Meisterda',
- ['craft_menu'] = 'Vajuta [E], et avada menüü.',
- ['billing'] = 'Arved',
- ['hijack'] = 'Varasta',
- ['repair'] = 'Paranda',
- ['clean'] = 'Puhasta',
- ['imp_veh'] = 'Aresti',
- ['place_objects'] = 'Aseta objekt',
- ['invoice_amount'] = 'Arve',
- ['amount_invalid'] = 'Vale kogus',
- ['no_players_nearby'] = 'Ligiduses pole ühtegi isikut',
- ['no_vehicle_nearby'] = 'Ligiduses pole ühtegi sõidukit',
- ['inside_vehicle'] = 'Sa ei saa seda teha autost seest!',
- ['vehicle_unlocked'] = 'Auto on lukust lahti',
- ['vehicle_repaired'] = 'Auto on parandatud',
- ['vehicle_cleaned'] = 'Auto on pestud',
- ['vehicle_impounded'] = 'Auto on arreteeritud',
- ['must_seat_driver'] = 'Sa pead olema juhi istmel!',
- ['must_near'] = 'Sa pead olema auto ligidal, et seda arreteerida.',
- ['vehicle_success_attached'] = 'sõiduk edukalt ühendatud',
- ['please_drop_off'] = 'Palun viige sõiduk garaaži',
- ['cant_attach_own_tt'] = 'Sa ei saa teist puksiiri puksiirida',
- ['no_veh_att'] = 'Ühtegi sõidukit pole ligidal millega ühendada',
- ['not_right_veh'] = 'See pole õige sõiduk',
- ['not_right_place'] = 'See pole õige koht',
- ['veh_det_succ'] = 'Sõiduk edukalt lahti tehtud!',
- ['imp_flatbed'] = 'Sa ei saa seda teha! Sul on selle jaoks vaja pardaautot',
- ['objects'] = 'objekt',
- ['roadcone'] = 'Koonus',
- ['toolbox'] = 'Tööriista komplekt',
- ['mechanic_stock'] = 'mechanic Stock',
- ['quantity'] = 'Kogus',
- ['invalid_quantity'] = 'iVale kogus',
- ['inventory'] = 'Kapp',
- ['veh_unlocked'] = 'Auto lukust lahti tehtud',
- ['hijack_failed'] = 'Ukse muukimine ebaõnnestus',
- ['body_repaired'] = 'Kere parandatud',
- ['veh_repaired'] = 'Sõiduk parandatud',
- ['veh_stored'] = 'Vajuta [E], et hoistada ese.',
- ['press_remove_obj'] = 'Vajuta [E], et võtta ese.',
- ['please_tow'] = 'Palun puksiiri see sõiduk',
- ['wait_five'] = 'Sa pead ootama 5 minutit',
- ['must_in_flatbed'] = 'Sul peab olema pardaauto, et alustada tööga.',
- ['mechanic_customer'] = 'Mehaaniku klient',
- ['you_do_not_room'] = 'Sul pole rohkem ruumi',
- ['recovery_gas_can'] = 'Bensiini kanistri tagastamine...',
- ['recovery_repair_tools'] = 'Parandus tööriistade tagastamine...',
- ['recovery_body_tools'] = 'Kere tööriistade tagastamine...',
- ['not_enough_gas_can'] = 'Sul pole piisavalt bensiini kanistreid.',
- ['assembling_blowtorch'] = 'Paned keevitajat kokku...',
- ['not_enough_repair_tools'] = 'Sul pole piisavalt parandus tööriistu.',
- ['assembling_repair_kit'] = 'Paned paranduskomplekti kokku...',
- ['not_enough_body_tools'] = 'Sul pole piisavalt kere tööriistu.',
- ['assembling_body_kit'] = 'Valmistad kere...',
- ['your_comp_earned'] = 'Teie firma teenis $',
- ['you_used_blowtorch'] = 'Sa kasutasid keevitaja',
- ['you_used_repair_kit'] = 'Sa kasutasid paranduskomplekti',
- ['you_used_body_kit'] = 'Sa kasutasid kere',
- ['have_withdrawn'] = 'Sa võtsid firma arvelt x%s %s',
- ['have_deposited'] = 'Sa panid firma arvele x%s %s',
- ['player_cannot_hold'] = 'Sul pole piisavalt ruumi seljakotis!',
-}
diff --git a/[esx_addons]/esx_mechanicjob/locales/fi.lua b/[esx_addons]/esx_mechanicjob/locales/fi.lua
deleted file mode 100644
index a6738bc6..00000000
--- a/[esx_addons]/esx_mechanicjob/locales/fi.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['fi'] = {
- ['mechanic'] = 'mekaanikko',
- ['drive_to_indicated'] = 'Aja merkattuun pisteeseen.',
- ['mission_canceled'] = 'tehtävä ~r~peruutettu',
- ['vehicle_list'] = 'ajoneuvo lista',
- ['work_wear'] = 'työvaatteet',
- ['civ_wear'] = 'siviilivaatteet',
- ['deposit_stock'] = 'talleta varastoon',
- ['withdraw_stock'] = 'ota varastosta',
- ['boss_actions'] = 'pomo toiminnot',
- ['service_vehicle'] = 'huoltoajoneuvo',
- ['flat_bed'] = 'flatbed',
- ['tow_truck'] = 'hinausajoneuvo',
- ['service_full'] = 'työntekijöitä tarpeeksi: ',
- ['open_actions'] = 'paina [E] avataksesi menun.',
- ['harvest'] = 'kerää',
- ['harvest_menu'] = 'paina [E] avataksesi keräys menun.',
- ['not_experienced_enough'] = 'et ole ~r~tarpeeksi koulutettu että voit tehdä tätä.',
- ['gas_can'] = 'kaasupullo',
- ['repair_tools'] = 'korjaustyökalut',
- ['body_work_tools'] = 'korin korjaustyökalut',
- ['blowtorch'] = 'polttoleikkuri',
- ['repair_kit'] = 'korjauskitti',
- ['body_kit'] = 'korikitti',
- ['craft'] = 'valmista',
- ['craft_menu'] = 'paina [E] avataksesi valmistus menu',
- ['billing'] = 'laskutus',
- ['hijack'] = 'avaa lukot',
- ['repair'] = 'korjaa',
- ['clean'] = 'pese',
- ['imp_veh'] = 'takavarikoi',
- ['place_objects'] = 'aseta objekteja',
- ['invoice_amount'] = 'laskun summa',
- ['amount_invalid'] = 'virheellinen summa',
- ['no_players_nearby'] = 'ei pelaajia lähettyvillä',
- ['no_vehicle_nearby'] = 'there is no nearby vehicle',
- ['inside_vehicle'] = 'you can\'t do this from inside the vehicle!',
- ['vehicle_unlocked'] = 'ajoneuvo Avattu',
- ['vehicle_repaired'] = 'ajoneuvo Korjattu',
- ['vehicle_cleaned'] = 'ajoneuvo pesty',
- ['vehicle_impounded'] = 'ajoneuvo ~r~Takavarikoitu',
- ['must_seat_driver'] = 'sinun pitää olla ~r~kuskin paikalla',
- ['must_near'] = 'sinun pitää olla ~r~ajoneuvon lähellä että voit takavarikoida.',
- ['vehicle_success_attached'] = 'ajoneuvo onnistuneesti kytketty!.',
- ['please_drop_off'] = 'vie ajoneuvo korjauspajan pihalle, kiitos.',
- ['cant_attach_own_tt'] = '~r~Et voi kytkeä omaa hinausautoa',
- ['no_veh_att'] = 'täällä ei ole ~r~ajoneuvoa jota kytkeä',
- ['not_right_veh'] = 'tämä ei ole oikea ajoneuvo',
- ['veh_det_succ'] = 'ajoneuvo onnistuunesti irroitettu!',
- ['imp_flatbed'] = '~r~Toiminto mahdoton! Sinulla pitää olla Flatbed tähän.',
- ['objects'] = 'objektit',
- ['roadcone'] = 'kartio',
- ['toolbox'] = 'työkalupakki',
- ['mechanic_stock'] = 'mekaanikon varasto',
- ['quantity'] = 'määrä',
- ['invalid_quantity'] = 'virheellinen summa',
- ['inventory'] = 'reppu',
- ['veh_unlocked'] = 'Ajoneuvo avattu',
- ['hijack_failed'] = '~r~Tiirikointi epäonnistu',
- ['body_repaired'] = 'Kori korjattu',
- ['veh_repaired'] = 'Ajoneuvo korjattu',
- ['veh_stored'] = 'paina [E] laittaaksesi auto talliin.',
- ['press_remove_obj'] = 'paina [E] poistaaksesi objekti',
- ['please_tow'] = 'voisitko hinata ajoneuvon, kiitos',
- ['wait_five'] = 'sinun pitää ~r~odottaa 5 minuuttia',
- ['must_in_flatbed'] = 'sinun pitää olla flatbedin kyydissä aloitaaksesi.',
- ['mechanic_customer'] = 'mekaanikon Asiakas',
- ['you_do_not_room'] = '~r~Sinulla ei ole enempää tilaa',
- ['recovery_gas_can'] = 'Kaasupullon täyttö menossa...',
- ['recovery_repair_tools'] = 'Korjaustyökalujen kerääminen menossa...',
- ['recovery_body_tools'] = 'Korin työkalujen kerääminen menossa...',
- ['not_enough_gas_can'] = 'sinulla ~r~ei ole tarpeeksi kaasupulloja.',
- ['assembling_blowtorch'] = 'kasataan Polttoleikkuria...',
- ['not_enough_repair_tools'] = 'sinulla ~r~ei ole tarpeeksi korjaus työkaluja.',
- ['assembling_repair_kit'] = 'kasataan Korjauskittiä...',
- ['not_enough_body_tools'] = 'sinulla ~r~ei ole tarpeeksi kori työkaluja.',
- ['assembling_body_kit'] = 'kasataan Korikittiä...',
- ['your_comp_earned'] = 'yrityksesi tienasi $',
- ['you_used_blowtorch'] = 'sinä käytit yhden Polttoleikkurin',
- ['you_used_repair_kit'] = 'sinä käytit yhden Korjauskitin',
- ['you_used_body_kit'] = 'sinä käytit yhden Korikitin',
- ['have_withdrawn'] = 'sinä nostit x%s %s',
- ['have_deposited'] = 'sinä talletit x%s %s',
- ['player_cannot_hold'] = 'sinulla ~r~ei ole tarpeeksi vapaata tilaa repussasi!',
-}
diff --git a/[esx_addons]/esx_mechanicjob/locales/fr.lua b/[esx_addons]/esx_mechanicjob/locales/fr.lua
deleted file mode 100644
index eb9283bd..00000000
--- a/[esx_addons]/esx_mechanicjob/locales/fr.lua
+++ /dev/null
@@ -1,86 +0,0 @@
-Locales['fr'] = {
- ['mechanic'] = 'mécano',
- ['drive_to_indicated'] = 'Conduisez jusqu\'à l\'endroit indiqué',
- ['mission_canceled'] = 'Mission ~r~annulée',
- ['vehicle_list'] = 'sortir véhicule',
- ['work_wear'] = 'tenue de travail',
- ['civ_wear'] = 'Tenue civile',
- ['deposit_stock'] = 'Déposer Stock',
- ['withdraw_stock'] = 'Prendre Stock',
- ['boss_actions'] = 'action patron',
- ['service_vehicle'] = 'Véhicule de service',
- ['flat_bed'] = 'plateau',
- ['tow_truck'] = 'dépanneuse',
- ['service_full'] = 'service complet : ',
- ['open_actions'] = 'Appuyez sur [E] pour accéder au menu.',
- ['harvest'] = 'récolte',
- ['harvest_menu'] = 'Appuyez sur [E] pour accéder au menu de récolte.',
- ['not_experienced_enough'] = 'Vous n\'êtes ~r~pas assez expérimenté pour effectuer cette action.',
- ['gas_can'] = 'Bouteille de gaz',
- ['repair_tools'] = 'Outils réparation',
- ['body_work_tools'] = 'Outils carosserie',
- ['blowtorch'] = 'chalumeaux',
- ['repair_kit'] = 'kit réparation',
- ['body_kit'] = 'kit carosserie',
- ['craft'] = 'établi',
- ['craft_menu'] = 'appuyez sur [E] pour accéder au menu établi.',
- ['billing'] = 'facturation',
- ['hijack'] = 'crocheter',
- ['repair'] = 'réparer',
- ['clean'] = 'nettoyer',
- ['imp_veh'] = 'fourrière',
- ['place_objects'] = 'placer objets',
- ['invoice_amount'] = 'montant de la facture',
- ['amount_invalid'] = 'montant invalide',
- ['no_players_nearby'] = 'aucun joueur à proximité',
- ['no_vehicle_nearby'] = 'aucun véhicule à proximité',
- ['inside_vehicle'] = 'vous ne pouvez pas effectuer cette action depuis un véhicule!',
- ['vehicle_unlocked'] = 'véhicule déverrouillé',
- ['vehicle_repaired'] = 'véhicule réparé',
- ['vehicle_cleaned'] = 'véhicule nettoyé',
- ['vehicle_impounded'] = 'vehicule ~r~mis en fourrière',
- ['must_seat_driver'] = 'vous devez être assis du ~r~côté conducteur!',
- ['must_near'] = 'vous devez être ~r~près d\'un véhicule pour le mettre en fourrière',
- ['vehicle_success_attached'] = 'vehicule attaché avec succès!',
- ['please_drop_off'] = 'veuillez déposer le véhicule à la concession',
- ['cant_attach_own_tt'] = '~r~Impossible d\'attacher votre propre dépanneuse',
- ['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',
- ['objects'] = 'objets',
- ['roadcone'] = 'plot',
- ['toolbox'] = 'boîte à outils',
- ['mechanic_stock'] = 'coffre de l\'entreprise',
- ['quantity'] = 'quantité',
- ['invalid_quantity'] = 'quantité invalide',
- ['inventory'] = 'inventaire',
- ['veh_unlocked'] = 'Véhicule déverouillé',
- ['hijack_failed'] = '~r~Crochetage raté',
- ['body_repaired'] = 'Carosserie réparée',
- ['veh_repaired'] = 'Véhicule réparé',
- ['veh_stored'] = 'appuyez sur [E] pour ranger le véhicule.',
- ['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',
- ['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',
- ['recovery_gas_can'] = 'Récupération de bouteille de gaz...',
- ['recovery_repair_tools'] = 'Récupération d\'outils réparation...',
- ['recovery_body_tools'] = 'Récupération d\'outils carosserie...',
- ['not_enough_gas_can'] = 'Vous n\'avez ~r~pas assez de bouteille de gaz',
- ['assembling_blowtorch'] = 'Assemblage de chalumeaux...',
- ['not_enough_repair_tools'] = 'Vous n\'avez ~r~pas assez d\'outils réparation',
- ['assembling_repair_kit'] = 'Assemblage de kit réparation...',
- ['not_enough_body_tools'] = 'Vous n\'avez ~r~pas assez d\'outils carosserie',
- ['assembling_body_kit'] = 'Assemblage de kit carosserie...',
- ['your_comp_earned'] = 'Votre société a gagné $',
- ['you_used_blowtorch'] = 'Vous avez utilisé un chalumeau',
- ['you_used_repair_kit'] = 'Vous avez utilisé un kit de réparation',
- ['you_used_body_kit'] = 'Vous avez utilisé un kit de carosserie',
- ['have_withdrawn'] = 'vous avez pris x%s %s',
- ['have_deposited'] = 'vous avez déposé x%s %s',
- ['player_cannot_hold'] = 'vous n\'avez ~r~pas assez d\'espace libre dans votre inventaire!',
-}
diff --git a/[esx_addons]/esx_mechanicjob/locales/hu.lua b/[esx_addons]/esx_mechanicjob/locales/hu.lua
deleted file mode 100644
index 2255cc25..00000000
--- a/[esx_addons]/esx_mechanicjob/locales/hu.lua
+++ /dev/null
@@ -1,86 +0,0 @@
-Locales['hu'] = {
- ['mechanic'] = 'LS Custom Tuningoló telep',
- ['drive_to_indicated'] = '[Információ]: Menj a kijelölt pontra.',
- ['mission_canceled'] = 'Küldetés ~r~megszakítva',
- ['vehicle_list'] = 'Munkajárművek',
- ['work_wear'] = 'Munkaruha',
- ['civ_wear'] = 'Civil ruházat',
- ['deposit_stock'] = 'Készlet berakás',
- ['withdraw_stock'] = 'Készlet kivétel',
- ['boss_actions'] = 'Leader Panel',
- ['service_vehicle'] = 'szervíz jármű',
- ['flat_bed'] = 'Platós kocsi',
- ['tow_truck'] = 'Vontató',
- ['service_full'] = 'Szervíz full: ',
- ['open_actions'] = '[Információ]: Nyomd meg az [E] gombot a menü megnyitásához',
- ['harvest'] = 'aratás',
- ['harvest_menu'] = 'nyomd meg a [E] gombot az aratás menühöz.',
- ['not_experienced_enough'] = 'nem vagy elég tapasztalt hogy végrehatjsd a műveletet',
- ['gas_can'] = 'nitro',
- ['repair_tools'] = 'Javítószerszámok',
- ['body_work_tools'] = 'karosszéria szerszámok',
- ['blowtorch'] = 'fújólámpa',
- ['repair_kit'] = 'javítókészlet',
- ['body_kit'] = 'body Kit',
- ['craft'] = 'barkácsolás',
- ['craft_menu'] = 'nyomd meg a [E] gombot a barkácsolás menü elérséhez',
- ['billing'] = 'Munkadíj átadása',
- ['hijack'] = 'Kocsi feltörése',
- ['repair'] = 'Javítás',
- ['clean'] = 'Kocsi lemosása',
- ['imp_veh'] = 'Lefoglalás',
- ['place_objects'] = 'Objectek lerakása',
- ['invoice_amount'] = 'Írd be az összeget (( Szabályzat alapján ))',
- ['amount_invalid'] = '~r~[Információ]: Ismeretlen érték!',
- ['no_players_nearby'] = '~r~[Információ]: Nincs a közeledben játékos!',
- ['no_vehicle_nearby'] = '~r~[Információ]: Nincs a közeledben kocsi!',
- ['inside_vehicle'] = 'Jármű belsejéből nem csinálhatod!',
- ['vehicle_unlocked'] = '[Információ]: Sikeresen feltörted a kijelölt kocsit!',
- ['vehicle_repaired'] = '[Információ]: Kocsi sikeresen megjavítva! Oszd ki a munkadíjat!',
- ['vehicle_cleaned'] = '[Információ]: Kocsi sikeresen lemosva!',
- ['vehicle_impounded'] = '[Információ]: Kocsi sikeresen lefoglalva!',
- ['must_seat_driver'] = 'vezetőülésben kell lenned!',
- ['must_near'] = '~r~[Információ]: Nincs a közeledben kocsi amit lefoglalhatnál!',
- ['vehicle_success_attached'] = '[Információ]: A kocsit sikeresen felraktad a platóra.',
- ['please_drop_off'] = '[Információ]: Most vidd el a kijelölt pontra!',
- ['cant_attach_own_tt'] = '~r~[Információ]: Nem teheted meg!',
- ['no_veh_att'] = 'nincs csatlakoztatható ~r~jármű',
- ['not_right_veh'] = 'ez nem megfelelő jármű',
- ['not_right_place'] = 'ez nem a megfelelő hely',
- ['veh_det_succ'] = '[Információ]: Sikeresen levetted a kocsit a platóról!',
- ['imp_flatbed'] = '~r~[Információ]: Nem teheted meg!',
- ['objects'] = 'objectek',
- ['roadcone'] = 'útkúp',
- ['toolbox'] = 'eszköztár',
- ['mechanic_stock'] = 'Szerelő készlet',
- ['quantity'] = 'mennyiség',
- ['invalid_quantity'] = 'érvénytelen mennyiség',
- ['inventory'] = 'leltár',
- ['veh_unlocked'] = 'Jármű kinyitva',
- ['hijack_failed'] = '~r~Eltérítés sikertelen',
- ['body_repaired'] = 'Body javítva',
- ['veh_repaired'] = 'Jármű javítva',
- ['veh_stored'] = '[Információ]: Nyomd meg az [E] gombot a kocsi lerakásához.',
- ['press_remove_obj'] = '[Információ]: Nyomd meg az [E] gombot a tárgy törléséhez',
- ['please_tow'] = '[Információ]: Rakd fel a platóra a kocsit! (( F6 panel ))',
- ['wait_five'] = 'Neked muszáj ~r~várni 5 percet',
- ['must_in_flatbed'] = '[Információ]: Csak platós kocsival tudsz küldetést csinálni!',
- ['mechanic_customer'] = 'Szerelő ügyfél',
- ['you_do_not_room'] = '~r~Nincs több helyed',
- ['recovery_gas_can'] = 'Gázpalack Visszakeresés...',
- ['recovery_repair_tools'] = 'Javító szerszámok Visszakeresés...',
- ['recovery_body_tools'] = 'Body szerszámok Visszakeresés...',
- ['not_enough_gas_can'] = 'Nincs elég gázpalackod',
- ['assembling_blowtorch'] = 'Összeszerelés Fújólámpa...',
- ['not_enough_repair_tools'] = 'Nincs elég javítószerszámod',
- ['assembling_repair_kit'] = 'Összeszerelés Javító készlet...',
- ['not_enough_body_tools'] = 'Nincs elég body szerszámod',
- ['assembling_body_kit'] = 'Összeszerelés Body készlet...',
- ['your_comp_earned'] = '[Információ]: Gratulálok, kapott egy kis pénzt a frakció és te is! ~r~',
- ['you_used_blowtorch'] = 'használtál egy fújólámpát',
- ['you_used_repair_kit'] = 'használtál egy Javító készletet',
- ['you_used_body_kit'] = 'használtál egy Body készletet',
- ['have_withdrawn'] = 'Kivettél x%s %s',
- ['have_deposited'] = 'Beraktál x%s %s',
- ['player_cannot_hold'] = 'Nincs elég szabad hely az inventorydban',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_mechanicjob/locales/it.lua b/[esx_addons]/esx_mechanicjob/locales/it.lua
deleted file mode 100644
index b1d4b8d3..00000000
--- a/[esx_addons]/esx_mechanicjob/locales/it.lua
+++ /dev/null
@@ -1,86 +0,0 @@
-Locales['it'] = {
- ['mechanic'] = 'meccanico',
- ['drive_to_indicated'] = 'guida fino alla posizione indicata.',
- ['mission_canceled'] = 'missione annullata',
- ['vehicle_list'] = 'elenco veicoli',
- ['work_wear'] = 'abbigliamento da lavoro',
- ['civ_wear'] = 'abiti civili',
- ['deposit_stock'] = 'deposito',
- ['withdraw_stock'] = 'ritira',
- ['boss_actions'] = 'azioni boss',
- ['service_vehicle'] = 'veicoli di servizio',
- ['flat_bed'] = 'flatbed',
- ['tow_truck'] = 'carro attrezzi',
- ['service_full'] = 'servizio completo: ',
- ['open_actions'] = 'premi [E] per accedere al menu.',
- ['harvest'] = 'raccolto',
- ['harvest_menu'] = 'premi [E] per accedere al menu raccolto.',
- ['not_experienced_enough'] = 'non hai abbastanza esperienza per eseguire questa azione.',
- ['gas_can'] = 'bombola del gas',
- ['repair_tools'] = 'riparazione strumenti',
- ['body_work_tools'] = 'strumenti carrozzeria',
- ['blowtorch'] = 'fiamma ossidrica',
- ['repair_kit'] = 'kit di riparazione',
- ['body_kit'] = 'body Kit',
- ['craft'] = 'creazione',
- ['craft_menu'] = 'premi [E] per accedere al menu di creazione.',
- ['billing'] = 'fattura',
- ['hijack'] = 'trasportare',
- ['repair'] = 'riparazione',
- ['clean'] = 'pulito',
- ['imp_veh'] = 'sequestrato',
- ['place_objects'] = 'posiziona oggetti',
- ['invoice_amount'] = 'importo fattura',
- ['amount_invalid'] = 'importo non valido',
- ['no_players_nearby'] = 'nessun giocatore nelle vicinanze',
- ['no_vehicle_nearby'] = 'nessun veicolo nelle vicinanze',
- ['inside_vehicle'] = 'non puoi farlo dall\'interno del veicolo!',
- ['vehicle_unlocked'] = 'il veicolo è stato sbloccato',
- ['vehicle_repaired'] = 'il veicolo è stato riparato',
- ['vehicle_cleaned'] = 'il veicolo è stato pulito',
- ['vehicle_impounded'] = 'il veicolo è stato sequestrato',
- ['must_seat_driver'] = 'devi essere al posto di guida!',
- ['must_near'] = 'devi essere vicino il veicolo per sequestrarlo.',
- ['vehicle_success_attached'] = 'veicolo collegato con successo',
- ['please_drop_off'] = 'perfavore lascia il veicolo al garage',
- ['cant_attach_own_tt'] = 'non puoi attaccare il tuo carro attrezzi',
- ['no_veh_att'] = 'non c\'è nessu veicolo da attaccare',
- ['not_right_veh'] = 'questo non è il veicolo giusto',
- ['not_right_place'] = 'questo non è il posto giusto',
- ['veh_det_succ'] = 'veicolo staccato con successo!',
- ['imp_flatbed'] = 'azione impossibile! hai bisogno di un pianale per caricare il veicolo',
- ['objects'] = 'oggetti',
- ['roadcone'] = 'cono stradale',
- ['toolbox'] = 'cassetta degli attrezzi',
- ['mechanic_stock'] = 'deposito meccanico',
- ['quantity'] = 'quantità',
- ['invalid_quantity'] = 'quantità non valida',
- ['inventory'] = 'inventario',
- ['veh_unlocked'] = 'veicolo sbloccato',
- ['hijack_failed'] = 'traino fallito',
- ['body_repaired'] = 'carrozzeria riparata',
- ['veh_repaired'] = 'veicolo riparato',
- ['veh_stored'] = 'press [E] per depositare il veicolo.',
- ['press_remove_obj'] = 'premi [E] per rimuovere',
- ['please_tow'] = 'perfavore traina il veicolo',
- ['wait_five'] = 'devi attendere 5 minuti',
- ['must_in_flatbed'] = 'devi essere in un flatbed per avviare la missione',
- ['mechanic_customer'] = 'cliente meccanico',
- ['you_do_not_room'] = 'non hai più spazio',
- ['recovery_gas_can'] = 'recupero bomboletta di gas...',
- ['recovery_repair_tools'] = 'recupero degli strumenti di riparazione...',
- ['recovery_body_tools'] = 'recupero body tools...',
- ['not_enough_gas_can'] = 'non hai abbastanza bomboletta di gas.',
- ['assembling_blowtorch'] = 'montaggio fiamma ossidrica...',
- ['not_enough_repair_tools'] = 'non hai abbastanza strumenti di riparazione.',
- ['assembling_repair_kit'] = 'assemblaggio kit di riparazione...',
- ['not_enough_body_tools'] = 'non hai abbastanza body tools.',
- ['assembling_body_kit'] = 'Assemblaggio Body Kit...',
- ['your_comp_earned'] = 'la tua azienda ha guadagnato $',
- ['you_used_blowtorch'] = 'hai usato una fiamma ossidrica',
- ['you_used_repair_kit'] = 'hai usato un Kit di riparazione',
- ['you_used_body_kit'] = 'hai usato un Body Kit',
- ['have_withdrawn'] = 'hai prelevato x%s %s',
- ['have_deposited'] = 'hai depositato x%s %s',
- ['player_cannot_hold'] = 'non hai abbastanza spazio libero nel tuo inventario!',
-}
diff --git a/[esx_addons]/esx_mechanicjob/locales/nl.lua b/[esx_addons]/esx_mechanicjob/locales/nl.lua
deleted file mode 100644
index 57c06fab..00000000
--- a/[esx_addons]/esx_mechanicjob/locales/nl.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['nl'] = {
- ['mechanic'] = 'monteur',
- ['drive_to_indicated'] = 'Rij naar de aangegeven locatie',
- ['mission_canceled'] = 'opdracht ~r~Geannuleerd',
- ['vehicle_list'] = 'voertuigenlijst',
- ['work_wear'] = 'werk kleding',
- ['civ_wear'] = 'burger kleding',
- ['deposit_stock'] = 'vooraad wegleggen',
- ['withdraw_stock'] = 'vooraad opbergen',
- ['boss_actions'] = 'baas acties',
- ['service_vehicle'] = 'service voertuig',
- ['flat_bed'] = 'oprijwagen',
- ['tow_truck'] = 'sleep wagen',
- ['service_full'] = 'dienst voledig: ',
- ['open_actions'] = 'Druk op [E] om in het menu te komen.',
- ['harvest'] = 'oogsten',
- ['harvest_menu'] = 'druk op [E] om in het oogst menu te komen.',
- ['not_experienced_enough'] = 'je hebt ~r~niet genoeg ervaring om dit te doen.',
- ['gas_can'] = 'jerrycan',
- ['repair_tools'] = 'reparatie gereedschap',
- ['body_work_tools'] = 'plaatwerk gereedschap',
- ['blowtorch'] = 'gasbrannder',
- ['repair_kit'] = 'reparatie set',
- ['body_kit'] = 'plaatwerk set',
- ['craft'] = 'maaken',
- ['craft_menu'] = 'druk op [E] om in het maak menu te komen.',
- ['billing'] = 'facturen',
- ['hijack'] = 'openbreken',
- ['repair'] = 'repareer',
- ['clean'] = 'maak schoon',
- ['imp_veh'] = 'inbeslag nemen',
- ['place_objects'] = 'plaats objecten',
- ['invoice_amount'] = 'factuur bedrag',
- ['amount_invalid'] = 'ongeldig aantal',
- ['no_players_nearby'] = 'er is geen speler in de buurt',
- ['no_vehicle_nearby'] = 'er is geen voertuig in de buurt',
- ['inside_vehicle'] = 'je kan dit niet doen in een voertuig!',
- ['vehicle_unlocked'] = 'het voortuig is opengebroken',
- ['vehicle_repaired'] = 'het voortuig is gerepareerd',
- ['vehicle_cleaned'] = 'het voortuig is schoongemaakt',
- ['vehicle_impounded'] = 'het voortuig is ~r~in beslag genomen',
- ['must_seat_driver'] = 'je moet in de bestuurders stoel zitten',
- ['must_near'] = 'je moet ~r~dicht bij een voertuig zijn om hem in beslag te nemen.',
- ['vehicle_success_attached'] = 'voertuig succesvol vastgemaakt',
- ['please_drop_off'] = 'graag voertuig naar de garage brengen',
- ['cant_attach_own_tt'] = '~r~je kan niet je eigen wagen vast maken',
- ['no_veh_att'] = 'er zijn geen ~r~voertuigen om vast te maken',
- ['not_right_veh'] = 'dit is niet het juiste voertuig',
- ['veh_det_succ'] = 'voertuig succesvol losgekoppeld!',
- ['imp_flatbed'] = '~r~Actie onmogelijk! je moet een oprijwagen nodig om deze te laden',
- ['objects'] = 'objecten',
- ['roadcone'] = 'pion',
- ['toolbox'] = 'gereedschaps kist',
- ['mechanic_stock'] = 'monteurs opslag',
- ['quantity'] = 'hoeveelheid',
- ['invalid_quantity'] = 'ongeldige hoeveelheid',
- ['inventory'] = 'inventaris',
- ['veh_unlocked'] = 'Voertuig opgengemaakt',
- ['hijack_failed'] = '~r~Openbreken mislukt',
- ['body_repaired'] = 'Plaatwerk gerepareerd',
- ['veh_repaired'] = 'Voertuig gerepareerd',
- ['veh_stored'] = 'Druk op [E] om voertuig op te slaan.',
- ['press_remove_obj'] = 'Druk op [E] om object weg te halen',
- ['please_tow'] = 'graag voertuig afslepen',
- ['wait_five'] = 'je moet 5 minuten ~r~wachten',
- ['must_in_flatbed'] = 'je bent een oprijwagen nodig voor deze klant',
- ['mechanic_customer'] = 'klant van garage',
- ['you_do_not_room'] = '~r~Je hebt geen ruimte',
- ['recovery_gas_can'] = 'Jerrycan Ophalen...',
- ['recovery_repair_tools'] = 'Reparatie gereedschap Ophalen...',
- ['recovery_body_tools'] = 'Plaatwerk gereedschap Ophalen...',
- ['not_enough_gas_can'] = 'je hebt ~r~niet genoeg jerrycans.',
- ['assembling_blowtorch'] = 'In elkaar aan het zetten gasbrannder...',
- ['not_enough_repair_tools'] = 'je hebt ~r~niet genoeg reparatie gereedschap.',
- ['assembling_repair_kit'] = 'In elkaar aan het zetten reparatie set...',
- ['not_enough_body_tools'] = 'je hebt ~r~niet genoeg plaatwerk gereedschap.',
- ['assembling_body_kit'] = 'In elkaar aan het zetten plaatwerk set...',
- ['your_comp_earned'] = 'de garage heeft verdient €',
- ['you_used_blowtorch'] = 'je gebruikte een gasbrannder',
- ['you_used_repair_kit'] = 'je gebruikte een reparatie set',
- ['you_used_body_kit'] = 'je gebruikte een plaatwerk set',
- ['have_withdrawn'] = 'je hebt opgenomen x%s %s',
- ['have_deposited'] = 'je hebt gestort x%s %s',
- ['player_cannot_hold'] = 'je hebt ~r~niet genoeg vrije ruimte in je inventaris!',
-}
diff --git a/[esx_addons]/esx_mechanicjob/locales/pl.lua b/[esx_addons]/esx_mechanicjob/locales/pl.lua
deleted file mode 100644
index 6e9b67cb..00000000
--- a/[esx_addons]/esx_mechanicjob/locales/pl.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['pl'] = {
- ['mechanic'] = 'mechanik',
- ['drive_to_indicated'] = 'Jedz do wskazanej lokalizacji.',
- ['mission_canceled'] = 'misja ~r~anulowana',
- ['vehicle_list'] = 'lista pojazdów',
- ['work_wear'] = 'ubrania robocze',
- ['civ_wear'] = 'ubrania cywilne',
- ['deposit_stock'] = 'deponuj przedmioty',
- ['withdraw_stock'] = 'wyciągnij przedmioty',
- ['boss_actions'] = 'akcje szefa',
- ['service_vehicle'] = 'serwisuj pojazd',
- ['flat_bed'] = 'laweta',
- ['tow_truck'] = 'holownik',
- ['service_full'] = 'serwis pełny: ',
- ['open_actions'] = 'wciśnij [E] aby otworzyć menu.',
- ['harvest'] = 'zbieraj',
- ['harvest_menu'] = 'wcisnij [E] aby otworzyć menu zbierania.',
- ['not_experienced_enough'] = 'nie jesteś wystarczająco ~r~doświadczony aby zrobić tą akcję.',
- ['gas_can'] = 'kanister z paliwem',
- ['repair_tools'] = 'zestaw do naprawy',
- ['body_work_tools'] = 'zestaw blacharski',
- ['blowtorch'] = 'palnik',
- ['repair_kit'] = 'narzedzia naprawcze',
- ['body_kit'] = 'karoseria',
- ['craft'] = 'twórz',
- ['craft_menu'] = 'wcisnij [E] aby otworzyc menu tworzenia.',
- ['billing'] = 'faktury',
- ['hijack'] = 'forsowanie',
- ['repair'] = 'naprawa',
- ['clean'] = 'wyczyść',
- ['imp_veh'] = 'odholowywanie',
- ['place_objects'] = 'połóż objekt',
- ['invoice_amount'] = 'suma faktury',
- ['amount_invalid'] = 'nieprawidłowa suma',
- ['no_players_nearby'] = 'brak gracza w pobliżu',
- ['no_vehicle_nearby'] = 'brak pojazdu w pobliżu',
- ['inside_vehicle'] = 'nie możesz tego zrobić z środka pojazdu!',
- ['vehicle_unlocked'] = 'pojazd został odblokowany',
- ['vehicle_repaired'] = 'pojazd został naprawiony',
- ['vehicle_cleaned'] = 'pojazd został umyty',
- ['vehicle_impounded'] = 'pojazd został ~r~odholowany',
- ['must_seat_driver'] = 'musisz być na siedzeniu kierowcy!',
- ['must_near'] = 'musisz być ~r~blisko pojazdu aby go odholować.',
- ['vehicle_success_attached'] = 'pojazd przyłączony',
- ['please_drop_off'] = 'proszę odstawić pojazd w garażu',
- ['cant_attach_own_tt'] = '~r~nie możesz podłączyć własnego holwnika',
- ['no_veh_att'] = 'nie ma ~r~pojazdu do podłączenia',
- ['not_right_veh'] = 'to nie jest prawidłowy pojazd',
- ['veh_det_succ'] = 'pojazd odłączony!',
- ['imp_flatbed'] = '~r~Akcja niemożliwa! Potrzebujesz lawety aby załadować pojazd',
- ['objects'] = 'objekty',
- ['roadcone'] = 'pachołek',
- ['toolbox'] = 'skrzynka z narzędziami',
- ['mechanic_stock'] = 'magazyn mechanika',
- ['quantity'] = 'ilość',
- ['invalid_quantity'] = 'nieprawidłowa ilość',
- ['inventory'] = 'ekwipunek',
- ['veh_unlocked'] = 'Pojazd odblokowany',
- ['hijack_failed'] = '~r~Forsowanie nie udane',
- ['body_repaired'] = 'Karoseria naprawiona',
- ['veh_repaired'] = 'Pojazd naprawiony',
- ['veh_stored'] = 'wcisnij [E] aby schować pojazd.',
- ['press_remove_obj'] = 'wcisnij [E] aby usunąć objekt',
- ['please_tow'] = 'proszę odholować pojazd',
- ['wait_five'] = 'musisz ~r~poczekać 5 minut',
- ['must_in_flatbed'] = 'musisz być w lawecie aby rozpocząć misje',
- ['mechanic_customer'] = 'klient mechanika',
- ['you_do_not_room'] = '~r~Nie masz wiecej miejsca',
- ['recovery_gas_can'] = 'odzyskiwanie Kanistra z paliwem...',
- ['recovery_repair_tools'] = 'odzyskiwanie Części naprawczych...',
- ['recovery_body_tools'] = 'odzyskiwanie Części blacharskich...',
- ['not_enough_gas_can'] = 'nie posiadasz ~r~wystarczająco paliwa w kanistrze.',
- ['assembling_blowtorch'] = 'składanie Palnika...',
- ['not_enough_repair_tools'] = 'nie posiadasz ~r~wystarczająco częsci naprawczych.',
- ['assembling_repair_kit'] = 'składanie częsci naprawczych...',
- ['not_enough_body_tools'] = 'nie posiadasz ~r~wystarczająco częsci blacharskich.',
- ['assembling_body_kit'] = 'składanie częsci blacharskich...',
- ['your_comp_earned'] = 'twoja firma zarobiła $',
- ['you_used_blowtorch'] = 'użyłeś palnik',
- ['you_used_repair_kit'] = 'użyłeś częsci naprawczych',
- ['you_used_body_kit'] = 'użyłeś częsci blacharskich',
- ['have_withdrawn'] = 'wyciągnąłeś x%s %s',
- ['have_deposited'] = 'zdeponowałeś x%s %s',
- ['player_cannot_hold'] = '~r~nie masz wystarczająco wolnego miejsca w ekwipunku!',
-}
diff --git a/[esx_addons]/esx_mechanicjob/locales/si.lua b/[esx_addons]/esx_mechanicjob/locales/si.lua
deleted file mode 100644
index 48f949e7..00000000
--- a/[esx_addons]/esx_mechanicjob/locales/si.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['si'] = {
- ['mechanic'] = 'mehanik',
- ['drive_to_indicated'] = 'Odpeljite se na navedeno lokacijo.',
- ['mission_canceled'] = 'Misija je odpovedana',
- ['vehicle_list'] = 'seznam vozil',
- ['work_wear'] = 'delovna oblačila',
- ['civ_wear'] = 'civilna oblačila',
- ['deposit_stock'] = 'zaloga za depozit',
- ['withdraw_stock'] = 'umakni zalogo',
- ['boss_actions'] = 'dejanja šefa',
- ['service_vehicle'] = 'službeno vozilo',
- ['flat_bed'] = 'flatbed',
- ['tow_truck'] = 'vlečno vozilo',
- ['service_full'] = 'storitev v celoti: ',
- ['open_actions'] = "Za dostop do menija pritisnite [E].",
- ['harvest'] = 'pridelek',
- ['harvest_menu'] = "pritisnite [E] za dostop do menija žetve.",
- ['not_experienced_enough'] = 'niste dovolj izkušeni za izvedbo tega dejanja.',
- ['gas_can'] = 'plinska pločevinka',
- ['repair_tools'] = 'orodja za popravila',
- ['body_work_tools'] = 'orodja za karoserijo',
- ['blowtorch'] = 'gorilnik',
- ['repair_kit'] = 'komplet za popravila',
- ['body_kit'] = 'komplet za popravilo',
- ['craft'] = 'obrt',
- ['craft_menu'] = "pritisnite [E] za dostop do menija za izdelavo.",
- ['billing'] = 'zaračunavanje',
- ['hijack'] = 'ugrabiti',
- ['repair'] = 'popravilo',
- ['clean'] = 'čist',
- ['imp_veh'] = 'impound',
- ['place_objects'] = 'place Objects',
- ['invoice_amount'] = 'znesek računa',
- ['amount_invalid'] = 'neveljaven znesek',
- ['no_players_nearby'] = 'v bližini ni nobenega igralca',
- ['no_vehicle_nearby'] = 'v bližini ni vozila',
- ['inside_vehicle'] = 'tega ne moreš storiti iz vozila!',
- ['vehicle_unlocked'] = 'vozilo je bilo odklenjeno',
- ['vehicle_repaired'] = 'vozilo je bilo popravljeno',
- ['vehicle_cleaned'] = 'vozilo je bilo očiščeno',
- ['vehicle_impounded'] = 'vozilo je bilo zaseženo',
- ['must_seat_driver'] = 'moraš sedeti na voznikovem sedežu!',
- ['must_near'] = 'morate biti v bližini vozila, da ga lahko zasežete',
- ['vehicle_success_attached'] = 'vozilo je bilo uspešno pripeto',
- ['please_drop_off'] = 'pustite vozilo v garaži',
- ['cant_attach_own_tt'] = 'ne morete priključiti lastnega vlečnega vozila',
- ['no_veh_att'] = 'ni vozila, ki bi ga bilo treba priključiti',
- ['not_right_veh'] = 'to ni pravo vozilo',
- ['veh_det_succ'] = "vozilo je bilo uspešno priključeno!",
- ['imp_flatbed'] = "Ukrep ni mogoč! Za natovarjanje vozila potrebujete ploščato vozilo",
- ['objects'] = 'objects',
- ['roadcone'] = 'roadcone',
- ['toolbox'] = 'toolbox',
- ['mechanic_stock'] = 'mehanična zaloga',
- ["quantity"] = "quantity",
- ["invalid_quantity"] = "invalid quantity",
- ['inventory'] = 'inventar',
- ['veh_unlocked'] = 'Vozilo odklenjeno',
- ['hijack_failed'] = 'Ugrabitev ni uspela',
- ['body_repaired'] = 'Popravljeno telo',
- ['veh_repaired'] = 'Vozilo popravljeno',
- ['veh_stored'] = "pritisnite [E], da shranite vozilo.",
- ['press_remove_obj'] = 'pritisnite [E], da odstranite predmet',
- ['please_tow'] = "prosimo, odvlecite vozilo",
- ['wait_five'] = 'počakajte 5 minut',
- ['must_in_flatbed'] = 'za opravljanje naloge morate biti v vozilu z ravnim tovorom',
- ['mechanic_customer'] = 'mehanik stranka',
- ['you_do_not_room'] = 'nimate več prostora',
- ['recovery_gas_can'] = 'Prevzem plinske posode...',
- ['recovery_repair_tools'] = 'Pridobitev orodja za popravilo...',
- ['recovery_body_tools'] = 'Pridobitev orodij za popravila...',
- ['not_enough_gas_can'] = 'Nimate dovolj pločevink za plin.',
- ['assembling_blowtorch'] = 'Sestavljanje gorilnika...',
- ['not_enough_repair_tools'] = 'Nimate dovolj orodja za popravilo.',
- ['assembling_repair_kit'] = 'Sestavljaš komplet za popravila...',
- ['not_enough_body_tools'] = 'Nimate dovolj orodja za sestavljanje karoserije.',
- ['assembling_body_kit'] = 'Sestavljanje kompleta za karoserijo...',
- ['your_comp_earned'] = 'vaše podjetje je zaslužilo $',
- ['you_used_blowtorch'] = 'uporabili ste gorilnik',
- ['you_used_repair_kit'] = 'uporabili ste komplet za popravilo',
- ['you_used_body_kit'] = 'uporabili ste komplet za popravilo',
- ['have_withdrawn'] = 'umaknili ste x%s %s',
- ['have_deposited'] = 'vplačali ste x%s %s %s',
- ['player_cannot_hold'] = 'v inventarju nimate dovolj prostega prostora!',
-}
diff --git a/[esx_addons]/esx_mechanicjob/locales/sv.lua b/[esx_addons]/esx_mechanicjob/locales/sv.lua
deleted file mode 100644
index 3a4208a9..00000000
--- a/[esx_addons]/esx_mechanicjob/locales/sv.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-Locales['sv'] = {
- ['mechanic'] = 'mekaniker',
- ['drive_to_indicated'] = 'Vänligen kör till den angivna platsen.',
- ['mission_canceled'] = '~r~Uppdraget har avbrutits',
- ['vehicle_list'] = 'Fordon',
- ['work_wear'] = 'arbetskläder',
- ['civ_wear'] = 'civil klädsel',
- ['deposit_stock'] = 'Sätt in objekt',
- ['withdraw_stock'] = 'Ta ut objekt',
- ['boss_actions'] = 'Chef meny',
- ['service_vehicle'] = 'service fordon',
- ['flat_bed'] = 'flatbed',
- ['tow_truck'] = 'bärgningsbil',
- ['service_full'] = 'service full: ',
- ['open_actions'] = 'Tryck [E] för att öppna menyn.',
- ['harvest'] = 'skörda',
- ['harvest_menu'] = 'Tryck [E] för att öppna menyn.',
- ['not_experienced_enough'] = 'Du är inte ~r~erfaren nog att utföra uppgiften.',
- ['gas_can'] = 'gasbehållare',
- ['repair_tools'] = 'reparationsverktyg',
- ['body_work_tools'] = 'karossverktyg',
- ['blowtorch'] = 'blåslampa',
- ['repair_kit'] = 'reparationssats',
- ['body_kit'] = 'kroppssats',
- ['craft'] = 'hantverk',
- ['craft_menu'] = 'Tryck [E] för att öppna menyn.',
- ['billing'] = 'fakturering',
- ['hijack'] = 'kapa',
- ['repair'] = 'reparera',
- ['clean'] = 'tvätta',
- ['imp_veh'] = 'beslagta fordon',
- ['place_objects'] = 'placera objekt',
- ['invoice_amount'] = 'fakturabelopp',
- ['amount_invalid'] = 'ogiltigt belopp',
- ['no_players_nearby'] = 'det finns inga spelare i närheten',
- ['no_vehicle_nearby'] = 'det finns inget fordon i närheten',
- ['inside_vehicle'] = 'du kan inte göra detta i det trånga utrymmet!',
- ['vehicle_unlocked'] = 'fordonet har olåsts upp',
- ['vehicle_repaired'] = 'fordonet har reparerats',
- ['vehicle_cleaned'] = 'fordonet har rengjorts',
- ['vehicle_impounded'] = 'fordonet har ~r~beslagtagits',
- ['must_seat_driver'] = 'du måste sitta i ~r~förarsätet!',
- ['must_near'] = 'du måste vara ~r~nära ett fordon för att beslagta det.',
- ['vehicle_success_attached'] = 'fordonet är bundet!',
- ['please_drop_off'] = 'vänligen släpp av fordonet hos garaget',
- ['cant_attach_own_tt'] = 'du kan ~r~inte binda din egna truck!',
- ['no_veh_att'] = 'det finns inget ~r~fordon i närheten',
- ['not_right_veh'] = 'detta är ~r~inte rätt fordon',
- ['veh_det_succ'] = 'fordonet har lossnat!',
- ['imp_flatbed'] = '~r~Det går inte! Du måste ha en Flatbed för det!',
- ['objects'] = 'objekt',
- ['roadcone'] = 'kona',
- ['toolbox'] = 'verktygslåda',
- ['mechanic_stock'] = 'mekaniker lager',
- ['quantity'] = 'kvantitet',
- ['invalid_quantity'] = 'ogiltig kvantitet',
- ['inventory'] = 'förråd',
- ['veh_unlocked'] = 'Fordon har låsts upp',
- ['hijack_failed'] = '~r~Kapningen misslyckades',
- ['body_repaired'] = 'Karossen har lagats',
- ['veh_repaired'] = 'Fordonet har lagats',
- ['veh_stored'] = 'tryck [E] för att förvara fordonet.',
- ['press_remove_obj'] = 'tryck [E] för att ta bort objektet.',
- ['please_tow'] = 'Vänligen bogsera fordonet',
- ['wait_five'] = 'Du måste ~r~vänta 5 minuter',
- ['must_in_flatbed'] = 'Du måste vara i en flatbed för att starta uppdraget',
- ['mechanic_customer'] = 'mekaniker kund',
- ['you_do_not_room'] = '~r~Du har inte mer plats',
- ['recovery_gas_can'] = 'Gasbehållare återvinns...',
- ['recovery_repair_tools'] = 'Reparationsverktyg återvinns...',
- ['recovery_body_tools'] = 'Karossverktyg återvinns...',
- ['not_enough_gas_can'] = 'Du har ~r~inte tillräckligt många gasbehållare!',
- ['assembling_blowtorch'] = 'Tillverkar blåslampa...',
- ['not_enough_repair_tools'] = 'Du har ~r~inte tillräckligt många reparationsverktyg!',
- ['assembling_repair_kit'] = 'Tillverkar reparationssats...',
- ['not_enough_body_tools'] = 'Du har ~r~inte tillräckligt många karossverktyg!',
- ['assembling_body_kit'] = 'Tillverkar karossverktyg...',
- ['your_comp_earned'] = 'ditt företag har tjänat $',
- ['you_used_blowtorch'] = 'du har använt en blåslampa',
- ['you_used_repair_kit'] = 'du har använt en reparationssats',
- ['you_used_body_kit'] = 'du har använt en karossverktyg',
- ['have_withdrawn'] = 'du har tagit ut x%s %s',
- ['have_deposited'] = 'du har lagrat x%s %s',
- ['player_cannot_hold'] = 'du har ~r~inte tillräckligt med utrymme för att hålla det!',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_mechanicjob/localization/en_esx_mecanojob.sql b/[esx_addons]/esx_mechanicjob/localization/en_esx_mecanojob.sql
deleted file mode 100644
index 2e06496c..00000000
--- a/[esx_addons]/esx_mechanicjob/localization/en_esx_mecanojob.sql
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_mechanic', 'Mechanic', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_mechanic', 'Mechanic', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_mechanic', 'Mechanic', 1)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('mechanic', 'Mechanic')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('mechanic',0,'recrue','Recruit',12,'{}','{}'),
- ('mechanic',1,'novice','Novice',24,'{}','{}'),
- ('mechanic',2,'experimente','Experienced',36,'{}','{}'),
- ('mechanic',3,'chief','Leader',48,'{}','{}'),
- ('mechanic',4,'boss','Boss',0,'{}','{}')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('gazbottle', 'Gas Bottle', 2),
- ('fixtool', 'Repair Tools', 2),
- ('carotool', 'Tools', 2),
- ('blowpipe', 'Blowtorch', 2),
- ('fixkit', 'Repair Kit', 3),
- ('carokit', 'Body Kit', 3)
-;
diff --git a/[esx_addons]/esx_mechanicjob/localization/fi_esx_mecanojob.sql b/[esx_addons]/esx_mechanicjob/localization/fi_esx_mecanojob.sql
deleted file mode 100644
index 72455d41..00000000
--- a/[esx_addons]/esx_mechanicjob/localization/fi_esx_mecanojob.sql
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_mechanic', 'Mekaanikko', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_mechanic', 'Mekaanikko', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_mechanic', 'Mekaanikko', 1)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('mechanic', 'Mekaanikko')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('mechanic',0,'recrue','Harjottelija',12,'{}','{}'),
- ('mechanic',1,'novice','Aloittelija',24,'{}','{}'),
- ('mechanic',2,'experimente','Kokenut',36,'{}','{}'),
- ('mechanic',3,'chief','Johtaja',48,'{}','{}'),
- ('mechanic',4,'boss','Pomo',0,'{}','{}')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('gazbottle', 'Kaasupullo', 2),
- ('fixtool', 'Korjaustyökalut', 2),
- ('carotool', 'Työkalut', 2),
- ('blowpipe', 'Polttoleikkuri', 2),
- ('fixkit', 'Korjauskitti', 3),
- ('carokit', 'Korikitti', 3)
-;
diff --git a/[esx_addons]/esx_mechanicjob/localization/hu_esx_mecanojob.sql b/[esx_addons]/esx_mechanicjob/localization/hu_esx_mecanojob.sql
deleted file mode 100644
index d456c4f3..00000000
--- a/[esx_addons]/esx_mechanicjob/localization/hu_esx_mecanojob.sql
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_mechanic', 'Szerelő', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_mechanic', 'Szerelő', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_mechanic', 'Szerelő', 1)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('mechanic', 'Szerelő')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('mechanic', 0, 'recrue', 'Újonc', 12, '{}', '{}'),
- ('mechanic', 1, 'novice', 'Kezdő', 24, '{}', '{}'),
- ('mechanic', 2, 'experimente', 'Tapasztalt', 36, '{}', '{}'),
- ('mechanic', 3, 'chief', 'Vezető', 48, '{}', '{}'),
- ('mechanic', 4, 'boss', 'Főnök', 0, '{}' ,'{}')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('gazbottle', 'Gázpalack', 2),
- ('fixtool', 'Javítószerszámok', 2),
- ('carotool', 'Szerszámok', 2),
- ('blowpipe', 'Fújólámpa', 2),
- ('fixkit', 'Javító készlet', 3),
- ('carokit', 'Body Kit', 3)
-;
diff --git a/[esx_addons]/esx_mechanicjob/localization/nl_esx_mechanicjob.sql b/[esx_addons]/esx_mechanicjob/localization/nl_esx_mechanicjob.sql
deleted file mode 100644
index 8b3d1d31..00000000
--- a/[esx_addons]/esx_mechanicjob/localization/nl_esx_mechanicjob.sql
+++ /dev/null
@@ -1,32 +0,0 @@
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_mechanic', 'Monteur', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_mechanic', 'Monteur', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_mechanic', 'Monteur', 1)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('mechanic', 'Monteur')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('mechanic',0,'recrue','Stagair',12,'{}','{}'),
- ('mechanic',1,'novice','Personeel',24,'{}','{}'),
- ('mechanic',2,'experimente','Ervaard',36,'{}','{}'),
- ('mechanic',3,'chief','Supervisor',48,'{}','{}'),
- ('mechanic',4,'boss','Baas',0,'{}','{}')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('gazbottle', 'Gas Fles', 2),
- ('fixtool', 'Repareer set', 2),
- ('carotool', 'Tools', 2),
- ('blowpipe', 'Las Apparaat', 2),
- ('fixkit', 'Repareer set', 3),
- ('carokit', 'Body set', 3)
-;
diff --git a/[esx_addons]/esx_mechanicjob/localization/pl_esx_mecanojob.sql b/[esx_addons]/esx_mechanicjob/localization/pl_esx_mecanojob.sql
deleted file mode 100644
index 32549365..00000000
--- a/[esx_addons]/esx_mechanicjob/localization/pl_esx_mecanojob.sql
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_mechanic', 'Mechanik', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_mechanic', 'Mechanik', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_mechanic', 'Mechanik', 1)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('mechanic', 'Mechanik')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('mechanic',0,'recrue','Praktykant',12,'{}','{}'),
- ('mechanic',1,'novice','Nowicjusz',24,'{}','{}'),
- ('mechanic',2,'experimente','Doświadczony',36,'{}','{}'),
- ('mechanic',3,'chief','Kierownik',48,'{}','{}'),
- ('mechanic',4,'boss','Szef',0,'{}','{}')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('gazbottle', 'Butelka z gazem', 2),
- ('fixtool', 'Zestaw do naprawy', 2),
- ('carotool', 'Częsci naprawcze', 2),
- ('blowpipe', 'Palnik', 2),
- ('fixkit', 'Narzedzia naprawcze', 3),
- ('carokit', 'Części blacharskie', 3)
-;
diff --git a/[esx_addons]/esx_mechanicjob/localization/si_esx_mecanojob.sql b/[esx_addons]/esx_mechanicjob/localization/si_esx_mecanojob.sql
deleted file mode 100644
index 262c5484..00000000
--- a/[esx_addons]/esx_mechanicjob/localization/si_esx_mecanojob.sql
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_mechanic', 'Mehanik', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_mechanic', 'Mehanik', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_mechanic', 'Mehanik', 1)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('mechanic', 'Mehanik')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('mechanic',0,'recrue','Rekrut',12,'{}','{}'),
- ('mechanic',1,'novice','Novinec',24,'{}','{}'),
- ('mechanic',2,'experimente','Izkušen',36,'{}','{}'),
- ('mechanic',3,'chief','PodDirektor',48,'{}','{}'),
- ('mechanic',4,'boss','Direktor',0,'{}','{}')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('gazbottle', 'Gas Bottle', 2),
- ('fixtool', 'Orodja za popravilo', 2),
- ('carotool', 'Tools', 2),
- ('blowpipe', 'Blowtorch', 2),
- ('fixkit', 'Popravilo', 3),
- ('carokit', 'Body Kit', 3)
-;
diff --git a/[esx_addons]/esx_mechanicjob/localization/sv_esx_mecanojob.sql b/[esx_addons]/esx_mechanicjob/localization/sv_esx_mecanojob.sql
deleted file mode 100644
index 375200dd..00000000
--- a/[esx_addons]/esx_mechanicjob/localization/sv_esx_mecanojob.sql
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-INSERT INTO `addon_account` (name, label, shared) VALUES
- ('society_mechanic', 'Mekaniker', 1)
-;
-
-INSERT INTO `addon_inventory` (name, label, shared) VALUES
- ('society_mechanic', 'Mekaniker', 1)
-;
-
-INSERT INTO `datastore` (name, label, shared) VALUES
- ('society_mechanic', 'Mekaniker', 1)
-;
-
-INSERT INTO `jobs` (name, label) VALUES
- ('mechanic', 'Mekaniker')
-;
-
-INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
- ('mechanic',0,'recrue','Rekryt',12,'{}','{}'),
- ('mechanic',1,'novice','Nyanställd',24,'{}','{}'),
- ('mechanic',2,'experimente','Erfaren',36,'{}','{}'),
- ('mechanic',3,'chief','Chef',48,'{}','{}'),
- ('mechanic',4,'boss','Ägare',0,'{}','{}')
-;
-
-INSERT INTO `items` (name, label, weight) VALUES
- ('gazbottle', 'Gas Flaska', 2),
- ('fixtool', 'Reparationsverktyg', 2),
- ('carotool', 'Verktyg', 2),
- ('blowpipe', 'Blåslampa', 2),
- ('fixkit', 'Reparationssats', 3),
- ('carokit', 'Karosskit', 3)
-;
diff --git a/[esx_addons]/esx_mechanicjob/server/main.lua b/[esx_addons]/esx_mechanicjob/server/main.lua
deleted file mode 100644
index 4f8db966..00000000
--- a/[esx_addons]/esx_mechanicjob/server/main.lua
+++ /dev/null
@@ -1,305 +0,0 @@
-local PlayersHarvesting, PlayersHarvesting2, PlayersHarvesting3, PlayersCrafting, PlayersCrafting2, PlayersCrafting3 = {}, {}, {}, {}, {}, {}
-
-if Config.MaxInService ~= -1 then
- TriggerEvent('esx_service:activateService', 'mechanic', Config.MaxInService)
-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'})
-
-local function Harvest(source)
- SetTimeout(4000, function()
-
- if PlayersHarvesting[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local GazBottleQuantity = xPlayer.getInventoryItem('gazbottle').count
-
- if GazBottleQuantity >= 5 then
- TriggerClientEvent('esx:showNotification', source, TranslateCap('you_do_not_room'))
- else
- xPlayer.addInventoryItem('gazbottle', 1)
- Harvest(source)
- end
- end
-
- end)
-end
-
-RegisterServerEvent('esx_mechanicjob:startHarvest')
-AddEventHandler('esx_mechanicjob:startHarvest', function()
- local source = source
- PlayersHarvesting[source] = true
- TriggerClientEvent('esx:showNotification', source, TranslateCap('recovery_gas_can'))
- Harvest(source)
-end)
-
-RegisterServerEvent('esx_mechanicjob:stopHarvest')
-AddEventHandler('esx_mechanicjob:stopHarvest', function()
- local source = source
- PlayersHarvesting[source] = false
-end)
-
-local function Harvest2(source)
- SetTimeout(4000, function()
-
- if PlayersHarvesting2[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local FixToolQuantity = xPlayer.getInventoryItem('fixtool').count
-
- if FixToolQuantity >= 5 then
- TriggerClientEvent('esx:showNotification', source, TranslateCap('you_do_not_room'))
- else
- xPlayer.addInventoryItem('fixtool', 1)
- Harvest2(source)
- end
- end
-
- end)
-end
-
-RegisterServerEvent('esx_mechanicjob:startHarvest2')
-AddEventHandler('esx_mechanicjob:startHarvest2', function()
- local source = source
- PlayersHarvesting2[source] = true
- TriggerClientEvent('esx:showNotification', source, TranslateCap('recovery_repair_tools'))
- Harvest2(source)
-end)
-
-RegisterServerEvent('esx_mechanicjob:stopHarvest2')
-AddEventHandler('esx_mechanicjob:stopHarvest2', function()
- local source = source
- PlayersHarvesting2[source] = false
-end)
-
-local function Harvest3(source)
- SetTimeout(4000, function()
-
- if PlayersHarvesting3[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local CaroToolQuantity = xPlayer.getInventoryItem('carotool').count
- if CaroToolQuantity >= 5 then
- TriggerClientEvent('esx:showNotification', source, TranslateCap('you_do_not_room'))
- else
- xPlayer.addInventoryItem('carotool', 1)
- Harvest3(source)
- end
- end
-
- end)
-end
-
-RegisterServerEvent('esx_mechanicjob:startHarvest3')
-AddEventHandler('esx_mechanicjob:startHarvest3', function()
- local source = source
- PlayersHarvesting3[source] = true
- TriggerClientEvent('esx:showNotification', source, TranslateCap('recovery_body_tools'))
- Harvest3(source)
-end)
-
-RegisterServerEvent('esx_mechanicjob:stopHarvest3')
-AddEventHandler('esx_mechanicjob:stopHarvest3', function()
- local source = source
- PlayersHarvesting3[source] = false
-end)
-
-local function Craft(source)
- SetTimeout(4000, function()
-
- if PlayersCrafting[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local GazBottleQuantity = xPlayer.getInventoryItem('gazbottle').count
-
- if GazBottleQuantity <= 0 then
- TriggerClientEvent('esx:showNotification', source, TranslateCap('not_enough_gas_can'))
- else
- xPlayer.removeInventoryItem('gazbottle', 1)
- xPlayer.addInventoryItem('blowpipe', 1)
- Craft(source)
- end
- end
-
- end)
-end
-
-RegisterServerEvent('esx_mechanicjob:startCraft')
-AddEventHandler('esx_mechanicjob:startCraft', function()
- local source = source
- PlayersCrafting[source] = true
- TriggerClientEvent('esx:showNotification', source, TranslateCap('assembling_blowtorch'))
- Craft(source)
-end)
-
-RegisterServerEvent('esx_mechanicjob:stopCraft')
-AddEventHandler('esx_mechanicjob:stopCraft', function()
- local source = source
- PlayersCrafting[source] = false
-end)
-
-local function Craft2(source)
- SetTimeout(4000, function()
-
- if PlayersCrafting2[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local FixToolQuantity = xPlayer.getInventoryItem('fixtool').count
-
- if FixToolQuantity <= 0 then
- TriggerClientEvent('esx:showNotification', source, TranslateCap('not_enough_repair_tools'))
- else
- xPlayer.removeInventoryItem('fixtool', 1)
- xPlayer.addInventoryItem('fixkit', 1)
- Craft2(source)
- end
- end
-
- end)
-end
-
-RegisterServerEvent('esx_mechanicjob:startCraft2')
-AddEventHandler('esx_mechanicjob:startCraft2', function()
- local source = source
- PlayersCrafting2[source] = true
- TriggerClientEvent('esx:showNotification', source, TranslateCap('assembling_repair_kit'))
- Craft2(source)
-end)
-
-RegisterServerEvent('esx_mechanicjob:stopCraft2')
-AddEventHandler('esx_mechanicjob:stopCraft2', function()
- local source = source
- PlayersCrafting2[source] = false
-end)
-
-local function Craft3(source)
- SetTimeout(4000, function()
-
- if PlayersCrafting3[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local CaroToolQuantity = xPlayer.getInventoryItem('carotool').count
-
- if CaroToolQuantity <= 0 then
- TriggerClientEvent('esx:showNotification', source, TranslateCap('not_enough_body_tools'))
- else
- xPlayer.removeInventoryItem('carotool', 1)
- xPlayer.addInventoryItem('carokit', 1)
- Craft3(source)
- end
- end
-
- end)
-end
-
-RegisterServerEvent('esx_mechanicjob:startCraft3')
-AddEventHandler('esx_mechanicjob:startCraft3', function()
- local source = source
- PlayersCrafting3[source] = true
- TriggerClientEvent('esx:showNotification', source, TranslateCap('assembling_body_kit'))
- Craft3(source)
-end)
-
-RegisterServerEvent('esx_mechanicjob:stopCraft3')
-AddEventHandler('esx_mechanicjob:stopCraft3', function()
- local source = source
- PlayersCrafting3[source] = false
-end)
-
-RegisterServerEvent('esx_mechanicjob:onNPCJobMissionCompleted')
-AddEventHandler('esx_mechanicjob:onNPCJobMissionCompleted', function()
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
- local total = math.random(Config.NPCJobEarnings.min, Config.NPCJobEarnings.max);
-
- if xPlayer.job.grade >= 3 then
- total = total * 2
- end
-
- TriggerEvent('esx_addonaccount:getSharedAccount', 'society_mechanic', function(account)
- account.addMoney(total)
- end)
-
- TriggerClientEvent("esx:showNotification", source, TranslateCap('your_comp_earned').. total)
-end)
-
-ESX.RegisterUsableItem('blowpipe', function(source)
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
-
- xPlayer.removeInventoryItem('blowpipe', 1)
-
- TriggerClientEvent('esx_mechanicjob:onHijack', source)
- TriggerClientEvent('esx:showNotification', source, TranslateCap('you_used_blowtorch'))
-end)
-
-ESX.RegisterUsableItem('fixkit', function(source)
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
-
- xPlayer.removeInventoryItem('fixkit', 1)
-
- TriggerClientEvent('esx_mechanicjob:onFixkit', source)
- TriggerClientEvent('esx:showNotification', source, TranslateCap('you_used_repair_kit'))
-end)
-
-ESX.RegisterUsableItem('carokit', function(source)
- local source = source
- local xPlayer = ESX.GetPlayerFromId(source)
-
- xPlayer.removeInventoryItem('carokit', 1)
-
- TriggerClientEvent('esx_mechanicjob:onCarokit', source)
- TriggerClientEvent('esx:showNotification', source, TranslateCap('you_used_body_kit'))
-end)
-
-RegisterServerEvent('esx_mechanicjob:getStockItem')
-AddEventHandler('esx_mechanicjob:getStockItem', function(itemName, count)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- TriggerEvent('esx_addoninventory:getSharedInventory', 'society_mechanic', function(inventory)
- local item = inventory.getItem(itemName)
-
- -- is there enough in the society?
- 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'))
- end
- else
- xPlayer.showNotification(TranslateCap('invalid_quantity'))
- end
- end)
-end)
-
-ESX.RegisterServerCallback('esx_mechanicjob:getStockItems', function(source, cb)
- TriggerEvent('esx_addoninventory:getSharedInventory', 'society_mechanic', function(inventory)
- cb(inventory.items)
- end)
-end)
-
-RegisterServerEvent('esx_mechanicjob:putStockItems')
-AddEventHandler('esx_mechanicjob:putStockItems', function(itemName, count)
- local xPlayer = ESX.GetPlayerFromId(source)
-
- TriggerEvent('esx_addoninventory:getSharedInventory', 'society_mechanic', function(inventory)
- local item = inventory.getItem(itemName)
- local playerItemCount = xPlayer.getInventoryItem(itemName).count
-
- if item.count >= 0 and count <= playerItemCount then
- xPlayer.removeInventoryItem(itemName, count)
- inventory.addItem(itemName, count)
- else
- xPlayer.showNotification(TranslateCap('invalid_quantity'))
- end
-
- xPlayer.showNotification(TranslateCap('have_deposited', count, item.label))
- end)
-end)
-
-ESX.RegisterServerCallback('esx_mechanicjob:getPlayerInventory', function(source, cb)
- local xPlayer = ESX.GetPlayerFromId(source)
- local items = xPlayer.inventory
-
- cb({items = items})
-end)
diff --git a/[esx_addons]/esx_optionalneeds/.editorconfig b/[esx_addons]/esx_optionalneeds/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_optionalneeds/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_optionalneeds/LICENSE b/[esx_addons]/esx_optionalneeds/LICENSE
deleted file mode 100644
index d287dfac..00000000
--- a/[esx_addons]/esx_optionalneeds/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_optionalneeds/README.md b/[esx_addons]/esx_optionalneeds/README.md
deleted file mode 100644
index 5271675b..00000000
--- a/[esx_addons]/esx_optionalneeds/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# esx_optionalneeds
-ESX Optional Needs
-
-[REQUIREMENTS]
-- esx_status https://github.com/ESX-Org/esx_status
-
-[INSTALLATION]
-
-1) CD in your resources folder
-2) Clone the repository
-```
-git clone https://github.com/ESX-Org/esx_optionalneeds [esx]/esx_optionalneeds
-```
-3) Add this in your server.cfg :
-
-```
-start esx_optionalneeds
-```
diff --git a/[esx_addons]/esx_optionalneeds/client/main.lua b/[esx_addons]/esx_optionalneeds/client/main.lua
deleted file mode 100644
index 2516c284..00000000
--- a/[esx_addons]/esx_optionalneeds/client/main.lua
+++ /dev/null
@@ -1,157 +0,0 @@
-local IsAlreadyDrunk = false
-local DrunkLevel = -1
-
-function Drunk(level, start)
-
- CreateThread(function()
-
- local playerPed = PlayerPedId()
-
- if start then
- DoScreenFadeOut(800)
- Wait(1000)
- end
-
- if level == 0 then
-
- RequestAnimSet("move_m@drunk@slightlydrunk")
-
- while not HasAnimSetLoaded("move_m@drunk@slightlydrunk") do
- Wait(0)
- end
-
- SetPedMovementClipset(playerPed, "move_m@drunk@slightlydrunk", true)
-
- elseif level == 1 then
-
- RequestAnimSet("move_m@drunk@moderatedrunk")
-
- while not HasAnimSetLoaded("move_m@drunk@moderatedrunk") do
- Wait(0)
- end
-
- SetPedMovementClipset(playerPed, "move_m@drunk@moderatedrunk", true)
-
- elseif level == 2 then
-
- RequestAnimSet("move_m@drunk@verydrunk")
-
- while not HasAnimSetLoaded("move_m@drunk@verydrunk") do
- Wait(0)
- end
-
- SetPedMovementClipset(playerPed, "move_m@drunk@verydrunk", true)
-
- end
-
- SetTimecycleModifier("spectator5")
- SetPedMotionBlur(playerPed, true)
- SetPedIsDrunk(playerPed, true)
-
- if start then
- DoScreenFadeIn(800)
- end
-
- end)
-
-end
-
-function Reality()
-
- CreateThread(function()
-
- local playerPed = PlayerPedId()
-
- DoScreenFadeOut(800)
- Wait(1000)
-
- ClearTimecycleModifier()
- ResetScenarioTypesEnabled()
- ResetPedMovementClipset(playerPed, 0)
- SetPedIsDrunk(playerPed, false)
- SetPedMotionBlur(playerPed, false)
-
- DoScreenFadeIn(800)
-
- end)
-
-end
-
-AddEventHandler('esx_status:loaded', function(status)
-
- TriggerEvent('esx_status:registerStatus', 'drunk', 0, '#8F15A5',
- function(status)
- if status.val > 0 then
- return true
- else
- return false
- end
- end,
- function(status)
- status.remove(1500)
- end
- )
-
- CreateThread(function()
-
- while true do
-
- Wait(1000)
-
- TriggerEvent('esx_status:getStatus', 'drunk', function(status)
-
- if status.val > 0 then
-
- local start = true
-
- if IsAlreadyDrunk then
- start = false
- end
-
- local level = 0
-
- if status.val <= 250000 then
- level = 0
- elseif status.val <= 500000 then
- level = 1
- else
- level = 2
- end
-
- if level ~= DrunkLevel then
- Drunk(level, start)
- end
-
- IsAlreadyDrunk = true
- DrunkLevel = level
- end
-
- if status.val == 0 then
-
- if IsAlreadyDrunk then
- Reality()
- end
-
- IsAlreadyDrunk = false
- DrunkLevel = -1
-
- end
-
- end)
-
- end
-
- end)
-
-end)
-
-RegisterNetEvent('esx_optionalneeds:onDrink')
-AddEventHandler('esx_optionalneeds:onDrink', function()
-
- local playerPed = PlayerPedId()
-
- TaskStartScenarioInPlace(playerPed, "WORLD_HUMAN_DRINKING", 0, 1)
- Wait(1000)
- ClearPedTasksImmediately(playerPed)
-
-end)
\ No newline at end of file
diff --git a/[esx_addons]/esx_optionalneeds/config.lua b/[esx_addons]/esx_optionalneeds/config.lua
deleted file mode 100644
index 0dea84dc..00000000
--- a/[esx_addons]/esx_optionalneeds/config.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Config = {}
-
-Config.TickTime = 100
-Config.UpdateClientTime = 5000
-Config.Locale = GetConvar('esx:locale', 'en')
diff --git a/[esx_addons]/esx_optionalneeds/esx_optionalneeds.sql b/[esx_addons]/esx_optionalneeds/esx_optionalneeds.sql
deleted file mode 100644
index 56167c40..00000000
--- a/[esx_addons]/esx_optionalneeds/esx_optionalneeds.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('beer', 'Beer', 1)
-;
diff --git a/[esx_addons]/esx_optionalneeds/fxmanifest.lua b/[esx_addons]/esx_optionalneeds/fxmanifest.lua
deleted file mode 100644
index 93a796b0..00000000
--- a/[esx_addons]/esx_optionalneeds/fxmanifest.lua
+++ /dev/null
@@ -1,20 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Optional Needs'
-lua54 'yes'
-version '1.9.0'
-
-shared_script '@es_extended/imports.lua'
-
-server_scripts {
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'config.lua',
- 'server/main.lua'
-}
-
-client_scripts {
- 'client/main.lua'
-}
diff --git a/[esx_addons]/esx_optionalneeds/locales/de.lua b/[esx_addons]/esx_optionalneeds/locales/de.lua
deleted file mode 100644
index c8dbebfc..00000000
--- a/[esx_addons]/esx_optionalneeds/locales/de.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['de'] = {
-
- ['used_beer'] = 'Du hast 1x Bier getrunken',
-
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_optionalneeds/locales/en.lua b/[esx_addons]/esx_optionalneeds/locales/en.lua
deleted file mode 100644
index 5f7f6431..00000000
--- a/[esx_addons]/esx_optionalneeds/locales/en.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['en'] = {
-
- ['used_beer'] = 'you used 1x Beer',
-
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_optionalneeds/locales/es.lua b/[esx_addons]/esx_optionalneeds/locales/es.lua
deleted file mode 100644
index bcde249e..00000000
--- a/[esx_addons]/esx_optionalneeds/locales/es.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['es'] = {
-
- ['used_beer'] = 'Has usado 1x Cerveza',
-
-}
diff --git a/[esx_addons]/esx_optionalneeds/locales/fi.lua b/[esx_addons]/esx_optionalneeds/locales/fi.lua
deleted file mode 100644
index 563c8136..00000000
--- a/[esx_addons]/esx_optionalneeds/locales/fi.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['fi'] = {
-
- ['used_beer'] = 'sinä joit 1x Olut',
-
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_optionalneeds/locales/fr.lua b/[esx_addons]/esx_optionalneeds/locales/fr.lua
deleted file mode 100644
index aa6069d2..00000000
--- a/[esx_addons]/esx_optionalneeds/locales/fr.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['fr'] = {
-
- ['used_beer'] = 'vous avez utilisé 1x Bière',
-
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_optionalneeds/locales/hu.lua b/[esx_addons]/esx_optionalneeds/locales/hu.lua
deleted file mode 100644
index 486d148f..00000000
--- a/[esx_addons]/esx_optionalneeds/locales/hu.lua
+++ /dev/null
@@ -1,3 +0,0 @@
-Locales['hu'] = {
- ['used_beer'] = 'Ittál egy Sört',
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_optionalneeds/locales/pl.lua b/[esx_addons]/esx_optionalneeds/locales/pl.lua
deleted file mode 100644
index 42ed9c52..00000000
--- a/[esx_addons]/esx_optionalneeds/locales/pl.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['pl'] = {
-
- ['used_beer'] = 'używasz 1x Piwo',
-
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_optionalneeds/locales/si.lua b/[esx_addons]/esx_optionalneeds/locales/si.lua
deleted file mode 100644
index 25b9ad32..00000000
--- a/[esx_addons]/esx_optionalneeds/locales/si.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-Locales['si'] = {
-
- ['used_beer'] = 'Uporabil si 1x Pivo',
-
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_optionalneeds/localization/en_esx_optionalneeds.sql b/[esx_addons]/esx_optionalneeds/localization/en_esx_optionalneeds.sql
deleted file mode 100644
index 12282cce..00000000
--- a/[esx_addons]/esx_optionalneeds/localization/en_esx_optionalneeds.sql
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('beer', 'Beer', 1)
-;
-
-INSERT INTO `shops` (store, item, price) VALUES
- ('TwentyFourSeven', 'beer', 45),
- ('RobsLiquor', 'beer', 45),
- ('LTDgasoline', 'beer', 45)
-;
diff --git a/[esx_addons]/esx_optionalneeds/localization/es_esx_optionalneeds.sql b/[esx_addons]/esx_optionalneeds/localization/es_esx_optionalneeds.sql
deleted file mode 100644
index 4a1ddf0b..00000000
--- a/[esx_addons]/esx_optionalneeds/localization/es_esx_optionalneeds.sql
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('beer', 'Cerveza', 1)
-;
-
-INSERT INTO `shops` (store, item, price) VALUES
- ('TwentyFourSeven', 'beer', 45),
- ('RobsLiquor', 'beer', 45),
- ('LTDgasoline', 'beer', 45)
-;
diff --git a/[esx_addons]/esx_optionalneeds/localization/hu_esx_optionalneeds.sql b/[esx_addons]/esx_optionalneeds/localization/hu_esx_optionalneeds.sql
deleted file mode 100644
index 261a4ff0..00000000
--- a/[esx_addons]/esx_optionalneeds/localization/hu_esx_optionalneeds.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('beer', 'Sör', 1)
-;
diff --git a/[esx_addons]/esx_optionalneeds/localization/si_esx_optionalneeds.sql b/[esx_addons]/esx_optionalneeds/localization/si_esx_optionalneeds.sql
deleted file mode 100644
index 5b1f9c9e..00000000
--- a/[esx_addons]/esx_optionalneeds/localization/si_esx_optionalneeds.sql
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-INSERT INTO `items` (`name`, `label`, `weight`) VALUES
- ('beer', 'Pivo', 1)
-;
-
-INSERT INTO `shops` (store, item, price) VALUES
- ('TwentyFourSeven', 'beer', 45),
- ('RobsLiquor', 'beer', 45),
- ('LTDgasoline', 'beer', 45)
-;
diff --git a/[esx_addons]/esx_optionalneeds/server/main.lua b/[esx_addons]/esx_optionalneeds/server/main.lua
deleted file mode 100644
index e71416de..00000000
--- a/[esx_addons]/esx_optionalneeds/server/main.lua
+++ /dev/null
@@ -1,11 +0,0 @@
-ESX.RegisterUsableItem('beer', function(source)
-
- local xPlayer = ESX.GetPlayerFromId(source)
-
- xPlayer.removeInventoryItem('beer', 1)
-
- TriggerClientEvent('esx_status:add', source, 'drunk', 250000)
- TriggerClientEvent('esx_optionalneeds:onDrink', source)
- TriggerClientEvent('esx:showNotification', source, TranslateCap('used_beer'))
-
-end)
diff --git a/[esx_addons]/esx_phone/.editorconfig b/[esx_addons]/esx_phone/.editorconfig
deleted file mode 100644
index 9b425256..00000000
--- a/[esx_addons]/esx_phone/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_size = 4
-indent_style = tab
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
\ No newline at end of file
diff --git a/[esx_addons]/esx_phone/LICENSE b/[esx_addons]/esx_phone/LICENSE
deleted file mode 100644
index b949e529..00000000
--- a/[esx_addons]/esx_phone/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-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
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-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
- 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.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/[esx_addons]/esx_phone/README.md b/[esx_addons]/esx_phone/README.md
deleted file mode 100644
index 3aa9b510..00000000
--- a/[esx_addons]/esx_phone/README.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# esx_phone
-
-### Note
-- All scripts that implement the usage of esx phone must be started **after** this script, or else they won't register and no messages will be received.
-
-## Download & Installation
-
-### Using [fvm](https://github.com/qlaffont/fvm-installer)
-```
-fvm install --save --folder=esx esx-org/esx_phone
-```
-
-### Using Git
-```
-cd resources
-git clone https://github.com/ESX-Org/esx_phone [esx]/esx_phone
-```
-
-### Manually
-- Download https://github.com/ESX-Org/esx_phone/archive/master.zip
-- Put it in the `[esx]` directory
-
-- Import `esx_phone.sql` in your database
-- Add this in your `server.cfg`:
-
-```
-start esx_phone
-```
-
-### Add custom contacts
-
-Client side
-
-```lua
-RegisterNetEvent('esx_phone:loaded')
-AddEventHandler('esx_phone:loaded', function(phoneNumber, contacts)
- local specialContact = {
- name = 'societyName',
- number = 'societyNumber',
- base64Icon = 'insert base 64 icon'
- }
-
- TriggerEvent('esx_phone:addSpecialContact', specialContact.name, specialContact.number, specialContact.base64Icon)
-end)
-```
-
-Server side
-
-```lua
-TriggerServerEvent('esx_phone:registerNumber', number, type, sharePos, hasDispatch, hideNumber, hidePosIfAnon)
-
-example
-
-TriggerEvent('esx_phone:registerNumber', 'ambulance', TranslateCap('alert_ambulance'), true, true)
-
-last two booleans are optional
-```
-
-# Legal
-### License
-esx_phone - phone script for fivem
-
-Copyright (C) 2015-2022 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.
-
-This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details.
-
-You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/.
diff --git a/[esx_addons]/esx_phone/client/main.lua b/[esx_addons]/esx_phone/client/main.lua
deleted file mode 100644
index a0b0ce4f..00000000
--- a/[esx_addons]/esx_phone/client/main.lua
+++ /dev/null
@@ -1,282 +0,0 @@
-local GUI, PhoneData, CurrentActionData, PhoneNumberSources, CurrentDispatchRequestId = {}, {phoneNumber = 0, contacts = {}}, {}, {}, -1
-local CurrentAction, CurrentActionMsg
-GUI.PhoneIsShowed = false
-GUI.MessagesIsShowed = false
-GUI.AddContactIsShowed = false
-
-function OpenPhone()
- local playerPed = PlayerPedId()
- TriggerServerEvent('esx_phone:reload', PhoneData.phoneNumber)
-
- SendNUIMessage({
- showPhone = true,
- phoneData = PhoneData
- })
-
- GUI.PhoneIsShowed = true
-
- ESX.SetTimeout(250, function()
- SetNuiFocus(true, true)
- end)
-
- if not IsPedInAnyVehicle(playerPed, false) then
- TaskStartScenarioInPlace(playerPed, 'WORLD_HUMAN_STAND_MOBILE', 0, true)
- end
-end
-
-function ClosePhone()
- local playerPed = PlayerPedId()
-
- SendNUIMessage({
- showPhone = false
- })
-
- SetNuiFocus(false)
- GUI.PhoneIsShowed = false
- ClearPedTasks(playerPed)
-end
-
-RegisterNetEvent('esx_phone:loaded')
-AddEventHandler('esx_phone:loaded', function(phoneNumber, contacts)
- PhoneData.phoneNumber = phoneNumber
- PhoneData.contacts = {}
-
- for i=1, #contacts, 1 do
- contacts[i].online = (PhoneNumberSources[contacts[i].number] == nil and false or NetworkIsPlayerActive(GetPlayerFromServerId(PhoneNumberSources[contacts[i].number])))
- table.insert(PhoneData.contacts, contacts[i])
- end
-
- SendNUIMessage({
- reloadPhone = true,
- phoneData = PhoneData
- })
- ESX.UI.Menu.RegisterType('phone', OpenPhone, ClosePhone)
-end)
-
-RegisterNetEvent('esx_phone:addContact')
-AddEventHandler('esx_phone:addContact', function(name, phoneNumber, playerOnline)
- table.insert(PhoneData.contacts, {
- name = name,
- number = phoneNumber,
- online = playerOnline
- })
-
- SendNUIMessage({
- contactAdded = true,
- phoneData = PhoneData
- })
-end)
-
-RegisterNetEvent('esx_phone:removeContact')
-AddEventHandler('esx_phone:removeContact', function(name, phoneNumber)
- for key, value in pairs(PhoneData.contacts) do
- if value.name == name and value.number == phoneNumber then
- table.remove(PhoneData.contacts, key)
- break
- end
- end
-
- SendNUIMessage({
- contactRemoved = true,
- phoneData = PhoneData
- })
-end)
-
-RegisterNetEvent('esx_phone:addSpecialContact')
-AddEventHandler('esx_phone:addSpecialContact', function(name, phoneNumber, base64Icon)
- SendNUIMessage({
- addSpecialContact = true,
- name = name,
- number = phoneNumber,
- base64Icon = base64Icon
- })
-end)
-
-RegisterNetEvent('esx_phone:removeSpecialContact')
-AddEventHandler('esx_phone:removeSpecialContact', function(phoneNumber)
- SendNUIMessage({
- removeSpecialContact = true,
- number = phoneNumber
- })
-end)
-
-RegisterNUICallback('add_contact', function(data, cb)
- local phoneNumber = tonumber(data.phoneNumber)
- local contactName = tostring(data.contactName)
-
- if phoneNumber then
- TriggerServerEvent('esx_phone:addPlayerContact', phoneNumber, contactName)
- else
- ESX.ShowNotification(TranslateCap('invalid_number'))
- end
-end)
-
-RegisterNUICallback('remove_contact', function(data, cb)
- local phoneNumber = tonumber(data.phoneNumber)
- local contactName = tostring(data.contactName)
-
- if phoneNumber then
- TriggerServerEvent('esx_phone:removePlayerContact', phoneNumber, contactName)
- end
-end)
-
-RegisterNetEvent('esx_phone:onMessage')
-AddEventHandler('esx_phone:onMessage', function(phoneNumber, message, position, anon, job, dispatchRequestId, dispatchNumber)
- if dispatchNumber and phoneNumber == PhoneData.phoneNumber then
- TriggerEvent('esx_phone:cancelMessage', dispatchNumber)
-
- if WasEventCanceled() then
- return
- end
- end
-
- if job == 'player' then
- ESX.ShowNotification(TranslateCap('new_message', message))
- else
- ESX.ShowNotification(('%s: %s'):format(job, message))
- end
-
- PlaySound(-1, 'Menu_Accept', 'Phone_SoundSet_Default', false, 0, true)
-
- SendNUIMessage({
- newMessage = true,
- phoneNumber = phoneNumber,
- message = message,
- position = position,
- anonyme = anon,
- job = job
- })
-
- if dispatchRequestId then
- CurrentAction = 'dispatch'
- CurrentActionMsg = TranslateCap('press_take_call', job)
- CurrentDispatchRequestId = dispatchRequestId
-
- CurrentActionData = {
- phoneNumber = phoneNumber,
- message = message,
- position = position,
- actions = actions,
- anonyme = anon,
- job = job
- }
-
- ESX.SetTimeout(15000, function()
- CurrentAction = nil
- end)
- end
-end)
-
-RegisterNetEvent('esx_phone:stopDispatch')
-AddEventHandler('esx_phone:stopDispatch', function(dispatchRequestId, playerName)
- if CurrentDispatchRequestId == dispatchRequestId and CurrentAction == 'dispatch' then
- CurrentAction = nil
- ESX.ShowNotification(TranslateCap('taken_call', playerName))
- end
-end)
-
-RegisterNetEvent('esx_phone:setPhoneNumberSource')
-AddEventHandler('esx_phone:setPhoneNumberSource', function(phoneNumber, source)
- if source == -1 then
- PhoneNumberSources[phoneNumber] = nil
- else
- PhoneNumberSources[phoneNumber] = source
- end
-end)
-
-RegisterNUICallback('setGPS', function(data)
- SetNewWaypoint(data.x, data.y)
- ESX.ShowNotification(TranslateCap('gps_position'))
-end)
-
-RegisterNUICallback('send', function(data)
- local phoneNumber = data.number
- local playerPed = PlayerPedId()
- local coords = GetEntityCoords(playerPed)
-
- if tonumber(phoneNumber) then
- phoneNumber = tonumber(phoneNumber)
- end
-
- TriggerServerEvent('esx_phone:send', phoneNumber, data.message, data.anonyme, {
- x = coords.x,
- y = coords.y,
- z = coords.z
- })
-
- SendNUIMessage({
- showMessageEditor = false
- })
-
- ESX.ShowNotification(TranslateCap('message_sent'))
-end)
-
-RegisterNUICallback('escape', function()
- ESX.UI.Menu.Close('phone', GetCurrentResourceName(), 'main')
-end)
-
-CreateThread(function()
- while true do
- Wait(0)
-
- if GUI.PhoneIsShowed then -- codes here: https://pastebin.com/guYd0ht4
- DisableControlAction(0, 1, true) -- LookLeftRight
- DisableControlAction(0, 2, true) -- LookUpDown
- DisableControlAction(0, 25, true) -- Input Aim
- DisableControlAction(0, 106, true) -- Vehicle Mouse Control Override
-
- DisableControlAction(0, 24, true) -- Input Attack
- DisableControlAction(0, 140, true) -- Melee Attack Alternate
- DisableControlAction(0, 141, true) -- Melee Attack Alternate
- DisableControlAction(0, 142, true) -- Melee Attack Alternate
- DisableControlAction(0, 257, true) -- Input Attack 2
- DisableControlAction(0, 263, true) -- Input Melee Attack
- DisableControlAction(0, 264, true) -- Input Melee Attack 2
-
- DisableControlAction(0, 12, true) -- Weapon Wheel Up Down
- DisableControlAction(0, 14, true) -- Weapon Wheel Next
- DisableControlAction(0, 15, true) -- Weapon Wheel Prev
- DisableControlAction(0, 16, true) -- Select Next Weapon
- DisableControlAction(0, 17, true) -- Select Prev Weapon
- else
- -- open phone
- -- todo: is player busy (handcuffed, etc)
- if IsControlJustReleased(0, 288) and IsUsingKeyboard(0) then
- if not ESX.UI.Menu.IsOpen('phone', GetCurrentResourceName(), 'main') then
- ESX.UI.Menu.CloseAll()
- ESX.UI.Menu.Open('phone', GetCurrentResourceName(), 'main')
- end
- end
- end
- end
-end)
-
-AddEventHandler('onResourceStop', function(resource)
- if resource == GetCurrentResourceName() then
- if GUI.PhoneIsShowed then
- ESX.UI.Menu.CloseAll()
- end
- end
-end)
-
--- Key controls
-CreateThread(function()
- while true do
- Wait(0)
-
- if CurrentAction then
- ESX.ShowHelpNotification(CurrentActionMsg)
-
- if IsControlJustReleased(0, 38) and IsUsingKeyboard(0) then
- if CurrentAction == 'dispatch' then
- TriggerServerEvent('esx_phone:stopDispatch', CurrentDispatchRequestId)
- SetNewWaypoint(CurrentActionData.position.x, CurrentActionData.position.y)
- end
-
- CurrentAction = nil
- end
- else
- Wait(500)
- end
- end
-end)
\ No newline at end of file
diff --git a/[esx_addons]/esx_phone/config.lua b/[esx_addons]/esx_phone/config.lua
deleted file mode 100644
index f6c6c4d9..00000000
--- a/[esx_addons]/esx_phone/config.lua
+++ /dev/null
@@ -1,2 +0,0 @@
-Config = {}
-Config.Locale = GetConvar('esx:locale', 'en')
diff --git a/[esx_addons]/esx_phone/esx_phone.sql b/[esx_addons]/esx_phone/esx_phone.sql
deleted file mode 100644
index 1b56aea9..00000000
--- a/[esx_addons]/esx_phone/esx_phone.sql
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-CREATE TABLE `user_contacts` (
- `id` INT(11) NOT NULL AUTO_INCREMENT,
- `identifier` VARCHAR(60) NOT NULL,
- `name` VARCHAR(100) NOT NULL,
- `number` INT(11) NOT NULL,
-
- PRIMARY KEY (`id`),
- INDEX `index_user_contacts_identifier_name_number` (`identifier`, `name`, `number`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
-
-ALTER TABLE `users`
- ADD COLUMN `phone_number` INT(11) NULL,
- ADD UNIQUE INDEX `index_users_phone_number` (`phone_number`);
\ No newline at end of file
diff --git a/[esx_addons]/esx_phone/fxmanifest.lua b/[esx_addons]/esx_phone/fxmanifest.lua
deleted file mode 100644
index 252e0ce9..00000000
--- a/[esx_addons]/esx_phone/fxmanifest.lua
+++ /dev/null
@@ -1,50 +0,0 @@
-fx_version 'adamant'
-
-game 'gta5'
-
-description 'ESX Phone'
-lua54 'yes'
-version '1.9.0'
-
-shared_script '@es_extended/imports.lua'
-
-server_scripts {
- '@oxmysql/lib/MySQL.lua',
- 'config.lua',
- '@es_extended/locale.lua',
- 'locales/*.lua',
- 'server/main.lua'
-}
-
-client_scripts {
- '@es_extended/locale.lua',
- 'config.lua',
- 'locales/*.lua',
- 'client/main.lua'
-}
-
-ui_page 'html/ui.html'
-
-files {
- 'html/ui.html',
-
- 'html/css/app.css',
-
- 'html/scripts/mustache.min.js',
- 'html/scripts/app.js',
-
- 'html/img/phone.png',
-
- 'html/img/icons/signal.png',
- 'html/img/icons/rep.png',
- 'html/img/icons/msg.png',
- 'html/img/icons/add.png',
- 'html/img/icons/back.png',
- 'html/img/icons/new-msg.png',
- 'html/img/icons/reply.png',
- 'html/img/icons/write.png',
- 'html/img/icons/edit.png',
- 'html/img/icons/location.png'
-}
-
-dependency 'es_extended'
diff --git a/[esx_addons]/esx_phone/html/css/app.css b/[esx_addons]/esx_phone/html/css/app.css
deleted file mode 100644
index 9540a640..00000000
--- a/[esx_addons]/esx_phone/html/css/app.css
+++ /dev/null
@@ -1,392 +0,0 @@
-html, body {
- width: 100%;
- height: 100%;
- overflow: hidden;
-}
-
-#cursor {
- position: absolute;
- z-index: 999999;
- display: none;
-}
-
-#console {
- position: absolute;
- left: 0;
- bottom: 0;
- width: 320px;
- height: 250px;
- background-color: rgba(0, 0, 0, 0.8);
- color: white;
- padding: 5px;
- overflow-y: auto;
- overflow-x: hidden;
-}
-
-#phone {
- background-image: url("../img/phone.png");
- background-repeat: no-repeat;
- font-family: 'Catamaran', sans-serif;
- font-weight: 400;
- font-size: 12px;
- width: 298px;
- height: 480px;
- color: #212121;
- position: absolute;
- right: 50px;
- bottom: 0;
- overflow: hidden;
- cursor: default;
- display: none;
-}
-
-#phone>.container {
- position: absolute;
- top: 59px;
- left: 46px;
- width: 207px;
- height: 365px;
- background-repeat: no-repeat;
- overflow: hidden;
-}
-
-#phone .head {
- position: relative;
- text-transform: uppercase;
- text-align: center;
- height: 20px;
- line-height: 20px;
- background-color: black;
- z-index: 5;
-}
-
-#phone-icon {
- display: block;
- position: absolute;
- height: 12px;
- line-height: 20px;
- top: 4px;
- right: 5px;
-}
-
-#phone-number {
- display: block;
- position: absolute;
- height: 20px;
- line-height: 20px;
- top: 0;
- left: 5px;
- color: white;
-}
-
-#phone .menu {
- max-height: 320px;
- overflow-y: scroll;
- z-index: 1;
-}
-
-#phone .menu .home {
- list-style: none outside none;
- margin: 0;
- padding: 13px;
- color: white;
-}
-
-#phone .menu .phone-icon {
- position: relative;
- display: block;
- float: left;
- text-align: center;
- width: 60px;
- padding-top: 50px;
- padding-bottom: 5px;
- background-size: 32px 32px;
- background-color: transparent;
- background-repeat: no-repeat;
- background-position: center 10px;
- cursor: pointer;
-}
-
-#phone .menu .phone-icon::after {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background-color: rgba(255, 255, 255, 0.01);
-}
-
-#phone-icon-rep {
- background-image: url("../img/icons/rep.png");
-}
-
-#phone-icon-msg {
- background-image: url("../img/icons/msg.png");
-}
-
-#phone .menu::-webkit-scrollbar {
- display: none;
-}
-
-#phone .menu .phone-icon.selected, #phone .menu .phone-icon:hover {
- background-color: rgba(255, 255, 255, 0.1);
-}
-
-.screen {
- position: absolute;
- top: 0;
- left: 207px;
- width: 207px;
- height: 365px;
- background-color: #dde1e8;
- z-index: 1;
- transition: left 0.25s ease;
- overflow: hidden;
-}
-
-.screen.active {
- left: 0;
-}
-
-.screen>.container {
- position: absolute;
- top: 50px;
- left: 0;
- width: 224px;
- height: 315px;
- overflow-y: scroll;
-}
-
-.head-screen {
- position: absolute;
- height: 30px;
- line-height: 30px;
- text-transform: uppercase;
- background-color: white;
- text-align: center;
- color: #212121;
- background-color: white;
- font-weight: 600;
- border-bottom: 1px solid rgba(0, 0, 0, 0.3);
- font-size: 13px;
- top: 20px;
- left: 0;
- right: 0;
- z-index: 5;
-}
-
-.btn-head {
- display: block;
- color: #212121;
- width: 30px;
- height: 30px;
- font-size: 20px;
- cursor: pointer;
-}
-
-.btn-head:hover {
- background-color: #f1f1f1;
-}
-
-.btn-head-back {
- float: left;
- background: transparent url("../img/icons/back.png") no-repeat 50%;
-}
-
-.btn-head-new {
- float: right;
- background: transparent url("../img/icons/add.png") no-repeat 50%;
-}
-
-.message, .contact {
- position: relative;
- padding: 3px 35px 3px 25px;
- background-color: white;
- border-bottom: 1px solid rgba(0, 0, 0, 0.3);
- color: #212121;
- min-height: 30px;
-}
-
-.message.no-item, .contact.no-item {
- padding: 3px 5px;
-}
-
-.contact {
- opacity: 0.5;
-}
-
-.contact.online, .contact.no-item {
- opacity: 1;
-}
-
-.contact::after {
- position: absolute;
- display: block;
- content: '';
- width: 8px;
- height: 8px;
- background-color: #dcdcdc;
- left: 10px;
- top: 8px;
- border-radius: 50%;
-}
-
-.contact.online::after {
- background-color: #6ecc49;
-}
-
-.contact.no-item::after {
- display: none;
-}
-
-.no-item {
- text-align: center;
-}
-
-.message .sender-info, .message .body, .contact .sender-info {
- margin-right: 30px;
-}
-
-.message .phone-number {
- line-height: 10px;
- color: #999;
-}
-
-.message .body {
- margin-top: 5px;
- line-height: 16px;
-}
-
-.sender {
- font-weight: 600;
-}
-
-.actions {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- width: 24px;
-}
-
-.actions .new-msg {
- display: block;
- width: 24px;
- height: 24px;
- background: transparent url("../img/icons/write.png") no-repeat 50%;
- cursor: pointer;
-}
-
-.actions .reply-btn {
- background: transparent url("../img/icons/reply.png") no-repeat 50%;
-}
-
-.actions .gps {
- display: none;
- width: 24px;
- height: 24px;
- background: transparent url("../img/icons/location.png") no-repeat 50%;
- cursor: pointer;
-}
-
-.actions .ok-btn {
- display: none;
- width: 24px;
- height: 24px;
- background: transparent url("../img/icons/ok.png") no-repeat 50%;
- cursor: pointer;
-}
-
-.actions .new-msg.anonyme, .contact .actions .new-msg {
- display: none;
-}
-
-.contact.online .actions .new-msg, .actions .gps.active, .actions .ok-btn.showOK {
- display: block;
-}
-
-.actions .new-msg:hover, .actions .gps:hover, .actions .ok-btn:hover, .actions .del-contact:hover {
- background-color: #f1f1f1;
-}
-
-#writer textarea {
- width: 207px;
- min-width: 207px;
- max-width: 207px;
- height: 255px;
- min-height: 255px;
- max-height: 255px;
- background-color: #f1f1f1;
- border: none;
- box-shadow: 0 2px 3px 1px rgba(0, 0, 0, 0.1) inset;
- padding: 5px;
- outline: none;
-}
-
-#writer label {
- display: block;
- width: 100%;
- height: 30px;
- line-height: 34px;
- background-color: #f1f1f1;
- border: none;
- box-shadow: 0 2px 3px 1px rgba(0, 0, 0, 0.1) inset;
- font-size: 14px;
- font-weight: 600;
- color: #6b6b6b;
-}
-
-#writer label input {
- top: 2px;
- position: relative;
- left: 5px;
- margin-right: 10px;
-}
-
-#writer button, #contact button {
- display: block;
- float: left;
- width: 103px;
- height: 30px;
- line-height: 30px;
- background-color: #dcdcdc;
- border-color: rgba(0, 0, 0, 0.5);
- border: none;
- color: white;
- font-weight: 600;
- cursor: pointer;
- outline: none;
-}
-
-#writer button.marged, #contact button.marged {
- margin-left: 1px;
-}
-
-#writer #writer_cancel, #contact #contact_cancel {
- background-color: #d9534f;
-}
-
-#writer #writer_send:hover, #contact #contact_send:hover {
- background-color: #74c374;
-}
-
-#writer #writer_cancel:hover, #contact #contact_cancel:hover {
- background-color: #dc6b68;
-}
-
-#writer #writer_send, #contact #contact_send {
- background-color: #5cb85c;
-}
-
-#contact input {
- display: block;
- width: 100%;
- height: 30px;
- line-height: 30px;
- padding: 2px 5px;
- background-color: #f1f1f1;
- border: none;
- border-bottom: 1px solid rgba(0, 0, 0, 0.3);
- outline: none;
- box-shadow: 0 2px 3px 1px rgba(0, 0, 0, 0.1) inset;
-}
\ No newline at end of file
diff --git a/[esx_addons]/esx_phone/html/img/icons/add.png b/[esx_addons]/esx_phone/html/img/icons/add.png
deleted file mode 100644
index ad5a1310..00000000
Binary files a/[esx_addons]/esx_phone/html/img/icons/add.png and /dev/null differ
diff --git a/[esx_addons]/esx_phone/html/img/icons/back.png b/[esx_addons]/esx_phone/html/img/icons/back.png
deleted file mode 100644
index f7fa8c38..00000000
Binary files a/[esx_addons]/esx_phone/html/img/icons/back.png and /dev/null differ
diff --git a/[esx_addons]/esx_phone/html/img/icons/edit.png b/[esx_addons]/esx_phone/html/img/icons/edit.png
deleted file mode 100644
index 9f0c9db5..00000000
Binary files a/[esx_addons]/esx_phone/html/img/icons/edit.png and /dev/null differ
diff --git a/[esx_addons]/esx_phone/html/img/icons/location.png b/[esx_addons]/esx_phone/html/img/icons/location.png
deleted file mode 100644
index 54e65f47..00000000
Binary files a/[esx_addons]/esx_phone/html/img/icons/location.png and /dev/null differ
diff --git a/[esx_addons]/esx_phone/html/img/icons/msg.png b/[esx_addons]/esx_phone/html/img/icons/msg.png
deleted file mode 100644
index aec485a3..00000000
Binary files a/[esx_addons]/esx_phone/html/img/icons/msg.png and /dev/null differ
diff --git a/[esx_addons]/esx_phone/html/img/icons/new-msg.png b/[esx_addons]/esx_phone/html/img/icons/new-msg.png
deleted file mode 100644
index a5970481..00000000
Binary files a/[esx_addons]/esx_phone/html/img/icons/new-msg.png and /dev/null differ
diff --git a/[esx_addons]/esx_phone/html/img/icons/ok.png b/[esx_addons]/esx_phone/html/img/icons/ok.png
deleted file mode 100644
index c08a8a7a..00000000
Binary files a/[esx_addons]/esx_phone/html/img/icons/ok.png and /dev/null differ
diff --git a/[esx_addons]/esx_phone/html/img/icons/rep.png b/[esx_addons]/esx_phone/html/img/icons/rep.png
deleted file mode 100644
index efb0082e..00000000
Binary files a/[esx_addons]/esx_phone/html/img/icons/rep.png and /dev/null differ
diff --git a/[esx_addons]/esx_phone/html/img/icons/reply.png b/[esx_addons]/esx_phone/html/img/icons/reply.png
deleted file mode 100644
index 0b359ecc..00000000
Binary files a/[esx_addons]/esx_phone/html/img/icons/reply.png and /dev/null differ
diff --git a/[esx_addons]/esx_phone/html/img/icons/signal.png b/[esx_addons]/esx_phone/html/img/icons/signal.png
deleted file mode 100644
index 143301f5..00000000
Binary files a/[esx_addons]/esx_phone/html/img/icons/signal.png and /dev/null differ
diff --git a/[esx_addons]/esx_phone/html/img/icons/write.png b/[esx_addons]/esx_phone/html/img/icons/write.png
deleted file mode 100644
index 28f32beb..00000000
Binary files a/[esx_addons]/esx_phone/html/img/icons/write.png and /dev/null differ
diff --git a/[esx_addons]/esx_phone/html/img/phone.png b/[esx_addons]/esx_phone/html/img/phone.png
deleted file mode 100644
index 2c2c8adb..00000000
Binary files a/[esx_addons]/esx_phone/html/img/phone.png and /dev/null differ
diff --git a/[esx_addons]/esx_phone/html/scripts/app.js b/[esx_addons]/esx_phone/html/scripts/app.js
deleted file mode 100644
index 151df962..00000000
--- a/[esx_addons]/esx_phone/html/scripts/app.js
+++ /dev/null
@@ -1,512 +0,0 @@
-(function(){
-
- let ContactTpl =
- '