diff --git a/[core]/cron/server/main.lua b/[core]/cron/server/main.lua index bc8f81d0..51da085d 100644 --- a/[core]/cron/server/main.lua +++ b/[core]/cron/server/main.lua @@ -1,51 +1,75 @@ -local Jobs = {} -local LastTime = nil +---@class CronJob +---@field h number +---@field m number +---@field cb function|table +---@type CronJob[] +local cronJobs = {} +---@type number|false +local lastTimestamp = false + +---@param h number +---@param m number +---@param cb function|table function RunAt(h, m, cb) - Jobs[#Jobs + 1] = { + cronJobs[#cronJobs + 1] = { h = h, m = m, cb = cb, } end +---@return number function GetUnixTimestamp() return os.time() end -function OnTime(time) - for i = 1, #Jobs, 1 do +---@param timestamp number +function OnTime(timestamp) + for i = 1, #cronJobs, 1 do local scheduledTimestamp = os.time({ - hour = Jobs[i].h, - min = Jobs[i].m, + hour = cronJobs[i].h, + min = cronJobs[i].m, sec = 0, -- Assuming tasks run at the start of the minute - day = os.date("%d", time), - month = os.date("%m", time), - year = os.date("%Y", time), + day = os.date("%d", timestamp), + month = os.date("%m", timestamp), + year = os.date("%Y", timestamp), }) - if time >= scheduledTimestamp and (not LastTime or LastTime < scheduledTimestamp) then + if timestamp >= scheduledTimestamp and (not lastTimestamp or lastTimestamp < scheduledTimestamp) then local d = os.date('*t', scheduledTimestamp).wday - Jobs[i].cb(d, Jobs[i].h, Jobs[i].m) + cronJobs[i].cb(d, cronJobs[i].h, cronJobs[i].m) end end end +---@return nil function Tick() - local time = GetUnixTimestamp() + local timestamp = GetUnixTimestamp() - if not LastTime or os.date("%M", time) ~= os.date("%M", LastTime) then - OnTime(time) - LastTime = time + if not lastTimestamp or os.date("%M", timestamp) ~= os.date("%M", lastTimestamp) then + OnTime(timestamp) + lastTimestamp = timestamp end SetTimeout(60000, Tick) end -LastTime = GetUnixTimestamp() - +lastTimestamp = GetUnixTimestamp() Tick() +---@param h number +---@param m number +---@param cb function|table AddEventHandler("cron:runAt", function(h, m, cb) + local invokingResource = GetInvokingResource() or "Unknown" + local typeH = type(h) + local typeM = type(m) + local typeCb = type(cb) + + assert(typeH == "number", ("Expected number for h, got %s. Invoking Resource: '%s'"):format(typeH, invokingResource)) + assert(typeM == "number", ("Expected number for m, got %s. Invoking Resource: '%s'"):format(typeM, invokingResource)) + assert(typeCb == "function" or (typeCb == "table" and type(getmetatable(cb)?.__call) == "function"), ("Expected function for cb, got %s. Invoking Resource: '%s'"):format(typeCb, invokingResource)) + RunAt(h, m, cb) end) diff --git a/[core]/es_extended/client/imports/class.lua b/[core]/es_extended/client/imports/class.lua new file mode 100644 index 00000000..0b21d998 --- /dev/null +++ b/[core]/es_extended/client/imports/class.lua @@ -0,0 +1,21 @@ +local class = {} +class.__index = class + +function class:new(...) + local instance = setmetatable({}, self) + if instance.constructor then + local ret = instance:constructor(...) + if type(ret) == 'table' then + return ret + end + end + return instance +end + +function Class(body, heritage) + local prototype = body or {} + prototype.__index = prototype + return setmetatable(prototype, heritage or class) +end + +return Class \ No newline at end of file diff --git a/[core]/es_extended/client/imports/point.lua b/[core]/es_extended/client/imports/point.lua new file mode 100644 index 00000000..55ec92bc --- /dev/null +++ b/[core]/es_extended/client/imports/point.lua @@ -0,0 +1,44 @@ +Point = ESX.Class() + +function Point:constructor(properties) + self.coords = properties.coords + self.hidden = properties.hidden or false + self.inside = properties.inside or function() end + self.enter = properties.enter or function() end + self.leave = properties.leave or function() end + self.handle = ESX.CreatePointInternal(properties.coords, properties.distance, properties.hidden, function() + self.nearby = true + if self.enter then + self:enter() + end + if self.inside then + CreateThread(function() + while self.nearby do + local coords = GetEntityCoords(ESX.PlayerData.ped) + self.currDistance = #(coords - self.coords) + self:inside() + Wait(0) + end + end) + end + end, function() + self.nearby = false + if self.leave then + self:leave() + end + end) +end + +function Point:delete() + ESX.RemovePointInternal(self.handle) +end + +function Point:toggle(hidden) + if hidden == nil then + hidden = not self.hidden + end + self.hidden = hidden + ESX.HidePointInternal(self.handle, hidden) +end + +return Point \ No newline at end of file diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index ea49ba17..b989857f 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -54,7 +54,7 @@ RegisterNetEvent("esx:playerLoaded", function(xPlayer, _, skin) end Actions:Init() - + StartPointsLoop() StartServerSyncLoops() end) diff --git a/[core]/es_extended/client/modules/actions.lua b/[core]/es_extended/client/modules/actions.lua index 750d3bea..23189d98 100644 --- a/[core]/es_extended/client/modules/actions.lua +++ b/[core]/es_extended/client/modules/actions.lua @@ -152,7 +152,6 @@ function Actions:PedLoop() end) end - function Actions:Init() self:SlowLoop() self:PedLoop() diff --git a/[core]/es_extended/client/modules/callback.lua b/[core]/es_extended/client/modules/callback.lua index 738b3bb1..bd47e447 100644 --- a/[core]/es_extended/client/modules/callback.lua +++ b/[core]/es_extended/client/modules/callback.lua @@ -7,33 +7,44 @@ Callbacks.storage = {} Callbacks.id = 0 function Callbacks:Trigger(event, cb, invoker, ...) - self.requests[self.id] = cb + + self.requests[self.id] = { + await = type(cb) == "boolean", + cb = cb or promise:new() + } + local table = self.requests[self.id] + TriggerServerEvent("esx:triggerServerCallback", event, self.id, invoker, ...) self.id += 1 + + return table.cb end -function Callbacks:Execute(cb, ...) +function Callbacks:Execute(cb, id, ...) local success, errorString = pcall(cb, ...) if not success then - print(("[^1ERROR^7] Failed to execute Callback with RequestId: ^5%s^7"):format(self.currentId)) + print(("[^1ERROR^7] Failed to execute Callback with RequestId: ^5%s^7"):format(id)) error(errorString) return end - self.currentId = nil end function Callbacks:ServerRecieve(requestId, invoker, ...) - self.currentId = requestId - if not self.requests[self.currentId] then - return error(("Server Callback with requestId ^5%s^1 Was Called by ^5%s^1 but does not exist."):format(self.currentId, invoker)) + if not self.requests[requestId] then + return error(("Server Callback with requestId ^5%s^1 Was Called by ^5%s^1 but does not exist."):format(requestId, invoker)) end - local callback = self.requests[self.currentId] + local callback = self.requests[requestId] - Callbacks:Execute(callback, ...) self.requests[requestId] = nil + + if callback.await then + callback.cb:resolve({...}) + else + self:Execute(callback.cb, requestId, ...) + end end function Callbacks:Register(name, cb) @@ -41,7 +52,6 @@ function Callbacks:Register(name, cb) end function Callbacks:ClientRecieve(eventName, requestId, invoker, ...) - self.currentId = requestId if not self.storage[eventName] then return error(("Client Callback with requestId ^5%s^1 Was Called by ^5%s^1 but does not exist."):format(eventName, invoker)) @@ -52,7 +62,7 @@ function Callbacks:ClientRecieve(eventName, requestId, invoker, ...) end local callback = self.storage[eventName] - Callbacks:Execute(callback, returnCb, ...) + self:Execute(callback, requestId, returnCb, ...) end ---@param eventName string @@ -66,6 +76,28 @@ ESX.TriggerServerCallback = function(eventName, callback, ...) Callbacks:Trigger(eventName, callback, invoker, ...) end +---@param eventName string +---@param ... any +---@return any +ESX.AwaitServerCallback = function(eventName, ...) + local invokingResource = GetInvokingResource() + local invoker = (invokingResource and invokingResource ~= "unknown") and invokingResource or "es_extended" + + local p = Callbacks:Trigger(eventName, false, invoker, ...) + if not p then return end + + -- if the server callback takes longer than 15 seconds to respond, reject the promise + SetTimeout(15000, function() + if p.state == "pending" then + p:reject("Server Callback Timed Out") + end + end) + + Citizen.Await(p) + + return table.unpack(p.value) +end + ESX.SecureNetEvent("esx:serverCallback", function(...) Callbacks:ServerRecieve(...) end) diff --git a/[core]/es_extended/client/modules/points.lua b/[core]/es_extended/client/modules/points.lua new file mode 100644 index 00000000..fee318be --- /dev/null +++ b/[core]/es_extended/client/modules/points.lua @@ -0,0 +1,57 @@ +local points = {} + +function ESX.CreatePointInternal(coords, distance, hidden, enter, leave) + local point = { + coords = coords, + distance = distance, + hidden = hidden, + enter = enter, + leave = leave, + resource = GetInvokingResource() + } + local handle = ESX.Table.SizeOf(points) + 1 + points[handle] = point + return handle +end + +function ESX.RemovePointInternal(handle) + points[handle] = nil +end + +function ESX.HidePointInternal(handle, hidden) + if points[handle] then + points[handle].hidden = hidden + end +end + +function StartPointsLoop() + CreateThread(function() + while true do + local coords = GetEntityCoords(ESX.PlayerData.ped) + for i, point in pairs(points) do + local distance = #(coords - point.coords) + + if not point.hidden and distance <= point.distance then + if not point.nearby then + points[i].nearby = true + points[i].enter() + end + point.currentDistance = distance + elseif point.nearby then + points[i].nearby = false + points[i].leave() + end + end + Wait(500) + end + end) +end + + +AddEventHandler('onResourceStop', function(resource) + for i, point in pairs(points) do + if point.resource == resource then + points[i] = nil + end + end +end) diff --git a/[core]/es_extended/fxmanifest.lua b/[core]/es_extended/fxmanifest.lua index 9dcef5d5..22bb27e8 100644 --- a/[core]/es_extended/fxmanifest.lua +++ b/[core]/es_extended/fxmanifest.lua @@ -45,6 +45,7 @@ client_scripts { 'client/modules/wrapper.lua', 'client/modules/callback.lua', 'client/modules/adjustments.lua', + 'client/modules/points.lua', 'client/main.lua', @@ -73,6 +74,7 @@ files { 'html/fonts/pdown.ttf', 'html/fonts/bankgothic.ttf', + "client/imports/*.lua", } dependencies { diff --git a/[core]/es_extended/imports.lua b/[core]/es_extended/imports.lua index c4bb76c7..d6eb1449 100644 --- a/[core]/es_extended/imports.lua +++ b/[core]/es_extended/imports.lua @@ -21,4 +21,23 @@ if not IsDuplicityVersion() then -- Only register this event for the client ESX.PlayerLoaded = false ESX.PlayerData = {} end) + + local external = {{"Class", "class.lua"}, {"Point", "point.lua"}} + for i=1, #external do + local module = external[i] + local path = string.format("client/imports/%s", module[2]) + + local file = LoadResourceFile("es_extended", path) + if file then + local fn, err = load(file, ('@@es_extended/%s'):format(path)) + + if not fn or err then + return error(('\n^1Error importing module (%s)'):format(external[i])) + end + + ESX[module[1]] = fn() + else + return error(('\n^1Error loading module (%s)'):format(external[i])) + end + end end diff --git a/[core]/es_extended/locales/cs.lua b/[core]/es_extended/locales/cs.lua index 0e9d3a92..a9b278fd 100644 --- a/[core]/es_extended/locales/cs.lua +++ b/[core]/es_extended/locales/cs.lua @@ -368,4 +368,36 @@ Locales["cs"] = { ["tint_lspd"] = "blue skin", ["tint_orange"] = "orange skin", ["tint_platinum"] = "platinum skin", + -- MK2 Weapon Tints + ["tint_classic_gray"] = "klasická šedá", + ["tint_classic_two_tone"] = "klasická dvoutónová", + ["tint_classic_white"] = "klasická bílá", + ["tint_classic_beige"] = "klasická béžová", + ["tint_classic_green"] = "klasická zelená", + ["tint_classic_blue"] = "klasická modrá", + ["tint_classic_earth"] = "klasická hnědá", + ["tint_classic_brown_black"] = "klasická hnědá-černá", + ["tint_contrast_red"] = "kontrastní červená", + ["tint_contrast_blue"] = "kontrastní modrá", + ["tint_contrast_yellow"] = "kontrastní žlutá", + ["tint_contrast_orange"] = "kontrastní oranžová", + ["tint_bold_pink"] = "odvážná růžová", + ["tint_bold_purple_yellow"] = "odvážná fialovo-žlutá", + ["tint_bold_orange"] = "odvážná oranžová", + ["tint_bold_green_purple"] = "odvážná zeleno-fialová", + ["tint_bold_red_feat"] = "odvážná červená feat", + ["tint_bold_green_feat"] = "odvážná zelená feat", + ["tint_bold_cyan_feat"] = "odvážná azurová feat", + ["tint_bold_yellow_feat"] = "odvážná žlutá feat", + ["tint_bold_red_white"] = "odvážná červená bílá", + ["tint_bold_blue_white"] = "odvážná modrá bílá", + ["tint_metallic_gold"] = "metalická zlatá", + ["tint_metallic_platinum"] = "metalická platina", + ["tint_metallic_gray_lilac"] = "metalická šedá lila", + ["tint_metallic_purple_lime"] = "metalická fialová limetka", + ["tint_metallic_red"] = "metalická červená", + ["tint_metallic_green"] = "metalická zelená", + ["tint_metallic_blue"] = "metalická modrá", + ["tint_metallic_white_aqua"] = "metalická bílá aqua", + ["tint_metallic_red_yellow"] = "metalická červená žlutá", } diff --git a/[core]/es_extended/locales/de.lua b/[core]/es_extended/locales/de.lua index cbdb524d..da224c3a 100644 --- a/[core]/es_extended/locales/de.lua +++ b/[core]/es_extended/locales/de.lua @@ -21,7 +21,7 @@ Locales["de"] = { ["received_weapon_ammo"] = "Du bekommst ~o~%sx %s für deine %s von %s", ["received_weapon_withammo"] = "Du bekommst %s mit ~o~%sx %s von %s", ["received_weapon_hasalready"] = "%s hat versucht dir eine %s zu geben, jedoch hast du diese Waffe bereits!", - ["received_weapon_noweapon"] = "%s hat versucht dir Munition für eine %s zu geben, jedoch hast du diese Waffe bereits!", + ["received_weapon_noweapon"] = "%s hat versucht dir Munition für eine %s zu geben, jedoch hast du diese Waffe nicht!", ["gave_account_money"] = "Du gibst %s€ (%s) an %s", ["received_account_money"] = "Du bekommst %s€ (%s) von %s", ["amount_invalid"] = "Ungültige Anzahl", @@ -378,4 +378,37 @@ Locales["de"] = { ["tint_lspd"] = "Blau", ["tint_orange"] = "Orange", ["tint_platinum"] = "Platin", + -- MK2 Weapon Tints + ["tint_classic_black"] = "klassisches Schwarz", + ["tint_classic_gray"] = "klassisches Grau", + ["tint_classic_two_tone"] = "klassisches Zwei-Ton", + ["tint_classic_white"] = "klassisches Weiß", + ["tint_classic_beige"] = "klassisches Beige", + ["tint_classic_green"] = "klassisches Grün", + ["tint_classic_blue"] = "klassisches Blau", + ["tint_classic_earth"] = "klassisches Erdfarben", + ["tint_classic_brown_black"] = "klassisches Braun-Schwarz", + ["tint_contrast_red"] = "Kontrast Rot", + ["tint_contrast_blue"] = "Kontrast Blau", + ["tint_contrast_yellow"] = "Kontrast Gelb", + ["tint_contrast_orange"] = "Kontrast Orange", + ["tint_bold_pink"] = "fette Pink", + ["tint_bold_purple_yellow"] = "fette Lila-Gelb", + ["tint_bold_orange"] = "fette Orange", + ["tint_bold_green_purple"] = "fette Grün-Lila", + ["tint_bold_red_feat"] = "fette Rot feat", + ["tint_bold_green_feat"] = "fette Grün feat", + ["tint_bold_cyan_feat"] = "fette Cyan feat", + ["tint_bold_yellow_feat"] = "fette Gelb feat", + ["tint_bold_red_white"] = "fette Rot Weiß", + ["tint_bold_blue_white"] = "fette Blau Weiß", + ["tint_metallic_gold"] = "metallisches Gold", + ["tint_metallic_platinum"] = "metallisches Platin", + ["tint_metallic_gray_lilac"] = "metallisches Grau-Lila", + ["tint_metallic_purple_lime"] = "metallisches Lila-Limette", + ["tint_metallic_red"] = "metallisches Rot", + ["tint_metallic_green"] = "metallisches Grün", + ["tint_metallic_blue"] = "metallisches Blau", + ["tint_metallic_white_aqua"] = "metallisches Weiß-Aqua", + ["tint_metallic_red_yellow"] = "metallisches Rot-Gelb", } diff --git a/[core]/es_extended/locales/el.lua b/[core]/es_extended/locales/el.lua index 1de660c6..ba1d1ab0 100644 --- a/[core]/es_extended/locales/el.lua +++ b/[core]/es_extended/locales/el.lua @@ -378,4 +378,37 @@ Locales["el"] = { ["tint_lspd"] = "μπλε δέρμα", ["tint_orange"] = "πορτοκαλί δέρμα", ["tint_platinum"] = "πλατίνενο δέρμα", + -- MK2 Weapon Tints + ["tint_classic_black"] = "κλασικό μαύρο", + ["tint_classic_gray"] = "κλασικό γκρι", + ["tint_classic_two_tone"] = "κλασικό δίχρωμο", + ["tint_classic_white"] = "κλασικό λευκό", + ["tint_classic_beige"] = "κλασικό μπεζ", + ["tint_classic_green"] = "κλασικό πράσινο", + ["tint_classic_blue"] = "κλασικό μπλε", + ["tint_classic_earth"] = "κλασική γή", + ["tint_classic_brown_black"] = "κλασικό καφέ-μαύρο", + ["tint_contrast_red"] = "αντίθεση κόκκινο", + ["tint_contrast_blue"] = "αντίθεση μπλε", + ["tint_contrast_yellow"] = "αντίθεση κίτρινο", + ["tint_contrast_orange"] = "αντίθεση πορτοκαλί", + ["tint_bold_pink"] = "τολμηρό ροζ", + ["tint_bold_purple_yellow"] = "τολμηρό μοβ-κίτρινο", + ["tint_bold_orange"] = "τολμηρό πορτοκαλί", + ["tint_bold_green_purple"] = "τολμηρό πράσινο-μοβ", + ["tint_bold_red_feat"] = "τολμηρό κόκκινο feat", + ["tint_bold_green_feat"] = "τολμηρό πράσινο feat", + ["tint_bold_cyan_feat"] = "τολμηρό κυανό feat", + ["tint_bold_yellow_feat"] = "τολμηρό κίτρινο feat", + ["tint_bold_red_white"] = "τολμηρό κόκκινο λευκό", + ["tint_bold_blue_white"] = "τολμηρό μπλε λευκό", + ["tint_metallic_gold"] = "μεταλλικό χρυσό", + ["tint_metallic_platinum"] = "μεταλλικό πλατίνα", + ["tint_metallic_gray_lilac"] = "μεταλλικό γκρι λιλά", + ["tint_metallic_purple_lime"] = "μεταλλικό μοβ-λάιμ", + ["tint_metallic_red"] = "μεταλλικό κόκκινο", + ["tint_metallic_green"] = "μεταλλικό πράσινο", + ["tint_metallic_blue"] = "μεταλλικό μπλε", + ["tint_metallic_white_aqua"] = "μεταλλικό λευκό aqua", + ["tint_metallic_red_yellow"] = "μεταλλικό κόκκινο-κίτρινο", } diff --git a/[core]/es_extended/locales/en.lua b/[core]/es_extended/locales/en.lua index 10a0bdd5..c0b71869 100644 --- a/[core]/es_extended/locales/en.lua +++ b/[core]/es_extended/locales/en.lua @@ -378,4 +378,37 @@ Locales["en"] = { ["tint_lspd"] = "blue skin", ["tint_orange"] = "orange skin", ["tint_platinum"] = "platinum skin", + -- MK2 Weapon Tints + ["tint_classic_black"] = "classic black", + ["tint_classic_gray"] = "classic gray", + ["tint_classic_two_tone"] = "classic two-tone", + ["tint_classic_white"] = "classic white", + ["tint_classic_beige"] = "classic beige", + ["tint_classic_green"] = "classic green", + ["tint_classic_blue"] = "classic blue", + ["tint_classic_earth"] = "classic earth", + ["tint_classic_brown_black"] = "classic brown-black", + ["tint_contrast_red"] = "contrast red", + ["tint_contrast_blue"] = "contrast blue", + ["tint_contrast_yellow"] = "contrast yellow", + ["tint_contrast_orange"] = "contrast orange", + ["tint_bold_pink"] = "bold pink", + ["tint_bold_purple_yellow"] = "bold purple-yellow", + ["tint_bold_orange"] = "bold orange", + ["tint_bold_green_purple"] = "bold green-purple", + ["tint_bold_red_feat"] = "bold red feat", + ["tint_bold_green_feat"] = "bold green feat", + ["tint_bold_cyan_feat"] = "bold cyan feat", + ["tint_bold_yellow_feat"] = "bold yellow feat", + ["tint_bold_red_white"] = "bold red-white", + ["tint_bold_blue_white"] = "bold blue-white", + ["tint_metallic_gold"] = "metallic gold", + ["tint_metallic_platinum"] = "metallic platinum", + ["tint_metallic_gray_lilac"] = "metallic gray-lilac", + ["tint_metallic_purple_lime"] = "metallic purple-lime", + ["tint_metallic_red"] = "metallic red", + ["tint_metallic_green"] = "metallic green", + ["tint_metallic_blue"] = "metallic blue", + ["tint_metallic_white_aqua"] = "metallic white-aqua", + ["tint_metallic_red_yellow"] = "metallic red-yellow", } diff --git a/[core]/es_extended/locales/es.lua b/[core]/es_extended/locales/es.lua index 9ee9a33b..9d03a65d 100644 --- a/[core]/es_extended/locales/es.lua +++ b/[core]/es_extended/locales/es.lua @@ -363,8 +363,37 @@ Locales["es"] = { ["tint_lspd"] = "Skin Azul", ["tint_orange"] = "Skin Naranja", ["tint_platinum"] = "Skin Plata", - - -- Duty related - ["stopped_duty"] = "Has salido de servicio.", - ["started_duty"] = "Has entrado de servicio.", + -- MK2 Weapon Tints + ["tint_classic_black"] = "negro clásico", + ["tint_classic_gray"] = "gris clásico", + ["tint_classic_two_tone"] = "dos tonos clásicos", + ["tint_classic_white"] = "blanco clásico", + ["tint_classic_beige"] = "beige clásico", + ["tint_classic_green"] = "verde clásico", + ["tint_classic_blue"] = "azul clásico", + ["tint_classic_earth"] = "tierra clásica", + ["tint_classic_brown_black"] = "marrón negro clásico", + ["tint_contrast_red"] = "rojo de contraste", + ["tint_contrast_blue"] = "azul de contraste", + ["tint_contrast_yellow"] = "amarillo de contraste", + ["tint_contrast_orange"] = "naranja de contraste", + ["tint_bold_pink"] = "rosa atrevida", + ["tint_bold_purple_yellow"] = "púrpura amarilla atrevida", + ["tint_bold_orange"] = "naranja atrevido", + ["tint_bold_green_purple"] = "verde púrpura atrevido", + ["tint_bold_red_feat"] = "rojo atrevido feat", + ["tint_bold_green_feat"] = "verde atrevido feat", + ["tint_bold_cyan_feat"] = "cian atrevido feat", + ["tint_bold_yellow_feat"] = "amarillo atrevido feat", + ["tint_bold_red_white"] = "rojo blanco atrevido", + ["tint_bold_blue_white"] = "azul blanco atrevido", + ["tint_metallic_gold"] = "oro metálico", + ["tint_metallic_platinum"] = "platino metálico", + ["tint_metallic_gray_lilac"] = "gris lila metálico", + ["tint_metallic_purple_lime"] = "púrpura lima metálico", + ["tint_metallic_red"] = "rojo metálico", + ["tint_metallic_green"] = "verde metálico", + ["tint_metallic_blue"] = "azul metálico", + ["tint_metallic_white_aqua"] = "blanco aqua metálico", + ["tint_metallic_red_yellow"] = "rojo amarillo metálico", } diff --git a/[core]/es_extended/locales/fi.lua b/[core]/es_extended/locales/fi.lua index 983fa79b..4d71ff48 100644 --- a/[core]/es_extended/locales/fi.lua +++ b/[core]/es_extended/locales/fi.lua @@ -237,4 +237,37 @@ Locales["fi"] = { ["tint_lspd"] = "Sininen ulkokuori", ["tint_orange"] = "Oranssi ulkokuori", ["tint_platinum"] = "Platina ulkokuori", + -- MK2 Weapon Tints + ["tint_classic_black"] = "klassinen musta", + ["tint_classic_gray"] = "klassinen harmaa", + ["tint_classic_two_tone"] = "klassinen kaksivärinen", + ["tint_classic_white"] = "klassinen valkoinen", + ["tint_classic_beige"] = "klassinen beessi", + ["tint_classic_green"] = "klassinen vihreä", + ["tint_classic_blue"] = "klassinen sininen", + ["tint_classic_earth"] = "klassinen maa", + ["tint_classic_brown_black"] = "klassinen ruskea-musta", + ["tint_contrast_red"] = "kontrastinen punainen", + ["tint_contrast_blue"] = "kontrastinen sininen", + ["tint_contrast_yellow"] = "kontrastinen keltainen", + ["tint_contrast_orange"] = "kontrastinen oranssi", + ["tint_bold_pink"] = "rohkea vaaleanpunainen", + ["tint_bold_purple_yellow"] = "rohkea violetti-keltainen", + ["tint_bold_orange"] = "rohkea oranssi", + ["tint_bold_green_purple"] = "rohkea vihreä-violetti", + ["tint_bold_red_feat"] = "rohkea punainen feat", + ["tint_bold_green_feat"] = "rohkea vihreä feat", + ["tint_bold_cyan_feat"] = "rohkea syaani feat", + ["tint_bold_yellow_feat"] = "rohkea keltainen feat", + ["tint_bold_red_white"] = "rohkea punainen valkoinen", + ["tint_bold_blue_white"] = "rohkea sininen valkoinen", + ["tint_metallic_gold"] = "metallinen kulta", + ["tint_metallic_platinum"] = "metallinen platina", + ["tint_metallic_gray_lilac"] = "metallinen harmaa lila", + ["tint_metallic_purple_lime"] = "metallinen violetti limetti", + ["tint_metallic_red"] = "metallinen punainen", + ["tint_metallic_green"] = "metallinen vihreä", + ["tint_metallic_blue"] = "metallinen sininen", + ["tint_metallic_white_aqua"] = "metallinen valkoinen aqua", + ["tint_metallic_red_yellow"] = "metallinen punainen keltainen", } diff --git a/[core]/es_extended/locales/fr.lua b/[core]/es_extended/locales/fr.lua index 44760c69..3792406e 100644 --- a/[core]/es_extended/locales/fr.lua +++ b/[core]/es_extended/locales/fr.lua @@ -378,4 +378,37 @@ Locales["fr"] = { ["tint_lspd"] = "skin bleu", ["tint_orange"] = "skin orange", ["tint_platinum"] = "skin platine", + -- MK2 Weapon Tints + ["tint_classic_black"] = "noir classique", + ["tint_classic_gray"] = "gris classique", + ["tint_classic_two_tone"] = "deux tons classiques", + ["tint_classic_white"] = "blanc classique", + ["tint_classic_beige"] = "beige classique", + ["tint_classic_green"] = "vert classique", + ["tint_classic_blue"] = "bleu classique", + ["tint_classic_earth"] = "terre classique", + ["tint_classic_brown_black"] = "marron noir classique", + ["tint_contrast_red"] = "rouge contrasté", + ["tint_contrast_blue"] = "bleu contrasté", + ["tint_contrast_yellow"] = "jaune contrasté", + ["tint_contrast_orange"] = "orange contrasté", + ["tint_bold_pink"] = "rose audacieux", + ["tint_bold_purple_yellow"] = "violet jaune audacieux", + ["tint_bold_orange"] = "orange audacieux", + ["tint_bold_green_purple"] = "vert violet audacieux", + ["tint_bold_red_feat"] = "rouge audacieux feat", + ["tint_bold_green_feat"] = "vert audacieux feat", + ["tint_bold_cyan_feat"] = "cyan audacieux feat", + ["tint_bold_yellow_feat"] = "jaune audacieux feat", + ["tint_bold_red_white"] = "rouge blanc audacieux", + ["tint_bold_blue_white"] = "bleu blanc audacieux", + ["tint_metallic_gold"] = "or métallique", + ["tint_metallic_platinum"] = "platine métallique", + ["tint_metallic_gray_lilac"] = "gris lilas métallique", + ["tint_metallic_purple_lime"] = "violet lime métallique", + ["tint_metallic_red"] = "rouge métallique", + ["tint_metallic_green"] = "vert métallique", + ["tint_metallic_blue"] = "bleu métallique", + ["tint_metallic_white_aqua"] = "blanc aqua métallique", + ["tint_metallic_red_yellow"] = "rouge jaune métallique", } diff --git a/[core]/es_extended/locales/he.lua b/[core]/es_extended/locales/he.lua index 12ebc9e5..d6216573 100644 --- a/[core]/es_extended/locales/he.lua +++ b/[core]/es_extended/locales/he.lua @@ -372,4 +372,37 @@ Locales["he"] = { ["tint_lspd"] = "צבע כחול", ["tint_orange"] = "צבע כתום", ["tint_platinum"] = "צבע פלטינה", + -- MK2 Weapon Tints + ["tint_classic_black"] = "שחור קלאסי", + ["tint_classic_gray"] = "אפור קלאסי", + ["tint_classic_two_tone"] = "קלאסי דו-גוני", + ["tint_classic_white"] = "לבן קלאסי", + ["tint_classic_beige"] = "בז' קלאסי", + ["tint_classic_green"] = "ירוק קלאסי", + ["tint_classic_blue"] = "כחול קלאסי", + ["tint_classic_earth"] = "אדמה קלאסית", + ["tint_classic_brown_black"] = "חום שחור קלאסי", + ["tint_contrast_red"] = "אדום קונטרסט", + ["tint_contrast_blue"] = "כחול קונטרסט", + ["tint_contrast_yellow"] = "צהוב קונטרסט", + ["tint_contrast_orange"] = "כתום קונטרסט", + ["tint_bold_pink"] = "ורוד נועז", + ["tint_bold_purple_yellow"] = "סגול צהוב נועז", + ["tint_bold_orange"] = "כתום נועז", + ["tint_bold_green_purple"] = "ירוק סגול נועז", + ["tint_bold_red_feat"] = "אדום נועז feat", + ["tint_bold_green_feat"] = "ירוק נועז feat", + ["tint_bold_cyan_feat"] = "סיאן נועז feat", + ["tint_bold_yellow_feat"] = "צהוב נועז feat", + ["tint_bold_red_white"] = "אדום לבן נועז", + ["tint_bold_blue_white"] = "כחול לבן נועז", + ["tint_metallic_gold"] = "זהב מתכתי", + ["tint_metallic_platinum"] = "פלטינה מתכתית", + ["tint_metallic_gray_lilac"] = "אפור לילך מתכתי", + ["tint_metallic_purple_lime"] = "סגול ליים מתכתי", + ["tint_metallic_red"] = "אדום מתכתי", + ["tint_metallic_green"] = "ירוק מתכתי", + ["tint_metallic_blue"] = "כחול מתכתי", + ["tint_metallic_white_aqua"] = "לבן aqua מתכתי", + ["tint_metallic_red_yellow"] = "אדום צהוב מתכתי", } diff --git a/[core]/es_extended/locales/hu.lua b/[core]/es_extended/locales/hu.lua index 6971d662..5d3b230b 100644 --- a/[core]/es_extended/locales/hu.lua +++ b/[core]/es_extended/locales/hu.lua @@ -374,8 +374,37 @@ Locales["hu"] = { ["tint_lspd"] = "blue skin", ["tint_orange"] = "orange skin", ["tint_platinum"] = "platinum skin", - - -- Duty related - ["stopped_duty"] = "Leadtad a szolgálatot.", - ["started_duty"] = "Szolgálatba álltál.", + -- MK2 Weapon Tints + ["tint_classic_black"] = "klasszikus fekete", + ["tint_classic_gray"] = "klasszikus szürke", + ["tint_classic_two_tone"] = "klasszikus két szín", + ["tint_classic_white"] = "klasszikus fehér", + ["tint_classic_beige"] = "klasszikus bézs", + ["tint_classic_green"] = "klasszikus zöld", + ["tint_classic_blue"] = "klasszikus kék", + ["tint_classic_earth"] = "klasszikus föld", + ["tint_classic_brown_black"] = "klasszikus barna-fekete", + ["tint_contrast_red"] = "kontraszt piros", + ["tint_contrast_blue"] = "kontraszt kék", + ["tint_contrast_yellow"] = "kontraszt sárga", + ["tint_contrast_orange"] = "kontraszt narancs", + ["tint_bold_pink"] = "merész rózsaszín", + ["tint_bold_purple_yellow"] = "merész lila-sárga", + ["tint_bold_orange"] = "merész narancs", + ["tint_bold_green_purple"] = "merész zöld-lila", + ["tint_bold_red_feat"] = "merész piros feat", + ["tint_bold_green_feat"] = "merész zöld feat", + ["tint_bold_cyan_feat"] = "merész cián feat", + ["tint_bold_yellow_feat"] = "merész sárga feat", + ["tint_bold_red_white"] = "merész piros fehér", + ["tint_bold_blue_white"] = "merész kék fehér", + ["tint_metallic_gold"] = "metál arany", + ["tint_metallic_platinum"] = "metál platina", + ["tint_metallic_gray_lilac"] = "metál szürke lila", + ["tint_metallic_purple_lime"] = "metál lila lime", + ["tint_metallic_red"] = "metál piros", + ["tint_metallic_green"] = "metál zöld", + ["tint_metallic_blue"] = "metál kék", + ["tint_metallic_white_aqua"] = "metál fehér aqua", + ["tint_metallic_red_yellow"] = "metál piros sárga", } diff --git a/[core]/es_extended/locales/id.lua b/[core]/es_extended/locales/id.lua index 1d7d1d82..bbd2587c 100644 --- a/[core]/es_extended/locales/id.lua +++ b/[core]/es_extended/locales/id.lua @@ -378,4 +378,37 @@ Locales["id"] = { ["tint_lspd"] = "blue skin", ["tint_orange"] = "orange skin", ["tint_platinum"] = "platinum skin", + -- MK2 Weapon Tints + ["tint_classic_black"] = "hitam klasik", + ["tint_classic_gray"] = "abu-abu klasik", + ["tint_classic_two_tone"] = "dua warna klasik", + ["tint_classic_white"] = "putih klasik", + ["tint_classic_beige"] = "beige klasik", + ["tint_classic_green"] = "hijau klasik", + ["tint_classic_blue"] = "biru klasik", + ["tint_classic_earth"] = "tanah klasik", + ["tint_classic_brown_black"] = "coklat hitam klasik", + ["tint_contrast_red"] = "merah kontras", + ["tint_contrast_blue"] = "biru kontras", + ["tint_contrast_yellow"] = "kuning kontras", + ["tint_contrast_orange"] = "oren kontras", + ["tint_bold_pink"] = "pink berani", + ["tint_bold_purple_yellow"] = "ungu kuning berani", + ["tint_bold_orange"] = "oren berani", + ["tint_bold_green_purple"] = "hijau ungu berani", + ["tint_bold_red_feat"] = "merah berani feat", + ["tint_bold_green_feat"] = "hijau berani feat", + ["tint_bold_cyan_feat"] = "sian berani feat", + ["tint_bold_yellow_feat"] = "kuning berani feat", + ["tint_bold_red_white"] = "merah putih berani", + ["tint_bold_blue_white"] = "biru putih berani", + ["tint_metallic_gold"] = "emas metalik", + ["tint_metallic_platinum"] = "platina metalik", + ["tint_metallic_gray_lilac"] = "abu-abu lilac metalik", + ["tint_metallic_purple_lime"] = "ungu jeruk nipis metalik", + ["tint_metallic_red"] = "merah metalik", + ["tint_metallic_green"] = "hijau metalik", + ["tint_metallic_blue"] = "biru metalik", + ["tint_metallic_white_aqua"] = "putih aqua metalik", + ["tint_metallic_red_yellow"] = "merah kuning metalik", } diff --git a/[core]/es_extended/locales/it.lua b/[core]/es_extended/locales/it.lua index 24280c15..8a7caf59 100644 --- a/[core]/es_extended/locales/it.lua +++ b/[core]/es_extended/locales/it.lua @@ -378,4 +378,37 @@ Locales["it"] = { ["tint_lspd"] = "color blu", ["tint_orange"] = "color arancio", ["tint_platinum"] = "color platino", + -- MK2 Weapon Tints + ["tint_classic_black"] = "nero classico", + ["tint_classic_gray"] = "grigio classico", + ["tint_classic_two_tone"] = "due toni classico", + ["tint_classic_white"] = "bianco classico", + ["tint_classic_beige"] = "beige classico", + ["tint_classic_green"] = "verde classico", + ["tint_classic_blue"] = "blu classico", + ["tint_classic_earth"] = "terra classica", + ["tint_classic_brown_black"] = "marrone nero classico", + ["tint_contrast_red"] = "rosso contrastante", + ["tint_contrast_blue"] = "blu contrastante", + ["tint_contrast_yellow"] = "giallo contrastante", + ["tint_contrast_orange"] = "arancione contrastante", + ["tint_bold_pink"] = "rosa audace", + ["tint_bold_purple_yellow"] = "viola giallo audace", + ["tint_bold_orange"] = "arancione audace", + ["tint_bold_green_purple"] = "verde viola audace", + ["tint_bold_red_feat"] = "rosso audace feat", + ["tint_bold_green_feat"] = "verde audace feat", + ["tint_bold_cyan_feat"] = "cyan audace feat", + ["tint_bold_yellow_feat"] = "giallo audace feat", + ["tint_bold_red_white"] = "rosso bianco audace", + ["tint_bold_blue_white"] = "blu bianco audace", + ["tint_metallic_gold"] = "oro metallico", + ["tint_metallic_platinum"] = "platino metallico", + ["tint_metallic_gray_lilac"] = "grigio lilla metallico", + ["tint_metallic_purple_lime"] = "viola lime metallico", + ["tint_metallic_red"] = "rosso metallico", + ["tint_metallic_green"] = "verde metallico", + ["tint_metallic_blue"] = "blu metallico", + ["tint_metallic_white_aqua"] = "bianco aqua metallico", + ["tint_metallic_red_yellow"] = "rosso giallo metallico", } diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua index b6a699ac..2dee1716 100644 --- a/[core]/es_extended/locales/nl.lua +++ b/[core]/es_extended/locales/nl.lua @@ -369,4 +369,37 @@ Locales["nl"] = { ["tint_lspd"] = "blauwe skin", ["tint_orange"] = "oranje skin", ["tint_platinum"] = "platina skin", + -- MK2 Weapon Tints + ["tint_classic_black"] = "klassiek zwart", + ["tint_classic_gray"] = "klassiek grijs", + ["tint_classic_two_tone"] = "klassiek twee-tonig", + ["tint_classic_white"] = "klassiek wit", + ["tint_classic_beige"] = "klassiek beige", + ["tint_classic_green"] = "klassiek groen", + ["tint_classic_blue"] = "klassiek blauw", + ["tint_classic_earth"] = "klassieke aarde", + ["tint_classic_brown_black"] = "klassiek bruin zwart", + ["tint_contrast_red"] = "contrast rood", + ["tint_contrast_blue"] = "contrast blauw", + ["tint_contrast_yellow"] = "contrast geel", + ["tint_contrast_orange"] = "contrast oranje", + ["tint_bold_pink"] = "gedurfde roze", + ["tint_bold_purple_yellow"] = "gedurfde paarse geel", + ["tint_bold_orange"] = "gedurfde oranje", + ["tint_bold_green_purple"] = "gedurfde groene paarse", + ["tint_bold_red_feat"] = "gedurfde rode feat", + ["tint_bold_green_feat"] = "gedurfde groene feat", + ["tint_bold_cyan_feat"] = "gedurfde cyaan feat", + ["tint_bold_yellow_feat"] = "gedurfde gele feat", + ["tint_bold_red_white"] = "gedurfde rode witte", + ["tint_bold_blue_white"] = "gedurfde blauwe witte", + ["tint_metallic_gold"] = "metallisch goud", + ["tint_metallic_platinum"] = "metallisch platina", + ["tint_metallic_gray_lilac"] = "metallisch grijs lila", + ["tint_metallic_purple_lime"] = "metallisch paarse limo", + ["tint_metallic_red"] = "metallisch rood", + ["tint_metallic_green"] = "metallisch groen", + ["tint_metallic_blue"] = "metallisch blauw", + ["tint_metallic_white_aqua"] = "metallisch wit aqua", + ["tint_metallic_red_yellow"] = "metallisch rood geel", } diff --git a/[core]/es_extended/locales/pl.lua b/[core]/es_extended/locales/pl.lua index d50f91eb..a9dceb4f 100644 --- a/[core]/es_extended/locales/pl.lua +++ b/[core]/es_extended/locales/pl.lua @@ -236,4 +236,37 @@ Locales["pl"] = { ["tint_lspd"] = "niebieski skin", ["tint_orange"] = "pomarańczowy skin", ["tint_platinum"] = "platynowy skin", + -- MK2 Weapon Tints + ["tint_classic_black"] = "klasyczna czerń", + ["tint_classic_gray"] = "klasyczny szary", + ["tint_classic_two_tone"] = "klasyczny dwutonowy", + ["tint_classic_white"] = "klasyczna biel", + ["tint_classic_beige"] = "klasyczny beż", + ["tint_classic_green"] = "klasyczna zieleń", + ["tint_classic_blue"] = "klasyczny niebieski", + ["tint_classic_earth"] = "klasyczna ziemia", + ["tint_classic_brown_black"] = "klasyczny brązowo-czarny", + ["tint_contrast_red"] = "kontrastowy czerwony", + ["tint_contrast_blue"] = "kontrastowy niebieski", + ["tint_contrast_yellow"] = "kontrastowy żółty", + ["tint_contrast_orange"] = "kontrastowy pomarańczowy", + ["tint_bold_pink"] = "odważny różowy", + ["tint_bold_purple_yellow"] = "odważny fioletowo-żółty", + ["tint_bold_orange"] = "odważny pomarańczowy", + ["tint_bold_green_purple"] = "odważny zielono-fioletowy", + ["tint_bold_red_feat"] = "odważny czerwony feat", + ["tint_bold_green_feat"] = "odważny zielony feat", + ["tint_bold_cyan_feat"] = "odważny cyjan feat", + ["tint_bold_yellow_feat"] = "odważny żółty feat", + ["tint_bold_red_white"] = "odważny czerwony biały", + ["tint_bold_blue_white"] = "odważny niebieski biały", + ["tint_metallic_gold"] = "złoto metaliczne", + ["tint_metallic_platinum"] = "platyna metaliczna", + ["tint_metallic_gray_lilac"] = "szaro-liliowe metaliczne", + ["tint_metallic_purple_lime"] = "fioletowo-limonkowe metaliczne", + ["tint_metallic_red"] = "czerwony metaliczny", + ["tint_metallic_green"] = "zielony metaliczny", + ["tint_metallic_blue"] = "niebieski metaliczny", + ["tint_metallic_white_aqua"] = "białe aqua metaliczne", + ["tint_metallic_red_yellow"] = "czerwono-żółte metaliczne", } diff --git a/[core]/es_extended/locales/sl.lua b/[core]/es_extended/locales/sl.lua index 2c3e1f8e..da0c9de4 100644 --- a/[core]/es_extended/locales/sl.lua +++ b/[core]/es_extended/locales/sl.lua @@ -374,4 +374,37 @@ Locales["sl"] = { ["tint_lspd"] = "blue skin", ["tint_orange"] = "orange skin", ["tint_platinum"] = "platinum skin", + -- MK2 Weapon Tints + ["tint_classic_black"] = "klasična črna", + ["tint_classic_gray"] = "klasična siva", + ["tint_classic_two_tone"] = "klasična dvo-tonska", + ["tint_classic_white"] = "klasična bela", + ["tint_classic_beige"] = "klasična bež", + ["tint_classic_green"] = "klasična zelena", + ["tint_classic_blue"] = "klasična modra", + ["tint_classic_earth"] = "klasična zemlja", + ["tint_classic_brown_black"] = "klasična rjava-črna", + ["tint_contrast_red"] = "kontrastna rdeča", + ["tint_contrast_blue"] = "kontrastna modra", + ["tint_contrast_yellow"] = "kontrastna rumena", + ["tint_contrast_orange"] = "kontrastna oranžna", + ["tint_bold_pink"] = "drzna roza", + ["tint_bold_purple_yellow"] = "drzna vijolično-rumena", + ["tint_bold_orange"] = "drzna oranžna", + ["tint_bold_green_purple"] = "drzna zelena-vijolična", + ["tint_bold_red_feat"] = "drzna rdeča feat", + ["tint_bold_green_feat"] = "drzna zelena feat", + ["tint_bold_cyan_feat"] = "drzna cian feat", + ["tint_bold_yellow_feat"] = "drzna rumena feat", + ["tint_bold_red_white"] = "drzna rdeča bela", + ["tint_bold_blue_white"] = "drzna modra bela", + ["tint_metallic_gold"] = "metalik zlato", + ["tint_metallic_platinum"] = "metalik platina", + ["tint_metallic_gray_lilac"] = "metalik siv lila", + ["tint_metallic_purple_lime"] = "metalik vijolična limona", + ["tint_metallic_red"] = "metalik rdeča", + ["tint_metallic_green"] = "metalik zelena", + ["tint_metallic_blue"] = "metalik modra", + ["tint_metallic_white_aqua"] = "metalik bela aqua", + ["tint_metallic_red_yellow"] = "metalik rdeče rumeno", } diff --git a/[core]/es_extended/locales/sr.lua b/[core]/es_extended/locales/sr.lua index 6aefa25b..9ef51703 100644 --- a/[core]/es_extended/locales/sr.lua +++ b/[core]/es_extended/locales/sr.lua @@ -374,4 +374,37 @@ Locales["sr"] = { ["tint_lspd"] = "blue skin", ["tint_orange"] = "orange skin", ["tint_platinum"] = "platinum skin", + -- MK2 Weapon Tints + ["tint_classic_black"] = "klasična crna", + ["tint_classic_gray"] = "klasična siva", + ["tint_classic_two_tone"] = "klasična dvo-tonska", + ["tint_classic_white"] = "klasična bela", + ["tint_classic_beige"] = "klasična bež", + ["tint_classic_green"] = "klasična zelena", + ["tint_classic_blue"] = "klasična plava", + ["tint_classic_earth"] = "klasična zemlja", + ["tint_classic_brown_black"] = "klasična braon-crna", + ["tint_contrast_red"] = "kontrastna crvena", + ["tint_contrast_blue"] = "kontrastna plava", + ["tint_contrast_yellow"] = "kontrastna žuta", + ["tint_contrast_orange"] = "kontrastna narandžasta", + ["tint_bold_pink"] = "drska roze", + ["tint_bold_purple_yellow"] = "drska ljubičasto-žuta", + ["tint_bold_orange"] = "drska narandžasta", + ["tint_bold_green_purple"] = "drska zelena-ljubičasta", + ["tint_bold_red_feat"] = "drska crvena feat", + ["tint_bold_green_feat"] = "drska zelena feat", + ["tint_bold_cyan_feat"] = "drska cijan feat", + ["tint_bold_yellow_feat"] = "drska žuta feat", + ["tint_bold_red_white"] = "drska crvena bela", + ["tint_bold_blue_white"] = "drska plava bela", + ["tint_metallic_gold"] = "metalik zlatna", + ["tint_metallic_platinum"] = "metalik platina", + ["tint_metallic_gray_lilac"] = "metalik siva lila", + ["tint_metallic_purple_lime"] = "metalik ljubičasta limeta", + ["tint_metallic_red"] = "metalik crvena", + ["tint_metallic_green"] = "metalik zelena", + ["tint_metallic_blue"] = "metalik plava", + ["tint_metallic_white_aqua"] = "metalik bela aqua", + ["tint_metallic_red_yellow"] = "metalik crvena-žuta", } diff --git a/[core]/es_extended/locales/sv.lua b/[core]/es_extended/locales/sv.lua index 193089a7..e528baca 100644 --- a/[core]/es_extended/locales/sv.lua +++ b/[core]/es_extended/locales/sv.lua @@ -378,4 +378,37 @@ Locales["sv"] = { ["tint_lspd"] = "blue skin", ["tint_orange"] = "orange skin", ["tint_platinum"] = "platinum skin", + -- MK2 Weapon Tints + ["tint_classic_black"] = "klassisk svart", + ["tint_classic_gray"] = "klassisk grå", + ["tint_classic_two_tone"] = "klassisk tvåfärgad", + ["tint_classic_white"] = "klassisk vit", + ["tint_classic_beige"] = "klassisk beige", + ["tint_classic_green"] = "klassisk grön", + ["tint_classic_blue"] = "klassisk blå", + ["tint_classic_earth"] = "klassisk jord", + ["tint_classic_brown_black"] = "klassisk brun svart", + ["tint_contrast_red"] = "kontrast röd", + ["tint_contrast_blue"] = "kontrast blå", + ["tint_contrast_yellow"] = "kontrast gul", + ["tint_contrast_orange"] = "kontrast orange", + ["tint_bold_pink"] = "djärv rosa", + ["tint_bold_purple_yellow"] = "djärv lila gul", + ["tint_bold_orange"] = "djärv orange", + ["tint_bold_green_purple"] = "djärv grön lila", + ["tint_bold_red_feat"] = "djärv röd feat", + ["tint_bold_green_feat"] = "djärv grön feat", + ["tint_bold_cyan_feat"] = "djärv cyan feat", + ["tint_bold_yellow_feat"] = "djärv gul feat", + ["tint_bold_red_white"] = "djärv röd vit", + ["tint_bold_blue_white"] = "djärv blå vit", + ["tint_metallic_gold"] = "metalliskt guld", + ["tint_metallic_platinum"] = "metalliskt platina", + ["tint_metallic_gray_lilac"] = "metalliskt grå lila", + ["tint_metallic_purple_lime"] = "metalliskt lila lime", + ["tint_metallic_red"] = "metalliskt röd", + ["tint_metallic_green"] = "metalliskt grön", + ["tint_metallic_blue"] = "metalliskt blå", + ["tint_metallic_white_aqua"] = "metalliskt vitt aqua", + ["tint_metallic_red_yellow"] = "metalliskt röd gul", } diff --git a/[core]/es_extended/locales/zh-cn.lua b/[core]/es_extended/locales/zh-cn.lua index a8a1ad8e..5971cc35 100644 --- a/[core]/es_extended/locales/zh-cn.lua +++ b/[core]/es_extended/locales/zh-cn.lua @@ -374,4 +374,37 @@ Locales["zh-cn"] = { ["tint_lspd"] = "洛圣都警局色调", ["tint_orange"] = "橙色调", ["tint_platinum"] = "铂金色调", + -- MK2 Weapon Tints + ["tint_classic_black"] = "经典黑色", + ["tint_classic_gray"] = "经典灰色", + ["tint_classic_two_tone"] = "经典双色", + ["tint_classic_white"] = "经典白色", + ["tint_classic_beige"] = "经典米色", + ["tint_classic_green"] = "经典绿色", + ["tint_classic_blue"] = "经典蓝色", + ["tint_classic_earth"] = "经典大地色", + ["tint_classic_brown_black"] = "经典棕黑色", + ["tint_contrast_red"] = "对比红色", + ["tint_contrast_blue"] = "对比蓝色", + ["tint_contrast_yellow"] = "对比黄色", + ["tint_contrast_orange"] = "对比橙色", + ["tint_bold_pink"] = "大胆粉色", + ["tint_bold_purple_yellow"] = "大胆紫黄色", + ["tint_bold_orange"] = "大胆橙色", + ["tint_bold_green_purple"] = "大胆绿色紫色", + ["tint_bold_red_feat"] = "大胆红色feat", + ["tint_bold_green_feat"] = "大胆绿色feat", + ["tint_bold_cyan_feat"] = "大胆青色feat", + ["tint_bold_yellow_feat"] = "大胆黄色feat", + ["tint_bold_red_white"] = "大胆红白色", + ["tint_bold_blue_white"] = "大胆蓝白色", + ["tint_metallic_gold"] = "金属金色", + ["tint_metallic_platinum"] = "金属铂金", + ["tint_metallic_gray_lilac"] = "金属灰紫色", + ["tint_metallic_purple_lime"] = "金属紫色青柠", + ["tint_metallic_red"] = "金属红色", + ["tint_metallic_green"] = "金属绿色", + ["tint_metallic_blue"] = "金属蓝色", + ["tint_metallic_white_aqua"] = "金属白色水蓝", + ["tint_metallic_red_yellow"] = "金属红黄色", } diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 1011c0d3..2bfeb79f 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -130,6 +130,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, ---@return number function self.getPlayTime() + -- luacheck: ignore return self.lastPlaytime + GetPlayerTimeOnline(self.source) end diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 1b9c7522..61fbe78e 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -102,7 +102,7 @@ if not Config.Multichar then Wait(0) -- Required local identifier = ESX.GetIdentifier(playerId) - + -- luacheck: ignore if not SetEntityOrphanMode then return deferrals.done(("[ESX] ESX Requires a minimum Artifact version of 10188, Please update your server.")) end @@ -462,6 +462,7 @@ if not Config.CustomInventory then if not targetXPlayer.hasWeapon(itemName) then sourceXPlayer.showNotification(TranslateCap("gave_weapon_noweapon", targetXPlayer.name)) targetXPlayer.showNotification(TranslateCap("received_weapon_noweapon", sourceXPlayer.name, weapon.label)) + return end local _, weaponObject = ESX.GetWeapon(itemName) @@ -502,7 +503,8 @@ if not Config.CustomInventory then if itemCount == nil or itemCount < 1 then return xPlayer.showNotification(TranslateCap("imp_invalid_amount")) end - local account = xPlayer.getAccount(itemName) + + local account = xPlayer.getAccount(itemName) if itemCount > account.money or account.money < 1 then return xPlayer.showNotification(TranslateCap("imp_invalid_amount")) @@ -694,7 +696,7 @@ AddEventHandler("onResourceStart", function(key) StopResource(key) error(("WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^1, PLEASE REMOVE ^5%s^1"):format(key)) end - + -- luacheck: ignore if not SetEntityOrphanMode then CreateThread(function() while true do diff --git a/[core]/es_extended/server/modules/commands.lua b/[core]/es_extended/server/modules/commands.lua index dfb4baa5..4e9d6862 100644 --- a/[core]/es_extended/server/modules/commands.lua +++ b/[core]/es_extended/server/modules/commands.lua @@ -95,10 +95,17 @@ ESX.RegisterCommand( }) end + local xRoutingBucket = GetPlayerRoutingBucket(xPlayer.source) + ESX.OneSync.SpawnVehicle(args.car, playerCoords, playerHeading, upgrades, function(networkId) if networkId then local vehicle = NetworkGetEntityFromNetworkId(networkId) - for _ = 1, 20 do + + if xRoutingBucket ~= 0 then + SetEntityRoutingBucket(vehicle, xRoutingBucket) + end + + for _ = 1, 100 do Wait(0) SetPedIntoVehicle(playerPed, vehicle, -1) @@ -106,6 +113,7 @@ ESX.RegisterCommand( break end end + if GetVehiclePedIsIn(playerPed, false) ~= vehicle then showError("[^1ERROR^7] The player could not be seated in the vehicle") end diff --git a/[core]/es_extended/server/modules/onesync.lua b/[core]/es_extended/server/modules/onesync.lua index cb9bfdfa..87c5f7f0 100644 --- a/[core]/es_extended/server/modules/onesync.lua +++ b/[core]/es_extended/server/modules/onesync.lua @@ -101,7 +101,7 @@ function ESX.OneSync.SpawnVehicle(model, coords, heading, properties, cb) return error(("Could not spawn vehicle - ^5%s^7!"):format(model)) end end - + -- luacheck: ignore SetEntityOrphanMode(createdVehicle, 2) local networkId = NetworkGetNetworkIdFromEntity(createdVehicle) Entity(createdVehicle).state:set("VehicleProperties", vehicleProperties, true) diff --git a/[core]/es_extended/shared/config/weapons.lua b/[core]/es_extended/shared/config/weapons.lua index cbeecb54..d26ab75a 100644 --- a/[core]/es_extended/shared/config/weapons.lua +++ b/[core]/es_extended/shared/config/weapons.lua @@ -8,6 +8,41 @@ Config.DefaultWeaponTints = { [6] = TranslateCap("tint_orange"), [7] = TranslateCap("tint_platinum"), } +Config.MK2WeaponTints = { + [0] = TranslateCap('tint_classic_black'), + [1] = TranslateCap('tint_classic_gray'), + [2] = TranslateCap('tint_classic_two_tone'), + [3] = TranslateCap('tint_classic_white'), + [4] = TranslateCap('tint_classic_beige'), + [5] = TranslateCap('tint_classic_green'), + [6] = TranslateCap('tint_classic_blue'), + [7] = TranslateCap('tint_classic_earth'), + [8] = TranslateCap('tint_classic_brown_black'), + [9] = TranslateCap('tint_contrast_red'), + [10] = TranslateCap('tint_contrast_blue'), + [11] = TranslateCap('tint_contrast_yellow'), + [12] = TranslateCap('tint_contrast_orange'), + [13] = TranslateCap('tint_bold_pink'), + [14] = TranslateCap('tint_bold_purple_yellow'), + [15] = TranslateCap('tint_bold_orange'), + [16] = TranslateCap('tint_bold_green_purple'), + [17] = TranslateCap('tint_bold_red_feat'), + [18] = TranslateCap('tint_bold_green_feat'), + [19] = TranslateCap('tint_bold_cyan_feat'), + [20] = TranslateCap('tint_bold_yellow_feat'), + [21] = TranslateCap('tint_bold_red_white'), + [22] = TranslateCap('tint_bold_blue_white'), + [23] = TranslateCap('tint_metallic_gold'), + [24] = TranslateCap('tint_metallic_platinum'), + [25] = TranslateCap('tint_metallic_gray_lilac'), + [26] = TranslateCap('tint_metallic_purple_lime'), + [27] = TranslateCap('tint_metallic_red'), + [28] = TranslateCap('tint_metallic_green'), + [29] = TranslateCap('tint_metallic_blue'), + [30] = TranslateCap('tint_metallic_white_aqua'), + [31] = TranslateCap('tint_metallic_orange_yellow'), + [32] = TranslateCap('tint_metallic_red_yellow') +} Config.Weapons = { -- Melee @@ -111,7 +146,7 @@ Config.Weapons = { name = "WEAPON_REVOLVER_MK2", label = TranslateCap("weapon_revolver_mk2"), ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, + tints = Config.MK2WeaponTints, components = { { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_REVOLVER_MK2_CLIP_01` }, { name = "ammo_tracer", label = TranslateCap("component_ammo_tracer"), hash = `COMPONENT_REVOLVER_MK2_CLIP_TRACER` }, @@ -153,7 +188,7 @@ Config.Weapons = { name = "WEAPON_PISTOL_MK2", label = TranslateCap("weapon_pistol_mk2"), ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, + tints = Config.MK2WeaponTints, components = { { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_PISTOL_MK2_CLIP_01` }, { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_PISTOL_MK2_CLIP_02` }, @@ -217,7 +252,7 @@ Config.Weapons = { name = "WEAPON_SNSPISTOL_MK2", label = TranslateCap("weapon_snspistol_mk2"), ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, + tints = Config.MK2WeaponTints, components = { { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_01` }, { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_02` }, @@ -333,7 +368,7 @@ Config.Weapons = { name = "WEAPON_PUMPSHOTGUN_MK2", label = TranslateCap("weapon_pumpshotgun_mk2"), ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, - tints = Config.DefaultWeaponTints, + tints = Config.MK2WeaponTints, components = { { name = "shells_default", label = TranslateCap("component_shells_default"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_01` }, { name = "shells_incendiary", label = TranslateCap("component_shells_incendiary"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_INCENDIARY` }, @@ -400,7 +435,7 @@ Config.Weapons = { name = "WEAPON_COMBATMG_MK2", label = TranslateCap("weapon_combatmg_mk2"), ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_MG` }, - tints = Config.DefaultWeaponTints, + tints = Config.MK2WeaponTints, components = { { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_COMBATMG_MK2_CLIP_01` }, { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_COMBATMG_MK2_CLIP_02` }, @@ -525,7 +560,7 @@ Config.Weapons = { name = "WEAPON_SMG_MK2", label = TranslateCap("weapon_smg_mk2"), ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, - tints = Config.DefaultWeaponTints, + tints = Config.MK2WeaponTints, components = { { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_SMG_MK2_CLIP_01` }, { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_SMG_MK2_CLIP_02` }, @@ -596,7 +631,7 @@ Config.Weapons = { name = "WEAPON_ASSAULTRIFLE_MK2", label = TranslateCap("weapon_assaultrifle_mk2"), ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, + tints = Config.MK2WeaponTints, components = { { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_01` }, { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_02` }, @@ -651,7 +686,7 @@ Config.Weapons = { name = "WEAPON_BULLPUPRIFLE_MK2", label = TranslateCap("weapon_bullpuprifle_mk2"), ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, + tints = Config.MK2WeaponTints, components = { { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_01` }, { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_02` }, @@ -707,7 +742,7 @@ Config.Weapons = { name = "WEAPON_CARBINERIFLE_MK2", label = TranslateCap("weapon_carbinerifle_mk2"), ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, + tints = Config.MK2WeaponTints, components = { { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_01` }, { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_02` }, @@ -788,7 +823,7 @@ Config.Weapons = { name = "WEAPON_SPECIALCARBINE_MK2", label = TranslateCap("weapon_specialcarbine_mk2"), ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, + tints = Config.MK2WeaponTints, components = { { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_01` }, { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_02` }, @@ -854,7 +889,7 @@ Config.Weapons = { name = "WEAPON_HEAVYSNIPER_MK2", label = TranslateCap("weapon_heavysniper_mk2"), ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, - tints = Config.DefaultWeaponTints, + tints = Config.MK2WeaponTints, components = { { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_01` }, { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_02` }, @@ -903,7 +938,7 @@ Config.Weapons = { name = "WEAPON_MARKSMANRIFLE_MK2", label = TranslateCap("weapon_marksmanrifle_mk2"), ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, - tints = Config.DefaultWeaponTints, + tints = Config.MK2WeaponTints, components = { { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_01` }, { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_02` }, diff --git a/[core]/esx_menu_default/html/css/app.css b/[core]/esx_menu_default/html/css/app.css index 4658b79d..a02d2a1d 100644 --- a/[core]/esx_menu_default/html/css/app.css +++ b/[core]/esx_menu_default/html/css/app.css @@ -9,8 +9,9 @@ min-width: 350px; color: #fff; position: absolute; - background: rgba(33, 33, 33, 0); + background: rgba(15, 15, 15, 0.0); text-align: center; + border-radius: 5px; } .head { @@ -18,9 +19,9 @@ overflow: hidden; padding-bottom: 3px; text-align: center; - margin-bottom: 5px; white-space: nowrap; - background: rgba(10, 10, 10, 0.9); + background: rgba(10, 10, 10, 1); + border-bottom: 2px solid #fb9b04; } .menu .head { @@ -47,16 +48,14 @@ 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; + background: rgba(30, 30, 30, 0.9); + color: rgb(243, 243, 243); } + .menu .menu-items .menu-item.selected { - border: 1px solid rgba(55, 55, 55, 0.9); - background: rgba(20, 20, 20, 0.9); + border: 1px solid #fb9c04ec; + background: rgba(15, 15, 15, 0.9); color: rgba(243, 243, 243); letter-spacing: 0.2px; font-weight: 500; @@ -68,7 +67,7 @@ } .menu.align-top-left { - left: 3rem; + left: 4rem; top: 0; } @@ -99,7 +98,7 @@ } .menu.align-bottom-left { - left: 3rem; + left: 4rem; bottom: 0; } diff --git a/[core]/esx_multicharacter/server/modules/functions.lua b/[core]/esx_multicharacter/server/modules/functions.lua index 47aeb5b4..f1750e2f 100644 --- a/[core]/esx_multicharacter/server/modules/functions.lua +++ b/[core]/esx_multicharacter/server/modules/functions.lua @@ -25,7 +25,8 @@ function Server:OnConnecting(source, deferrals) deferrals.defer() Wait(0) -- Required local identifier = self:GetIdentifier(source) - + + -- luacheck: ignore if not SetEntityOrphanMode then return deferrals.done(("[ESX] ESX Requires a minimum Artifact version of 10188, Please update your server.")) end diff --git a/[core]/esx_notify/nui/css/style.css b/[core]/esx_notify/nui/css/style.css index 08fc8c53..6dc29290 100644 --- a/[core]/esx_notify/nui/css/style.css +++ b/[core]/esx_notify/nui/css/style.css @@ -32,8 +32,8 @@ body { min-width: 20rem; width: fit-content; height: 3.5rem; - background: rgba(5, 5, 5, 0.9); - border-radius: 0.5rem; + background: rgba(15, 15, 15, 0.9); + border-radius: 0.4rem; margin-top: 0.5rem; animation: anim 300ms ease-in-out; align-items: center; @@ -47,24 +47,27 @@ body { #root .icon { float: left; - color: #fff; } #root .text { display: inline-block; + color: #fff; margin-left: 0.5rem; } #root .error { - border-bottom: 3px solid #c0392b; + color: #c0392b; + border: 2px solid #c0392b; } #root .success { - border-bottom: 3px solid #2ecc71; + color: #2ecc71; + border: 2px solid #2ecc71; } #root .info { - border-bottom: 3px solid #2980b9; + color: #fb9b04; + border: 2px solid #fb9b04; } .material-symbols-outlined { diff --git a/[core]/esx_notify/nui/js/script.js b/[core]/esx_notify/nui/js/script.js index edb90cb0..64002521 100644 --- a/[core]/esx_notify/nui/js/script.js +++ b/[core]/esx_notify/nui/js/script.js @@ -15,15 +15,15 @@ const types = { // the color codes example `i ~r~love~s~ donuts` const codes = { - "~r~": "red", + "~r~": "#c0392b", "~b~": "#378cbf", - "~g~": "green", + "~g~": "#2ecc71", "~y~": "yellow", "~p~": "purple", "~c~": "grey", "~m~": "#212121", "~u~": "black", - "~o~": "orange", + "~o~": "#fb9b04", }; w.addEventListener("message", (event) => { @@ -57,8 +57,9 @@ notification = (data) => { } } + const id = Math.floor(Math.random() * Math.random()); const notification = $(` -
${data["message"]}
@@ -67,8 +68,16 @@ notification = (data) => { `).appendTo(`#root`); setTimeout(() => { - notification.fadeOut(700); - }, data.length); + document.getElementById(id).classList.remove("fadeIn"); + }, 300); + + setTimeout(() => { + document.getElementById(id).classList.add("fadeOut"); + + setTimeout(() => { + document.getElementById(id).remove(); + }, 400); + },data.length); return notification; }; diff --git a/[core]/esx_progressbar/nui/index.html b/[core]/esx_progressbar/nui/index.html index 0ea3bd93..beb84d1b 100644 --- a/[core]/esx_progressbar/nui/index.html +++ b/[core]/esx_progressbar/nui/index.html @@ -28,7 +28,7 @@ min-width: 15%; width: fit-content; height: 45px; - background-color: rgba(5, 5, 5, 0.8); + background-color: rgba(15, 15, 15, 0.9); border-radius: 5px; animation: growDown 300ms ease-in-out; padding-right: 10px; @@ -41,8 +41,8 @@ right: 0; height: 2px; width: 100%; - border-radius: 20px; - background: linear-gradient(to right, #0052d4, #4364f7, #6fb1fc); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ + border-radius: 15px; + background: linear-gradient(to right, #b84f05, #de7301, #fb9b04); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */ } .icon { @@ -61,7 +61,7 @@ p { flex: auto; word-wrap: break-word; - margin-left: 30px; + margin-left: 35px; margin-top: 15px; } @@ -69,6 +69,7 @@ float: left; margin-left: 5px; font-size: 20px; + color: #fb9b04; } @keyframes growDown { diff --git a/[core]/esx_progressbar/nui/js/script.js b/[core]/esx_progressbar/nui/js/script.js index 330fefb3..9ea8ec27 100644 --- a/[core]/esx_progressbar/nui/js/script.js +++ b/[core]/esx_progressbar/nui/js/script.js @@ -1,13 +1,13 @@ const codes = { - "~r~": "red", + "~r~": "#c0392b", "~b~": "#378cbf", - "~g~": "green", + "~g~": "#2ecc71", "~y~": "yellow", "~p~": "purple", "~c~": "grey", "~m~": "#212121", "~u~": "black", - "~o~": "orange", + "~o~": "#fb9b04", }; const elems = { diff --git a/[core]/esx_skin/client/modules/menu.lua b/[core]/esx_skin/client/modules/menu.lua index e7ddcf1b..6a43e4a6 100644 --- a/[core]/esx_skin/client/modules/menu.lua +++ b/[core]/esx_skin/client/modules/menu.lua @@ -38,6 +38,7 @@ end function Menu:InsertElements() local playerPed = PlayerPedId() + self.elements = {} for i = 1, #self.components, 1 do local value = self.components[i].value local componentId = self.components[i].componentId @@ -51,9 +52,6 @@ function Menu:InsertElements() data.type = "slider" data.max = self.maxValues[self.components[i].name] - if not self.elements then - self.elements = {} - end self.elements[#self.elements + 1] = data end end @@ -122,8 +120,8 @@ function Menu:Open(submit, cancel, restrict) self:InsertElements() - self.zoomOffset = self.components[1].zoomOffset - self.camOffset = self.components[1].camOffset + Skin.zoomOffset = self.components[1].zoomOffset + Skin.camOffset = self.components[1].camOffset Camera:Create() self:ESXMenu() diff --git a/[core]/esx_skin/server/main.lua b/[core]/esx_skin/server/main.lua index 6538feb5..60ec63df 100644 --- a/[core]/esx_skin/server/main.lua +++ b/[core]/esx_skin/server/main.lua @@ -1,4 +1,7 @@ RegisterNetEvent("esx_skin:save", function(skin) + if not skin or type(skin) ~= "table" then + return + end local xPlayer = ESX.GetPlayerFromId(source) if not ESX.GetConfig().CustomInventory then diff --git a/[core]/esx_textui/nui/css/style.css b/[core]/esx_textui/nui/css/style.css index 185fa895..bf0d00b7 100644 --- a/[core]/esx_textui/nui/css/style.css +++ b/[core]/esx_textui/nui/css/style.css @@ -1,6 +1,6 @@ :root { --color: white; - --bgColor: #212121; + --bgColor: rgba(15, 15, 15, 0.9); } * { @@ -24,22 +24,32 @@ body { min-width: 15%; width: fit-content; height: 50px; - background: rgba(5, 5, 5, 0.9); + background: rgba(15, 15, 15, 0.9); border-radius: 0.5rem; - animation: growDown 300ms ease-in-out; align-items: center; } +.fadeIn { + animation: growUp 300ms ease-in-out; +} + +.fadeOut { + animation: growDown 300ms ease-in-out; +} + .error { - border-left: 5px solid #c0392b; + border-left: 3px solid #c0392b; + border-right: 3px solid #c0392b; } .success { - border-left: 5px solid #2ecc71; + border-left: 3px solid #2ecc71; + border-right: 3px solid #2ecc71; } .info { - border-left: 5px solid #2980b9; + border-left: 3px solid #fb9b04; + border-right: 3px solid #fb9b04; } .innerText { @@ -62,9 +72,21 @@ body { @keyframes growDown { 0% { + transform: scaleY(1); + } + 50% { + transform: scaleY(1.1); + } + 100% { transform: scaleY(0); } - 80% { +} + +@keyframes growUp { + 0% { + transform: scaleY(0); + } + 50% { transform: scaleY(1.1); } 100% { diff --git a/[core]/esx_textui/nui/js/script.js b/[core]/esx_textui/nui/js/script.js index 2b625e7a..ffc54faa 100644 --- a/[core]/esx_textui/nui/js/script.js +++ b/[core]/esx_textui/nui/js/script.js @@ -1,6 +1,6 @@ const w = window; const doc = document; -let lastType = ""; +let lastType = {}; // Gets the current icon it needs to use. const types = { @@ -20,21 +20,21 @@ const types = { // the color codes example `i ~r~love~s~ donuts` const codes = { - "~r~": "red", + "~r~": "#c0392b", "~b~": "#378cbf", - "~g~": "green", + "~g~": "#2ecc71", "~y~": "yellow", "~p~": "purple", "~c~": "grey", "~m~": "#212121", "~u~": "black", - "~o~": "orange", + "~o~": "#fb9b04", }; w.addEventListener("message", (event) => { if (event.data.action === "show") { - if (lastType) { - doc.getElementById(lastType).style.display = "none"; + if (lastType.id !== undefined) { + doc.getElementById(lastType["id"]).style.display = "none"; notification({ type: event.data.type, message: event.data.message, @@ -47,7 +47,12 @@ w.addEventListener("message", (event) => { } } else if (event.data.action === "hide") { if (lastType !== "") { - doc.getElementById(lastType).style.display = "none"; + doc.getElementById(lastType["id"]).classList.add("fadeOut"); + setTimeout(() => { + doc.getElementById(lastType["id"]).classList.remove("fadeOut"); + doc.getElementById(lastType["id"]).style.display = "none"; + doc.getElementById(lastType["message"]).innerHTML = ""; + }, 300); } else { console.log("There isn't a textUI displaying!?"); } @@ -78,6 +83,10 @@ notification = (data) => { } doc.getElementById(types[data.type]["id"]).style.display = "block"; - lastType = types[data.type]["id"]; - doc.getElementById(types[data.type]["message"]).innerHTML = data["message"]; + doc.getElementById(types[data.type]["id"]).classList.add("fadeIn"); + setTimeout(() => { + doc.getElementById(types[data.type]["id"]).classList.remove("fadeIn"); + lastType = types[data.type]; + doc.getElementById(types[data.type]["message"]).innerHTML = data["message"]; + }, 300); };