-
-
-
-
Unselectable Item
-
Testing, testing a description here.
+
+
+
+
+
+ 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.
+
+
-
-
-
-
- Disabled Item
- Testing, testing a description here.
-
-
-
-
-
- Item
- Testing, testing a description here. Generic words to force
- overflow.
-
-
-
-
-
+ // Open([
+ // {
+ // 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."
+ // },
+ // {
+ // input:true,
+ // icon:"fas fa-times",
+ // title:"Input Text",
+ // inputType:"text",
+ // inputPlaceholder:"Placeholder..."
+ // },
+ // {
+ // input:true,
+ // icon:"",
+ // title:"Input Number",
+ // inputType:"number",
+ // inputPlaceholder:"Placeholder...",
+ // inputValue:0,
+ // inputMin:0,
+ // inputMax:50
+ // },
+ // {
+ // input:true,
+ // icon:"",
+ // title:"Input Radio",
+ // inputType:"radio",
+ // inputPlaceholder:"turbocharger",
+ // inputValue:"supercharger",
+ // inputValues:[
+ // {
+ // value:"turbocharger",
+ // title:"Turbocharger"
+ // },
+ // {
+ // value:"supercharger",
+ // title:"Supercharger"
+ // },
+ // ]
+ // }
+ // ])
+
+
diff --git a/[core]/esx_context/main.lua b/[core]/esx_context/main.lua
index 55bfad9c..b1aa609b 100644
--- a/[core]/esx_context/main.lua
+++ b/[core]/esx_context/main.lua
@@ -1,18 +1,17 @@
-local defaultPosition = "right" -- [ left | center | right ]
local activeMenu
local Debug = ESX.GetConfig().EnableDebug
-- Global functions
-- [ Post | Open | Closed ]
-function Post(fn,...)
+function Post(fn, ...)
SendNUIMessage({
func = fn,
- args = {...}
+ args = { ... }
})
end
-function Open(position,eles,onSelect,onClose,canClose)
+function Open(position, eles, onSelect, onClose, canClose)
local canClose = canClose == nil and true or canClose
activeMenu = {
position = position,
@@ -22,20 +21,20 @@ function Open(position,eles,onSelect,onClose,canClose)
onClose = onClose
}
- LocalPlayer.state:set("context:active",true)
+ LocalPlayer.state:set("context:active", true)
- Post("Open",eles,position)
+ Post("Open", eles, position)
end
function Closed()
- SetNuiFocus(false,false)
+ SetNuiFocus(false, false)
local menu = activeMenu
local cb = menu.onClose
activeMenu = nil
- LocalPlayer.state:set("context:active",false)
+ LocalPlayer.state:set("context:active", false)
if cb then
cb(menu)
@@ -45,14 +44,14 @@ end
-- Exports
-- [ Preview | Open | Close ]
-exports("Preview",Open)
+exports("Preview", Open)
-exports("Open",function(...)
+exports("Open", function(...)
Open(...)
- SetNuiFocus(true,true)
+ SetNuiFocus(true, true)
end)
-exports("Close",function()
+exports("Close", function()
if not activeMenu then
return
end
@@ -62,7 +61,7 @@ exports("Close",function()
Closed()
end)
-exports("Refresh",function(eles,position)
+exports("Refresh", function(eles, position)
if not activeMenu then
return
end
@@ -70,13 +69,13 @@ exports("Refresh",function(eles,position)
activeMenu.eles = eles or activeMenu.eles
activeMenu.position = position or activeMenu.position
- Post("Open",activeMenu.eles,activeMenu.position)
+ Post("Open", activeMenu.eles, activeMenu.position)
end)
-- NUI Callbacks
-- [ closed | selected | changed ]
-RegisterNUICallback("closed",function(data,cb)
+RegisterNUICallback("closed", function(_, cb)
if not activeMenu or (activeMenu and not activeMenu.canClose) then
return cb(false)
end
@@ -84,20 +83,15 @@ RegisterNUICallback("closed",function(data,cb)
Closed()
end)
-RegisterNUICallback("selected",function(data,cb)
- if not activeMenu
- or not activeMenu.onSelect
- or not data.index
- then
+RegisterNUICallback("selected", function(data, cb)
+ 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
+ if not ele or ele.input then
return
end
@@ -105,20 +99,15 @@ RegisterNUICallback("selected",function(data,cb)
if cb then cb('ok') end
end)
-RegisterNUICallback("changed",function(data,cb)
- if not activeMenu
- or not data.index
- or not data.value
- then
+RegisterNUICallback("changed", function(data, cb)
+ 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
+ if not ele or not ele.input then
return
end
@@ -126,11 +115,11 @@ RegisterNUICallback("changed",function(data,cb)
ele.inputValue = tonumber(data.value)
if ele.inputMin then
- ele.inputValue = math.max(ele.inputMin,ele.inputValue)
+ ele.inputValue = math.max(ele.inputMin, ele.inputValue)
end
if ele.inputMax then
- ele.inputValue = math.min(ele.inputMax,ele.inputValue)
+ ele.inputValue = math.min(ele.inputMax, ele.inputValue)
end
elseif ele.inputType == "text" then
ele.inputValue = data.value
@@ -143,22 +132,20 @@ end)
-- Keybind
local function focusPreview()
- if not activeMenu
- or not activeMenu.onSelect
- then
+ if not activeMenu or not activeMenu.onSelect then
return
end
- SetNuiFocus(true,true)
+ SetNuiFocus(true, true)
end
if PREVIEW_KEYBIND then
- RegisterCommand("previewContext",focusPreview)
+ RegisterCommand("previewContext", focusPreview)
- RegisterKeyMapping("previewContext","Preview Active Context","keyboard",PREVIEW_KEYBIND)
+ RegisterKeyMapping("previewContext", "Preview Active Context", "keyboard", PREVIEW_KEYBIND)
end
-exports("focusPreview",focusPreview)
+exports("focusPreview", focusPreview)
-- Debug/Test
-- Commands:
@@ -168,31 +155,31 @@ 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."
- },
+ {
+ 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)
+ local function onSelect(menu, ele)
+ print("Ele selected", ele.title)
if ele.name == "close" then
exports["esx_context"]:Close()
@@ -202,64 +189,64 @@ if Debug then
return
end
- for _,ele in ipairs(menu.eles) do
- if ele.input then
- print(ele.name,ele.inputType,ele.inputValue)
+ for _, element in ipairs(menu.eles) do
+ if element.input then
+ print(element.name, element.inputType, element.inputValue)
end
end
exports["esx_context"]:Close()
end
- local function onClose(menu)
+ local function onClose()
print("Menu closed.")
end
- RegisterCommand("ctx:preview",function()
- exports["esx_context"]:Preview(position,eles)
+ RegisterCommand("ctx:preview", function()
+ exports["esx_context"]:Preview(position, eles)
end)
- RegisterCommand("ctx:open",function()
- exports["esx_context"]:Open(position,eles,onSelect,onClose)
+ RegisterCommand("ctx:open", function()
+ exports["esx_context"]:Open(position, eles, onSelect, onClose)
end)
- RegisterCommand("ctx:close",function()
+ RegisterCommand("ctx:close", function()
exports["esx_context"]:Close()
end)
- RegisterCommand("ctx:form",function()
- local eles = {
+ RegisterCommand("ctx:form", function()
+ local formMenu = {
{
- unselectable=true,
- icon="fas fa-info-circle",
- title="Unselectable Item (Header/Label?)",
+ 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 = "firstname",
},
{
- icon="",
- title="Input Text",
- input=true,
- inputType="text",
- inputPlaceholder="Placeholder...",
- name="lastname",
+ 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 = "",
+ title = "Input Number",
+ input = true,
+ inputType = "number",
+ inputPlaceholder = "Placeholder...",
+ inputValue = 0,
+ inputMin = 0,
+ inputMax = 50,
+ name = "age",
},
{
icon = "fas fa-check",
@@ -268,6 +255,6 @@ if Debug then
}
}
- exports["esx_context"]:Open(position,eles,onSelect,onClose)
+ exports["esx_context"]:Open(position, formMenu, onSelect, onClose)
end)
end
diff --git a/[core]/esx_identity/client/main.lua b/[core]/esx_identity/client/main.lua
index 0671c876..59b516e4 100644
--- a/[core]/esx_identity/client/main.lua
+++ b/[core]/esx_identity/client/main.lua
@@ -23,7 +23,7 @@ AddEventHandler('esx:loadingScreenOff', function()
loadingScreenFinished = true
end)
-RegisterNUICallback('ready', function(data, cb)
+RegisterNUICallback('ready', function(_, cb)
ready = true
cb(1)
end)
@@ -39,19 +39,19 @@ if not Config.UseDeferrals then
ClearTimecycleModifier()
end
- SendNUIMessage({type = "enableui", enable = state})
+ SendNUIMessage({ type = "enableui", enable = state })
end
RegisterNetEvent('esx_identity:showRegisterIdentity', function()
TriggerEvent('esx_skin:resetFirstSpawn')
while not ready do
- print('Waiting for esx_identity NUI..')
+ print('Waiting for esx_identity NUI..')
Wait(100)
end
if not ESX.PlayerData.dead then setGuiState(true) end
end)
- RegisterNUICallback('register', function(data, cb)
+ RegisterNUICallback('register', function(data,cb)
if not guiEnabled then
return
end
@@ -68,5 +68,6 @@ if not Config.UseDeferrals then
TriggerEvent('esx_skin:playerRegistered')
end
end, data)
+ cb(1)
end)
end
diff --git a/[core]/esx_identity/config.lua b/[core]/esx_identity/config.lua
index 8eeb007c..7e450c23 100644
--- a/[core]/esx_identity/config.lua
+++ b/[core]/esx_identity/config.lua
@@ -1,23 +1,23 @@
-Config = {}
-Config.Locale = GetConvar('esx:locale', 'en')
+Config = {}
+Config.Locale = GetConvar('esx:locale', 'en')
-- [Config.EnableCommands]
-- Enables Commands Such As /char and /chardel
-Config.EnableCommands = ESX.GetConfig().EnableDebug
+Config.EnableCommands = ESX.GetConfig().EnableDebug
-- EXPERIMENTAL Character Registration Method
-Config.UseDeferrals = false
+Config.UseDeferrals = false
-- These values are for the date format in the registration menu
-- Choices: DD/MM/YYYY | MM/DD/YYYY | YYYY/MM/DD
-Config.DateFormat = 'DD/MM/YYYY'
+Config.DateFormat = 'DD/MM/YYYY'
-- These values are for the second input validation in server/main.lua
-Config.MaxNameLength = 20 -- Max Name Length.
-Config.MinHeight = 120 -- 120 cm lowest height
-Config.MaxHeight = 220 -- 220 cm max height.
-Config.LowestYear = 1900 -- 112 years old is the oldest you can be.
-Config.HighestYear = 2005 -- 18 years old is the youngest you can be.
+Config.MaxNameLength = 20 -- Max Name Length.
+Config.MinHeight = 120 -- 120 cm lowest height
+Config.MaxHeight = 220 -- 220 cm max height.
+Config.LowestYear = 1900 -- 112 years old is the oldest you can be.
+Config.HighestYear = 2005 -- 18 years old is the youngest you can be.
-Config.FullCharDelete = true -- Delete all reference to character.
-Config.EnableDebugging = ESX.GetConfig().EnableDebug -- prints for debugging :)
+Config.FullCharDelete = true -- Delete all reference to character.
+Config.EnableDebugging = ESX.GetConfig().EnableDebug -- prints for debugging :)
diff --git a/[core]/esx_identity/fxmanifest.lua b/[core]/esx_identity/fxmanifest.lua
index 618224aa..2a916e95 100644
--- a/[core]/esx_identity/fxmanifest.lua
+++ b/[core]/esx_identity/fxmanifest.lua
@@ -4,7 +4,7 @@ game 'gta5'
description 'ESX Identity'
lua54 'yes'
-version '1.9.4'
+version '1.9.5'
shared_scripts {
'@es_extended/imports.lua',
@@ -32,4 +32,4 @@ files {
'html/css/style.css',
}
-dependency 'es_extended'
\ No newline at end of file
+dependency 'es_extended'
diff --git a/[core]/esx_identity/html/css/style.css b/[core]/esx_identity/html/css/style.css
index 939753f7..45f2404a 100644
--- a/[core]/esx_identity/html/css/style.css
+++ b/[core]/esx_identity/html/css/style.css
@@ -1,152 +1,153 @@
@import url("https://fonts.googleapis.com/css2?family=Oswald&display=swap");
body {
- font-family: sans-serif;
- overflow: hidden;
- display: none;
+ font-family: sans-serif;
+ overflow: hidden;
+ background-color: transparent;
+}
+
+.none {
+ display: none;
}
.dialog {
- width: 332px;
- opacity: 0.95;
- position: absolute;
- margin-left: auto;
- margin-right: auto;
- top: 30%;
- padding: 20px;
- left: 50%; /* à 50%/50% du parent référent */
- transform: translate(-50%); /* décalage de 50% de sa propre taille */
- background-color: #152029;
- border-radius: 10px;
- box-shadow: 0 -5px 3px -3px #21303d, 0 5px 3px -3px #21303d;
- border: none;
- margin: 5px;
- margin-bottom: 20px;
- color: #ffffff;
+ width: 332px;
+ opacity: 0.95;
+ padding: 20px;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ background-color: #152029;
+ border-radius: 10px;
+ box-shadow: 0 -5px 3px -3px #21303d, 0 5px 3px -3px #21303d;
+ border: none;
+ color: #ffffff;
}
.title {
- font-family: "Oswald", sans-serif;
- font-size: 22px;
- text-align: center;
- padding: 5px;
- margin-bottom: 20px;
+ font-family: "Oswald", sans-serif;
+ font-size: 22px;
+ text-align: center;
+ padding: 5px;
+ margin-bottom: 20px;
}
input {
- margin-bottom: 15px;
- border: none;
- border-bottom: 2px solid #58636c;
- width: 100%;
- outline: none;
- padding: 10px;
- padding-left: 0;
- font-family: "Oswald", sans-serif;
- color: #ffffff;
- text-align: left;
- background-color: #152029;
+ margin-bottom: 15px;
+ border: none;
+ border-bottom: 2px solid #58636c;
+ width: 100%;
+ outline: none;
+ padding: 10px;
+ padding-left: 0;
+ font-family: "Oswald", sans-serif;
+ color: #ffffff;
+ text-align: left;
+ background-color: #152029;
}
::placeholder {
- /* Chrome, Firefox, Opera, Safari 10.1+ */
- color: rgba(84, 97, 105, 255);
- font-family: "Oswald", sans-serif;
- font-weight: 200;
- opacity: 1; /* Firefox */
+ /* Chrome, Firefox, Opera, Safari 10.1+ */
+ color: rgba(84, 97, 105, 255);
+ font-family: "Oswald", sans-serif;
+ font-weight: 200;
+ opacity: 1;
+ /* Firefox */
}
.radio-toolbar input[type="radio"] {
- opacity: 0;
- position: absolute;
- width: 36%;
+ opacity: 0;
+ position: absolute;
+ width: 36%;
}
.radio-toolbar label {
- display: inline-block;
- margin-top: 5px;
- background-color: rgba(15, 15, 15, 0.9);
- padding: 10px 20px;
- font-family: "Oswald", sans-serif;
- font-weight: 500;
- font-size: 16px;
- color: #ffffff;
- border: none;
- border-radius: 5px;
- width: 36%;
+ display: inline-block;
+ margin-top: 5px;
+ background-color: rgba(15, 15, 15, 0.9);
+ padding: 10px 20px;
+ font-family: "Oswald", sans-serif;
+ font-weight: 500;
+ font-size: 16px;
+ color: #ffffff;
+ border: none;
+ border-radius: 5px;
+ width: 36%;
}
.radio-toolbar input[type="radio"]:checked + label {
- width: 36%;
- background-color: rgba(15, 15, 15, 0.9);
- border: none;
- border-bottom: 1px solid #93a3b6;
- border-radius: 5px;
- color: #ffffff;
+ width: 36%;
+ background-color: rgba(15, 15, 15, 0.9);
+ border: none;
+ border-bottom: 1px solid #93a3b6;
+ border-radius: 5px;
+ color: #ffffff;
}
.radio-toolbar input[type="radio"]:focus + label {
- background-color: rgba(15, 15, 15, 0.9);
- border: none;
- border-bottom: 1px solid #93a3b6;
- border-radius: 5px;
- color: #ffffff;
+ background-color: rgba(15, 15, 15, 0.9);
+ border: none;
+ border-bottom: 1px solid #93a3b6;
+ border-radius: 5px;
+ color: #ffffff;
}
.radio-toolbar label:hover {
- background-color: rgba(28, 24, 24, 0.931);
- width: 36%;
- color: #ffffff;
+ background-color: rgba(28, 24, 24, 0.931);
+ width: 36%;
+ color: #ffffff;
}
button {
- display: block;
- margin-top: 35px;
- /*padding: 10px;*/
- background-color: #4569c6;
- outline: none;
- border: 2px double rgba(40, 40, 40, 0.9);
- color: #ffffff;
- height: 30px;
- width: 100%;
+ display: block;
+ margin-top: 35px;
+ /*padding: 10px;*/
+ background-color: #4569c6;
+ outline: none;
+ border: 2px double rgba(40, 40, 40, 0.9);
+ color: #ffffff;
+ height: 30px;
+ width: 100%;
}
h1 {
- display: block;
- margin-top: 5px;
- margin-right: 5px;
- padding: 10px;
- background-color: rgba(15, 15, 15, 0.9);
- color: #ffffff;
- width: 93%;
- text-align: center;
+ display: block;
+ margin-top: 5px;
+ margin-right: 5px;
+ padding: 10px;
+ background-color: rgba(15, 15, 15, 0.9);
+ color: #ffffff;
+ width: 93%;
+ text-align: center;
}
.range-wrap {
- position: relative;
- margin: 0 auto 3rem;
+ position: relative;
+ margin: 0 auto 3rem;
}
.range {
- width: 100%;
+ width: 100%;
}
.bubble {
- background: rgba(15, 15, 15, 0.9);
- color: #ffffff;
- padding: 4px 12px;
- position: absolute;
- border-radius: 4px;
- left: 50%;
- transform: translateX(-50%);
+ background: rgba(15, 15, 15, 0.9);
+ color: #ffffff;
+ padding: 4px 12px;
+ position: absolute;
+ border-radius: 4px;
+ left: 50%;
+ transform: translateX(-50%);
}
.bubble::after {
- content: "";
- position: absolute;
- width: 2px;
- height: 2px;
- background: rgba(15, 15, 15, 0.9);
- color: black;
- top: -1px;
- left: 50%;
+ content: "";
+ position: absolute;
+ width: 2px;
+ height: 2px;
+ background: rgba(15, 15, 15, 0.9);
+ color: black;
+ top: -1px;
+ left: 50%;
}
diff --git a/[core]/esx_identity/html/index.html b/[core]/esx_identity/html/index.html
index 0e38d430..f1320ea7 100644
--- a/[core]/esx_identity/html/index.html
+++ b/[core]/esx_identity/html/index.html
@@ -1,119 +1,49 @@
-
-
-
-
+
+
+
-
ESX Identity
-
+
ESX Identity
+
-
-
-
IDENTITY
-
+
+ If the submit button doesn't work, please ensure that you've entered the fields correctly.
+
+
+
+
+
+
diff --git a/[core]/esx_identity/html/js/script.js b/[core]/esx_identity/html/js/script.js
index e5ffea11..75cd203f 100644
--- a/[core]/esx_identity/html/js/script.js
+++ b/[core]/esx_identity/html/js/script.js
@@ -1,43 +1,39 @@
-$(document).ready(function () {
- $.post("http://esx_identity/ready", JSON.stringify({}));
-
- window.addEventListener("message", function (event) {
+window.addEventListener("message", (event) => {
if (event.data.type === "enableui") {
- event.data.enable ? $(document.body).show() : $(document.body).hide();
+ document.body.classList[event.data.enable ? "remove" : "add"]("none");
}
- });
+});
- $("#register").submit(function (event) {
+document.querySelector("#register").addEventListener("submit", (event) => {
event.preventDefault();
- const dofVal = $("#dateofbirth").val();
+ const dofVal = document.querySelector("#dateofbirth").value;
if (!dofVal) return;
const dateCheck = new Date(dofVal);
- const year = new Intl.DateTimeFormat("en", { year: "numeric" }).format(
- dateCheck
- );
- const month = new Intl.DateTimeFormat("en", { month: "2-digit" }).format(
- dateCheck
- );
- const day = new Intl.DateTimeFormat("en", { day: "2-digit" }).format(
- dateCheck
- );
+ const year = new Intl.DateTimeFormat("en", { year: "numeric" }).format(dateCheck);
+ const month = new Intl.DateTimeFormat("en", { month: "2-digit" }).format(dateCheck);
+ const day = new Intl.DateTimeFormat("en", { day: "2-digit" }).format(dateCheck);
const formattedDate = `${day}/${month}/${year}`;
+ fetch("http://esx_identity/register", {
+ method: "POST",
+ body: JSON.stringify({
+ firstname: document.querySelector("#firstname").value,
+ lastname: document.querySelector("#lastname").value,
+ dateofbirth: formattedDate,
+ sex: document.querySelector("input[type='radio'][name='sex']:checked").value,
+ height: document.querySelector("#height").value,
+ }),
+ });
- $.post(
- "http://esx_identity/register",
- JSON.stringify({
- firstname: $("#firstname").val(),
- lastname: $("#lastname").val(),
- dateofbirth: formattedDate,
- sex: $("input[type='radio'][name='sex']:checked").val(),
- height: $("#height").val(),
- })
- );
-
- $("#register").trigger("reset");
- });
+ document.querySelector("#register").reset();
+});
+
+document.addEventListener("DOMContentLoaded", () => {
+ fetch("http://esx_identity/ready", {
+ method: "POST",
+ body: JSON.stringify({}),
+ });
});
diff --git a/[core]/esx_identity/locales/cs.lua b/[core]/esx_identity/locales/cs.lua
index ac691129..88858b5e 100644
--- a/[core]/esx_identity/locales/cs.lua
+++ b/[core]/esx_identity/locales/cs.lua
@@ -1,11 +1,11 @@
-Locales['cs'] = {
- ['show_registration'] = 'zobrazit registracni menu',
- ['show_active_character'] = 'zobrazit aktivni postavy',
- ['delete_character'] = 'smazat svou stavajici postavu a vytvorit novou',
- ['deleted_character'] = 'vase postava byla smazana.',
- ['not_registered'] = 'nemas zaregistrovanou postavu.',
- ['active_character'] = 'aktivni postava: %s %s',
- ['already_registered'] = 'jiz mas zaregistrovanou postavu.',
- ['failed_identity'] = 'nastaveni vasi postavy selhalo, zkus to prosim znovu pozdeji nebo kontaktuj majitele serveru!',
- ['create_a_character'] = 'aby jsi mohl/a hrat, tak se musis registrovat.'
+Locales["cs"] = {
+ ["show_registration"] = "zobrazit registracni menu",
+ ["show_active_character"] = "zobrazit aktivni postavy",
+ ["delete_character"] = "smazat svou stavajici postavu a vytvorit novou",
+ ["deleted_character"] = "vase postava byla smazana.",
+ ["not_registered"] = "nemas zaregistrovanou postavu.",
+ ["active_character"] = "aktivni postava: %s %s",
+ ["already_registered"] = "jiz mas zaregistrovanou postavu.",
+ ["failed_identity"] = "nastaveni vasi postavy selhalo, zkus to prosim znovu pozdeji nebo kontaktuj majitele serveru!",
+ ["create_a_character"] = "aby jsi mohl/a hrat, tak se musis registrovat.",
}
diff --git a/[core]/esx_identity/locales/da.lua b/[core]/esx_identity/locales/da.lua
index ab126312..aa4b83de 100644
--- a/[core]/esx_identity/locales/da.lua
+++ b/[core]/esx_identity/locales/da.lua
@@ -1,39 +1,38 @@
-Locales['da'] = {
- ['show_active_character'] = 'Vis aktiv karakter',
- ['active_character'] = 'Aktiv karakter: %s',
- ['error_active_character'] = 'Der opstod en fejl under indhentning af dine data.',
- ['delete_character'] = 'Slet din nuværende karakter.',
- ['deleted_character'] = 'Karakter slettet',
- ['error_delete_character'] = 'Der opstod et problem med at slette din karakter.',
- ['thank_you_for_registering'] = 'Registreringen lykkedes. God fornøjelse!',
- ['debug_xPlayer_get_first_name'] = 'Returnerer dit fornavn',
- ['debug_xPlayer_get_last_name'] = 'Returnerer dit efternavn',
- ['debug_xPlayer_get_full_name'] = 'Returnerer dit fulde navn',
- ['debug_xPlayer_get_sex'] = 'Returnerer dit køn',
- ['debug_xPlayer_get_dob'] = 'Returnerer din fødselsdato',
- ['debug_xPlayer_get_height'] = 'Giver din højde tilbage',
- ['error_debug_xPlayer_get_first_name'] = 'Der opstod et problem med at få dit fornavn.',
- ['error_debug_xPlayer_get_last_name'] = 'Der opstod et problem med at få dit efternavn.',
- ['error_debug_xPlayer_get_full_name'] = 'Der opstod et problem under indhentning af dit fulde navn.',
- ['error_debug_xPlayer_get_sex'] = 'Der var et problem med at få dit sex.',
- ['error_debug_xPlayer_get_dob'] = 'Der var et problem med at få din fødselsdato.',
- ['error_debug_xPlayer_get_height'] = 'Der var et problem med at få din højde.',
- ['return_debug_xPlayer_get_first_name'] = 'Fornavn: %s',
- ['return_debug_xPlayer_get_last_name'] = 'Efternavn: %s',
- ['return_debug_xPlayer_get_full_name'] = 'Fulde Navn: %s',
- ['return_debug_xPlayer_get_sex'] = 'Køn: %s',
- ['return_debug_xPlayer_get_dob'] = 'Fødselsdato: %s',
- ['return_debug_xPlayer_get_height'] = 'Højde: %s Tommer',
- ['data_incorrect'] = 'Ugyldige data. Prøv venligst igen.',
- ['invalid_format'] = 'Ugyldigt dataformat. Prøv venligst igen.',
- ['no_identifier'] = '[ESX Identitet]\nDer var et problem under indlæsning af din karakter!\nFejlkode: identifikator mangler\n\nDette skyldes, at din identifikator mangler. Venligst vend tilbage senere eller rapporter dette problem til serverejeren.',
- ['missing_identity'] = '[ESX Identitet]\nDer var et problem med at indlæse din karakter!\nFejlkode: identitet mangler\n\nDet ser ud til, at din identitet mangler, prøv at oprette forbindelse igen.',
- ['deleted_identity'] = 'Tegn slettet. Tilmeld dig igen for at oprette en ny karakter.',
- ['already_registered'] = 'Du har allerede tilmeldt dig.',
- ['invalid_firstname_format'] = 'Ugyldigt format (fornavn): Prøv venligst igen.',
- ['invalid_lastname_format'] = 'Ugyldigt format (efternavn): Prøv igen.',
- ['invalid_dob_format'] = 'Ugyldigt format (DOB): Prøv venligst igen.',
- ['invalid_sex_format'] = 'Ugyldigt format (køn): Prøv venligst igen.',
- ['invalid_height_format'] = 'Ugyldigt format (højde): Prøv venligst igen.'
- }
-
+Locales["da"] = {
+ ["show_active_character"] = "Vis aktiv karakter",
+ ["active_character"] = "Aktiv karakter: %s",
+ ["error_active_character"] = "Der opstod en fejl under indhentning af dine data.",
+ ["delete_character"] = "Slet din nuværende karakter.",
+ ["deleted_character"] = "Karakter slettet",
+ ["error_delete_character"] = "Der opstod et problem med at slette din karakter.",
+ ["thank_you_for_registering"] = "Registreringen lykkedes. God fornøjelse!",
+ ["debug_xPlayer_get_first_name"] = "Returnerer dit fornavn",
+ ["debug_xPlayer_get_last_name"] = "Returnerer dit efternavn",
+ ["debug_xPlayer_get_full_name"] = "Returnerer dit fulde navn",
+ ["debug_xPlayer_get_sex"] = "Returnerer dit køn",
+ ["debug_xPlayer_get_dob"] = "Returnerer din fødselsdato",
+ ["debug_xPlayer_get_height"] = "Giver din højde tilbage",
+ ["error_debug_xPlayer_get_first_name"] = "Der opstod et problem med at få dit fornavn.",
+ ["error_debug_xPlayer_get_last_name"] = "Der opstod et problem med at få dit efternavn.",
+ ["error_debug_xPlayer_get_full_name"] = "Der opstod et problem under indhentning af dit fulde navn.",
+ ["error_debug_xPlayer_get_sex"] = "Der var et problem med at få dit sex.",
+ ["error_debug_xPlayer_get_dob"] = "Der var et problem med at få din fødselsdato.",
+ ["error_debug_xPlayer_get_height"] = "Der var et problem med at få din højde.",
+ ["return_debug_xPlayer_get_first_name"] = "Fornavn: %s",
+ ["return_debug_xPlayer_get_last_name"] = "Efternavn: %s",
+ ["return_debug_xPlayer_get_full_name"] = "Fulde Navn: %s",
+ ["return_debug_xPlayer_get_sex"] = "Køn: %s",
+ ["return_debug_xPlayer_get_dob"] = "Fødselsdato: %s",
+ ["return_debug_xPlayer_get_height"] = "Højde: %s Tommer",
+ ["data_incorrect"] = "Ugyldige data. Prøv venligst igen.",
+ ["invalid_format"] = "Ugyldigt dataformat. Prøv venligst igen.",
+ ["no_identifier"] = "[ESX Identitet]\nDer var et problem under indlæsning af din karakter!\nFejlkode: identifikator mangler\n\nDette skyldes, at din identifikator mangler. Venligst vend tilbage senere eller rapporter dette problem til serverejeren.",
+ ["missing_identity"] = "[ESX Identitet]\nDer var et problem med at indlæse din karakter!\nFejlkode: identitet mangler\n\nDet ser ud til, at din identitet mangler, prøv at oprette forbindelse igen.",
+ ["deleted_identity"] = "Tegn slettet. Tilmeld dig igen for at oprette en ny karakter.",
+ ["already_registered"] = "Du har allerede tilmeldt dig.",
+ ["invalid_firstname_format"] = "Ugyldigt format (fornavn): Prøv venligst igen.",
+ ["invalid_lastname_format"] = "Ugyldigt format (efternavn): Prøv igen.",
+ ["invalid_dob_format"] = "Ugyldigt format (DOB): Prøv venligst igen.",
+ ["invalid_sex_format"] = "Ugyldigt format (køn): Prøv venligst igen.",
+ ["invalid_height_format"] = "Ugyldigt format (højde): Prøv venligst igen.",
+}
diff --git a/[core]/esx_identity/locales/de.lua b/[core]/esx_identity/locales/de.lua
deleted file mode 100644
index e8e5c897..00000000
--- a/[core]/esx_identity/locales/de.lua
+++ /dev/null
@@ -1,39 +0,0 @@
-Locales['de'] = {
- ['show_active_character'] = 'Zeige aktiven Charakter',
- ['active_character'] = 'Aktiver Charackter: %s',
- ['error_active_character'] = "Wir konnten deinen Namen nicht auslesen. Bitte kontaktiere einen Admin.",
- ['delete_character'] = 'Lösche deinen Charackter und erstelle einen neuen',
- ['deleted_character'] = 'Dein Charakter wurde gelöscht.',
- ['error_delete_character'] = "Wir konnten deinen Charakter nicht löschen. Bitte kontaktiere einen Admin.",
- ['thank_you_for_registering'] = "Danke fürs Registrieren. Viel Spaß.",
- ['registration_error'] = "Es gab einen Fehler während der Registration. Bitte kontaktiere einen Admin.",
- ['debug_xPlayer_get_first_name'] = "Gibt deinen Vornamen zurück",
- ['debug_xPlayer_get_last_name'] = "Gibt deinen Nachnamen zurück",
- ['debug_xPlayer_get_full_name'] = "Gibt deinen vollen Namen zurück",
- ['debug_xPlayer_get_sex'] = "Gibt dein Geschlecht zurück",
- ['debug_xPlayer_get_dob'] = "Gibt deinen Geburtstag zurück",
- ['debug_xPlayer_get_height'] = "Gibt deine Größe zurück",
- ['error_debug_xPlayer_get_first_name'] = "Ein Fehler entstand dabei, deinen Vornamen auszulesen.",
- ['error_debug_xPlayer_get_last_name'] = "Ein Fehler entstand dabei, deinen Nachnamen auszulesen.",
- ['error_debug_xPlayer_get_full_name'] = "Ein Fehler entstand dabei, deinen vollen Namen auszulesen.",
- ['error_debug_xPlayer_get_sex'] = "Ein Fehler entstand dabei, dein Geschlecht auszulesen.",
- ['error_debug_xPlayer_get_dob'] = "Ein Fehler entstand dabei, dein Geburtsdatum auszulesen.",
- ['error_debug_xPlayer_get_height'] = "Ein Fehler entstand dabei, deine Größe auszulesen.",
- ['return_debug_xPlayer_get_first_name'] = "Vornmame: %s",
- ['return_debug_xPlayer_get_last_name'] = "Nachname: %s",
- ['return_debug_xPlayer_get_full_name'] = "Voller Name: %s",
- ['return_debug_xPlayer_get_sex'] = "Geschlecht: %s",
- ['return_debug_xPlayer_get_dob'] = "Geburtsdatum: %s",
- ['return_debug_xPlayer_get_height'] = "Höhe: %s Meter",
- ['data_incorrect'] = 'Daten sind fehlerhaft. Versuche es erneut.',
- ['invalid_format'] = 'Daten falsch formatiert. Versuche es erneut.',
- ['no_identifier'] = 'Es gab einen Fehler beim Laden deines Charackters!\nFehler Code: identifier-missing\n\nDie Ursache des Fehlers ist nicht bekannt, dein Identifier konnte nicht gefunden werden. Bitte versuche es später erneut oder kontaktiere einen Admin.',
- ['missing_identity'] = 'Es gab einen Fehler beim Laden deines Charackters!\nError code: identity-missing\n\nEs scheint, keine Identität zu geben. Bitte versuche, erneut zu verbinden.',
- ['deleted_identity'] = 'Dein Charakter wurde gelöscht. Bitte logge neu ein, um einen neuen zu erstellen.',
- ['invalid_firstname_format'] = 'Ungültiges Format (Vorname): Bitte überprüfe deine Eingabe',
- ['invalid_lastname_format'] = 'Ungültiges Format (Nachname): Bitte überprüfe deine Eingabe',
- ['invalid_dob_format'] = 'Ungültiges Format (Geburtsdatum): Bitte überprüfe deine Eingabe',
- ['invalid_sex_format'] = 'Ungültiges Format (Geschlecht): Bitte überprüfe deine Eingabe',
- ['invalid_height_format'] = 'Ungültiges Format (Größe): Bitte überprüfe deine Eingabe.'
-}
-
diff --git a/[core]/esx_identity/locales/en.lua b/[core]/esx_identity/locales/en.lua
index a2bab9ce..c2f405fa 100644
--- a/[core]/esx_identity/locales/en.lua
+++ b/[core]/esx_identity/locales/en.lua
@@ -1,38 +1,38 @@
-Locales['en'] = {
- ['show_active_character'] = 'Show Active Character',
- ['active_character'] = 'Active Character: %s',
- ['error_active_character'] = 'There was an error obtaining your data.',
- ['delete_character'] = 'Delete Your Current Character.',
- ['deleted_character'] = 'Character Deleted',
- ['error_delete_character'] = 'There was a problem deleting your character.',
- ['thank_you_for_registering'] = 'Registration Successful. Enjoy!',
- ['debug_xPlayer_get_first_name'] = 'Returns Your First Name',
- ['debug_xPlayer_get_last_name'] = 'Returns Your Last Name',
- ['debug_xPlayer_get_full_name'] = 'Returns Your Full Name',
- ['debug_xPlayer_get_sex'] = 'Returns Your Sex',
- ['debug_xPlayer_get_dob'] = 'Returns Your DOB',
- ['debug_xPlayer_get_height'] = 'Returns Your Height',
- ['error_debug_xPlayer_get_first_name'] = 'There was an issue while obtaining your first name.',
- ['error_debug_xPlayer_get_last_name'] = 'There was an issue while obtaining your last name.',
- ['error_debug_xPlayer_get_full_name'] = 'There was an issue while obtaining your full name.',
- ['error_debug_xPlayer_get_sex'] = 'There was an issue while obtaining your sex.',
- ['error_debug_xPlayer_get_dob'] = 'There was an issue while obtaining your date of birth.',
- ['error_debug_xPlayer_get_height'] = 'There was an issue while obtaining your height.',
- ['return_debug_xPlayer_get_first_name'] = 'First Name: %s',
- ['return_debug_xPlayer_get_last_name'] = 'Last Name: %s',
- ['return_debug_xPlayer_get_full_name'] = 'Name: %s',
- ['return_debug_xPlayer_get_sex'] = 'Sex: %s',
- ['return_debug_xPlayer_get_dob'] = 'DOB: %s',
- ['return_debug_xPlayer_get_height'] = 'Height: %s Inches',
- ['data_incorrect'] = 'Invalid Data, Please try again.',
- ['invalid_format'] = 'Invalid Data Format, Please try again.',
- ['no_identifier'] = '[ESX Identity]\nThere was an issue while loading your character!\nError Code: identifier-missing\n\nThis is caused by your identifier being missing. Please come back later or report this problem to the Server Owner.',
- ['missing_identity'] = '[ESX Identity]\nThere was an issue loading your character!\nError Code: identity-missing\n\nIt seems like your identity is missing, try connecting again.',
- ['deleted_identity'] = 'Character deleted. Please rejoin to create a new character.',
- ['already_registered'] = 'You have already registered.',
- ['invalid_firstname_format'] = 'Invalid Format (First Name): Please try again.',
- ['invalid_lastname_format'] = 'Invalid Format (Last Name): Please try again.',
- ['invalid_dob_format'] = 'Invalid Format (DOB): Please try again.',
- ['invalid_sex_format'] = 'Invalid Format (Sex): Please try again.',
- ['invalid_height_format'] = 'Invalid Format (Height): Please try again.'
+Locales["en"] = {
+ ["show_active_character"] = "Show Active Character",
+ ["active_character"] = "Active Character: %s",
+ ["error_active_character"] = "There was an error obtaining your data.",
+ ["delete_character"] = "Delete Your Current Character.",
+ ["deleted_character"] = "Character Deleted",
+ ["error_delete_character"] = "There was a problem deleting your character.",
+ ["thank_you_for_registering"] = "Registration Successful. Enjoy!",
+ ["debug_xPlayer_get_first_name"] = "Returns Your First Name",
+ ["debug_xPlayer_get_last_name"] = "Returns Your Last Name",
+ ["debug_xPlayer_get_full_name"] = "Returns Your Full Name",
+ ["debug_xPlayer_get_sex"] = "Returns Your Sex",
+ ["debug_xPlayer_get_dob"] = "Returns Your DOB",
+ ["debug_xPlayer_get_height"] = "Returns Your Height",
+ ["error_debug_xPlayer_get_first_name"] = "There was an issue while obtaining your first name.",
+ ["error_debug_xPlayer_get_last_name"] = "There was an issue while obtaining your last name.",
+ ["error_debug_xPlayer_get_full_name"] = "There was an issue while obtaining your full name.",
+ ["error_debug_xPlayer_get_sex"] = "There was an issue while obtaining your sex.",
+ ["error_debug_xPlayer_get_dob"] = "There was an issue while obtaining your date of birth.",
+ ["error_debug_xPlayer_get_height"] = "There was an issue while obtaining your height.",
+ ["return_debug_xPlayer_get_first_name"] = "First Name: %s",
+ ["return_debug_xPlayer_get_last_name"] = "Last Name: %s",
+ ["return_debug_xPlayer_get_full_name"] = "Name: %s",
+ ["return_debug_xPlayer_get_sex"] = "Sex: %s",
+ ["return_debug_xPlayer_get_dob"] = "DOB: %s",
+ ["return_debug_xPlayer_get_height"] = "Height: %s Inches",
+ ["data_incorrect"] = "Invalid Data, Please try again.",
+ ["invalid_format"] = "Invalid Data Format, Please try again.",
+ ["no_identifier"] = "[ESX Identity]\nThere was an issue while loading your character!\nError Code: identifier-missing\n\nThis is caused by your identifier being missing. Please come back later or report this problem to the Server Owner.",
+ ["missing_identity"] = "[ESX Identity]\nThere was an issue loading your character!\nError Code: identity-missing\n\nIt seems like your identity is missing, try connecting again.",
+ ["deleted_identity"] = "Character deleted. Please rejoin to create a new character.",
+ ["already_registered"] = "You have already registered.",
+ ["invalid_firstname_format"] = "Invalid Format (First Name): Please try again.",
+ ["invalid_lastname_format"] = "Invalid Format (Last Name): Please try again.",
+ ["invalid_dob_format"] = "Invalid Format (DOB): Please try again.",
+ ["invalid_sex_format"] = "Invalid Format (Sex): Please try again.",
+ ["invalid_height_format"] = "Invalid Format (Height): Please try again.",
}
diff --git a/[core]/esx_identity/locales/es.lua b/[core]/esx_identity/locales/es.lua
index cb68c9f3..d6385eac 100644
--- a/[core]/esx_identity/locales/es.lua
+++ b/[core]/esx_identity/locales/es.lua
@@ -1,38 +1,38 @@
-Locales['es'] = {
- ['show_active_character'] = 'Mostrar personaje activo',
- ['active_character'] = 'Personaje activo: %s',
- ['error_active_character'] = "Se produjo un error al recuperar tu nombre. Por favor contacta con un administrador",
- ['delete_character'] = 'Elimina tu personaje y crea uno nuevo',
- ['deleted_character'] = 'Tu personaje ha sido eliminado',
- ['error_delete_character'] = "Se produjo un error al eliminar tu personaje. Por favor contacta con un administrador",
- ['thank_you_for_registering'] = "Gracias por registrarte. Que te diviertas",
- ['debug_xPlayer_get_first_name'] = "Devuelve tu nombre",
- ['debug_xPlayer_get_last_name'] = "Devuelve tu apellido",
- ['debug_xPlayer_get_full_name'] = "Devuelve tu nombre completo",
- ['debug_xPlayer_get_sex'] = "Devuelve tu sexo",
- ['debug_xPlayer_get_dob'] = "Devuelve tu fecha de nacimiento",
- ['debug_xPlayer_get_height'] = "Devuelve tu altura",
- ['error_debug_xPlayer_get_first_name'] = "Se produjo un error al recuperar tu nombre",
- ['error_debug_xPlayer_get_last_name'] = "Se produjo un error al recuperar tu apellido",
- ['error_debug_xPlayer_get_full_name'] = "Se produjo un error al recuperar tu nombre completo",
- ['error_debug_xPlayer_get_sex'] = "Se produjo un error al recuperar tu sexo",
- ['error_debug_xPlayer_get_dob'] = "Se produjo un error al recuperar tu fecha de nacimiento",
- ['error_debug_xPlayer_get_height'] = "Se produjo un error al recuperar tu altura",
- ['return_debug_xPlayer_get_first_name'] = "Nombre: %s",
- ['return_debug_xPlayer_get_last_name'] = "Apellido: %s",
- ['return_debug_xPlayer_get_full_name'] = "Nombre completo: %s",
- ['return_debug_xPlayer_get_sex'] = "Sexo: %s",
- ['return_debug_xPlayer_get_dob'] = "Fecha de nacimiento: %s",
- ['return_debug_xPlayer_get_height'] = "Altura: %s centímetros",
- ['data_incorrect'] = 'Datos introducidos de forma incorrecta. Inténtalo de nuevo',
- ['invalid_format'] = 'Datos con formato incorrecto. Inténtalo de nuevo',
- ['no_identifier'] = '¡Se ha producido un error al cargar tu personaje!\nCódigo de error: identifier-missing\n\nSe desconoce la causa de este error, no se pudo encontrar su identificador. Regrese más tarde o informe este problema al equipo de administración del servidor',
- ['missing_identity'] = '¡Se ha producido un error al cargar tu personaje!\nCódigo de error: identity-missing\n\nParece que falta su identidad, intente conectarse nuevamente',
- ['deleted_identity'] = 'Tu personaje ha sido borrado. Vuelva a iniciar sesión para crear un nuevo personaje',
- ['already_registered'] = 'Ya estás registrado.',
- ['invalid_firstname_format'] = 'Formato Inválido (Nombre): Inténtalo de nuevo.',
- ['invalid_lastname_format'] = 'Formato Inválido (Apellido): Inténtalo de nuevo.',
- ['invalid_dob_format'] = 'Formato Inválido (Fec. Nac.): Inténtalo de nuevo.',
- ['invalid_sex_format'] = 'Formato Inválido (Sexo): Inténtalo de nuevo.',
- ['invalid_height_format'] = 'Formato Inválido (Altura): Inténtalo de nuevo.'
+Locales["es"] = {
+ ["show_active_character"] = "Mostrar personaje actual",
+ ["active_character"] = "Personaje actual: %s",
+ ["error_active_character"] = "Se produjo un error al recuperar tu nombre. Por favor contacta con un administrador",
+ ["delete_character"] = "Elimina tu personaje y crea uno nuevo",
+ ["deleted_character"] = "Tu personaje ha sido eliminado",
+ ["error_delete_character"] = "Se produjo un error al eliminar tu personaje. Por favor contacta con un administrador",
+ ["thank_you_for_registering"] = "Gracias por registrarte. Bienvenido a la ciudad",
+ ["debug_xPlayer_get_first_name"] = "Devuelve tu nombre",
+ ["debug_xPlayer_get_last_name"] = "Devuelve tu apellido",
+ ["debug_xPlayer_get_full_name"] = "Devuelve tu nombre completo",
+ ["debug_xPlayer_get_sex"] = "Devuelve tu sexo",
+ ["debug_xPlayer_get_dob"] = "Devuelve tu fecha de nacimiento",
+ ["debug_xPlayer_get_height"] = "Devuelve tu altura",
+ ["error_debug_xPlayer_get_first_name"] = "Se produjo un error al recuperar tu nombre",
+ ["error_debug_xPlayer_get_last_name"] = "Se produjo un error al recuperar tu apellido",
+ ["error_debug_xPlayer_get_full_name"] = "Se produjo un error al recuperar tu nombre completo",
+ ["error_debug_xPlayer_get_sex"] = "Se produjo un error al recuperar tu sexo",
+ ["error_debug_xPlayer_get_dob"] = "Se produjo un error al recuperar tu fecha de nacimiento",
+ ["error_debug_xPlayer_get_height"] = "Se produjo un error al recuperar tu altura",
+ ["return_debug_xPlayer_get_first_name"] = "Nombre: %s",
+ ["return_debug_xPlayer_get_last_name"] = "Apellido: %s",
+ ["return_debug_xPlayer_get_full_name"] = "Nombre completo: %s",
+ ["return_debug_xPlayer_get_sex"] = "Sexo: %s",
+ ["return_debug_xPlayer_get_dob"] = "Fecha de nacimiento: %s",
+ ["return_debug_xPlayer_get_height"] = "Altura: %s centímetros",
+ ["data_incorrect"] = "Datos introducidos de forma incorrecta. Inténtalo de nuevo",
+ ["invalid_format"] = "Datos con formato incorrecto. Inténtalo de nuevo",
+ ["no_identifier"] = "¡Se ha producido un error al cargar tu personaje!\nCódigo de error: identifier-missing\n\nSe desconoce la causa de este error, no se pudo encontrar su identificador. Intentalo más tarde o informa de este problema al equipo administrativo del servidor",
+ ["missing_identity"] = "¡Se ha producido un error al cargar tu personaje!\nCódigo de error: identity-missing\n\nParece que falta su identidad, intenta conectarte nuevamente",
+ ["deleted_identity"] = "Tu personaje ha sido borrado. Vuelva a iniciar sesión para crear un nuevo personaje",
+ ["already_registered"] = "Ya estás registrado.",
+ ["invalid_firstname_format"] = "Formato Inválido (Nombre): Inténtalo de nuevo.",
+ ["invalid_lastname_format"] = "Formato Inválido (Apellido): Inténtalo de nuevo.",
+ ["invalid_dob_format"] = "Formato Inválido (Fec. Nac.): Inténtalo de nuevo.",
+ ["invalid_sex_format"] = "Formato Inválido (Sexo): Inténtalo de nuevo.",
+ ["invalid_height_format"] = "Formato Inválido (Altura): Inténtalo de nuevo.",
}
diff --git a/[core]/esx_identity/locales/fi.lua b/[core]/esx_identity/locales/fi.lua
index 0f384b50..8b70edc3 100644
--- a/[core]/esx_identity/locales/fi.lua
+++ b/[core]/esx_identity/locales/fi.lua
@@ -1,33 +1,33 @@
-Locales['fi'] = {
- ['show_active_character'] = 'Näytä nykyinen hahmosi',
- ['active_character'] = 'Nykyinen hahmosi: %s',
- ['error_active_character'] = "Hahmosi hakemisessa ilmeni ongelma. Ota yhteyttä ylläpitoon.",
- ['delete_character'] = 'Poista hahmosi ja luo uusi.',
- ['deleted_character'] = 'Hahmosi on poistetu.',
- ['error_delete_character'] = "Hahmosi poistossa ilmeni ongelma. Ota yhteyttä ylläpitoon.",
- ['thank_you_for_registering'] = "Kiitos registeröitymisestä. Pidä hauskaa!",
- ['registration_error'] = "Registeröinnissä ilmeni ongelma. Ota yhteyttä ylläpitoon.",
- ['debug_xPlayer_get_first_name'] = "Palauta etunimi",
- ['debug_xPlayer_get_last_name'] = "Palauta sukunimi",
- ['debug_xPlayer_get_full_name'] = "Palauta kokonimi",
- ['debug_xPlayer_get_sex'] = "Palauta sukupuoli",
- ['debug_xPlayer_get_dob'] = "Palauta syntymäpäivä",
- ['debug_xPlayer_get_height'] = "Palauta pituus",
- ['error_debug_xPlayer_get_first_name'] = "Hahmosi etunimen haussa ilmeni ongelma.",
- ['error_debug_xPlayer_get_last_name'] = "Hahmosi sukunimen haussa ilmeni ongelma.",
- ['error_debug_xPlayer_get_full_name'] = "Hahmosi kokonimen haussa ilmeni ongelma.",
- ['error_debug_xPlayer_get_sex'] = "Hahmosi sukupuolen haussa ilmeni ongelma.",
- ['error_debug_xPlayer_get_dob'] = "Hahmosi syntymäpäivän haussa ilmeni ongelma.",
- ['error_debug_xPlayer_get_height'] = "Hahmosi pituuden haussa ilmeni ongelma.",
- ['return_debug_xPlayer_get_first_name'] = "Etunimi: %s",
- ['return_debug_xPlayer_get_last_name'] = "Sukunimi: %s",
- ['return_debug_xPlayer_get_full_name'] = "Kokonimi: %s",
- ['return_debug_xPlayer_get_sex'] = "Sukupuoli: %s",
- ['return_debug_xPlayer_get_dob'] = "Syntymäpäivä: %s",
- ['return_debug_xPlayer_get_height'] = "Pituus: %s CM",
- ['data_incorrect'] = 'Data syötetty väärin. Yritä uudelleen.',
- ['invalid_format'] = 'Data syötetty väärässä muodossa. Yritä uudelleen.',
- ['no_identifier'] = 'Hahmosi lataamisessa ilmeni ongelma!\nVirhekoodi: identifier-missing\n\nVirhekoodin syytä ei tiedetä, joten ota yhteyttä ylläpitoon.',
- ['missing_identity'] = 'Hahmosi lataamisessa ilmeni ongelma!\nError code: identity-missing\n\nNäyttää että hahmoasi ei ole olemassa. Kokeile yhdistää uudelleen tai ota yhteyttä ylläpitoon',
- ['deleted_identity'] = 'Hahmosi on poistetu. Yhdistä uudestaan palvelimelle luodaksesi uuden hahmosi.'
+Locales["fi"] = {
+ ["show_active_character"] = "Näytä nykyinen hahmosi",
+ ["active_character"] = "Nykyinen hahmosi: %s",
+ ["error_active_character"] = "Hahmosi hakemisessa ilmeni ongelma. Ota yhteyttä ylläpitoon.",
+ ["delete_character"] = "Poista hahmosi ja luo uusi.",
+ ["deleted_character"] = "Hahmosi on poistetu.",
+ ["error_delete_character"] = "Hahmosi poistossa ilmeni ongelma. Ota yhteyttä ylläpitoon.",
+ ["thank_you_for_registering"] = "Kiitos registeröitymisestä. Pidä hauskaa!",
+ ["registration_error"] = "Registeröinnissä ilmeni ongelma. Ota yhteyttä ylläpitoon.",
+ ["debug_xPlayer_get_first_name"] = "Palauta etunimi",
+ ["debug_xPlayer_get_last_name"] = "Palauta sukunimi",
+ ["debug_xPlayer_get_full_name"] = "Palauta kokonimi",
+ ["debug_xPlayer_get_sex"] = "Palauta sukupuoli",
+ ["debug_xPlayer_get_dob"] = "Palauta syntymäpäivä",
+ ["debug_xPlayer_get_height"] = "Palauta pituus",
+ ["error_debug_xPlayer_get_first_name"] = "Hahmosi etunimen haussa ilmeni ongelma.",
+ ["error_debug_xPlayer_get_last_name"] = "Hahmosi sukunimen haussa ilmeni ongelma.",
+ ["error_debug_xPlayer_get_full_name"] = "Hahmosi kokonimen haussa ilmeni ongelma.",
+ ["error_debug_xPlayer_get_sex"] = "Hahmosi sukupuolen haussa ilmeni ongelma.",
+ ["error_debug_xPlayer_get_dob"] = "Hahmosi syntymäpäivän haussa ilmeni ongelma.",
+ ["error_debug_xPlayer_get_height"] = "Hahmosi pituuden haussa ilmeni ongelma.",
+ ["return_debug_xPlayer_get_first_name"] = "Etunimi: %s",
+ ["return_debug_xPlayer_get_last_name"] = "Sukunimi: %s",
+ ["return_debug_xPlayer_get_full_name"] = "Kokonimi: %s",
+ ["return_debug_xPlayer_get_sex"] = "Sukupuoli: %s",
+ ["return_debug_xPlayer_get_dob"] = "Syntymäpäivä: %s",
+ ["return_debug_xPlayer_get_height"] = "Pituus: %s CM",
+ ["data_incorrect"] = "Data syötetty väärin. Yritä uudelleen.",
+ ["invalid_format"] = "Data syötetty väärässä muodossa. Yritä uudelleen.",
+ ["no_identifier"] = "Hahmosi lataamisessa ilmeni ongelma!\nVirhekoodi: identifier-missing\n\nVirhekoodin syytä ei tiedetä, joten ota yhteyttä ylläpitoon.",
+ ["missing_identity"] = "Hahmosi lataamisessa ilmeni ongelma!\nVirhekoodi: identity-missing\n\nNäyttää siltä että hahmoasi ei ole olemassa. Kokeile yhdistää uudelleen tai ota yhteyttä ylläpitoon",
+ ["deleted_identity"] = "Hahmosi on poistetu. Yhdistä palvelimelle uudestaan luodaksesi uusi hahmo.",
}
diff --git a/[core]/esx_identity/locales/fr.lua b/[core]/esx_identity/locales/fr.lua
new file mode 100644
index 00000000..8fe519cf
--- /dev/null
+++ b/[core]/esx_identity/locales/fr.lua
@@ -0,0 +1,38 @@
+Locales["fr"] = {
+ ["show_active_character"] = "Afficher le personnage actif",
+ ["active_character"] = "Personnage actif: %s",
+ ["error_active_character"] = "Une erreur s'est produite lors de l'obtention de vos données.",
+ ["delete_character"] = "Supprimer votre personnage actuel.",
+ ["deleted_character"] = "Personnage supprimé",
+ ["error_delete_character"] = "Un problème est survenu lors de la suppression de votre personnage.",
+ ["thank_you_for_registering"] = "Inscription réussie. Bon jeu à vous!",
+ ["debug_xPlayer_get_first_name"] = "Renvoie votre prénom",
+ ["debug_xPlayer_get_last_name"] = "Renvoie votre nom de famille",
+ ["debug_xPlayer_get_full_name"] = "Renvoie votre nom complet",
+ ["debug_xPlayer_get_sex"] = "Renvoie votre genre",
+ ["debug_xPlayer_get_dob"] = "Renvoie votre date de naissance",
+ ["debug_xPlayer_get_height"] = "Renvoie votre taille",
+ ["error_debug_xPlayer_get_first_name"] = "Un problème est survenu lors de l'obtention de votre prénom.",
+ ["error_debug_xPlayer_get_last_name"] = "Un problème est survenu lors de l'obtention de votre nom de famille.",
+ ["error_debug_xPlayer_get_full_name"] = "Un problème est survenu lors de l'obtention de votre nom complet.",
+ ["error_debug_xPlayer_get_sex"] = "Un problème est survenu lors de l'obtention de votre genre.",
+ ["error_debug_xPlayer_get_dob"] = "Un problème est survenu lors de l'obtention de votre date de naissance.",
+ ["error_debug_xPlayer_get_height"] = "Un problème est survenu lors de l'obtention de votre taille.",
+ ["return_debug_xPlayer_get_first_name"] = "Prénom: %s",
+ ["return_debug_xPlayer_get_last_name"] = "Nom de famille: %s",
+ ["return_debug_xPlayer_get_full_name"] = "Nom: %s",
+ ["return_debug_xPlayer_get_sex"] = "Genre: %s",
+ ["return_debug_xPlayer_get_dob"] = "Date de naissance: %s",
+ ["return_debug_xPlayer_get_height"] = "Taille: %s pouces",
+ ["data_incorrect"] = "Données invalides, veuillez réessayer.",
+ ["invalid_format"] = "Format de données invalide, veuillez réessayer.",
+ ["no_identifier"] = "[ESX Identity]\nUn problème est survenu lors du chargement de votre personnage !\nCode d'erreur : identifier-missing\n\nIl semble que votre identifiant soit manquant. Veuillez revenir plus tard ou signaler ce problème au propriétaire du serveur.",
+ ["missing_identity"] = "[ESX Identity]Un problème est survenu lors du chargement de votre personnage !\nCode d'erreur : identity-missing\n\nIl semble que votre identité soit manquante, essayez de vous reconnecter.",
+ ["deleted_identity"] = "Personnage supprimé. Veuillez vous réinscrire pour créer un nouveau personnage.",
+ ["already_registered"] = "Vous êtes déjà enregistré.",
+ ["invalid_firstname_format"] = "Format invalide (Prénom) : Veuillez réessayer.",
+ ["invalid_lastname_format"] = "Format invalide (Nom de famille) : Veuillez réessayer.",
+ ["invalid_dob_format"] = "Format invalide (Date de naissance) : Veuillez réessayer.",
+ ["invalid_sex_format"] = "Format invalide (Genre) : Veuillez réessayer.",
+ ["invalid_height_format"] = "Format invalide (Taille) : Veuillez réessayer.",
+}
diff --git a/[core]/esx_identity/locales/hu.lua b/[core]/esx_identity/locales/hu.lua
index b7ef6580..cd2a5223 100644
--- a/[core]/esx_identity/locales/hu.lua
+++ b/[core]/esx_identity/locales/hu.lua
@@ -1,7 +1,7 @@
Locales["hu"] = {
- ["show_active_character"] = "Aktiv karakterek mutatása",
- ["active_character"] = "Aktiv karakter: %s",
- ["error_active_character"] = "A név nem felel meg",
+ ["show_active_character"] = "Aktív karakterek mutatása",
+ ["active_character"] = "Aktív karakter: %s",
+ ["error_active_character"] = "A név nem megfelelő",
["delete_character"] = "Töröld a karaktered és csinálj újat",
["deleted_character"] = "A karaktered törölve",
["error_delete_character"] = "Hiba történt a karakter törlésekor. Kérjük, lépjen kapcsolatba egy Adminisztrátorral.",
@@ -21,18 +21,18 @@ Locales["hu"] = {
["return_debug_xPlayer_get_first_name"] = "Vezetéknév: %s",
["return_debug_xPlayer_get_last_name"] = "Keresztnév: %s",
["return_debug_xPlayer_get_full_name"] = "Teljes név: %s",
- ["return_debug_xPlayer_get_sex"] = "Sex: %s",
- ["return_debug_xPlayer_get_dob"] = "DOB: %s",
- ["return_debug_xPlayer_get_height"] = "Magasság: %s Inches",
+ ["return_debug_xPlayer_get_sex"] = "Nem: %s",
+ ["return_debug_xPlayer_get_dob"] = "Születési dátum: %s",
+ ["return_debug_xPlayer_get_height"] = "Magasság: %s hüvelyk",
["data_incorrect"] = "Hibásan megadott adatok. Kérlek próbáld újra.",
["invalid_format"] = "Az adatok helytelen formázása. Kérlek próbáld újra.",
["no_identifier"] = "Hiba történt a karakter betöltésekor! \nHibakód: hiányzó azonosító \n\nA hiba oka nem ismert, az azonosító nem található. Kérjük, gyere vissza később, vagy jelentsd a problémát a szerver adminisztrációs csapatának.",
["missing_identity"] = "Hiba történt a karaktered betöltésekor! \n Hibakód: hiányzik az identitás \n és \nNem úgy tűnik, hogy hiányzik a személyazonosságod, próbálkozz újra.",
["deleted_identity"] = "A karaktered törölve",
["already_registered"] = "Már regisztráltál.",
- ["invalid_firstname_format"] = "Érvénytelen formátum (Keresztnév): Próbáld újra.",
- ["invalid_lastname_format"] = "Érvénytelen formátum (Vezetéknév): Próbáld újra.",
- ["invalid_dob_format"] = "Érvénytelen formátum (Születési Idő): Próbáld újra.",
- ["invalid_sex_format"] = "Érvénytelen formátum (Nem): Próbáld újra.",
- ["invalid_height_format"] = "Érvénytelen formátum (Magasság): Próbáld újra."
+ ["invalid_firstname_format"] = "Érvénytelen formátum (Keresztnév): Próbáld újra.",
+ ["invalid_lastname_format"] = "Érvénytelen formátum (Vezetéknév): Próbáld újra.",
+ ["invalid_dob_format"] = "Érvénytelen formátum (Születési Idő): Próbáld újra.",
+ ["invalid_sex_format"] = "Érvénytelen formátum (Nem): Próbáld újra.",
+ ["invalid_height_format"] = "Érvénytelen formátum (Magasság): Próbáld újra."
}
diff --git a/[core]/esx_identity/locales/it.lua b/[core]/esx_identity/locales/it.lua
new file mode 100644
index 00000000..84d61412
--- /dev/null
+++ b/[core]/esx_identity/locales/it.lua
@@ -0,0 +1,38 @@
+Locales["it"] = {
+ ["show_active_character"] = "Mostra Personaggio Attivo",
+ ["active_character"] = "Personaggio Attivo: %s",
+ ["error_active_character"] = "Errore nel recuperare i tuoi dati.",
+ ["delete_character"] = "Elimina Personaggio Attuale.",
+ ["deleted_character"] = "Personaggio Eliminato",
+ ["error_delete_character"] = "Errore nell' eliminazione del personaggio.",
+ ["thank_you_for_registering"] = "Registrazione effettuata. Divertiti!",
+ ["debug_xPlayer_get_first_name"] = "Ritorna il tuo nome",
+ ["debug_xPlayer_get_last_name"] = "Ritorna il tuo cognome",
+ ["debug_xPlayer_get_full_name"] = "Ritorna il tuo nome completo",
+ ["debug_xPlayer_get_sex"] = "Ritorna il tuo sesso",
+ ["debug_xPlayer_get_dob"] = "Ritorna la tua data di nascita",
+ ["debug_xPlayer_get_height"] = "Ritorna la tua altezza",
+ ["error_debug_xPlayer_get_first_name"] = "Errore nell' ottenere il tuo nome.",
+ ["error_debug_xPlayer_get_last_name"] = "Errore nell' ottenere il tuo cognome.",
+ ["error_debug_xPlayer_get_full_name"] = "Errore nell' ottenere il tuo nome completo.",
+ ["error_debug_xPlayer_get_sex"] = "Errore nell' ottenere il tuo sesso.",
+ ["error_debug_xPlayer_get_dob"] = "Errore nell' ottenere la tua data di nascita.",
+ ["error_debug_xPlayer_get_height"] = "Errore nell' ottenere la tua altezza.",
+ ["return_debug_xPlayer_get_first_name"] = "Nome: %s",
+ ["return_debug_xPlayer_get_last_name"] = "Cognome: %s",
+ ["return_debug_xPlayer_get_full_name"] = "Nome Completo: %s",
+ ["return_debug_xPlayer_get_sex"] = "Sesso: %s",
+ ["return_debug_xPlayer_get_dob"] = "Data di nascita: %s",
+ ["return_debug_xPlayer_get_height"] = "Altezza: %s Pollici",
+ ["data_incorrect"] = "Dati errati, riprova.",
+ ["invalid_format"] = "Formato dati errato, riprova.",
+ ["no_identifier"] = "[ESX Identity]\nErrore nel caricare il tuo personaggio!\nCodice Errore: identificativo-mancante\n\nQuesto è causato dalla mancanza del tuo identificativo. Riprova più tardi o segnalalo al proprietario del server.",
+ ["missing_identity"] = "[ESX Identity]\nErrore nel caricare il tuo personaggio!!\nCodice Errore: identità-mancante\n\nSembra che la tua identità sia mancante, prova a riconnetterti.",
+ ["deleted_identity"] = "Personaggio eliminato, Rientra per crearne uno nuovo.",
+ ["already_registered"] = "Sei già registrato.",
+ ["invalid_firstname_format"] = "Formato non valido (Nome): Riprova.",
+ ["invalid_lastname_format"] = "Formato non valido (Cognome): Riprova.",
+ ["invalid_dob_format"] = "Formato non valido (Data di nascita): Riprova.",
+ ["invalid_sex_format"] = "Formato non valido (Sesso): Riprova.",
+ ["invalid_height_format"] = "Formato non valido (Altezza): Riprova.",
+}
diff --git a/[core]/esx_identity/locales/nl.lua b/[core]/esx_identity/locales/nl.lua
index 97a482fb..b9457a45 100644
--- a/[core]/esx_identity/locales/nl.lua
+++ b/[core]/esx_identity/locales/nl.lua
@@ -1,38 +1,38 @@
-Locales['nl'] = {
- ['show_active_character'] = 'Actieve karakter laten zien',
- ['active_character'] = 'Actief karakter: %s',
- ['error_active_character'] = 'Er is een probleem opgetreden tijdens het verzamelen van uw data.',
- ['delete_character'] = 'Dit karakter verwijderen.',
- ['deleted_character'] = 'Karakter verwijderd',
- ['error_delete_character'] = 'Er is een probleem opgetreden tijdens het verwijderen van uw karakter.',
- ['thank_you_for_registering'] = 'Succesvol geregistreerd!',
- ['debug_xPlayer_get_first_name'] = 'Stuurt je Voornaam',
- ['debug_xPlayer_get_last_name'] = 'Stuurt je Achternaam',
- ['debug_xPlayer_get_full_name'] = 'Stuurt je volledige naam',
- ['debug_xPlayer_get_sex'] = 'Stuurt je Geslacht',
- ['debug_xPlayer_get_dob'] = 'Stuurt je Geboortedatum ',
- ['debug_xPlayer_get_height'] = 'Stuurt je lengte',
- ['error_debug_xPlayer_get_first_name'] = 'Er was een probleem tijdens het ophalen van je Voornaam.',
- ['error_debug_xPlayer_get_last_name'] = 'Er was een probleem tijdens het ophalen van je achternaam.',
- ['error_debug_xPlayer_get_full_name'] = 'Er was een probleem tijdens het ophalen van je volle naam.',
- ['error_debug_xPlayer_get_sex'] = 'Er was een probleem tijdens het ophalen van je Geslacht.',
- ['error_debug_xPlayer_get_dob'] = 'Er was een probleem tijdens het ophalen van je Geboortedatum.',
- ['error_debug_xPlayer_get_height'] = 'Er was een probleem tijdens het ophalen van je lengte.',
- ['return_debug_xPlayer_get_first_name'] = 'Voornaam: %s',
- ['return_debug_xPlayer_get_last_name'] = 'Achternaam: %s',
- ['return_debug_xPlayer_get_full_name'] = 'Naam: %s',
- ['return_debug_xPlayer_get_sex'] = 'Geslacht: %s',
- ['return_debug_xPlayer_get_dob'] = 'Geboortedatum: %s',
- ['return_debug_xPlayer_get_height'] = 'Lengte: %s Inches',
- ['data_incorrect'] = 'Verkeerde data, probeer opnieuw.',
- ['invalid_format'] = 'Verkeerde volgorde, probeer opnieuw.',
- ['no_identifier'] = '[ESX Identity]\nEr was een probleem tijdens het laden van je karakter!\nError Code: identifier-missing\n\nDit komt omdat je identifier mist, contacteer het server beheer.',
- ['missing_identity'] = '[ESX Identity]\nEr was een probleem tijdens het laden van je karakter!\nError Code: identity-missing\n\nHet lijkt erop dat je identiteit mist, reconnect met de server.',
- ['deleted_identity'] = 'Karakter verwijderd, reconnect om een nieuwe te registreren.',
- ['already_registered'] = 'Je bent al geregistreerd.',
- ['invalid_firstname_format'] = 'Ongeldige Volgorde (Voornaam): Probeer het nog een keer.',
- ['invalid_lastname_format'] = 'Ongeldige Volgorde (Achternaam): Probeer het nog een keer.',
- ['invalid_dob_format'] = 'Ongeldige Volgorde (Geboortedatum): Probeer het nog een keer.',
- ['invalid_sex_format'] = 'Ongeldige Volgorde (Geslacht): Probeer het nog een keer.',
- ['invalid_height_format'] = 'Ongeldige Volgorde (Lengte): Probeer het nog een keer.'
+Locales["nl"] = {
+ ["show_active_character"] = "Actieve karakter laten zien",
+ ["active_character"] = "Actief karakter: %s",
+ ["error_active_character"] = "Er is een probleem opgetreden tijdens het verzamelen van uw data.",
+ ["delete_character"] = "Dit karakter verwijderen.",
+ ["deleted_character"] = "Karakter verwijderd",
+ ["error_delete_character"] = "Er is een probleem opgetreden tijdens het verwijderen van uw karakter.",
+ ["thank_you_for_registering"] = "Succesvol geregistreerd!",
+ ["debug_xPlayer_get_first_name"] = "Stuurt je Voornaam",
+ ["debug_xPlayer_get_last_name"] = "Stuurt je Achternaam",
+ ["debug_xPlayer_get_full_name"] = "Stuurt je volledige naam",
+ ["debug_xPlayer_get_sex"] = "Stuurt je Geslacht",
+ ["debug_xPlayer_get_dob"] = "Stuurt je Geboortedatum ",
+ ["debug_xPlayer_get_height"] = "Stuurt je lengte",
+ ["error_debug_xPlayer_get_first_name"] = "Er was een probleem tijdens het ophalen van je Voornaam.",
+ ["error_debug_xPlayer_get_last_name"] = "Er was een probleem tijdens het ophalen van je achternaam.",
+ ["error_debug_xPlayer_get_full_name"] = "Er was een probleem tijdens het ophalen van je volle naam.",
+ ["error_debug_xPlayer_get_sex"] = "Er was een probleem tijdens het ophalen van je Geslacht.",
+ ["error_debug_xPlayer_get_dob"] = "Er was een probleem tijdens het ophalen van je Geboortedatum.",
+ ["error_debug_xPlayer_get_height"] = "Er was een probleem tijdens het ophalen van je lengte.",
+ ["return_debug_xPlayer_get_first_name"] = "Voornaam: %s",
+ ["return_debug_xPlayer_get_last_name"] = "Achternaam: %s",
+ ["return_debug_xPlayer_get_full_name"] = "Naam: %s",
+ ["return_debug_xPlayer_get_sex"] = "Geslacht: %s",
+ ["return_debug_xPlayer_get_dob"] = "Geboortedatum: %s",
+ ["return_debug_xPlayer_get_height"] = "Lengte: %s Inches",
+ ["data_incorrect"] = "Verkeerde data, probeer opnieuw.",
+ ["invalid_format"] = "Verkeerde volgorde, probeer opnieuw.",
+ ["no_identifier"] = "[ESX Identity]\nEr was een probleem tijdens het laden van je karakter!\nError Code: identifier-missing\n\nDit komt omdat je identifier mist, contacteer het server beheer.",
+ ["missing_identity"] = "[ESX Identity]\nEr was een probleem tijdens het laden van je karakter!\nError Code: identity-missing\n\nHet lijkt erop dat je identiteit mist, reconnect met de server.",
+ ["deleted_identity"] = "Karakter verwijderd, reconnect om een nieuwe te registreren.",
+ ["already_registered"] = "Je bent al geregistreerd.",
+ ["invalid_firstname_format"] = "Ongeldige Volgorde (Voornaam): Probeer het nog een keer.",
+ ["invalid_lastname_format"] = "Ongeldige Volgorde (Achternaam): Probeer het nog een keer.",
+ ["invalid_dob_format"] = "Ongeldige Volgorde (Geboortedatum): Probeer het nog een keer.",
+ ["invalid_sex_format"] = "Ongeldige Volgorde (Geslacht): Probeer het nog een keer.",
+ ["invalid_height_format"] = "Ongeldige Volgorde (Lengte): Probeer het nog een keer.",
}
diff --git a/[core]/esx_identity/locales/pl.lua b/[core]/esx_identity/locales/pl.lua
index e88be1b7..15c5cf45 100644
--- a/[core]/esx_identity/locales/pl.lua
+++ b/[core]/esx_identity/locales/pl.lua
@@ -1,33 +1,33 @@
-Locales['pl'] = {
- ['show_active_character'] = 'Pokaż aktywną postać',
- ['active_character'] = 'Aktywna postać: %s',
- ['error_active_character'] = "Podczas pobierania Twojego imienia wystąpił błąd. Proszę skontaktować się z administratorem.",
- ['delete_character'] = 'Usuń swoją postać i stwórz nową',
- ['deleted_character'] = 'Twoja postać została usunięta.',
- ['error_delete_character'] = "Wystąpił błąd podczas usuwania twojej postaci. Proszę skontaktować się z administratorem.",
- ['thank_you_for_registering'] = "Dziękujemy za rejestrację. Baw się dobrze.",
- ['registration_error'] = "Wystąpił błąd podczas rejestracji. Proszę skontaktować się z administratorem.",
- ['debug_xPlayer_get_first_name'] = "Podaj swoje imię",
- ['debug_xPlayer_get_last_name'] = "Podaj swoje nazwisko",
- ['debug_xPlayer_get_full_name'] = "Podaj swoją pełną nazwę",
- ['debug_xPlayer_get_sex'] = "Podaj swoją płeć",
- ['debug_xPlayer_get_dob'] = "Podaj swoją datę urodzenia",
- ['debug_xPlayer_get_height'] = "Podaj swój wzrost",
- ['error_debug_xPlayer_get_first_name'] = "Podczas pobierania twojego imienia wystąpił błąd.",
- ['error_debug_xPlayer_get_last_name'] = "Podczas pobierania twojego nazwiska wystąpił błąd.",
- ['error_debug_xPlayer_get_full_name'] = "Podczas pobierania twojego pełnego imienia wystąpił błąd.",
- ['error_debug_xPlayer_get_sex'] = "Podczas pobierania twojej płci wystąpił błąd.",
- ['error_debug_xPlayer_get_dob'] = "Podczas pobierania daty urodzenia wystąpił błąd.",
- ['error_debug_xPlayer_get_height'] = "Podczas pobierania wzrostu wystąpił błąd.",
- ['return_debug_xPlayer_get_first_name'] = "Imię: %s",
- ['return_debug_xPlayer_get_last_name'] = "Nazwisko: %s",
- ['return_debug_xPlayer_get_full_name'] = "Pełna nazwa: %s",
- ['return_debug_xPlayer_get_sex'] = "Płeć: %s",
- ['return_debug_xPlayer_get_dob'] = "Data urodzenia: %s",
- ['return_debug_xPlayer_get_height'] = "Wzrost: %s centymetrów",
- ['data_incorrect'] = 'Data została wprowadzona niepoprawnie. Proszę spróbuj ponownie.',
- ['invalid_format'] = 'Data została wprowadzona niepoprawnie. Proszę spróbuj ponownie.',
- ['no_identifier'] = 'Wystąpił błąd podczas ładowania twojej postaci!\nKod błędu: identifier-missing\n\nPrzyczyna tego błędu nie jest znana, nie można znaleźć Twojego identyfikatora. Wróć później lub zgłoś ten problem zespołowi administracyjnemu serwera.',
- ['missing_identity'] = 'Wystąpił błąd podczas ładowania twojej postaci!\nKod błędu: identity-missing\n\nWygląda na to, że brakuje Twojej tożsamości, spróbuj połączyć się ponownie.',
- ['deleted_identity'] = 'Twoja postać została usunięta. Dołącz ponownie, aby utworzyć nową postać.'
+Locales["pl"] = {
+ ["show_active_character"] = "Pokaż aktywną postać",
+ ["active_character"] = "Aktywna postać: %s",
+ ["error_active_character"] = "Podczas pobierania Twojego imienia wystąpił błąd. Proszę skontaktować się z administratorem.",
+ ["delete_character"] = "Usuń swoją postać i stwórz nową",
+ ["deleted_character"] = "Twoja postać została usunięta.",
+ ["error_delete_character"] = "Wystąpił błąd podczas usuwania twojej postaci. Proszę skontaktować się z administratorem.",
+ ["thank_you_for_registering"] = "Dziękujemy za rejestrację. Baw się dobrze.",
+ ["registration_error"] = "Wystąpił błąd podczas rejestracji. Proszę skontaktować się z administratorem.",
+ ["debug_xPlayer_get_first_name"] = "Podaj swoje imię",
+ ["debug_xPlayer_get_last_name"] = "Podaj swoje nazwisko",
+ ["debug_xPlayer_get_full_name"] = "Podaj swoją pełną nazwę",
+ ["debug_xPlayer_get_sex"] = "Podaj swoją płeć",
+ ["debug_xPlayer_get_dob"] = "Podaj swoją datę urodzenia",
+ ["debug_xPlayer_get_height"] = "Podaj swój wzrost",
+ ["error_debug_xPlayer_get_first_name"] = "Podczas pobierania twojego imienia wystąpił błąd.",
+ ["error_debug_xPlayer_get_last_name"] = "Podczas pobierania twojego nazwiska wystąpił błąd.",
+ ["error_debug_xPlayer_get_full_name"] = "Podczas pobierania twojego pełnego imienia wystąpił błąd.",
+ ["error_debug_xPlayer_get_sex"] = "Podczas pobierania twojej płci wystąpił błąd.",
+ ["error_debug_xPlayer_get_dob"] = "Podczas pobierania daty urodzenia wystąpił błąd.",
+ ["error_debug_xPlayer_get_height"] = "Podczas pobierania wzrostu wystąpił błąd.",
+ ["return_debug_xPlayer_get_first_name"] = "Imię: %s",
+ ["return_debug_xPlayer_get_last_name"] = "Nazwisko: %s",
+ ["return_debug_xPlayer_get_full_name"] = "Pełna nazwa: %s",
+ ["return_debug_xPlayer_get_sex"] = "Płeć: %s",
+ ["return_debug_xPlayer_get_dob"] = "Data urodzenia: %s",
+ ["return_debug_xPlayer_get_height"] = "Wzrost: %s centymetrów",
+ ["data_incorrect"] = "Data została wprowadzona niepoprawnie. Proszę spróbuj ponownie.",
+ ["invalid_format"] = "Data została wprowadzona niepoprawnie. Proszę spróbuj ponownie.",
+ ["no_identifier"] = "Wystąpił błąd podczas ładowania twojej postaci!\nKod błędu: identifier-missing\n\nPrzyczyna tego błędu nie jest znana, nie można znaleźć Twojego identyfikatora. Wróć później lub zgłoś ten problem zespołowi administracyjnemu serwera.",
+ ["missing_identity"] = "Wystąpił błąd podczas ładowania twojej postaci!\nKod błędu: identity-missing\n\nWygląda na to, że brakuje Twojej tożsamości, spróbuj połączyć się ponownie.",
+ ["deleted_identity"] = "Twoja postać została usunięta. Dołącz ponownie, aby utworzyć nową postać.",
}
diff --git a/[core]/esx_identity/locales/pt.lua b/[core]/esx_identity/locales/pt.lua
new file mode 100644
index 00000000..108f8cc2
--- /dev/null
+++ b/[core]/esx_identity/locales/pt.lua
@@ -0,0 +1,38 @@
+Locales["pt"] = {
+ ["show_active_character"] = "Mostrar personagem ativa",
+ ["active_character"] = "Personagem ativa: %s",
+ ["error_active_character"] = "Houve um erro a obter os teus dados.",
+ ["delete_character"] = "Apagar a tua personagem atual.",
+ ["deleted_character"] = "Personagem apagada!",
+ ["error_delete_character"] = "Houve um problema ao apagar a tua personagem.",
+ ["thank_you_for_registering"] = "Registo concluído. Diverte-te!",
+ ["debug_xPlayer_get_first_name"] = "Retorna o teu primeiro nome",
+ ["debug_xPlayer_get_last_name"] = "Retorna o teu último nome",
+ ["debug_xPlayer_get_full_name"] = "Retorna o teu nome completo",
+ ["debug_xPlayer_get_sex"] = "Retorna o teu sexo",
+ ["debug_xPlayer_get_dob"] = "Retorna a tua data de nascimento",
+ ["debug_xPlayer_get_height"] = "Retorna a tua altura",
+ ["error_debug_xPlayer_get_first_name"] = "Houve um problema ao obter o teu primeiro nome.",
+ ["error_debug_xPlayer_get_last_name"] = "Houve um problema ao obter o teu último nome.",
+ ["error_debug_xPlayer_get_full_name"] = "Houve um problema ao obter o teu nome completo.",
+ ["error_debug_xPlayer_get_sex"] = "Houve um problema ao obter o teu sexo.",
+ ["error_debug_xPlayer_get_dob"] = "Houve um problema ao obter a tua data de nascimento.",
+ ["error_debug_xPlayer_get_height"] = "Houve um problema ao obter a tua altura.",
+ ["return_debug_xPlayer_get_first_name"] = "Primeiro nome: %s",
+ ["return_debug_xPlayer_get_last_name"] = "Último nome: %s",
+ ["return_debug_xPlayer_get_full_name"] = "Nome: %s",
+ ["return_debug_xPlayer_get_sex"] = "Sexo: %s",
+ ["return_debug_xPlayer_get_dob"] = "Data de nascimento: %s",
+ ["return_debug_xPlayer_get_height"] = "Altura: %s cm",
+ ["data_incorrect"] = "Dados inválidos, tenta novamente.",
+ ["invalid_format"] = "Formato dos dados inválido, tenta novamente.",
+ ["no_identifier"] = "[ESX Identity]\nHouve um erro ao carregar a tua personagem!\nCódigo do erro: identifier-missing\n\nEste erro é devido à falta do teu identificador. Porfavor volta mais tarde ou reporta este problema a um Administrador.",
+ ["missing_identity"] = "[ESX Identity]\nHouve um erro ao carregar a tua personagem!\nCódigo do erro: identity-missing\n\nParece que a tua identidade está em falta, experimenta reentrar no servidor!",
+ ["deleted_identity"] = "Personagem apagada. Porfavor reentra para criar uma nova personagem.",
+ ["already_registered"] = "Tu já estás registado.",
+ ["invalid_firstname_format"] = "Formato inválido (Primeiro nome): Porfavor tenta novamente!",
+ ["invalid_lastname_format"] = "Formato inválido (Último nome): Porfavor tenta novamente!",
+ ["invalid_dob_format"] = "Formato inválido (Data de nascimento): Porfavor tenta novamente!",
+ ["invalid_sex_format"] = "Formato inválido (Sexo): Porfavor tenta novamente!",
+ ["invalid_height_format"] = "Formato inválido (Altura): Porfavor tenta novamente!",
+}
diff --git a/[core]/esx_identity/locales/sl.lua b/[core]/esx_identity/locales/sl.lua
new file mode 100644
index 00000000..2e961578
--- /dev/null
+++ b/[core]/esx_identity/locales/sl.lua
@@ -0,0 +1,38 @@
+Locales['sl'] = {
+ ['show_active_character'] = 'Prikaži aktivnega lika',
+ ['active_character'] = 'Aktivni lik: %s',
+ ['error_active_character'] = 'Prišlo je do napake pri pridobivanju podatkov.',
+ ['delete_character'] = 'Izbriši trenutnega lika.',
+ ['deleted_character'] = 'Lik je bil izbrisan',
+ ['error_delete_character'] = 'Prišlo je do težave pri brisanju lika.',
+ ['thank_you_for_registering'] = 'Registracija uspešna. Uživajte!',
+ ['debug_xPlayer_get_first_name'] = 'Vrne vaše ime',
+ ['debug_xPlayer_get_last_name'] = 'Vrne vaše priimek',
+ ['debug_xPlayer_get_full_name'] = 'Vrne vaše polno ime',
+ ['debug_xPlayer_get_sex'] = 'Vrne vaš spol',
+ ['debug_xPlayer_get_dob'] = 'Vrne vaš datum rojstva',
+ ['debug_xPlayer_get_height'] = 'Vrne vašo višino',
+ ['error_debug_xPlayer_get_first_name'] = 'Prišlo je do težave pri pridobivanju vašega imena.',
+ ['error_debug_xPlayer_get_last_name'] = 'Prišlo je do težave pri pridobivanju vašega priimka.',
+ ['error_debug_xPlayer_get_full_name'] = 'Prišlo je do težave pri pridobivanju vašega polnega imena.',
+ ['error_debug_xPlayer_get_sex'] = 'Prišlo je do težave pri pridobivanju vašega spola.',
+ ['error_debug_xPlayer_get_dob'] = 'Prišlo je do težave pri pridobivanju vašega datuma rojstva.',
+ ['error_debug_xPlayer_get_height'] = 'Prišlo je do težave pri pridobivanju vaše višine.',
+ ['return_debug_xPlayer_get_first_name'] = 'Ime: %s',
+ ['return_debug_xPlayer_get_last_name'] = 'Priimek: %s',
+ ['return_debug_xPlayer_get_full_name'] = 'Ime: %s',
+ ['return_debug_xPlayer_get_sex'] = 'Spol: %s',
+ ['return_debug_xPlayer_get_dob'] = 'Datum rojstva: %s',
+ ['return_debug_xPlayer_get_height'] = 'Višina: %s palcev',
+ ['data_incorrect'] = 'Neveljavni podatki. Poskusite znova.',
+ ['invalid_format'] = 'Neveljavna oblika podatkov. Poskusite znova.',
+ ['no_identifier'] = '[ESX Identity]\nPrišlo je do težave pri nalaganju vašega lika!\nNapaka: manjkajoč-identifier\n\nTo je posledica manjkajočega identifikatorja. Prosimo, poskusite znova kasneje ali to težavo prijavite lastniku strežnika.',
+ ['missing_identity'] = '[ESX Identity]\nPrišlo je do težave pri nalaganju vašega lika!\nNapaka: manjkajoč-identity\n\nZdi se, da manjka vaša identiteta. Poskusite znova.',
+ ['deleted_identity'] = 'Lik izbrisan. Prosimo, ponovno se pridružite in ustvarite nov lik.',
+ ['already_registered'] = 'Že ste registrirani.',
+ ['invalid_firstname_format'] = 'Neveljavna oblika (Ime). Poskusite znova.',
+ ['invalid_lastname_format'] = 'Neveljavna oblika (Priimek). Poskusite znova.',
+ ['invalid_dob_format'] = 'Neveljavna oblika (Datum rojstva). Poskusite znova.',
+ ['invalid_sex_format'] = 'Neveljavna oblika (Spol). Poskusite znova.',
+ ['invalid_height_format'] = 'Neveljavna oblika (Višina). Poskusite znova.'
+ }
\ No newline at end of file
diff --git a/[core]/esx_identity/locales/sr.lua b/[core]/esx_identity/locales/sr.lua
new file mode 100644
index 00000000..96e12935
--- /dev/null
+++ b/[core]/esx_identity/locales/sr.lua
@@ -0,0 +1,38 @@
+Locales["sr"] = {
+ ["show_active_character"] = "Prikazi karaktere",
+ ["active_character"] = "Karakteri: %s",
+ ["error_active_character"] = "Imamo problem sa ucitavanjem karaktera.",
+ ["delete_character"] = "Obrisite karaktera.",
+ ["deleted_character"] = "Karakter obrisan",
+ ["error_delete_character"] = "Doslo je do greske pri brisanju karaktera.",
+ ["thank_you_for_registering"] = "Registracija uspesna. Uzivajte!",
+ ["debug_xPlayer_get_first_name"] = "Vraca vase ime",
+ ["debug_xPlayer_get_last_name"] = "Vraca vase prezime",
+ ["debug_xPlayer_get_full_name"] = "Vraca vase puno ime",
+ ["debug_xPlayer_get_sex"] = "Vraca vas pol",
+ ["debug_xPlayer_get_dob"] = "Vraca vas datum rodjenja",
+ ["debug_xPlayer_get_height"] = "Vraca vasu visinu",
+ ["error_debug_xPlayer_get_first_name"] = "Doslo je do greske pri pronalazenju vaseg imena.",
+ ["error_debug_xPlayer_get_last_name"] = "Doslo je do greske pri pronalazenju vaseg prezimena.",
+ ["error_debug_xPlayer_get_full_name"] = "Doslo je do greske pri pronalazenju vaseg punog imena.",
+ ["error_debug_xPlayer_get_sex"] = "Doslo je do greske pri pronalazenju vaseg pola.",
+ ["error_debug_xPlayer_get_dob"] = "Doslo je do greske pri pronalazenju vaseg datuma rodjenja.",
+ ["error_debug_xPlayer_get_height"] = "Doslo je do greske pri pronalazenju vase visine.",
+ ["return_debug_xPlayer_get_first_name"] = "Ime: %s",
+ ["return_debug_xPlayer_get_last_name"] = "Prezime: %s",
+ ["return_debug_xPlayer_get_full_name"] = "Ime: %s",
+ ["return_debug_xPlayer_get_sex"] = "Pol: %s",
+ ["return_debug_xPlayer_get_dob"] = "Datum rodjenja: %s",
+ ["return_debug_xPlayer_get_height"] = "Visina: %s",
+ ["data_incorrect"] = "Nevazeci podatci, pokusajte ponovo.",
+ ["invalid_format"] = "Nevazeci format podataka, pokusajte ponovo.",
+ ["no_identifier"] = "[ESX Identity]\nDoslo je do greske pri ucitavanju vaseg karaktera!\nError Code: identifier-missing\n\nUpalite steam pa pokusajte ponovo.",
+ ["missing_identity"] = "[ESX Identity]\nDoslo je do greske pri ucitavanju vaseg karaktera!\nError Code: identity-missing\n\nIzgleda da je vas steam nepostojeci. Pokusajte ponovo.",
+ ["deleted_identity"] = "Karakter obrisan. Uradite relog kako bi napravili novog karaktera.",
+ ["already_registered"] = "Vi ste vec registrovani.",
+ ["invalid_firstname_format"] = "Nevazeci Format (Ime): Pokusajte ponovo.",
+ ["invalid_lastname_format"] = "Nevazeci Format (Prezime): Pokusajte ponovo.",
+ ["invalid_dob_format"] = "Nevazeci Format (Datum Rodjenja): Pokusajte ponovo.",
+ ["invalid_sex_format"] = "Nevazeci Format (Pol): Pokusajte ponovo.",
+ ["invalid_height_format"] = "Nevazeci Format (Visina): Pokusajte ponovo.",
+}
diff --git a/[core]/esx_identity/locales/sv.lua b/[core]/esx_identity/locales/sv.lua
deleted file mode 100644
index 0b74e289..00000000
--- a/[core]/esx_identity/locales/sv.lua
+++ /dev/null
@@ -1,38 +0,0 @@
-Locales['sv'] = {
- ['show_active_character'] = 'Visa aktiva karaktär',
- ['active_character'] = 'Aktiv karaktär: %s',
- ['error_active_character'] = "Det gick inte att hämta din data.",
- ['delete_character'] = 'Ta bort nuvarande karaktär och skapa en ny.',
- ['deleted_character'] = 'Karaktär raderad.',
- ['error_delete_character'] = "Det gick inte att ta bort din karaktär.",
- ['thank_you_for_registering'] = "Registrering lyckades, Ha så kul!",
- ['registration_error'] = "Det uppstod ett problem när du registrerade din karaktär, se till att informationen är korrekt.",
- ['debug_xPlayer_get_first_name'] = "Returnerar ditt förnamn",
- ['debug_xPlayer_get_last_name'] = "Returnerar ditt efternamn",
- ['debug_xPlayer_get_full_name'] = "Returnerar ditt fullständiga namn",
- ['debug_xPlayer_get_sex'] = "Returnerar ditt kön",
- ['debug_xPlayer_get_dob'] = "Returnerar ditt födelsedatum",
- ['debug_xPlayer_get_height'] = "Returnerar din längd",
- ['error_debug_xPlayer_get_first_name'] = "Det uppstod ett problem när du fick ditt förnamn.",
- ['error_debug_xPlayer_get_last_name'] = "Det uppstod ett problem när du fick ditt efternamn.",
- ['error_debug_xPlayer_get_full_name'] = "Det uppstod ett problem när du fick ditt fullständiga namn.",
- ['error_debug_xPlayer_get_sex'] = "Det uppstod ett problem när du skaffade ditt kön.",
- ['error_debug_xPlayer_get_dob'] = "Det uppstod ett problem när du skaffade ditt födelsedatum.",
- ['error_debug_xPlayer_get_height'] = "Det uppstod ett problem när du fick din längd.",
- ['return_debug_xPlayer_get_first_name'] = "Förnamn: %s",
- ['return_debug_xPlayer_get_last_name'] = "Efternamn: %s",
- ['return_debug_xPlayer_get_full_name'] = "Fullständiga namn: %s",
- ['return_debug_xPlayer_get_sex'] = "Kön: %s",
- ['return_debug_xPlayer_get_dob'] = "Födelsedatum: %s",
- ['return_debug_xPlayer_get_height'] = "Längd: %s Centimeter",
- ['data_incorrect'] = 'Uppgifterna har angetts felaktigt. Var god försök igen.',
- ['invalid_format'] = 'Data är felaktigt formaterade. Var god försök igen.',
- ['no_identifier'] = 'Det uppstod ett fel när din karaktär skulle laddas!\nError code: identifier-missing\n\nOrsaken till detta fel är inte känd, din identifierare kunde inte hittas. Kom tillbaka senare eller rapportera det här problemet till en administratör.',
- ['missing_identity'] = 'Det uppstod ett fel när din karaktär skulle laddas!\nError code: identity-missing\n\nDet verkar som om din identitet saknas, försök ansluta igen.',
- ['deleted_identity'] = 'Din karaktär har tagits bort. Logga in igen för att skapa en ny karaktär.',
- ['invalid_firstname_format'] = 'Ogiltigt format (Namn): Försök igen.',
- ['invalid_lastname_format'] = 'Ogiltigt format (Efternamn): Försök igen.',
- ['invalid_dob_format'] = 'Ogiltigt format (DOB): Please try again.',
- ['invalid_sex_format'] = 'Ogiltigt formatOgiltigt format (Kön): Försök igen.',
- ['invalid_height_format'] = 'Ogiltigt format (Längd): Försök igen.'
-}
diff --git a/[core]/esx_identity/locales/tc.lua b/[core]/esx_identity/locales/tc.lua
deleted file mode 100644
index 65f210b7..00000000
--- a/[core]/esx_identity/locales/tc.lua
+++ /dev/null
@@ -1,33 +0,0 @@
-Locales['tc'] = {
- ['show_active_character'] = '顯示已啟用的人物',
- ['active_character'] = '已啟用的人物: %s',
- ['error_active_character'] = "獲取您的數據時出現錯誤",
- ['delete_character'] = '刪除當前的人物並創建一個新的人物',
- ['deleted_character'] = '人物已刪除',
- ['error_delete_character'] = "刪除您的人物時出現錯誤",
- ['thank_you_for_registering'] = "註冊成功, 歡迎遊玩!",
- ['registration_error'] = "您的資料不正確",
- ['debug_xPlayer_get_first_name'] = "回呼你的名稱",
- ['debug_xPlayer_get_last_name'] = "回呼您的姓氏",
- ['debug_xPlayer_get_full_name'] = "回呼你的姓名",
- ['debug_xPlayer_get_sex'] = "回呼你的性別",
- ['debug_xPlayer_get_dob'] = "回呼你的出生日期",
- ['debug_xPlayer_get_height'] = "回呼你的身高",
- ['error_debug_xPlayer_get_first_name'] = "獲取您的名稱時出現錯誤",
- ['error_debug_xPlayer_get_last_name'] = "獲取您的姓氏時出現錯誤",
- ['error_debug_xPlayer_get_full_name'] = "獲取您的姓名時出現錯誤",
- ['error_debug_xPlayer_get_sex'] = "獲取您的性別時出現錯誤",
- ['error_debug_xPlayer_get_dob'] = "獲取您的出生日期時出現錯誤",
- ['error_debug_xPlayer_get_height'] = "獲取您的身高時出現錯誤",
- ['return_debug_xPlayer_get_first_name'] = "名稱: %s",
- ['return_debug_xPlayer_get_last_name'] = "姓氏: %s",
- ['return_debug_xPlayer_get_full_name'] = "姓名: %s",
- ['return_debug_xPlayer_get_sex'] = "性別: %s",
- ['return_debug_xPlayer_get_dob'] = "出生日期: %s",
- ['return_debug_xPlayer_get_height'] = "身高: %s cm",
- ['data_incorrect'] = '您輸入的資料無效, 請重試',
- ['invalid_format'] = '您輸入的資料格式無效, 請重試',
- ['no_identifier'] = '[ESX Identity]\n加載人物時出現錯誤!\n錯誤代碼: identifier-missing\n\n這是由於您的標識符丟失造成的, 請稍後再回來或將此問題報告給伺服器所有者',
- ['missing_identity'] = '[ESX Identity]\n加載人物時出現錯誤!\n錯誤代碼: identity-missing\n\n您的人物似乎丟失了, 請嘗試重新連接',
- ['deleted_identity'] = '人物已刪除, 請重新加入以創建新人物'
-}
diff --git a/[core]/esx_identity/server/main.lua b/[core]/esx_identity/server/main.lua
index b9513cee..a2884c76 100644
--- a/[core]/esx_identity/server/main.lua
+++ b/[core]/esx_identity/server/main.lua
@@ -3,16 +3,12 @@ local alreadyRegistered = {}
local multichar = ESX.GetConfig().Multichar
local function deleteIdentityFromDatabase(xPlayer)
- MySQL.query.await(
- 'UPDATE users SET firstname = ?, lastname = ?, dateofbirth = ?, sex = ?, height = ?, skin = ? WHERE identifier = ?',
- {nil, nil, nil, nil, nil, nil, xPlayer.identifier})
+ MySQL.query.await('UPDATE users SET firstname = ?, lastname = ?, dateofbirth = ?, sex = ?, height = ?, skin = ? WHERE identifier = ?', { nil, nil, nil, nil, nil, nil, xPlayer.identifier })
if Config.FullCharDelete then
- MySQL.update.await('UPDATE addon_account_data SET money = 0 WHERE account_name IN (?) AND owner = ?',
- {{'bank_savings', 'caution'}, xPlayer.identifier})
+ MySQL.update.await('UPDATE addon_account_data SET money = 0 WHERE account_name IN (?) AND owner = ?', { { 'bank_savings', 'caution' }, xPlayer.identifier })
- MySQL.prepare.await('UPDATE datastore_data SET data = ? WHERE name IN (?) AND owner = ?',
- {'\'{}\'', {'user_ears', 'user_glasses', 'user_helmet', 'user_mask'}, xPlayer.identifier})
+ MySQL.prepare.await('UPDATE datastore_data SET data = ? WHERE name IN (?) AND owner = ?', { '\'{}\'', { 'user_ears', 'user_glasses', 'user_helmet', 'user_mask' }, xPlayer.identifier })
end
end
@@ -31,9 +27,7 @@ local function deleteIdentity(xPlayer)
end
local function saveIdentityToDatabase(identifier, identity)
- MySQL.update.await(
- 'UPDATE users SET firstname = ?, lastname = ?, dateofbirth = ?, sex = ?, height = ? WHERE identifier = ?',
- {identity.firstName, identity.lastName, identity.dateOfBirth, identity.sex, identity.height, identifier})
+ MySQL.update.await('UPDATE users SET firstname = ?, lastname = ?, dateofbirth = ?, sex = ?, height = ? WHERE identifier = ?', { identity.firstName, identity.lastName, identity.dateOfBirth, identity.sex, identity.height, identifier })
end
local function checkDOBFormat(str)
@@ -41,9 +35,9 @@ local function checkDOBFormat(str)
if not string.match(str, '(%d%d)/(%d%d)/(%d%d%d%d)') then
return false
end
-
+
local d, m, y = string.match(str, '(%d+)/(%d+)/(%d+)')
-
+
m = tonumber(m)
d = tonumber(d)
y = tonumber(y)
@@ -119,28 +113,27 @@ local function formatName(name)
end
if Config.UseDeferrals then
- AddEventHandler('playerConnecting', function(playerName, setKickReason, deferrals)
+ AddEventHandler('playerConnecting', function(_, _, deferrals)
deferrals.defer()
- local playerId, identifier = source, ESX.GetIdentifier(source)
+ local _, identifier = source, ESX.GetIdentifier(source)
Wait(100)
if identifier then
- MySQL.single('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?',
- {identifier}, function(result)
- if result then
- if result.firstname then
- playerIdentity[identifier] = {
- firstName = result.firstname,
- lastName = result.lastname,
- dateOfBirth = result.dateofbirth,
- sex = result.sex,
- height = result.height
- }
+ MySQL.single('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?', { identifier }, function(result)
+ if result then
+ if result.firstname then
+ playerIdentity[identifier] = {
+ firstName = result.firstname,
+ lastName = result.lastname,
+ dateOfBirth = result.dateofbirth,
+ sex = result.sex,
+ height = result.height
+ }
- deferrals.done()
- else
- deferrals.presentCard(
- [==[{"type": "AdaptiveCard","body":[{"type":"Container","items":[{"type":"ColumnSet",
+ deferrals.done()
+ else
+ deferrals.presentCard(
+ [==[{"type": "AdaptiveCard","body":[{"type":"Container","items":[{"type":"ColumnSet",
"columns":[{"type":"Column","items":[{"type":"Input.Text","placeholder":"First Name",
"id":"firstname","maxLength":15},{"type":"Input.Text","placeholder":"Date of Birth (MM/DD/YYYY)",
"id":"dateofbirth","maxLength":10}],"width":"stretch"},{"type":"Column","width":"stretch",
@@ -150,33 +143,33 @@ if Config.UseDeferrals then
{"title":"Female","value":"f"}],"style":"expanded","id":"sex"}]},{"type": "ActionSet",
"actions": [{"type":"Action.Submit","title":"Submit"}]}],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json","version":"1.0"}]==],
- function(data)
- if data.firstname == '' or data.lastname == '' or data.dateofbirth == '' or data.sex ==
- '' or data.height == '' then
- deferrals.done(TranslateCap('data_incorrect'))
- else
- if checkNameFormat(data.firstname) and checkNameFormat(data.lastname) and
- checkDOBFormat(data.dateofbirth) and checkSexFormat(data.sex) and
- checkHeightFormat(data.height) then
- playerIdentity[identifier] = {
- firstName = formatName(data.firstname),
- lastName = formatName(data.lastname),
- dateOfBirth = data.dateofbirth,
- sex = data.sex,
- height = tonumber(data.height),
- saveToDatabase = true
- }
+ function(data)
+ if data.firstname == '' or data.lastname == '' or data.dateofbirth == '' or data.sex ==
+ '' or data.height == '' then
+ deferrals.done(TranslateCap('data_incorrect'))
+ else
+ if checkNameFormat(data.firstname) and checkNameFormat(data.lastname) and
+ checkDOBFormat(data.dateofbirth) and checkSexFormat(data.sex) and
+ checkHeightFormat(data.height) then
+ playerIdentity[identifier] = {
+ firstName = formatName(data.firstname),
+ lastName = formatName(data.lastname),
+ dateOfBirth = data.dateofbirth,
+ sex = data.sex,
+ height = tonumber(data.height),
+ saveToDatabase = true
+ }
- deferrals.done()
- else
- deferrals.done(TranslateCap('invalid_format'))
- end
+ deferrals.done()
+ else
+ deferrals.done(TranslateCap('invalid_format'))
end
- end)
- end
- else
- deferrals.presentCard(
- [==[{"type": "AdaptiveCard","body":[{"type":"Container","items":[{"type":"ColumnSet","columns":[{
+ end
+ end)
+ end
+ else
+ deferrals.presentCard(
+ [==[{"type": "AdaptiveCard","body":[{"type":"Container","items":[{"type":"ColumnSet","columns":[{
"type":"Column","items":[{"type":"Input.Text","placeholder":"First Name","id":"firstname",
"maxLength":15},{"type":"Input.Text","placeholder":"Date of Birth (MM/DD/YYYY)","id":"dateofbirth",
"maxLength":10}],"width":"stretch"},{"type":"Column","width":"stretch","items":[{"type":"Input.Text",
@@ -185,46 +178,46 @@ if Config.UseDeferrals then
"placeholder":"Sex","choices":[{"title":"Male","value":"m"},{"title":"Female","value":"f"}],
"style":"expanded","id":"sex"}]},{"type": "ActionSet","actions": [{"type":"Action.Submit",
"title":"Submit"}]}],"$schema": "http://adaptivecards.io/schemas/adaptive-card.json","version":"1.0"}]==],
- function(data)
- if data.firstname == '' or data.lastname == '' or data.dateofbirth == '' or data.sex == '' or data.height == '' then
- return deferrals.done(TranslateCap('data_incorrect'))
- end
- if not checkNameFormat(data.firstname) then
- return deferrals.done(TranslateCap('invalid_firstname_format'))
- end
- if not checkNameFormat(data.lastname) then
- return deferrals.done(TranslateCap('invalid_lastname_format'))
- end
- if not checkDOBFormat(data.dateofbirth) then
- return deferrals.done(TranslateCap('invalid_dob_format'))
- end
- if not checkSexFormat(data.sex) then
- return deferrals.done(TranslateCap('invalid_sex_format'))
- end
- if not checkHeightFormat(data.height) then
- return deferrals.done(TranslateCap('invalid_height_format'))
- end
-
- playerIdentity[identifier] = {
- firstName = formatName(data.firstname),
- lastName = formatName(data.lastname),
- dateOfBirth = formatDate(data.dateofbirth),
- sex = data.sex,
- height = tonumber(data.height),
- saveToDatabase = true
- }
+ function(data)
+ if data.firstname == '' or data.lastname == '' or data.dateofbirth == '' or data.sex == '' or data.height == '' then
+ return deferrals.done(TranslateCap('data_incorrect'))
+ end
+ if not checkNameFormat(data.firstname) then
+ return deferrals.done(TranslateCap('invalid_firstname_format'))
+ end
+ if not checkNameFormat(data.lastname) then
+ return deferrals.done(TranslateCap('invalid_lastname_format'))
+ end
+ if not checkDOBFormat(data.dateofbirth) then
+ return deferrals.done(TranslateCap('invalid_dob_format'))
+ end
+ if not checkSexFormat(data.sex) then
+ return deferrals.done(TranslateCap('invalid_sex_format'))
+ end
+ if not checkHeightFormat(data.height) then
+ return deferrals.done(TranslateCap('invalid_height_format'))
+ end
- deferrals.done()
- end)
- end
- end)
+ playerIdentity[identifier] = {
+ firstName = formatName(data.firstname),
+ lastName = formatName(data.lastname),
+ dateOfBirth = formatDate(data.dateofbirth),
+ sex = data.sex,
+ height = tonumber(data.height),
+ saveToDatabase = true
+ }
+
+ deferrals.done()
+ end)
+ end
+ end)
else
deferrals.done(TranslateCap('no_identifier'))
end
end)
RegisterNetEvent('esx:playerLoaded')
- AddEventHandler('esx:playerLoaded', function(playerId, xPlayer)
+ AddEventHandler('esx:playerLoaded', function(_, xPlayer)
if not playerIdentity[xPlayer.identifier] then
return xPlayer.kick(_('missing_identity'))
end
@@ -246,8 +239,8 @@ if Config.UseDeferrals then
playerIdentity[xPlayer.identifier] = nil
end)
else
- local function setIdentity(xPlayer)
- if not alreadyRegistered[xPlayer.identifier] then
+ local function setIdentity(xPlayer)
+ if not alreadyRegistered[xPlayer.identifier] then
return
end
local currentIdentity = playerIdentity[xPlayer.identifier]
@@ -264,21 +257,55 @@ else
end
playerIdentity[xPlayer.identifier] = nil
- end
-
- local function checkIdentity(xPlayer)
- MySQL.single('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?', {xPlayer.identifier},
- function(result)
+ end
+
+ local function checkIdentity(xPlayer)
+ MySQL.single('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?', { xPlayer.identifier }, function(result)
+ if not result then
+ return TriggerClientEvent('esx_identity:showRegisterIdentity', xPlayer.source)
+ end
+ if not result.firstname then
+ playerIdentity[xPlayer.identifier] = nil
+ alreadyRegistered[xPlayer.identifier] = false
+ return TriggerClientEvent('esx_identity:showRegisterIdentity', xPlayer.source)
+ end
+
+ playerIdentity[xPlayer.identifier] = {
+ firstName = result.firstname,
+ lastName = result.lastname,
+ dateOfBirth = result.dateofbirth,
+ sex = result.sex,
+ height = result.height
+ }
+
+ alreadyRegistered[xPlayer.identifier] = true
+ setIdentity(xPlayer)
+ end
+ )
+ end
+
+ if not multichar then
+ AddEventHandler('playerConnecting', function(_, _, deferrals)
+ deferrals.defer()
+ local _, identifier = source, ESX.GetIdentifier(source)
+ Wait(40)
+
+ if not identifier then
+ return deferrals.done(TranslateCap('no_identifier'))
+ end
+ MySQL.single('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?', { identifier }, function(result)
if not result then
- return TriggerClientEvent('esx_identity:showRegisterIdentity', xPlayer.source)
+ playerIdentity[identifier] = nil
+ alreadyRegistered[identifier] = false
+ return deferrals.done()
end
if not result.firstname then
- playerIdentity[xPlayer.identifier] = nil
- alreadyRegistered[xPlayer.identifier] = false
- return TriggerClientEvent('esx_identity:showRegisterIdentity', xPlayer.source)
+ playerIdentity[identifier] = nil
+ alreadyRegistered[identifier] = false
+ return deferrals.done()
end
- playerIdentity[xPlayer.identifier] = {
+ playerIdentity[identifier] = {
firstName = result.firstname,
lastName = result.lastname,
dateOfBirth = result.dateofbirth,
@@ -286,49 +313,13 @@ else
height = result.height
}
- alreadyRegistered[xPlayer.identifier] = true
- setIdentity(xPlayer)
- end
- )
- end
+ alreadyRegistered[identifier] = true
- if not multichar then
- AddEventHandler('playerConnecting', function(playerName, setKickReason, deferrals)
- deferrals.defer()
- local playerId, identifier = source, ESX.GetIdentifier(source)
- Wait(40)
+ deferrals.done()
+ end)
+ end)
- if not identifier then
- return deferrals.done(TranslateCap('no_identifier'))
- end
- MySQL.single('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?', {identifier},
- function(result)
- if not result then
- playerIdentity[identifier] = nil
- alreadyRegistered[identifier] = false
- return deferrals.done()
- end
- if not result.firstname then
- playerIdentity[identifier] = nil
- alreadyRegistered[identifier] = false
- return deferrals.done()
- end
-
- playerIdentity[identifier] = {
- firstName = result.firstname,
- lastName = result.lastname,
- dateOfBirth = result.dateofbirth,
- sex = result.sex,
- height = result.height
- }
-
- alreadyRegistered[identifier] = true
-
- deferrals.done()
- end)
- end)
-
- AddEventHandler('onResourceStart', function(resource)
+ AddEventHandler('onResourceStart', function(resource)
if resource ~= GetCurrentResourceName() then
return
end
@@ -338,15 +329,15 @@ else
local xPlayers = ESX.GetExtendedPlayers()
- for i=1, #(xPlayers) do
+ for i = 1, #(xPlayers) do
if xPlayers[i] then
checkIdentity(xPlayers[i])
end
end
end)
- RegisterNetEvent('esx:playerLoaded', function(playerId, xPlayer)
- local currentIdentity = playerIdentity[xPlayer.identifier]
+ RegisterNetEvent('esx:playerLoaded', function(_, xPlayer)
+ local currentIdentity = playerIdentity[xPlayer.identifier]
if currentIdentity and alreadyRegistered[xPlayer.identifier] then
xPlayer.setName(('%s %s'):format(currentIdentity.firstName, currentIdentity.lastName))
@@ -368,35 +359,35 @@ else
else
TriggerClientEvent('esx_identity:showRegisterIdentity', xPlayer.source)
end
- end)
- end
+ end)
+ end
- ESX.RegisterServerCallback('esx_identity:registerIdentity', function(source, cb, data)
- local xPlayer = ESX.GetPlayerFromId(source)
- if not checkNameFormat(data.firstname) then
- TriggerClientEvent('esx:showNotification',source,TranslateCap('invalid_firstname_format'), "error")
- return cb(false)
- end
- if not checkNameFormat(data.lastname) then
- TriggerClientEvent('esx:showNotification',source,TranslateCap('invalid_lastname_format'), "error")
- return cb(false)
- end
- if not checkSexFormat(data.sex) then
- TriggerClientEvent('esx:showNotification',source,TranslateCap('invalid_sex_format'), "error")
- return cb(false)
- end
- if not checkDOBFormat(data.dateofbirth) then
- TriggerClientEvent('esx:showNotification',source,TranslateCap('invalid_dob_format'), "error")
- return cb(false)
- end
- if not checkHeightFormat(data.height) then
- TriggerClientEvent('esx:showNotification',source,TranslateCap('invalid_height_format'), "error")
- return cb(false)
- end
- if xPlayer then
- if alreadyRegistered[xPlayer.identifier] then
- xPlayer.showNotification(TranslateCap('already_registered'), "error")
- return cb(false)
+ ESX.RegisterServerCallback('esx_identity:registerIdentity', function(source, cb, data)
+ local xPlayer = ESX.GetPlayerFromId(source)
+ if not checkNameFormat(data.firstname) then
+ TriggerClientEvent('esx:showNotification', source, TranslateCap('invalid_firstname_format'), "error")
+ return cb(false)
+ end
+ if not checkNameFormat(data.lastname) then
+ TriggerClientEvent('esx:showNotification', source, TranslateCap('invalid_lastname_format'), "error")
+ return cb(false)
+ end
+ if not checkSexFormat(data.sex) then
+ TriggerClientEvent('esx:showNotification', source, TranslateCap('invalid_sex_format'), "error")
+ return cb(false)
+ end
+ if not checkDOBFormat(data.dateofbirth) then
+ TriggerClientEvent('esx:showNotification', source, TranslateCap('invalid_dob_format'), "error")
+ return cb(false)
+ end
+ if not checkHeightFormat(data.height) then
+ TriggerClientEvent('esx:showNotification', source, TranslateCap('invalid_height_format'), "error")
+ return cb(false)
+ end
+ if xPlayer then
+ if alreadyRegistered[xPlayer.identifier] then
+ xPlayer.showNotification(TranslateCap('already_registered'), "error")
+ return cb(false)
end
playerIdentity[xPlayer.identifier] = {
@@ -445,19 +436,19 @@ else
TriggerEvent('esx_identity:completedRegistration', source, data)
TriggerClientEvent('esx_identity:setPlayerData', source, Identity)
cb(true)
- end)
+ end)
end
if Config.EnableCommands then
- ESX.RegisterCommand('char', 'user', function(xPlayer, args, showError)
+ ESX.RegisterCommand('char', 'user', function(xPlayer)
if xPlayer and xPlayer.getName() then
xPlayer.showNotification(TranslateCap('active_character', xPlayer.getName()))
else
xPlayer.showNotification(TranslateCap('error_active_character'))
end
- end, false, {help = TranslateCap('show_active_character')})
+ end, false, { help = TranslateCap('show_active_character') })
- ESX.RegisterCommand('chardel', 'user', function(xPlayer, args, showError)
+ ESX.RegisterCommand('chardel', 'user', function(xPlayer)
if xPlayer and xPlayer.getName() then
if Config.UseDeferrals then
xPlayer.kick(TranslateCap('deleted_identity'))
@@ -476,55 +467,55 @@ if Config.EnableCommands then
else
xPlayer.showNotification(TranslateCap('error_delete_character'))
end
- end, false, {help = TranslateCap('delete_character')})
+ end, false, { help = TranslateCap('delete_character') })
end
if Config.EnableDebugging then
- ESX.RegisterCommand('xPlayerGetFirstName', 'user', function(xPlayer, args, showError)
+ ESX.RegisterCommand('xPlayerGetFirstName', 'user', function(xPlayer)
if xPlayer and xPlayer.get('firstName') then
xPlayer.showNotification(TranslateCap('return_debug_xPlayer_get_first_name', xPlayer.get('firstName')))
else
xPlayer.showNotification(TranslateCap('error_debug_xPlayer_get_first_name'))
end
- end, false, {help = TranslateCap('debug_xPlayer_get_first_name')})
+ end, false, { help = TranslateCap('debug_xPlayer_get_first_name') })
- ESX.RegisterCommand('xPlayerGetLastName', 'user', function(xPlayer, args, showError)
+ ESX.RegisterCommand('xPlayerGetLastName', 'user', function(xPlayer)
if xPlayer and xPlayer.get('lastName') then
xPlayer.showNotification(TranslateCap('return_debug_xPlayer_get_last_name', xPlayer.get('lastName')))
else
xPlayer.showNotification(TranslateCap('error_debug_xPlayer_get_last_name'))
end
- end, false, {help = TranslateCap('debug_xPlayer_get_last_name')})
+ end, false, { help = TranslateCap('debug_xPlayer_get_last_name') })
- ESX.RegisterCommand('xPlayerGetFullName', 'user', function(xPlayer, args, showError)
+ ESX.RegisterCommand('xPlayerGetFullName', 'user', function(xPlayer)
if xPlayer and xPlayer.getName() then
xPlayer.showNotification(TranslateCap('return_debug_xPlayer_get_full_name', xPlayer.getName()))
else
xPlayer.showNotification(TranslateCap('error_debug_xPlayer_get_full_name'))
end
- end, false, {help = TranslateCap('debug_xPlayer_get_full_name')})
+ end, false, { help = TranslateCap('debug_xPlayer_get_full_name') })
- ESX.RegisterCommand('xPlayerGetSex', 'user', function(xPlayer, args, showError)
+ ESX.RegisterCommand('xPlayerGetSex', 'user', function(xPlayer)
if xPlayer and xPlayer.get('sex') then
xPlayer.showNotification(TranslateCap('return_debug_xPlayer_get_sex', xPlayer.get('sex')))
else
xPlayer.showNotification(TranslateCap('error_debug_xPlayer_get_sex'))
end
- end, false, {help = TranslateCap('debug_xPlayer_get_sex')})
+ end, false, { help = TranslateCap('debug_xPlayer_get_sex') })
- ESX.RegisterCommand('xPlayerGetDOB', 'user', function(xPlayer, args, showError)
+ ESX.RegisterCommand('xPlayerGetDOB', 'user', function(xPlayer)
if xPlayer and xPlayer.get('dateofbirth') then
xPlayer.showNotification(TranslateCap('return_debug_xPlayer_get_dob', xPlayer.get('dateofbirth')))
else
xPlayer.showNotification(TranslateCap('error_debug_xPlayer_get_dob'))
end
- end, false, {help = TranslateCap('debug_xPlayer_get_dob')})
+ end, false, { help = TranslateCap('debug_xPlayer_get_dob') })
- ESX.RegisterCommand('xPlayerGetHeight', 'user', function(xPlayer, args, showError)
+ ESX.RegisterCommand('xPlayerGetHeight', 'user', function(xPlayer)
if xPlayer and xPlayer.get('height') then
xPlayer.showNotification(TranslateCap('return_debug_xPlayer_get_height', xPlayer.get('height')))
else
xPlayer.showNotification(TranslateCap('error_debug_xPlayer_get_height'))
end
- end, false, {help = TranslateCap('debug_xPlayer_get_height')})
+ end, false, { help = TranslateCap('debug_xPlayer_get_height') })
end
diff --git a/[core]/esx_loadingscreen/client/client.lua b/[core]/esx_loadingscreen/client/client.lua
index 62125c3b..383454ce 100644
--- a/[core]/esx_loadingscreen/client/client.lua
+++ b/[core]/esx_loadingscreen/client/client.lua
@@ -1,6 +1,6 @@
local ClientLoadESX = false
-AddEventHandler("playerSpawned", function ()
+AddEventHandler("playerSpawned", function()
if not ClientLoadESX then
ShutdownLoadingScreenNui()
ClientLoadESX = true
@@ -10,4 +10,4 @@ AddEventHandler("playerSpawned", function ()
DoScreenFadeIn(2500)
end
end
-end)
\ No newline at end of file
+end)
diff --git a/[core]/esx_loadingscreen/config.lua b/[core]/esx_loadingscreen/config.lua
index 67f639b2..302c9a5c 100644
--- a/[core]/esx_loadingscreen/config.lua
+++ b/[core]/esx_loadingscreen/config.lua
@@ -1,3 +1,3 @@
Config = {}
-Config.Fade = true
\ No newline at end of file
+Config.Fade = true
diff --git a/[core]/esx_loadingscreen/css/index.css b/[core]/esx_loadingscreen/css/index.css
index 6cb39671..474a89b8 100644
--- a/[core]/esx_loadingscreen/css/index.css
+++ b/[core]/esx_loadingscreen/css/index.css
@@ -14,104 +14,104 @@
html,
body {
- margin: 0;
- padding: 0;
- font-family: "Quicksand", sans-serif;
- overflow: hidden;
+ margin: 0;
+ padding: 0;
+ font-family: "Quicksand", sans-serif;
+ overflow: hidden;
}
#esx_intro {
- z-index: 2;
+ z-index: 2;
}
#esx_loop {
- z-index: 1;
+ z-index: 1;
}
#loading_txt {
- bottom: 5%;
- left: 50%;
- margin-left: -80px;
- position: absolute;
- z-index: 999;
+ bottom: 5%;
+ left: 50%;
+ margin-left: -80px;
+ position: absolute;
+ z-index: 999;
- -webkit-animation: fadein 5s;
- -moz-animation: fadein 5s;
- -ms-animation: fadein 5s;
- -o-animation: fadein 5s;
- animation: fadein 5s;
+ -webkit-animation: fadein 5s;
+ -moz-animation: fadein 5s;
+ -ms-animation: fadein 5s;
+ -o-animation: fadein 5s;
+ animation: fadein 5s;
}
p {
- color: white;
- font-size: 32px;
+ color: white;
+ font-size: 32px;
}
.text_thing:after {
- content: " .";
- animation: dots 2s steps(5, end) infinite;
+ content: " .";
+ animation: dots 2s steps(5, end) infinite;
}
@keyframes dots {
- 0%,
- 20% {
- color: rgba(0, 0, 0, 0);
- text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0);
- }
- 40% {
- color: white;
- text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0);
- }
- 60% {
- text-shadow: 0.25em 0 0 white, 0.5em 0 0 rgba(0, 0, 0, 0);
- }
- 80%,
- 100% {
- text-shadow: 0.25em 0 0 white, 0.5em 0 0 white;
- }
+ 0%,
+ 20% {
+ color: rgba(0, 0, 0, 0);
+ text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0);
+ }
+ 40% {
+ color: white;
+ text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0);
+ }
+ 60% {
+ text-shadow: 0.25em 0 0 white, 0.5em 0 0 rgba(0, 0, 0, 0);
+ }
+ 80%,
+ 100% {
+ text-shadow: 0.25em 0 0 white, 0.5em 0 0 white;
+ }
}
@keyframes fadein {
- from {
- opacity: 0;
- }
- to {
- opacity: 1;
- }
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
}
@-moz-keyframes fadein {
- from {
- opacity: 0;
- }
- to {
- opacity: 1;
- }
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
}
@-webkit-keyframes fadein {
- from {
- opacity: 0;
- }
- to {
- opacity: 1;
- }
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
}
@-ms-keyframes fadein {
- from {
- opacity: 0;
- }
- to {
- opacity: 1;
- }
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
}
@-o-keyframes fadein {
- from {
- opacity: 0;
- }
- to {
- opacity: 1;
- }
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
}
diff --git a/[core]/esx_loadingscreen/fxmanifest.lua b/[core]/esx_loadingscreen/fxmanifest.lua
index bf772ad6..d0d9a914 100644
--- a/[core]/esx_loadingscreen/fxmanifest.lua
+++ b/[core]/esx_loadingscreen/fxmanifest.lua
@@ -1,5 +1,5 @@
game 'common'
-version '1.9.4'
+version '1.9.5'
fx_version 'cerulean'
author 'ESX-Framework'
lua54 'yes'
@@ -11,4 +11,4 @@ loadscreen_manual_shutdown "yes"
client_script 'client/client.lua'
-files {'index.html', './vid/*.mp4', './vid/*.webm', './js/index.js', './css/index.css'}
+files { 'index.html', './vid/*.mp4', './vid/*.webm', './js/index.js', './css/index.css' }
diff --git a/[core]/esx_loadingscreen/index.html b/[core]/esx_loadingscreen/index.html
index 212b9e7e..590de522 100644
--- a/[core]/esx_loadingscreen/index.html
+++ b/[core]/esx_loadingscreen/index.html
@@ -1,25 +1,22 @@
-
-
-
-
-
+
+
+
+
+
-
-
+
diff --git a/[core]/esx_loadingscreen/js/index.js b/[core]/esx_loadingscreen/js/index.js
index e2312b4a..c77c76ca 100644
--- a/[core]/esx_loadingscreen/js/index.js
+++ b/[core]/esx_loadingscreen/js/index.js
@@ -11,12 +11,12 @@
// This copyright should appear in every part of the project code
document.addEventListener("DOMContentLoaded", () => {
- const introTag = document.getElementById("esx_intro");
- const loopTag = document.getElementById("esx_loop");
+ const introTag = document.getElementById("esx_intro");
+ const loopTag = document.getElementById("esx_loop");
- introTag.onended = () => {
- introTag.style.display = "none";
- loopTag.loop = true; // true
- loopTag.play();
- };
+ introTag.onended = () => {
+ introTag.style.display = "none";
+ loopTag.loop = true; // true
+ loopTag.play();
+ };
});
diff --git a/[core]/esx_menu_default/client/main.lua b/[core]/esx_menu_default/client/main.lua
index 65d62d09..b1fbc586 100644
--- a/[core]/esx_menu_default/client/main.lua
+++ b/[core]/esx_menu_default/client/main.lua
@@ -3,7 +3,7 @@ GUI.Time = 0
local function openMenu(namespace, name, data)
CurrentNameSpace = namespace
- OpenedMenus += 1
+ OpenedMenus = OpenedMenus + 1
SendNUIMessage({
action = 'openMenu',
namespace = namespace,
@@ -14,7 +14,10 @@ end
local function closeMenu(namespace, name)
CurrentNameSpace = namespace
- OpenedMenus -= 1
+ OpenedMenus = OpenedMenus - 1
+ if OpenedMenus < 0 then
+ OpenedMenus = 0
+ end
SendNUIMessage({
action = 'closeMenu',
namespace = namespace,
@@ -23,7 +26,7 @@ local function closeMenu(namespace, name)
end
AddEventHandler('onResourceStop', function(resource)
- if GetCurrentResourceName() == resource and OpenedMenus > 0 then
+ if GetCurrentResourceName() == resource and OpenedMenus > 0 then
ESX.UI.Menu.CloseAll()
elseif CurrentNameSpace ~= nil and CurrentNameSpace == resource and OpenedMenus > 0 then
ESX.UI.Menu.CloseAll()
@@ -126,4 +129,4 @@ ESX.RegisterInput('menu_default_right', 'Change menu slider to right', 'keyboard
})
GUI.Time = GetGameTimer()
end
-end)
\ No newline at end of file
+end)
diff --git a/[core]/esx_menu_default/fxmanifest.lua b/[core]/esx_menu_default/fxmanifest.lua
index 8bab549c..7b82980b 100644
--- a/[core]/esx_menu_default/fxmanifest.lua
+++ b/[core]/esx_menu_default/fxmanifest.lua
@@ -4,12 +4,12 @@ game 'gta5'
description 'ESX Menu Default'
lua54 'yes'
-version '1.9.4'
+version '1.9.5'
-client_scripts {'@es_extended/imports.lua', 'client/main.lua'}
+client_scripts { '@es_extended/imports.lua', 'client/main.lua' }
-ui_page {'html/ui.html'}
+ui_page { 'html/ui.html' }
-files {'html/ui.html', 'html/css/app.css', 'html/js/mustache.min.js', 'html/js/app.js'}
+files { 'html/ui.html', 'html/css/app.css', 'html/js/mustache.min.js', 'html/js/app.js' }
-dependencies {'es_extended'}
+dependencies { 'es_extended' }
diff --git a/[core]/esx_menu_default/html/css/app.css b/[core]/esx_menu_default/html/css/app.css
index e7f07e2b..4658b79d 100644
--- a/[core]/esx_menu_default/html/css/app.css
+++ b/[core]/esx_menu_default/html/css/app.css
@@ -1,110 +1,110 @@
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@500;600&display=swap");
::-webkit-scrollbar {
- display: none;
+ display: none;
}
.menu {
- font-family: "Poppins", sans-serif;
- min-width: 350px;
- color: #fff;
- position: absolute;
- background: rgba(33, 33, 33, 0);
- text-align: center;
+ font-family: "Poppins", sans-serif;
+ min-width: 350px;
+ color: #fff;
+ position: absolute;
+ background: rgba(33, 33, 33, 0);
+ text-align: center;
}
.head {
- display: block;
- overflow: hidden;
- padding-bottom: 3px;
- text-align: center;
- margin-bottom: 5px;
- white-space: nowrap;
- background: rgba(10, 10, 10, 0.9);
+ display: block;
+ overflow: hidden;
+ padding-bottom: 3px;
+ text-align: center;
+ margin-bottom: 5px;
+ white-space: nowrap;
+ background: rgba(10, 10, 10, 0.9);
}
.menu .head {
- text-align: center;
- height: 28px;
- color: #ffffff;
- font-weight: 700;
- font-size: 20px;
+ text-align: center;
+ height: 28px;
+ color: #ffffff;
+ font-weight: 700;
+ font-size: 20px;
}
.menu .menu-items {
- max-height: 450px;
- overflow-y: auto;
- font-weight: 550;
+ max-height: 450px;
+ overflow-y: auto;
+ font-weight: 550;
}
.menu-items {
- margin-bottom: 2px;
+ margin-bottom: 2px;
}
.menu .menu-items .menu-item {
- display: block;
- padding: 7px;
- font-size: 13px;
- height: 16px;
- text-indent: 5px;
- margin-top: 5px;
- background: rgba(40, 40, 40, 0.8);
- color: rgb(202, 202, 202);
- border-radius: 5px;
- margin-bottom: 6px;
+ display: block;
+ padding: 7px;
+ font-size: 13px;
+ height: 16px;
+ text-indent: 5px;
+ margin-top: 5px;
+ background: rgba(40, 40, 40, 0.8);
+ color: rgb(202, 202, 202);
+ border-radius: 5px;
+ margin-bottom: 6px;
}
.menu .menu-items .menu-item.selected {
- border: 1px solid rgba(55, 55, 55, 0.9);
- background: rgba(20, 20, 20, 0.9);
- color: rgba(243, 243, 243);
- letter-spacing: 0.2px;
- font-weight: 500;
+ border: 1px solid rgba(55, 55, 55, 0.9);
+ background: rgba(20, 20, 20, 0.9);
+ color: rgba(243, 243, 243);
+ letter-spacing: 0.2px;
+ font-weight: 500;
}
.menu.align-left {
- left: 0;
- top: 50%;
+ left: 0;
+ top: 50%;
}
.menu.align-top-left {
- left: 3rem;
- top: 0;
+ left: 3rem;
+ top: 0;
}
.menu.align-top {
- left: 50%;
- top: 0;
+ left: 50%;
+ top: 0;
}
.menu.align-top-right {
- right: 3rem;
- top: 0;
+ right: 3rem;
+ top: 0;
}
.menu.align-right {
- right: 0;
- top: 50%;
+ right: 0;
+ top: 50%;
}
.menu.align-bottom-right {
- right: 3rem;
- bottom: 0;
+ right: 3rem;
+ bottom: 0;
}
.menu.align-bottom {
- left: 50%;
- bottom: 0;
- transform: translate(0, -50%);
+ left: 50%;
+ bottom: 0;
+ transform: translate(0, -50%);
}
.menu.align-bottom-left {
- left: 3rem;
- bottom: 0;
+ left: 3rem;
+ bottom: 0;
}
.menu.align-center {
- left: 50%;
- top: 35%;
- transform: translate(-50%, 50%);
+ left: 50%;
+ top: 35%;
+ transform: translate(-50%, 50%);
}
diff --git a/[core]/esx_menu_default/html/js/app.js b/[core]/esx_menu_default/html/js/app.js
index d53e3de8..36b960d1 100644
--- a/[core]/esx_menu_default/html/js/app.js
+++ b/[core]/esx_menu_default/html/js/app.js
@@ -1,378 +1,366 @@
(function () {
- let MenuTpl =
- '" +
- "
";
- window.ESX_MENU = {};
- ESX_MENU.ResourceName = "esx_menu_default";
- ESX_MENU.opened = {};
- ESX_MENU.focus = [];
- ESX_MENU.pos = {};
+ let MenuTpl =
+ '" +
+ "";
+ window.ESX_MENU = {};
+ ESX_MENU.ResourceName = "esx_menu_default";
+ ESX_MENU.opened = {};
+ ESX_MENU.focus = [];
+ ESX_MENU.pos = {};
- ESX_MENU.open = function (namespace, name, data) {
- if (typeof ESX_MENU.opened[namespace] == "undefined") {
- ESX_MENU.opened[namespace] = {};
- }
-
- if (typeof ESX_MENU.opened[namespace][name] != "undefined") {
- ESX_MENU.close(namespace, name);
- }
-
- if (typeof ESX_MENU.pos[namespace] == "undefined") {
- ESX_MENU.pos[namespace] = {};
- }
-
- for (let i = 0; i < data.elements.length; i++) {
- if (typeof data.elements[i].type == "undefined") {
- data.elements[i].type = "default";
- }
- }
-
- data._index = ESX_MENU.focus.length;
- data._namespace = namespace;
- data._name = name;
-
- for (let i = 0; i < data.elements.length; i++) {
- data.elements[i]._namespace = namespace;
- data.elements[i]._name = name;
- }
-
- ESX_MENU.opened[namespace][name] = data;
- ESX_MENU.pos[namespace][name] = 0;
-
- for (let i = 0; i < data.elements.length; i++) {
- if (data.elements[i].selected) {
- ESX_MENU.pos[namespace][name] = i;
- } else {
- data.elements[i].selected = false;
- }
- }
-
- ESX_MENU.focus.push({
- namespace: namespace,
- name: name,
- });
-
- ESX_MENU.render();
- $("#menu_" + namespace + "_" + name)
- .find(".menu-item.selected")[0]
- .scrollIntoView();
- };
-
- ESX_MENU.close = function (namespace, name) {
- delete ESX_MENU.opened[namespace][name];
-
- for (let i = 0; i < ESX_MENU.focus.length; i++) {
- if (
- ESX_MENU.focus[i].namespace == namespace &&
- ESX_MENU.focus[i].name == name
- ) {
- ESX_MENU.focus.splice(i, 1);
- break;
- }
- }
-
- ESX_MENU.render();
- };
-
- ESX_MENU.render = function () {
- let menuContainer = document.getElementById("menus");
- let focused = ESX_MENU.getFocused();
- menuContainer.innerHTML = "";
- $(menuContainer).hide();
-
- for (let namespace in ESX_MENU.opened) {
- for (let name in ESX_MENU.opened[namespace]) {
- let menuData = ESX_MENU.opened[namespace][name];
- let view = JSON.parse(JSON.stringify(menuData));
-
- for (let i = 0; i < menuData.elements.length; i++) {
- let element = view.elements[i];
-
- switch (element.type) {
- case "default":
- break;
-
- case "slider": {
- element.isSlider = true;
- element.sliderLabel =
- typeof element.options == "undefined"
- ? element.value
- : element.options[element.value];
-
- break;
- }
-
- default:
- break;
- }
-
- if (i == ESX_MENU.pos[namespace][name]) {
- element.selected = true;
- }
+ ESX_MENU.open = function (namespace, name, data) {
+ if (typeof ESX_MENU.opened[namespace] === "undefined") {
+ ESX_MENU.opened[namespace] = {};
}
- let menu = $(Mustache.render(MenuTpl, view))[0];
- $(menu).hide();
- menuContainer.appendChild(menu);
- }
- }
-
- if (typeof focused != "undefined") {
- $("#menu_" + focused.namespace + "_" + focused.name).show();
- }
-
- $(menuContainer).show();
- };
-
- ESX_MENU.submit = function (namespace, name, data) {
- $.post(
- "http://" + ESX_MENU.ResourceName + "/menu_submit",
- JSON.stringify({
- _namespace: namespace,
- _name: name,
- current: data,
- elements: ESX_MENU.opened[namespace][name].elements,
- })
- );
- };
-
- ESX_MENU.cancel = function (namespace, name) {
- $.post(
- "http://" + ESX_MENU.ResourceName + "/menu_cancel",
- JSON.stringify({
- _namespace: namespace,
- _name: name,
- })
- );
- };
-
- ESX_MENU.change = function (namespace, name, data) {
- $.post(
- "http://" + ESX_MENU.ResourceName + "/menu_change",
- JSON.stringify({
- _namespace: namespace,
- _name: name,
- current: data,
- elements: ESX_MENU.opened[namespace][name].elements,
- })
- );
- };
-
- ESX_MENU.getFocused = function () {
- return ESX_MENU.focus[ESX_MENU.focus.length - 1];
- };
-
- window.onData = (data) => {
- switch (data.action) {
- case "openMenu": {
- ESX_MENU.open(data.namespace, data.name, data.data);
- break;
- }
-
- case "closeMenu": {
- ESX_MENU.close(data.namespace, data.name);
- break;
- }
-
- case "controlPressed": {
- switch (data.control) {
- case "ENTER": {
- let focused = ESX_MENU.getFocused();
-
- if (typeof focused != "undefined") {
- let menu = ESX_MENU.opened[focused.namespace][focused.name];
- let pos = ESX_MENU.pos[focused.namespace][focused.name];
- let elem = menu.elements[pos];
-
- if (menu.elements.length > 0) {
- ESX_MENU.submit(focused.namespace, focused.name, elem);
- }
- }
-
- break;
- }
-
- case "BACKSPACE": {
- let focused = ESX_MENU.getFocused();
-
- if (typeof focused != "undefined") {
- ESX_MENU.cancel(focused.namespace, focused.name);
- }
-
- break;
- }
-
- case "TOP": {
- let focused = ESX_MENU.getFocused();
-
- if (typeof focused != "undefined") {
- let menu = ESX_MENU.opened[focused.namespace][focused.name];
- let pos = ESX_MENU.pos[focused.namespace][focused.name];
-
- if (pos > 0) {
- ESX_MENU.pos[focused.namespace][focused.name]--;
- } else {
- ESX_MENU.pos[focused.namespace][focused.name] =
- menu.elements.length - 1;
- }
-
- let elem =
- menu.elements[ESX_MENU.pos[focused.namespace][focused.name]];
-
- for (let i = 0; i < menu.elements.length; i++) {
- if (i == ESX_MENU.pos[focused.namespace][focused.name]) {
- menu.elements[i].selected = true;
- } else {
- menu.elements[i].selected = false;
- }
- }
-
- ESX_MENU.change(focused.namespace, focused.name, elem);
- ESX_MENU.render();
-
- $("#menu_" + focused.namespace + "_" + focused.name)
- .find(".menu-item.selected")[0]
- .scrollIntoView();
- }
-
- break;
- }
-
- case "DOWN": {
- let focused = ESX_MENU.getFocused();
-
- if (typeof focused != "undefined") {
- let menu = ESX_MENU.opened[focused.namespace][focused.name];
- let pos = ESX_MENU.pos[focused.namespace][focused.name];
- let length = menu.elements.length;
-
- if (pos < length - 1) {
- ESX_MENU.pos[focused.namespace][focused.name]++;
- } else {
- ESX_MENU.pos[focused.namespace][focused.name] = 0;
- }
-
- let elem =
- menu.elements[ESX_MENU.pos[focused.namespace][focused.name]];
-
- for (let i = 0; i < menu.elements.length; i++) {
- if (i == ESX_MENU.pos[focused.namespace][focused.name]) {
- menu.elements[i].selected = true;
- } else {
- menu.elements[i].selected = false;
- }
- }
-
- ESX_MENU.change(focused.namespace, focused.name, elem);
- ESX_MENU.render();
-
- $("#menu_" + focused.namespace + "_" + focused.name)
- .find(".menu-item.selected")[0]
- .scrollIntoView();
- }
-
- break;
- }
-
- case "LEFT": {
- let focused = ESX_MENU.getFocused();
-
- if (typeof focused != "undefined") {
- let menu = ESX_MENU.opened[focused.namespace][focused.name];
- let pos = ESX_MENU.pos[focused.namespace][focused.name];
- let elem = menu.elements[pos];
-
- switch (elem.type) {
- case "default":
- break;
-
- case "slider": {
- let min = typeof elem.min == "undefined" ? 0 : elem.min;
-
- if (elem.value > min) {
- elem.value--;
- ESX_MENU.change(focused.namespace, focused.name, elem);
- }
-
- ESX_MENU.render();
- break;
- }
-
- default:
- break;
- }
-
- $("#menu_" + focused.namespace + "_" + focused.name)
- .find(".menu-item.selected")[0]
- .scrollIntoView();
- }
-
- break;
- }
-
- case "RIGHT": {
- let focused = ESX_MENU.getFocused();
-
- if (typeof focused != "undefined") {
- let menu = ESX_MENU.opened[focused.namespace][focused.name];
- let pos = ESX_MENU.pos[focused.namespace][focused.name];
- let elem = menu.elements[pos];
-
- switch (elem.type) {
- case "default":
- break;
-
- case "slider": {
- if (
- typeof elem.options != "undefined" &&
- elem.value < elem.options.length - 1
- ) {
- elem.value++;
- ESX_MENU.change(focused.namespace, focused.name, elem);
- }
-
- if (typeof elem.max != "undefined" && elem.value < elem.max) {
- elem.value++;
- ESX_MENU.change(focused.namespace, focused.name, elem);
- }
-
- ESX_MENU.render();
- break;
- }
-
- default:
- break;
- }
-
- $("#menu_" + focused.namespace + "_" + focused.name)
- .find(".menu-item.selected")[0]
- .scrollIntoView();
- }
-
- break;
- }
-
- default:
- break;
+ if (typeof ESX_MENU.opened[namespace][name] != "undefined") {
+ ESX_MENU.close(namespace, name);
}
- break;
- }
- }
- };
+ if (typeof ESX_MENU.pos[namespace] === "undefined") {
+ ESX_MENU.pos[namespace] = {};
+ }
- window.onload = function (e) {
- window.addEventListener("message", (event) => {
- onData(event.data);
- });
- };
+ for (let i = 0; i < data.elements.length; i++) {
+ if (typeof data.elements[i].type === "undefined") {
+ data.elements[i].type = "default";
+ }
+ }
+
+ data._index = ESX_MENU.focus.length;
+ data._namespace = namespace;
+ data._name = name;
+
+ for (let i = 0; i < data.elements.length; i++) {
+ data.elements[i]._namespace = namespace;
+ data.elements[i]._name = name;
+ }
+
+ ESX_MENU.opened[namespace][name] = data;
+ ESX_MENU.pos[namespace][name] = 0;
+
+ for (let i = 0; i < data.elements.length; i++) {
+ if (data.elements[i].selected) {
+ ESX_MENU.pos[namespace][name] = i;
+ } else {
+ data.elements[i].selected = false;
+ }
+ }
+
+ ESX_MENU.focus.push({
+ namespace: namespace,
+ name: name,
+ });
+
+ ESX_MENU.render();
+ $("#menu_" + namespace + "_" + name)
+ .find(".menu-item.selected")[0]
+ .scrollIntoView();
+ };
+
+ ESX_MENU.close = function (namespace, name) {
+ delete ESX_MENU.opened[namespace][name];
+
+ for (let i = 0; i < ESX_MENU.focus.length; i++) {
+ if (ESX_MENU.focus[i].namespace === namespace && ESX_MENU.focus[i].name === name) {
+ ESX_MENU.focus.splice(i, 1);
+ break;
+ }
+ }
+
+ ESX_MENU.render();
+ };
+
+ ESX_MENU.render = function () {
+ let menuContainer = document.getElementById("menus");
+ let focused = ESX_MENU.getFocused();
+ menuContainer.innerHTML = "";
+ $(menuContainer).hide();
+
+ for (let namespace in ESX_MENU.opened) {
+ for (let name in ESX_MENU.opened[namespace]) {
+ let menuData = ESX_MENU.opened[namespace][name];
+ let view = JSON.parse(JSON.stringify(menuData));
+
+ for (let i = 0; i < menuData.elements.length; i++) {
+ let element = view.elements[i];
+
+ switch (element.type) {
+ case "default":
+ break;
+
+ case "slider": {
+ element.isSlider = true;
+ element.sliderLabel = typeof element.options === "undefined" ? element.value : element.options[element.value];
+
+ break;
+ }
+
+ default:
+ break;
+ }
+
+ if (i === ESX_MENU.pos[namespace][name]) {
+ element.selected = true;
+ }
+ }
+
+ let menu = $(Mustache.render(MenuTpl, view))[0];
+ $(menu).hide();
+ menuContainer.appendChild(menu);
+ }
+ }
+
+ if (typeof focused != "undefined") {
+ $("#menu_" + focused.namespace + "_" + focused.name).show();
+ }
+
+ $(menuContainer).show();
+ };
+
+ ESX_MENU.submit = function (namespace, name, data) {
+ $.post(
+ "http://" + ESX_MENU.ResourceName + "/menu_submit",
+ JSON.stringify({
+ _namespace: namespace,
+ _name: name,
+ current: data,
+ elements: ESX_MENU.opened[namespace][name].elements,
+ })
+ );
+ };
+
+ ESX_MENU.cancel = function (namespace, name) {
+ $.post(
+ "http://" + ESX_MENU.ResourceName + "/menu_cancel",
+ JSON.stringify({
+ _namespace: namespace,
+ _name: name,
+ })
+ );
+ };
+
+ ESX_MENU.change = function (namespace, name, data) {
+ $.post(
+ "http://" + ESX_MENU.ResourceName + "/menu_change",
+ JSON.stringify({
+ _namespace: namespace,
+ _name: name,
+ current: data,
+ elements: ESX_MENU.opened[namespace][name].elements,
+ })
+ );
+ };
+
+ ESX_MENU.getFocused = function () {
+ return ESX_MENU.focus[ESX_MENU.focus.length - 1];
+ };
+
+ window.onData = (data) => {
+ switch (data.action) {
+ case "openMenu": {
+ ESX_MENU.open(data.namespace, data.name, data.data);
+ break;
+ }
+
+ case "closeMenu": {
+ ESX_MENU.close(data.namespace, data.name);
+ break;
+ }
+
+ case "controlPressed": {
+ switch (data.control) {
+ case "ENTER": {
+ let focused = ESX_MENU.getFocused();
+
+ if (typeof focused != "undefined") {
+ let menu = ESX_MENU.opened[focused.namespace][focused.name];
+ let pos = ESX_MENU.pos[focused.namespace][focused.name];
+ let elem = menu.elements[pos];
+
+ if (menu.elements.length > 0) {
+ ESX_MENU.submit(focused.namespace, focused.name, elem);
+ }
+ }
+
+ break;
+ }
+
+ case "BACKSPACE": {
+ let focused = ESX_MENU.getFocused();
+
+ if (typeof focused != "undefined") {
+ ESX_MENU.cancel(focused.namespace, focused.name);
+ }
+
+ break;
+ }
+
+ case "TOP": {
+ let focused = ESX_MENU.getFocused();
+
+ if (typeof focused != "undefined") {
+ let menu = ESX_MENU.opened[focused.namespace][focused.name];
+ let pos = ESX_MENU.pos[focused.namespace][focused.name];
+
+ if (pos > 0) {
+ ESX_MENU.pos[focused.namespace][focused.name]--;
+ } else {
+ ESX_MENU.pos[focused.namespace][focused.name] = menu.elements.length - 1;
+ }
+
+ let elem = menu.elements[ESX_MENU.pos[focused.namespace][focused.name]];
+
+ for (let i = 0; i < menu.elements.length; i++) {
+ if (i === ESX_MENU.pos[focused.namespace][focused.name]) {
+ menu.elements[i].selected = true;
+ } else {
+ menu.elements[i].selected = false;
+ }
+ }
+
+ ESX_MENU.change(focused.namespace, focused.name, elem);
+ ESX_MENU.render();
+
+ $("#menu_" + focused.namespace + "_" + focused.name)
+ .find(".menu-item.selected")[0]
+ .scrollIntoView();
+ }
+
+ break;
+ }
+
+ case "DOWN": {
+ let focused = ESX_MENU.getFocused();
+
+ if (typeof focused != "undefined") {
+ let menu = ESX_MENU.opened[focused.namespace][focused.name];
+ let pos = ESX_MENU.pos[focused.namespace][focused.name];
+ let length = menu.elements.length;
+
+ if (pos < length - 1) {
+ ESX_MENU.pos[focused.namespace][focused.name]++;
+ } else {
+ ESX_MENU.pos[focused.namespace][focused.name] = 0;
+ }
+
+ let elem = menu.elements[ESX_MENU.pos[focused.namespace][focused.name]];
+
+ for (let i = 0; i < menu.elements.length; i++) {
+ if (i === ESX_MENU.pos[focused.namespace][focused.name]) {
+ menu.elements[i].selected = true;
+ } else {
+ menu.elements[i].selected = false;
+ }
+ }
+
+ ESX_MENU.change(focused.namespace, focused.name, elem);
+ ESX_MENU.render();
+
+ $("#menu_" + focused.namespace + "_" + focused.name)
+ .find(".menu-item.selected")[0]
+ .scrollIntoView();
+ }
+
+ break;
+ }
+
+ case "LEFT": {
+ let focused = ESX_MENU.getFocused();
+
+ if (typeof focused != "undefined") {
+ let menu = ESX_MENU.opened[focused.namespace][focused.name];
+ let pos = ESX_MENU.pos[focused.namespace][focused.name];
+ let elem = menu.elements[pos];
+
+ switch (elem.type) {
+ case "default":
+ break;
+
+ case "slider": {
+ let min = typeof elem.min === "undefined" ? 0 : elem.min;
+
+ if (elem.value > min) {
+ elem.value--;
+ ESX_MENU.change(focused.namespace, focused.name, elem);
+ }
+
+ ESX_MENU.render();
+ break;
+ }
+
+ default:
+ break;
+ }
+
+ $("#menu_" + focused.namespace + "_" + focused.name)
+ .find(".menu-item.selected")[0]
+ .scrollIntoView();
+ }
+
+ break;
+ }
+
+ case "RIGHT": {
+ let focused = ESX_MENU.getFocused();
+
+ if (typeof focused != "undefined") {
+ let menu = ESX_MENU.opened[focused.namespace][focused.name];
+ let pos = ESX_MENU.pos[focused.namespace][focused.name];
+ let elem = menu.elements[pos];
+
+ switch (elem.type) {
+ case "default":
+ break;
+
+ case "slider": {
+ if (typeof elem.options != "undefined" && elem.value < elem.options.length - 1) {
+ elem.value++;
+ ESX_MENU.change(focused.namespace, focused.name, elem);
+ }
+
+ if (typeof elem.max != "undefined" && elem.value < elem.max) {
+ elem.value++;
+ ESX_MENU.change(focused.namespace, focused.name, elem);
+ }
+
+ ESX_MENU.render();
+ break;
+ }
+
+ default:
+ break;
+ }
+
+ $("#menu_" + focused.namespace + "_" + focused.name)
+ .find(".menu-item.selected")[0]
+ .scrollIntoView();
+ }
+
+ break;
+ }
+
+ default:
+ break;
+ }
+
+ break;
+ }
+ }
+ };
+
+ window.onload = function (e) {
+ window.addEventListener("message", (event) => {
+ onData(event.data);
+ });
+ };
})();
diff --git a/[core]/esx_menu_default/html/js/mustache.min.js b/[core]/esx_menu_default/html/js/mustache.min.js
index 520cfcb9..f3656597 100644
--- a/[core]/esx_menu_default/html/js/mustache.min.js
+++ b/[core]/esx_menu_default/html/js/mustache.min.js
@@ -1 +1,347 @@
-(function defineMustache(global,factory){if(typeof exports==="object"&&exports&&typeof exports.nodeName!=="string"){factory(exports)}else if(typeof define==="function"&&define.amd){define(["exports"],factory)}else{global.Mustache={};factory(global.Mustache)}})(this,function mustacheFactory(mustache){var objectToString=Object.prototype.toString;var isArray=Array.isArray||function isArrayPolyfill(object){return objectToString.call(object)==="[object Array]"};function isFunction(object){return typeof object==="function"}function typeStr(obj){return isArray(obj)?"array":typeof obj}function escapeRegExp(string){return string.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function hasProperty(obj,propName){return obj!=null&&typeof obj==="object"&&propName in obj}var regExpTest=RegExp.prototype.test;function testRegExp(re,string){return regExpTest.call(re,string)}var nonSpaceRe=/\S/;function isWhitespace(string){return!testRegExp(nonSpaceRe,string)}var entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};function escapeHtml(string){return String(string).replace(/[&<>"'`=\/]/g,function fromEntityMap(s){return entityMap[s]})}var whiteRe=/\s*/;var spaceRe=/\s+/;var equalsRe=/\s*=/;var curlyRe=/\s*\}/;var tagRe=/#|\^|\/|>|\{|&|=|!/;function parseTemplate(template,tags){if(!template)return[];var sections=[];var tokens=[];var spaces=[];var hasTag=false;var nonSpace=false;function stripSpace(){if(hasTag&&!nonSpace){while(spaces.length)delete tokens[spaces.pop()]}else{spaces=[]}hasTag=false;nonSpace=false}var openingTagRe,closingTagRe,closingCurlyRe;function compileTags(tagsToCompile){if(typeof tagsToCompile==="string")tagsToCompile=tagsToCompile.split(spaceRe,2);if(!isArray(tagsToCompile)||tagsToCompile.length!==2)throw new Error("Invalid tags: "+tagsToCompile);openingTagRe=new RegExp(escapeRegExp(tagsToCompile[0])+"\\s*");closingTagRe=new RegExp("\\s*"+escapeRegExp(tagsToCompile[1]));closingCurlyRe=new RegExp("\\s*"+escapeRegExp("}"+tagsToCompile[1]))}compileTags(tags||mustache.tags);var scanner=new Scanner(template);var start,type,value,chr,token,openSection;while(!scanner.eos()){start=scanner.pos;value=scanner.scanUntil(openingTagRe);if(value){for(var i=0,valueLength=value.length;i