diff --git a/.github/workflows/formatt-all.yml b/.github/workflows/formatt-all.yml deleted file mode 100644 index 484d5b95b..000000000 --- a/.github/workflows/formatt-all.yml +++ /dev/null @@ -1,23 +0,0 @@ -# Check Lua Formatting -name: Check Lua Formatting -on: - push: - branches: [ main ] - pull_request: - types: [ labeled ] - -jobs: - stylua-check: - name: Stylua Check - runs-on: ubuntu-latest - permissions: - contents: write - if: ${{ github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.label.name == 'format_all') }} - steps: - - uses: actions/checkout@v4 - - uses: JohnnyMorganz/stylua-action@v4 - with: - token: ${{ secrets.GITHUB_TOKEN }} - version: latest - # CLI arguments - args: --check . diff --git a/.gitignore b/.gitignore index b626465d5..ae009af18 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,8 @@ server-data/resources/\[gameplay] server-data/resources/\[managers] server-data/resources/\[system] server-data/resources/\[system]/\[builders] +server-data/resources/\[test] +server-data/resources/\[gamemodes] # Resources log server-data/resources/\[phone]/npwd/sv_npwd.log \ No newline at end of file diff --git a/server-data/resources/[esx]/es_extended/LICENSE b/server-data/resources/[esx]/es_extended/LICENSE index f26a06604..a10f2d96e 100644 --- a/server-data/resources/[esx]/es_extended/LICENSE +++ b/server-data/resources/[esx]/es_extended/LICENSE @@ -631,7 +631,8 @@ to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - es_extended Copyright (C) 2022-2024 bitpredator + es_extended + Copyright (C) 2015-2023 Jérémie N'gadi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -651,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - es_extended Copyright (C) 2022-2024 bitpredator + es_extended Copyright (C) 2015-2023 Jérémie N'gadi This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/server-data/resources/[esx]/es_extended/client/common.lua b/server-data/resources/[esx]/es_extended/client/common.lua index 11225fd22..7a896201c 100644 --- a/server-data/resources/[esx]/es_extended/client/common.lua +++ b/server-data/resources/[esx]/es_extended/client/common.lua @@ -1,12 +1,8 @@ exports("getSharedObject", function() - return ESX + return ESX end) AddEventHandler("esx:getSharedObject", function() - local Invoke = GetInvokingResource() - print( - ("[^1ERROR^7] Resource ^5%s^7 Used the ^5getSharedObject^7 Event, this event ^1no longer exists!^7 Visit https://documentation.esx-framework.org/tutorials/tutorials-esx/sharedevent for how to fix!"):format( - Invoke - ) - ) + local Invoke = GetInvokingResource() + print(("[^1ERROR^7] Resource ^5%s^7 Used the ^5getSharedObject^7 Event, this event ^1no longer exists!^7 Visit https://bitpredator.github.io/bptdevelopment/docs/esx-tutorial/sharedevent for how to fix!"):format(Invoke)) end) diff --git a/server-data/resources/[esx]/es_extended/client/functions.lua b/server-data/resources/[esx]/es_extended/client/functions.lua index bdd1f6049..bb545f4e8 100644 --- a/server-data/resources/[esx]/es_extended/client/functions.lua +++ b/server-data/resources/[esx]/es_extended/client/functions.lua @@ -17,1440 +17,1334 @@ ESX.Scaleform.Utils = {} ESX.Streaming = {} function ESX.IsPlayerLoaded() - return ESX.PlayerLoaded + return ESX.PlayerLoaded end function ESX.GetPlayerData() - return ESX.PlayerData + return ESX.PlayerData end function ESX.SearchInventory(items, count) - items = type(items) == "string" and { items } or items - - local data = {} - for i = 1, #items do - for c = 1, #ESX.PlayerData.inventory do - if ESX.PlayerData.inventory[c].name == items[i] then - data[items[i]] = (count and ESX.PlayerData.inventory[c].count) or ESX.PlayerData.inventory[c] - end - end - end - - return #items == 1 and data[items[1]] or data + items = type(items) == "string" and { items } or items + + local data = {} + for i = 1, #items do + for c = 1, #ESX.PlayerData.inventory do + if ESX.PlayerData.inventory[c].name == items[i] then + data[items[i]] = (count and ESX.PlayerData.inventory[c].count) or ESX.PlayerData.inventory[c] + end + end + end + + return #items == 1 and data[items[1]] or data end function ESX.SetPlayerData(key, val) - local current = ESX.PlayerData[key] - ESX.PlayerData[key] = val - if key ~= "inventory" and key ~= "loadout" then - if type(val) == "table" or val ~= current then - TriggerEvent("esx:setPlayerData", key, val, current) - end - end + local current = ESX.PlayerData[key] + ESX.PlayerData[key] = val + if key ~= "inventory" and key ~= "loadout" then + if type(val) == "table" or val ~= current then + TriggerEvent("esx:setPlayerData", key, val, current) + end + end end function ESX.Progressbar(message, length, Options) - if GetResourceState("esx_progressbar") ~= "missing" then - return exports["esx_progressbar"]:Progressbar(message, length, Options) - end + if GetResourceState("esx_progressbar") ~= "missing" then + return exports["esx_progressbar"]:Progressbar(message, length, Options) + end - print("[^1ERROR^7] ^5ESX Progressbar^7 is Missing!") + print("[^1ERROR^7] ^5ESX Progressbar^7 is Missing!") end function ESX.ShowNotification(message, notifyType, length) - if GetResourceState("esx_notify") ~= "missing" then - return exports["esx_notify"]:Notify(notifyType, length, message) - end + if GetResourceState("esx_notify") ~= "missing" then + return exports["esx_notify"]:Notify(notifyType, length, message) + end - print("[^1ERROR^7] ^5ESX Notify^7 is Missing!") + print("[^1ERROR^7] ^5ESX Notify^7 is Missing!") end function ESX.TextUI(message, notifyType) - if GetResourceState("esx_textui") ~= "missing" then - return exports["esx_textui"]:TextUI(message, notifyType) - end + if GetResourceState("esx_textui") ~= "missing" then + return exports["esx_textui"]:TextUI(message, notifyType) + end - print("[^1ERROR^7] ^5ESX TextUI^7 is Missing!") + print("[^1ERROR^7] ^5ESX TextUI^7 is Missing!") end function ESX.HideUI() - if GetResourceState("esx_textui") ~= "missing" then - return exports["esx_textui"]:HideUI() - end + if GetResourceState("esx_textui") ~= "missing" then + return exports["esx_textui"]:HideUI() + end - print("[^1ERROR^7] ^5ESX TextUI^7 is Missing!") + print("[^1ERROR^7] ^5ESX TextUI^7 is Missing!") end function ESX.ShowAdvancedNotification(sender, subject, msg, textureDict, iconType, flash, saveToBrief, hudColorIndex) - if saveToBrief == nil then - saveToBrief = true - end - AddTextEntry("esxAdvancedNotification", msg) - BeginTextCommandThefeedPost("esxAdvancedNotification") - if hudColorIndex then - ThefeedSetNextPostBackgroundColor(hudColorIndex) - end - EndTextCommandThefeedPostMessagetext(textureDict, textureDict, false, iconType, sender, subject) - EndTextCommandThefeedPostTicker(flash or false, saveToBrief) + if saveToBrief == nil then + saveToBrief = true + end + AddTextEntry("esxAdvancedNotification", msg) + BeginTextCommandThefeedPost("esxAdvancedNotification") + if hudColorIndex then + ThefeedSetNextPostBackgroundColor(hudColorIndex) + end + EndTextCommandThefeedPostMessagetext(textureDict, textureDict, false, iconType, sender, subject) + EndTextCommandThefeedPostTicker(flash or false, saveToBrief) end function ESX.ShowHelpNotification(msg, thisFrame, beep, duration) - AddTextEntry("esxHelpNotification", msg) - - if thisFrame then - DisplayHelpTextThisFrame("esxHelpNotification", false) - else - if beep == nil then - beep = true - end - BeginTextCommandDisplayHelp("esxHelpNotification") - EndTextCommandDisplayHelp(0, false, beep, duration or -1) - end + AddTextEntry("esxHelpNotification", msg) + + if thisFrame then + DisplayHelpTextThisFrame("esxHelpNotification", false) + else + if beep == nil then + beep = true + end + BeginTextCommandDisplayHelp("esxHelpNotification") + EndTextCommandDisplayHelp(0, false, beep, duration or -1) + end end function ESX.ShowFloatingHelpNotification(msg, coords) - AddTextEntry("esxFloatingHelpNotification", msg) - SetFloatingHelpTextWorldPosition(1, coords) - SetFloatingHelpTextStyle(1, 1, 2, -1, 3, 0) - BeginTextCommandDisplayHelp("esxFloatingHelpNotification") - EndTextCommandDisplayHelp(2, false, false, -1) + AddTextEntry("esxFloatingHelpNotification", msg) + SetFloatingHelpTextWorldPosition(1, coords) + SetFloatingHelpTextStyle(1, 1, 2, -1, 3, 0) + BeginTextCommandDisplayHelp("esxFloatingHelpNotification") + EndTextCommandDisplayHelp(2, false, false, -1) end ESX.HashString = function(str) - local format = string.format - local upper = string.upper - local gsub = string.gsub - local hash = joaat(str) - local input_map = format("~INPUT_%s~", upper(format("%x", hash))) - input_map = gsub(input_map, "FFFFFFFF", "") - - return input_map + local format = string.format + local upper = string.upper + local gsub = string.gsub + local hash = joaat(str) + local input_map = format("~INPUT_%s~", upper(format("%x", hash))) + input_map = gsub(input_map, "FFFFFFFF", "") + + return input_map end local contextAvailable = GetResourceState("esx_context") ~= "missing" function ESX.OpenContext(...) - return contextAvailable and exports["esx_context"]:Open(...) - or not contextAvailable - and print("[^1ERROR^7] Tried to ^5open^7 context menu, but ^5esx_context^7 is missing!") + return contextAvailable and exports["esx_context"]:Open(...) or not contextAvailable and print("[^1ERROR^7] Tried to ^5open^7 context menu, but ^5esx_context^7 is missing!") end function ESX.PreviewContext(...) - return contextAvailable and exports["esx_context"]:Preview(...) - or not contextAvailable - and print("[^1ERROR^7] Tried to ^5preview^7 context menu, but ^5esx_context^7 is missing!") + return contextAvailable and exports["esx_context"]:Preview(...) or not contextAvailable and print("[^1ERROR^7] Tried to ^5preview^7 context menu, but ^5esx_context^7 is missing!") end function ESX.CloseContext(...) - return contextAvailable and exports["esx_context"]:Close(...) - or not contextAvailable - and print("[^1ERROR^7] Tried to ^5close^7 context menu, but ^5esx_context^7 is missing!") + return contextAvailable and exports["esx_context"]:Close(...) or not contextAvailable and print("[^1ERROR^7] Tried to ^5close^7 context menu, but ^5esx_context^7 is missing!") end function ESX.RefreshContext(...) - return contextAvailable and exports["esx_context"]:Refresh(...) - or not contextAvailable - and print("[^1ERROR^7] Tried to ^5Refresh^7 context menu, but ^5esx_context^7 is missing!") + return contextAvailable and exports["esx_context"]:Refresh(...) or not contextAvailable and print("[^1ERROR^7] Tried to ^5Refresh^7 context menu, but ^5esx_context^7 is missing!") end ESX.RegisterInput = function(command_name, label, input_group, key, on_press, on_release) - RegisterCommand(on_release ~= nil and "+" .. command_name or command_name, on_press) - Core.Input[command_name] = on_release ~= nil and ESX.HashString("+" .. command_name) or ESX.HashString(command_name) - if on_release then - RegisterCommand("-" .. command_name, on_release) - end - RegisterKeyMapping(on_release ~= nil and "+" .. command_name or command_name, label, input_group, key) + RegisterCommand(on_release ~= nil and "+" .. command_name or command_name, on_press) + Core.Input[command_name] = on_release ~= nil and ESX.HashString("+" .. command_name) or ESX.HashString(command_name) + if on_release then + RegisterCommand("-" .. command_name, on_release) + end + RegisterKeyMapping(on_release ~= nil and "+" .. command_name or command_name, label, input_group, key) end function ESX.UI.Menu.RegisterType(menuType, open, close) - ESX.UI.Menu.RegisteredTypes[menuType] = { - open = open, - close = close, - } + ESX.UI.Menu.RegisteredTypes[menuType] = { + open = open, + close = close, + } end function ESX.UI.Menu.Open(menuType, namespace, name, data, submit, cancel, change, close) - local menu = {} - - menu.type = menuType - menu.namespace = namespace - menu.resourceName = (GetInvokingResource() or "Unknown") - menu.name = name - menu.data = data - menu.submit = submit - menu.cancel = cancel - menu.change = change - - menu.close = function() - ESX.UI.Menu.RegisteredTypes[menuType].close(namespace, name) - - for i = 1, #ESX.UI.Menu.Opened, 1 do - if ESX.UI.Menu.Opened[i] then - if - ESX.UI.Menu.Opened[i].type == menuType - and ESX.UI.Menu.Opened[i].namespace == namespace - and ESX.UI.Menu.Opened[i].name == name - then - ESX.UI.Menu.Opened[i] = nil - end - end - end - - if close then - close() - end - end - - menu.update = function(query, newData) - for i = 1, #menu.data.elements, 1 do - local match = true - - for k, v in pairs(query) do - if menu.data.elements[i][k] ~= v then - match = false - end - end - - if match then - for k, v in pairs(newData) do - menu.data.elements[i][k] = v - end - end - end - end - - menu.refresh = function() - ESX.UI.Menu.RegisteredTypes[menuType].open(namespace, name, menu.data) - end - - menu.setElement = function(i, key, val) - menu.data.elements[i][key] = val - end - - menu.setElements = function(newElements) - menu.data.elements = newElements - end - - menu.setTitle = function(val) - menu.data.title = val - end - - menu.removeElement = function(query) - for i = 1, #menu.data.elements, 1 do - for k, v in pairs(query) do - if menu.data.elements[i] then - if menu.data.elements[i][k] == v then - table.remove(menu.data.elements, i) - break - end - end - end - end - end - - ESX.UI.Menu.Opened[#ESX.UI.Menu.Opened + 1] = menu - ESX.UI.Menu.RegisteredTypes[menuType].open(namespace, name, data) - - return menu + local menu = {} + + menu.type = menuType + menu.namespace = namespace + menu.resourceName = (GetInvokingResource() or "Unknown") + menu.name = name + menu.data = data + menu.submit = submit + menu.cancel = cancel + menu.change = change + + menu.close = function() + ESX.UI.Menu.RegisteredTypes[menuType].close(namespace, name) + + for i = 1, #ESX.UI.Menu.Opened, 1 do + if ESX.UI.Menu.Opened[i] then + if ESX.UI.Menu.Opened[i].type == menuType and ESX.UI.Menu.Opened[i].namespace == namespace and ESX.UI.Menu.Opened[i].name == name then + ESX.UI.Menu.Opened[i] = nil + end + end + end + + if close then + close() + end + end + + menu.update = function(query, newData) + for i = 1, #menu.data.elements, 1 do + local match = true + + for k, v in pairs(query) do + if menu.data.elements[i][k] ~= v then + match = false + end + end + + if match then + for k, v in pairs(newData) do + menu.data.elements[i][k] = v + end + end + end + end + + menu.refresh = function() + ESX.UI.Menu.RegisteredTypes[menuType].open(namespace, name, menu.data) + end + + menu.setElement = function(i, key, val) + menu.data.elements[i][key] = val + end + + menu.setElements = function(newElements) + menu.data.elements = newElements + end + + menu.setTitle = function(val) + menu.data.title = val + end + + menu.removeElement = function(query) + for i = 1, #menu.data.elements, 1 do + for k, v in pairs(query) do + if menu.data.elements[i] then + if menu.data.elements[i][k] == v then + table.remove(menu.data.elements, i) + break + end + end + end + end + end + + ESX.UI.Menu.Opened[#ESX.UI.Menu.Opened + 1] = menu + ESX.UI.Menu.RegisteredTypes[menuType].open(namespace, name, data) + + return menu end function ESX.UI.Menu.Close(menuType, namespace, name) - for i = 1, #ESX.UI.Menu.Opened, 1 do - if ESX.UI.Menu.Opened[i] then - if - ESX.UI.Menu.Opened[i].type == menuType - and ESX.UI.Menu.Opened[i].namespace == namespace - and ESX.UI.Menu.Opened[i].name == name - then - ESX.UI.Menu.Opened[i].close() - ESX.UI.Menu.Opened[i] = nil - end - end - end + for i = 1, #ESX.UI.Menu.Opened, 1 do + if ESX.UI.Menu.Opened[i] then + if ESX.UI.Menu.Opened[i].type == menuType and ESX.UI.Menu.Opened[i].namespace == namespace and ESX.UI.Menu.Opened[i].name == name then + ESX.UI.Menu.Opened[i].close() + ESX.UI.Menu.Opened[i] = nil + end + end + end end function ESX.UI.Menu.CloseAll() - for i = 1, #ESX.UI.Menu.Opened, 1 do - if ESX.UI.Menu.Opened[i] then - ESX.UI.Menu.Opened[i].close() - ESX.UI.Menu.Opened[i] = nil - end - end + for i = 1, #ESX.UI.Menu.Opened, 1 do + if ESX.UI.Menu.Opened[i] then + ESX.UI.Menu.Opened[i].close() + ESX.UI.Menu.Opened[i] = nil + end + end end function ESX.UI.Menu.GetOpened(menuType, namespace, name) - for i = 1, #ESX.UI.Menu.Opened, 1 do - if ESX.UI.Menu.Opened[i] then - if - ESX.UI.Menu.Opened[i].type == menuType - and ESX.UI.Menu.Opened[i].namespace == namespace - and ESX.UI.Menu.Opened[i].name == name - then - return ESX.UI.Menu.Opened[i] - end - end - end + for i = 1, #ESX.UI.Menu.Opened, 1 do + if ESX.UI.Menu.Opened[i] then + if ESX.UI.Menu.Opened[i].type == menuType and ESX.UI.Menu.Opened[i].namespace == namespace and ESX.UI.Menu.Opened[i].name == name then + return ESX.UI.Menu.Opened[i] + end + end + end end function ESX.UI.Menu.GetOpenedMenus() - return ESX.UI.Menu.Opened + return ESX.UI.Menu.Opened end function ESX.UI.Menu.IsOpen(menuType, namespace, name) - return ESX.UI.Menu.GetOpened(menuType, namespace, name) ~= nil + return ESX.UI.Menu.GetOpened(menuType, namespace, name) ~= nil end function ESX.UI.ShowInventoryItemNotification(add, item, count) - SendNUIMessage({ - action = "inventoryNotification", - add = add, - item = item, - count = count, - }) + SendNUIMessage({ + action = "inventoryNotification", + add = add, + item = item, + count = count, + }) end function ESX.Game.GetPedMugshot(ped, transparent) - if not DoesEntityExist(ped) then - return - end - local mugshot = transparent and RegisterPedheadshotTransparent(ped) or RegisterPedheadshot(ped) + if not DoesEntityExist(ped) then + return + end + local mugshot = transparent and RegisterPedheadshotTransparent(ped) or RegisterPedheadshot(ped) - while not IsPedheadshotReady(mugshot) do - Wait(0) - end + while not IsPedheadshotReady(mugshot) do + Wait(0) + end - return mugshot, GetPedheadshotTxdString(mugshot) + return mugshot, GetPedheadshotTxdString(mugshot) end function ESX.Game.Teleport(entity, coords, cb) - local vector = type(coords) == "vector4" and coords - or type(coords) == "vector3" and vector4(coords, 0.0) - or vec(coords.x, coords.y, coords.z, coords.heading or 0.0) - - if DoesEntityExist(entity) then - RequestCollisionAtCoord(vector.xyz) - while not HasCollisionLoadedAroundEntity(entity) do - Wait(0) - end - - SetEntityCoords(entity, vector.xyz, false, false, false, false) - SetEntityHeading(entity, vector.w) - end - - if cb then - cb() - end + local vector = type(coords) == "vector4" and coords or type(coords) == "vector3" and vector4(coords, 0.0) or vec(coords.x, coords.y, coords.z, coords.heading or 0.0) + + if DoesEntityExist(entity) then + RequestCollisionAtCoord(vector.xyz) + while not HasCollisionLoadedAroundEntity(entity) do + Wait(0) + end + + SetEntityCoords(entity, vector.xyz, false, false, false, false) + SetEntityHeading(entity, vector.w) + end + + if cb then + cb() + end end function ESX.Game.SpawnObject(object, coords, cb, networked) - networked = networked == nil and true or networked - - local model = type(object) == "number" and object or joaat(object) - local vector = type(coords) == "vector3" and coords or vec(coords.x, coords.y, coords.z) - CreateThread(function() - ESX.Streaming.RequestModel(model) - - local obj = CreateObject(model, vector.xyz, networked, false, true) - if cb then - cb(obj) - end - end) + networked = networked == nil and true or networked + + local model = type(object) == "number" and object or joaat(object) + local vector = type(coords) == "vector3" and coords or vec(coords.x, coords.y, coords.z) + CreateThread(function() + ESX.Streaming.RequestModel(model) + + local obj = CreateObject(model, vector.xyz, networked, false, true) + if cb then + cb(obj) + end + end) end function ESX.Game.SpawnLocalObject(object, coords, cb) - ESX.Game.SpawnObject(object, coords, cb, false) + ESX.Game.SpawnObject(object, coords, cb, false) end function ESX.Game.DeleteVehicle(vehicle) - SetEntityAsMissionEntity(vehicle, true, true) - DeleteVehicle(vehicle) + SetEntityAsMissionEntity(vehicle, true, true) + DeleteVehicle(vehicle) end function ESX.Game.DeleteObject(object) - SetEntityAsMissionEntity(object, false, true) - DeleteObject(object) + SetEntityAsMissionEntity(object, false, true) + DeleteObject(object) end function ESX.Game.SpawnVehicle(vehicleModel, coords, heading, cb, networked) - local model = type(vehicleModel) == "number" and vehicleModel or joaat(vehicleModel) - local vector = type(coords) == "vector3" and coords or vec(coords.x, coords.y, coords.z) - networked = networked == nil and true or networked - - local playerCoords = GetEntityCoords(ESX.PlayerData.ped) - if not vector or not playerCoords then - return - end - - local dist = #(playerCoords - vector) - if dist > 424 then -- Onesync infinity Range (https://docs.fivem.net/docs/scripting-reference/onesync/) - local executingResource = GetInvokingResource() or "Unknown" - return print( - ("[^1ERROR^7] Resource ^5%s^7 Tried to spawn vehicle on the client but the position is too far away (Out of onesync range)."):format( - executingResource - ) - ) - end - - CreateThread(function() - ESX.Streaming.RequestModel(model) - - local vehicle = CreateVehicle(model, vector.xyz, heading, networked, true) - - if networked then - local id = NetworkGetNetworkIdFromEntity(vehicle) - SetNetworkIdCanMigrate(id, true) - SetEntityAsMissionEntity(vehicle, true, true) - end - SetVehicleHasBeenOwnedByPlayer(vehicle, true) - SetVehicleNeedsToBeHotwired(vehicle, false) - SetModelAsNoLongerNeeded(model) - SetVehRadioStation(vehicle, "OFF") - - RequestCollisionAtCoord(vector.xyz) - while not HasCollisionLoadedAroundEntity(vehicle) do - Wait(0) - end - - if cb then - cb(vehicle) - end - end) + local model = type(vehicleModel) == "number" and vehicleModel or joaat(vehicleModel) + local vector = type(coords) == "vector3" and coords or vec(coords.x, coords.y, coords.z) + networked = networked == nil and true or networked + + local playerCoords = GetEntityCoords(ESX.PlayerData.ped) + if not vector or not playerCoords then + return + end + + local dist = #(playerCoords - vector) + if dist > 424 then -- Onesync infinity Range (https://docs.fivem.net/docs/scripting-reference/onesync/) + local executingResource = GetInvokingResource() or "Unknown" + return print(("[^1ERROR^7] Resource ^5%s^7 Tried to spawn vehicle on the client but the position is too far away (Out of onesync range)."):format(executingResource)) + end + + CreateThread(function() + ESX.Streaming.RequestModel(model) + + local vehicle = CreateVehicle(model, vector.xyz, heading, networked, true) + + if networked then + local id = NetworkGetNetworkIdFromEntity(vehicle) + SetNetworkIdCanMigrate(id, true) + SetEntityAsMissionEntity(vehicle, true, true) + end + SetVehicleHasBeenOwnedByPlayer(vehicle, true) + SetVehicleNeedsToBeHotwired(vehicle, false) + SetModelAsNoLongerNeeded(model) + SetVehRadioStation(vehicle, "OFF") + + RequestCollisionAtCoord(vector.xyz) + while not HasCollisionLoadedAroundEntity(vehicle) do + Wait(0) + end + + if cb then + cb(vehicle) + end + end) end function ESX.Game.SpawnLocalVehicle(vehicle, coords, heading, cb) - ESX.Game.SpawnVehicle(vehicle, coords, heading, cb, false) + ESX.Game.SpawnVehicle(vehicle, coords, heading, cb, false) end function ESX.Game.IsVehicleEmpty(vehicle) - local passengers = GetVehicleNumberOfPassengers(vehicle) - local driverSeatFree = IsVehicleSeatFree(vehicle, -1) + local passengers = GetVehicleNumberOfPassengers(vehicle) + local driverSeatFree = IsVehicleSeatFree(vehicle, -1) - return passengers == 0 and driverSeatFree + return passengers == 0 and driverSeatFree end function ESX.Game.GetObjects() -- Leave the function for compatibility - return GetGamePool("CObject") + return GetGamePool("CObject") end function ESX.Game.GetPeds(onlyOtherPeds) - local pool = GetGamePool("CPed") - - if onlyOtherPeds then - local myPed = ESX.PlayerData.ped - for i = 1, #pool do - if pool[i] == myPed then - table.remove(pool, i) - break - end - end - end - - return pool + local pool = GetGamePool("CPed") + + if onlyOtherPeds then + local myPed = ESX.PlayerData.ped + for i = 1, #pool do + if pool[i] == myPed then + table.remove(pool, i) + break + end + end + end + + return pool end function ESX.Game.GetVehicles() -- Leave the function for compatibility - return GetGamePool("CVehicle") + return GetGamePool("CVehicle") end function ESX.Game.GetPlayers(onlyOtherPlayers, returnKeyValue, returnPeds) - local players, myPlayer = {}, PlayerId() - local active = GetActivePlayers() - - for i = 1, #active do - local currentPlayer = active[i] - local ped = GetPlayerPed(currentPlayer) - - if DoesEntityExist(ped) and ((onlyOtherPlayers and currentPlayer ~= myPlayer) or not onlyOtherPlayers) then - if returnKeyValue then - players[currentPlayer] = ped - else - players[#players + 1] = returnPeds and ped or currentPlayer - end - end - end - - return players + local players, myPlayer = {}, PlayerId() + local active = GetActivePlayers() + + for i = 1, #active do + local currentPlayer = active[i] + local ped = GetPlayerPed(currentPlayer) + + if DoesEntityExist(ped) and ((onlyOtherPlayers and currentPlayer ~= myPlayer) or not onlyOtherPlayers) then + if returnKeyValue then + players[currentPlayer] = ped + else + players[#players + 1] = returnPeds and ped or currentPlayer + end + end + end + + return players end function ESX.Game.GetClosestObject(coords, modelFilter) - return ESX.Game.GetClosestEntity(ESX.Game.GetObjects(), false, coords, modelFilter) + return ESX.Game.GetClosestEntity(ESX.Game.GetObjects(), false, coords, modelFilter) end function ESX.Game.GetClosestPed(coords, modelFilter) - return ESX.Game.GetClosestEntity(ESX.Game.GetPeds(true), false, coords, modelFilter) + return ESX.Game.GetClosestEntity(ESX.Game.GetPeds(true), false, coords, modelFilter) end function ESX.Game.GetClosestPlayer(coords) - return ESX.Game.GetClosestEntity(ESX.Game.GetPlayers(true, true), true, coords, nil) + return ESX.Game.GetClosestEntity(ESX.Game.GetPlayers(true, true), true, coords, nil) end function ESX.Game.GetClosestVehicle(coords, modelFilter) - return ESX.Game.GetClosestEntity(ESX.Game.GetVehicles(), false, coords, modelFilter) + return ESX.Game.GetClosestEntity(ESX.Game.GetVehicles(), false, coords, modelFilter) end local function EnumerateEntitiesWithinDistance(entities, isPlayerEntities, coords, maxDistance) - local nearbyEntities = {} + local nearbyEntities = {} - if coords then - coords = vector3(coords.x, coords.y, coords.z) - else - local playerPed = ESX.PlayerData.ped - coords = GetEntityCoords(playerPed) - end + if coords then + coords = vector3(coords.x, coords.y, coords.z) + else + local playerPed = ESX.PlayerData.ped + coords = GetEntityCoords(playerPed) + end - for k, entity in pairs(entities) do - local distance = #(coords - GetEntityCoords(entity)) + for k, entity in pairs(entities) do + local distance = #(coords - GetEntityCoords(entity)) - if distance <= maxDistance then - nearbyEntities[#nearbyEntities + 1] = isPlayerEntities and k or entity - end - end + if distance <= maxDistance then + nearbyEntities[#nearbyEntities + 1] = isPlayerEntities and k or entity + end + end - return nearbyEntities + return nearbyEntities end function ESX.Game.GetPlayersInArea(coords, maxDistance) - return EnumerateEntitiesWithinDistance(ESX.Game.GetPlayers(true, true), true, coords, maxDistance) + return EnumerateEntitiesWithinDistance(ESX.Game.GetPlayers(true, true), true, coords, maxDistance) end function ESX.Game.GetVehiclesInArea(coords, maxDistance) - return EnumerateEntitiesWithinDistance(ESX.Game.GetVehicles(), false, coords, maxDistance) + return EnumerateEntitiesWithinDistance(ESX.Game.GetVehicles(), false, coords, maxDistance) end function ESX.Game.IsSpawnPointClear(coords, maxDistance) - return #ESX.Game.GetVehiclesInArea(coords, maxDistance) == 0 + return #ESX.Game.GetVehiclesInArea(coords, maxDistance) == 0 end function ESX.Game.GetClosestEntity(entities, isPlayerEntities, coords, modelFilter) - local closestEntity, closestEntityDistance, filteredEntities = -1, -1, nil - - if coords then - coords = vector3(coords.x, coords.y, coords.z) - else - local playerPed = ESX.PlayerData.ped - coords = GetEntityCoords(playerPed) - end - - if modelFilter then - filteredEntities = {} - - for _, entity in pairs(entities) do - if modelFilter[GetEntityModel(entity)] then - filteredEntities[#filteredEntities + 1] = entity - end - end - end - - for k, entity in pairs(filteredEntities or entities) do - local distance = #(coords - GetEntityCoords(entity)) - - if closestEntityDistance == -1 or distance < closestEntityDistance then - closestEntity, closestEntityDistance = isPlayerEntities and k or entity, distance - end - end - - return closestEntity, closestEntityDistance + local closestEntity, closestEntityDistance, filteredEntities = -1, -1, nil + + if coords then + coords = vector3(coords.x, coords.y, coords.z) + else + local playerPed = ESX.PlayerData.ped + coords = GetEntityCoords(playerPed) + end + + if modelFilter then + filteredEntities = {} + + for _, entity in pairs(entities) do + if modelFilter[GetEntityModel(entity)] then + filteredEntities[#filteredEntities + 1] = entity + end + end + end + + for k, entity in pairs(filteredEntities or entities) do + local distance = #(coords - GetEntityCoords(entity)) + + if closestEntityDistance == -1 or distance < closestEntityDistance then + closestEntity, closestEntityDistance = isPlayerEntities and k or entity, distance + end + end + + return closestEntity, closestEntityDistance end function ESX.Game.GetVehicleInDirection() - local playerPed = ESX.PlayerData.ped - local playerCoords = GetEntityCoords(playerPed) - local inDirection = GetOffsetFromEntityInWorldCoords(playerPed, 0.0, 5.0, 0.0) - local rayHandle = StartExpensiveSynchronousShapeTestLosProbe(playerCoords, inDirection, 10, playerPed, 0) - local _, hit, _, _, entityHit = GetShapeTestResult(rayHandle) - - if hit == 1 and GetEntityType(entityHit) == 2 then - local entityCoords = GetEntityCoords(entityHit) - return entityHit, entityCoords - end - - return nil + local playerPed = ESX.PlayerData.ped + local playerCoords = GetEntityCoords(playerPed) + local inDirection = GetOffsetFromEntityInWorldCoords(playerPed, 0.0, 5.0, 0.0) + local rayHandle = StartExpensiveSynchronousShapeTestLosProbe(playerCoords, inDirection, 10, playerPed, 0) + local _, hit, _, _, entityHit = GetShapeTestResult(rayHandle) + + if hit == 1 and GetEntityType(entityHit) == 2 then + local entityCoords = GetEntityCoords(entityHit) + return entityHit, entityCoords + end + + return nil end function ESX.Game.GetVehicleProperties(vehicle) - if not DoesEntityExist(vehicle) then - return - end - - local colorPrimary, colorSecondary = GetVehicleColours(vehicle) - local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle) - local hasCustomPrimaryColor = GetIsVehiclePrimaryColourCustom(vehicle) - local dashboardColor = GetVehicleDashboardColor(vehicle) - local interiorColor = GetVehicleInteriorColour(vehicle) - local customPrimaryColor = nil - if hasCustomPrimaryColor then - customPrimaryColor = { GetVehicleCustomPrimaryColour(vehicle) } - end - - local hasCustomXenonColor, customXenonColorR, customXenonColorG, customXenonColorB = - GetVehicleXenonLightsCustomColor(vehicle) - local customXenonColor = nil - if hasCustomXenonColor then - customXenonColor = { customXenonColorR, customXenonColorG, customXenonColorB } - end - - local hasCustomSecondaryColor = GetIsVehicleSecondaryColourCustom(vehicle) - local customSecondaryColor = nil - if hasCustomSecondaryColor then - customSecondaryColor = { GetVehicleCustomSecondaryColour(vehicle) } - end - - local extras = {} - for extraId = 0, 20 do - if DoesExtraExist(vehicle, extraId) then - extras[tostring(extraId)] = IsVehicleExtraTurnedOn(vehicle, extraId) - end - end - - local doorsBroken, windowsBroken, tyreBurst = {}, {}, {} - local numWheels = tostring(GetVehicleNumberOfWheels(vehicle)) - - local TyresIndex = { -- Wheel index list according to the number of vehicle wheels. - ["2"] = { 0, 4 }, -- Bike and cycle. - ["3"] = { 0, 1, 4, 5 }, -- Vehicle with 3 wheels (get for wheels because some 3 wheels vehicles have 2 wheels on front and one rear or the reverse). - ["4"] = { 0, 1, 4, 5 }, -- Vehicle with 4 wheels. - ["6"] = { 0, 1, 2, 3, 4, 5 }, -- Vehicle with 6 wheels. - } - - if TyresIndex[numWheels] then - for _, idx in pairs(TyresIndex[numWheels]) do - tyreBurst[tostring(idx)] = IsVehicleTyreBurst(vehicle, idx, false) - end - end - - for windowId = 0, 7 do -- 13 - RollUpWindow(vehicle, windowId) --fix when you put the car away with the window down - windowsBroken[tostring(windowId)] = not IsVehicleWindowIntact(vehicle, windowId) - end - - local numDoors = GetNumberOfVehicleDoors(vehicle) - if numDoors and numDoors > 0 then - for doorsId = 0, numDoors do - doorsBroken[tostring(doorsId)] = IsVehicleDoorDamaged(vehicle, doorsId) - end - end - - return { - model = GetEntityModel(vehicle), - doorsBroken = doorsBroken, - windowsBroken = windowsBroken, - tyreBurst = tyreBurst, - tyresCanBurst = GetVehicleTyresCanBurst(vehicle), - plate = ESX.Math.Trim(GetVehicleNumberPlateText(vehicle)), - plateIndex = GetVehicleNumberPlateTextIndex(vehicle), - - bodyHealth = ESX.Math.Round(GetVehicleBodyHealth(vehicle), 1), - engineHealth = ESX.Math.Round(GetVehicleEngineHealth(vehicle), 1), - tankHealth = ESX.Math.Round(GetVehiclePetrolTankHealth(vehicle), 1), - - fuelLevel = ESX.Math.Round(GetVehicleFuelLevel(vehicle), 1), - dirtLevel = ESX.Math.Round(GetVehicleDirtLevel(vehicle), 1), - color1 = colorPrimary, - color2 = colorSecondary, - customPrimaryColor = customPrimaryColor, - customSecondaryColor = customSecondaryColor, - - pearlescentColor = pearlescentColor, - wheelColor = wheelColor, - - dashboardColor = dashboardColor, - interiorColor = interiorColor, - - wheels = GetVehicleWheelType(vehicle), - windowTint = GetVehicleWindowTint(vehicle), - xenonColor = GetVehicleXenonLightsColor(vehicle), - customXenonColor = customXenonColor, - - neonEnabled = { - IsVehicleNeonLightEnabled(vehicle, 0), - IsVehicleNeonLightEnabled(vehicle, 1), - IsVehicleNeonLightEnabled(vehicle, 2), - IsVehicleNeonLightEnabled(vehicle, 3), - }, - - neonColor = table.pack(GetVehicleNeonLightsColour(vehicle)), - extras = extras, - tyreSmokeColor = table.pack(GetVehicleTyreSmokeColor(vehicle)), - - modSpoilers = GetVehicleMod(vehicle, 0), - modFrontBumper = GetVehicleMod(vehicle, 1), - modRearBumper = GetVehicleMod(vehicle, 2), - modSideSkirt = GetVehicleMod(vehicle, 3), - modExhaust = GetVehicleMod(vehicle, 4), - modFrame = GetVehicleMod(vehicle, 5), - modGrille = GetVehicleMod(vehicle, 6), - modHood = GetVehicleMod(vehicle, 7), - modFender = GetVehicleMod(vehicle, 8), - modRightFender = GetVehicleMod(vehicle, 9), - modRoof = GetVehicleMod(vehicle, 10), - modRoofLivery = GetVehicleRoofLivery(vehicle), - - modEngine = GetVehicleMod(vehicle, 11), - modBrakes = GetVehicleMod(vehicle, 12), - modTransmission = GetVehicleMod(vehicle, 13), - modHorns = GetVehicleMod(vehicle, 14), - modSuspension = GetVehicleMod(vehicle, 15), - modArmor = GetVehicleMod(vehicle, 16), - - modTurbo = IsToggleModOn(vehicle, 18), - modSmokeEnabled = IsToggleModOn(vehicle, 20), - modXenon = IsToggleModOn(vehicle, 22), - - modFrontWheels = GetVehicleMod(vehicle, 23), - modCustomFrontWheels = GetVehicleModVariation(vehicle, 23), - modBackWheels = GetVehicleMod(vehicle, 24), - modCustomBackWheels = GetVehicleModVariation(vehicle, 24), - - modPlateHolder = GetVehicleMod(vehicle, 25), - modVanityPlate = GetVehicleMod(vehicle, 26), - modTrimA = GetVehicleMod(vehicle, 27), - modOrnaments = GetVehicleMod(vehicle, 28), - modDashboard = GetVehicleMod(vehicle, 29), - modDial = GetVehicleMod(vehicle, 30), - modDoorSpeaker = GetVehicleMod(vehicle, 31), - modSeats = GetVehicleMod(vehicle, 32), - modSteeringWheel = GetVehicleMod(vehicle, 33), - modShifterLeavers = GetVehicleMod(vehicle, 34), - modAPlate = GetVehicleMod(vehicle, 35), - modSpeakers = GetVehicleMod(vehicle, 36), - modTrunk = GetVehicleMod(vehicle, 37), - modHydrolic = GetVehicleMod(vehicle, 38), - modEngineBlock = GetVehicleMod(vehicle, 39), - modAirFilter = GetVehicleMod(vehicle, 40), - modStruts = GetVehicleMod(vehicle, 41), - modArchCover = GetVehicleMod(vehicle, 42), - modAerials = GetVehicleMod(vehicle, 43), - modTrimB = GetVehicleMod(vehicle, 44), - modTank = GetVehicleMod(vehicle, 45), - modWindows = GetVehicleMod(vehicle, 46), - modLivery = GetVehicleMod(vehicle, 48) == -1 and GetVehicleLivery(vehicle) or GetVehicleMod(vehicle, 48), - modLightbar = GetVehicleMod(vehicle, 49), - } + if not DoesEntityExist(vehicle) then + return + end + + local colorPrimary, colorSecondary = GetVehicleColours(vehicle) + local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle) + local hasCustomPrimaryColor = GetIsVehiclePrimaryColourCustom(vehicle) + local dashboardColor = GetVehicleDashboardColor(vehicle) + local interiorColor = GetVehicleInteriorColour(vehicle) + local customPrimaryColor = nil + if hasCustomPrimaryColor then + customPrimaryColor = { GetVehicleCustomPrimaryColour(vehicle) } + end + + local hasCustomXenonColor, customXenonColorR, customXenonColorG, customXenonColorB = GetVehicleXenonLightsCustomColor(vehicle) + local customXenonColor = nil + if hasCustomXenonColor then + customXenonColor = { customXenonColorR, customXenonColorG, customXenonColorB } + end + + local hasCustomSecondaryColor = GetIsVehicleSecondaryColourCustom(vehicle) + local customSecondaryColor = nil + if hasCustomSecondaryColor then + customSecondaryColor = { GetVehicleCustomSecondaryColour(vehicle) } + end + + local extras = {} + for extraId = 0, 20 do + if DoesExtraExist(vehicle, extraId) then + extras[tostring(extraId)] = IsVehicleExtraTurnedOn(vehicle, extraId) + end + end + + local doorsBroken, windowsBroken, tyreBurst = {}, {}, {} + local numWheels = tostring(GetVehicleNumberOfWheels(vehicle)) + + local TyresIndex = { -- Wheel index list according to the number of vehicle wheels. + ["2"] = { 0, 4 }, -- Bike and cycle. + ["3"] = { 0, 1, 4, 5 }, -- Vehicle with 3 wheels (get for wheels because some 3 wheels vehicles have 2 wheels on front and one rear or the reverse). + ["4"] = { 0, 1, 4, 5 }, -- Vehicle with 4 wheels. + ["6"] = { 0, 1, 2, 3, 4, 5 }, -- Vehicle with 6 wheels. + } + + if TyresIndex[numWheels] then + for _, idx in pairs(TyresIndex[numWheels]) do + tyreBurst[tostring(idx)] = IsVehicleTyreBurst(vehicle, idx, false) + end + end + + for windowId = 0, 7 do -- 13 + RollUpWindow(vehicle, windowId) --fix when you put the car away with the window down + windowsBroken[tostring(windowId)] = not IsVehicleWindowIntact(vehicle, windowId) + end + + local numDoors = GetNumberOfVehicleDoors(vehicle) + if numDoors and numDoors > 0 then + for doorsId = 0, numDoors do + doorsBroken[tostring(doorsId)] = IsVehicleDoorDamaged(vehicle, doorsId) + end + end + + return { + model = GetEntityModel(vehicle), + doorsBroken = doorsBroken, + windowsBroken = windowsBroken, + tyreBurst = tyreBurst, + tyresCanBurst = GetVehicleTyresCanBurst(vehicle), + plate = ESX.Math.Trim(GetVehicleNumberPlateText(vehicle)), + plateIndex = GetVehicleNumberPlateTextIndex(vehicle), + + bodyHealth = ESX.Math.Round(GetVehicleBodyHealth(vehicle), 1), + engineHealth = ESX.Math.Round(GetVehicleEngineHealth(vehicle), 1), + tankHealth = ESX.Math.Round(GetVehiclePetrolTankHealth(vehicle), 1), + + fuelLevel = ESX.Math.Round(GetVehicleFuelLevel(vehicle), 1), + dirtLevel = ESX.Math.Round(GetVehicleDirtLevel(vehicle), 1), + color1 = colorPrimary, + color2 = colorSecondary, + customPrimaryColor = customPrimaryColor, + customSecondaryColor = customSecondaryColor, + + pearlescentColor = pearlescentColor, + wheelColor = wheelColor, + + dashboardColor = dashboardColor, + interiorColor = interiorColor, + + wheels = GetVehicleWheelType(vehicle), + windowTint = GetVehicleWindowTint(vehicle), + xenonColor = GetVehicleXenonLightsColor(vehicle), + customXenonColor = customXenonColor, + + neonEnabled = { IsVehicleNeonLightEnabled(vehicle, 0), IsVehicleNeonLightEnabled(vehicle, 1), IsVehicleNeonLightEnabled(vehicle, 2), IsVehicleNeonLightEnabled(vehicle, 3) }, + + neonColor = table.pack(GetVehicleNeonLightsColour(vehicle)), + extras = extras, + tyreSmokeColor = table.pack(GetVehicleTyreSmokeColor(vehicle)), + + modSpoilers = GetVehicleMod(vehicle, 0), + modFrontBumper = GetVehicleMod(vehicle, 1), + modRearBumper = GetVehicleMod(vehicle, 2), + modSideSkirt = GetVehicleMod(vehicle, 3), + modExhaust = GetVehicleMod(vehicle, 4), + modFrame = GetVehicleMod(vehicle, 5), + modGrille = GetVehicleMod(vehicle, 6), + modHood = GetVehicleMod(vehicle, 7), + modFender = GetVehicleMod(vehicle, 8), + modRightFender = GetVehicleMod(vehicle, 9), + modRoof = GetVehicleMod(vehicle, 10), + modRoofLivery = GetVehicleRoofLivery(vehicle), + + modEngine = GetVehicleMod(vehicle, 11), + modBrakes = GetVehicleMod(vehicle, 12), + modTransmission = GetVehicleMod(vehicle, 13), + modHorns = GetVehicleMod(vehicle, 14), + modSuspension = GetVehicleMod(vehicle, 15), + modArmor = GetVehicleMod(vehicle, 16), + + modTurbo = IsToggleModOn(vehicle, 18), + modSmokeEnabled = IsToggleModOn(vehicle, 20), + modXenon = IsToggleModOn(vehicle, 22), + + modFrontWheels = GetVehicleMod(vehicle, 23), + modCustomFrontWheels = GetVehicleModVariation(vehicle, 23), + modBackWheels = GetVehicleMod(vehicle, 24), + modCustomBackWheels = GetVehicleModVariation(vehicle, 24), + + modPlateHolder = GetVehicleMod(vehicle, 25), + modVanityPlate = GetVehicleMod(vehicle, 26), + modTrimA = GetVehicleMod(vehicle, 27), + modOrnaments = GetVehicleMod(vehicle, 28), + modDashboard = GetVehicleMod(vehicle, 29), + modDial = GetVehicleMod(vehicle, 30), + modDoorSpeaker = GetVehicleMod(vehicle, 31), + modSeats = GetVehicleMod(vehicle, 32), + modSteeringWheel = GetVehicleMod(vehicle, 33), + modShifterLeavers = GetVehicleMod(vehicle, 34), + modAPlate = GetVehicleMod(vehicle, 35), + modSpeakers = GetVehicleMod(vehicle, 36), + modTrunk = GetVehicleMod(vehicle, 37), + modHydrolic = GetVehicleMod(vehicle, 38), + modEngineBlock = GetVehicleMod(vehicle, 39), + modAirFilter = GetVehicleMod(vehicle, 40), + modStruts = GetVehicleMod(vehicle, 41), + modArchCover = GetVehicleMod(vehicle, 42), + modAerials = GetVehicleMod(vehicle, 43), + modTrimB = GetVehicleMod(vehicle, 44), + modTank = GetVehicleMod(vehicle, 45), + modWindows = GetVehicleMod(vehicle, 46), + modLivery = GetVehicleMod(vehicle, 48) == -1 and GetVehicleLivery(vehicle) or GetVehicleMod(vehicle, 48), + modLightbar = GetVehicleMod(vehicle, 49), + } end function ESX.Game.SetVehicleProperties(vehicle, props) - if not DoesEntityExist(vehicle) then - return - end - local colorPrimary, colorSecondary = GetVehicleColours(vehicle) - local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle) - SetVehicleModKit(vehicle, 0) - - if props.tyresCanBurst ~= nil then - SetVehicleTyresCanBurst(vehicle, props.tyresCanBurst) - end - - if props.plate ~= nil then - SetVehicleNumberPlateText(vehicle, props.plate) - end - if props.plateIndex ~= nil then - SetVehicleNumberPlateTextIndex(vehicle, props.plateIndex) - end - if props.bodyHealth ~= nil then - SetVehicleBodyHealth(vehicle, props.bodyHealth + 0.0) - end - if props.engineHealth ~= nil then - SetVehicleEngineHealth(vehicle, props.engineHealth + 0.0) - end - if props.tankHealth ~= nil then - SetVehiclePetrolTankHealth(vehicle, props.tankHealth + 0.0) - end - if props.fuelLevel ~= nil then - SetVehicleFuelLevel(vehicle, props.fuelLevel + 0.0) - end - if props.dirtLevel ~= nil then - SetVehicleDirtLevel(vehicle, props.dirtLevel + 0.0) - end - if props.customPrimaryColor ~= nil then - SetVehicleCustomPrimaryColour( - vehicle, - props.customPrimaryColor[1], - props.customPrimaryColor[2], - props.customPrimaryColor[3] - ) - end - if props.customSecondaryColor ~= nil then - SetVehicleCustomSecondaryColour( - vehicle, - props.customSecondaryColor[1], - props.customSecondaryColor[2], - props.customSecondaryColor[3] - ) - end - if props.color1 ~= nil then - SetVehicleColours(vehicle, props.color1, colorSecondary) - end - if props.color2 ~= nil then - SetVehicleColours(vehicle, props.color1 or colorPrimary, props.color2) - end - if props.pearlescentColor ~= nil then - SetVehicleExtraColours(vehicle, props.pearlescentColor, wheelColor) - end - - if props.interiorColor ~= nil then - SetVehicleInteriorColor(vehicle, props.interiorColor) - end - - if props.dashboardColor ~= nil then - SetVehicleDashboardColor(vehicle, props.dashboardColor) - end - - if props.wheelColor ~= nil then - SetVehicleExtraColours(vehicle, props.pearlescentColor or pearlescentColor, props.wheelColor) - end - if props.wheels ~= nil then - SetVehicleWheelType(vehicle, props.wheels) - end - if props.windowTint ~= nil then - SetVehicleWindowTint(vehicle, props.windowTint) - end - - if props.neonEnabled ~= nil then - SetVehicleNeonLightEnabled(vehicle, 0, props.neonEnabled[1]) - SetVehicleNeonLightEnabled(vehicle, 1, props.neonEnabled[2]) - SetVehicleNeonLightEnabled(vehicle, 2, props.neonEnabled[3]) - SetVehicleNeonLightEnabled(vehicle, 3, props.neonEnabled[4]) - end - - if props.extras ~= nil then - for extraId, enabled in pairs(props.extras) do - SetVehicleExtra(vehicle, tonumber(extraId), enabled and 0 or 1) - end - end - - if props.neonColor ~= nil then - SetVehicleNeonLightsColour(vehicle, props.neonColor[1], props.neonColor[2], props.neonColor[3]) - end - if props.xenonColor ~= nil then - SetVehicleXenonLightsColor(vehicle, props.xenonColor) - end - if props.customXenonColor ~= nil then - SetVehicleXenonLightsCustomColor( - vehicle, - props.customXenonColor[1], - props.customXenonColor[2], - props.customXenonColor[3] - ) - end - if props.modSmokeEnabled ~= nil then - ToggleVehicleMod(vehicle, 20, true) - end - if props.tyreSmokeColor ~= nil then - SetVehicleTyreSmokeColor(vehicle, props.tyreSmokeColor[1], props.tyreSmokeColor[2], props.tyreSmokeColor[3]) - end - if props.modSpoilers ~= nil then - SetVehicleMod(vehicle, 0, props.modSpoilers, false) - end - if props.modFrontBumper ~= nil then - SetVehicleMod(vehicle, 1, props.modFrontBumper, false) - end - if props.modRearBumper ~= nil then - SetVehicleMod(vehicle, 2, props.modRearBumper, false) - end - if props.modSideSkirt ~= nil then - SetVehicleMod(vehicle, 3, props.modSideSkirt, false) - end - if props.modExhaust ~= nil then - SetVehicleMod(vehicle, 4, props.modExhaust, false) - end - if props.modFrame ~= nil then - SetVehicleMod(vehicle, 5, props.modFrame, false) - end - if props.modGrille ~= nil then - SetVehicleMod(vehicle, 6, props.modGrille, false) - end - if props.modHood ~= nil then - SetVehicleMod(vehicle, 7, props.modHood, false) - end - if props.modFender ~= nil then - SetVehicleMod(vehicle, 8, props.modFender, false) - end - if props.modRightFender ~= nil then - SetVehicleMod(vehicle, 9, props.modRightFender, false) - end - if props.modRoof ~= nil then - SetVehicleMod(vehicle, 10, props.modRoof, false) - end - - if props.modRoofLivery ~= nil then - SetVehicleRoofLivery(vehicle, props.modRoofLivery) - end - - if props.modEngine ~= nil then - SetVehicleMod(vehicle, 11, props.modEngine, false) - end - if props.modBrakes ~= nil then - SetVehicleMod(vehicle, 12, props.modBrakes, false) - end - if props.modTransmission ~= nil then - SetVehicleMod(vehicle, 13, props.modTransmission, false) - end - if props.modHorns ~= nil then - SetVehicleMod(vehicle, 14, props.modHorns, false) - end - if props.modSuspension ~= nil then - SetVehicleMod(vehicle, 15, props.modSuspension, false) - end - if props.modArmor ~= nil then - SetVehicleMod(vehicle, 16, props.modArmor, false) - end - if props.modTurbo ~= nil then - ToggleVehicleMod(vehicle, 18, props.modTurbo) - end - if props.modXenon ~= nil then - ToggleVehicleMod(vehicle, 22, props.modXenon) - end - if props.modFrontWheels ~= nil then - SetVehicleMod(vehicle, 23, props.modFrontWheels, props.modCustomFrontWheels) - end - if props.modBackWheels ~= nil then - SetVehicleMod(vehicle, 24, props.modBackWheels, props.modCustomBackWheels) - end - if props.modPlateHolder ~= nil then - SetVehicleMod(vehicle, 25, props.modPlateHolder, false) - end - if props.modVanityPlate ~= nil then - SetVehicleMod(vehicle, 26, props.modVanityPlate, false) - end - if props.modTrimA ~= nil then - SetVehicleMod(vehicle, 27, props.modTrimA, false) - end - if props.modOrnaments ~= nil then - SetVehicleMod(vehicle, 28, props.modOrnaments, false) - end - if props.modDashboard ~= nil then - SetVehicleMod(vehicle, 29, props.modDashboard, false) - end - if props.modDial ~= nil then - SetVehicleMod(vehicle, 30, props.modDial, false) - end - if props.modDoorSpeaker ~= nil then - SetVehicleMod(vehicle, 31, props.modDoorSpeaker, false) - end - if props.modSeats ~= nil then - SetVehicleMod(vehicle, 32, props.modSeats, false) - end - if props.modSteeringWheel ~= nil then - SetVehicleMod(vehicle, 33, props.modSteeringWheel, false) - end - if props.modShifterLeavers ~= nil then - SetVehicleMod(vehicle, 34, props.modShifterLeavers, false) - end - if props.modAPlate ~= nil then - SetVehicleMod(vehicle, 35, props.modAPlate, false) - end - if props.modSpeakers ~= nil then - SetVehicleMod(vehicle, 36, props.modSpeakers, false) - end - if props.modTrunk ~= nil then - SetVehicleMod(vehicle, 37, props.modTrunk, false) - end - if props.modHydrolic ~= nil then - SetVehicleMod(vehicle, 38, props.modHydrolic, false) - end - if props.modEngineBlock ~= nil then - SetVehicleMod(vehicle, 39, props.modEngineBlock, false) - end - if props.modAirFilter ~= nil then - SetVehicleMod(vehicle, 40, props.modAirFilter, false) - end - if props.modStruts ~= nil then - SetVehicleMod(vehicle, 41, props.modStruts, false) - end - if props.modArchCover ~= nil then - SetVehicleMod(vehicle, 42, props.modArchCover, false) - end - if props.modAerials ~= nil then - SetVehicleMod(vehicle, 43, props.modAerials, false) - end - if props.modTrimB ~= nil then - SetVehicleMod(vehicle, 44, props.modTrimB, false) - end - if props.modTank ~= nil then - SetVehicleMod(vehicle, 45, props.modTank, false) - end - if props.modWindows ~= nil then - SetVehicleMod(vehicle, 46, props.modWindows, false) - end - - if props.modLivery ~= nil then - SetVehicleMod(vehicle, 48, props.modLivery, false) - SetVehicleLivery(vehicle, props.modLivery) - end - - if props.windowsBroken ~= nil then - for k, v in pairs(props.windowsBroken) do - if v then - RemoveVehicleWindow(vehicle, tonumber(k)) - end - end - end - - if props.doorsBroken ~= nil then - for k, v in pairs(props.doorsBroken) do - if v then - SetVehicleDoorBroken(vehicle, tonumber(k), true) - end - end - end - - if props.tyreBurst ~= nil then - for k, v in pairs(props.tyreBurst) do - if v then - SetVehicleTyreBurst(vehicle, tonumber(k), true, 1000.0) - end - end - end + if not DoesEntityExist(vehicle) then + return + end + local colorPrimary, colorSecondary = GetVehicleColours(vehicle) + local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle) + SetVehicleModKit(vehicle, 0) + + if props.tyresCanBurst ~= nil then + SetVehicleTyresCanBurst(vehicle, props.tyresCanBurst) + end + + if props.plate ~= nil then + SetVehicleNumberPlateText(vehicle, props.plate) + end + if props.plateIndex ~= nil then + SetVehicleNumberPlateTextIndex(vehicle, props.plateIndex) + end + if props.bodyHealth ~= nil then + SetVehicleBodyHealth(vehicle, props.bodyHealth + 0.0) + end + if props.engineHealth ~= nil then + SetVehicleEngineHealth(vehicle, props.engineHealth + 0.0) + end + if props.tankHealth ~= nil then + SetVehiclePetrolTankHealth(vehicle, props.tankHealth + 0.0) + end + if props.fuelLevel ~= nil then + SetVehicleFuelLevel(vehicle, props.fuelLevel + 0.0) + end + if props.dirtLevel ~= nil then + SetVehicleDirtLevel(vehicle, props.dirtLevel + 0.0) + end + if props.customPrimaryColor ~= nil then + SetVehicleCustomPrimaryColour(vehicle, props.customPrimaryColor[1], props.customPrimaryColor[2], props.customPrimaryColor[3]) + end + if props.customSecondaryColor ~= nil then + SetVehicleCustomSecondaryColour(vehicle, props.customSecondaryColor[1], props.customSecondaryColor[2], props.customSecondaryColor[3]) + end + if props.color1 ~= nil then + SetVehicleColours(vehicle, props.color1, colorSecondary) + end + if props.color2 ~= nil then + SetVehicleColours(vehicle, props.color1 or colorPrimary, props.color2) + end + if props.pearlescentColor ~= nil then + SetVehicleExtraColours(vehicle, props.pearlescentColor, wheelColor) + end + + if props.interiorColor ~= nil then + SetVehicleInteriorColor(vehicle, props.interiorColor) + end + + if props.dashboardColor ~= nil then + SetVehicleDashboardColor(vehicle, props.dashboardColor) + end + + if props.wheelColor ~= nil then + SetVehicleExtraColours(vehicle, props.pearlescentColor or pearlescentColor, props.wheelColor) + end + if props.wheels ~= nil then + SetVehicleWheelType(vehicle, props.wheels) + end + if props.windowTint ~= nil then + SetVehicleWindowTint(vehicle, props.windowTint) + end + + if props.neonEnabled ~= nil then + SetVehicleNeonLightEnabled(vehicle, 0, props.neonEnabled[1]) + SetVehicleNeonLightEnabled(vehicle, 1, props.neonEnabled[2]) + SetVehicleNeonLightEnabled(vehicle, 2, props.neonEnabled[3]) + SetVehicleNeonLightEnabled(vehicle, 3, props.neonEnabled[4]) + end + + if props.extras ~= nil then + for extraId, enabled in pairs(props.extras) do + SetVehicleExtra(vehicle, tonumber(extraId), enabled and 0 or 1) + end + end + + if props.neonColor ~= nil then + SetVehicleNeonLightsColour(vehicle, props.neonColor[1], props.neonColor[2], props.neonColor[3]) + end + if props.xenonColor ~= nil then + SetVehicleXenonLightsColor(vehicle, props.xenonColor) + end + if props.customXenonColor ~= nil then + SetVehicleXenonLightsCustomColor(vehicle, props.customXenonColor[1], props.customXenonColor[2], props.customXenonColor[3]) + end + if props.modSmokeEnabled ~= nil then + ToggleVehicleMod(vehicle, 20, true) + end + if props.tyreSmokeColor ~= nil then + SetVehicleTyreSmokeColor(vehicle, props.tyreSmokeColor[1], props.tyreSmokeColor[2], props.tyreSmokeColor[3]) + end + if props.modSpoilers ~= nil then + SetVehicleMod(vehicle, 0, props.modSpoilers, false) + end + if props.modFrontBumper ~= nil then + SetVehicleMod(vehicle, 1, props.modFrontBumper, false) + end + if props.modRearBumper ~= nil then + SetVehicleMod(vehicle, 2, props.modRearBumper, false) + end + if props.modSideSkirt ~= nil then + SetVehicleMod(vehicle, 3, props.modSideSkirt, false) + end + if props.modExhaust ~= nil then + SetVehicleMod(vehicle, 4, props.modExhaust, false) + end + if props.modFrame ~= nil then + SetVehicleMod(vehicle, 5, props.modFrame, false) + end + if props.modGrille ~= nil then + SetVehicleMod(vehicle, 6, props.modGrille, false) + end + if props.modHood ~= nil then + SetVehicleMod(vehicle, 7, props.modHood, false) + end + if props.modFender ~= nil then + SetVehicleMod(vehicle, 8, props.modFender, false) + end + if props.modRightFender ~= nil then + SetVehicleMod(vehicle, 9, props.modRightFender, false) + end + if props.modRoof ~= nil then + SetVehicleMod(vehicle, 10, props.modRoof, false) + end + + if props.modRoofLivery ~= nil then + SetVehicleRoofLivery(vehicle, props.modRoofLivery) + end + + if props.modEngine ~= nil then + SetVehicleMod(vehicle, 11, props.modEngine, false) + end + if props.modBrakes ~= nil then + SetVehicleMod(vehicle, 12, props.modBrakes, false) + end + if props.modTransmission ~= nil then + SetVehicleMod(vehicle, 13, props.modTransmission, false) + end + if props.modHorns ~= nil then + SetVehicleMod(vehicle, 14, props.modHorns, false) + end + if props.modSuspension ~= nil then + SetVehicleMod(vehicle, 15, props.modSuspension, false) + end + if props.modArmor ~= nil then + SetVehicleMod(vehicle, 16, props.modArmor, false) + end + if props.modTurbo ~= nil then + ToggleVehicleMod(vehicle, 18, props.modTurbo) + end + if props.modXenon ~= nil then + ToggleVehicleMod(vehicle, 22, props.modXenon) + end + if props.modFrontWheels ~= nil then + SetVehicleMod(vehicle, 23, props.modFrontWheels, props.modCustomFrontWheels) + end + if props.modBackWheels ~= nil then + SetVehicleMod(vehicle, 24, props.modBackWheels, props.modCustomBackWheels) + end + if props.modPlateHolder ~= nil then + SetVehicleMod(vehicle, 25, props.modPlateHolder, false) + end + if props.modVanityPlate ~= nil then + SetVehicleMod(vehicle, 26, props.modVanityPlate, false) + end + if props.modTrimA ~= nil then + SetVehicleMod(vehicle, 27, props.modTrimA, false) + end + if props.modOrnaments ~= nil then + SetVehicleMod(vehicle, 28, props.modOrnaments, false) + end + if props.modDashboard ~= nil then + SetVehicleMod(vehicle, 29, props.modDashboard, false) + end + if props.modDial ~= nil then + SetVehicleMod(vehicle, 30, props.modDial, false) + end + if props.modDoorSpeaker ~= nil then + SetVehicleMod(vehicle, 31, props.modDoorSpeaker, false) + end + if props.modSeats ~= nil then + SetVehicleMod(vehicle, 32, props.modSeats, false) + end + if props.modSteeringWheel ~= nil then + SetVehicleMod(vehicle, 33, props.modSteeringWheel, false) + end + if props.modShifterLeavers ~= nil then + SetVehicleMod(vehicle, 34, props.modShifterLeavers, false) + end + if props.modAPlate ~= nil then + SetVehicleMod(vehicle, 35, props.modAPlate, false) + end + if props.modSpeakers ~= nil then + SetVehicleMod(vehicle, 36, props.modSpeakers, false) + end + if props.modTrunk ~= nil then + SetVehicleMod(vehicle, 37, props.modTrunk, false) + end + if props.modHydrolic ~= nil then + SetVehicleMod(vehicle, 38, props.modHydrolic, false) + end + if props.modEngineBlock ~= nil then + SetVehicleMod(vehicle, 39, props.modEngineBlock, false) + end + if props.modAirFilter ~= nil then + SetVehicleMod(vehicle, 40, props.modAirFilter, false) + end + if props.modStruts ~= nil then + SetVehicleMod(vehicle, 41, props.modStruts, false) + end + if props.modArchCover ~= nil then + SetVehicleMod(vehicle, 42, props.modArchCover, false) + end + if props.modAerials ~= nil then + SetVehicleMod(vehicle, 43, props.modAerials, false) + end + if props.modTrimB ~= nil then + SetVehicleMod(vehicle, 44, props.modTrimB, false) + end + if props.modTank ~= nil then + SetVehicleMod(vehicle, 45, props.modTank, false) + end + if props.modWindows ~= nil then + SetVehicleMod(vehicle, 46, props.modWindows, false) + end + + if props.modLivery ~= nil then + SetVehicleMod(vehicle, 48, props.modLivery, false) + SetVehicleLivery(vehicle, props.modLivery) + end + + if props.windowsBroken ~= nil then + for k, v in pairs(props.windowsBroken) do + if v then + RemoveVehicleWindow(vehicle, tonumber(k)) + end + end + end + + if props.doorsBroken ~= nil then + for k, v in pairs(props.doorsBroken) do + if v then + SetVehicleDoorBroken(vehicle, tonumber(k), true) + end + end + end + + if props.tyreBurst ~= nil then + for k, v in pairs(props.tyreBurst) do + if v then + SetVehicleTyreBurst(vehicle, tonumber(k), true, 1000.0) + end + end + end end function ESX.Game.Utils.DrawText3D(coords, text, size, font) - local vector = type(coords) == "vector3" and coords or vec(coords.x, coords.y, coords.z) - - local camCoords = GetFinalRenderedCamCoord() - local distance = #(vector - camCoords) - - size = size or 1 - font = font or 0 - - local scale = (size / distance) * 2 - local fov = (1 / GetGameplayCamFov()) * 100 - scale = scale * fov - - SetTextScale(0.0, 0.55 * scale) - SetTextFont(font) - SetTextProportional(1) - SetTextColour(255, 255, 255, 215) - BeginTextCommandDisplayText("STRING") - SetTextCentre(true) - AddTextComponentSubstringPlayerName(text) - SetDrawOrigin(vector.xyz, 0) - EndTextCommandDisplayText(0.0, 0.0) - ClearDrawOrigin() + local vector = type(coords) == "vector3" and coords or vec(coords.x, coords.y, coords.z) + + local camCoords = GetFinalRenderedCamCoord() + local distance = #(vector - camCoords) + + size = size or 1 + font = font or 0 + + local scale = (size / distance) * 2 + local fov = (1 / GetGameplayCamFov()) * 100 + scale = scale * fov + + SetTextScale(0.0, 0.55 * scale) + SetTextFont(font) + SetTextProportional(1) + SetTextColour(255, 255, 255, 215) + BeginTextCommandDisplayText("STRING") + SetTextCentre(true) + AddTextComponentSubstringPlayerName(text) + SetDrawOrigin(vector.xyz, 0) + EndTextCommandDisplayText(0.0, 0.0) + ClearDrawOrigin() end ---@param account string Account name (money/bank/black_money) ---@return table|nil function ESX.GetAccount(account) - for i = 1, #ESX.PlayerData.accounts, 1 do - if ESX.PlayerData.accounts[i].name == account then - return ESX.PlayerData.accounts[i] - end - end - return nil + for i = 1, #ESX.PlayerData.accounts, 1 do + if ESX.PlayerData.accounts[i].name == account then + return ESX.PlayerData.accounts[i] + end + end + return nil end function ESX.ShowInventory() - if not Config.EnableDefaultInventory then - return - end - - local playerPed = ESX.PlayerData.ped - local elements = { - { unselectable = true, icon = "fas fa-box" }, - } - local currentWeight = 0 - - for i = 1, #ESX.PlayerData.accounts do - if ESX.PlayerData.accounts[i].money > 0 then - local formattedMoney = - TranslateCap("locale_currency", ESX.Math.GroupDigits(ESX.PlayerData.accounts[i].money)) - local canDrop = ESX.PlayerData.accounts[i].name ~= "bank" - - elements[#elements + 1] = { - icon = "fas fa-money-bill-wave", - title = ('%s: %s'):format( - ESX.PlayerData.accounts[i].label, - formattedMoney - ), - count = ESX.PlayerData.accounts[i].money, - type = "item_account", - value = ESX.PlayerData.accounts[i].name, - usable = false, - rare = false, - canRemove = canDrop, - } - end - end - - for i = 1, #ESX.PlayerData.inventory do - local v = ESX.PlayerData.inventory[i] - if v.count > 0 then - currentWeight = currentWeight + (v.weight * v.count) - - elements[#elements + 1] = { - icon = "fas fa-box", - title = ("%s x%s"):format(v.label, v.count), - count = v.count, - type = "item_standard", - value = v.name, - usable = v.usable, - rare = v.rare, - canRemove = v.canRemove, - } - end - end - - elements[1].title = TranslateCap("inventory", currentWeight, Config.MaxWeight) - - for i = 1, #Config.Weapons do - local v = Config.Weapons[i] - local weaponHash = joaat(v.name) - - if HasPedGotWeapon(playerPed, weaponHash, false) then - local ammo = GetAmmoInPedWeapon(playerPed, weaponHash) - - elements[#elements + 1] = { - icon = "fas fa-gun", - title = v.ammo and ("%s - %s %s"):format(v.label, ammo, v.ammo.label) or v.label, - count = 1, - type = "item_weapon", - value = v.name, - usable = false, - rare = false, - ammo = ammo, - canGiveAmmo = (v.ammo ~= nil), - canRemove = true, - } - end - end - - ESX.CloseContext() - - ESX.OpenContext("right", elements, function(_, element) - local player, distance = ESX.Game.GetClosestPlayer() - - local elements2 = {} - - if element.usable then - elements2[#elements2 + 1] = { - icon = "fas fa-utensils", - title = TranslateCap("use"), - action = "use", - type = element.type, - value = element.value, - } - end - - if element.canRemove then - if player ~= -1 and distance <= 3.0 then - elements2[#elements2 + 1] = { - icon = "fas fa-hands", - title = TranslateCap("give"), - action = "give", - type = element.type, - value = element.value, - } - end - - elements2[#elements2 + 1] = { - icon = "fas fa-trash", - title = TranslateCap("remove"), - action = "remove", - type = element.type, - value = element.value, - } - end - - if - element.type == "item_weapon" - and element.canGiveAmmo - and element.ammo > 0 - and player ~= -1 - and distance <= 3.0 - then - elements2[#elements2 + 1] = { - icon = "fas fa-gun", - title = TranslateCap("giveammo"), - action = "give_ammo", - type = element.type, - value = element.value, - } - end - - elements2[#elements2 + 1] = { - icon = "fas fa-arrow-left", - title = TranslateCap("return"), - action = "return", - } - - ESX.OpenContext("right", elements2, function(_, element2) - local item, itemType = element2.value, element2.type - - if element2.action == "give" then - local playersNearby = ESX.Game.GetPlayersInArea(GetEntityCoords(playerPed), 3.0) - - if #playersNearby > 0 then - local players = {} - local elements3 = { - { unselectable = true, icon = "fas fa-users", title = "Nearby Players" }, - } - - for _, playerNearby in ipairs(playersNearby) do - players[GetPlayerServerId(playerNearby)] = true - end - - ESX.TriggerServerCallback("esx:getPlayerNames", function(returnedPlayers) - for playerId, playerName in pairs(returnedPlayers) do - elements3[#elements3 + 1] = { - icon = "fas fa-user", - title = playerName, - playerId = playerId, - } - end - - ESX.OpenContext("right", elements3, function(_, element3) - local selectedPlayer, selectedPlayerId = - GetPlayerFromServerId(element3.playerId), element3.playerId - playersNearby = ESX.Game.GetPlayersInArea(GetEntityCoords(playerPed), 3.0) - playersNearby = ESX.Table.Set(playersNearby) - - if playersNearby[selectedPlayer] then - local selectedPlayerPed = GetPlayerPed(selectedPlayer) - - if IsPedOnFoot(selectedPlayerPed) and not IsPedFalling(selectedPlayerPed) then - if itemType == "item_weapon" then - TriggerServerEvent( - "esx:giveInventoryItem", - selectedPlayerId, - itemType, - item, - nil - ) - ESX.CloseContext() - else - local elementsG = { - { unselectable = true, icon = "fas fa-trash", title = element.title }, - { - icon = "fas fa-tally", - title = "Amount.", - input = true, - inputType = "number", - inputPlaceholder = "Amount to give..", - inputMin = 1, - inputMax = 1000, - }, - { icon = "fas fa-check-double", title = "Confirm", val = "confirm" }, - } - - ESX.OpenContext("right", elementsG, function(menuG, _) - local quantity = tonumber(menuG.eles[2].inputValue) - - if quantity and quantity > 0 and element.count >= quantity then - TriggerServerEvent( - "esx:giveInventoryItem", - selectedPlayerId, - itemType, - item, - quantity - ) - ESX.CloseContext() - else - ESX.ShowNotification(TranslateCap("amount_invalid")) - end - end) - end - else - ESX.ShowNotification(TranslateCap("in_vehicle")) - end - else - ESX.ShowNotification(TranslateCap("players_nearby")) - ESX.CloseContext() - end - end) - end, players) - end - elseif element2.action == "remove" then - if IsPedOnFoot(playerPed) and not IsPedFalling(playerPed) then - local dict, anim = "weapons@first_person@aim_rng@generic@projectile@sticky_bomb@", "plant_floor" - ESX.Streaming.RequestAnimDict(dict) - - if itemType == "item_weapon" then - ESX.CloseContext() - TaskPlayAnim(playerPed, dict, anim, 8.0, 1.0, 1000, 16, 0.0, false, false, false) - RemoveAnimDict(dict) - Wait(1000) - TriggerServerEvent("esx:removeInventoryItem", itemType, item) - else - local elementsR = { - { unselectable = true, icon = "fas fa-trash", title = element.title }, - { - icon = "fas fa-tally", - title = "Amount.", - input = true, - inputType = "number", - inputPlaceholder = "Amount to remove..", - inputMin = 1, - inputMax = 1000, - }, - { icon = "fas fa-check-double", title = "Confirm", val = "confirm" }, - } - - ESX.OpenContext("right", elementsR, function(menuR, _) - local quantity = tonumber(menuR.eles[2].inputValue) - - if quantity and quantity > 0 and element.count >= quantity then - ESX.CloseContext() - TaskPlayAnim(playerPed, dict, anim, 8.0, 1.0, 1000, 16, 0.0, false, false, false) - RemoveAnimDict(dict) - Wait(1000) - TriggerServerEvent("esx:removeInventoryItem", itemType, item, quantity) - else - ESX.ShowNotification(TranslateCap("amount_invalid")) - end - end) - end - end - elseif element2.action == "use" then - ESX.CloseContext() - TriggerServerEvent("esx:useItem", item) - elseif element2.action == "return" then - ESX.CloseContext() - ESX.ShowInventory() - elseif element2.action == "give_ammo" then - local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer() - local closestPed = GetPlayerPed(closestPlayer) - local pedAmmo = GetAmmoInPedWeapon(playerPed, joaat(item)) - - if IsPedOnFoot(closestPed) and not IsPedFalling(closestPed) then - if closestPlayer ~= -1 and closestDistance < 3.0 then - if pedAmmo > 0 then - local elementsGA = { - { unselectable = true, icon = "fas fa-trash", title = element.title }, - { - icon = "fas fa-tally", - title = "Amount.", - input = true, - inputType = "number", - inputPlaceholder = "Amount to give..", - inputMin = 1, - inputMax = 1000, - }, - { icon = "fas fa-check-double", title = "Confirm", val = "confirm" }, - } - - ESX.OpenContext("right", elementsGA, function(menuGA, _) - local quantity = tonumber(menuGA.eles[2].inputValue) - - if quantity and quantity > 0 then - if pedAmmo >= quantity then - TriggerServerEvent( - "esx:giveInventoryItem", - GetPlayerServerId(closestPlayer), - "item_ammo", - item, - quantity - ) - ESX.CloseContext() - else - ESX.ShowNotification(TranslateCap("noammo")) - end - else - ESX.ShowNotification(TranslateCap("amount_invalid")) - end - end) - else - ESX.ShowNotification(TranslateCap("noammo")) - end - else - ESX.ShowNotification(TranslateCap("players_nearby")) - end - else - ESX.ShowNotification(TranslateCap("in_vehicle")) - end - end - end) - end) + if not Config.EnableDefaultInventory then + return + end + + local playerPed = ESX.PlayerData.ped + local elements = { + { unselectable = true, icon = "fas fa-box" }, + } + local currentWeight = 0 + + for i = 1, #ESX.PlayerData.accounts do + if ESX.PlayerData.accounts[i].money > 0 then + local formattedMoney = TranslateCap("locale_currency", ESX.Math.GroupDigits(ESX.PlayerData.accounts[i].money)) + local canDrop = ESX.PlayerData.accounts[i].name ~= "bank" + + elements[#elements + 1] = { + icon = "fas fa-money-bill-wave", + title = ('%s: %s'):format(ESX.PlayerData.accounts[i].label, formattedMoney), + count = ESX.PlayerData.accounts[i].money, + type = "item_account", + value = ESX.PlayerData.accounts[i].name, + usable = false, + rare = false, + canRemove = canDrop, + } + end + end + + for i = 1, #ESX.PlayerData.inventory do + local v = ESX.PlayerData.inventory[i] + if v.count > 0 then + currentWeight = currentWeight + (v.weight * v.count) + + elements[#elements + 1] = { + icon = "fas fa-box", + title = ("%s x%s"):format(v.label, v.count), + count = v.count, + type = "item_standard", + value = v.name, + usable = v.usable, + rare = v.rare, + canRemove = v.canRemove, + } + end + end + + elements[1].title = TranslateCap("inventory", currentWeight, Config.MaxWeight) + + for i = 1, #Config.Weapons do + local v = Config.Weapons[i] + local weaponHash = joaat(v.name) + + if HasPedGotWeapon(playerPed, weaponHash, false) then + local ammo = GetAmmoInPedWeapon(playerPed, weaponHash) + + elements[#elements + 1] = { + icon = "fas fa-gun", + title = v.ammo and ("%s - %s %s"):format(v.label, ammo, v.ammo.label) or v.label, + count = 1, + type = "item_weapon", + value = v.name, + usable = false, + rare = false, + ammo = ammo, + canGiveAmmo = (v.ammo ~= nil), + canRemove = true, + } + end + end + + ESX.CloseContext() + + ESX.OpenContext("right", elements, function(_, element) + local player, distance = ESX.Game.GetClosestPlayer() + + local elements2 = {} + + if element.usable then + elements2[#elements2 + 1] = { + icon = "fas fa-utensils", + title = TranslateCap("use"), + action = "use", + type = element.type, + value = element.value, + } + end + + if element.canRemove then + if player ~= -1 and distance <= 3.0 then + elements2[#elements2 + 1] = { + icon = "fas fa-hands", + title = TranslateCap("give"), + action = "give", + type = element.type, + value = element.value, + } + end + + elements2[#elements2 + 1] = { + icon = "fas fa-trash", + title = TranslateCap("remove"), + action = "remove", + type = element.type, + value = element.value, + } + end + + if element.type == "item_weapon" and element.canGiveAmmo and element.ammo > 0 and player ~= -1 and distance <= 3.0 then + elements2[#elements2 + 1] = { + icon = "fas fa-gun", + title = TranslateCap("giveammo"), + action = "give_ammo", + type = element.type, + value = element.value, + } + end + + elements2[#elements2 + 1] = { + icon = "fas fa-arrow-left", + title = TranslateCap("return"), + action = "return", + } + + ESX.OpenContext("right", elements2, function(_, element2) + local item, itemType = element2.value, element2.type + + if element2.action == "give" then + local playersNearby = ESX.Game.GetPlayersInArea(GetEntityCoords(playerPed), 3.0) + + if #playersNearby > 0 then + local players = {} + local elements3 = { + { unselectable = true, icon = "fas fa-users", title = "Nearby Players" }, + } + + for _, playerNearby in ipairs(playersNearby) do + players[GetPlayerServerId(playerNearby)] = true + end + + ESX.TriggerServerCallback("esx:getPlayerNames", function(returnedPlayers) + for playerId, playerName in pairs(returnedPlayers) do + elements3[#elements3 + 1] = { + icon = "fas fa-user", + title = playerName, + playerId = playerId, + } + end + + ESX.OpenContext("right", elements3, function(_, element3) + local selectedPlayer, selectedPlayerId = GetPlayerFromServerId(element3.playerId), element3.playerId + playersNearby = ESX.Game.GetPlayersInArea(GetEntityCoords(playerPed), 3.0) + playersNearby = ESX.Table.Set(playersNearby) + + if playersNearby[selectedPlayer] then + local selectedPlayerPed = GetPlayerPed(selectedPlayer) + + if IsPedOnFoot(selectedPlayerPed) and not IsPedFalling(selectedPlayerPed) then + if itemType == "item_weapon" then + TriggerServerEvent("esx:giveInventoryItem", selectedPlayerId, itemType, item, nil) + ESX.CloseContext() + else + local elementsG = { + { unselectable = true, icon = "fas fa-trash", title = element.title }, + { icon = "fas fa-tally", title = "Amount.", input = true, inputType = "number", inputPlaceholder = "Amount to give..", inputMin = 1, inputMax = 1000 }, + { icon = "fas fa-check-double", title = "Confirm", val = "confirm" }, + } + + ESX.OpenContext("right", elementsG, function(menuG, _) + local quantity = tonumber(menuG.eles[2].inputValue) + + if quantity and quantity > 0 and element.count >= quantity then + TriggerServerEvent("esx:giveInventoryItem", selectedPlayerId, itemType, item, quantity) + ESX.CloseContext() + else + ESX.ShowNotification(TranslateCap("amount_invalid")) + end + end) + end + else + ESX.ShowNotification(TranslateCap("in_vehicle")) + end + else + ESX.ShowNotification(TranslateCap("players_nearby")) + ESX.CloseContext() + end + end) + end, players) + end + elseif element2.action == "remove" then + if IsPedOnFoot(playerPed) and not IsPedFalling(playerPed) then + local dict, anim = "weapons@first_person@aim_rng@generic@projectile@sticky_bomb@", "plant_floor" + ESX.Streaming.RequestAnimDict(dict) + + if itemType == "item_weapon" then + ESX.CloseContext() + TaskPlayAnim(playerPed, dict, anim, 8.0, 1.0, 1000, 16, 0.0, false, false, false) + RemoveAnimDict(dict) + Wait(1000) + TriggerServerEvent("esx:removeInventoryItem", itemType, item) + else + local elementsR = { + { unselectable = true, icon = "fas fa-trash", title = element.title }, + { icon = "fas fa-tally", title = "Amount.", input = true, inputType = "number", inputPlaceholder = "Amount to remove..", inputMin = 1, inputMax = 1000 }, + { icon = "fas fa-check-double", title = "Confirm", val = "confirm" }, + } + + ESX.OpenContext("right", elementsR, function(menuR, _) + local quantity = tonumber(menuR.eles[2].inputValue) + + if quantity and quantity > 0 and element.count >= quantity then + ESX.CloseContext() + TaskPlayAnim(playerPed, dict, anim, 8.0, 1.0, 1000, 16, 0.0, false, false, false) + RemoveAnimDict(dict) + Wait(1000) + TriggerServerEvent("esx:removeInventoryItem", itemType, item, quantity) + else + ESX.ShowNotification(TranslateCap("amount_invalid")) + end + end) + end + end + elseif element2.action == "use" then + ESX.CloseContext() + TriggerServerEvent("esx:useItem", item) + elseif element2.action == "return" then + ESX.CloseContext() + ESX.ShowInventory() + elseif element2.action == "give_ammo" then + local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer() + local closestPed = GetPlayerPed(closestPlayer) + local pedAmmo = GetAmmoInPedWeapon(playerPed, joaat(item)) + + if IsPedOnFoot(closestPed) and not IsPedFalling(closestPed) then + if closestPlayer ~= -1 and closestDistance < 3.0 then + if pedAmmo > 0 then + local elementsGA = { + { unselectable = true, icon = "fas fa-trash", title = element.title }, + { icon = "fas fa-tally", title = "Amount.", input = true, inputType = "number", inputPlaceholder = "Amount to give..", inputMin = 1, inputMax = 1000 }, + { icon = "fas fa-check-double", title = "Confirm", val = "confirm" }, + } + + ESX.OpenContext("right", elementsGA, function(menuGA, _) + local quantity = tonumber(menuGA.eles[2].inputValue) + + if quantity and quantity > 0 then + if pedAmmo >= quantity then + TriggerServerEvent("esx:giveInventoryItem", GetPlayerServerId(closestPlayer), "item_ammo", item, quantity) + ESX.CloseContext() + else + ESX.ShowNotification(TranslateCap("noammo")) + end + else + ESX.ShowNotification(TranslateCap("amount_invalid")) + end + end) + else + ESX.ShowNotification(TranslateCap("noammo")) + end + else + ESX.ShowNotification(TranslateCap("players_nearby")) + end + else + ESX.ShowNotification(TranslateCap("in_vehicle")) + end + end + end) + end) end RegisterNetEvent("esx:showNotification") AddEventHandler("esx:showNotification", function(msg, notifyType, length) - ESX.ShowNotification(msg, notifyType, length) + ESX.ShowNotification(msg, notifyType, length) end) RegisterNetEvent("esx:showAdvancedNotification") -AddEventHandler( - "esx:showAdvancedNotification", - function(sender, subject, msg, textureDict, iconType, flash, saveToBrief, hudColorIndex) - ESX.ShowAdvancedNotification(sender, subject, msg, textureDict, iconType, flash, saveToBrief, hudColorIndex) - end -) +AddEventHandler("esx:showAdvancedNotification", function(sender, subject, msg, textureDict, iconType, flash, saveToBrief, hudColorIndex) + ESX.ShowAdvancedNotification(sender, subject, msg, textureDict, iconType, flash, saveToBrief, hudColorIndex) +end) RegisterNetEvent("esx:showHelpNotification") AddEventHandler("esx:showHelpNotification", function(msg, thisFrame, beep, duration) - ESX.ShowHelpNotification(msg, thisFrame, beep, duration) + ESX.ShowHelpNotification(msg, thisFrame, beep, duration) end) AddEventHandler("onResourceStop", function(resourceName) - for i = 1, #ESX.UI.Menu.Opened, 1 do - if ESX.UI.Menu.Opened[i] then - if - ESX.UI.Menu.Opened[i].resourceName == resourceName - or ESX.UI.Menu.Opened[i].namespace == resourceName - then - ESX.UI.Menu.Opened[i].close() - ESX.UI.Menu.Opened[i] = nil - end - end - end + for i = 1, #ESX.UI.Menu.Opened, 1 do + if ESX.UI.Menu.Opened[i] then + if ESX.UI.Menu.Opened[i].resourceName == resourceName or ESX.UI.Menu.Opened[i].namespace == resourceName then + ESX.UI.Menu.Opened[i].close() + ESX.UI.Menu.Opened[i] = nil + end + end + end end) -- Credits to txAdmin for the list. local mismatchedTypes = { - [`airtug`] = "automobile", -- trailer - [`avisa`] = "submarine", -- boat - [`blimp`] = "heli", -- plane - [`blimp2`] = "heli", -- plane - [`blimp3`] = "heli", -- plane - [`caddy`] = "automobile", -- trailer - [`caddy2`] = "automobile", -- trailer - [`caddy3`] = "automobile", -- trailer - [`chimera`] = "automobile", -- bike - [`docktug`] = "automobile", -- trailer - [`forklift`] = "automobile", -- trailer - [`kosatka`] = "submarine", -- boat - [`mower`] = "automobile", -- trailer - [`policeb`] = "bike", -- automobile - [`ripley`] = "automobile", -- trailer - [`rrocket`] = "automobile", -- bike - [`sadler`] = "automobile", -- trailer - [`sadler2`] = "automobile", -- trailer - [`scrap`] = "automobile", -- trailer - [`slamtruck`] = "automobile", -- trailer - [`Stryder`] = "automobile", -- bike - [`submersible`] = "submarine", -- boat - [`submersible2`] = "submarine", -- boat - [`thruster`] = "heli", -- automobile - [`towtruck`] = "automobile", -- trailer - [`towtruck2`] = "automobile", -- trailer - [`tractor`] = "automobile", -- trailer - [`tractor2`] = "automobile", -- trailer - [`tractor3`] = "automobile", -- trailer - [`trailersmall2`] = "trailer", -- automobile - [`utillitruck`] = "automobile", -- trailer - [`utillitruck2`] = "automobile", -- trailer - [`utillitruck3`] = "automobile", -- trailer + [`airtug`] = "automobile", -- trailer + [`avisa`] = "submarine", -- boat + [`blimp`] = "heli", -- plane + [`blimp2`] = "heli", -- plane + [`blimp3`] = "heli", -- plane + [`caddy`] = "automobile", -- trailer + [`caddy2`] = "automobile", -- trailer + [`caddy3`] = "automobile", -- trailer + [`chimera`] = "automobile", -- bike + [`docktug`] = "automobile", -- trailer + [`forklift`] = "automobile", -- trailer + [`kosatka`] = "submarine", -- boat + [`mower`] = "automobile", -- trailer + [`policeb`] = "bike", -- automobile + [`ripley`] = "automobile", -- trailer + [`rrocket`] = "automobile", -- bike + [`sadler`] = "automobile", -- trailer + [`sadler2`] = "automobile", -- trailer + [`scrap`] = "automobile", -- trailer + [`slamtruck`] = "automobile", -- trailer + [`Stryder`] = "automobile", -- bike + [`submersible`] = "submarine", -- boat + [`submersible2`] = "submarine", -- boat + [`thruster`] = "heli", -- automobile + [`towtruck`] = "automobile", -- trailer + [`towtruck2`] = "automobile", -- trailer + [`tractor`] = "automobile", -- trailer + [`tractor2`] = "automobile", -- trailer + [`tractor3`] = "automobile", -- trailer + [`trailersmall2`] = "trailer", -- automobile + [`utillitruck`] = "automobile", -- trailer + [`utillitruck2`] = "automobile", -- trailer + [`utillitruck3`] = "automobile", -- trailer } ---@param model number|string ---@return string function ESX.GetVehicleType(model) - model = type(model) == "string" and joaat(model) or model - if not IsModelInCdimage(model) then - return - end - if mismatchedTypes[model] then - return mismatchedTypes[model] - end - - local vehicleType = GetVehicleClassFromName(model) - local types = { - [8] = "bike", - [11] = "trailer", - [13] = "bike", - [14] = "boat", - [15] = "heli", - [16] = "plane", - [21] = "train", - } - - return types[vehicleType] or "automobile" + model = type(model) == "string" and joaat(model) or model + if not IsModelInCdimage(model) then + return + end + if mismatchedTypes[model] then + return mismatchedTypes[model] + end + + local vehicleType = GetVehicleClassFromName(model) + local types = { + [8] = "bike", + [11] = "trailer", + [13] = "bike", + [14] = "boat", + [15] = "heli", + [16] = "plane", + [21] = "train", + } + + return types[vehicleType] or "automobile" end diff --git a/server-data/resources/[esx]/es_extended/client/main.lua b/server-data/resources/[esx]/es_extended/client/main.lua index b0271c8cf..daccaa1d4 100644 --- a/server-data/resources/[esx]/es_extended/client/main.lua +++ b/server-data/resources/[esx]/es_extended/client/main.lua @@ -1,662 +1,608 @@ local pickups = {} CreateThread(function() - while not Config.Multichar do - Wait(100) - - if NetworkIsPlayerActive(PlayerId()) then - exports.spawnmanager:setAutoSpawn(false) - DoScreenFadeOut(0) - Wait(500) - TriggerServerEvent("esx:onPlayerJoined") - break - end - end + while not Config.Multichar do + Wait(100) + + if NetworkIsPlayerActive(PlayerId()) then + exports.spawnmanager:setAutoSpawn(false) + DoScreenFadeOut(0) + Wait(500) + TriggerServerEvent("esx:onPlayerJoined") + break + end + end end) RegisterNetEvent("esx:requestModel", function(model) - ESX.Streaming.RequestModel(model) + ESX.Streaming.RequestModel(model) end) function ESX.SpawnPlayer(skin, coords, cb) - local p = promise.new() - TriggerEvent("skinchanger:loadSkin", skin, function() - p:resolve() - end) - Citizen.Await(p) - - local playerPed = PlayerPedId() - FreezeEntityPosition(playerPed, true) - SetEntityCoordsNoOffset(playerPed, coords.x, coords.y, coords.z, false, false, false, true) - SetEntityHeading(playerPed, coords.heading) - while not HasCollisionLoadedAroundEntity(playerPed) do - Wait(0) - end - FreezeEntityPosition(playerPed, false) - NetworkResurrectLocalPlayer(coords.x, coords.y, coords.z, coords.heading, true, true, false) - TriggerEvent("playerSpawned", coords) - cb() + local p = promise.new() + TriggerEvent("skinchanger:loadSkin", skin, function() + p:resolve() + end) + Citizen.Await(p) + + local playerPed = PlayerPedId() + FreezeEntityPosition(playerPed, true) + SetEntityCoordsNoOffset(playerPed, coords.x, coords.y, coords.z, false, false, false, true) + SetEntityHeading(playerPed, coords.heading) + while not HasCollisionLoadedAroundEntity(playerPed) do + Wait(0) + end + FreezeEntityPosition(playerPed, false) + NetworkResurrectLocalPlayer(coords.x, coords.y, coords.z, coords.heading, true, true, false) + TriggerEvent('playerSpawned', coords) + cb() end RegisterNetEvent("esx:playerLoaded") AddEventHandler("esx:playerLoaded", function(xPlayer, _, skin) - ESX.PlayerData = xPlayer - - if not Config.Multichar then - ESX.SpawnPlayer(skin, ESX.PlayerData.coords, function() - TriggerEvent("esx:onPlayerSpawn") - TriggerEvent("esx:restoreLoadout") - TriggerServerEvent("esx:onPlayerSpawn") - TriggerEvent("esx:loadingScreenOff") - ShutdownLoadingScreen() - ShutdownLoadingScreenNui() - end) - end - - while not DoesEntityExist(ESX.PlayerData.ped) do - Wait(20) - end - - ESX.PlayerLoaded = true - - local metadata = ESX.PlayerData.metadata - - if metadata.health then - SetEntityHealth(ESX.PlayerData.ped, metadata.health) - end - - if metadata.armor and metadata.armor > 0 then - SetPedArmour(ESX.PlayerData.ped, metadata.armor) - end - - local timer = GetGameTimer() - while not HaveAllStreamingRequestsCompleted(ESX.PlayerData.ped) and (GetGameTimer() - timer) < 2000 do - Wait(0) - end - - if Config.EnablePVP then - SetCanAttackFriendly(ESX.PlayerData.ped, true, false) - NetworkSetFriendlyFireOption(true) - end - - local playerId = PlayerId() - -- RemoveHudComponents - for i = 1, #Config.RemoveHudComponents do - if Config.RemoveHudComponents[i] then - SetHudComponentPosition(i, 999999.0, 999999.0) - end - end - - -- DisableNPCDrops - if Config.DisableNPCDrops then - local weaponPickups = { `PICKUP_WEAPON_CARBINERIFLE`, `PICKUP_WEAPON_PISTOL`, `PICKUP_WEAPON_PUMPSHOTGUN` } - for i = 1, #weaponPickups do - ToggleUsePickupsForPlayer(playerId, weaponPickups[i], false) - end - end - - if Config.DisableVehicleSeatShuff then - AddEventHandler("esx:enteredVehicle", function(vehicle, _, seat) - if seat == 0 then - SetPedIntoVehicle(ESX.PlayerData.ped, vehicle, 0) - SetPedConfigFlag(ESX.PlayerData.ped, 184, true) - end - end) - end - - if Config.DisableHealthRegeneration then - SetPlayerHealthRechargeMultiplier(playerId, 0.0) - end - - if Config.DisableWeaponWheel or Config.DisableAimAssist or Config.DisableVehicleRewards then - CreateThread(function() - while true do - if Config.DisableDisplayAmmo then - DisplayAmmoThisFrame(false) - end - - if Config.DisableWeaponWheel then - BlockWeaponWheelThisFrame() - DisableControlAction(0, 37, true) - end - - if Config.DisableAimAssist then - if IsPedArmed(ESX.PlayerData.ped, 4) then - SetPlayerLockonRangeOverride(playerId, 2.0) - end - end - - if Config.DisableVehicleRewards then - DisablePlayerVehicleRewards(playerId) - end - - Wait(0) - end - end) - end - - -- Disable Dispatch services - if Config.DisableDispatchServices then - for i = 1, 15 do - EnableDispatchService(i, false) - end - end - - -- Disable Scenarios - if Config.DisableScenarios then - local scenarios = { - "WORLD_VEHICLE_ATTRACTOR", - "WORLD_VEHICLE_AMBULANCE", - "WORLD_VEHICLE_BICYCLE_BMX", - "WORLD_VEHICLE_BICYCLE_BMX_BALLAS", - "WORLD_VEHICLE_BICYCLE_BMX_FAMILY", - "WORLD_VEHICLE_BICYCLE_BMX_HARMONY", - "WORLD_VEHICLE_BICYCLE_BMX_VAGOS", - "WORLD_VEHICLE_BICYCLE_MOUNTAIN", - "WORLD_VEHICLE_BICYCLE_ROAD", - "WORLD_VEHICLE_BIKE_OFF_ROAD_RACE", - "WORLD_VEHICLE_BIKER", - "WORLD_VEHICLE_BOAT_IDLE", - "WORLD_VEHICLE_BOAT_IDLE_ALAMO", - "WORLD_VEHICLE_BOAT_IDLE_MARQUIS", - "WORLD_VEHICLE_BOAT_IDLE_MARQUIS", - "WORLD_VEHICLE_BROKEN_DOWN", - "WORLD_VEHICLE_BUSINESSMEN", - "WORLD_VEHICLE_HELI_LIFEGUARD", - "WORLD_VEHICLE_CLUCKIN_BELL_TRAILER", - "WORLD_VEHICLE_CONSTRUCTION_SOLO", - "WORLD_VEHICLE_CONSTRUCTION_PASSENGERS", - "WORLD_VEHICLE_DRIVE_PASSENGERS", - "WORLD_VEHICLE_DRIVE_PASSENGERS_LIMITED", - "WORLD_VEHICLE_DRIVE_SOLO", - "WORLD_VEHICLE_FIRE_TRUCK", - "WORLD_VEHICLE_EMPTY", - "WORLD_VEHICLE_MARIACHI", - "WORLD_VEHICLE_MECHANIC", - "WORLD_VEHICLE_MILITARY_PLANES_BIG", - "WORLD_VEHICLE_MILITARY_PLANES_SMALL", - "WORLD_VEHICLE_PARK_PARALLEL", - "WORLD_VEHICLE_PARK_PERPENDICULAR_NOSE_IN", - "WORLD_VEHICLE_PASSENGER_EXIT", - "WORLD_VEHICLE_POLICE_BIKE", - "WORLD_VEHICLE_POLICE_CAR", - "WORLD_VEHICLE_POLICE", - "WORLD_VEHICLE_POLICE_NEXT_TO_CAR", - "WORLD_VEHICLE_QUARRY", - "WORLD_VEHICLE_SALTON", - "WORLD_VEHICLE_SALTON_DIRT_BIKE", - "WORLD_VEHICLE_SECURITY_CAR", - "WORLD_VEHICLE_STREETRACE", - "WORLD_VEHICLE_TOURBUS", - "WORLD_VEHICLE_TOURIST", - "WORLD_VEHICLE_TANDL", - "WORLD_VEHICLE_TRACTOR", - "WORLD_VEHICLE_TRACTOR_BEACH", - "WORLD_VEHICLE_TRUCK_LOGS", - "WORLD_VEHICLE_TRUCKS_TRAILERS", - "WORLD_VEHICLE_DISTANT_EMPTY_GROUND", - "WORLD_HUMAN_PAPARAZZI", - } - - for _, v in pairs(scenarios) do - SetScenarioTypeEnabled(v, false) - end - end - - if IsScreenFadedOut() then - DoScreenFadeIn(500) - end - - SetDefaultVehicleNumberPlateTextPattern(-1, Config.CustomAIPlates) - StartServerSyncLoops() + ESX.PlayerData = xPlayer + + if not Config.Multichar then + ESX.SpawnPlayer(skin, ESX.PlayerData.coords, function() + TriggerEvent("esx:onPlayerSpawn") + TriggerEvent("esx:restoreLoadout") + TriggerServerEvent("esx:onPlayerSpawn") + TriggerEvent("esx:loadingScreenOff") + ShutdownLoadingScreen() + ShutdownLoadingScreenNui() + end) + end + + while not DoesEntityExist(ESX.PlayerData.ped) do + Wait(20) + end + + ESX.PlayerLoaded = true + + local metadata = ESX.PlayerData.metadata + + if metadata.health then + SetEntityHealth(ESX.PlayerData.ped, metadata.health) + end + + if metadata.armor and metadata.armor > 0 then + SetPedArmour(ESX.PlayerData.ped, metadata.armor) + end + + local timer = GetGameTimer() + while not HaveAllStreamingRequestsCompleted(ESX.PlayerData.ped) and (GetGameTimer() - timer) < 2000 do + Wait(0) + end + + if Config.EnablePVP then + SetCanAttackFriendly(ESX.PlayerData.ped, true, false) + NetworkSetFriendlyFireOption(true) + end + + local playerId = PlayerId() + -- RemoveHudComponents + for i = 1, #Config.RemoveHudComponents do + if Config.RemoveHudComponents[i] then + SetHudComponentPosition(i, 999999.0, 999999.0) + end + end + + -- DisableNPCDrops + if Config.DisableNPCDrops then + local weaponPickups = { `PICKUP_WEAPON_CARBINERIFLE`, `PICKUP_WEAPON_PISTOL`, `PICKUP_WEAPON_PUMPSHOTGUN` } + for i = 1, #weaponPickups do + ToggleUsePickupsForPlayer(playerId, weaponPickups[i], false) + end + end + + if Config.DisableVehicleSeatShuff then + AddEventHandler("esx:enteredVehicle", function(vehicle, _, seat) + if seat == 0 then + SetPedIntoVehicle(ESX.PlayerData.ped, vehicle, 0) + SetPedConfigFlag(ESX.PlayerData.ped, 184, true) + end + end) + end + + if Config.DisableHealthRegeneration then + SetPlayerHealthRechargeMultiplier(playerId, 0.0) + end + + if Config.DisableWeaponWheel or Config.DisableAimAssist or Config.DisableVehicleRewards then + CreateThread(function() + while true do + if Config.DisableDisplayAmmo then + DisplayAmmoThisFrame(false) + end + + if Config.DisableWeaponWheel then + BlockWeaponWheelThisFrame() + DisableControlAction(0, 37, true) + end + + if Config.DisableAimAssist then + if IsPedArmed(ESX.PlayerData.ped, 4) then + SetPlayerLockonRangeOverride(playerId, 2.0) + end + end + + if Config.DisableVehicleRewards then + DisablePlayerVehicleRewards(playerId) + end + + Wait(0) + end + end) + end + + -- Disable Dispatch services + if Config.DisableDispatchServices then + for i = 1, 15 do + EnableDispatchService(i, false) + end + end + + -- Disable Scenarios + if Config.DisableScenarios then + local scenarios = { + "WORLD_VEHICLE_ATTRACTOR", + "WORLD_VEHICLE_AMBULANCE", + "WORLD_VEHICLE_BICYCLE_BMX", + "WORLD_VEHICLE_BICYCLE_BMX_BALLAS", + "WORLD_VEHICLE_BICYCLE_BMX_FAMILY", + "WORLD_VEHICLE_BICYCLE_BMX_HARMONY", + "WORLD_VEHICLE_BICYCLE_BMX_VAGOS", + "WORLD_VEHICLE_BICYCLE_MOUNTAIN", + "WORLD_VEHICLE_BICYCLE_ROAD", + "WORLD_VEHICLE_BIKE_OFF_ROAD_RACE", + "WORLD_VEHICLE_BIKER", + "WORLD_VEHICLE_BOAT_IDLE", + "WORLD_VEHICLE_BOAT_IDLE_ALAMO", + "WORLD_VEHICLE_BOAT_IDLE_MARQUIS", + "WORLD_VEHICLE_BOAT_IDLE_MARQUIS", + "WORLD_VEHICLE_BROKEN_DOWN", + "WORLD_VEHICLE_BUSINESSMEN", + "WORLD_VEHICLE_HELI_LIFEGUARD", + "WORLD_VEHICLE_CLUCKIN_BELL_TRAILER", + "WORLD_VEHICLE_CONSTRUCTION_SOLO", + "WORLD_VEHICLE_CONSTRUCTION_PASSENGERS", + "WORLD_VEHICLE_DRIVE_PASSENGERS", + "WORLD_VEHICLE_DRIVE_PASSENGERS_LIMITED", + "WORLD_VEHICLE_DRIVE_SOLO", + "WORLD_VEHICLE_FIRE_TRUCK", + "WORLD_VEHICLE_EMPTY", + "WORLD_VEHICLE_MARIACHI", + "WORLD_VEHICLE_MECHANIC", + "WORLD_VEHICLE_MILITARY_PLANES_BIG", + "WORLD_VEHICLE_MILITARY_PLANES_SMALL", + "WORLD_VEHICLE_PARK_PARALLEL", + "WORLD_VEHICLE_PARK_PERPENDICULAR_NOSE_IN", + "WORLD_VEHICLE_PASSENGER_EXIT", + "WORLD_VEHICLE_POLICE_BIKE", + "WORLD_VEHICLE_POLICE_CAR", + "WORLD_VEHICLE_POLICE", + "WORLD_VEHICLE_POLICE_NEXT_TO_CAR", + "WORLD_VEHICLE_QUARRY", + "WORLD_VEHICLE_SALTON", + "WORLD_VEHICLE_SALTON_DIRT_BIKE", + "WORLD_VEHICLE_SECURITY_CAR", + "WORLD_VEHICLE_STREETRACE", + "WORLD_VEHICLE_TOURBUS", + "WORLD_VEHICLE_TOURIST", + "WORLD_VEHICLE_TANDL", + "WORLD_VEHICLE_TRACTOR", + "WORLD_VEHICLE_TRACTOR_BEACH", + "WORLD_VEHICLE_TRUCK_LOGS", + "WORLD_VEHICLE_TRUCKS_TRAILERS", + "WORLD_VEHICLE_DISTANT_EMPTY_GROUND", + "WORLD_HUMAN_PAPARAZZI", + } + + for _, v in pairs(scenarios) do + SetScenarioTypeEnabled(v, false) + end + end + + if IsScreenFadedOut() then + DoScreenFadeIn(500) + end + + SetDefaultVehicleNumberPlateTextPattern(-1, Config.CustomAIPlates) + StartServerSyncLoops() end) + RegisterNetEvent("esx:onPlayerLogout") AddEventHandler("esx:onPlayerLogout", function() - ESX.PlayerLoaded = false + ESX.PlayerLoaded = false end) RegisterNetEvent("esx:setMaxWeight") AddEventHandler("esx:setMaxWeight", function(newMaxWeight) - ESX.SetPlayerData("maxWeight", newMaxWeight) + ESX.SetPlayerData("maxWeight", newMaxWeight) end) local function onPlayerSpawn() - ESX.SetPlayerData("ped", PlayerPedId()) - ESX.SetPlayerData("dead", false) + ESX.SetPlayerData("ped", PlayerPedId()) + ESX.SetPlayerData("dead", false) end AddEventHandler("playerSpawned", onPlayerSpawn) AddEventHandler("esx:onPlayerSpawn", onPlayerSpawn) AddEventHandler("esx:onPlayerDeath", function() - ESX.SetPlayerData("ped", PlayerPedId()) - ESX.SetPlayerData("dead", true) + ESX.SetPlayerData("ped", PlayerPedId()) + ESX.SetPlayerData("dead", true) end) AddEventHandler("skinchanger:modelLoaded", function() - while not ESX.PlayerLoaded do - Wait(100) - end - TriggerEvent("esx:restoreLoadout") + while not ESX.PlayerLoaded do + Wait(100) + end + TriggerEvent("esx:restoreLoadout") end) AddEventHandler("esx:restoreLoadout", function() - ESX.SetPlayerData("ped", PlayerPedId()) + ESX.SetPlayerData("ped", PlayerPedId()) - if not Config.OxInventory then - local ammoTypes = {} - RemoveAllPedWeapons(ESX.PlayerData.ped, true) + if not Config.OxInventory then + local ammoTypes = {} + RemoveAllPedWeapons(ESX.PlayerData.ped, true) - for _, v in ipairs(ESX.PlayerData.loadout) do - local weaponName = v.name - local weaponHash = joaat(weaponName) + for _, v in ipairs(ESX.PlayerData.loadout) do + local weaponName = v.name + local weaponHash = joaat(weaponName) - GiveWeaponToPed(ESX.PlayerData.ped, weaponHash, 0, false, false) - SetPedWeaponTintIndex(ESX.PlayerData.ped, weaponHash, v.tintIndex) + GiveWeaponToPed(ESX.PlayerData.ped, weaponHash, 0, false, false) + SetPedWeaponTintIndex(ESX.PlayerData.ped, weaponHash, v.tintIndex) - local ammoType = GetPedAmmoTypeFromWeapon(ESX.PlayerData.ped, weaponHash) + local ammoType = GetPedAmmoTypeFromWeapon(ESX.PlayerData.ped, weaponHash) - for _, v2 in ipairs(v.components) do - local componentHash = ESX.GetWeaponComponent(weaponName, v2).hash - GiveWeaponComponentToPed(ESX.PlayerData.ped, weaponHash, componentHash) - end + for _, v2 in ipairs(v.components) do + local componentHash = ESX.GetWeaponComponent(weaponName, v2).hash + GiveWeaponComponentToPed(ESX.PlayerData.ped, weaponHash, componentHash) + end - if not ammoTypes[ammoType] then - AddAmmoToPed(ESX.PlayerData.ped, weaponHash, v.ammo) - ammoTypes[ammoType] = true - end - end - end + if not ammoTypes[ammoType] then + AddAmmoToPed(ESX.PlayerData.ped, weaponHash, v.ammo) + ammoTypes[ammoType] = true + end + end + end end) --- Credit: https://github.com/LukeWasTakenn, https://github.com/LukeWasTakenn/luke_garages/blob/master/client/client.lua#L331-L352 AddStateBagChangeHandler("VehicleProperties", nil, function(bagName, _, value) - if not value then - return - end - - local netId = bagName:gsub("entity:", "") - local timer = GetGameTimer() - while not NetworkDoesEntityExistWithNetworkId(tonumber(netId)) do - Wait(0) - if GetGameTimer() - timer > 10000 then - return - end - end - - local vehicle = NetToVeh(tonumber(netId)) - local timer2 = GetGameTimer() - while NetworkGetEntityOwner(vehicle) ~= PlayerId() do - Wait(0) - if GetGameTimer() - timer2 > 10000 then - return - end - end - - ESX.Game.SetVehicleProperties(vehicle, value) -end) + if not value then + return + end + + local netId = bagName:gsub("entity:", "") + local vehicle = NetToVeh(tonumber(netId)) + + ESX.Game.SetVehicleProperties(vehicle, value) +end) RegisterNetEvent("esx:setAccountMoney") AddEventHandler("esx:setAccountMoney", function(account) - for i = 1, #ESX.PlayerData.accounts do - if ESX.PlayerData.accounts[i].name == account.name then - ESX.PlayerData.accounts[i] = account - break - end - end - - ESX.SetPlayerData("accounts", ESX.PlayerData.accounts) + for i = 1, #ESX.PlayerData.accounts do + if ESX.PlayerData.accounts[i].name == account.name then + ESX.PlayerData.accounts[i] = account + break + end + end + + ESX.SetPlayerData("accounts", ESX.PlayerData.accounts) end) if not Config.OxInventory then - RegisterNetEvent("esx:addInventoryItem") - AddEventHandler("esx:addInventoryItem", function(item, count, showNotification) - for k, v in ipairs(ESX.PlayerData.inventory) do - if v.name == item then - ESX.UI.ShowInventoryItemNotification(true, v.label, count - v.count) - ESX.PlayerData.inventory[k].count = count - break - end - end - - if showNotification then - ESX.UI.ShowInventoryItemNotification(true, item, count) - end - end) - - RegisterNetEvent("esx:removeInventoryItem") - AddEventHandler("esx:removeInventoryItem", function(item, count, showNotification) - for i = 1, #ESX.PlayerData.inventory do - if ESX.PlayerData.inventory[i].name == item then - ESX.UI.ShowInventoryItemNotification( - false, - ESX.PlayerData.inventory[i].label, - ESX.PlayerData.inventory[i].count - count - ) - ESX.PlayerData.inventory[i].count = count - break - end - end - - if showNotification then - ESX.UI.ShowInventoryItemNotification(false, item, count) - end - end) - - RegisterNetEvent("esx:addWeapon") - AddEventHandler("esx:addWeapon", function() - print("[^1ERROR^7] event ^5'esx:addWeapon'^7 Has Been Removed. Please use ^5xPlayer.addWeapon^7 Instead!") - end) - - RegisterNetEvent("esx:addWeaponComponent") - AddEventHandler("esx:addWeaponComponent", function() - print( - "[^1ERROR^7] event ^5'esx:addWeaponComponent'^7 Has Been Removed. Please use ^5xPlayer.addWeaponComponent^7 Instead!" - ) - end) - - RegisterNetEvent("esx:setWeaponAmmo") - AddEventHandler("esx:setWeaponAmmo", function() - print( - "[^1ERROR^7] event ^5'esx:setWeaponAmmo'^7 Has Been Removed. Please use ^5xPlayer.addWeaponAmmo^7 Instead!" - ) - end) - - RegisterNetEvent("esx:setWeaponTint") - AddEventHandler("esx:setWeaponTint", function(weapon, weaponTintIndex) - SetPedWeaponTintIndex(ESX.PlayerData.ped, joaat(weapon), weaponTintIndex) - end) - - RegisterNetEvent("esx:removeWeapon") - AddEventHandler("esx:removeWeapon", function() - print("[^1ERROR^7] event ^5'esx:removeWeapon'^7 Has Been Removed. Please use ^5xPlayer.removeWeapon^7 Instead!") - end) - - RegisterNetEvent("esx:removeWeaponComponent") - AddEventHandler("esx:removeWeaponComponent", function(weapon, weaponComponent) - local componentHash = ESX.GetWeaponComponent(weapon, weaponComponent).hash - RemoveWeaponComponentFromPed(ESX.PlayerData.ped, joaat(weapon), componentHash) - end) + RegisterNetEvent("esx:addInventoryItem") + AddEventHandler("esx:addInventoryItem", function(item, count, showNotification) + for k, v in ipairs(ESX.PlayerData.inventory) do + if v.name == item then + ESX.UI.ShowInventoryItemNotification(true, v.label, count - v.count) + ESX.PlayerData.inventory[k].count = count + break + end + end + + if showNotification then + ESX.UI.ShowInventoryItemNotification(true, item, count) + end + end) + + RegisterNetEvent("esx:removeInventoryItem") + AddEventHandler("esx:removeInventoryItem", function(item, count, showNotification) + for i = 1, #ESX.PlayerData.inventory do + if ESX.PlayerData.inventory[i].name == item then + ESX.UI.ShowInventoryItemNotification(false, ESX.PlayerData.inventory[i].label, ESX.PlayerData.inventory[i].count - count) + ESX.PlayerData.inventory[i].count = count + break + end + end + + if showNotification then + ESX.UI.ShowInventoryItemNotification(false, item, count) + end + end) + + RegisterNetEvent("esx:addWeapon") + AddEventHandler("esx:addWeapon", function() + print("[^1ERROR^7] event ^5'esx:addWeapon'^7 Has Been Removed. Please use ^5xPlayer.addWeapon^7 Instead!") + end) + + RegisterNetEvent("esx:addWeaponComponent") + AddEventHandler("esx:addWeaponComponent", function() + print("[^1ERROR^7] event ^5'esx:addWeaponComponent'^7 Has Been Removed. Please use ^5xPlayer.addWeaponComponent^7 Instead!") + end) + + RegisterNetEvent("esx:setWeaponAmmo") + AddEventHandler("esx:setWeaponAmmo", function() + print("[^1ERROR^7] event ^5'esx:setWeaponAmmo'^7 Has Been Removed. Please use ^5xPlayer.addWeaponAmmo^7 Instead!") + end) + + RegisterNetEvent("esx:setWeaponTint") + AddEventHandler("esx:setWeaponTint", function(weapon, weaponTintIndex) + SetPedWeaponTintIndex(ESX.PlayerData.ped, joaat(weapon), weaponTintIndex) + end) + + RegisterNetEvent("esx:removeWeapon") + AddEventHandler("esx:removeWeapon", function() + print("[^1ERROR^7] event ^5'esx:removeWeapon'^7 Has Been Removed. Please use ^5xPlayer.removeWeapon^7 Instead!") + end) + + RegisterNetEvent("esx:removeWeaponComponent") + AddEventHandler("esx:removeWeaponComponent", function(weapon, weaponComponent) + local componentHash = ESX.GetWeaponComponent(weapon, weaponComponent).hash + RemoveWeaponComponentFromPed(ESX.PlayerData.ped, joaat(weapon), componentHash) + end) end RegisterNetEvent("esx:setJob") AddEventHandler("esx:setJob", function(Job) - ESX.SetPlayerData("job", Job) + ESX.SetPlayerData("job", Job) end) if not Config.OxInventory then - RegisterNetEvent("esx:createPickup") - AddEventHandler("esx:createPickup", function(pickupId, label, coords, itemType, name, components, tintIndex) - local function setObjectProperties(object) - SetEntityAsMissionEntity(object, true, false) - PlaceObjectOnGroundProperly(object) - FreezeEntityPosition(object, true) - SetEntityCollision(object, false, true) - - pickups[pickupId] = { - obj = object, - label = label, - inRange = false, - coords = coords, - } - end - - if itemType == "item_weapon" then - local weaponHash = joaat(name) - ESX.Streaming.RequestWeaponAsset(weaponHash) - local pickupObject = CreateWeaponObject(weaponHash, 50, coords.x, coords.y, coords.z, true, 1.0, 0) - SetWeaponObjectTintIndex(pickupObject, tintIndex) - - for _, v in ipairs(components) do - local component = ESX.GetWeaponComponent(name, v) - GiveWeaponComponentToWeaponObject(pickupObject, component.hash) - end - - setObjectProperties(pickupObject) - else - ESX.Game.SpawnLocalObject("prop_money_bag_01", coords, setObjectProperties) - end - end) - - RegisterNetEvent("esx:createMissingPickups") - AddEventHandler("esx:createMissingPickups", function(missingPickups) - for pickupId, pickup in pairs(missingPickups) do - TriggerEvent( - "esx:createPickup", - pickupId, - pickup.label, - vector3(pickup.coords.x, pickup.coords.y, pickup.coords.z - 1.0), - pickup.type, - pickup.name, - pickup.components, - pickup.tintIndex - ) - end - end) + RegisterNetEvent("esx:createPickup") + AddEventHandler("esx:createPickup", function(pickupId, label, coords, itemType, name, components, tintIndex) + local function setObjectProperties(object) + SetEntityAsMissionEntity(object, true, false) + PlaceObjectOnGroundProperly(object) + FreezeEntityPosition(object, true) + SetEntityCollision(object, false, true) + + pickups[pickupId] = { + obj = object, + label = label, + inRange = false, + coords = coords, + } + end + + if itemType == "item_weapon" then + local weaponHash = joaat(name) + ESX.Streaming.RequestWeaponAsset(weaponHash) + local pickupObject = CreateWeaponObject(weaponHash, 50, coords.x, coords.y, coords.z, true, 1.0, 0) + SetWeaponObjectTintIndex(pickupObject, tintIndex) + + for _, v in ipairs(components) do + local component = ESX.GetWeaponComponent(name, v) + GiveWeaponComponentToWeaponObject(pickupObject, component.hash) + end + + setObjectProperties(pickupObject) + else + ESX.Game.SpawnLocalObject("prop_money_bag_01", coords, setObjectProperties) + end + end) + + RegisterNetEvent("esx:createMissingPickups") + AddEventHandler("esx:createMissingPickups", function(missingPickups) + for pickupId, pickup in pairs(missingPickups) do + TriggerEvent("esx:createPickup", pickupId, pickup.label, vector3(pickup.coords.x, pickup.coords.y, pickup.coords.z - 1.0), pickup.type, pickup.name, pickup.components, pickup.tintIndex) + end + end) end RegisterNetEvent("esx:registerSuggestions") AddEventHandler("esx:registerSuggestions", function(registeredCommands) - for name, command in pairs(registeredCommands) do - if command.suggestion then - TriggerEvent( - "chat:addSuggestion", - ("/%s"):format(name), - command.suggestion.help, - command.suggestion.arguments - ) - end - end + for name, command in pairs(registeredCommands) do + if command.suggestion then + TriggerEvent("chat:addSuggestion", ("/%s"):format(name), command.suggestion.help, command.suggestion.arguments) + end + end end) if not Config.OxInventory then - RegisterNetEvent("esx:removePickup") - AddEventHandler("esx:removePickup", function(pickupId) - if pickups[pickupId] and pickups[pickupId].obj then - ESX.Game.DeleteObject(pickups[pickupId].obj) - pickups[pickupId] = nil - end - end) + RegisterNetEvent("esx:removePickup") + AddEventHandler("esx:removePickup", function(pickupId) + if pickups[pickupId] and pickups[pickupId].obj then + ESX.Game.DeleteObject(pickups[pickupId].obj) + pickups[pickupId] = nil + end + end) end function StartServerSyncLoops() - if not Config.OxInventory then - -- keep track of ammo - - CreateThread(function() - local currentWeapon = { Ammo = 0 } - while ESX.PlayerLoaded do - local sleep = 1500 - if GetSelectedPedWeapon(ESX.PlayerData.ped) ~= -1569615261 then - sleep = 1000 - local _, weaponHash = GetCurrentPedWeapon(ESX.PlayerData.ped, true) - local weapon = ESX.GetWeaponFromHash(weaponHash) - if weapon then - local ammoCount = GetAmmoInPedWeapon(ESX.PlayerData.ped, weaponHash) - if weapon.name ~= currentWeapon.name then - currentWeapon.Ammo = ammoCount - currentWeapon.name = weapon.name - else - if ammoCount ~= currentWeapon.Ammo then - currentWeapon.Ammo = ammoCount - TriggerServerEvent("esx:updateWeaponAmmo", weapon.name, ammoCount) - end - end - end - end - Wait(sleep) - end - end) - end + if not Config.OxInventory then + -- keep track of ammo + + CreateThread(function() + local currentWeapon = { Ammo = 0 } + while ESX.PlayerLoaded do + local sleep = 1500 + if GetSelectedPedWeapon(ESX.PlayerData.ped) ~= -1569615261 then + sleep = 1000 + local _, weaponHash = GetCurrentPedWeapon(ESX.PlayerData.ped, true) + local weapon = ESX.GetWeaponFromHash(weaponHash) + if weapon then + local ammoCount = GetAmmoInPedWeapon(ESX.PlayerData.ped, weaponHash) + if weapon.name ~= currentWeapon.name then + currentWeapon.Ammo = ammoCount + currentWeapon.name = weapon.name + else + if ammoCount ~= currentWeapon.Ammo then + currentWeapon.Ammo = ammoCount + TriggerServerEvent("esx:updateWeaponAmmo", weapon.name, ammoCount) + end + end + end + end + Wait(sleep) + end + end) + end end if not Config.OxInventory and Config.EnableDefaultInventory then - ESX.RegisterInput("showinv", TranslateCap("keymap_showinventory"), "keyboard", "F2", function() - if not ESX.PlayerData.dead then - ESX.ShowInventory() - end - end) + ESX.RegisterInput("showinv", TranslateCap("keymap_showinventory"), "keyboard", "F2", function() + if not ESX.PlayerData.dead then + ESX.ShowInventory() + end + end) end -- disable wanted level if not Config.EnableWantedLevel then - ClearPlayerWantedLevel(PlayerId()) - SetMaxWantedLevel(0) + ClearPlayerWantedLevel(PlayerId()) + SetMaxWantedLevel(0) end if not Config.OxInventory then - CreateThread(function() - while true do - local Sleep = 1500 - local playerCoords = GetEntityCoords(ESX.PlayerData.ped) - local _, closestDistance = ESX.Game.GetClosestPlayer(playerCoords) - - for pickupId, pickup in pairs(pickups) do - local distance = #(playerCoords - pickup.coords) - - if distance < 5 then - Sleep = 0 - local label = pickup.label - - if distance < 1 then - if IsControlJustReleased(0, 38) then - if - IsPedOnFoot(ESX.PlayerData.ped) - and (closestDistance == -1 or closestDistance > 3) - and not pickup.inRange - then - pickup.inRange = true - - local dict, anim = - "weapons@first_person@aim_rng@generic@projectile@sticky_bomb@", "plant_floor" - ESX.Streaming.RequestAnimDict(dict) - TaskPlayAnim( - ESX.PlayerData.ped, - dict, - anim, - 8.0, - 1.0, - 1000, - 16, - 0.0, - false, - false, - false - ) - RemoveAnimDict(dict) - Wait(1000) - - TriggerServerEvent("esx:onPickup", pickupId) - PlaySoundFrontend(-1, "PICK_UP", "HUD_FRONTEND_DEFAULT_SOUNDSET", false) - end - end - - label = ("%s~n~%s"):format(label, TranslateCap("threw_pickup_prompt")) - end - - ESX.Game.Utils.DrawText3D({ - x = pickup.coords.x, - y = pickup.coords.y, - z = pickup.coords.z + 0.25, - }, label, 1.2, 1) - elseif pickup.inRange then - pickup.inRange = false - end - end - Wait(Sleep) - end - end) + CreateThread(function() + while true do + local Sleep = 1500 + local playerCoords = GetEntityCoords(ESX.PlayerData.ped) + local _, closestDistance = ESX.Game.GetClosestPlayer(playerCoords) + + for pickupId, pickup in pairs(pickups) do + local distance = #(playerCoords - pickup.coords) + + if distance < 5 then + Sleep = 0 + local label = pickup.label + + if distance < 1 then + if IsControlJustReleased(0, 38) then + if IsPedOnFoot(ESX.PlayerData.ped) and (closestDistance == -1 or closestDistance > 3) and not pickup.inRange then + pickup.inRange = true + + local dict, anim = "weapons@first_person@aim_rng@generic@projectile@sticky_bomb@", "plant_floor" + ESX.Streaming.RequestAnimDict(dict) + TaskPlayAnim(ESX.PlayerData.ped, dict, anim, 8.0, 1.0, 1000, 16, 0.0, false, false, false) + RemoveAnimDict(dict) + Wait(1000) + + TriggerServerEvent("esx:onPickup", pickupId) + PlaySoundFrontend(-1, "PICK_UP", "HUD_FRONTEND_DEFAULT_SOUNDSET", false) + end + end + + label = ("%s~n~%s"):format(label, TranslateCap("threw_pickup_prompt")) + end + + ESX.Game.Utils.DrawText3D({ + x = pickup.coords.x, + y = pickup.coords.y, + z = pickup.coords.z + 0.25, + }, label, 1.2, 1) + elseif pickup.inRange then + pickup.inRange = false + end + end + Wait(Sleep) + end + end) end ----- Admin commands from esx_adminplus RegisterNetEvent("esx:tpm") AddEventHandler("esx:tpm", function() - local GetEntityCoords = GetEntityCoords - local GetGroundZFor_3dCoord = GetGroundZFor_3dCoord - local GetFirstBlipInfoId = GetFirstBlipInfoId - local DoesBlipExist = DoesBlipExist - local DoScreenFadeOut = DoScreenFadeOut - local GetBlipInfoIdCoord = GetBlipInfoIdCoord - local GetVehiclePedIsIn = GetVehiclePedIsIn - - ESX.TriggerServerCallback("esx:isUserAdmin", function(admin) - if not admin then - return - end - local blipMarker = GetFirstBlipInfoId(8) - if not DoesBlipExist(blipMarker) then - ESX.ShowNotification(TranslateCap("tpm_nowaypoint"), true, false, 140) - return "marker" - end - - -- Fade screen to hide how clients get teleported. - DoScreenFadeOut(650) - while not IsScreenFadedOut() do - Wait(0) - end - - local ped, coords = ESX.PlayerData.ped, GetBlipInfoIdCoord(blipMarker) - local vehicle = GetVehiclePedIsIn(ped, false) - local oldCoords = GetEntityCoords(ped) - - -- Unpack coords instead of having to unpack them while iterating. - -- 825.0 seems to be the max a player can reach while 0.0 being the lowest. - local x, y, groundZ, Z_START = coords["x"], coords["y"], 850.0, 950.0 - local found = false - FreezeEntityPosition(vehicle > 0 and vehicle or ped, true) - - for i = Z_START, 0, -25.0 do - local z = i - if (i % 2) ~= 0 then - z = Z_START - i - end - - NewLoadSceneStart(x, y, z, x, y, z, 50.0, 0) - local curTime = GetGameTimer() - while IsNetworkLoadingScene() do - if GetGameTimer() - curTime > 1000 then - break - end - Wait(0) - end - NewLoadSceneStop() - SetPedCoordsKeepVehicle(ped, x, y, z) - - while not HasCollisionLoadedAroundEntity(ped) do - RequestCollisionAtCoord(x, y, z) - if GetGameTimer() - curTime > 1000 then - break - end - Wait(0) - end - - -- Get ground coord. As mentioned in the natives, this only works if the client is in render distance. - found, groundZ = GetGroundZFor_3dCoord(x, y, z, false) - if found then - Wait(0) - SetPedCoordsKeepVehicle(ped, x, y, groundZ) - break - end - Wait(0) - end - - -- Remove black screen once the loop has ended. - DoScreenFadeIn(650) - FreezeEntityPosition(vehicle > 0 and vehicle or ped, false) - - if not found then - -- If we can't find the coords, set the coords to the old ones. - -- We don't unpack them before since they aren't in a loop and only called once. - SetPedCoordsKeepVehicle(ped, oldCoords["x"], oldCoords["y"], oldCoords["z"] - 1.0) - ESX.ShowNotification(TranslateCap("tpm_success"), true, false, 140) - end - - -- If Z coord was found, set coords in found coords. - SetPedCoordsKeepVehicle(ped, x, y, groundZ) - ESX.ShowNotification(TranslateCap("tpm_success"), true, false, 140) - end) + local GetEntityCoords = GetEntityCoords + local GetGroundZFor_3dCoord = GetGroundZFor_3dCoord + local GetFirstBlipInfoId = GetFirstBlipInfoId + local DoesBlipExist = DoesBlipExist + local DoScreenFadeOut = DoScreenFadeOut + local GetBlipInfoIdCoord = GetBlipInfoIdCoord + local GetVehiclePedIsIn = GetVehiclePedIsIn + + ESX.TriggerServerCallback("esx:isUserAdmin", function(admin) + if not admin then + return + end + local blipMarker = GetFirstBlipInfoId(8) + if not DoesBlipExist(blipMarker) then + ESX.ShowNotification(TranslateCap("tpm_nowaypoint"), true, false, 140) + return "marker" + end + + -- Fade screen to hide how clients get teleported. + DoScreenFadeOut(650) + while not IsScreenFadedOut() do + Wait(0) + end + + local ped, coords = ESX.PlayerData.ped, GetBlipInfoIdCoord(blipMarker) + local vehicle = GetVehiclePedIsIn(ped, false) + local oldCoords = GetEntityCoords(ped) + + -- Unpack coords instead of having to unpack them while iterating. + -- 825.0 seems to be the max a player can reach while 0.0 being the lowest. + local x, y, groundZ, Z_START = coords["x"], coords["y"], 850.0, 950.0 + local found = false + FreezeEntityPosition(vehicle > 0 and vehicle or ped, true) + + for i = Z_START, 0, -25.0 do + local z = i + if (i % 2) ~= 0 then + z = Z_START - i + end + + NewLoadSceneStart(x, y, z, x, y, z, 50.0, 0) + local curTime = GetGameTimer() + while IsNetworkLoadingScene() do + if GetGameTimer() - curTime > 1000 then + break + end + Wait(0) + end + NewLoadSceneStop() + SetPedCoordsKeepVehicle(ped, x, y, z) + + while not HasCollisionLoadedAroundEntity(ped) do + RequestCollisionAtCoord(x, y, z) + if GetGameTimer() - curTime > 1000 then + break + end + Wait(0) + end + + -- Get ground coord. As mentioned in the natives, this only works if the client is in render distance. + found, groundZ = GetGroundZFor_3dCoord(x, y, z, false) + if found then + Wait(0) + SetPedCoordsKeepVehicle(ped, x, y, groundZ) + break + end + Wait(0) + end + + -- Remove black screen once the loop has ended. + DoScreenFadeIn(650) + FreezeEntityPosition(vehicle > 0 and vehicle or ped, false) + + if not found then + -- If we can't find the coords, set the coords to the old ones. + -- We don't unpack them before since they aren't in a loop and only called once. + SetPedCoordsKeepVehicle(ped, oldCoords["x"], oldCoords["y"], oldCoords["z"] - 1.0) + ESX.ShowNotification(TranslateCap("tpm_success"), true, false, 140) + end + + -- If Z coord was found, set coords in found coords. + SetPedCoordsKeepVehicle(ped, x, y, groundZ) + ESX.ShowNotification(TranslateCap("tpm_success"), true, false, 140) + end) end) local noclip = false @@ -664,105 +610,100 @@ local noclip_pos = vector3(0, 0, 70) local heading = 0 local function noclipThread() - while noclip do - SetEntityCoordsNoOffset(ESX.PlayerData.ped, noclip_pos.x, noclip_pos.y, noclip_pos.z, 0, 0, 0) - - if IsControlPressed(1, 34) then - heading = heading + 1.5 - if heading > 360 then - heading = 0 - end - - SetEntityHeading(ESX.PlayerData.ped, heading) - end - - if IsControlPressed(1, 9) then - heading = heading - 1.5 - if heading < 0 then - heading = 360 - end - - SetEntityHeading(ESX.PlayerData.ped, heading) - end - - if IsControlPressed(1, 8) then - noclip_pos = GetOffsetFromEntityInWorldCoords(ESX.PlayerData.ped, 0.0, 1.0, 0.0) - end - - if IsControlPressed(1, 32) then - noclip_pos = GetOffsetFromEntityInWorldCoords(ESX.PlayerData.ped, 0.0, -1.0, 0.0) - end - - if IsControlPressed(1, 27) then - noclip_pos = GetOffsetFromEntityInWorldCoords(ESX.PlayerData.ped, 0.0, 0.0, 1.0) - end - - if IsControlPressed(1, 173) then - noclip_pos = GetOffsetFromEntityInWorldCoords(ESX.PlayerData.ped, 0.0, 0.0, -1.0) - end - Wait(0) - end + while noclip do + SetEntityCoordsNoOffset(ESX.PlayerData.ped, noclip_pos.x, noclip_pos.y, noclip_pos.z, 0, 0, 0) + + if IsControlPressed(1, 34) then + heading = heading + 1.5 + if heading > 360 then + heading = 0 + end + + SetEntityHeading(ESX.PlayerData.ped, heading) + end + + if IsControlPressed(1, 9) then + heading = heading - 1.5 + if heading < 0 then + heading = 360 + end + + SetEntityHeading(ESX.PlayerData.ped, heading) + end + + if IsControlPressed(1, 8) then + noclip_pos = GetOffsetFromEntityInWorldCoords(ESX.PlayerData.ped, 0.0, 1.0, 0.0) + end + + if IsControlPressed(1, 32) then + noclip_pos = GetOffsetFromEntityInWorldCoords(ESX.PlayerData.ped, 0.0, -1.0, 0.0) + end + + if IsControlPressed(1, 27) then + noclip_pos = GetOffsetFromEntityInWorldCoords(ESX.PlayerData.ped, 0.0, 0.0, 1.0) + end + + if IsControlPressed(1, 173) then + noclip_pos = GetOffsetFromEntityInWorldCoords(ESX.PlayerData.ped, 0.0, 0.0, -1.0) + end + Wait(0) + end end RegisterNetEvent("esx:noclip") AddEventHandler("esx:noclip", function() - ESX.TriggerServerCallback("esx:isUserAdmin", function(admin) - if not admin then - return - end - - if not noclip then - noclip_pos = GetEntityCoords(ESX.PlayerData.ped, false) - heading = GetEntityHeading(ESX.PlayerData.ped) - end - - noclip = not noclip - if noclip then - CreateThread(noclipThread) - end - - ESX.ShowNotification( - TranslateCap("noclip_message", noclip and Translate("enabled") or Translate("disabled")), - true, - false, - 140 - ) - end) + ESX.TriggerServerCallback("esx:isUserAdmin", function(admin) + if not admin then + return + end + + if not noclip then + noclip_pos = GetEntityCoords(ESX.PlayerData.ped, false) + heading = GetEntityHeading(ESX.PlayerData.ped) + end + + noclip = not noclip + if noclip then + CreateThread(noclipThread) + end + + ESX.ShowNotification(TranslateCap("noclip_message", noclip and Translate("enabled") or Translate("disabled")), true, false, 140) + end) end) RegisterNetEvent("esx:killPlayer") AddEventHandler("esx:killPlayer", function() - SetEntityHealth(ESX.PlayerData.ped, 0) + SetEntityHealth(ESX.PlayerData.ped, 0) end) RegisterNetEvent("esx:repairPedVehicle") AddEventHandler("esx:repairPedVehicle", function() - local ped = ESX.PlayerData.ped - local vehicle = GetVehiclePedIsIn(ped, false) - SetVehicleEngineHealth(vehicle, 1000) - SetVehicleEngineOn(vehicle, true, true) - SetVehicleFixed(vehicle) - SetVehicleDirtLevel(vehicle, 0) + local ped = ESX.PlayerData.ped + local vehicle = GetVehiclePedIsIn(ped, false) + SetVehicleEngineHealth(vehicle, 1000) + SetVehicleEngineOn(vehicle, true, true) + SetVehicleFixed(vehicle) + SetVehicleDirtLevel(vehicle, 0) end) RegisterNetEvent("esx:freezePlayer") AddEventHandler("esx:freezePlayer", function(input) - local player = PlayerId() - if input == "freeze" then - SetEntityCollision(ESX.PlayerData.ped, false) - FreezeEntityPosition(ESX.PlayerData.ped, true) - SetPlayerInvincible(player, true) - elseif input == "unfreeze" then - SetEntityCollision(ESX.PlayerData.ped, true) - FreezeEntityPosition(ESX.PlayerData.ped, false) - SetPlayerInvincible(player, false) - end + local player = PlayerId() + if input == "freeze" then + SetEntityCollision(ESX.PlayerData.ped, false) + FreezeEntityPosition(ESX.PlayerData.ped, true) + SetPlayerInvincible(player, true) + elseif input == "unfreeze" then + SetEntityCollision(ESX.PlayerData.ped, true) + FreezeEntityPosition(ESX.PlayerData.ped, false) + SetPlayerInvincible(player, false) + end end) ESX.RegisterClientCallback("esx:GetVehicleType", function(cb, model) - cb(ESX.GetVehicleType(model)) + cb(ESX.GetVehicleType(model)) end) AddStateBagChangeHandler("metadata", "player:" .. tostring(GetPlayerServerId(PlayerId())), function(_, key, val) - ESX.SetPlayerData(key, val) + ESX.SetPlayerData(key, val) end) diff --git a/server-data/resources/[esx]/es_extended/client/modules/actions.lua b/server-data/resources/[esx]/es_extended/client/modules/actions.lua index de94e476b..0fec45849 100644 --- a/server-data/resources/[esx]/es_extended/client/modules/actions.lua +++ b/server-data/resources/[esx]/es_extended/client/modules/actions.lua @@ -3,168 +3,118 @@ local playerPed = PlayerPedId() local current = {} local function GetPedVehicleSeat(ped, vehicle) - for i = -1, 16 do - if GetPedInVehicleSeat(vehicle, i) == ped then - return i - end - end - return -1 + for i = -1, 16 do + if GetPedInVehicleSeat(vehicle, i) == ped then + return i + end + end + return -1 end local function GetData(vehicle) - if not DoesEntityExist(vehicle) then - return - end - local model = GetEntityModel(vehicle) - local displayName = GetDisplayNameFromVehicleModel(model) - local netId = vehicle - if NetworkGetEntityIsNetworked(vehicle) then - netId = VehToNet(vehicle) - end - return displayName, netId + if not DoesEntityExist(vehicle) then + return + end + local model = GetEntityModel(vehicle) + local displayName = GetDisplayNameFromVehicleModel(model) + local netId = vehicle + if NetworkGetEntityIsNetworked(vehicle) then + netId = VehToNet(vehicle) + end + return displayName, netId end CreateThread(function() - while not ESX.PlayerLoaded do - Wait(200) - end - while true do - ESX.SetPlayerData("coords", GetEntityCoords(playerPed)) - if playerPed ~= PlayerPedId() then - playerPed = PlayerPedId() - ESX.SetPlayerData("ped", playerPed) - TriggerEvent("esx:playerPedChanged", playerPed) - TriggerServerEvent("esx:playerPedChanged", PedToNet(playerPed)) - if Config.DisableHealthRegeneration then - SetPlayerHealthRechargeMultiplier(PlayerId(), 0.0) - end - end + while not ESX.PlayerLoaded do Wait(200) end + while true do + ESX.SetPlayerData("coords", GetEntityCoords(playerPed)) + if playerPed ~= PlayerPedId() then + playerPed = PlayerPedId() + ESX.SetPlayerData("ped", playerPed) + TriggerEvent("esx:playerPedChanged", playerPed) + TriggerServerEvent("esx:playerPedChanged", PedToNet(playerPed)) + if Config.DisableHealthRegeneration then + SetPlayerHealthRechargeMultiplier(PlayerId(), 0.0) + end + end - if IsPedJumping(playerPed) and not isJumping then - isJumping = true - TriggerEvent("esx:playerJumping") - TriggerServerEvent("esx:playerJumping") - elseif not IsPedJumping(playerPed) and isJumping then - isJumping = false - end + if IsPedJumping(playerPed) and not isJumping then + isJumping = true + TriggerEvent("esx:playerJumping") + TriggerServerEvent("esx:playerJumping") + elseif not IsPedJumping(playerPed) and isJumping then + isJumping = false + end - if IsPauseMenuActive() and not inPauseMenu then - inPauseMenu = true - TriggerEvent("esx:pauseMenuActive", inPauseMenu) - elseif not IsPauseMenuActive() and inPauseMenu then - inPauseMenu = false - TriggerEvent("esx:pauseMenuActive", inPauseMenu) - end + if IsPauseMenuActive() and not inPauseMenu then + inPauseMenu = true + TriggerEvent("esx:pauseMenuActive", inPauseMenu) + elseif not IsPauseMenuActive() and inPauseMenu then + inPauseMenu = false + TriggerEvent("esx:pauseMenuActive", inPauseMenu) + end - if not isInVehicle and not IsPlayerDead(PlayerId()) then - if DoesEntityExist(GetVehiclePedIsTryingToEnter(playerPed)) and not isEnteringVehicle then - -- trying to enter a vehicle! - local vehicle = GetVehiclePedIsTryingToEnter(playerPed) - local plate = GetVehicleNumberPlateText(vehicle) - local seat = GetSeatPedIsTryingToEnter(playerPed) - local _, netId = GetData(vehicle) - isEnteringVehicle = true - TriggerEvent("esx:enteringVehicle", vehicle, plate, seat, netId) - TriggerServerEvent("esx:enteringVehicle", plate, seat, netId) - elseif - not DoesEntityExist(GetVehiclePedIsTryingToEnter(playerPed)) - and not IsPedInAnyVehicle(playerPed, true) - and isEnteringVehicle - then - -- vehicle entering aborted - TriggerEvent("esx:enteringVehicleAborted") - TriggerServerEvent("esx:enteringVehicleAborted") - isEnteringVehicle = false - elseif IsPedInAnyVehicle(playerPed, false) then - -- suddenly appeared in a vehicle, possible teleport - isEnteringVehicle = false - isInVehicle = true - current.vehicle = GetVehiclePedIsUsing(playerPed) - current.seat = GetPedVehicleSeat(playerPed, current.vehicle) - current.plate = GetVehicleNumberPlateText(current.vehicle) - current.displayName, current.netId = GetData(current.vehicle) - TriggerEvent( - "esx:enteredVehicle", - current.vehicle, - current.plate, - current.seat, - current.displayName, - current.netId - ) - TriggerServerEvent( - "esx:enteredVehicle", - current.plate, - current.seat, - current.displayName, - current.netId - ) - end - elseif isInVehicle then - if not IsPedInAnyVehicle(playerPed, false) or IsPlayerDead(PlayerId()) then - -- bye, vehicle - TriggerEvent( - "esx:exitedVehicle", - current.vehicle, - current.plate, - current.seat, - current.displayName, - current.netId - ) - TriggerServerEvent("esx:exitedVehicle", current.plate, current.seat, current.displayName, current.netId) - isInVehicle = false - current = {} - end - end - Wait(200) - end + if not isInVehicle and not IsPlayerDead(PlayerId()) then + if DoesEntityExist(GetVehiclePedIsTryingToEnter(playerPed)) and not isEnteringVehicle then + -- trying to enter a vehicle! + local vehicle = GetVehiclePedIsTryingToEnter(playerPed) + local plate = GetVehicleNumberPlateText(vehicle) + local seat = GetSeatPedIsTryingToEnter(playerPed) + local _, netId = GetData(vehicle) + isEnteringVehicle = true + TriggerEvent("esx:enteringVehicle", vehicle, plate, seat, netId) + TriggerServerEvent("esx:enteringVehicle", plate, seat, netId) + elseif not DoesEntityExist(GetVehiclePedIsTryingToEnter(playerPed)) and not IsPedInAnyVehicle(playerPed, true) and isEnteringVehicle then + -- vehicle entering aborted + TriggerEvent("esx:enteringVehicleAborted") + TriggerServerEvent("esx:enteringVehicleAborted") + isEnteringVehicle = false + elseif IsPedInAnyVehicle(playerPed, false) then + -- suddenly appeared in a vehicle, possible teleport + isEnteringVehicle = false + isInVehicle = true + current.vehicle = GetVehiclePedIsUsing(playerPed) + current.seat = GetPedVehicleSeat(playerPed, current.vehicle) + current.plate = GetVehicleNumberPlateText(current.vehicle) + current.displayName, current.netId = GetData(current.vehicle) + TriggerEvent("esx:enteredVehicle", current.vehicle, current.plate, current.seat, current.displayName, current.netId) + TriggerServerEvent("esx:enteredVehicle", current.plate, current.seat, current.displayName, current.netId) + end + elseif isInVehicle then + if not IsPedInAnyVehicle(playerPed, false) or IsPlayerDead(PlayerId()) then + -- bye, vehicle + TriggerEvent("esx:exitedVehicle", current.vehicle, current.plate, current.seat, current.displayName, current.netId) + TriggerServerEvent("esx:exitedVehicle", current.plate, current.seat, current.displayName, current.netId) + isInVehicle = false + current = {} + end + end + Wait(200) + end end) if Config.EnableDebug then - AddEventHandler("esx:playerPedChanged", function(netId) - print("esx:playerPedChanged", netId) - end) + AddEventHandler("esx:playerPedChanged", function(netId) + print("esx:playerPedChanged", netId) + end) - AddEventHandler("esx:playerJumping", function() - print("esx:playerJumping") - end) + AddEventHandler("esx:playerJumping", function() + print("esx:playerJumping") + end) - AddEventHandler("esx:enteringVehicle", function(vehicle, plate, seat, netId) - print("esx:enteringVehicle", "vehicle", vehicle, "plate", plate, "seat", seat, "netId", netId) - end) + AddEventHandler("esx:enteringVehicle", function(vehicle, plate, seat, netId) + print("esx:enteringVehicle", "vehicle", vehicle, "plate", plate, "seat", seat, "netId", netId) + end) - AddEventHandler("esx:enteringVehicleAborted", function() - print("esx:enteringVehicleAborted") - end) + AddEventHandler("esx:enteringVehicleAborted", function() + print("esx:enteringVehicleAborted") + end) - AddEventHandler("esx:enteredVehicle", function(vehicle, plate, seat, displayName, netId) - print( - "esx:enteredVehicle", - "vehicle", - vehicle, - "plate", - plate, - "seat", - seat, - "displayName", - displayName, - "netId", - netId - ) - end) + AddEventHandler("esx:enteredVehicle", function(vehicle, plate, seat, displayName, netId) + print("esx:enteredVehicle", "vehicle", vehicle, "plate", plate, "seat", seat, "displayName", displayName, "netId", netId) + end) - AddEventHandler("esx:exitedVehicle", function(vehicle, plate, seat, displayName, netId) - print( - "esx:exitedVehicle", - "vehicle", - vehicle, - "plate", - plate, - "seat", - seat, - "displayName", - displayName, - "netId", - netId - ) - end) + AddEventHandler("esx:exitedVehicle", function(vehicle, plate, seat, displayName, netId) + print("esx:exitedVehicle", "vehicle", vehicle, "plate", plate, "seat", seat, "displayName", displayName, "netId", netId) + end) end diff --git a/server-data/resources/[esx]/es_extended/client/modules/callback.lua b/server-data/resources/[esx]/es_extended/client/modules/callback.lua index c77000786..cf58c391c 100644 --- a/server-data/resources/[esx]/es_extended/client/modules/callback.lua +++ b/server-data/resources/[esx]/es_extended/client/modules/callback.lua @@ -7,44 +7,34 @@ local clientCallbacks = {} ---@param callback function ---@param ... any ESX.TriggerServerCallback = function(eventName, callback, ...) - serverRequests[RequestId] = callback + serverRequests[RequestId] = callback - TriggerServerEvent("esx:triggerServerCallback", eventName, RequestId, GetInvokingResource() or "unknown", ...) + TriggerServerEvent("esx:triggerServerCallback", eventName, RequestId, GetInvokingResource() or "unknown", ...) - RequestId = RequestId + 1 + RequestId = RequestId + 1 end RegisterNetEvent("esx:serverCallback", function(requestId, invoker, ...) - if not serverRequests[requestId] then - return print( - ("[^1ERROR^7] Server Callback with requestId ^5%s^7 Was Called by ^5%s^7 but does not exist."):format( - requestId, - invoker - ) - ) - end - - serverRequests[requestId](...) - serverRequests[requestId] = nil + if not serverRequests[requestId] then + return print(("[^1ERROR^7] Server Callback with requestId ^5%s^7 Was Called by ^5%s^7 but does not exist."):format(requestId, invoker)) + end + + serverRequests[requestId](...) + serverRequests[requestId] = nil end) ---@param eventName string ---@param callback function ESX.RegisterClientCallback = function(eventName, callback) - clientCallbacks[eventName] = callback + clientCallbacks[eventName] = callback end RegisterNetEvent("esx:triggerClientCallback", function(eventName, requestId, invoker, ...) - if not clientCallbacks[eventName] then - return print( - ("[^1ERROR^7] Client Callback not registered, name: ^5%s^7, invoker resource: ^5%s^7"):format( - eventName, - invoker - ) - ) - end - - clientCallbacks[eventName](function(...) - TriggerServerEvent("esx:clientCallback", requestId, invoker, ...) - end, ...) + if not clientCallbacks[eventName] then + return print(("[^1ERROR^7] Client Callback not registered, name: ^5%s^7, invoker resource: ^5%s^7"):format(eventName, invoker)) + end + + clientCallbacks[eventName](function(...) + TriggerServerEvent("esx:clientCallback", requestId, invoker, ...) + end, ...) end) diff --git a/server-data/resources/[esx]/es_extended/client/modules/death.lua b/server-data/resources/[esx]/es_extended/client/modules/death.lua index eac7f86ef..ed3347f07 100644 --- a/server-data/resources/[esx]/es_extended/client/modules/death.lua +++ b/server-data/resources/[esx]/es_extended/client/modules/death.lua @@ -1,72 +1,56 @@ AddEventHandler("gameEventTriggered", function(event, data) - if event ~= "CEventNetworkEntityDamage" then - return - end - local victim, victimDied = data[1], data[4] - if not IsPedAPlayer(victim) then - return - end - local player = PlayerId() - local playerPed = PlayerPedId() - if - victimDied - and NetworkGetPlayerIndexFromPed(victim) == player - and (IsPedDeadOrDying(victim, true) or IsPedFatallyInjured(victim)) - then - local killerEntity, deathCause = GetPedSourceOfDeath(playerPed), GetPedCauseOfDeath(playerPed) - local killerClientId = NetworkGetPlayerIndexFromPed(killerEntity) - if killerEntity ~= playerPed and killerClientId and NetworkIsPlayerActive(killerClientId) then - PlayerKilledByPlayer(GetPlayerServerId(killerClientId), killerClientId, deathCause) - else - PlayerKilled(deathCause) - end - end + if event ~= "CEventNetworkEntityDamage" then + return + end + local victim, victimDied = data[1], data[4] + if not IsPedAPlayer(victim) then + return + end + local player = PlayerId() + local playerPed = PlayerPedId() + if victimDied and NetworkGetPlayerIndexFromPed(victim) == player and (IsPedDeadOrDying(victim, true) or IsPedFatallyInjured(victim)) then + local killerEntity, deathCause = GetPedSourceOfDeath(playerPed), GetPedCauseOfDeath(playerPed) + local killerClientId = NetworkGetPlayerIndexFromPed(killerEntity) + if killerEntity ~= playerPed and killerClientId and NetworkIsPlayerActive(killerClientId) then + PlayerKilledByPlayer(GetPlayerServerId(killerClientId), killerClientId, deathCause) + else + PlayerKilled(deathCause) + end + end end) function PlayerKilledByPlayer(killerServerId, killerClientId, deathCause) - local victimCoords = GetEntityCoords(PlayerPedId()) - local killerCoords = GetEntityCoords(GetPlayerPed(killerClientId)) - local distance = #(victimCoords - killerCoords) + local victimCoords = GetEntityCoords(PlayerPedId()) + local killerCoords = GetEntityCoords(GetPlayerPed(killerClientId)) + local distance = #(victimCoords - killerCoords) - local data = { - victimCoords = { - x = ESX.Math.Round(victimCoords.x, 1), - y = ESX.Math.Round(victimCoords.y, 1), - z = ESX.Math.Round(victimCoords.z, 1), - }, - killerCoords = { - x = ESX.Math.Round(killerCoords.x, 1), - y = ESX.Math.Round(killerCoords.y, 1), - z = ESX.Math.Round(killerCoords.z, 1), - }, + local data = { + victimCoords = { x = ESX.Math.Round(victimCoords.x, 1), y = ESX.Math.Round(victimCoords.y, 1), z = ESX.Math.Round(victimCoords.z, 1) }, + killerCoords = { x = ESX.Math.Round(killerCoords.x, 1), y = ESX.Math.Round(killerCoords.y, 1), z = ESX.Math.Round(killerCoords.z, 1) }, - killedByPlayer = true, - deathCause = deathCause, - distance = ESX.Math.Round(distance, 1), + killedByPlayer = true, + deathCause = deathCause, + distance = ESX.Math.Round(distance, 1), - killerServerId = killerServerId, - killerClientId = killerClientId, - } + killerServerId = killerServerId, + killerClientId = killerClientId, + } - TriggerEvent("esx:onPlayerDeath", data) - TriggerServerEvent("esx:onPlayerDeath", data) + TriggerEvent("esx:onPlayerDeath", data) + TriggerServerEvent("esx:onPlayerDeath", data) end function PlayerKilled(deathCause) - local playerPed = PlayerPedId() - local victimCoords = GetEntityCoords(playerPed) + local playerPed = PlayerPedId() + local victimCoords = GetEntityCoords(playerPed) - local data = { - victimCoords = { - x = ESX.Math.Round(victimCoords.x, 1), - y = ESX.Math.Round(victimCoords.y, 1), - z = ESX.Math.Round(victimCoords.z, 1), - }, + local data = { + victimCoords = { x = ESX.Math.Round(victimCoords.x, 1), y = ESX.Math.Round(victimCoords.y, 1), z = ESX.Math.Round(victimCoords.z, 1) }, - killedByPlayer = false, - deathCause = deathCause, - } + killedByPlayer = false, + deathCause = deathCause, + } - TriggerEvent("esx:onPlayerDeath", data) - TriggerServerEvent("esx:onPlayerDeath", data) + TriggerEvent("esx:onPlayerDeath", data) + TriggerServerEvent("esx:onPlayerDeath", data) end diff --git a/server-data/resources/[esx]/es_extended/client/modules/npwd.lua b/server-data/resources/[esx]/es_extended/client/modules/npwd.lua index ddbe3b5b8..fd88354aa 100644 --- a/server-data/resources/[esx]/es_extended/client/modules/npwd.lua +++ b/server-data/resources/[esx]/es_extended/client/modules/npwd.lua @@ -1,57 +1,57 @@ local npwd = GetResourceState("npwd"):find("start") and exports.npwd or nil local function checkPhone() - if not npwd then - return - end + if not npwd then + return + end - local phoneItem = ESX.SearchInventory("phone") - npwd:setPhoneDisabled((phoneItem and phoneItem.count or 0) <= 0) + local phoneItem = ESX.SearchInventory("phone") + npwd:setPhoneDisabled((phoneItem and phoneItem.count or 0) <= 0) end RegisterNetEvent("esx:playerLoaded", checkPhone) AddEventHandler("onClientResourceStart", function(resource) - if resource ~= "npwd" then - return - end + if resource ~= "npwd" then + return + end - npwd = GetResourceState("npwd"):find("start") and exports.npwd or nil + npwd = GetResourceState("npwd"):find("start") and exports.npwd or nil - if ESX.PlayerLoaded then - checkPhone() - end + if ESX.PlayerLoaded then + checkPhone() + end end) AddEventHandler("onClientResourceStop", function(resource) - if resource == "npwd" then - npwd = nil - end + if resource == "npwd" then + npwd = nil + end end) RegisterNetEvent("esx:onPlayerLogout", function() - if not npwd then - return - end + if not npwd then + return + end - npwd:setPhoneVisible(false) - npwd:setPhoneDisabled(true) + npwd:setPhoneVisible(false) + npwd:setPhoneDisabled(true) end) RegisterNetEvent("esx:removeInventoryItem", function(item, count) - if not npwd then - return - end + if not npwd then + return + end - if item == "phone" and count == 0 then - npwd:setPhoneDisabled(true) - end + if item == "phone" and count == 0 then + npwd:setPhoneDisabled(true) + end end) RegisterNetEvent("esx:addInventoryItem", function(item) - if not npwd or item ~= "phone" then - return - end + if not npwd or item ~= "phone" then + return + end - npwd:setPhoneDisabled(false) + npwd:setPhoneDisabled(false) end) diff --git a/server-data/resources/[esx]/es_extended/client/modules/scaleform.lua b/server-data/resources/[esx]/es_extended/client/modules/scaleform.lua index fa61a2732..46e20e125 100644 --- a/server-data/resources/[esx]/es_extended/client/modules/scaleform.lua +++ b/server-data/resources/[esx]/es_extended/client/modules/scaleform.lua @@ -1,98 +1,98 @@ function ESX.Scaleform.ShowFreemodeMessage(title, msg, sec) - local scaleform = ESX.Scaleform.Utils.RequestScaleformMovie("MP_BIG_MESSAGE_FREEMODE") + local scaleform = ESX.Scaleform.Utils.RequestScaleformMovie("MP_BIG_MESSAGE_FREEMODE") - BeginScaleformMovieMethod(scaleform, "SHOW_SHARD_WASTED_MP_MESSAGE") - ScaleformMovieMethodAddParamTextureNameString(title) - ScaleformMovieMethodAddParamTextureNameString(msg) - EndScaleformMovieMethod() + BeginScaleformMovieMethod(scaleform, "SHOW_SHARD_WASTED_MP_MESSAGE") + ScaleformMovieMethodAddParamTextureNameString(title) + ScaleformMovieMethodAddParamTextureNameString(msg) + EndScaleformMovieMethod() - while sec > 0 do - Wait(0) - sec = sec - 0.01 + while sec > 0 do + Wait(0) + sec = sec - 0.01 - DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255) - end + DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255) + end - SetScaleformMovieAsNoLongerNeeded(scaleform) + SetScaleformMovieAsNoLongerNeeded(scaleform) end function ESX.Scaleform.ShowBreakingNews(title, msg, bottom, sec) - local scaleform = ESX.Scaleform.Utils.RequestScaleformMovie("BREAKING_NEWS") + local scaleform = ESX.Scaleform.Utils.RequestScaleformMovie("BREAKING_NEWS") - BeginScaleformMovieMethod(scaleform, "SET_TEXT") - ScaleformMovieMethodAddParamTextureNameString(msg) - ScaleformMovieMethodAddParamTextureNameString(bottom) - EndScaleformMovieMethod() + BeginScaleformMovieMethod(scaleform, "SET_TEXT") + ScaleformMovieMethodAddParamTextureNameString(msg) + ScaleformMovieMethodAddParamTextureNameString(bottom) + EndScaleformMovieMethod() - BeginScaleformMovieMethod(scaleform, "SET_SCROLL_TEXT") - ScaleformMovieMethodAddParamInt(0) -- top ticker - ScaleformMovieMethodAddParamInt(0) -- Since this is the first string, start at 0 - ScaleformMovieMethodAddParamTextureNameString(title) + BeginScaleformMovieMethod(scaleform, "SET_SCROLL_TEXT") + ScaleformMovieMethodAddParamInt(0) -- top ticker + ScaleformMovieMethodAddParamInt(0) -- Since this is the first string, start at 0 + ScaleformMovieMethodAddParamTextureNameString(title) - EndScaleformMovieMethod() + EndScaleformMovieMethod() - BeginScaleformMovieMethod(scaleform, "DISPLAY_SCROLL_TEXT") - ScaleformMovieMethodAddParamInt(0) -- Top ticker - ScaleformMovieMethodAddParamInt(0) -- Index of string + BeginScaleformMovieMethod(scaleform, "DISPLAY_SCROLL_TEXT") + ScaleformMovieMethodAddParamInt(0) -- Top ticker + ScaleformMovieMethodAddParamInt(0) -- Index of string - EndScaleformMovieMethod() + EndScaleformMovieMethod() - while sec > 0 do - Wait(0) - sec = sec - 0.01 + while sec > 0 do + Wait(0) + sec = sec - 0.01 - DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255) - end + DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255) + end - SetScaleformMovieAsNoLongerNeeded(scaleform) + SetScaleformMovieAsNoLongerNeeded(scaleform) end function ESX.Scaleform.ShowPopupWarning(title, msg, bottom, sec) - local scaleform = ESX.Scaleform.Utils.RequestScaleformMovie("POPUP_WARNING") + local scaleform = ESX.Scaleform.Utils.RequestScaleformMovie("POPUP_WARNING") - BeginScaleformMovieMethod(scaleform, "SHOW_POPUP_WARNING") + BeginScaleformMovieMethod(scaleform, "SHOW_POPUP_WARNING") - ScaleformMovieMethodAddParamFloat(500.0) -- black background - ScaleformMovieMethodAddParamTextureNameString(title) - ScaleformMovieMethodAddParamTextureNameString(msg) - ScaleformMovieMethodAddParamTextureNameString(bottom) - ScaleformMovieMethodAddParamBool(true) + ScaleformMovieMethodAddParamFloat(500.0) -- black background + ScaleformMovieMethodAddParamTextureNameString(title) + ScaleformMovieMethodAddParamTextureNameString(msg) + ScaleformMovieMethodAddParamTextureNameString(bottom) + ScaleformMovieMethodAddParamBool(true) - EndScaleformMovieMethod() + EndScaleformMovieMethod() - while sec > 0 do - Wait(0) - sec = sec - 0.01 + while sec > 0 do + Wait(0) + sec = sec - 0.01 - DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255) - end + DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255) + end - SetScaleformMovieAsNoLongerNeeded(scaleform) + SetScaleformMovieAsNoLongerNeeded(scaleform) end function ESX.Scaleform.ShowTrafficMovie(sec) - local scaleform = ESX.Scaleform.Utils.RequestScaleformMovie("TRAFFIC_CAM") + local scaleform = ESX.Scaleform.Utils.RequestScaleformMovie("TRAFFIC_CAM") - BeginScaleformMovieMethod(scaleform, "PLAY_CAM_MOVIE") + BeginScaleformMovieMethod(scaleform, "PLAY_CAM_MOVIE") - EndScaleformMovieMethod() + EndScaleformMovieMethod() - while sec > 0 do - Wait(0) - sec = sec - 0.01 + while sec > 0 do + Wait(0) + sec = sec - 0.01 - DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255) - end + DrawScaleformMovieFullscreen(scaleform, 255, 255, 255, 255) + end - SetScaleformMovieAsNoLongerNeeded(scaleform) + SetScaleformMovieAsNoLongerNeeded(scaleform) end function ESX.Scaleform.Utils.RequestScaleformMovie(movie) - local scaleform = RequestScaleformMovie(movie) + local scaleform = RequestScaleformMovie(movie) - while not HasScaleformMovieLoaded(scaleform) do - Wait(0) - end + while not HasScaleformMovieLoaded(scaleform) do + Wait(0) + end - return scaleform + return scaleform end diff --git a/server-data/resources/[esx]/es_extended/client/modules/streaming.lua b/server-data/resources/[esx]/es_extended/client/modules/streaming.lua index 207a72c31..958509783 100644 --- a/server-data/resources/[esx]/es_extended/client/modules/streaming.lua +++ b/server-data/resources/[esx]/es_extended/client/modules/streaming.lua @@ -1,85 +1,85 @@ function ESX.Streaming.RequestModel(modelHash, cb) - modelHash = (type(modelHash) == "number" and modelHash or joaat(modelHash)) + modelHash = (type(modelHash) == "number" and modelHash or joaat(modelHash)) - if not HasModelLoaded(modelHash) and IsModelInCdimage(modelHash) then - RequestModel(modelHash) + if not HasModelLoaded(modelHash) and IsModelInCdimage(modelHash) then + RequestModel(modelHash) - while not HasModelLoaded(modelHash) do - Wait(0) - end - end + while not HasModelLoaded(modelHash) do + Wait(0) + end + end - if cb ~= nil then - cb() - end + if cb ~= nil then + cb() + end end function ESX.Streaming.RequestStreamedTextureDict(textureDict, cb) - if not HasStreamedTextureDictLoaded(textureDict) then - RequestStreamedTextureDict(textureDict) + if not HasStreamedTextureDictLoaded(textureDict) then + RequestStreamedTextureDict(textureDict) - while not HasStreamedTextureDictLoaded(textureDict) do - Wait(0) - end - end + while not HasStreamedTextureDictLoaded(textureDict) do + Wait(0) + end + end - if cb ~= nil then - cb() - end + if cb ~= nil then + cb() + end end function ESX.Streaming.RequestNamedPtfxAsset(assetName, cb) - if not HasNamedPtfxAssetLoaded(assetName) then - RequestNamedPtfxAsset(assetName) + if not HasNamedPtfxAssetLoaded(assetName) then + RequestNamedPtfxAsset(assetName) - while not HasNamedPtfxAssetLoaded(assetName) do - Wait(0) - end - end + while not HasNamedPtfxAssetLoaded(assetName) do + Wait(0) + end + end - if cb ~= nil then - cb() - end + if cb ~= nil then + cb() + end end function ESX.Streaming.RequestAnimSet(animSet, cb) - if not HasAnimSetLoaded(animSet) then - RequestAnimSet(animSet) + if not HasAnimSetLoaded(animSet) then + RequestAnimSet(animSet) - while not HasAnimSetLoaded(animSet) do - Wait(0) - end - end + while not HasAnimSetLoaded(animSet) do + Wait(0) + end + end - if cb ~= nil then - cb() - end + if cb ~= nil then + cb() + end end function ESX.Streaming.RequestAnimDict(animDict, cb) - if not HasAnimDictLoaded(animDict) then - RequestAnimDict(animDict) + if not HasAnimDictLoaded(animDict) then + RequestAnimDict(animDict) - while not HasAnimDictLoaded(animDict) do - Wait(0) - end - end + while not HasAnimDictLoaded(animDict) do + Wait(0) + end + end - if cb ~= nil then - cb() - end + if cb ~= nil then + cb() + end end function ESX.Streaming.RequestWeaponAsset(weaponHash, cb) - if not HasWeaponAssetLoaded(weaponHash) then - RequestWeaponAsset(weaponHash) + if not HasWeaponAssetLoaded(weaponHash) then + RequestWeaponAsset(weaponHash) - while not HasWeaponAssetLoaded(weaponHash) do - Wait(0) - end - end + while not HasWeaponAssetLoaded(weaponHash) do + Wait(0) + end + end - if cb ~= nil then - cb() - end + if cb ~= nil then + cb() + end end diff --git a/server-data/resources/[esx]/es_extended/client/wrapper.lua b/server-data/resources/[esx]/es_extended/client/wrapper.lua index c6fd62b21..10247fefe 100644 --- a/server-data/resources/[esx]/es_extended/client/wrapper.lua +++ b/server-data/resources/[esx]/es_extended/client/wrapper.lua @@ -1,14 +1,14 @@ local Chunks = {} RegisterNUICallback("__chunk", function(data, cb) - Chunks[data.id] = Chunks[data.id] or "" - Chunks[data.id] = Chunks[data.id] .. data.chunk + Chunks[data.id] = Chunks[data.id] or "" + Chunks[data.id] = Chunks[data.id] .. data.chunk - if data["end"] then - local msg = json.decode(Chunks[data.id]) - TriggerEvent(GetCurrentResourceName() .. ":message:" .. data.__type, msg) - Chunks[data.id] = nil - end + if data["end"] then + local msg = json.decode(Chunks[data.id]) + TriggerEvent(GetCurrentResourceName() .. ":message:" .. data.__type, msg) + Chunks[data.id] = nil + end - cb("") + cb("") end) diff --git a/server-data/resources/[esx]/es_extended/common/functions.lua b/server-data/resources/[esx]/es_extended/common/functions.lua index d3478f7f6..f6414bdc8 100644 --- a/server-data/resources/[esx]/es_extended/common/functions.lua +++ b/server-data/resources/[esx]/es_extended/common/functions.lua @@ -1,108 +1,108 @@ local Charset = {} for i = 48, 57 do - table.insert(Charset, string.char(i)) + table.insert(Charset, string.char(i)) end for i = 65, 90 do - table.insert(Charset, string.char(i)) + table.insert(Charset, string.char(i)) end for i = 97, 122 do - table.insert(Charset, string.char(i)) + table.insert(Charset, string.char(i)) end local weaponsByName = {} local weaponsByHash = {} CreateThread(function() - for index, weapon in pairs(Config.Weapons) do - weaponsByName[weapon.name] = index - weaponsByHash[joaat(weapon.name)] = weapon - end + for index, weapon in pairs(Config.Weapons) do + weaponsByName[weapon.name] = index + weaponsByHash[joaat(weapon.name)] = weapon + end end) function ESX.GetRandomString(length) - math.randomseed(GetGameTimer()) + math.randomseed(GetGameTimer()) - return length > 0 and ESX.GetRandomString(length - 1) .. Charset[math.random(1, #Charset)] or "" + return length > 0 and ESX.GetRandomString(length - 1) .. Charset[math.random(1, #Charset)] or "" end function ESX.GetConfig() - return Config + return Config end function ESX.GetWeapon(weaponName) - weaponName = string.upper(weaponName) + weaponName = string.upper(weaponName) - assert(weaponsByName[weaponName], "Invalid weapon name!") + assert(weaponsByName[weaponName], "Invalid weapon name!") - local index = weaponsByName[weaponName] - return index, Config.Weapons[index] + local index = weaponsByName[weaponName] + return index, Config.Weapons[index] end function ESX.GetWeaponFromHash(weaponHash) - weaponHash = type(weaponHash) == "string" and joaat(weaponHash) or weaponHash + weaponHash = type(weaponHash) == "string" and joaat(weaponHash) or weaponHash - return weaponsByHash[weaponHash] + return weaponsByHash[weaponHash] end function ESX.GetWeaponList(byHash) - return byHash and weaponsByHash or Config.Weapons + return byHash and weaponsByHash or Config.Weapons end function ESX.GetWeaponLabel(weaponName) - weaponName = string.upper(weaponName) + weaponName = string.upper(weaponName) - assert(weaponsByName[weaponName], "Invalid weapon name!") + assert(weaponsByName[weaponName], "Invalid weapon name!") - local index = weaponsByName[weaponName] - return Config.Weapons[index].label or "" + local index = weaponsByName[weaponName] + return Config.Weapons[index].label or "" end function ESX.GetWeaponComponent(weaponName, weaponComponent) - weaponName = string.upper(weaponName) + weaponName = string.upper(weaponName) - assert(weaponsByName[weaponName], "Invalid weapon name!") - local weapon = Config.Weapons[weaponsByName[weaponName]] + assert(weaponsByName[weaponName], "Invalid weapon name!") + local weapon = Config.Weapons[weaponsByName[weaponName]] - for _, component in ipairs(weapon.components) do - if component.name == weaponComponent then - return component - end - end + for _, component in ipairs(weapon.components) do + if component.name == weaponComponent then + return component + end + end end function ESX.DumpTable(table, nb) - if nb == nil then - nb = 0 - end - - if type(table) == "table" then - local s = "" - for _ = 1, nb + 1, 1 do - s = s .. " " - end - - s = "{\n" - for k, v in pairs(table) do - if type(k) ~= "number" then - k = '"' .. k .. '"' - end - for _ = 1, nb, 1 do - s = s .. " " - end - s = s .. "[" .. k .. "] = " .. ESX.DumpTable(v, nb + 1) .. ",\n" - end - - for _ = 1, nb, 1 do - s = s .. " " - end - - return s .. "}" - else - return tostring(table) - end + if nb == nil then + nb = 0 + end + + if type(table) == "table" then + local s = "" + for _ = 1, nb + 1, 1 do + s = s .. " " + end + + s = "{\n" + for k, v in pairs(table) do + if type(k) ~= "number" then + k = '"' .. k .. '"' + end + for _ = 1, nb, 1 do + s = s .. " " + end + s = s .. "[" .. k .. "] = " .. ESX.DumpTable(v, nb + 1) .. ",\n" + end + + for _ = 1, nb, 1 do + s = s .. " " + end + + return s .. "}" + else + return tostring(table) + end end function ESX.Round(value, numDecimalPlaces) - return ESX.Math.Round(value, numDecimalPlaces) + return ESX.Math.Round(value, numDecimalPlaces) end diff --git a/server-data/resources/[esx]/es_extended/common/modules/math.lua b/server-data/resources/[esx]/es_extended/common/modules/math.lua index e620d48a9..9910d17e8 100644 --- a/server-data/resources/[esx]/es_extended/common/modules/math.lua +++ b/server-data/resources/[esx]/es_extended/common/modules/math.lua @@ -1,27 +1,25 @@ ESX.Math = {} function ESX.Math.Round(value, numDecimalPlaces) - if numDecimalPlaces then - local power = 10 ^ numDecimalPlaces - return math.floor((value * power) + 0.5) / power - else - return math.floor(value + 0.5) - end + if numDecimalPlaces then + local power = 10 ^ numDecimalPlaces + return math.floor((value * power) + 0.5) / power + else + return math.floor(value + 0.5) + end end -- credit http://richard.warburton.it function ESX.Math.GroupDigits(value) - local left, num, right = string.match(value, "^([^%d]*%d)(%d*)(.-)$") + local left, num, right = string.match(value, "^([^%d]*%d)(%d*)(.-)$") - return left - .. (num:reverse():gsub("(%d%d%d)", "%1" .. TranslateCap("locale_digit_grouping_symbol")):reverse()) - .. right + return left .. (num:reverse():gsub("(%d%d%d)", "%1" .. TranslateCap("locale_digit_grouping_symbol")):reverse()) .. right end function ESX.Math.Trim(value) - if value then - return (string.gsub(value, "^%s*(.-)%s*$", "%1")) - else - return nil - end + if value then + return (string.gsub(value, "^%s*(.-)%s*$", "%1")) + else + return nil + end end diff --git a/server-data/resources/[esx]/es_extended/common/modules/table.lua b/server-data/resources/[esx]/es_extended/common/modules/table.lua index 957cb68c8..860f68c7f 100644 --- a/server-data/resources/[esx]/es_extended/common/modules/table.lua +++ b/server-data/resources/[esx]/es_extended/common/modules/table.lua @@ -2,186 +2,186 @@ ESX.Table = {} -- nil proof alternative to #table function ESX.Table.SizeOf(t) - local count = 0 + local count = 0 - for _, _ in pairs(t) do - count = count + 1 - end + for _, _ in pairs(t) do + count = count + 1 + end - return count + return count end function ESX.Table.Set(t) - local set = {} - for _, v in ipairs(t) do - set[v] = true - end - return set + local set = {} + for _, v in ipairs(t) do + set[v] = true + end + return set end function ESX.Table.IndexOf(t, value) - for i = 1, #t, 1 do - if t[i] == value then - return i - end - end + for i = 1, #t, 1 do + if t[i] == value then + return i + end + end - return -1 + return -1 end function ESX.Table.LastIndexOf(t, value) - for i = #t, 1, -1 do - if t[i] == value then - return i - end - end + for i = #t, 1, -1 do + if t[i] == value then + return i + end + end - return -1 + return -1 end function ESX.Table.Find(t, cb) - for i = 1, #t, 1 do - if cb(t[i]) then - return t[i] - end - end + for i = 1, #t, 1 do + if cb(t[i]) then + return t[i] + end + end - return nil + return nil end function ESX.Table.FindIndex(t, cb) - for i = 1, #t, 1 do - if cb(t[i]) then - return i - end - end + for i = 1, #t, 1 do + if cb(t[i]) then + return i + end + end - return -1 + return -1 end function ESX.Table.Filter(t, cb) - local newTable = {} + local newTable = {} - for i = 1, #t, 1 do - if cb(t[i]) then - table.insert(newTable, t[i]) - end - end + for i = 1, #t, 1 do + if cb(t[i]) then + table.insert(newTable, t[i]) + end + end - return newTable + return newTable end function ESX.Table.Map(t, cb) - local newTable = {} + local newTable = {} - for i = 1, #t, 1 do - newTable[i] = cb(t[i], i) - end + for i = 1, #t, 1 do + newTable[i] = cb(t[i], i) + end - return newTable + return newTable end function ESX.Table.Reverse(t) - local newTable = {} + local newTable = {} - for i = #t, 1, -1 do - table.insert(newTable, t[i]) - end + for i = #t, 1, -1 do + table.insert(newTable, t[i]) + end - return newTable + return newTable end function ESX.Table.Clone(t) - if type(t) ~= "table" then - return t - end + if type(t) ~= "table" then + return t + end - local meta = getmetatable(t) - local target = {} + local meta = getmetatable(t) + local target = {} - for k, v in pairs(t) do - if type(v) == "table" then - target[k] = ESX.Table.Clone(v) - else - target[k] = v - end - end + for k, v in pairs(t) do + if type(v) == "table" then + target[k] = ESX.Table.Clone(v) + else + target[k] = v + end + end - setmetatable(target, meta) + setmetatable(target, meta) - return target + return target end function ESX.Table.Concat(t1, t2) - local t3 = ESX.Table.Clone(t1) + local t3 = ESX.Table.Clone(t1) - for i = 1, #t2, 1 do - table.insert(t3, t2[i]) - end + for i = 1, #t2, 1 do + table.insert(t3, t2[i]) + end - return t3 + return t3 end function ESX.Table.Join(t, sep) - local str = "" + local str = "" - for i = 1, #t, 1 do - if i > 1 then - str = str .. (sep or ",") - end + for i = 1, #t, 1 do + if i > 1 then + str = str .. (sep or ",") + end - str = str .. t[i] - end + str = str .. t[i] + end - return str + return str end -- Credits: https://github.com/JonasDev99/qb-garages/blob/b0335d67cb72a6b9ac60f62a87fb3946f5c2f33d/server/main.lua#L5 function ESX.Table.TableContains(tab, val) - if type(val) == "table" then - for _, value in pairs(tab) do - if ESX.Table.TableContains(val, value) then - return true - end - end - return false - else - for _, value in pairs(tab) do - if value == val then - return true - end - end - end - return false + if type(val) == "table" then + for _, value in pairs(tab) do + if ESX.Table.TableContains(val, value) then + return true + end + end + return false + else + for _, value in pairs(tab) do + if value == val then + return true + end + end + end + return false end -- Credit: https://stackoverflow.com/a/15706820 -- Description: sort function for pairs function ESX.Table.Sort(t, order) - -- collect the keys - local keys = {} - - for k, _ in pairs(t) do - keys[#keys + 1] = k - end - - -- if order function given, sort by it by passing the table and keys a, b, - -- otherwise just sort the keys - if order then - table.sort(keys, function(a, b) - return order(t, a, b) - end) - else - table.sort(keys) - end - - -- return the iterator function - local i = 0 - - return function() - i = i + 1 - if keys[i] then - return keys[i], t[keys[i]] - end - end + -- collect the keys + local keys = {} + + for k, _ in pairs(t) do + keys[#keys + 1] = k + end + + -- if order function given, sort by it by passing the table and keys a, b, + -- otherwise just sort the keys + if order then + table.sort(keys, function(a, b) + return order(t, a, b) + end) + else + table.sort(keys) + end + + -- return the iterator function + local i = 0 + + return function() + i = i + 1 + if keys[i] then + return keys[i], t[keys[i]] + end + end end diff --git a/server-data/resources/[esx]/es_extended/common/modules/timeout.lua b/server-data/resources/[esx]/es_extended/common/modules/timeout.lua index 814b086ce..381cbbcc3 100644 --- a/server-data/resources/[esx]/es_extended/common/modules/timeout.lua +++ b/server-data/resources/[esx]/es_extended/common/modules/timeout.lua @@ -2,22 +2,22 @@ local TimeoutCount = 0 local CancelledTimeouts = {} ESX.SetTimeout = function(msec, cb) - local id = TimeoutCount + 1 + local id = TimeoutCount + 1 - SetTimeout(msec, function() - if CancelledTimeouts[id] then - CancelledTimeouts[id] = nil - return - end + SetTimeout(msec, function() + if CancelledTimeouts[id] then + CancelledTimeouts[id] = nil + return + end - cb() - end) + cb() + end) - TimeoutCount = id + TimeoutCount = id - return id + return id end ESX.ClearTimeout = function(id) - CancelledTimeouts[id] = true + CancelledTimeouts[id] = true end diff --git a/server-data/resources/[esx]/es_extended/config.logs.lua b/server-data/resources/[esx]/es_extended/config.logs.lua index 92cdfc3ae..34c013a03 100644 --- a/server-data/resources/[esx]/es_extended/config.logs.lua +++ b/server-data/resources/[esx]/es_extended/config.logs.lua @@ -1,23 +1,23 @@ Config.DiscordLogs = { - Webhooks = { - default = "", - test = "", - Chat = "", - UserActions = "", - Resources = "", - Paycheck = "", - }, + Webhooks = { + default = "", + test = "", + Chat = "", + UserActions = "", + Resources = "", + Paycheck = "", + }, - Colors = { -- https://www.spycolor.com/ - default = 14423100, - blue = 255, - red = 16711680, - green = 65280, - white = 16777215, - black = 0, - orange = 16744192, - yellow = 16776960, - pink = 16761035, - lightgreen = 65309, - }, + Colors = { -- https://www.spycolor.com/ + default = 14423100, + blue = 255, + red = 16711680, + green = 65280, + white = 16777215, + black = 0, + orange = 16744192, + yellow = 16776960, + pink = 16761035, + lightgreen = 65309, + }, } diff --git a/server-data/resources/[esx]/es_extended/config.lua b/server-data/resources/[esx]/es_extended/config.lua index 45b4c9fe7..3d82a1f00 100644 --- a/server-data/resources/[esx]/es_extended/config.lua +++ b/server-data/resources/[esx]/es_extended/config.lua @@ -1,59 +1,58 @@ Config = {} Config.Locale = GetConvar("esx:locale", "en") -Config.OxInventory = GetResourceState("ox_inventory") ~= "missing" +Config.OxInventory = GetResourceState("ox_inventory") ~= 'missing' Config.Accounts = { - bank = { - label = TranslateCap("account_bank"), - round = true, - }, - black_money = { - label = TranslateCap("account_black_money"), - round = true, - }, - money = { - label = TranslateCap("account_money"), - round = true, - }, + bank = { + label = TranslateCap("account_bank"), + round = true, + }, + black_money = { + label = TranslateCap("account_black_money"), + round = true, + }, + money = { + label = TranslateCap("account_money"), + round = true, + }, } Config.StartingAccountMoney = { bank = 50000 } Config.StartingInventoryItems = false -- table/false -Config.DefaultSpawns = - { -- If you want to have more spawn positions and select them randomly uncomment commented code or add more locations - { x = 222.2027, y = -864.0162, z = 30.2922, heading = 1.0 }, - --{x = 224.9865, y = -865.0871, z = 30.2922, heading = 1.0}, - --{x = 227.8436, y = -866.0400, z = 30.2922, heading = 1.0}, - --{x = 230.6051, y = -867.1450, z = 30.2922, heading = 1.0}, - --{x = 233.5459, y = -868.2626, z = 30.2922, heading = 1.0} - } +Config.DefaultSpawns = { -- If you want to have more spawn positions and select them randomly uncomment commented code or add more locations + { x = 222.2027, y = -864.0162, z = 30.2922, heading = 1.0 }, + --{x = 224.9865, y = -865.0871, z = 30.2922, heading = 1.0}, + --{x = 227.8436, y = -866.0400, z = 30.2922, heading = 1.0}, + --{x = 230.6051, y = -867.1450, z = 30.2922, heading = 1.0}, + --{x = 233.5459, y = -868.2626, z = 30.2922, heading = 1.0} +} Config.AdminGroups = { - ["owner"] = true, - ["admin"] = true, + ["owner"] = true, + ["admin"] = true, } Config.EnablePaycheck = true -- enable paycheck Config.LogPaycheck = false -- Logs paychecks to a nominated Discord channel via webhook (default is false) Config.EnableSocietyPayouts = false -- pay from the society account that the player is employed at? Requirement: esx_society -Config.MaxWeight = 24 -- the max inventory weight without backpack -Config.PaycheckInterval = 7 * 60000 -- how often to recieve pay checks in milliseconds +Config.MaxWeight = 24 -- the max inventory weight without a backpack +Config.PaycheckInterval = 7 * 60000 -- how often to receive paychecks in milliseconds Config.EnableDebug = false -- Use Debug options? Config.EnableDefaultInventory = true -- Display the default Inventory ( F2 ) Config.EnableWantedLevel = false -- Use Normal GTA wanted Level? Config.EnablePVP = true -- Allow Player to player combat Config.Multichar = GetResourceState("esx_multicharacter") ~= "missing" -Config.Identity = true -- Select a characters identity data before they have loaded in (this happens by default with multichar) +Config.Identity = true -- Select a character identity data before they have loaded in (this happens by default with multichar) Config.DistanceGive = 4.0 -- Max distance when giving items, weapons etc. Config.AdminLogging = false -- Logs the usage of certain commands by those with group.admin ace permissions (default is false) Config.DisableHealthRegeneration = false -- Player will no longer regenerate health -Config.DisableVehicleRewards = false -- Disables Player Recieving weapons from vehicles +Config.DisableVehicleRewards = false -- Disables Player Receiving weapons from vehicles Config.DisableNPCDrops = false -- stops NPCs from dropping weapons on death Config.DisableDispatchServices = false -- Disable Dispatch services Config.DisableScenarios = false -- Disable Scenarios @@ -62,36 +61,36 @@ Config.DisableAimAssist = false -- disables AIM assist (mainly on controllers) Config.DisableVehicleSeatShuff = false -- Disables vehicle seat shuff Config.DisableDisplayAmmo = false -- Disable ammunition display Config.RemoveHudComponents = { - [1] = false, --WANTED_STARS, - [2] = false, --WEAPON_ICON - [3] = false, --CASH - [4] = false, --MP_CASH - [5] = false, --MP_MESSAGE - [6] = false, --VEHICLE_NAME - [7] = false, -- AREA_NAME - [8] = false, -- VEHICLE_CLASS - [9] = false, --STREET_NAME - [10] = false, --HELP_TEXT - [11] = false, --FLOATING_HELP_TEXT_1 - [12] = false, --FLOATING_HELP_TEXT_2 - [13] = false, --CASH_CHANGE - [14] = false, --RETICLE - [15] = false, --SUBTITLE_TEXT - [16] = false, --RADIO_STATIONS - [17] = false, --SAVING_GAME, - [18] = false, --GAME_STREAM - [19] = false, --WEAPON_WHEEL - [20] = false, --WEAPON_WHEEL_STATS - [21] = false, --HUD_COMPONENTS - [22] = false, --HUD_WEAPONS + [1] = false, --WANTED_STARS, + [2] = false, --WEAPON_ICON + [3] = false, --CASH + [4] = false, --MP_CASH + [5] = false, --MP_MESSAGE + [6] = false, --VEHICLE_NAME + [7] = false, -- AREA_NAME + [8] = false, -- VEHICLE_CLASS + [9] = false, --STREET_NAME + [10] = false, --HELP_TEXT + [11] = false, --FLOATING_HELP_TEXT_1 + [12] = false, --FLOATING_HELP_TEXT_2 + [13] = false, --CASH_CHANGE + [14] = false, --RETICLE + [15] = false, --SUBTITLE_TEXT + [16] = false, --RADIO_STATIONS + [17] = false, --SAVING_GAME, + [18] = false, --GAME_STREAM + [19] = false, --WEAPON_WHEEL + [20] = false, --WEAPON_WHEEL_STATS + [21] = false, --HUD_COMPONENTS + [22] = false, --HUD_WEAPONS } -Config.SpawnVehMaxUpgrades = true -- admin vehicles spawn with max vehcle settings +Config.SpawnVehMaxUpgrades = true -- admin vehicles spawn with max vehicle settings Config.CustomAIPlates = "........" -- Custom plates for AI vehicles -- Pattern string format --1 will lead to a random number from 0-9. --A will lead to a random letter from A-Z. --- . will lead to a random letter or number, with 50% probability of being either. +-- . will lead to a random letter or number, with a 50% probability of being either. --^1 will lead to a literal 1 being emitted. --^A will lead to a literal A being emitted. --Any other character will lead to said character being emitted. diff --git a/server-data/resources/[esx]/es_extended/config.weapons.lua b/server-data/resources/[esx]/es_extended/config.weapons.lua index 0dbdb5203..cbeecb54d 100644 --- a/server-data/resources/[esx]/es_extended/config.weapons.lua +++ b/server-data/resources/[esx]/es_extended/config.weapons.lua @@ -1,2714 +1,1036 @@ Config.DefaultWeaponTints = { - [0] = TranslateCap("tint_default"), - [1] = TranslateCap("tint_green"), - [2] = TranslateCap("tint_gold"), - [3] = TranslateCap("tint_pink"), - [4] = TranslateCap("tint_army"), - [5] = TranslateCap("tint_lspd"), - [6] = TranslateCap("tint_orange"), - [7] = TranslateCap("tint_platinum"), + [0] = TranslateCap("tint_default"), + [1] = TranslateCap("tint_green"), + [2] = TranslateCap("tint_gold"), + [3] = TranslateCap("tint_pink"), + [4] = TranslateCap("tint_army"), + [5] = TranslateCap("tint_lspd"), + [6] = TranslateCap("tint_orange"), + [7] = TranslateCap("tint_platinum"), } Config.Weapons = { - -- Melee - { name = "WEAPON_DAGGER", label = TranslateCap("weapon_dagger"), components = {} }, - { name = "WEAPON_BAT", label = TranslateCap("weapon_bat"), components = {} }, - { name = "WEAPON_BATTLEAXE", label = TranslateCap("weapon_battleaxe"), components = {} }, - { - name = "WEAPON_KNUCKLE", - label = TranslateCap("weapon_knuckle"), - components = { - { - name = "knuckle_base", - label = TranslateCap("component_knuckle_base"), - hash = `COMPONENT_KNUCKLE_VARMOD_BASE`, - }, - { - name = "knuckle_pimp", - label = TranslateCap("component_knuckle_pimp"), - hash = `COMPONENT_KNUCKLE_VARMOD_PIMP`, - }, - { - name = "knuckle_ballas", - label = TranslateCap("component_knuckle_ballas"), - hash = `COMPONENT_KNUCKLE_VARMOD_BALLAS`, - }, - { - name = "knuckle_dollar", - label = TranslateCap("component_knuckle_dollar"), - hash = `COMPONENT_KNUCKLE_VARMOD_DOLLAR`, - }, - { - name = "knuckle_diamond", - label = TranslateCap("component_knuckle_diamond"), - hash = `COMPONENT_KNUCKLE_VARMOD_DIAMOND`, - }, - { - name = "knuckle_hate", - label = TranslateCap("component_knuckle_hate"), - hash = `COMPONENT_KNUCKLE_VARMOD_HATE`, - }, - { - name = "knuckle_love", - label = TranslateCap("component_knuckle_love"), - hash = `COMPONENT_KNUCKLE_VARMOD_LOVE`, - }, - { - name = "knuckle_player", - label = TranslateCap("component_knuckle_player"), - hash = `COMPONENT_KNUCKLE_VARMOD_PLAYER`, - }, - { - name = "knuckle_king", - label = TranslateCap("component_knuckle_king"), - hash = `COMPONENT_KNUCKLE_VARMOD_KING`, - }, - { - name = "knuckle_vagos", - label = TranslateCap("component_knuckle_vagos"), - hash = `COMPONENT_KNUCKLE_VARMOD_VAGOS`, - }, - }, - }, - { name = "WEAPON_BOTTLE", label = TranslateCap("weapon_bottle"), components = {} }, - { name = "WEAPON_CROWBAR", label = TranslateCap("weapon_crowbar"), components = {} }, - { name = "WEAPON_FLASHLIGHT", label = TranslateCap("weapon_flashlight"), components = {} }, - { name = "WEAPON_GOLFCLUB", label = TranslateCap("weapon_golfclub"), components = {} }, - { name = "WEAPON_HAMMER", label = TranslateCap("weapon_hammer"), components = {} }, - { name = "WEAPON_HATCHET", label = TranslateCap("weapon_hatchet"), components = {} }, - { name = "WEAPON_KNIFE", label = TranslateCap("weapon_knife"), components = {} }, - { name = "WEAPON_MACHETE", label = TranslateCap("weapon_machete"), components = {} }, - { name = "WEAPON_NIGHTSTICK", label = TranslateCap("weapon_nightstick"), components = {} }, - { name = "WEAPON_WRENCH", label = TranslateCap("weapon_wrench"), components = {} }, - { name = "WEAPON_POOLCUE", label = TranslateCap("weapon_poolcue"), components = {} }, - { name = "WEAPON_STONE_HATCHET", label = TranslateCap("weapon_stone_hatchet"), components = {} }, - { - name = "WEAPON_SWITCHBLADE", - label = TranslateCap("weapon_switchblade"), - components = { - { - name = "handle_default", - label = TranslateCap("component_handle_default"), - hash = `COMPONENT_SWITCHBLADE_VARMOD_BASE`, - }, - { - name = "handle_vip", - label = TranslateCap("component_handle_vip"), - hash = `COMPONENT_SWITCHBLADE_VARMOD_VAR1`, - }, - { - name = "handle_bodyguard", - label = TranslateCap("component_handle_bodyguard"), - hash = `COMPONENT_SWITCHBLADE_VARMOD_VAR2`, - }, - }, - }, - -- Handguns - { - name = "WEAPON_APPISTOL", - label = TranslateCap("weapon_appistol"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_APPISTOL_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_APPISTOL_CLIP_02`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_APPISTOL_VARMOD_LUXE`, - }, - }, - }, - { - name = "WEAPON_CERAMICPISTOL", - label = TranslateCap("weapon_ceramicpistol"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - }, - { - name = "WEAPON_COMBATPISTOL", - label = TranslateCap("weapon_combatpistol"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_COMBATPISTOL_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_COMBATPISTOL_CLIP_02`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_COMBATPISTOL_VARMOD_LOWRIDER`, - }, - }, - }, - { - name = "WEAPON_DOUBLEACTION", - label = TranslateCap("weapon_doubleaction"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - }, - { - name = "WEAPON_NAVYREVOLVER", - label = TranslateCap("weapon_navyrevolver"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - }, - { - name = "WEAPON_FLAREGUN", - label = TranslateCap("weapon_flaregun"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_flaregun"), hash = `AMMO_FLAREGUN` }, - }, - { - name = "WEAPON_GADGETPISTOL", - label = TranslateCap("weapon_gadgetpistol"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - }, - { - name = "WEAPON_HEAVYPISTOL", - label = TranslateCap("weapon_heavypistol"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_HEAVYPISTOL_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_HEAVYPISTOL_CLIP_02`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_HEAVYPISTOL_VARMOD_LUXE`, - }, - }, - }, - { - name = "WEAPON_REVOLVER", - label = TranslateCap("weapon_revolver"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_REVOLVER_CLIP_01`, - }, - { - name = "vip_finish", - label = TranslateCap("component_vip_finish"), - hash = `COMPONENT_REVOLVER_VARMOD_BOSS`, - }, - { - name = "bodyguard_finish", - label = TranslateCap("component_bodyguard_finish"), - hash = `COMPONENT_REVOLVER_VARMOD_GOON`, - }, - }, - }, - { - name = "WEAPON_REVOLVER_MK2", - label = TranslateCap("weapon_revolver_mk2"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - 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`, - }, - { - name = "ammo_incendiary", - label = TranslateCap("component_ammo_incendiary"), - hash = `COMPONENT_REVOLVER_MK2_CLIP_INCENDIARY`, - }, - { - name = "ammo_hollowpoint", - label = TranslateCap("component_ammo_hollowpoint"), - hash = `COMPONENT_REVOLVER_MK2_CLIP_HOLLOWPOINT`, - }, - { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_REVOLVER_MK2_CLIP_FMJ` }, - { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, - { name = "scope_small", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, - { name = "compensator", label = TranslateCap("component_compensator"), hash = `COMPONENT_AT_PI_COMP_03` }, - { - name = "camo_finish", - label = TranslateCap("component_camo_finish"), - hash = `COMPONENT_REVOLVER_MK2_CAMO`, - }, - { - name = "camo_finish2", - label = TranslateCap("component_camo_finish2"), - hash = `COMPONENT_REVOLVER_MK2_CAMO_02`, - }, - { - name = "camo_finish3", - label = TranslateCap("component_camo_finish3"), - hash = `COMPONENT_REVOLVER_MK2_CAMO_03`, - }, - { - name = "camo_finish4", - label = TranslateCap("component_camo_finish4"), - hash = `COMPONENT_REVOLVER_MK2_CAMO_04`, - }, - { - name = "camo_finish5", - label = TranslateCap("component_camo_finish5"), - hash = `COMPONENT_REVOLVER_MK2_CAMO_05`, - }, - { - name = "camo_finish6", - label = TranslateCap("component_camo_finish6"), - hash = `COMPONENT_REVOLVER_MK2_CAMO_06`, - }, - { - name = "camo_finish7", - label = TranslateCap("component_camo_finish7"), - hash = `COMPONENT_REVOLVER_MK2_CAMO_07`, - }, - { - name = "camo_finish8", - label = TranslateCap("component_camo_finish8"), - hash = `COMPONENT_REVOLVER_MK2_CAMO_08`, - }, - { - name = "camo_finish9", - label = TranslateCap("component_camo_finish9"), - hash = `COMPONENT_REVOLVER_MK2_CAMO_09`, - }, - { - name = "camo_finish10", - label = TranslateCap("component_camo_finish10"), - hash = `COMPONENT_REVOLVER_MK2_CAMO_10`, - }, - { - name = "camo_finish11", - label = TranslateCap("component_camo_finish11"), - hash = `COMPONENT_REVOLVER_MK2_CAMO_IND_01`, - }, - }, - }, - { - name = "WEAPON_MARKSMANPISTOL", - label = TranslateCap("weapon_marksmanpistol"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - }, - { - name = "WEAPON_PISTOL", - label = TranslateCap("weapon_pistol"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_PISTOL_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_PISTOL_CLIP_02`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP_02` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_PISTOL_VARMOD_LUXE`, - }, - }, - }, - { - name = "WEAPON_PISTOL_MK2", - label = TranslateCap("weapon_pistol_mk2"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - 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`, - }, - { - name = "ammo_tracer", - label = TranslateCap("component_ammo_tracer"), - hash = `COMPONENT_PISTOL_MK2_CLIP_TRACER`, - }, - { - name = "ammo_incendiary", - label = TranslateCap("component_ammo_incendiary"), - hash = `COMPONENT_PISTOL_MK2_CLIP_INCENDIARY`, - }, - { - name = "ammo_hollowpoint", - label = TranslateCap("component_ammo_hollowpoint"), - hash = `COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT`, - }, - { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_PISTOL_MK2_CLIP_FMJ` }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_PI_RAIL` }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH_02` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP_02` }, - { name = "compensator", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_COMP` }, - { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_PISTOL_MK2_CAMO` }, - { - name = "camo_finish2", - label = TranslateCap("component_camo_finish2"), - hash = `COMPONENT_PISTOL_MK2_CAMO_02`, - }, - { - name = "camo_finish3", - label = TranslateCap("component_camo_finish3"), - hash = `COMPONENT_PISTOL_MK2_CAMO_03`, - }, - { - name = "camo_finish4", - label = TranslateCap("component_camo_finish4"), - hash = `COMPONENT_PISTOL_MK2_CAMO_04`, - }, - { - name = "camo_finish5", - label = TranslateCap("component_camo_finish5"), - hash = `COMPONENT_PISTOL_MK2_CAMO_05`, - }, - { - name = "camo_finish6", - label = TranslateCap("component_camo_finish6"), - hash = `COMPONENT_PISTOL_MK2_CAMO_06`, - }, - { - name = "camo_finish7", - label = TranslateCap("component_camo_finish7"), - hash = `COMPONENT_PISTOL_MK2_CAMO_07`, - }, - { - name = "camo_finish8", - label = TranslateCap("component_camo_finish8"), - hash = `COMPONENT_PISTOL_MK2_CAMO_08`, - }, - { - name = "camo_finish9", - label = TranslateCap("component_camo_finish9"), - hash = `COMPONENT_PISTOL_MK2_CAMO_09`, - }, - { - name = "camo_finish10", - label = TranslateCap("component_camo_finish10"), - hash = `COMPONENT_PISTOL_MK2_CAMO_10`, - }, - { - name = "camo_finish11", - label = TranslateCap("component_camo_finish11"), - hash = `COMPONENT_PISTOL_MK2_CAMO_IND_01`, - }, - { - name = "camo_slide_finish", - label = TranslateCap("component_camo_slide_finish"), - hash = `COMPONENT_PISTOL_MK2_CAMO_SLIDE`, - }, - { - name = "camo_slide_finish2", - label = TranslateCap("component_camo_slide_finish2"), - hash = `COMPONENT_PISTOL_MK2_CAMO_02_SLIDE`, - }, - { - name = "camo_slide_finish3", - label = TranslateCap("component_camo_slide_finish3"), - hash = `COMPONENT_PISTOL_MK2_CAMO_03_SLIDE`, - }, - { - name = "camo_slide_finish4", - label = TranslateCap("component_camo_slide_finish4"), - hash = `COMPONENT_PISTOL_MK2_CAMO_04_SLIDE`, - }, - { - name = "camo_slide_finish5", - label = TranslateCap("component_camo_slide_finish5"), - hash = `COMPONENT_PISTOL_MK2_CAMO_05_SLIDE`, - }, - { - name = "camo_slide_finish6", - label = TranslateCap("component_camo_slide_finish6"), - hash = `COMPONENT_PISTOL_MK2_CAMO_06_SLIDE`, - }, - { - name = "camo_slide_finish7", - label = TranslateCap("component_camo_slide_finish7"), - hash = `COMPONENT_PISTOL_MK2_CAMO_07_SLIDE`, - }, - { - name = "camo_slide_finish8", - label = TranslateCap("component_camo_slide_finish8"), - hash = `COMPONENT_PISTOL_MK2_CAMO_08_SLIDE`, - }, - { - name = "camo_slide_finish9", - label = TranslateCap("component_camo_slide_finish9"), - hash = `COMPONENT_PISTOL_MK2_CAMO_09_SLIDE`, - }, - { - name = "camo_slide_finish10", - label = TranslateCap("component_camo_slide_finish10"), - hash = `COMPONENT_PISTOL_MK2_CAMO_10_SLIDE`, - }, - { - name = "camo_slide_finish11", - label = TranslateCap("component_camo_slide_finish11"), - hash = `COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE`, - }, - }, - }, - { - name = "WEAPON_PISTOL50", - label = TranslateCap("weapon_pistol50"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_PISTOL50_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_PISTOL50_CLIP_02`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_PISTOL50_VARMOD_LUXE`, - }, - }, - }, - { - name = "WEAPON_SNSPISTOL", - label = TranslateCap("weapon_snspistol"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_SNSPISTOL_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_SNSPISTOL_CLIP_02`, - }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_SNSPISTOL_VARMOD_LOWRIDER`, - }, - }, - }, - { - name = "WEAPON_SNSPISTOL_MK2", - label = TranslateCap("weapon_snspistol_mk2"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - 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`, - }, - { - name = "ammo_tracer", - label = TranslateCap("component_ammo_tracer"), - hash = `COMPONENT_SNSPISTOL_MK2_CLIP_TRACER`, - }, - { - name = "ammo_incendiary", - label = TranslateCap("component_ammo_incendiary"), - hash = `COMPONENT_SNSPISTOL_MK2_CLIP_INCENDIARY`, - }, - { - name = "ammo_hollowpoint", - label = TranslateCap("component_ammo_hollowpoint"), - hash = `COMPONENT_SNSPISTOL_MK2_CLIP_HOLLOWPOINT`, - }, - { - name = "ammo_fmj", - label = TranslateCap("component_ammo_fmj"), - hash = `COMPONENT_SNSPISTOL_MK2_CLIP_FMJ`, - }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_PI_RAIL_02` }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH_03` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP_02` }, - { name = "compensator", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_COMP_02` }, - { - name = "camo_finish", - label = TranslateCap("component_camo_finish"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO`, - }, - { - name = "camo_finish2", - label = TranslateCap("component_camo_finish2"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_02`, - }, - { - name = "camo_finish3", - label = TranslateCap("component_camo_finish3"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_03`, - }, - { - name = "camo_finish4", - label = TranslateCap("component_camo_finish4"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_04`, - }, - { - name = "camo_finish5", - label = TranslateCap("component_camo_finish5"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_05`, - }, - { - name = "camo_finish6", - label = TranslateCap("component_camo_finish6"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_06`, - }, - { - name = "camo_finish7", - label = TranslateCap("component_camo_finish7"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_07`, - }, - { - name = "camo_finish8", - label = TranslateCap("component_camo_finish8"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_08`, - }, - { - name = "camo_finish9", - label = TranslateCap("component_camo_finish9"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_09`, - }, - { - name = "camo_finish10", - label = TranslateCap("component_camo_finish10"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_10`, - }, - { - name = "camo_finish11", - label = TranslateCap("component_camo_finish11"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_IND_01`, - }, - { - name = "camo_slide_finish", - label = TranslateCap("component_camo_slide_finish"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_SLIDE`, - }, - { - name = "camo_slide_finish2", - label = TranslateCap("component_camo_slide_finish2"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_02_SLIDE`, - }, - { - name = "camo_slide_finish3", - label = TranslateCap("component_camo_slide_finish3"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_03_SLIDE`, - }, - { - name = "camo_slide_finish4", - label = TranslateCap("component_camo_slide_finish4"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_04_SLIDE`, - }, - { - name = "camo_slide_finish5", - label = TranslateCap("component_camo_slide_finish5"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_05_SLIDE`, - }, - { - name = "camo_slide_finish6", - label = TranslateCap("component_camo_slide_finish6"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_06_SLIDE`, - }, - { - name = "camo_slide_finish7", - label = TranslateCap("component_camo_slide_finish7"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_07_SLIDE`, - }, - { - name = "camo_slide_finish8", - label = TranslateCap("component_camo_slide_finish8"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_08_SLIDE`, - }, - { - name = "camo_slide_finish9", - label = TranslateCap("component_camo_slide_finish9"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_09_SLIDE`, - }, - { - name = "camo_slide_finish10", - label = TranslateCap("component_camo_slide_finish10"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_10_SLIDE`, - }, - { - name = "camo_slide_finish11", - label = TranslateCap("component_camo_slide_finish11"), - hash = `COMPONENT_SNSPISTOL_MK2_CAMO_IND_01_SLIDE`, - }, - }, - }, - { - name = "WEAPON_STUNGUN", - label = TranslateCap("weapon_stungun"), - tints = Config.DefaultWeaponTints, - components = {}, - }, - { - name = "WEAPON_RAYPISTOL", - label = TranslateCap("weapon_raypistol"), - tints = Config.DefaultWeaponTints, - components = {}, - }, - { - name = "WEAPON_VINTAGEPISTOL", - label = TranslateCap("weapon_vintagepistol"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_VINTAGEPISTOL_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_VINTAGEPISTOL_CLIP_02`, - }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, - }, - }, - -- Shotguns - { - name = "WEAPON_ASSAULTSHOTGUN", - label = TranslateCap("weapon_assaultshotgun"), - ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_ASSAULTSHOTGUN_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_ASSAULTSHOTGUN_CLIP_02`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, - }, - }, - { - name = "WEAPON_AUTOSHOTGUN", - label = TranslateCap("weapon_autoshotgun"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, - }, - { - name = "WEAPON_BULLPUPSHOTGUN", - label = TranslateCap("weapon_bullpupshotgun"), - ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, - tints = Config.DefaultWeaponTints, - components = { - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, - }, - }, - { - name = "WEAPON_COMBATSHOTGUN", - label = TranslateCap("weapon_combatshotgun"), - ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, - tints = Config.DefaultWeaponTints, - components = { - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, - }, - }, - { - name = "WEAPON_DBSHOTGUN", - label = TranslateCap("weapon_dbshotgun"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, - }, - { - name = "WEAPON_HEAVYSHOTGUN", - label = TranslateCap("weapon_heavyshotgun"), - ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_HEAVYSHOTGUN_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_HEAVYSHOTGUN_CLIP_02`, - }, - { - name = "clip_drum", - label = TranslateCap("component_clip_drum"), - hash = `COMPONENT_HEAVYSHOTGUN_CLIP_03`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, - }, - }, - { - name = "WEAPON_MUSKET", - label = TranslateCap("weapon_musket"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SHOTGUN` }, - }, - { - name = "WEAPON_PUMPSHOTGUN", - label = TranslateCap("weapon_pumpshotgun"), - ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, - tints = Config.DefaultWeaponTints, - components = { - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_SR_SUPP` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_PUMPSHOTGUN_VARMOD_LOWRIDER`, - }, - }, - }, - { - name = "WEAPON_PUMPSHOTGUN_MK2", - label = TranslateCap("weapon_pumpshotgun_mk2"), - ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, - tints = Config.DefaultWeaponTints, - 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`, - }, - { - name = "shells_armor", - label = TranslateCap("component_shells_armor"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_ARMORPIERCING`, - }, - { - name = "shells_hollowpoint", - label = TranslateCap("component_shells_hollowpoint"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_HOLLOWPOINT`, - }, - { - name = "shells_explosive", - label = TranslateCap("component_shells_explosive"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_EXPLOSIVE`, - }, - { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, - { - name = "scope_small", - label = TranslateCap("component_scope_small"), - hash = `COMPONENT_AT_SCOPE_MACRO_MK2`, - }, - { - name = "scope_medium", - label = TranslateCap("component_scope_medium"), - hash = `COMPONENT_AT_SCOPE_SMALL_MK2`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_SR_SUPP_03` }, - { - name = "muzzle_squared", - label = TranslateCap("component_muzzle_squared"), - hash = `COMPONENT_AT_MUZZLE_08`, - }, - { - name = "camo_finish", - label = TranslateCap("component_camo_finish"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO`, - }, - { - name = "camo_finish2", - label = TranslateCap("component_camo_finish2"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_02`, - }, - { - name = "camo_finish3", - label = TranslateCap("component_camo_finish3"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_03`, - }, - { - name = "camo_finish4", - label = TranslateCap("component_camo_finish4"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_04`, - }, - { - name = "camo_finish5", - label = TranslateCap("component_camo_finish5"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_05`, - }, - { - name = "camo_finish6", - label = TranslateCap("component_camo_finish6"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_06`, - }, - { - name = "camo_finish7", - label = TranslateCap("component_camo_finish7"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_07`, - }, - { - name = "camo_finish8", - label = TranslateCap("component_camo_finish8"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_08`, - }, - { - name = "camo_finish9", - label = TranslateCap("component_camo_finish9"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_09`, - }, - { - name = "camo_finish10", - label = TranslateCap("component_camo_finish10"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_10`, - }, - { - name = "camo_finish11", - label = TranslateCap("component_camo_finish11"), - hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_IND_01`, - }, - }, - }, - { - name = "WEAPON_SAWNOFFSHOTGUN", - label = TranslateCap("weapon_sawnoffshotgun"), - ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_SAWNOFFSHOTGUN_VARMOD_LUXE`, - }, - }, - }, - -- SMG & LMG - { - name = "WEAPON_ASSAULTSMG", - label = TranslateCap("weapon_assaultsmg"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_ASSAULTSMG_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_ASSAULTSMG_CLIP_02`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MACRO` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_ASSAULTSMG_VARMOD_LOWRIDER`, - }, - }, - }, - { - name = "WEAPON_COMBATMG", - label = TranslateCap("weapon_combatmg"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_MG` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_COMBATMG_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_COMBATMG_CLIP_02`, - }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_COMBATMG_VARMOD_LOWRIDER`, - }, - }, - }, - { - name = "WEAPON_COMBATMG_MK2", - label = TranslateCap("weapon_combatmg_mk2"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_MG` }, - tints = Config.DefaultWeaponTints, - 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`, - }, - { - name = "ammo_tracer", - label = TranslateCap("component_ammo_tracer"), - hash = `COMPONENT_COMBATMG_MK2_CLIP_TRACER`, - }, - { - name = "ammo_incendiary", - label = TranslateCap("component_ammo_incendiary"), - hash = `COMPONENT_COMBATMG_MK2_CLIP_INCENDIARY`, - }, - { - name = "ammo_hollowpoint", - label = TranslateCap("component_ammo_hollowpoint"), - hash = `COMPONENT_COMBATMG_MK2_CLIP_ARMORPIERCING`, - }, - { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_COMBATMG_MK2_CLIP_FMJ` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP_02` }, - { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, - { - name = "scope_medium", - label = TranslateCap("component_scope_medium"), - hash = `COMPONENT_AT_SCOPE_SMALL_MK2`, - }, - { - name = "scope_large", - label = TranslateCap("component_scope_large"), - hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`, - }, - { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, - { - name = "muzzle_tactical", - label = TranslateCap("component_muzzle_tactical"), - hash = `COMPONENT_AT_MUZZLE_02`, - }, - { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, - { - name = "muzzle_precision", - label = TranslateCap("component_muzzle_precision"), - hash = `COMPONENT_AT_MUZZLE_04`, - }, - { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, - { - name = "muzzle_slanted", - label = TranslateCap("component_muzzle_slanted"), - hash = `COMPONENT_AT_MUZZLE_06`, - }, - { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, - { - name = "barrel_default", - label = TranslateCap("component_barrel_default"), - hash = `COMPONENT_AT_MG_BARREL_01`, - }, - { - name = "barrel_heavy", - label = TranslateCap("component_barrel_heavy"), - hash = `COMPONENT_AT_MG_BARREL_02`, - }, - { - name = "camo_finish", - label = TranslateCap("component_camo_finish"), - hash = `COMPONENT_COMBATMG_MK2_CAMO`, - }, - { - name = "camo_finish2", - label = TranslateCap("component_camo_finish2"), - hash = `COMPONENT_COMBATMG_MK2_CAMO_02`, - }, - { - name = "camo_finish3", - label = TranslateCap("component_camo_finish3"), - hash = `COMPONENT_COMBATMG_MK2_CAMO_03`, - }, - { - name = "camo_finish4", - label = TranslateCap("component_camo_finish4"), - hash = `COMPONENT_COMBATMG_MK2_CAMO_04`, - }, - { - name = "camo_finish5", - label = TranslateCap("component_camo_finish5"), - hash = `COMPONENT_COMBATMG_MK2_CAMO_05`, - }, - { - name = "camo_finish6", - label = TranslateCap("component_camo_finish6"), - hash = `COMPONENT_COMBATMG_MK2_CAMO_06`, - }, - { - name = "camo_finish7", - label = TranslateCap("component_camo_finish7"), - hash = `COMPONENT_COMBATMG_MK2_CAMO_07`, - }, - { - name = "camo_finish8", - label = TranslateCap("component_camo_finish8"), - hash = `COMPONENT_COMBATMG_MK2_CAMO_08`, - }, - { - name = "camo_finish9", - label = TranslateCap("component_camo_finish9"), - hash = `COMPONENT_COMBATMG_MK2_CAMO_09`, - }, - { - name = "camo_finish10", - label = TranslateCap("component_camo_finish10"), - hash = `COMPONENT_COMBATMG_MK2_CAMO_10`, - }, - { - name = "camo_finish11", - label = TranslateCap("component_camo_finish11"), - hash = `COMPONENT_COMBATMG_MK2_CAMO_IND_01`, - }, - }, - }, - { - name = "WEAPON_COMBATPDW", - label = TranslateCap("weapon_combatpdw"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_COMBATPDW_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_COMBATPDW_CLIP_02`, - }, - { name = "clip_drum", label = TranslateCap("component_clip_drum"), hash = `COMPONENT_COMBATPDW_CLIP_03` }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_SMALL` }, - }, - }, - { - name = "WEAPON_GUSENBERG", - label = TranslateCap("weapon_gusenberg"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_MG` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_GUSENBERG_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_GUSENBERG_CLIP_02`, - }, - }, - }, - { - name = "WEAPON_MACHINEPISTOL", - label = TranslateCap("weapon_machinepistol"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_MACHINEPISTOL_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_MACHINEPISTOL_CLIP_02`, - }, - { - name = "clip_drum", - label = TranslateCap("component_clip_drum"), - hash = `COMPONENT_MACHINEPISTOL_CLIP_03`, - }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, - }, - }, - { - name = "WEAPON_MG", - label = TranslateCap("weapon_mg"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_MG` }, - tints = Config.DefaultWeaponTints, - components = { - { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_MG_CLIP_01` }, - { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_MG_CLIP_02` }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_SMALL_02` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_MG_VARMOD_LOWRIDER`, - }, - }, - }, - { - name = "WEAPON_MICROSMG", - label = TranslateCap("weapon_microsmg"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_MICROSMG_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_MICROSMG_CLIP_02`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MACRO` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_MICROSMG_VARMOD_LUXE`, - }, - }, - }, - { - name = "WEAPON_MINISMG", - label = TranslateCap("weapon_minismg"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_MINISMG_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_MINISMG_CLIP_02`, - }, - }, - }, - { - name = "WEAPON_SMG", - label = TranslateCap("weapon_smg"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, - tints = Config.DefaultWeaponTints, - components = { - { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_SMG_CLIP_01` }, - { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_SMG_CLIP_02` }, - { name = "clip_drum", label = TranslateCap("component_clip_drum"), hash = `COMPONENT_SMG_CLIP_03` }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MACRO_02` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_SMG_VARMOD_LUXE`, - }, - }, - }, - { - name = "WEAPON_SMG_MK2", - label = TranslateCap("weapon_smg_mk2"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, - tints = Config.DefaultWeaponTints, - 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`, - }, - { - name = "ammo_tracer", - label = TranslateCap("component_ammo_tracer"), - hash = `COMPONENT_SMG_MK2_CLIP_TRACER`, - }, - { - name = "ammo_incendiary", - label = TranslateCap("component_ammo_incendiary"), - hash = `COMPONENT_SMG_MK2_CLIP_INCENDIARY`, - }, - { - name = "ammo_hollowpoint", - label = TranslateCap("component_ammo_hollowpoint"), - hash = `COMPONENT_SMG_MK2_CLIP_HOLLOWPOINT`, - }, - { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_SMG_MK2_CLIP_FMJ` }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS_SMG` }, - { - name = "scope_small", - label = TranslateCap("component_scope_small"), - hash = `COMPONENT_AT_SCOPE_MACRO_02_SMG_MK2`, - }, - { - name = "scope_medium", - label = TranslateCap("component_scope_medium"), - hash = `COMPONENT_AT_SCOPE_SMALL_SMG_MK2`, - }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, - { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, - { - name = "muzzle_tactical", - label = TranslateCap("component_muzzle_tactical"), - hash = `COMPONENT_AT_MUZZLE_02`, - }, - { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, - { - name = "muzzle_precision", - label = TranslateCap("component_muzzle_precision"), - hash = `COMPONENT_AT_MUZZLE_04`, - }, - { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, - { - name = "muzzle_slanted", - label = TranslateCap("component_muzzle_slanted"), - hash = `COMPONENT_AT_MUZZLE_06`, - }, - { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, - { - name = "barrel_default", - label = TranslateCap("component_barrel_default"), - hash = `COMPONENT_AT_SB_BARREL_01`, - }, - { - name = "barrel_heavy", - label = TranslateCap("component_barrel_heavy"), - hash = `COMPONENT_AT_SB_BARREL_02`, - }, - { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_SMG_MK2_CAMO` }, - { - name = "camo_finish2", - label = TranslateCap("component_camo_finish2"), - hash = `COMPONENT_SMG_MK2_CAMO_02`, - }, - { - name = "camo_finish3", - label = TranslateCap("component_camo_finish3"), - hash = `COMPONENT_SMG_MK2_CAMO_03`, - }, - { - name = "camo_finish4", - label = TranslateCap("component_camo_finish4"), - hash = `COMPONENT_SMG_MK2_CAMO_04`, - }, - { - name = "camo_finish5", - label = TranslateCap("component_camo_finish5"), - hash = `COMPONENT_SMG_MK2_CAMO_05`, - }, - { - name = "camo_finish6", - label = TranslateCap("component_camo_finish6"), - hash = `COMPONENT_SMG_MK2_CAMO_06`, - }, - { - name = "camo_finish7", - label = TranslateCap("component_camo_finish7"), - hash = `COMPONENT_SMG_MK2_CAMO_07`, - }, - { - name = "camo_finish8", - label = TranslateCap("component_camo_finish8"), - hash = `COMPONENT_SMG_MK2_CAMO_08`, - }, - { - name = "camo_finish9", - label = TranslateCap("component_camo_finish9"), - hash = `COMPONENT_SMG_MK2_CAMO_09`, - }, - { - name = "camo_finish10", - label = TranslateCap("component_camo_finish10"), - hash = `COMPONENT_SMG_MK2_CAMO_10`, - }, - { - name = "camo_finish11", - label = TranslateCap("component_camo_finish11"), - hash = `COMPONENT_SMG_MK2_CAMO_IND_01`, - }, - }, - }, - { - name = "WEAPON_RAYCARBINE", - label = TranslateCap("weapon_raycarbine"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, - tints = Config.DefaultWeaponTints, - components = {}, - }, - -- Rifles - { - name = "WEAPON_ADVANCEDRIFLE", - label = TranslateCap("weapon_advancedrifle"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_ADVANCEDRIFLE_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_ADVANCEDRIFLE_CLIP_02`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_SMALL` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_ADVANCEDRIFLE_VARMOD_LUXE`, - }, - }, - }, - { - name = "WEAPON_ASSAULTRIFLE", - label = TranslateCap("weapon_assaultrifle"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_ASSAULTRIFLE_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_ASSAULTRIFLE_CLIP_02`, - }, - { - name = "clip_drum", - label = TranslateCap("component_clip_drum"), - hash = `COMPONENT_ASSAULTRIFLE_CLIP_03`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MACRO` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_ASSAULTRIFLE_VARMOD_LUXE`, - }, - }, - }, - { - name = "WEAPON_ASSAULTRIFLE_MK2", - label = TranslateCap("weapon_assaultrifle_mk2"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - 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`, - }, - { - name = "ammo_tracer", - label = TranslateCap("component_ammo_tracer"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_TRACER`, - }, - { - name = "ammo_incendiary", - label = TranslateCap("component_ammo_incendiary"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_INCENDIARY`, - }, - { - name = "ammo_armor", - label = TranslateCap("component_ammo_armor"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING`, - }, - { - name = "ammo_fmj", - label = TranslateCap("component_ammo_fmj"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_FMJ`, - }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP_02` }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, - { - name = "scope_small", - label = TranslateCap("component_scope_small"), - hash = `COMPONENT_AT_SCOPE_MACRO_MK2`, - }, - { - name = "scope_large", - label = TranslateCap("component_scope_large"), - hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`, - }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, - { - name = "muzzle_tactical", - label = TranslateCap("component_muzzle_tactical"), - hash = `COMPONENT_AT_MUZZLE_02`, - }, - { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, - { - name = "muzzle_precision", - label = TranslateCap("component_muzzle_precision"), - hash = `COMPONENT_AT_MUZZLE_04`, - }, - { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, - { - name = "muzzle_slanted", - label = TranslateCap("component_muzzle_slanted"), - hash = `COMPONENT_AT_MUZZLE_06`, - }, - { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, - { - name = "barrel_default", - label = TranslateCap("component_barrel_default"), - hash = `COMPONENT_AT_AR_BARREL_01`, - }, - { - name = "barrel_heavy", - label = TranslateCap("component_barrel_heavy"), - hash = `COMPONENT_AT_AR_BARREL_02`, - }, - { - name = "camo_finish", - label = TranslateCap("component_camo_finish"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO`, - }, - { - name = "camo_finish2", - label = TranslateCap("component_camo_finish2"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_02`, - }, - { - name = "camo_finish3", - label = TranslateCap("component_camo_finish3"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_03`, - }, - { - name = "camo_finish4", - label = TranslateCap("component_camo_finish4"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_04`, - }, - { - name = "camo_finish5", - label = TranslateCap("component_camo_finish5"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_05`, - }, - { - name = "camo_finish6", - label = TranslateCap("component_camo_finish6"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_06`, - }, - { - name = "camo_finish7", - label = TranslateCap("component_camo_finish7"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_07`, - }, - { - name = "camo_finish8", - label = TranslateCap("component_camo_finish8"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_08`, - }, - { - name = "camo_finish9", - label = TranslateCap("component_camo_finish9"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_09`, - }, - { - name = "camo_finish10", - label = TranslateCap("component_camo_finish10"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_10`, - }, - { - name = "camo_finish11", - label = TranslateCap("component_camo_finish11"), - hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_IND_01`, - }, - }, - }, - { - name = "WEAPON_BULLPUPRIFLE", - label = TranslateCap("weapon_bullpuprifle"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_BULLPUPRIFLE_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_BULLPUPRIFLE_CLIP_02`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_SMALL` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_BULLPUPRIFLE_VARMOD_LOW`, - }, - }, - }, - { - name = "WEAPON_BULLPUPRIFLE_MK2", - label = TranslateCap("weapon_bullpuprifle_mk2"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - 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`, - }, - { - name = "ammo_tracer", - label = TranslateCap("component_ammo_tracer"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_TRACER`, - }, - { - name = "ammo_incendiary", - label = TranslateCap("component_ammo_incendiary"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_INCENDIARY`, - }, - { - name = "ammo_armor", - label = TranslateCap("component_ammo_armor"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_ARMORPIERCING`, - }, - { - name = "ammo_fmj", - label = TranslateCap("component_ammo_fmj"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_FMJ`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, - { - name = "scope_small", - label = TranslateCap("component_scope_small"), - hash = `COMPONENT_AT_SCOPE_MACRO_02_MK2`, - }, - { - name = "scope_medium", - label = TranslateCap("component_scope_medium"), - hash = `COMPONENT_AT_SCOPE_SMALL_MK2`, - }, - { - name = "barrel_default", - label = TranslateCap("component_barrel_default"), - hash = `COMPONENT_AT_BP_BARREL_01`, - }, - { - name = "barrel_heavy", - label = TranslateCap("component_barrel_heavy"), - hash = `COMPONENT_AT_BP_BARREL_02`, - }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, - { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, - { - name = "muzzle_tactical", - label = TranslateCap("component_muzzle_tactical"), - hash = `COMPONENT_AT_MUZZLE_02`, - }, - { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, - { - name = "muzzle_precision", - label = TranslateCap("component_muzzle_precision"), - hash = `COMPONENT_AT_MUZZLE_04`, - }, - { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, - { - name = "muzzle_slanted", - label = TranslateCap("component_muzzle_slanted"), - hash = `COMPONENT_AT_MUZZLE_06`, - }, - { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP_02` }, - { - name = "camo_finish", - label = TranslateCap("component_camo_finish"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO`, - }, - { - name = "camo_finish2", - label = TranslateCap("component_camo_finish2"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_02`, - }, - { - name = "camo_finish3", - label = TranslateCap("component_camo_finish3"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_03`, - }, - { - name = "camo_finish4", - label = TranslateCap("component_camo_finish4"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_04`, - }, - { - name = "camo_finish5", - label = TranslateCap("component_camo_finish5"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_05`, - }, - { - name = "camo_finish6", - label = TranslateCap("component_camo_finish6"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_06`, - }, - { - name = "camo_finish7", - label = TranslateCap("component_camo_finish7"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_07`, - }, - { - name = "camo_finish8", - label = TranslateCap("component_camo_finish8"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_08`, - }, - { - name = "camo_finish9", - label = TranslateCap("component_camo_finish9"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_09`, - }, - { - name = "camo_finish10", - label = TranslateCap("component_camo_finish10"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_10`, - }, - { - name = "camo_finish11", - label = TranslateCap("component_camo_finish11"), - hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_IND_01`, - }, - }, - }, - { - name = "WEAPON_CARBINERIFLE", - label = TranslateCap("weapon_carbinerifle"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_CARBINERIFLE_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_CARBINERIFLE_CLIP_02`, - }, - { name = "clip_box", label = TranslateCap("component_clip_box"), hash = `COMPONENT_CARBINERIFLE_CLIP_03` }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_CARBINERIFLE_VARMOD_LUXE`, - }, - }, - }, - { - name = "WEAPON_CARBINERIFLE_MK2", - label = TranslateCap("weapon_carbinerifle_mk2"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - 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`, - }, - { - name = "ammo_tracer", - label = TranslateCap("component_ammo_tracer"), - hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_TRACER`, - }, - { - name = "ammo_incendiary", - label = TranslateCap("component_ammo_incendiary"), - hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_INCENDIARY`, - }, - { - name = "ammo_armor", - label = TranslateCap("component_ammo_armor"), - hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_ARMORPIERCING`, - }, - { - name = "ammo_fmj", - label = TranslateCap("component_ammo_fmj"), - hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_FMJ`, - }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP_02` }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, - { - name = "scope_medium", - label = TranslateCap("component_scope_medium"), - hash = `COMPONENT_AT_SCOPE_MACRO_MK2`, - }, - { - name = "scope_large", - label = TranslateCap("component_scope_large"), - hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`, - }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, - { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, - { - name = "muzzle_tactical", - label = TranslateCap("component_muzzle_tactical"), - hash = `COMPONENT_AT_MUZZLE_02`, - }, - { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, - { - name = "muzzle_precision", - label = TranslateCap("component_muzzle_precision"), - hash = `COMPONENT_AT_MUZZLE_04`, - }, - { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, - { - name = "muzzle_slanted", - label = TranslateCap("component_muzzle_slanted"), - hash = `COMPONENT_AT_MUZZLE_06`, - }, - { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, - { - name = "barrel_default", - label = TranslateCap("component_barrel_default"), - hash = `COMPONENT_AT_CR_BARREL_01`, - }, - { - name = "barrel_heavy", - label = TranslateCap("component_barrel_heavy"), - hash = `COMPONENT_AT_CR_BARREL_02`, - }, - { - name = "camo_finish", - label = TranslateCap("component_camo_finish"), - hash = `COMPONENT_CARBINERIFLE_MK2_CAMO`, - }, - { - name = "camo_finish2", - label = TranslateCap("component_camo_finish2"), - hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_02`, - }, - { - name = "camo_finish3", - label = TranslateCap("component_camo_finish3"), - hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_03`, - }, - { - name = "camo_finish4", - label = TranslateCap("component_camo_finish4"), - hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_04`, - }, - { - name = "camo_finish5", - label = TranslateCap("component_camo_finish5"), - hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_05`, - }, - { - name = "camo_finish6", - label = TranslateCap("component_camo_finish6"), - hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_06`, - }, - { - name = "camo_finish7", - label = TranslateCap("component_camo_finish7"), - hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_07`, - }, - { - name = "camo_finish8", - label = TranslateCap("component_camo_finish8"), - hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_08`, - }, - { - name = "camo_finish9", - label = TranslateCap("component_camo_finish9"), - hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_09`, - }, - { - name = "camo_finish10", - label = TranslateCap("component_camo_finish10"), - hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_10`, - }, - { - name = "camo_finish11", - label = TranslateCap("component_camo_finish11"), - hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_IND_01`, - }, - }, - }, - { - name = "WEAPON_COMPACTRIFLE", - label = TranslateCap("weapon_compactrifle"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_COMPACTRIFLE_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_COMPACTRIFLE_CLIP_02`, - }, - { - name = "clip_drum", - label = TranslateCap("component_clip_drum"), - hash = `COMPONENT_COMPACTRIFLE_CLIP_03`, - }, - }, - }, - { - name = "WEAPON_MILITARYRIFLE", - label = TranslateCap("weapon_militaryrifle"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_MILITARYRIFLE_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_MILITARYRIFLE_CLIP_02`, - }, - { - name = "ironsights", - label = TranslateCap("component_ironsights"), - hash = `COMPONENT_MILITARYRIFLE_SIGHT_01`, - }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_SMALL` }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, - }, - }, - { - name = "WEAPON_SPECIALCARBINE", - label = TranslateCap("weapon_specialcarbine"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_SPECIALCARBINE_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_SPECIALCARBINE_CLIP_02`, - }, - { - name = "clip_drum", - label = TranslateCap("component_clip_drum"), - hash = `COMPONENT_SPECIALCARBINE_CLIP_03`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_SPECIALCARBINE_VARMOD_LOWRIDER`, - }, - }, - }, - { - name = "WEAPON_SPECIALCARBINE_MK2", - label = TranslateCap("weapon_specialcarbine_mk2"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - 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`, - }, - { - name = "ammo_tracer", - label = TranslateCap("component_ammo_tracer"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_TRACER`, - }, - { - name = "ammo_incendiary", - label = TranslateCap("component_ammo_incendiary"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_INCENDIARY`, - }, - { - name = "ammo_armor", - label = TranslateCap("component_ammo_armor"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_ARMORPIERCING`, - }, - { - name = "ammo_fmj", - label = TranslateCap("component_ammo_fmj"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_FMJ`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, - { - name = "scope_small", - label = TranslateCap("component_scope_small"), - hash = `COMPONENT_AT_SCOPE_MACRO_MK2`, - }, - { - name = "scope_large", - label = TranslateCap("component_scope_large"), - hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`, - }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, - { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, - { - name = "muzzle_tactical", - label = TranslateCap("component_muzzle_tactical"), - hash = `COMPONENT_AT_MUZZLE_02`, - }, - { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, - { - name = "muzzle_precision", - label = TranslateCap("component_muzzle_precision"), - hash = `COMPONENT_AT_MUZZLE_04`, - }, - { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, - { - name = "muzzle_slanted", - label = TranslateCap("component_muzzle_slanted"), - hash = `COMPONENT_AT_MUZZLE_06`, - }, - { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP_02` }, - { - name = "barrel_default", - label = TranslateCap("component_barrel_default"), - hash = `COMPONENT_AT_SC_BARREL_01`, - }, - { - name = "barrel_heavy", - label = TranslateCap("component_barrel_heavy"), - hash = `COMPONENT_AT_SC_BARREL_02`, - }, - { - name = "camo_finish", - label = TranslateCap("component_camo_finish"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO`, - }, - { - name = "camo_finish2", - label = TranslateCap("component_camo_finish2"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_02`, - }, - { - name = "camo_finish3", - label = TranslateCap("component_camo_finish3"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_03`, - }, - { - name = "camo_finish4", - label = TranslateCap("component_camo_finish4"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_04`, - }, - { - name = "camo_finish5", - label = TranslateCap("component_camo_finish5"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_05`, - }, - { - name = "camo_finish6", - label = TranslateCap("component_camo_finish6"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_06`, - }, - { - name = "camo_finish7", - label = TranslateCap("component_camo_finish7"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_07`, - }, - { - name = "camo_finish8", - label = TranslateCap("component_camo_finish8"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_08`, - }, - { - name = "camo_finish9", - label = TranslateCap("component_camo_finish9"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_09`, - }, - { - name = "camo_finish10", - label = TranslateCap("component_camo_finish10"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_10`, - }, - { - name = "camo_finish11", - label = TranslateCap("component_camo_finish11"), - hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_IND_01`, - }, - }, - }, - { - name = "WEAPON_HEAVYRIFLE", - label = TranslateCap("weapon_heavyrifle"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_HEAVYRIFLE_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_HEAVYRIFLE_CLIP_02`, - }, - { - name = "scope_holo", - label = TranslateCap("component_scope_holo"), - hash = `COMPONENT_HEAVYRIFLE_SIGHT_01`, - }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, - }, - }, - -- Sniper - { - name = "WEAPON_HEAVYSNIPER", - label = TranslateCap("weapon_heavysniper"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, - tints = Config.DefaultWeaponTints, - components = { - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_LARGE` }, - { - name = "scope_advanced", - label = TranslateCap("component_scope_advanced"), - hash = `COMPONENT_AT_SCOPE_MAX`, - }, - }, - }, - { - name = "WEAPON_HEAVYSNIPER_MK2", - label = TranslateCap("weapon_heavysniper_mk2"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, - tints = Config.DefaultWeaponTints, - 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`, - }, - { - name = "ammo_incendiary", - label = TranslateCap("component_ammo_incendiary"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_INCENDIARY`, - }, - { - name = "ammo_armor", - label = TranslateCap("component_ammo_armor"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING`, - }, - { - name = "ammo_fmj", - label = TranslateCap("component_ammo_fmj"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_FMJ`, - }, - { - name = "ammo_explosive", - label = TranslateCap("component_ammo_explosive"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE`, - }, - { - name = "scope_zoom", - label = TranslateCap("component_scope_zoom"), - hash = `COMPONENT_AT_SCOPE_LARGE_MK2`, - }, - { - name = "scope_advanced", - label = TranslateCap("component_scope_advanced"), - hash = `COMPONENT_AT_SCOPE_MAX`, - }, - { - name = "scope_nightvision", - label = TranslateCap("component_scope_nightvision"), - hash = `COMPONENT_AT_SCOPE_NV`, - }, - { - name = "scope_thermal", - label = TranslateCap("component_scope_thermal"), - hash = `COMPONENT_AT_SCOPE_THERMAL`, - }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_SR_SUPP_03` }, - { - name = "muzzle_squared", - label = TranslateCap("component_muzzle_squared"), - hash = `COMPONENT_AT_MUZZLE_08`, - }, - { name = "muzzle_bell", label = TranslateCap("component_muzzle_bell"), hash = `COMPONENT_AT_MUZZLE_09` }, - { - name = "barrel_default", - label = TranslateCap("component_barrel_default"), - hash = `COMPONENT_AT_SR_BARREL_01`, - }, - { - name = "barrel_heavy", - label = TranslateCap("component_barrel_heavy"), - hash = `COMPONENT_AT_SR_BARREL_02`, - }, - { - name = "camo_finish", - label = TranslateCap("component_camo_finish"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO`, - }, - { - name = "camo_finish2", - label = TranslateCap("component_camo_finish2"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_02`, - }, - { - name = "camo_finish3", - label = TranslateCap("component_camo_finish3"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_03`, - }, - { - name = "camo_finish4", - label = TranslateCap("component_camo_finish4"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_04`, - }, - { - name = "camo_finish5", - label = TranslateCap("component_camo_finish5"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_05`, - }, - { - name = "camo_finish6", - label = TranslateCap("component_camo_finish6"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_06`, - }, - { - name = "camo_finish7", - label = TranslateCap("component_camo_finish7"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_07`, - }, - { - name = "camo_finish8", - label = TranslateCap("component_camo_finish8"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_08`, - }, - { - name = "camo_finish9", - label = TranslateCap("component_camo_finish9"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_09`, - }, - { - name = "camo_finish10", - label = TranslateCap("component_camo_finish10"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_10`, - }, - { - name = "camo_finish11", - label = TranslateCap("component_camo_finish11"), - hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_IND_01`, - }, - }, - }, - { - name = "WEAPON_MARKSMANRIFLE", - label = TranslateCap("weapon_marksmanrifle"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_MARKSMANRIFLE_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_MARKSMANRIFLE_CLIP_02`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_MARKSMANRIFLE_VARMOD_LUXE`, - }, - }, - }, - { - name = "WEAPON_MARKSMANRIFLE_MK2", - label = TranslateCap("weapon_marksmanrifle_mk2"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, - tints = Config.DefaultWeaponTints, - 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`, - }, - { - name = "ammo_tracer", - label = TranslateCap("component_ammo_tracer"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_TRACER`, - }, - { - name = "ammo_incendiary", - label = TranslateCap("component_ammo_incendiary"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_INCENDIARY`, - }, - { - name = "ammo_armor", - label = TranslateCap("component_ammo_armor"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_ARMORPIERCING`, - }, - { - name = "ammo_fmj", - label = TranslateCap("component_ammo_fmj"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_FMJ`, - }, - { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, - { - name = "scope_large", - label = TranslateCap("component_scope_large"), - hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2`, - }, - { - name = "scope_zoom", - label = TranslateCap("component_scope_zoom"), - hash = `COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM_MK2`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, - { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, - { - name = "muzzle_tactical", - label = TranslateCap("component_muzzle_tactical"), - hash = `COMPONENT_AT_MUZZLE_02`, - }, - { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, - { - name = "muzzle_precision", - label = TranslateCap("component_muzzle_precision"), - hash = `COMPONENT_AT_MUZZLE_04`, - }, - { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, - { - name = "muzzle_slanted", - label = TranslateCap("component_muzzle_slanted"), - hash = `COMPONENT_AT_MUZZLE_06`, - }, - { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, - { - name = "barrel_default", - label = TranslateCap("component_barrel_default"), - hash = `COMPONENT_AT_MRFL_BARREL_01`, - }, - { - name = "barrel_heavy", - label = TranslateCap("component_barrel_heavy"), - hash = `COMPONENT_AT_MRFL_BARREL_02`, - }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP_02` }, - { - name = "camo_finish", - label = TranslateCap("component_camo_finish"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO`, - }, - { - name = "camo_finish2", - label = TranslateCap("component_camo_finish2"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_02`, - }, - { - name = "camo_finish3", - label = TranslateCap("component_camo_finish3"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_03`, - }, - { - name = "camo_finish4", - label = TranslateCap("component_camo_finish4"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_04`, - }, - { - name = "camo_finish5", - label = TranslateCap("component_camo_finish5"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_05`, - }, - { - name = "camo_finish6", - label = TranslateCap("component_camo_finish6"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_06`, - }, - { - name = "camo_finish7", - label = TranslateCap("component_camo_finish7"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_07`, - }, - { - name = "camo_finish8", - label = TranslateCap("component_camo_finish8"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_08`, - }, - { - name = "camo_finish9", - label = TranslateCap("component_camo_finish9"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_09`, - }, - { - name = "camo_finish10", - label = TranslateCap("component_camo_finish10"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_10`, - }, - { - name = "camo_finish11", - label = TranslateCap("component_camo_finish11"), - hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_IND_01`, - }, - }, - }, - { - name = "WEAPON_SNIPERRIFLE", - label = TranslateCap("weapon_sniperrifle"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, - tints = Config.DefaultWeaponTints, - components = { - { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_LARGE` }, - { - name = "scope_advanced", - label = TranslateCap("component_scope_advanced"), - hash = `COMPONENT_AT_SCOPE_MAX`, - }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, - { - name = "luxary_finish", - label = TranslateCap("component_luxary_finish"), - hash = `COMPONENT_SNIPERRIFLE_VARMOD_LUXE`, - }, - }, - }, - -- Heavy / Launchers - { - name = "WEAPON_COMPACTLAUNCHER", - label = TranslateCap("weapon_compactlauncher"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_grenadelauncher"), hash = `AMMO_GRENADELAUNCHER` }, - }, - { - name = "WEAPON_FIREWORK", - label = TranslateCap("weapon_firework"), - components = {}, - ammo = { label = TranslateCap("ammo_firework"), hash = `AMMO_FIREWORK` }, - }, - { - name = "WEAPON_GRENADELAUNCHER", - label = TranslateCap("weapon_grenadelauncher"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_grenadelauncher"), hash = `AMMO_GRENADELAUNCHER` }, - }, - { - name = "WEAPON_HOMINGLAUNCHER", - label = TranslateCap("weapon_hominglauncher"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_rockets"), hash = `AMMO_HOMINGLAUNCHER` }, - }, - { - name = "WEAPON_MINIGUN", - label = TranslateCap("weapon_minigun"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_MINIGUN` }, - }, - { - name = "WEAPON_RAILGUN", - label = TranslateCap("weapon_railgun"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RAILGUN` }, - }, - { - name = "WEAPON_RPG", - label = TranslateCap("weapon_rpg"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_rockets"), hash = `AMMO_RPG` }, - }, - { - name = "WEAPON_RAYMINIGUN", - label = TranslateCap("weapon_rayminigun"), - tints = Config.DefaultWeaponTints, - components = {}, - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_MINIGUN` }, - }, - -- Thrown - { - name = "WEAPON_BALL", - label = TranslateCap("weapon_ball"), - components = {}, - ammo = { label = TranslateCap("ammo_ball"), hash = `AMMO_BALL` }, - }, - { - name = "WEAPON_BZGAS", - label = TranslateCap("weapon_bzgas"), - components = {}, - ammo = { label = TranslateCap("ammo_bzgas"), hash = `AMMO_BZGAS` }, - }, - { - name = "WEAPON_FLARE", - label = TranslateCap("weapon_flare"), - components = {}, - ammo = { label = TranslateCap("ammo_flare"), hash = `AMMO_FLARE` }, - }, - { - name = "WEAPON_GRENADE", - label = TranslateCap("weapon_grenade"), - components = {}, - ammo = { label = TranslateCap("ammo_grenade"), hash = `AMMO_GRENADE` }, - }, - { - name = "WEAPON_PETROLCAN", - label = TranslateCap("weapon_petrolcan"), - components = {}, - ammo = { label = TranslateCap("ammo_petrol"), hash = `AMMO_PETROLCAN` }, - }, - { - name = "WEAPON_HAZARDCAN", - label = TranslateCap("weapon_hazardcan"), - components = {}, - ammo = { label = TranslateCap("ammo_petrol"), hash = `AMMO_PETROLCAN` }, - }, - { - name = "WEAPON_MOLOTOV", - label = TranslateCap("weapon_molotov"), - components = {}, - ammo = { label = TranslateCap("ammo_molotov"), hash = `AMMO_MOLOTOV` }, - }, - { - name = "WEAPON_PROXMINE", - label = TranslateCap("weapon_proxmine"), - components = {}, - ammo = { label = TranslateCap("ammo_proxmine"), hash = `AMMO_PROXMINE` }, - }, - { - name = "WEAPON_PIPEBOMB", - label = TranslateCap("weapon_pipebomb"), - components = {}, - ammo = { label = TranslateCap("ammo_pipebomb"), hash = `AMMO_PIPEBOMB` }, - }, - { - name = "WEAPON_SNOWBALL", - label = TranslateCap("weapon_snowball"), - components = {}, - ammo = { label = TranslateCap("ammo_snowball"), hash = `AMMO_SNOWBALL` }, - }, - { - name = "WEAPON_STICKYBOMB", - label = TranslateCap("weapon_stickybomb"), - components = {}, - ammo = { label = TranslateCap("ammo_stickybomb"), hash = `AMMO_STICKYBOMB` }, - }, - { - name = "WEAPON_SMOKEGRENADE", - label = TranslateCap("weapon_smokegrenade"), - components = {}, - ammo = { label = TranslateCap("ammo_smokebomb"), hash = `AMMO_SMOKEGRENADE` }, - }, - -- Tools - { - name = "WEAPON_FIREEXTINGUISHER", - label = TranslateCap("weapon_fireextinguisher"), - components = {}, - ammo = { label = TranslateCap("ammo_charge"), hash = `AMMO_FIREEXTINGUISHER` }, - }, - { name = "WEAPON_DIGISCANNER", label = TranslateCap("weapon_digiscanner"), components = {} }, - { name = "GADGET_PARACHUTE", label = TranslateCap("gadget_parachute"), components = {} }, - { - name = "WEAPON_TACTICALRIFLE", - label = TranslateCap("weapon_tactilerifle"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_TACTICALRIFLE_CLIP_01`, - }, - { - name = "clip_extended", - label = TranslateCap("component_clip_extended"), - hash = `COMPONENT_TACTICALRIFLE_CLIP_02`, - }, - { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH_REH` }, - { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, - }, - }, - { - name = "WEAPON_PRECISIONRIFLE", - label = TranslateCap("weapon_precisionrifle"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_PRECISIONRIFLE_CLIP_01`, - }, - }, - }, - { name = "WEAPON_METALDETECTOR", label = TranslateCap("weapon_metaldetector"), components = {} }, - { - name = "WEAPON_PISTOLXM3", - label = TranslateCap("weapon_pistolxm3"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_PISTOLXM3_CLIP_01`, - }, - { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_PISTOLXM3_SUPP` }, - }, - }, - { name = "WEAPON_ACIDPACKAGE", label = TranslateCap("weapon_acidpackage"), components = {} }, - { name = "WEAPON_CANDYCANE", label = TranslateCap("weapon_candycane"), components = {} }, - { - name = "WEAPON_RAILGUNXM3", - label = TranslateCap("weapon_railgunxm3"), - ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RAILGUN` }, - tints = Config.DefaultWeaponTints, - components = { - { - name = "clip_default", - label = TranslateCap("component_clip_default"), - hash = `COMPONENT_RAILGUNXM3_CLIP_01`, - }, - }, - }, + -- Melee + { name = "WEAPON_DAGGER", label = TranslateCap("weapon_dagger"), components = {} }, + { name = "WEAPON_BAT", label = TranslateCap("weapon_bat"), components = {} }, + { name = "WEAPON_BATTLEAXE", label = TranslateCap("weapon_battleaxe"), components = {} }, + { + name = "WEAPON_KNUCKLE", + label = TranslateCap("weapon_knuckle"), + components = { + { name = "knuckle_base", label = TranslateCap("component_knuckle_base"), hash = `COMPONENT_KNUCKLE_VARMOD_BASE` }, + { name = "knuckle_pimp", label = TranslateCap("component_knuckle_pimp"), hash = `COMPONENT_KNUCKLE_VARMOD_PIMP` }, + { name = "knuckle_ballas", label = TranslateCap("component_knuckle_ballas"), hash = `COMPONENT_KNUCKLE_VARMOD_BALLAS` }, + { name = "knuckle_dollar", label = TranslateCap("component_knuckle_dollar"), hash = `COMPONENT_KNUCKLE_VARMOD_DOLLAR` }, + { name = "knuckle_diamond", label = TranslateCap("component_knuckle_diamond"), hash = `COMPONENT_KNUCKLE_VARMOD_DIAMOND` }, + { name = "knuckle_hate", label = TranslateCap("component_knuckle_hate"), hash = `COMPONENT_KNUCKLE_VARMOD_HATE` }, + { name = "knuckle_love", label = TranslateCap("component_knuckle_love"), hash = `COMPONENT_KNUCKLE_VARMOD_LOVE` }, + { name = "knuckle_player", label = TranslateCap("component_knuckle_player"), hash = `COMPONENT_KNUCKLE_VARMOD_PLAYER` }, + { name = "knuckle_king", label = TranslateCap("component_knuckle_king"), hash = `COMPONENT_KNUCKLE_VARMOD_KING` }, + { name = "knuckle_vagos", label = TranslateCap("component_knuckle_vagos"), hash = `COMPONENT_KNUCKLE_VARMOD_VAGOS` }, + }, + }, + { name = "WEAPON_BOTTLE", label = TranslateCap("weapon_bottle"), components = {} }, + { name = "WEAPON_CROWBAR", label = TranslateCap("weapon_crowbar"), components = {} }, + { name = "WEAPON_FLASHLIGHT", label = TranslateCap("weapon_flashlight"), components = {} }, + { name = "WEAPON_GOLFCLUB", label = TranslateCap("weapon_golfclub"), components = {} }, + { name = "WEAPON_HAMMER", label = TranslateCap("weapon_hammer"), components = {} }, + { name = "WEAPON_HATCHET", label = TranslateCap("weapon_hatchet"), components = {} }, + { name = "WEAPON_KNIFE", label = TranslateCap("weapon_knife"), components = {} }, + { name = "WEAPON_MACHETE", label = TranslateCap("weapon_machete"), components = {} }, + { name = "WEAPON_NIGHTSTICK", label = TranslateCap("weapon_nightstick"), components = {} }, + { name = "WEAPON_WRENCH", label = TranslateCap("weapon_wrench"), components = {} }, + { name = "WEAPON_POOLCUE", label = TranslateCap("weapon_poolcue"), components = {} }, + { name = "WEAPON_STONE_HATCHET", label = TranslateCap("weapon_stone_hatchet"), components = {} }, + { + name = "WEAPON_SWITCHBLADE", + label = TranslateCap("weapon_switchblade"), + components = { + { name = "handle_default", label = TranslateCap("component_handle_default"), hash = `COMPONENT_SWITCHBLADE_VARMOD_BASE` }, + { name = "handle_vip", label = TranslateCap("component_handle_vip"), hash = `COMPONENT_SWITCHBLADE_VARMOD_VAR1` }, + { name = "handle_bodyguard", label = TranslateCap("component_handle_bodyguard"), hash = `COMPONENT_SWITCHBLADE_VARMOD_VAR2` }, + }, + }, + -- Handguns + { + name = "WEAPON_APPISTOL", + label = TranslateCap("weapon_appistol"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_APPISTOL_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_APPISTOL_CLIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_APPISTOL_VARMOD_LUXE` }, + }, + }, + { name = "WEAPON_CERAMICPISTOL", label = TranslateCap("weapon_ceramicpistol"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` } }, + { + name = "WEAPON_COMBATPISTOL", + label = TranslateCap("weapon_combatpistol"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_COMBATPISTOL_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_COMBATPISTOL_CLIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_COMBATPISTOL_VARMOD_LOWRIDER` }, + }, + }, + { name = "WEAPON_DOUBLEACTION", label = TranslateCap("weapon_doubleaction"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` } }, + { name = "WEAPON_NAVYREVOLVER", label = TranslateCap("weapon_navyrevolver"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` } }, + { name = "WEAPON_FLAREGUN", label = TranslateCap("weapon_flaregun"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_flaregun"), hash = `AMMO_FLAREGUN` } }, + { name = "WEAPON_GADGETPISTOL", label = TranslateCap("weapon_gadgetpistol"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` } }, + { + name = "WEAPON_HEAVYPISTOL", + label = TranslateCap("weapon_heavypistol"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_HEAVYPISTOL_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_HEAVYPISTOL_CLIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_HEAVYPISTOL_VARMOD_LUXE` }, + }, + }, + { + name = "WEAPON_REVOLVER", + label = TranslateCap("weapon_revolver"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_REVOLVER_CLIP_01` }, + { name = "vip_finish", label = TranslateCap("component_vip_finish"), hash = `COMPONENT_REVOLVER_VARMOD_BOSS` }, + { name = "bodyguard_finish", label = TranslateCap("component_bodyguard_finish"), hash = `COMPONENT_REVOLVER_VARMOD_GOON` }, + }, + }, + { + name = "WEAPON_REVOLVER_MK2", + label = TranslateCap("weapon_revolver_mk2"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + 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` }, + { name = "ammo_incendiary", label = TranslateCap("component_ammo_incendiary"), hash = `COMPONENT_REVOLVER_MK2_CLIP_INCENDIARY` }, + { name = "ammo_hollowpoint", label = TranslateCap("component_ammo_hollowpoint"), hash = `COMPONENT_REVOLVER_MK2_CLIP_HOLLOWPOINT` }, + { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_REVOLVER_MK2_CLIP_FMJ` }, + { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, + { name = "scope_small", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, + { name = "compensator", label = TranslateCap("component_compensator"), hash = `COMPONENT_AT_PI_COMP_03` }, + { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_REVOLVER_MK2_CAMO` }, + { name = "camo_finish2", label = TranslateCap("component_camo_finish2"), hash = `COMPONENT_REVOLVER_MK2_CAMO_02` }, + { name = "camo_finish3", label = TranslateCap("component_camo_finish3"), hash = `COMPONENT_REVOLVER_MK2_CAMO_03` }, + { name = "camo_finish4", label = TranslateCap("component_camo_finish4"), hash = `COMPONENT_REVOLVER_MK2_CAMO_04` }, + { name = "camo_finish5", label = TranslateCap("component_camo_finish5"), hash = `COMPONENT_REVOLVER_MK2_CAMO_05` }, + { name = "camo_finish6", label = TranslateCap("component_camo_finish6"), hash = `COMPONENT_REVOLVER_MK2_CAMO_06` }, + { name = "camo_finish7", label = TranslateCap("component_camo_finish7"), hash = `COMPONENT_REVOLVER_MK2_CAMO_07` }, + { name = "camo_finish8", label = TranslateCap("component_camo_finish8"), hash = `COMPONENT_REVOLVER_MK2_CAMO_08` }, + { name = "camo_finish9", label = TranslateCap("component_camo_finish9"), hash = `COMPONENT_REVOLVER_MK2_CAMO_09` }, + { name = "camo_finish10", label = TranslateCap("component_camo_finish10"), hash = `COMPONENT_REVOLVER_MK2_CAMO_10` }, + { name = "camo_finish11", label = TranslateCap("component_camo_finish11"), hash = `COMPONENT_REVOLVER_MK2_CAMO_IND_01` }, + }, + }, + { name = "WEAPON_MARKSMANPISTOL", label = TranslateCap("weapon_marksmanpistol"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` } }, + { + name = "WEAPON_PISTOL", + label = TranslateCap("weapon_pistol"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_PISTOL_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_PISTOL_CLIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP_02` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_PISTOL_VARMOD_LUXE` }, + }, + }, + { + name = "WEAPON_PISTOL_MK2", + label = TranslateCap("weapon_pistol_mk2"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + 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` }, + { name = "ammo_tracer", label = TranslateCap("component_ammo_tracer"), hash = `COMPONENT_PISTOL_MK2_CLIP_TRACER` }, + { name = "ammo_incendiary", label = TranslateCap("component_ammo_incendiary"), hash = `COMPONENT_PISTOL_MK2_CLIP_INCENDIARY` }, + { name = "ammo_hollowpoint", label = TranslateCap("component_ammo_hollowpoint"), hash = `COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT` }, + { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_PISTOL_MK2_CLIP_FMJ` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_PI_RAIL` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH_02` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP_02` }, + { name = "compensator", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_COMP` }, + { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_PISTOL_MK2_CAMO` }, + { name = "camo_finish2", label = TranslateCap("component_camo_finish2"), hash = `COMPONENT_PISTOL_MK2_CAMO_02` }, + { name = "camo_finish3", label = TranslateCap("component_camo_finish3"), hash = `COMPONENT_PISTOL_MK2_CAMO_03` }, + { name = "camo_finish4", label = TranslateCap("component_camo_finish4"), hash = `COMPONENT_PISTOL_MK2_CAMO_04` }, + { name = "camo_finish5", label = TranslateCap("component_camo_finish5"), hash = `COMPONENT_PISTOL_MK2_CAMO_05` }, + { name = "camo_finish6", label = TranslateCap("component_camo_finish6"), hash = `COMPONENT_PISTOL_MK2_CAMO_06` }, + { name = "camo_finish7", label = TranslateCap("component_camo_finish7"), hash = `COMPONENT_PISTOL_MK2_CAMO_07` }, + { name = "camo_finish8", label = TranslateCap("component_camo_finish8"), hash = `COMPONENT_PISTOL_MK2_CAMO_08` }, + { name = "camo_finish9", label = TranslateCap("component_camo_finish9"), hash = `COMPONENT_PISTOL_MK2_CAMO_09` }, + { name = "camo_finish10", label = TranslateCap("component_camo_finish10"), hash = `COMPONENT_PISTOL_MK2_CAMO_10` }, + { name = "camo_finish11", label = TranslateCap("component_camo_finish11"), hash = `COMPONENT_PISTOL_MK2_CAMO_IND_01` }, + { name = "camo_slide_finish", label = TranslateCap("component_camo_slide_finish"), hash = `COMPONENT_PISTOL_MK2_CAMO_SLIDE` }, + { name = "camo_slide_finish2", label = TranslateCap("component_camo_slide_finish2"), hash = `COMPONENT_PISTOL_MK2_CAMO_02_SLIDE` }, + { name = "camo_slide_finish3", label = TranslateCap("component_camo_slide_finish3"), hash = `COMPONENT_PISTOL_MK2_CAMO_03_SLIDE` }, + { name = "camo_slide_finish4", label = TranslateCap("component_camo_slide_finish4"), hash = `COMPONENT_PISTOL_MK2_CAMO_04_SLIDE` }, + { name = "camo_slide_finish5", label = TranslateCap("component_camo_slide_finish5"), hash = `COMPONENT_PISTOL_MK2_CAMO_05_SLIDE` }, + { name = "camo_slide_finish6", label = TranslateCap("component_camo_slide_finish6"), hash = `COMPONENT_PISTOL_MK2_CAMO_06_SLIDE` }, + { name = "camo_slide_finish7", label = TranslateCap("component_camo_slide_finish7"), hash = `COMPONENT_PISTOL_MK2_CAMO_07_SLIDE` }, + { name = "camo_slide_finish8", label = TranslateCap("component_camo_slide_finish8"), hash = `COMPONENT_PISTOL_MK2_CAMO_08_SLIDE` }, + { name = "camo_slide_finish9", label = TranslateCap("component_camo_slide_finish9"), hash = `COMPONENT_PISTOL_MK2_CAMO_09_SLIDE` }, + { name = "camo_slide_finish10", label = TranslateCap("component_camo_slide_finish10"), hash = `COMPONENT_PISTOL_MK2_CAMO_10_SLIDE` }, + { name = "camo_slide_finish11", label = TranslateCap("component_camo_slide_finish11"), hash = `COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE` }, + }, + }, + { + name = "WEAPON_PISTOL50", + label = TranslateCap("weapon_pistol50"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_PISTOL50_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_PISTOL50_CLIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_PISTOL50_VARMOD_LUXE` }, + }, + }, + { + name = "WEAPON_SNSPISTOL", + label = TranslateCap("weapon_snspistol"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_SNSPISTOL_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_SNSPISTOL_CLIP_02` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_SNSPISTOL_VARMOD_LOWRIDER` }, + }, + }, + { + name = "WEAPON_SNSPISTOL_MK2", + label = TranslateCap("weapon_snspistol_mk2"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + 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` }, + { name = "ammo_tracer", label = TranslateCap("component_ammo_tracer"), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_TRACER` }, + { name = "ammo_incendiary", label = TranslateCap("component_ammo_incendiary"), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_INCENDIARY` }, + { name = "ammo_hollowpoint", label = TranslateCap("component_ammo_hollowpoint"), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_HOLLOWPOINT` }, + { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_SNSPISTOL_MK2_CLIP_FMJ` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_PI_RAIL_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH_03` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP_02` }, + { name = "compensator", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_COMP_02` }, + { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO` }, + { name = "camo_finish2", label = TranslateCap("component_camo_finish2"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_02` }, + { name = "camo_finish3", label = TranslateCap("component_camo_finish3"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_03` }, + { name = "camo_finish4", label = TranslateCap("component_camo_finish4"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_04` }, + { name = "camo_finish5", label = TranslateCap("component_camo_finish5"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_05` }, + { name = "camo_finish6", label = TranslateCap("component_camo_finish6"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_06` }, + { name = "camo_finish7", label = TranslateCap("component_camo_finish7"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_07` }, + { name = "camo_finish8", label = TranslateCap("component_camo_finish8"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_08` }, + { name = "camo_finish9", label = TranslateCap("component_camo_finish9"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_09` }, + { name = "camo_finish10", label = TranslateCap("component_camo_finish10"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_10` }, + { name = "camo_finish11", label = TranslateCap("component_camo_finish11"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_IND_01` }, + { name = "camo_slide_finish", label = TranslateCap("component_camo_slide_finish"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_SLIDE` }, + { name = "camo_slide_finish2", label = TranslateCap("component_camo_slide_finish2"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_02_SLIDE` }, + { name = "camo_slide_finish3", label = TranslateCap("component_camo_slide_finish3"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_03_SLIDE` }, + { name = "camo_slide_finish4", label = TranslateCap("component_camo_slide_finish4"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_04_SLIDE` }, + { name = "camo_slide_finish5", label = TranslateCap("component_camo_slide_finish5"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_05_SLIDE` }, + { name = "camo_slide_finish6", label = TranslateCap("component_camo_slide_finish6"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_06_SLIDE` }, + { name = "camo_slide_finish7", label = TranslateCap("component_camo_slide_finish7"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_07_SLIDE` }, + { name = "camo_slide_finish8", label = TranslateCap("component_camo_slide_finish8"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_08_SLIDE` }, + { name = "camo_slide_finish9", label = TranslateCap("component_camo_slide_finish9"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_09_SLIDE` }, + { name = "camo_slide_finish10", label = TranslateCap("component_camo_slide_finish10"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_10_SLIDE` }, + { name = "camo_slide_finish11", label = TranslateCap("component_camo_slide_finish11"), hash = `COMPONENT_SNSPISTOL_MK2_CAMO_IND_01_SLIDE` }, + }, + }, + { name = "WEAPON_STUNGUN", label = TranslateCap("weapon_stungun"), tints = Config.DefaultWeaponTints, components = {} }, + { name = "WEAPON_RAYPISTOL", label = TranslateCap("weapon_raypistol"), tints = Config.DefaultWeaponTints, components = {} }, + { + name = "WEAPON_VINTAGEPISTOL", + label = TranslateCap("weapon_vintagepistol"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_VINTAGEPISTOL_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_VINTAGEPISTOL_CLIP_02` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, + }, + }, + -- Shotguns + { + name = "WEAPON_ASSAULTSHOTGUN", + label = TranslateCap("weapon_assaultshotgun"), + ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_ASSAULTSHOTGUN_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_ASSAULTSHOTGUN_CLIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, + }, + }, + { name = "WEAPON_AUTOSHOTGUN", label = TranslateCap("weapon_autoshotgun"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` } }, + { + name = "WEAPON_BULLPUPSHOTGUN", + label = TranslateCap("weapon_bullpupshotgun"), + ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, + }, + }, + { + name = "WEAPON_COMBATSHOTGUN", + label = TranslateCap("weapon_combatshotgun"), + ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, + }, + }, + { name = "WEAPON_DBSHOTGUN", label = TranslateCap("weapon_dbshotgun"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` } }, + { + name = "WEAPON_HEAVYSHOTGUN", + label = TranslateCap("weapon_heavyshotgun"), + ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_02` }, + { name = "clip_drum", label = TranslateCap("component_clip_drum"), hash = `COMPONENT_HEAVYSHOTGUN_CLIP_03` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, + }, + }, + { name = "WEAPON_MUSKET", label = TranslateCap("weapon_musket"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SHOTGUN` } }, + { + name = "WEAPON_PUMPSHOTGUN", + label = TranslateCap("weapon_pumpshotgun"), + ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_SR_SUPP` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_PUMPSHOTGUN_VARMOD_LOWRIDER` }, + }, + }, + { + name = "WEAPON_PUMPSHOTGUN_MK2", + label = TranslateCap("weapon_pumpshotgun_mk2"), + ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, + tints = Config.DefaultWeaponTints, + 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` }, + { name = "shells_armor", label = TranslateCap("component_shells_armor"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_ARMORPIERCING` }, + { name = "shells_hollowpoint", label = TranslateCap("component_shells_hollowpoint"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_HOLLOWPOINT` }, + { name = "shells_explosive", label = TranslateCap("component_shells_explosive"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CLIP_EXPLOSIVE` }, + { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, + { name = "scope_small", label = TranslateCap("component_scope_small"), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, + { name = "scope_medium", label = TranslateCap("component_scope_medium"), hash = `COMPONENT_AT_SCOPE_SMALL_MK2` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_SR_SUPP_03` }, + { name = "muzzle_squared", label = TranslateCap("component_muzzle_squared"), hash = `COMPONENT_AT_MUZZLE_08` }, + { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO` }, + { name = "camo_finish2", label = TranslateCap("component_camo_finish2"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_02` }, + { name = "camo_finish3", label = TranslateCap("component_camo_finish3"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_03` }, + { name = "camo_finish4", label = TranslateCap("component_camo_finish4"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_04` }, + { name = "camo_finish5", label = TranslateCap("component_camo_finish5"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_05` }, + { name = "camo_finish6", label = TranslateCap("component_camo_finish6"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_06` }, + { name = "camo_finish7", label = TranslateCap("component_camo_finish7"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_07` }, + { name = "camo_finish8", label = TranslateCap("component_camo_finish8"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_08` }, + { name = "camo_finish9", label = TranslateCap("component_camo_finish9"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_09` }, + { name = "camo_finish10", label = TranslateCap("component_camo_finish10"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_10` }, + { name = "camo_finish11", label = TranslateCap("component_camo_finish11"), hash = `COMPONENT_PUMPSHOTGUN_MK2_CAMO_IND_01` }, + }, + }, + { + name = "WEAPON_SAWNOFFSHOTGUN", + label = TranslateCap("weapon_sawnoffshotgun"), + ammo = { label = TranslateCap("ammo_shells"), hash = `AMMO_SHOTGUN` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_SAWNOFFSHOTGUN_VARMOD_LUXE` }, + }, + }, + -- SMG & LMG + { + name = "WEAPON_ASSAULTSMG", + label = TranslateCap("weapon_assaultsmg"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_ASSAULTSMG_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_ASSAULTSMG_CLIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MACRO` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_ASSAULTSMG_VARMOD_LOWRIDER` }, + }, + }, + { + name = "WEAPON_COMBATMG", + label = TranslateCap("weapon_combatmg"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_MG` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_COMBATMG_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_COMBATMG_CLIP_02` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_COMBATMG_VARMOD_LOWRIDER` }, + }, + }, + { + name = "WEAPON_COMBATMG_MK2", + label = TranslateCap("weapon_combatmg_mk2"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_MG` }, + tints = Config.DefaultWeaponTints, + 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` }, + { name = "ammo_tracer", label = TranslateCap("component_ammo_tracer"), hash = `COMPONENT_COMBATMG_MK2_CLIP_TRACER` }, + { name = "ammo_incendiary", label = TranslateCap("component_ammo_incendiary"), hash = `COMPONENT_COMBATMG_MK2_CLIP_INCENDIARY` }, + { name = "ammo_hollowpoint", label = TranslateCap("component_ammo_hollowpoint"), hash = `COMPONENT_COMBATMG_MK2_CLIP_ARMORPIERCING` }, + { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_COMBATMG_MK2_CLIP_FMJ` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP_02` }, + { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, + { name = "scope_medium", label = TranslateCap("component_scope_medium"), hash = `COMPONENT_AT_SCOPE_SMALL_MK2` }, + { name = "scope_large", label = TranslateCap("component_scope_large"), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, + { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = "muzzle_tactical", label = TranslateCap("component_muzzle_tactical"), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = "muzzle_precision", label = TranslateCap("component_muzzle_precision"), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = "muzzle_slanted", label = TranslateCap("component_muzzle_slanted"), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = "barrel_default", label = TranslateCap("component_barrel_default"), hash = `COMPONENT_AT_MG_BARREL_01` }, + { name = "barrel_heavy", label = TranslateCap("component_barrel_heavy"), hash = `COMPONENT_AT_MG_BARREL_02` }, + { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_COMBATMG_MK2_CAMO` }, + { name = "camo_finish2", label = TranslateCap("component_camo_finish2"), hash = `COMPONENT_COMBATMG_MK2_CAMO_02` }, + { name = "camo_finish3", label = TranslateCap("component_camo_finish3"), hash = `COMPONENT_COMBATMG_MK2_CAMO_03` }, + { name = "camo_finish4", label = TranslateCap("component_camo_finish4"), hash = `COMPONENT_COMBATMG_MK2_CAMO_04` }, + { name = "camo_finish5", label = TranslateCap("component_camo_finish5"), hash = `COMPONENT_COMBATMG_MK2_CAMO_05` }, + { name = "camo_finish6", label = TranslateCap("component_camo_finish6"), hash = `COMPONENT_COMBATMG_MK2_CAMO_06` }, + { name = "camo_finish7", label = TranslateCap("component_camo_finish7"), hash = `COMPONENT_COMBATMG_MK2_CAMO_07` }, + { name = "camo_finish8", label = TranslateCap("component_camo_finish8"), hash = `COMPONENT_COMBATMG_MK2_CAMO_08` }, + { name = "camo_finish9", label = TranslateCap("component_camo_finish9"), hash = `COMPONENT_COMBATMG_MK2_CAMO_09` }, + { name = "camo_finish10", label = TranslateCap("component_camo_finish10"), hash = `COMPONENT_COMBATMG_MK2_CAMO_10` }, + { name = "camo_finish11", label = TranslateCap("component_camo_finish11"), hash = `COMPONENT_COMBATMG_MK2_CAMO_IND_01` }, + }, + }, + { + name = "WEAPON_COMBATPDW", + label = TranslateCap("weapon_combatpdw"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_COMBATPDW_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_COMBATPDW_CLIP_02` }, + { name = "clip_drum", label = TranslateCap("component_clip_drum"), hash = `COMPONENT_COMBATPDW_CLIP_03` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_SMALL` }, + }, + }, + { + name = "WEAPON_GUSENBERG", + label = TranslateCap("weapon_gusenberg"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_MG` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_GUSENBERG_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_GUSENBERG_CLIP_02` }, + }, + }, + { + name = "WEAPON_MACHINEPISTOL", + label = TranslateCap("weapon_machinepistol"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_MACHINEPISTOL_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_MACHINEPISTOL_CLIP_02` }, + { name = "clip_drum", label = TranslateCap("component_clip_drum"), hash = `COMPONENT_MACHINEPISTOL_CLIP_03` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, + }, + }, + { + name = "WEAPON_MG", + label = TranslateCap("weapon_mg"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_MG` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_MG_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_MG_CLIP_02` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_SMALL_02` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_MG_VARMOD_LOWRIDER` }, + }, + }, + { + name = "WEAPON_MICROSMG", + label = TranslateCap("weapon_microsmg"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_MICROSMG_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_MICROSMG_CLIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_PI_FLSH` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MACRO` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_MICROSMG_VARMOD_LUXE` }, + }, + }, + { + name = "WEAPON_MINISMG", + label = TranslateCap("weapon_minismg"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_MINISMG_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_MINISMG_CLIP_02` }, + }, + }, + { + name = "WEAPON_SMG", + label = TranslateCap("weapon_smg"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_SMG_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_SMG_CLIP_02` }, + { name = "clip_drum", label = TranslateCap("component_clip_drum"), hash = `COMPONENT_SMG_CLIP_03` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MACRO_02` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_SMG_VARMOD_LUXE` }, + }, + }, + { + name = "WEAPON_SMG_MK2", + label = TranslateCap("weapon_smg_mk2"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, + tints = Config.DefaultWeaponTints, + 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` }, + { name = "ammo_tracer", label = TranslateCap("component_ammo_tracer"), hash = `COMPONENT_SMG_MK2_CLIP_TRACER` }, + { name = "ammo_incendiary", label = TranslateCap("component_ammo_incendiary"), hash = `COMPONENT_SMG_MK2_CLIP_INCENDIARY` }, + { name = "ammo_hollowpoint", label = TranslateCap("component_ammo_hollowpoint"), hash = `COMPONENT_SMG_MK2_CLIP_HOLLOWPOINT` }, + { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_SMG_MK2_CLIP_FMJ` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS_SMG` }, + { name = "scope_small", label = TranslateCap("component_scope_small"), hash = `COMPONENT_AT_SCOPE_MACRO_02_SMG_MK2` }, + { name = "scope_medium", label = TranslateCap("component_scope_medium"), hash = `COMPONENT_AT_SCOPE_SMALL_SMG_MK2` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_PI_SUPP` }, + { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = "muzzle_tactical", label = TranslateCap("component_muzzle_tactical"), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = "muzzle_precision", label = TranslateCap("component_muzzle_precision"), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = "muzzle_slanted", label = TranslateCap("component_muzzle_slanted"), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = "barrel_default", label = TranslateCap("component_barrel_default"), hash = `COMPONENT_AT_SB_BARREL_01` }, + { name = "barrel_heavy", label = TranslateCap("component_barrel_heavy"), hash = `COMPONENT_AT_SB_BARREL_02` }, + { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_SMG_MK2_CAMO` }, + { name = "camo_finish2", label = TranslateCap("component_camo_finish2"), hash = `COMPONENT_SMG_MK2_CAMO_02` }, + { name = "camo_finish3", label = TranslateCap("component_camo_finish3"), hash = `COMPONENT_SMG_MK2_CAMO_03` }, + { name = "camo_finish4", label = TranslateCap("component_camo_finish4"), hash = `COMPONENT_SMG_MK2_CAMO_04` }, + { name = "camo_finish5", label = TranslateCap("component_camo_finish5"), hash = `COMPONENT_SMG_MK2_CAMO_05` }, + { name = "camo_finish6", label = TranslateCap("component_camo_finish6"), hash = `COMPONENT_SMG_MK2_CAMO_06` }, + { name = "camo_finish7", label = TranslateCap("component_camo_finish7"), hash = `COMPONENT_SMG_MK2_CAMO_07` }, + { name = "camo_finish8", label = TranslateCap("component_camo_finish8"), hash = `COMPONENT_SMG_MK2_CAMO_08` }, + { name = "camo_finish9", label = TranslateCap("component_camo_finish9"), hash = `COMPONENT_SMG_MK2_CAMO_09` }, + { name = "camo_finish10", label = TranslateCap("component_camo_finish10"), hash = `COMPONENT_SMG_MK2_CAMO_10` }, + { name = "camo_finish11", label = TranslateCap("component_camo_finish11"), hash = `COMPONENT_SMG_MK2_CAMO_IND_01` }, + }, + }, + { name = "WEAPON_RAYCARBINE", label = TranslateCap("weapon_raycarbine"), ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SMG` }, tints = Config.DefaultWeaponTints, components = {} }, + -- Rifles + { + name = "WEAPON_ADVANCEDRIFLE", + label = TranslateCap("weapon_advancedrifle"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_ADVANCEDRIFLE_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_ADVANCEDRIFLE_CLIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_SMALL` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_ADVANCEDRIFLE_VARMOD_LUXE` }, + }, + }, + { + name = "WEAPON_ASSAULTRIFLE", + label = TranslateCap("weapon_assaultrifle"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_ASSAULTRIFLE_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_ASSAULTRIFLE_CLIP_02` }, + { name = "clip_drum", label = TranslateCap("component_clip_drum"), hash = `COMPONENT_ASSAULTRIFLE_CLIP_03` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MACRO` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_ASSAULTRIFLE_VARMOD_LUXE` }, + }, + }, + { + name = "WEAPON_ASSAULTRIFLE_MK2", + label = TranslateCap("weapon_assaultrifle_mk2"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + 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` }, + { name = "ammo_tracer", label = TranslateCap("component_ammo_tracer"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_TRACER` }, + { name = "ammo_incendiary", label = TranslateCap("component_ammo_incendiary"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_INCENDIARY` }, + { name = "ammo_armor", label = TranslateCap("component_ammo_armor"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING` }, + { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CLIP_FMJ` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, + { name = "scope_small", label = TranslateCap("component_scope_small"), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, + { name = "scope_large", label = TranslateCap("component_scope_large"), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = "muzzle_tactical", label = TranslateCap("component_muzzle_tactical"), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = "muzzle_precision", label = TranslateCap("component_muzzle_precision"), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = "muzzle_slanted", label = TranslateCap("component_muzzle_slanted"), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = "barrel_default", label = TranslateCap("component_barrel_default"), hash = `COMPONENT_AT_AR_BARREL_01` }, + { name = "barrel_heavy", label = TranslateCap("component_barrel_heavy"), hash = `COMPONENT_AT_AR_BARREL_02` }, + { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO` }, + { name = "camo_finish2", label = TranslateCap("component_camo_finish2"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_02` }, + { name = "camo_finish3", label = TranslateCap("component_camo_finish3"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_03` }, + { name = "camo_finish4", label = TranslateCap("component_camo_finish4"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_04` }, + { name = "camo_finish5", label = TranslateCap("component_camo_finish5"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_05` }, + { name = "camo_finish6", label = TranslateCap("component_camo_finish6"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_06` }, + { name = "camo_finish7", label = TranslateCap("component_camo_finish7"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_07` }, + { name = "camo_finish8", label = TranslateCap("component_camo_finish8"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_08` }, + { name = "camo_finish9", label = TranslateCap("component_camo_finish9"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_09` }, + { name = "camo_finish10", label = TranslateCap("component_camo_finish10"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_10` }, + { name = "camo_finish11", label = TranslateCap("component_camo_finish11"), hash = `COMPONENT_ASSAULTRIFLE_MK2_CAMO_IND_01` }, + }, + }, + { + name = "WEAPON_BULLPUPRIFLE", + label = TranslateCap("weapon_bullpuprifle"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_BULLPUPRIFLE_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_BULLPUPRIFLE_CLIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_SMALL` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_BULLPUPRIFLE_VARMOD_LOW` }, + }, + }, + { + name = "WEAPON_BULLPUPRIFLE_MK2", + label = TranslateCap("weapon_bullpuprifle_mk2"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + 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` }, + { name = "ammo_tracer", label = TranslateCap("component_ammo_tracer"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_TRACER` }, + { name = "ammo_incendiary", label = TranslateCap("component_ammo_incendiary"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_INCENDIARY` }, + { name = "ammo_armor", label = TranslateCap("component_ammo_armor"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_ARMORPIERCING` }, + { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CLIP_FMJ` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, + { name = "scope_small", label = TranslateCap("component_scope_small"), hash = `COMPONENT_AT_SCOPE_MACRO_02_MK2` }, + { name = "scope_medium", label = TranslateCap("component_scope_medium"), hash = `COMPONENT_AT_SCOPE_SMALL_MK2` }, + { name = "barrel_default", label = TranslateCap("component_barrel_default"), hash = `COMPONENT_AT_BP_BARREL_01` }, + { name = "barrel_heavy", label = TranslateCap("component_barrel_heavy"), hash = `COMPONENT_AT_BP_BARREL_02` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, + { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = "muzzle_tactical", label = TranslateCap("component_muzzle_tactical"), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = "muzzle_precision", label = TranslateCap("component_muzzle_precision"), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = "muzzle_slanted", label = TranslateCap("component_muzzle_slanted"), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP_02` }, + { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO` }, + { name = "camo_finish2", label = TranslateCap("component_camo_finish2"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_02` }, + { name = "camo_finish3", label = TranslateCap("component_camo_finish3"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_03` }, + { name = "camo_finish4", label = TranslateCap("component_camo_finish4"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_04` }, + { name = "camo_finish5", label = TranslateCap("component_camo_finish5"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_05` }, + { name = "camo_finish6", label = TranslateCap("component_camo_finish6"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_06` }, + { name = "camo_finish7", label = TranslateCap("component_camo_finish7"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_07` }, + { name = "camo_finish8", label = TranslateCap("component_camo_finish8"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_08` }, + { name = "camo_finish9", label = TranslateCap("component_camo_finish9"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_09` }, + { name = "camo_finish10", label = TranslateCap("component_camo_finish10"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_10` }, + { name = "camo_finish11", label = TranslateCap("component_camo_finish11"), hash = `COMPONENT_BULLPUPRIFLE_MK2_CAMO_IND_01` }, + }, + }, + { + name = "WEAPON_CARBINERIFLE", + label = TranslateCap("weapon_carbinerifle"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_CARBINERIFLE_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_CARBINERIFLE_CLIP_02` }, + { name = "clip_box", label = TranslateCap("component_clip_box"), hash = `COMPONENT_CARBINERIFLE_CLIP_03` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_CARBINERIFLE_VARMOD_LUXE` }, + }, + }, + { + name = "WEAPON_CARBINERIFLE_MK2", + label = TranslateCap("weapon_carbinerifle_mk2"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + 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` }, + { name = "ammo_tracer", label = TranslateCap("component_ammo_tracer"), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_TRACER` }, + { name = "ammo_incendiary", label = TranslateCap("component_ammo_incendiary"), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_INCENDIARY` }, + { name = "ammo_armor", label = TranslateCap("component_ammo_armor"), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_ARMORPIERCING` }, + { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_CARBINERIFLE_MK2_CLIP_FMJ` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, + { name = "scope_medium", label = TranslateCap("component_scope_medium"), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, + { name = "scope_large", label = TranslateCap("component_scope_large"), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, + { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = "muzzle_tactical", label = TranslateCap("component_muzzle_tactical"), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = "muzzle_precision", label = TranslateCap("component_muzzle_precision"), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = "muzzle_slanted", label = TranslateCap("component_muzzle_slanted"), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = "barrel_default", label = TranslateCap("component_barrel_default"), hash = `COMPONENT_AT_CR_BARREL_01` }, + { name = "barrel_heavy", label = TranslateCap("component_barrel_heavy"), hash = `COMPONENT_AT_CR_BARREL_02` }, + { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO` }, + { name = "camo_finish2", label = TranslateCap("component_camo_finish2"), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_02` }, + { name = "camo_finish3", label = TranslateCap("component_camo_finish3"), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_03` }, + { name = "camo_finish4", label = TranslateCap("component_camo_finish4"), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_04` }, + { name = "camo_finish5", label = TranslateCap("component_camo_finish5"), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_05` }, + { name = "camo_finish6", label = TranslateCap("component_camo_finish6"), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_06` }, + { name = "camo_finish7", label = TranslateCap("component_camo_finish7"), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_07` }, + { name = "camo_finish8", label = TranslateCap("component_camo_finish8"), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_08` }, + { name = "camo_finish9", label = TranslateCap("component_camo_finish9"), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_09` }, + { name = "camo_finish10", label = TranslateCap("component_camo_finish10"), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_10` }, + { name = "camo_finish11", label = TranslateCap("component_camo_finish11"), hash = `COMPONENT_CARBINERIFLE_MK2_CAMO_IND_01` }, + }, + }, + { + name = "WEAPON_COMPACTRIFLE", + label = TranslateCap("weapon_compactrifle"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_COMPACTRIFLE_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_COMPACTRIFLE_CLIP_02` }, + { name = "clip_drum", label = TranslateCap("component_clip_drum"), hash = `COMPONENT_COMPACTRIFLE_CLIP_03` }, + }, + }, + { + name = "WEAPON_MILITARYRIFLE", + label = TranslateCap("weapon_militaryrifle"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_MILITARYRIFLE_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_MILITARYRIFLE_CLIP_02` }, + { name = "ironsights", label = TranslateCap("component_ironsights"), hash = `COMPONENT_MILITARYRIFLE_SIGHT_01` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_SMALL` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, + }, + }, + { + name = "WEAPON_SPECIALCARBINE", + label = TranslateCap("weapon_specialcarbine"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_SPECIALCARBINE_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_SPECIALCARBINE_CLIP_02` }, + { name = "clip_drum", label = TranslateCap("component_clip_drum"), hash = `COMPONENT_SPECIALCARBINE_CLIP_03` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_SPECIALCARBINE_VARMOD_LOWRIDER` }, + }, + }, + { + name = "WEAPON_SPECIALCARBINE_MK2", + label = TranslateCap("weapon_specialcarbine_mk2"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + 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` }, + { name = "ammo_tracer", label = TranslateCap("component_ammo_tracer"), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_TRACER` }, + { name = "ammo_incendiary", label = TranslateCap("component_ammo_incendiary"), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_INCENDIARY` }, + { name = "ammo_armor", label = TranslateCap("component_ammo_armor"), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_ARMORPIERCING` }, + { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_SPECIALCARBINE_MK2_CLIP_FMJ` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, + { name = "scope_small", label = TranslateCap("component_scope_small"), hash = `COMPONENT_AT_SCOPE_MACRO_MK2` }, + { name = "scope_large", label = TranslateCap("component_scope_large"), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = "muzzle_tactical", label = TranslateCap("component_muzzle_tactical"), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = "muzzle_precision", label = TranslateCap("component_muzzle_precision"), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = "muzzle_slanted", label = TranslateCap("component_muzzle_slanted"), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP_02` }, + { name = "barrel_default", label = TranslateCap("component_barrel_default"), hash = `COMPONENT_AT_SC_BARREL_01` }, + { name = "barrel_heavy", label = TranslateCap("component_barrel_heavy"), hash = `COMPONENT_AT_SC_BARREL_02` }, + { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO` }, + { name = "camo_finish2", label = TranslateCap("component_camo_finish2"), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_02` }, + { name = "camo_finish3", label = TranslateCap("component_camo_finish3"), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_03` }, + { name = "camo_finish4", label = TranslateCap("component_camo_finish4"), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_04` }, + { name = "camo_finish5", label = TranslateCap("component_camo_finish5"), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_05` }, + { name = "camo_finish6", label = TranslateCap("component_camo_finish6"), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_06` }, + { name = "camo_finish7", label = TranslateCap("component_camo_finish7"), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_07` }, + { name = "camo_finish8", label = TranslateCap("component_camo_finish8"), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_08` }, + { name = "camo_finish9", label = TranslateCap("component_camo_finish9"), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_09` }, + { name = "camo_finish10", label = TranslateCap("component_camo_finish10"), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_10` }, + { name = "camo_finish11", label = TranslateCap("component_camo_finish11"), hash = `COMPONENT_SPECIALCARBINE_MK2_CAMO_IND_01` }, + }, + }, + { + name = "WEAPON_HEAVYRIFLE", + label = TranslateCap("weapon_heavyrifle"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_HEAVYRIFLE_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_HEAVYRIFLE_CLIP_02` }, + { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_HEAVYRIFLE_SIGHT_01` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_MEDIUM` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, + }, + }, + -- Sniper + { + name = "WEAPON_HEAVYSNIPER", + label = TranslateCap("weapon_heavysniper"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_LARGE` }, + { name = "scope_advanced", label = TranslateCap("component_scope_advanced"), hash = `COMPONENT_AT_SCOPE_MAX` }, + }, + }, + { + name = "WEAPON_HEAVYSNIPER_MK2", + label = TranslateCap("weapon_heavysniper_mk2"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, + tints = Config.DefaultWeaponTints, + 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` }, + { name = "ammo_incendiary", label = TranslateCap("component_ammo_incendiary"), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_INCENDIARY` }, + { name = "ammo_armor", label = TranslateCap("component_ammo_armor"), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING` }, + { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_FMJ` }, + { name = "ammo_explosive", label = TranslateCap("component_ammo_explosive"), hash = `COMPONENT_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE` }, + { name = "scope_zoom", label = TranslateCap("component_scope_zoom"), hash = `COMPONENT_AT_SCOPE_LARGE_MK2` }, + { name = "scope_advanced", label = TranslateCap("component_scope_advanced"), hash = `COMPONENT_AT_SCOPE_MAX` }, + { name = "scope_nightvision", label = TranslateCap("component_scope_nightvision"), hash = `COMPONENT_AT_SCOPE_NV` }, + { name = "scope_thermal", label = TranslateCap("component_scope_thermal"), hash = `COMPONENT_AT_SCOPE_THERMAL` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_SR_SUPP_03` }, + { name = "muzzle_squared", label = TranslateCap("component_muzzle_squared"), hash = `COMPONENT_AT_MUZZLE_08` }, + { name = "muzzle_bell", label = TranslateCap("component_muzzle_bell"), hash = `COMPONENT_AT_MUZZLE_09` }, + { name = "barrel_default", label = TranslateCap("component_barrel_default"), hash = `COMPONENT_AT_SR_BARREL_01` }, + { name = "barrel_heavy", label = TranslateCap("component_barrel_heavy"), hash = `COMPONENT_AT_SR_BARREL_02` }, + { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO` }, + { name = "camo_finish2", label = TranslateCap("component_camo_finish2"), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_02` }, + { name = "camo_finish3", label = TranslateCap("component_camo_finish3"), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_03` }, + { name = "camo_finish4", label = TranslateCap("component_camo_finish4"), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_04` }, + { name = "camo_finish5", label = TranslateCap("component_camo_finish5"), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_05` }, + { name = "camo_finish6", label = TranslateCap("component_camo_finish6"), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_06` }, + { name = "camo_finish7", label = TranslateCap("component_camo_finish7"), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_07` }, + { name = "camo_finish8", label = TranslateCap("component_camo_finish8"), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_08` }, + { name = "camo_finish9", label = TranslateCap("component_camo_finish9"), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_09` }, + { name = "camo_finish10", label = TranslateCap("component_camo_finish10"), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_10` }, + { name = "camo_finish11", label = TranslateCap("component_camo_finish11"), hash = `COMPONENT_HEAVYSNIPER_MK2_CAMO_IND_01` }, + }, + }, + { + name = "WEAPON_MARKSMANRIFLE", + label = TranslateCap("weapon_marksmanrifle"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_MARKSMANRIFLE_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_MARKSMANRIFLE_CLIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_MARKSMANRIFLE_VARMOD_LUXE` }, + }, + }, + { + name = "WEAPON_MARKSMANRIFLE_MK2", + label = TranslateCap("weapon_marksmanrifle_mk2"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, + tints = Config.DefaultWeaponTints, + 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` }, + { name = "ammo_tracer", label = TranslateCap("component_ammo_tracer"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_TRACER` }, + { name = "ammo_incendiary", label = TranslateCap("component_ammo_incendiary"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_INCENDIARY` }, + { name = "ammo_armor", label = TranslateCap("component_ammo_armor"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_ARMORPIERCING` }, + { name = "ammo_fmj", label = TranslateCap("component_ammo_fmj"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CLIP_FMJ` }, + { name = "scope_holo", label = TranslateCap("component_scope_holo"), hash = `COMPONENT_AT_SIGHTS` }, + { name = "scope_large", label = TranslateCap("component_scope_large"), hash = `COMPONENT_AT_SCOPE_MEDIUM_MK2` }, + { name = "scope_zoom", label = TranslateCap("component_scope_zoom"), hash = `COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM_MK2` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP` }, + { name = "muzzle_flat", label = TranslateCap("component_muzzle_flat"), hash = `COMPONENT_AT_MUZZLE_01` }, + { name = "muzzle_tactical", label = TranslateCap("component_muzzle_tactical"), hash = `COMPONENT_AT_MUZZLE_02` }, + { name = "muzzle_fat", label = TranslateCap("component_muzzle_fat"), hash = `COMPONENT_AT_MUZZLE_03` }, + { name = "muzzle_precision", label = TranslateCap("component_muzzle_precision"), hash = `COMPONENT_AT_MUZZLE_04` }, + { name = "muzzle_heavy", label = TranslateCap("component_muzzle_heavy"), hash = `COMPONENT_AT_MUZZLE_05` }, + { name = "muzzle_slanted", label = TranslateCap("component_muzzle_slanted"), hash = `COMPONENT_AT_MUZZLE_06` }, + { name = "muzzle_split", label = TranslateCap("component_muzzle_split"), hash = `COMPONENT_AT_MUZZLE_07` }, + { name = "barrel_default", label = TranslateCap("component_barrel_default"), hash = `COMPONENT_AT_MRFL_BARREL_01` }, + { name = "barrel_heavy", label = TranslateCap("component_barrel_heavy"), hash = `COMPONENT_AT_MRFL_BARREL_02` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP_02` }, + { name = "camo_finish", label = TranslateCap("component_camo_finish"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO` }, + { name = "camo_finish2", label = TranslateCap("component_camo_finish2"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_02` }, + { name = "camo_finish3", label = TranslateCap("component_camo_finish3"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_03` }, + { name = "camo_finish4", label = TranslateCap("component_camo_finish4"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_04` }, + { name = "camo_finish5", label = TranslateCap("component_camo_finish5"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_05` }, + { name = "camo_finish6", label = TranslateCap("component_camo_finish6"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_06` }, + { name = "camo_finish7", label = TranslateCap("component_camo_finish7"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_07` }, + { name = "camo_finish8", label = TranslateCap("component_camo_finish8"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_08` }, + { name = "camo_finish9", label = TranslateCap("component_camo_finish9"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_09` }, + { name = "camo_finish10", label = TranslateCap("component_camo_finish10"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_10` }, + { name = "camo_finish11", label = TranslateCap("component_camo_finish11"), hash = `COMPONENT_MARKSMANRIFLE_MK2_CAMO_IND_01` }, + }, + }, + { + name = "WEAPON_SNIPERRIFLE", + label = TranslateCap("weapon_sniperrifle"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "scope", label = TranslateCap("component_scope"), hash = `COMPONENT_AT_SCOPE_LARGE` }, + { name = "scope_advanced", label = TranslateCap("component_scope_advanced"), hash = `COMPONENT_AT_SCOPE_MAX` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, + { name = "luxary_finish", label = TranslateCap("component_luxary_finish"), hash = `COMPONENT_SNIPERRIFLE_VARMOD_LUXE` }, + }, + }, + -- Heavy / Launchers + { + name = "WEAPON_COMPACTLAUNCHER", + label = TranslateCap("weapon_compactlauncher"), + tints = Config.DefaultWeaponTints, + components = {}, + ammo = { label = TranslateCap("ammo_grenadelauncher"), hash = `AMMO_GRENADELAUNCHER` }, + }, + { name = "WEAPON_FIREWORK", label = TranslateCap("weapon_firework"), components = {}, ammo = { label = TranslateCap("ammo_firework"), hash = `AMMO_FIREWORK` } }, + { + name = "WEAPON_GRENADELAUNCHER", + label = TranslateCap("weapon_grenadelauncher"), + tints = Config.DefaultWeaponTints, + components = {}, + ammo = { label = TranslateCap("ammo_grenadelauncher"), hash = `AMMO_GRENADELAUNCHER` }, + }, + { name = "WEAPON_HOMINGLAUNCHER", label = TranslateCap("weapon_hominglauncher"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_rockets"), hash = `AMMO_HOMINGLAUNCHER` } }, + { name = "WEAPON_MINIGUN", label = TranslateCap("weapon_minigun"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_MINIGUN` } }, + { name = "WEAPON_RAILGUN", label = TranslateCap("weapon_railgun"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RAILGUN` } }, + { name = "WEAPON_RPG", label = TranslateCap("weapon_rpg"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_rockets"), hash = `AMMO_RPG` } }, + { name = "WEAPON_RAYMINIGUN", label = TranslateCap("weapon_rayminigun"), tints = Config.DefaultWeaponTints, components = {}, ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_MINIGUN` } }, + -- Thrown + { name = "WEAPON_BALL", label = TranslateCap("weapon_ball"), components = {}, ammo = { label = TranslateCap("ammo_ball"), hash = `AMMO_BALL` } }, + { name = "WEAPON_BZGAS", label = TranslateCap("weapon_bzgas"), components = {}, ammo = { label = TranslateCap("ammo_bzgas"), hash = `AMMO_BZGAS` } }, + { name = "WEAPON_FLARE", label = TranslateCap("weapon_flare"), components = {}, ammo = { label = TranslateCap("ammo_flare"), hash = `AMMO_FLARE` } }, + { name = "WEAPON_GRENADE", label = TranslateCap("weapon_grenade"), components = {}, ammo = { label = TranslateCap("ammo_grenade"), hash = `AMMO_GRENADE` } }, + { name = "WEAPON_PETROLCAN", label = TranslateCap("weapon_petrolcan"), components = {}, ammo = { label = TranslateCap("ammo_petrol"), hash = `AMMO_PETROLCAN` } }, + { name = "WEAPON_HAZARDCAN", label = TranslateCap("weapon_hazardcan"), components = {}, ammo = { label = TranslateCap("ammo_petrol"), hash = `AMMO_PETROLCAN` } }, + { name = "WEAPON_MOLOTOV", label = TranslateCap("weapon_molotov"), components = {}, ammo = { label = TranslateCap("ammo_molotov"), hash = `AMMO_MOLOTOV` } }, + { name = "WEAPON_PROXMINE", label = TranslateCap("weapon_proxmine"), components = {}, ammo = { label = TranslateCap("ammo_proxmine"), hash = `AMMO_PROXMINE` } }, + { name = "WEAPON_PIPEBOMB", label = TranslateCap("weapon_pipebomb"), components = {}, ammo = { label = TranslateCap("ammo_pipebomb"), hash = `AMMO_PIPEBOMB` } }, + { name = "WEAPON_SNOWBALL", label = TranslateCap("weapon_snowball"), components = {}, ammo = { label = TranslateCap("ammo_snowball"), hash = `AMMO_SNOWBALL` } }, + { name = "WEAPON_STICKYBOMB", label = TranslateCap("weapon_stickybomb"), components = {}, ammo = { label = TranslateCap("ammo_stickybomb"), hash = `AMMO_STICKYBOMB` } }, + { name = "WEAPON_SMOKEGRENADE", label = TranslateCap("weapon_smokegrenade"), components = {}, ammo = { label = TranslateCap("ammo_smokebomb"), hash = `AMMO_SMOKEGRENADE` } }, + -- Tools + { name = "WEAPON_FIREEXTINGUISHER", label = TranslateCap("weapon_fireextinguisher"), components = {}, ammo = { label = TranslateCap("ammo_charge"), hash = `AMMO_FIREEXTINGUISHER` } }, + { name = "WEAPON_DIGISCANNER", label = TranslateCap("weapon_digiscanner"), components = {} }, + { name = "GADGET_PARACHUTE", label = TranslateCap("gadget_parachute"), components = {} }, + { + name = "WEAPON_TACTICALRIFLE", + label = TranslateCap("weapon_tactilerifle"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RIFLE` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_TACTICALRIFLE_CLIP_01` }, + { name = "clip_extended", label = TranslateCap("component_clip_extended"), hash = `COMPONENT_TACTICALRIFLE_CLIP_02` }, + { name = "flashlight", label = TranslateCap("component_flashlight"), hash = `COMPONENT_AT_AR_FLSH_REH` }, + { name = "grip", label = TranslateCap("component_grip"), hash = `COMPONENT_AT_AR_AFGRIP` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_AT_AR_SUPP_02` }, + }, + }, + { + name = "WEAPON_PRECISIONRIFLE", + label = TranslateCap("weapon_precisionrifle"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_SNIPER` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_PRECISIONRIFLE_CLIP_01` }, + }, + }, + { name = "WEAPON_METALDETECTOR", label = TranslateCap("weapon_metaldetector"), components = {} }, + { + name = "WEAPON_PISTOLXM3", + label = TranslateCap("weapon_pistolxm3"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_PISTOL` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_PISTOLXM3_CLIP_01` }, + { name = "suppressor", label = TranslateCap("component_suppressor"), hash = `COMPONENT_PISTOLXM3_SUPP` }, + }, + }, + { name = "WEAPON_ACIDPACKAGE", label = TranslateCap("weapon_acidpackage"), components = {} }, + { name = "WEAPON_CANDYCANE", label = TranslateCap("weapon_candycane"), components = {} }, + { + name = "WEAPON_RAILGUNXM3", + label = TranslateCap("weapon_railgunxm3"), + ammo = { label = TranslateCap("ammo_rounds"), hash = `AMMO_RAILGUN` }, + tints = Config.DefaultWeaponTints, + components = { + { name = "clip_default", label = TranslateCap("component_clip_default"), hash = `COMPONENT_RAILGUNXM3_CLIP_01` }, + }, + }, } diff --git a/server-data/resources/[esx]/es_extended/fxmanifest.lua b/server-data/resources/[esx]/es_extended/fxmanifest.lua index c41e3d9fa..de5445070 100644 --- a/server-data/resources/[esx]/es_extended/fxmanifest.lua +++ b/server-data/resources/[esx]/es_extended/fxmanifest.lua @@ -1,70 +1,70 @@ -fx_version("cerulean") +fx_version 'cerulean' -game("gta5") -description("ES Extended") -lua54("yes") -version("1.0.1") +game 'gta5' +description 'The Core resource that provides the functionalities for all other resources.' +lua54 'yes' +version '1.0.1' -shared_scripts({ - "locale.lua", - "locales/*.lua", - "config.lua", - "config.weapons.lua", -}) +shared_scripts { + 'locale.lua', + 'locales/*.lua', + 'config.lua', + 'config.weapons.lua', +} -server_scripts({ - "@oxmysql/lib/MySQL.lua", - "config.logs.lua", - "server/common.lua", - "server/modules/callback.lua", - "server/classes/player.lua", - "server/classes/overrides/*.lua", - "server/functions.lua", - "server/onesync.lua", - "server/paycheck.lua", - "server/main.lua", - "server/commands.lua", - "common/modules/*.lua", - "common/functions.lua", - "server/modules/actions.lua", - "server/modules/npwd.lua", -}) +server_scripts { + '@oxmysql/lib/MySQL.lua', + 'config.logs.lua', + 'server/common.lua', + 'server/modules/callback.lua', + 'server/classes/player.lua', + 'server/classes/overrides/*.lua', + 'server/functions.lua', + 'server/onesync.lua', + 'server/paycheck.lua', + 'server/main.lua', + 'server/commands.lua', + 'common/modules/*.lua', + 'common/functions.lua', + 'server/modules/actions.lua', + 'server/modules/npwd.lua' +} -client_scripts({ - "client/common.lua", - "client/functions.lua", - "client/wrapper.lua", - "client/modules/callback.lua", - "client/main.lua", - "common/modules/*.lua", - "common/functions.lua", - "common/functions.lua", - "client/modules/actions.lua", - "client/modules/death.lua", - "client/modules/npwd.lua", - "client/modules/scaleform.lua", - "client/modules/streaming.lua", -}) +client_scripts { + 'client/common.lua', + 'client/functions.lua', + 'client/wrapper.lua', + 'client/modules/callback.lua', + 'client/main.lua', + 'common/modules/*.lua', + 'common/functions.lua', + 'common/functions.lua', + 'client/modules/actions.lua', + 'client/modules/death.lua', + 'client/modules/npwd.lua', + 'client/modules/scaleform.lua', + 'client/modules/streaming.lua', +} -ui_page({ - "html/ui.html", -}) +ui_page { + 'html/ui.html' +} -files({ - "imports.lua", - "locale.js", - "html/ui.html", - "html/css/app.css", - "html/js/mustache.min.js", - "html/js/wrapper.js", - "html/js/app.js", - "html/fonts/pdown.ttf", - "html/fonts/bankgothic.ttf", -}) +files { + 'imports.lua', + 'locale.js', + 'html/ui.html', + 'html/css/app.css', + 'html/js/mustache.min.js', + 'html/js/wrapper.js', + 'html/js/app.js', + 'html/fonts/pdown.ttf', + 'html/fonts/bankgothic.ttf', +} -dependencies({ - "/native:0x6AE51D4B", - "/native:0xA61C8FC6", - "oxmysql", - "spawnmanager", -}) +dependencies { + '/native:0x6AE51D4B', + '/native:0xA61C8FC6', + 'oxmysql', + 'spawnmanager', +} diff --git a/server-data/resources/[esx]/es_extended/html/css/app.css b/server-data/resources/[esx]/es_extended/html/css/app.css index 2478a1a99..6d4b095c9 100644 --- a/server-data/resources/[esx]/es_extended/html/css/app.css +++ b/server-data/resources/[esx]/es_extended/html/css/app.css @@ -72,4 +72,4 @@ html { .menu .menu-items .menu-item.selected { background-color: #ccc; -} \ No newline at end of file +} diff --git a/server-data/resources/[esx]/es_extended/html/ui.html b/server-data/resources/[esx]/es_extended/html/ui.html index 1a45afd98..bbc9c005c 100644 --- a/server-data/resources/[esx]/es_extended/html/ui.html +++ b/server-data/resources/[esx]/es_extended/html/ui.html @@ -1,15 +1,12 @@ - - - - - - -
- - - - - - - \ No newline at end of file + + + + +
+ + + + + + diff --git a/server-data/resources/[esx]/es_extended/imports.lua b/server-data/resources/[esx]/es_extended/imports.lua index 66ef79ad8..a81a71efb 100644 --- a/server-data/resources/[esx]/es_extended/imports.lua +++ b/server-data/resources/[esx]/es_extended/imports.lua @@ -1,22 +1,22 @@ ESX = exports["es_extended"]:getSharedObject() if not IsDuplicityVersion() then -- Only register this event for the client - AddEventHandler("esx:setPlayerData", function(key, val, last) - if GetInvokingResource() == "es_extended" then - ESX.PlayerData[key] = val - if OnPlayerData then - OnPlayerData(key, val, last) - end - end - end) + AddEventHandler("esx:setPlayerData", function(key, val, last) + if GetInvokingResource() == "es_extended" then + ESX.PlayerData[key] = val + if OnPlayerData then + OnPlayerData(key, val, last) + end + end + end) - RegisterNetEvent("esx:playerLoaded", function(xPlayer) - ESX.PlayerData = xPlayer - ESX.PlayerLoaded = true - end) + RegisterNetEvent("esx:playerLoaded", function(xPlayer) + ESX.PlayerData = xPlayer + ESX.PlayerLoaded = true + end) - RegisterNetEvent("esx:onPlayerLogout", function() - ESX.PlayerLoaded = false - ESX.PlayerData = {} - end) + RegisterNetEvent("esx:onPlayerLogout", function() + ESX.PlayerLoaded = false + ESX.PlayerData = {} + end) end diff --git a/server-data/resources/[esx]/es_extended/locale.lua b/server-data/resources/[esx]/es_extended/locale.lua index 6d628c4d5..98a323db8 100644 --- a/server-data/resources/[esx]/es_extended/locale.lua +++ b/server-data/resources/[esx]/es_extended/locale.lua @@ -1,31 +1,27 @@ Locales = {} function Translate(str, ...) -- Translate string - if not str then - print( - ("[^1ERROR^7] Resource ^5%s^7 You did not specify a parameter for the Translate function or the value is nil!"):format( - GetInvokingResource() or GetCurrentResourceName() - ) - ) - return "Given translate function parameter is nil!" - end - if Locales[Config.Locale] then - if Locales[Config.Locale][str] then - return string.format(Locales[Config.Locale][str], ...) - elseif Config.Locale ~= "en" and Locales["en"] and Locales["en"][str] then - return string.format(Locales["en"][str], ...) - else - return "Translation [" .. Config.Locale .. "][" .. str .. "] does not exist" - end - elseif Config.Locale ~= "en" and Locales["en"] and Locales["en"][str] then - return string.format(Locales["en"][str], ...) - else - return "Locale [" .. Config.Locale .. "] does not exist" - end + if not str then + print(("[^1ERROR^7] Resource ^5%s^7 You did not specify a parameter for the Translate function or the value is nil!"):format(GetInvokingResource() or GetCurrentResourceName())) + return "Given translate function parameter is nil!" + end + if Locales[Config.Locale] then + if Locales[Config.Locale][str] then + return string.format(Locales[Config.Locale][str], ...) + elseif Config.Locale ~= "en" and Locales["en"] and Locales["en"][str] then + return string.format(Locales["en"][str], ...) + else + return "Translation [" .. Config.Locale .. "][" .. str .. "] does not exist" + end + elseif Config.Locale ~= "en" and Locales["en"] and Locales["en"][str] then + return string.format(Locales["en"][str], ...) + else + return "Locale [" .. Config.Locale .. "] does not exist" + end end function TranslateCap(str, ...) -- Translate string first char uppercase - return _(str, ...):gsub("^%l", string.upper) + return _(str, ...):gsub("^%l", string.upper) end _ = Translate diff --git a/server-data/resources/[esx]/es_extended/locales/br.lua b/server-data/resources/[esx]/es_extended/locales/br.lua deleted file mode 100644 index cc7fb8316..000000000 --- a/server-data/resources/[esx]/es_extended/locales/br.lua +++ /dev/null @@ -1,218 +0,0 @@ -Locales["br"] = { - -- Inventory - ["giveammo"] = "dar munição", - ["amountammo"] = "quantidade de munição", - ["noammo"] = "voce não tem todas essas munições!", - ["gave_item"] = "voce deu %sx %s para %s", - ["received_item"] = "voce recebeu %sx %s de %s", - ["gave_weapon"] = "você deu %s para %s", - ["gave_weapon_ammo"] = "você deu ~o~%sx %s para %s de %s", - ["gave_weapon_withammo"] = "você deu %s com ~o~%sx %s para %s", - ["gave_weapon_hasalready"] = "%s já tem um(a) %s", - ["gave_weapon_noweapon"] = "não tem essa arma %s", - ["received_weapon"] = "você recebeu %s de %s", - ["received_weapon_ammo"] = "você recebeu ~o~%sx %s para a sua(o seu) %s de %s", - ["received_weapon_withammo"] = "você recebeu %s com ~o~%sx %s de %s", - ["received_weapon_hasalready"] = "%s tentou lhe dar uma %s, mas você já tem um(a)", - ["received_weapon_noweapon"] = "%s tentou lhe dar munição para %s, mas você não tem um(a)", - ["gave_account_money"] = "voce deu $%s (%s) para %s", - ["received_account_money"] = "voce recebeu $%s (%s) de %s", - ["amount_invalid"] = "quantidade inválida", - ["players_nearby"] = "nenhum cidadão por perto", - ["ex_inv_lim"] = "ação não e possivel, excedendo o limite de estoque para %s", - ["imp_invalid_quantity"] = "ação impossível, quantidade inválida", - ["imp_invalid_amount"] = "ação impossível, valor invalido", - ["threw_standard"] = "você jogou %sx %s", - ["threw_account"] = "você jogou $%s %s", - ["threw_weapon"] = "você jogou %s", - ["threw_weapon_ammo"] = "você jogou %s com ~o~%sx %s", - ["threw_weapon_already"] = "você já esta com essa arma", - ["threw_cannot_pickup"] = "você não pode pegar porque seu inventário está cheio!", - ["threw_pickup_prompt"] = "pressione E para pegar", - - -- Key mapping - ["keymap_showinventory"] = "exibir inventario", - - -- Salary related - ["received_salary"] = "voce recebeu seu salário: $%s ", - ["received_help"] = "voce recebeu seu cheque de bem-estar: $%s ", - ["company_nomoney"] = "a empresa em que voce esta empregado esta muito pobre para pagar seu salário", - ["received_paycheck"] = "recebeu dinheiro", - ["bank"] = "banco", - ["account_bank"] = "banco", - ["account_black_money"] = "dinheiro sujo", - ["account_money"] = "dinheiro", - - ["act_imp"] = "ação impossível", - ["in_vehicle"] = "voce não pode dar nada para alguem no veículo", - - -- Commands - ["command_car"] = "spawn um carro", - ["command_car_car"] = "nome do carro", - ["command_cardel"] = "excluir veículo", - ["command_cardel_radius"] = "optional, delete every vehicle within the specified radius", - ["command_clear"] = "limpar o chat", - ["command_clearall"] = "limpar o chat para todos", - ["command_clearinventory"] = "remover todos os itens do inventário", - ["command_clearloadout"] = "remova todas as armas do carregamento", - ["command_giveaccountmoney"] = "dar dinheiro da conta", - ["command_giveaccountmoney_account"] = "conta", - ["command_giveaccountmoney_amount"] = "amount", - ["command_giveaccountmoney_invalid"] = "conta inválida", - ["command_giveitem"] = "dar item", - ["command_giveitem_item"] = "item", - ["command_giveitem_count"] = "count", - ["command_giveweapon"] = "dar arma", - ["command_giveweapon_weapon"] = "arma", - ["command_giveweapon_ammo"] = "ammo count", - ["command_giveweapon_hasalready"] = "player already has that weapon", - ["command_giveweaponcomponent"] = "give weapon component", - ["command_giveweaponcomponent_component"] = "component name", - ["command_giveweaponcomponent_invalid"] = "invalid weapon component", - ["command_giveweaponcomponent_hasalready"] = "player already has that weapon component", - ["command_giveweaponcomponent_missingweapon"] = "player does not have that weapon", - ["command_save"] = "save a player to database", - ["command_saveall"] = "save all players to database", - ["command_setaccountmoney"] = "set account money for a player", - ["command_setaccountmoney_amount"] = "amount of money to set", - ["command_setcoords"] = "teleport to coordinates", - ["command_setcoords_x"] = "x axis", - ["command_setcoords_y"] = "y axis", - ["command_setcoords_z"] = "z axis", - ["command_setjob"] = "atribuir um trabalho a um usuario", - ["command_setjob_job"] = "o trabalho que voce deseja atribuir", - ["command_setjob_grade"] = "o nivel de emprego", - ["command_setjob_invalid"] = "the job, grade or both are invalid", - ["command_setgroup"] = "set player group", - ["command_setgroup_group"] = "group name", - ["commanderror_argumentmismatch"] = "argument count mismatch (passed %s, wanted %s)", - ["commanderror_argumentmismatch_number"] = "argument #%s type mismatch (passed string, wanted number)", - ["commanderror_invaliditem"] = "item invalido", - ["commanderror_invalidweapon"] = "invalid weapon", - ["commanderror_console"] = "that command can not be run from console", - ["commanderror_invalidcommand"] = "/%s is not an valid command!", - ["commanderror_invalidplayerid"] = "there is no player online matching that server id", - ["commandgeneric_playerid"] = "o ID do jogador", - - -- Locale settings - ["locale_digit_grouping_symbol"] = " ", - ["locale_currency"] = "R$%s", - - -- Weapons - ["weapon_knife"] = "faca", - ["weapon_nightstick"] = "cacetete", - ["weapon_hammer"] = "martelo", - ["weapon_bat"] = "bastao", - ["weapon_golfclub"] = "golf club", - ["weapon_crowbar"] = "pe de cabra", - ["weapon_pistol"] = "pistola", - ["weapon_combatpistol"] = "pistola de combate", - ["weapon_appistol"] = "ap pistola", - ["weapon_pistol50"] = "pistola .50", - ["weapon_microsmg"] = "micro smg", - ["weapon_smg"] = "smg", - ["weapon_assaultsmg"] = "smg de assalto", - ["weapon_assaultrifle"] = "rifle de assalto", - ["weapon_carbinerifle"] = "carabina rifle", - ["weapon_advancedrifle"] = "rifle avançado", - ["weapon_mg"] = "mg", - ["weapon_combatmg"] = "combate mg", - ["weapon_pumpshotgun"] = "espingarda", - ["weapon_sawnoffshotgun"] = "espingarda serrada", - ["weapon_assaultshotgun"] = "espingarda de assalto", - ["weapon_bullpupshotgun"] = "espingarda de bullpup", - ["weapon_stungun"] = "arma de choque", - ["weapon_sniperrifle"] = "sniper rifle", - ["weapon_heavysniper"] = "heavy sniper", - ["weapon_grenadelauncher"] = "lançador de granada", - ["weapon_rpg"] = "lançador de foguetes", - ["weapon_minigun"] = "minigun", - ["weapon_grenade"] = "granada", - ["weapon_stickybomb"] = "bomba pegajosa", - ["weapon_smokegrenade"] = "granada de fumaça", - ["weapon_bzgas"] = "bz gas", - ["weapon_molotov"] = "molotov", - ["weapon_fireextinguisher"] = "extintor", - ["weapon_petrolcan"] = "galao de combustivel", - ["weapon_ball"] = "bola", - ["weapon_snspistol"] = "sns pistol", - ["weapon_bottle"] = "garrafa", - ["weapon_gusenberg"] = "gusenberg sweeper", - ["weapon_specialcarbine"] = "carabina especial", - ["weapon_heavypistol"] = "heavy pistol", - ["weapon_bullpuprifle"] = "bullpup rifle", - ["weapon_dagger"] = "punhal", - ["weapon_vintagepistol"] = "vintage pistol", - ["weapon_firework"] = "fogos de artificio", - ["weapon_musket"] = "mosquete", - ["weapon_heavyshotgun"] = "heavy shotgun", - ["weapon_marksmanrifle"] = "marksman rifle", - ["weapon_hominglauncher"] = "homing launcher", - ["weapon_proxmine"] = "mina de proximidade", - ["weapon_snowball"] = "bola de neve", - ["weapon_flaregun"] = "sinalizador", - ["weapon_combatpdw"] = "combat pdw", - ["weapon_marksmanpistol"] = "marksman pistol", - ["weapon_knuckle"] = "soco ingles", - ["weapon_hatchet"] = "machado", - ["weapon_railgun"] = "railgun", - ["weapon_machete"] = "facão", - ["weapon_machinepistol"] = "machine pistol", - ["weapon_switchblade"] = "canivete", - ["weapon_revolver"] = "heavy revolver", - ["weapon_dbshotgun"] = "espingarda de cano duplo", - ["weapon_compactrifle"] = "compact rifle", - ["weapon_autoshotgun"] = "auto shotgun", - ["weapon_battleaxe"] = "battle axe", - ["weapon_compactlauncher"] = "compact launcher", - ["weapon_minismg"] = "mini smg", - ["weapon_pipebomb"] = "bomba caseira", - ["weapon_poolcue"] = "taco de sinuca", - ["weapon_wrench"] = "chave de cano", - ["weapon_flashlight"] = "laterna", - ["gadget_parachute"] = "paraquedas", - ["weapon_flare"] = "flare", - ["weapon_doubleaction"] = "double-Action Revolver", - - -- Weapon Components - ["component_clip_default"] = "aderência padrão", - ["component_clip_extended"] = "aderência prolongada", - ["component_clip_drum"] = "drum Magazine", - ["component_clip_box"] = "box Magazine", - ["component_flashlight"] = "lanterna", - ["component_scope"] = "mira", - ["component_scope_advanced"] = "mira avançada", - ["component_suppressor"] = "supressor", - ["component_grip"] = "grip", - ["component_luxary_finish"] = "acabamento de arma de luxo", - - -- Weapon Ammo - ["ammo_rounds"] = "round(s)", - ["ammo_shells"] = "shell(s)", - ["ammo_charge"] = "charge", - ["ammo_petrol"] = "gallons of fuel", - ["ammo_firework"] = "firework(s)", - ["ammo_rockets"] = "rocket(s)", - ["ammo_grenadelauncher"] = "grenade(s)", - ["ammo_grenade"] = "grenade(s)", - ["ammo_stickybomb"] = "bomb(s)", - ["ammo_pipebomb"] = "bomb(s)", - ["ammo_smokebomb"] = "bomb(s)", - ["ammo_molotov"] = "cocktail(s)", - ["ammo_proxmine"] = "mine(s)", - ["ammo_bzgas"] = "can(s)", - ["ammo_ball"] = "ball(s)", - ["ammo_snowball"] = "snowball(s)", - ["ammo_flare"] = "flare(s)", - ["ammo_flaregun"] = "flare(s)", - - -- Weapon Tints - ["tint_default"] = "default skin", - ["tint_green"] = "green skin", - ["tint_gold"] = "gold skin", - ["tint_pink"] = "pink skin", - ["tint_army"] = "army skin", - ["tint_lspd"] = "blue skin", - ["tint_orange"] = "orange skin", - ["tint_platinum"] = "platinum skin", -} diff --git a/server-data/resources/[esx]/es_extended/locales/cs.lua b/server-data/resources/[esx]/es_extended/locales/cs.lua index e99956585..0e9d3a92b 100644 --- a/server-data/resources/[esx]/es_extended/locales/cs.lua +++ b/server-data/resources/[esx]/es_extended/locales/cs.lua @@ -1,371 +1,371 @@ Locales["cs"] = { - -- Inventory - ["inventory"] = "Inventář ( Váha %s / %s )", - ["use"] = "Použít", - ["give"] = "Darovat", - ["remove"] = "Odhodit", - ["return"] = "Vrátit", - ["give_to"] = "Darováno", - ["amount"] = "Počet", - ["giveammo"] = "Podat náboje", - ["amountammo"] = "Počet nábojů", - ["noammo"] = "Nedostatek!", - ["gave_item"] = "Daroval %sx %s pro %s", - ["received_item"] = "Získáno %sx %s od %s", - ["gave_weapon"] = "Předání %s pro %s", - ["gave_weapon_ammo"] = "Darování ~o~%sx %s do %s pro %s", - ["gave_weapon_withammo"] = "Darování %s s ~o~%sx %s pro %s", - ["gave_weapon_hasalready"] = "%s již vlastní %s", - ["gave_weapon_noweapon"] = "%s nemá tuto zbraň", - ["received_weapon"] = "Obdrženo %s od %s", - ["received_weapon_ammo"] = "Obdrženo ~o~%sx %s pro zbraň %s od %s", - ["received_weapon_withammo"] = "Obdrženo %s s ~o~%sx %s od %s", - ["received_weapon_hasalready"] = "%s se snažil darovat %s, ale již tuto zbraň máš", - ["received_weapon_noweapon"] = "%s se snažil ti dát náboje %s, ale nemáš potřebnou zbrań", - ["gave_account_money"] = "Darováno $%s (%s) pro %s", - ["received_account_money"] = "Získáno $%s (%s) od %s", - ["amount_invalid"] = "Špatné množství", - ["players_nearby"] = "Žádný hráč není poblíž", - ["ex_inv_lim"] = "Nelze sebrat,protože máš plné kapsy %s", - ["imp_invalid_quantity"] = "Neplatné množství", - ["imp_invalid_amount"] = "Nelze provést, neplatné množství", - ["threw_standard"] = "Zahozeno %sx %s", - ["threw_account"] = "Zahozeno $%s %s", - ["threw_weapon"] = "Zahozeno %s", - ["threw_weapon_ammo"] = "Zahozeno %s s ~o~%sx %s", - ["threw_weapon_already"] = "Již vlastníš tuto zbraň", - ["threw_cannot_pickup"] = "Kapsy máš plné, nemůžeš sebrat!", - ["threw_pickup_prompt"] = "Zmáčkni E pro sebrání!", - - -- Key mapping - ["keymap_showinventory"] = "Otevřít inventář", - - -- Salary related - ["received_salary"] = "Obdržel jsi: $%s", - ["received_help"] = "Obdržel jsi svůj podíl: $%s", - ["company_nomoney"] = "Firma kde pracujete je příliš chudá, aby vám zaplatila", - ["received_paycheck"] = "Obdržena platba", - ["bank"] = "Banka", - ["account_bank"] = "V bance", - ["account_black_money"] = "Špináve peníze", - ["account_money"] = "V kapse", - - ["act_imp"] = "Nelze provést", - ["in_vehicle"] = "Nelze provést, hráč je v autě", - ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", - - -- Commands - ["command_bring"] = "Přivolat si hráče k sobě", - ["command_car"] = "Spawnout vozidlo", - ["command_car_car"] = "Zadej jméno vozidla nebo spawnname", - ["command_cardel"] = "Odstranění vozidla v okolí", - ["command_cardel_radius"] = "Odstranění vozidla v určeném dosahu", - ["command_repair"] = "Repair your vehicle", - ["command_repair_success"] = "Successfully repaired vehicle", - ["command_repair_success_target"] = "An admin repaired your vehicle", - ["command_clear"] = "Vymazat text v chatu", - ["command_clearall"] = "Vymazat chet pro všechny hráče", - ["command_clearinventory"] = "Vymazat všechny věci z invetáře hráče", - ["command_clearloadout"] = "Vymazat všechny zbraně z inventáře hráče", - ["command_freeze"] = "Zmrazit hráče", - ["command_unfreeze"] = "Odmrazit hráče", - ["command_giveaccountmoney"] = "Poslat peníze na účet ", - ["command_giveaccountmoney_account"] = "Převést peníze na účet", - ["command_giveaccountmoney_amount"] = "Částka k poslání", - ["command_giveaccountmoney_invalid"] = "Neplátné jméno", - ["command_giveitem"] = "Darovat věc hráči", - ["command_giveitem_item"] = "Název věci", - ["command_giveitem_count"] = "Množství", - ["command_giveweapon"] = "Dát zbraň hráči", - ["command_giveweapon_weapon"] = "Název zbraně", - ["command_giveweapon_ammo"] = "Množství náboje", - ["command_giveweapon_hasalready"] = "Hráč již má tuto zbraň", - ["command_giveweaponcomponent"] = "Darovat přídavek na zbraň", - ["command_giveweaponcomponent_component"] = "Název zbraně", - ["command_giveweaponcomponent_invalid"] = "Špatné jméno přídavku", - ["command_giveweaponcomponent_hasalready"] = "Hráč již má tento přídavek", - ["command_giveweaponcomponent_missingweapon"] = "Hráč nemá tuto zbrań", - ["command_goto"] = "Teleportování sebe k hráči", - ["command_kill"] = "Zabití hráče", - ["command_save"] = "Uložení dat hráče", - ["command_saveall"] = "Uložení veškerých dat hráče", - ["command_setaccountmoney"] = "Nastavení určeného počtu peněz", - ["command_setaccountmoney_amount"] = "Počet peněz", - ["command_setcoords"] = "Teleportování na určené souřadnice", - ["command_setcoords_x"] = "Hodnota X", - ["command_setcoords_y"] = "Hodnota Y", - ["command_setcoords_z"] = "Hodnota Z", - ["command_setjob"] = "Nastavit práci hráči", - ["command_setjob_job"] = "Název práce", - ["command_setjob_grade"] = "Pozice ve firmě", - ["command_setjob_invalid"] = "Špatné zadání práce,hodnosti nebo i obou hodnot", - ["command_setgroup"] = "Nastavení práv hráči", - ["command_setgroup_group"] = "Název skupiny", - ["commanderror_argumentmismatch"] = "Chybný počet hodnot (správně %s, potřebných %s)", - ["commanderror_argumentmismatch_number"] = "Chybně zadaná hodnot #%s (správně, špatně)", - ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", - ["commanderror_invaliditem"] = "Špatný předmět", - ["commanderror_invalidweapon"] = "Špatná zbraň", - ["commanderror_console"] = "příkaz nelze být zpracován v konzoli", - ["commanderror_invalidcommand"] = "Špatný příkaz - /%s", - ["commanderror_invalidplayerid"] = "Hráč není dostupný", - ["commandgeneric_playerid"] = "Id hráče", - ["command_giveammo_noweapon_found"] = "%s nemá tuto zbraň", - ["command_giveammo_weapon"] = "Název zbraně", - ["command_giveammo_ammo"] = "Počet nábojů", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "£%s", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "Dýka", - ["weapon_bat"] = "Baseballová pálka", - ["weapon_battleaxe"] = "Bitevní sekera", - ["weapon_bottle"] = "Rozbitá lahve", - ["weapon_crowbar"] = "Páčidlo", - ["weapon_flashlight"] = "Baterka", - ["weapon_golfclub"] = "Golfová hůl", - ["weapon_hammer"] = "Kladivo", - ["weapon_hatchet"] = "Sekera", - ["weapon_knife"] = "Nůž", - ["weapon_knuckle"] = "Boxer", - ["weapon_machete"] = "Mačeta", - ["weapon_nightstick"] = "Policejní obušek", - ["weapon_wrench"] = "Francouzský klíč", - ["weapon_poolcue"] = "Kulečníkové tágo", - ["weapon_stone_hatchet"] = "Kamenná sekera", - ["weapon_switchblade"] = "Vystřelovací nůž", - - -- Handguns - ["weapon_appistol"] = "AP pistol", - ["weapon_ceramicpistol"] = "Ceramic pistol", - ["weapon_combatpistol"] = "Combat pistol", - ["weapon_doubleaction"] = "Double-Action Revolver", - ["weapon_navyrevolver"] = "Navy Revolver", - ["weapon_flaregun"] = "Flaregun", - ["weapon_gadgetpistol"] = "Gadget Pistol", - ["weapon_heavypistol"] = "Heavy Pistol", - ["weapon_revolver"] = "Heavy Revolver", - ["weapon_revolver_mk2"] = "Heavy Revolver MK2", - ["weapon_marksmanpistol"] = "Marksman Pistol", - ["weapon_pistol"] = "Pistol", - ["weapon_pistol_mk2"] = "Pistol MK2", - ["weapon_pistol50"] = "Pistol .50", - ["weapon_snspistol"] = "SNS Pistol", - ["weapon_snspistol_mk2"] = "SNS Pistol MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "Vintage Pistol", - - -- Shotguns - ["weapon_assaultshotgun"] = "Assault Shotgun", - ["weapon_autoshotgun"] = "Auto Shotgun", - ["weapon_bullpupshotgun"] = "Bullpup Shotgun", - ["weapon_combatshotgun"] = "Combat Shotgun", - ["weapon_dbshotgun"] = "Double Barrel Shotgun", - ["weapon_heavyshotgun"] = "Heavy Shotgun", - ["weapon_musket"] = "Musket", - ["weapon_pumpshotgun"] = "Pump Shotgun", - ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", - ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", - - -- SMG & LMG - ["weapon_assaultsmg"] = "Assault SMG", - ["weapon_combatmg"] = "Combat MG", - ["weapon_combatmg_mk2"] = "Combat MG MK2", - ["weapon_combatpdw"] = "Combat PDW", - ["weapon_gusenberg"] = "Gusenberg Sweeper", - ["weapon_machinepistol"] = "Machine Pistol", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Micro SMG", - ["weapon_minismg"] = "Mini SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Unholy Hellbringer", - - -- Rifles - ["weapon_advancedrifle"] = "Advanced Rifle", - ["weapon_assaultrifle"] = "Assault Rifle", - ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", - ["weapon_bullpuprifle"] = "Bullpup Rifle", - ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", - ["weapon_carbinerifle"] = "Carbine Rifle", - ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", - ["weapon_compactrifle"] = "Compact Rifle", - ["weapon_militaryrifle"] = "Military Rifle", - ["weapon_specialcarbine"] = "Special Carbine", - ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", - ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated - - -- Sniper - ["weapon_heavysniper"] = "Heavy Sniper", - ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", - ["weapon_marksmanrifle"] = "Marksman Rifle", - ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", - ["weapon_sniperrifle"] = "Sniper Rifle", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Compact Launcher", - ["weapon_firework"] = "Firework Launcher", - ["weapon_grenadelauncher"] = "Grenade Launcher", - ["weapon_hominglauncher"] = "Homing Launcher", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Railgun", - ["weapon_rpg"] = "Rocket Launcher", - ["weapon_rayminigun"] = "Widowmaker", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "Detektor kovu", - ["weapon_precisionrifle"] = "Precision Rifle", - ["weapon_tactilerifle"] = "Service Carbine", - - -- Drug Wars DLC - ["weapon_candycane"] = "Candy Cane", -- not translated - ["weapon_acidpackage"] = "Acid Package", -- not translated - ["weapon_pistolxm3"] = "WM 29 Pistol", -- not translated - ["weapon_railgunxm3"] = "Railgun", -- not translated - - -- Thrown - ["weapon_ball"] = "Míček", - ["weapon_bzgas"] = "Smrtící slzný plyn", - ["weapon_flare"] = "Světlice", - ["weapon_grenade"] = "Granát", - ["weapon_petrolcan"] = "Kanistr", - ["weapon_hazardcan"] = "Hazardous Jerrycan", - ["weapon_molotov"] = "Molotův koktejl", - ["weapon_proxmine"] = "Pohybová mina", - ["weapon_pipebomb"] = "Trubková bomba", - ["weapon_snowball"] = "Sněhová koule", - ["weapon_stickybomb"] = "C4", - ["weapon_smokegrenade"] = "Slzný plyn", - - -- Special - ["weapon_fireextinguisher"] = "Hasící přístroj", - ["weapon_digiscanner"] = "Skener", - ["weapon_garbagebag"] = "Odpadkový pytel", - ["weapon_handcuffs"] = "Pouta", - ["gadget_nightvision"] = "Noční vidění", - ["gadget_parachute"] = "Padák", - - -- Weapon Components - ["component_knuckle_base"] = "base Model", - ["component_knuckle_pimp"] = "the Pimp", - ["component_knuckle_ballas"] = "the Ballas", - ["component_knuckle_dollar"] = "the Hustler", - ["component_knuckle_diamond"] = "the Rock", - ["component_knuckle_hate"] = "the Hater", - ["component_knuckle_love"] = "the Lover", - ["component_knuckle_player"] = "the Player", - ["component_knuckle_king"] = "the King", - ["component_knuckle_vagos"] = "the Vagos", - - ["component_luxary_finish"] = "luxary Weapon Finish", - - ["component_handle_default"] = "default Handle", - ["component_handle_vip"] = "vIP Handle", - ["component_handle_bodyguard"] = "bodyguard Handle", - - ["component_vip_finish"] = "vIP Finish", - ["component_bodyguard_finish"] = "bodyguard Finish", - - ["component_camo_finish"] = "digital Camo", - ["component_camo_finish2"] = "brushstroke Camo", - ["component_camo_finish3"] = "woodland Camo", - ["component_camo_finish4"] = "skull Camo", - ["component_camo_finish5"] = "sessanta Nove Camo", - ["component_camo_finish6"] = "perseus Camo", - ["component_camo_finish7"] = "leopard Camo", - ["component_camo_finish8"] = "zebra Camo", - ["component_camo_finish9"] = "geometric Camo", - ["component_camo_finish10"] = "boom Camo", - ["component_camo_finish11"] = "patriotic Camo", - - ["component_camo_slide_finish"] = "digital Slide Camo", - ["component_camo_slide_finish2"] = "brushstroke Slide Camo", - ["component_camo_slide_finish3"] = "woodland Slide Camo", - ["component_camo_slide_finish4"] = "skull Slide Camo", - ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", - ["component_camo_slide_finish6"] = "perseus Slide Camo", - ["component_camo_slide_finish7"] = "leopard Slide Camo", - ["component_camo_slide_finish8"] = "zebra Slide Camo", - ["component_camo_slide_finish9"] = "geometric Slide Camo", - ["component_camo_slide_finish10"] = "boom Slide Camo", - ["component_camo_slide_finish11"] = "patriotic Slide Camo", - - ["component_clip_default"] = "default Magazine", - ["component_clip_extended"] = "extended Magazine", - ["component_clip_drum"] = "drum Magazine", - ["component_clip_box"] = "box Magazine", - - ["component_scope_holo"] = "holographic Scope", - ["component_scope_small"] = "small Scope", - ["component_scope_medium"] = "medium Scope", - ["component_scope_large"] = "large Scope", - ["component_scope"] = "mounted Scope", - ["component_scope_advanced"] = "advanced Scope", - ["component_ironsights"] = "ironsights", - - ["component_suppressor"] = "suppressor", - ["component_compensator"] = "compensator", - - ["component_muzzle_flat"] = "flat Muzzle Brake", - ["component_muzzle_tactical"] = "tactical Muzzle Brake", - ["component_muzzle_fat"] = "fat-End Muzzle Brake", - ["component_muzzle_precision"] = "precision Muzzle Brake", - ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", - ["component_muzzle_slanted"] = "slanted Muzzle Brake", - ["component_muzzle_split"] = "split-End Muzzle Brake", - ["component_muzzle_squared"] = "squared Muzzle Brake", - - ["component_flashlight"] = "flashlight", - ["component_grip"] = "grip", - - ["component_barrel_default"] = "default Barrel", - ["component_barrel_heavy"] = "heavy Barrel", - - ["component_ammo_tracer"] = "tracer Ammo", - ["component_ammo_incendiary"] = "incendiary Ammo", - ["component_ammo_hollowpoint"] = "hollowpoint Ammo", - ["component_ammo_fmj"] = "fMJ Ammo", - ["component_ammo_armor"] = "armor Piercing Ammo", - ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", - - ["component_shells_default"] = "default Shells", - ["component_shells_incendiary"] = "dragons Breath Shells", - ["component_shells_armor"] = "steel Buckshot Shells", - ["component_shells_hollowpoint"] = "flechette Shells", - ["component_shells_explosive"] = "explosive Slug Shells", - - -- Weapon Ammo - ["ammo_rounds"] = "round(s)", - ["ammo_shells"] = "shell(s)", - ["ammo_charge"] = "charge", - ["ammo_petrol"] = "gallons of fuel", - ["ammo_firework"] = "firework(s)", - ["ammo_rockets"] = "rocket(s)", - ["ammo_grenadelauncher"] = "grenade(s)", - ["ammo_grenade"] = "grenade(s)", - ["ammo_stickybomb"] = "bomb(s)", - ["ammo_pipebomb"] = "bomb(s)", - ["ammo_smokebomb"] = "bomb(s)", - ["ammo_molotov"] = "cocktail(s)", - ["ammo_proxmine"] = "mine(s)", - ["ammo_bzgas"] = "can(s)", - ["ammo_ball"] = "ball(s)", - ["ammo_snowball"] = "snowball(s)", - ["ammo_flare"] = "flare(s)", - ["ammo_flaregun"] = "flare(s)", - - -- Weapon Tints - ["tint_default"] = "default skin", - ["tint_green"] = "green skin", - ["tint_gold"] = "gold skin", - ["tint_pink"] = "pink skin", - ["tint_army"] = "army skin", - ["tint_lspd"] = "blue skin", - ["tint_orange"] = "orange skin", - ["tint_platinum"] = "platinum skin", + -- Inventory + ["inventory"] = "Inventář ( Váha %s / %s )", + ["use"] = "Použít", + ["give"] = "Darovat", + ["remove"] = "Odhodit", + ["return"] = "Vrátit", + ["give_to"] = "Darováno", + ["amount"] = "Počet", + ["giveammo"] = "Podat náboje", + ["amountammo"] = "Počet nábojů", + ["noammo"] = "Nedostatek!", + ["gave_item"] = "Daroval %sx %s pro %s", + ["received_item"] = "Získáno %sx %s od %s", + ["gave_weapon"] = "Předání %s pro %s", + ["gave_weapon_ammo"] = "Darování ~o~%sx %s do %s pro %s", + ["gave_weapon_withammo"] = "Darování %s s ~o~%sx %s pro %s", + ["gave_weapon_hasalready"] = "%s již vlastní %s", + ["gave_weapon_noweapon"] = "%s nemá tuto zbraň", + ["received_weapon"] = "Obdrženo %s od %s", + ["received_weapon_ammo"] = "Obdrženo ~o~%sx %s pro zbraň %s od %s", + ["received_weapon_withammo"] = "Obdrženo %s s ~o~%sx %s od %s", + ["received_weapon_hasalready"] = "%s se snažil darovat %s, ale již tuto zbraň máš", + ["received_weapon_noweapon"] = "%s se snažil ti dát náboje %s, ale nemáš potřebnou zbrań", + ["gave_account_money"] = "Darováno $%s (%s) pro %s", + ["received_account_money"] = "Získáno $%s (%s) od %s", + ["amount_invalid"] = "Špatné množství", + ["players_nearby"] = "Žádný hráč není poblíž", + ["ex_inv_lim"] = "Nelze sebrat,protože máš plné kapsy %s", + ["imp_invalid_quantity"] = "Neplatné množství", + ["imp_invalid_amount"] = "Nelze provést, neplatné množství", + ["threw_standard"] = "Zahozeno %sx %s", + ["threw_account"] = "Zahozeno $%s %s", + ["threw_weapon"] = "Zahozeno %s", + ["threw_weapon_ammo"] = "Zahozeno %s s ~o~%sx %s", + ["threw_weapon_already"] = "Již vlastníš tuto zbraň", + ["threw_cannot_pickup"] = "Kapsy máš plné, nemůžeš sebrat!", + ["threw_pickup_prompt"] = "Zmáčkni E pro sebrání!", + + -- Key mapping + ["keymap_showinventory"] = "Otevřít inventář", + + -- Salary related + ["received_salary"] = "Obdržel jsi: $%s", + ["received_help"] = "Obdržel jsi svůj podíl: $%s", + ["company_nomoney"] = "Firma kde pracujete je příliš chudá, aby vám zaplatila", + ["received_paycheck"] = "Obdržena platba", + ["bank"] = "Banka", + ["account_bank"] = "V bance", + ["account_black_money"] = "Špináve peníze", + ["account_money"] = "V kapse", + + ["act_imp"] = "Nelze provést", + ["in_vehicle"] = "Nelze provést, hráč je v autě", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", + + -- Commands + ["command_bring"] = "Přivolat si hráče k sobě", + ["command_car"] = "Spawnout vozidlo", + ["command_car_car"] = "Zadej jméno vozidla nebo spawnname", + ["command_cardel"] = "Odstranění vozidla v okolí", + ["command_cardel_radius"] = "Odstranění vozidla v určeném dosahu", + ["command_repair"] = "Repair your vehicle", + ["command_repair_success"] = "Successfully repaired vehicle", + ["command_repair_success_target"] = "An admin repaired your vehicle", + ["command_clear"] = "Vymazat text v chatu", + ["command_clearall"] = "Vymazat chet pro všechny hráče", + ["command_clearinventory"] = "Vymazat všechny věci z invetáře hráče", + ["command_clearloadout"] = "Vymazat všechny zbraně z inventáře hráče", + ["command_freeze"] = "Zmrazit hráče", + ["command_unfreeze"] = "Odmrazit hráče", + ["command_giveaccountmoney"] = "Poslat peníze na účet ", + ["command_giveaccountmoney_account"] = "Převést peníze na účet", + ["command_giveaccountmoney_amount"] = "Částka k poslání", + ["command_giveaccountmoney_invalid"] = "Neplátné jméno", + ["command_giveitem"] = "Darovat věc hráči", + ["command_giveitem_item"] = "Název věci", + ["command_giveitem_count"] = "Množství", + ["command_giveweapon"] = "Dát zbraň hráči", + ["command_giveweapon_weapon"] = "Název zbraně", + ["command_giveweapon_ammo"] = "Množství náboje", + ["command_giveweapon_hasalready"] = "Hráč již má tuto zbraň", + ["command_giveweaponcomponent"] = "Darovat přídavek na zbraň", + ["command_giveweaponcomponent_component"] = "Název zbraně", + ["command_giveweaponcomponent_invalid"] = "Špatné jméno přídavku", + ["command_giveweaponcomponent_hasalready"] = "Hráč již má tento přídavek", + ["command_giveweaponcomponent_missingweapon"] = "Hráč nemá tuto zbrań", + ["command_goto"] = "Teleportování sebe k hráči", + ["command_kill"] = "Zabití hráče", + ["command_save"] = "Uložení dat hráče", + ["command_saveall"] = "Uložení veškerých dat hráče", + ["command_setaccountmoney"] = "Nastavení určeného počtu peněz", + ["command_setaccountmoney_amount"] = "Počet peněz", + ["command_setcoords"] = "Teleportování na určené souřadnice", + ["command_setcoords_x"] = "Hodnota X", + ["command_setcoords_y"] = "Hodnota Y", + ["command_setcoords_z"] = "Hodnota Z", + ["command_setjob"] = "Nastavit práci hráči", + ["command_setjob_job"] = "Název práce", + ["command_setjob_grade"] = "Pozice ve firmě", + ["command_setjob_invalid"] = "Špatné zadání práce,hodnosti nebo i obou hodnot", + ["command_setgroup"] = "Nastavení práv hráči", + ["command_setgroup_group"] = "Název skupiny", + ["commanderror_argumentmismatch"] = "Chybný počet hodnot (správně %s, potřebných %s)", + ["commanderror_argumentmismatch_number"] = "Chybně zadaná hodnot #%s (správně, špatně)", + ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", + ["commanderror_invaliditem"] = "Špatný předmět", + ["commanderror_invalidweapon"] = "Špatná zbraň", + ["commanderror_console"] = "příkaz nelze být zpracován v konzoli", + ["commanderror_invalidcommand"] = "Špatný příkaz - /%s", + ["commanderror_invalidplayerid"] = "Hráč není dostupný", + ["commandgeneric_playerid"] = "Id hráče", + ["command_giveammo_noweapon_found"] = "%s nemá tuto zbraň", + ["command_giveammo_weapon"] = "Název zbraně", + ["command_giveammo_ammo"] = "Počet nábojů", + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "£%s", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "Dýka", + ["weapon_bat"] = "Baseballová pálka", + ["weapon_battleaxe"] = "Bitevní sekera", + ["weapon_bottle"] = "Rozbitá lahve", + ["weapon_crowbar"] = "Páčidlo", + ["weapon_flashlight"] = "Baterka", + ["weapon_golfclub"] = "Golfová hůl", + ["weapon_hammer"] = "Kladivo", + ["weapon_hatchet"] = "Sekera", + ["weapon_knife"] = "Nůž", + ["weapon_knuckle"] = "Boxer", + ["weapon_machete"] = "Mačeta", + ["weapon_nightstick"] = "Policejní obušek", + ["weapon_wrench"] = "Francouzský klíč", + ["weapon_poolcue"] = "Kulečníkové tágo", + ["weapon_stone_hatchet"] = "Kamenná sekera", + ["weapon_switchblade"] = "Vystřelovací nůž", + + -- Handguns + ["weapon_appistol"] = "AP pistol", + ["weapon_ceramicpistol"] = "Ceramic pistol", + ["weapon_combatpistol"] = "Combat pistol", + ["weapon_doubleaction"] = "Double-Action Revolver", + ["weapon_navyrevolver"] = "Navy Revolver", + ["weapon_flaregun"] = "Flaregun", + ["weapon_gadgetpistol"] = "Gadget Pistol", + ["weapon_heavypistol"] = "Heavy Pistol", + ["weapon_revolver"] = "Heavy Revolver", + ["weapon_revolver_mk2"] = "Heavy Revolver MK2", + ["weapon_marksmanpistol"] = "Marksman Pistol", + ["weapon_pistol"] = "Pistol", + ["weapon_pistol_mk2"] = "Pistol MK2", + ["weapon_pistol50"] = "Pistol .50", + ["weapon_snspistol"] = "SNS Pistol", + ["weapon_snspistol_mk2"] = "SNS Pistol MK2", + ["weapon_stungun"] = "Taser", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "Vintage Pistol", + + -- Shotguns + ["weapon_assaultshotgun"] = "Assault Shotgun", + ["weapon_autoshotgun"] = "Auto Shotgun", + ["weapon_bullpupshotgun"] = "Bullpup Shotgun", + ["weapon_combatshotgun"] = "Combat Shotgun", + ["weapon_dbshotgun"] = "Double Barrel Shotgun", + ["weapon_heavyshotgun"] = "Heavy Shotgun", + ["weapon_musket"] = "Musket", + ["weapon_pumpshotgun"] = "Pump Shotgun", + ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", + ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", + + -- SMG & LMG + ["weapon_assaultsmg"] = "Assault SMG", + ["weapon_combatmg"] = "Combat MG", + ["weapon_combatmg_mk2"] = "Combat MG MK2", + ["weapon_combatpdw"] = "Combat PDW", + ["weapon_gusenberg"] = "Gusenberg Sweeper", + ["weapon_machinepistol"] = "Machine Pistol", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Micro SMG", + ["weapon_minismg"] = "Mini SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Unholy Hellbringer", + + -- Rifles + ["weapon_advancedrifle"] = "Advanced Rifle", + ["weapon_assaultrifle"] = "Assault Rifle", + ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", + ["weapon_bullpuprifle"] = "Bullpup Rifle", + ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", + ["weapon_carbinerifle"] = "Carbine Rifle", + ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", + ["weapon_compactrifle"] = "Compact Rifle", + ["weapon_militaryrifle"] = "Military Rifle", + ["weapon_specialcarbine"] = "Special Carbine", + ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated + + -- Sniper + ["weapon_heavysniper"] = "Heavy Sniper", + ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", + ["weapon_marksmanrifle"] = "Marksman Rifle", + ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", + ["weapon_sniperrifle"] = "Sniper Rifle", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "Compact Launcher", + ["weapon_firework"] = "Firework Launcher", + ["weapon_grenadelauncher"] = "Grenade Launcher", + ["weapon_hominglauncher"] = "Homing Launcher", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Railgun", + ["weapon_rpg"] = "Rocket Launcher", + ["weapon_rayminigun"] = "Widowmaker", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "Detektor kovu", + ["weapon_precisionrifle"] = "Precision Rifle", + ["weapon_tactilerifle"] = "Service Carbine", + + -- Drug Wars DLC + ["weapon_candycane"] = "Candy Cane", -- not translated + ["weapon_acidpackage"] = "Acid Package", -- not translated + ["weapon_pistolxm3"] = "WM 29 Pistol", -- not translated + ["weapon_railgunxm3"] = "Railgun", -- not translated + + -- Thrown + ["weapon_ball"] = "Míček", + ["weapon_bzgas"] = "Smrtící slzný plyn", + ["weapon_flare"] = "Světlice", + ["weapon_grenade"] = "Granát", + ["weapon_petrolcan"] = "Kanistr", + ["weapon_hazardcan"] = "Hazardous Jerrycan", + ["weapon_molotov"] = "Molotův koktejl", + ["weapon_proxmine"] = "Pohybová mina", + ["weapon_pipebomb"] = "Trubková bomba", + ["weapon_snowball"] = "Sněhová koule", + ["weapon_stickybomb"] = "C4", + ["weapon_smokegrenade"] = "Slzný plyn", + + -- Special + ["weapon_fireextinguisher"] = "Hasící přístroj", + ["weapon_digiscanner"] = "Skener", + ["weapon_garbagebag"] = "Odpadkový pytel", + ["weapon_handcuffs"] = "Pouta", + ["gadget_nightvision"] = "Noční vidění", + ["gadget_parachute"] = "Padák", + + -- Weapon Components + ["component_knuckle_base"] = "base Model", + ["component_knuckle_pimp"] = "the Pimp", + ["component_knuckle_ballas"] = "the Ballas", + ["component_knuckle_dollar"] = "the Hustler", + ["component_knuckle_diamond"] = "the Rock", + ["component_knuckle_hate"] = "the Hater", + ["component_knuckle_love"] = "the Lover", + ["component_knuckle_player"] = "the Player", + ["component_knuckle_king"] = "the King", + ["component_knuckle_vagos"] = "the Vagos", + + ["component_luxary_finish"] = "luxary Weapon Finish", + + ["component_handle_default"] = "default Handle", + ["component_handle_vip"] = "vIP Handle", + ["component_handle_bodyguard"] = "bodyguard Handle", + + ["component_vip_finish"] = "vIP Finish", + ["component_bodyguard_finish"] = "bodyguard Finish", + + ["component_camo_finish"] = "digital Camo", + ["component_camo_finish2"] = "brushstroke Camo", + ["component_camo_finish3"] = "woodland Camo", + ["component_camo_finish4"] = "skull Camo", + ["component_camo_finish5"] = "sessanta Nove Camo", + ["component_camo_finish6"] = "perseus Camo", + ["component_camo_finish7"] = "leopard Camo", + ["component_camo_finish8"] = "zebra Camo", + ["component_camo_finish9"] = "geometric Camo", + ["component_camo_finish10"] = "boom Camo", + ["component_camo_finish11"] = "patriotic Camo", + + ["component_camo_slide_finish"] = "digital Slide Camo", + ["component_camo_slide_finish2"] = "brushstroke Slide Camo", + ["component_camo_slide_finish3"] = "woodland Slide Camo", + ["component_camo_slide_finish4"] = "skull Slide Camo", + ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", + ["component_camo_slide_finish6"] = "perseus Slide Camo", + ["component_camo_slide_finish7"] = "leopard Slide Camo", + ["component_camo_slide_finish8"] = "zebra Slide Camo", + ["component_camo_slide_finish9"] = "geometric Slide Camo", + ["component_camo_slide_finish10"] = "boom Slide Camo", + ["component_camo_slide_finish11"] = "patriotic Slide Camo", + + ["component_clip_default"] = "default Magazine", + ["component_clip_extended"] = "extended Magazine", + ["component_clip_drum"] = "drum Magazine", + ["component_clip_box"] = "box Magazine", + + ["component_scope_holo"] = "holographic Scope", + ["component_scope_small"] = "small Scope", + ["component_scope_medium"] = "medium Scope", + ["component_scope_large"] = "large Scope", + ["component_scope"] = "mounted Scope", + ["component_scope_advanced"] = "advanced Scope", + ["component_ironsights"] = "ironsights", + + ["component_suppressor"] = "suppressor", + ["component_compensator"] = "compensator", + + ["component_muzzle_flat"] = "flat Muzzle Brake", + ["component_muzzle_tactical"] = "tactical Muzzle Brake", + ["component_muzzle_fat"] = "fat-End Muzzle Brake", + ["component_muzzle_precision"] = "precision Muzzle Brake", + ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", + ["component_muzzle_slanted"] = "slanted Muzzle Brake", + ["component_muzzle_split"] = "split-End Muzzle Brake", + ["component_muzzle_squared"] = "squared Muzzle Brake", + + ["component_flashlight"] = "flashlight", + ["component_grip"] = "grip", + + ["component_barrel_default"] = "default Barrel", + ["component_barrel_heavy"] = "heavy Barrel", + + ["component_ammo_tracer"] = "tracer Ammo", + ["component_ammo_incendiary"] = "incendiary Ammo", + ["component_ammo_hollowpoint"] = "hollowpoint Ammo", + ["component_ammo_fmj"] = "fMJ Ammo", + ["component_ammo_armor"] = "armor Piercing Ammo", + ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", + + ["component_shells_default"] = "default Shells", + ["component_shells_incendiary"] = "dragons Breath Shells", + ["component_shells_armor"] = "steel Buckshot Shells", + ["component_shells_hollowpoint"] = "flechette Shells", + ["component_shells_explosive"] = "explosive Slug Shells", + + -- Weapon Ammo + ["ammo_rounds"] = "round(s)", + ["ammo_shells"] = "shell(s)", + ["ammo_charge"] = "charge", + ["ammo_petrol"] = "gallons of fuel", + ["ammo_firework"] = "firework(s)", + ["ammo_rockets"] = "rocket(s)", + ["ammo_grenadelauncher"] = "grenade(s)", + ["ammo_grenade"] = "grenade(s)", + ["ammo_stickybomb"] = "bomb(s)", + ["ammo_pipebomb"] = "bomb(s)", + ["ammo_smokebomb"] = "bomb(s)", + ["ammo_molotov"] = "cocktail(s)", + ["ammo_proxmine"] = "mine(s)", + ["ammo_bzgas"] = "can(s)", + ["ammo_ball"] = "ball(s)", + ["ammo_snowball"] = "snowball(s)", + ["ammo_flare"] = "flare(s)", + ["ammo_flaregun"] = "flare(s)", + + -- Weapon Tints + ["tint_default"] = "default skin", + ["tint_green"] = "green skin", + ["tint_gold"] = "gold skin", + ["tint_pink"] = "pink skin", + ["tint_army"] = "army skin", + ["tint_lspd"] = "blue skin", + ["tint_orange"] = "orange skin", + ["tint_platinum"] = "platinum skin", } diff --git a/server-data/resources/[esx]/es_extended/locales/de.lua b/server-data/resources/[esx]/es_extended/locales/de.lua index 11928e737..4b48d3128 100644 --- a/server-data/resources/[esx]/es_extended/locales/de.lua +++ b/server-data/resources/[esx]/es_extended/locales/de.lua @@ -1,381 +1,381 @@ Locales["de"] = { - -- Inventory - ["inventory"] = "Inventar ( Gewicht %s / %s )", - ["use"] = "Benutzen", - ["give"] = "Geben", - ["remove"] = "Entsorgen", - ["return"] = "Zurück", - ["give_to"] = "Geben an", - ["amount"] = "Anzahl", - ["giveammo"] = "Munition geben", - ["amountammo"] = "Munitions Anzahl", - ["noammo"] = "Nicht Genug!", - ["gave_item"] = "Du gibst %sx %s an %s", - ["received_item"] = "Du bekommst %sx %s von %s", - ["gave_weapon"] = "Du gibst %s an %s", - ["gave_weapon_ammo"] = "Du gibst ~o~%sx %s für %s an %s", - ["gave_weapon_withammo"] = "Du gibst %s mit ~o~%sx %s an %s", - ["gave_weapon_hasalready"] = "%s hat bereits %s", - ["gave_weapon_noweapon"] = "%s hat diese Waffe nicht", - ["received_weapon"] = "Du bekommst %s von %s", - ["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!", - ["gave_account_money"] = "Du gibst %s€ (%s) an %s", - ["received_account_money"] = "Du bekommst %s€ (%s) von %s", - ["amount_invalid"] = "Ungültige Anzahl", - ["players_nearby"] = "Keine Personen in der Nähe!", - ["ex_inv_lim"] = "Du kannst diese Aktion nicht ausführen!, Inventarlimit für %s überschritten.", - ["imp_invalid_quantity"] = "Du kannst diese Aktion nicht ausführen!, Ungültige Anzahl!", - ["imp_invalid_amount"] = "Du kannst diese Aktion nicht ausführen!, Ungültige Anzahl", - ["threw_standard"] = "Du entsorgst %sx %s", - ["threw_account"] = "Du Entsorgst %s€ %s", - ["threw_weapon"] = "Du entsorgst %s", - ["threw_weapon_ammo"] = "Du entsorgst %s mit ~o~%sx %s", - ["threw_weapon_already"] = "Du hast diese Waffe bereits!", - ["threw_cannot_pickup"] = "Inventar ist voll! Du kannst dies nicht aufheben", - ["threw_pickup_prompt"] = "Drücke [E] zum aufheben", - - -- Key mapping - ["keymap_showinventory"] = "Inventar Anzeigen", - - -- Salary related - ["received_salary"] = "Dein Gehaltscheck ist angekommen!: %s€", - ["received_help"] = "Deine Sozialhilfe ist angekommen: %s€", - ["company_nomoney"] = "Die Firma an der du Angestellt bist, ist leider Arm und kann dich nicht bezahlen :(", - ["received_paycheck"] = "Gehaltscheck erhalten", - ["bank"] = "Maze Bank", - ["account_bank"] = "Bank", - ["account_black_money"] = "Schwarzgeld", - ["account_money"] = "Bargeld", - - ["act_imp"] = "Du kannst diese Aktion nicht ausführen!", - ["in_vehicle"] = "Person darf nicht in einem Fahrzeug sein!", - ["not_in_vehicle"] = "Person muss in einem Fahrzeug sein!", - - -- Commands - ["command_bring"] = "Person zu dir bringen", - ["command_car"] = "Fahrzeug Spawnen", - ["command_car_car"] = "Fahrzeug Model oder Hash", - ["command_cardel"] = "Fahrzeuge entfernen", - ["command_cardel_radius"] = "Entfernt alle Fahrzeuge in einem bestimmten Radius", - ["command_repair"] = "Fahrzeug reparieren", - ["command_repair_success"] = "Fahrzeug erfolgreich repariert.", - ["command_repair_success_target"] = "Ein Admin hat dein Fahrzeug repariert.", - ["command_clear"] = "Textchat leeren", - ["command_clearall"] = "Textchat für alle Spieler leeren", - ["command_clearinventory"] = "Alle Gegenstände vom Inventar eines Spielers entfernen", - ["command_clearloadout"] = "Alle Waffen vom Loadout eines Spielers entfernen", - ["command_freeze"] = "Spieler Freezen", - ["command_unfreeze"] = "Spieler Entfreezen", - ["command_giveaccountmoney"] = "Geld an ein bestimmtes Konto geben", - ["command_giveaccountmoney_account"] = "Konto, wohin das Geld hinzugefügt werden soll", - ["command_giveaccountmoney_amount"] = "Menge zum Hinzufügen", - ["command_giveaccountmoney_invalid"] = "Accountname ungültig!", - ["command_giveitem"] = "Spieler ein Gegenstand geben", - ["command_giveitem_item"] = "Gegenstand Name", - ["command_giveitem_count"] = "Menge", - ["command_giveweapon"] = "Spieler eine Waffe geben", - ["command_giveweapon_weapon"] = "Waffenname", - ["command_giveweapon_ammo"] = "Munitionsanzahl", - ["command_giveweapon_hasalready"] = "Spieler hat diese Waffe bereits!", - ["command_giveweaponcomponent"] = "Waffenkomponent an einen Spieler geben", - ["command_giveweaponcomponent_component"] = "Komponentenname", - ["command_giveweaponcomponent_invalid"] = "Ungültiger Komponentenname", - ["command_giveweaponcomponent_hasalready"] = "Spieler hat diese Komponente bereits!", - ["command_giveweaponcomponent_missingweapon"] = "Spieler hat diese Waffe nicht!", - ["command_goto"] = "Teleportiere dich zu einem Spieler", - ["command_kill"] = "Spieler Töten", - ["command_save"] = "Von einem bestimmten Spieler die Spielerdaten speichern", - ["command_saveall"] = "Von allen Spielern die Spielerdaten speichern", - ["command_setaccountmoney"] = "Geld auf einem bestimmten Konto festlegen", - ["command_setaccountmoney_amount"] = "Menge", - ["command_setcoords"] = "Zu den bestimmten Koordinaten teleportieren", - ["command_setcoords_x"] = "X Koordinate", - ["command_setcoords_y"] = "Y Koordinate", - ["command_setcoords_z"] = "Z Koordinate", - ["command_setjob"] = "Job eines Spielers setzen", - ["command_setjob_job"] = "Name", - ["command_setjob_grade"] = "Job Rang", - ["command_setjob_invalid"] = "Der Rang oder der Name und Rang sind ungültig", - ["command_setgroup"] = "Setzt eine Berechtigungs Gruppe für einen Benutzer", - ["command_setgroup_group"] = "Name der Gruppe", - ["command_removeaccountmoney"] = "Entfernt Geld von einem bestimmten Konto", - ["command_removeaccountmoney_account"] = "Konto von dem es entfernt werden soll", - ["command_removeaccountmoney_amount"] = "Menge, die entfernt werden soll", - ["command_removeaccountmoney_invalid"] = "Name des Kontos ungültig", - ["commanderror_argumentmismatch"] = "Ungültiges Argument (gegeben %s, gewollt %s)", - ["commanderror_argumentmismatch_number"] = "Ungültiges Argument #%s Datentyp (String gegeben, Nummer gefordert)", - ["commanderror_argumentmismatch_string"] = "Ungültiges Argument #%s Datentyp (Nummer gegeben, String gefordert)", - ["commanderror_invaliditem"] = "Ungültiger Gegenstand", - ["commanderror_invalidweapon"] = "Ungültige Waffe", - ["commanderror_console"] = "Befehl kann nicht von der Konsole aus ausgeführt werden!", - ["commanderror_invalidcommand"] = "Ungültiger Befehl - /%s", - ["commanderror_invalidplayerid"] = "Angegebener Spieler ist nicht online!", - ["commandgeneric_playerid"] = "Spieler ID", - ["command_giveammo_noweapon_found"] = "%s besitzt diese Waffe nicht!", - ["command_giveammo_weapon"] = "Waffenname", - ["command_giveammo_ammo"] = "Munitionsanzahl", - ["tpm_nowaypoint"] = "Kein Wegpunkt gesetzt!", - ["tpm_success"] = "Erfolgreich teleportiert.", - - ["noclip_message"] = "Noclip wurde %s", - ["enabled"] = "~g~Aktiviert~s~", - ["disabled"] = "~r~Deaktiviert~s~", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "%s€", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "Dolch", - ["weapon_bat"] = "Baseballschläger", - ["weapon_battleaxe"] = "Kampfaxt", - ["weapon_bottle"] = "Flasche", - ["weapon_crowbar"] = "Brechstange", - ["weapon_flashlight"] = "Taschenlampe", - ["weapon_golfclub"] = "Golfschläger", - ["weapon_hammer"] = "Hammer", - ["weapon_hatchet"] = "Beil", - ["weapon_knife"] = "Messer", - ["weapon_knuckle"] = "Schlagring", - ["weapon_machete"] = "Machete", - ["weapon_nightstick"] = "Schlagstock", - ["weapon_wrench"] = "Rohrzange", - ["weapon_poolcue"] = "Billiardstange", - ["weapon_stone_hatchet"] = "Steinbeil", - ["weapon_switchblade"] = "Springmesser", - - -- Handguns - ["weapon_appistol"] = "AP Pistole", - ["weapon_ceramicpistol"] = "Keramikpistole", - ["weapon_combatpistol"] = "Kampfpistole", - ["weapon_doubleaction"] = "Double-Action Revolver", - ["weapon_navyrevolver"] = "Navy Revolver", - ["weapon_flaregun"] = "Flaregun", - ["weapon_gadgetpistol"] = "Gadgetpistole", - ["weapon_heavypistol"] = "Schwere Pistole", - ["weapon_revolver"] = "Schwerer Revolver", - ["weapon_revolver_mk2"] = "Schwerer Revolver MK2", - ["weapon_marksmanpistol"] = "Scharfschützen Pistole", - ["weapon_pistol"] = "Pistole", - ["weapon_pistol_mk2"] = "Pistole MK2", - ["weapon_pistol50"] = "Pistole 50 Kaliber", - ["weapon_snspistol"] = "SNS Pistol", - ["weapon_snspistol_mk2"] = "SNS Pistol MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "Vintagepistole", - - -- Shotguns - ["weapon_assaultshotgun"] = "Sturmschrotflinte", - ["weapon_autoshotgun"] = "Automatische Schrotflinte", - ["weapon_bullpupshotgun"] = "Bullpup-Schrotflinte", - ["weapon_combatshotgun"] = "Kampfschrotfline", - ["weapon_dbshotgun"] = "Doppelbarrel Schrotflinte", - ["weapon_heavyshotgun"] = "Schwere Schrotflinte", - ["weapon_musket"] = "Muskete", - ["weapon_pumpshotgun"] = "Pump Schrotflinte", - ["weapon_pumpshotgun_mk2"] = "Pump Schrotflinte MK2", - ["weapon_sawnoffshotgun"] = "Abgesägte Schrotflinte", - - -- SMG & LMG - ["weapon_assaultsmg"] = "Sturm SMG", - ["weapon_combatmg"] = "Kampf MG", - ["weapon_combatmg_mk2"] = "Kampf MG MK2", - ["weapon_combatpdw"] = "Kampf PDW", - ["weapon_gusenberg"] = "Gusenberg Sweeper", - ["weapon_machinepistol"] = "Maschinenpistole", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Mikro SMG", - ["weapon_minismg"] = "Mini SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Unheiliger Höllenbringer", - - -- Rifles - ["weapon_advancedrifle"] = "Fortgeschrittenes Gewehr", - ["weapon_assaultrifle"] = "Sturmgewehr", - ["weapon_assaultrifle_mk2"] = "Sturmgewehr MK2", - ["weapon_bullpuprifle"] = "Bullpup Gewehr", - ["weapon_bullpuprifle_mk2"] = "Bullpup Gewehr MK2", - ["weapon_carbinerifle"] = "Karabinergewehr", - ["weapon_carbinerifle_mk2"] = "Karabinergewehr MK2", - ["weapon_compactrifle"] = "Kompaktesgewehr", - ["weapon_militaryrifle"] = "Militärgewehr", - ["weapon_specialcarbine"] = "Spezialkarabiner", - ["weapon_specialcarbine_mk2"] = "Spezialkarabiner MK2", - ["weapon_heavyrifle"] = "Schweres Gewehr", - - -- Sniper - ["weapon_heavysniper"] = "Schwere Sniper", - ["weapon_heavysniper_mk2"] = "Schwere Sniper MK2", - ["weapon_marksmanrifle"] = "Scharfschützengewehr", - ["weapon_marksmanrifle_mk2"] = "Scharfschützengewehr MK2", - ["weapon_sniperrifle"] = "Sniper", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Kompaktlauncher", - ["weapon_firework"] = "Feuerwerklauncher", - ["weapon_grenadelauncher"] = "Granatwerfer", - ["weapon_hominglauncher"] = "Lenkraketenwerfer", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Railgun", - ["weapon_rpg"] = "Raketenwerfer", - ["weapon_rayminigun"] = "Witwenmacher", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "Metalldetektor", - ["weapon_precisionrifle"] = "Präzisionsgewehr", - ["weapon_tactilerifle"] = "Service Karabiner", - - -- Drug Wars DLC - ["weapon_candycane"] = "Zuckerstange", - ["weapon_acidpackage"] = "Säure Paket", - ["weapon_pistolxm3"] = "WM 29 Pistole", - ["weapon_railgunxm3"] = "Railgun", - - -- Thrown - ["weapon_ball"] = "Baseball", - ["weapon_bzgas"] = "BZ Gas", - ["weapon_flare"] = "Leuchtfackel", - ["weapon_grenade"] = "Granate", - ["weapon_petrolcan"] = "Benzinkanister", - ["weapon_hazardcan"] = "Gefährliche Kanister", - ["weapon_molotov"] = "Molotov Cocktail", - ["weapon_proxmine"] = "Annährungsmine", - ["weapon_pipebomb"] = "Rohrbombe", - ["weapon_snowball"] = "Schneeball", - ["weapon_stickybomb"] = "Haftbombe", - ["weapon_smokegrenade"] = "Tränengas", - - -- Special - ["weapon_fireextinguisher"] = "Feuerlöscher", - ["weapon_digiscanner"] = "Digitalscanner", - ["weapon_garbagebag"] = "Müllsack", - ["weapon_handcuffs"] = "Handschelle", - ["gadget_nightvision"] = "Nachtsicht", - ["gadget_parachute"] = "Fallschirm", - - -- Weapon Components - ["component_knuckle_base"] = "Basismodell", - ["component_knuckle_pimp"] = "Der Pimp", - ["component_knuckle_ballas"] = "Die Ballas", - ["component_knuckle_dollar"] = "Der Hustler", - ["component_knuckle_diamond"] = "Der Stein", - ["component_knuckle_hate"] = "Der Hater", - ["component_knuckle_love"] = "Der Lover", - ["component_knuckle_player"] = "Der Player", - ["component_knuckle_king"] = "Der King", - ["component_knuckle_vagos"] = "Die Vagos", - - ["component_luxary_finish"] = "Luxuswaffenlackierung", - - ["component_handle_default"] = "Normaler Handgriff", - ["component_handle_vip"] = "VIP Handgriff", - ["component_handle_bodyguard"] = "Bodyguard Handgriff", - - ["component_vip_finish"] = "VIP Lackierung", - ["component_bodyguard_finish"] = "Bodyguard Lackierung", - - ["component_camo_finish"] = "Digitales Camouflage", - ["component_camo_finish2"] = "Pinselstrich Camouflage", - ["component_camo_finish3"] = "Holzland Camouflage", - ["component_camo_finish4"] = "Kopf Camouflage", - ["component_camo_finish5"] = "Sessebta-Nove Camouflage", - ["component_camo_finish6"] = "Perseus Camouflage", - ["component_camo_finish7"] = "Leopard Camouflage", - ["component_camo_finish8"] = "Zebra Camouflage", - ["component_camo_finish9"] = "Geometrisch Camouflage", - ["component_camo_finish10"] = "BOOM Camouflage", - ["component_camo_finish11"] = "Patriotisch Camouflage", - - ["component_camo_slide_finish"] = "Digital Rutschen Camouflage", - ["component_camo_slide_finish2"] = "Pinselstrich Rutschen Camouflage", - ["component_camo_slide_finish3"] = "Holzland Rutschen Camouflage", - ["component_camo_slide_finish4"] = "Kopf Rutschen Camouflage", - ["component_camo_slide_finish5"] = "Sessebta-Nove Nove Rutschen Camouflage", - ["component_camo_slide_finish6"] = "Perseus Rutschen Camouflage", - ["component_camo_slide_finish7"] = "Leopard Rutschen Camouflage", - ["component_camo_slide_finish8"] = "Zebra Rutschen Camouflage", - ["component_camo_slide_finish9"] = "Geometrisch Rutschen Camouflage", - ["component_camo_slide_finish10"] = "BOOM Rutschen Camouflage", - ["component_camo_slide_finish11"] = "Patriotisch Rutschen Camouflage", - - ["component_clip_default"] = "Standart Magazin", - ["component_clip_extended"] = "Erweiterters Magazin", - ["component_clip_drum"] = "Trommelmagazin", - ["component_clip_box"] = "Kastenmagazin", - - ["component_scope_holo"] = "Holographisches Zielfernrohr", - ["component_scope_small"] = "Kleines Zielfernrohr", - ["component_scope_medium"] = "Mittleres Zielfernrohr", - ["component_scope_large"] = "Großes Zielfernrohr", - ["component_scope"] = "Montiertes Zielfernrohr", - ["component_scope_advanced"] = "Fortgeschrittenes Zielfernrohr", - ["component_ironsights"] = "Ironsights", - - ["component_suppressor"] = "Entstörer", - ["component_compensator"] = "Kompensator", - - ["component_muzzle_flat"] = "Flache Mündung", - ["component_muzzle_tactical"] = "Taktische Mündung", - ["component_muzzle_fat"] = "Fettes-Ende Mündung", - ["component_muzzle_precision"] = "Präzision Mündung", - ["component_muzzle_heavy"] = "Schwere Mündung", - ["component_muzzle_slanted"] = "Schräge Mündung", - ["component_muzzle_split"] = "Geteiletes-Ende Mündung", - ["component_muzzle_squared"] = "Quadratische Mündung", - - ["component_flashlight"] = "Taschenlampe", - ["component_grip"] = "Grip", - - ["component_barrel_default"] = "Normales Fass", - ["component_barrel_heavy"] = "Schweres Fass", - - ["component_ammo_tracer"] = "Tracer Munition", - ["component_ammo_incendiary"] = "Aufruhr Munition", - ["component_ammo_hollowpoint"] = "Hohlspitze Munition", - ["component_ammo_fmj"] = "FMJ Munition", - ["component_ammo_armor"] = "Panzerbrechende Munition", - ["component_ammo_explosive"] = "Panzerbrechende brennende Munition", - - ["component_shells_default"] = "Normale Hülsen", - ["component_shells_incendiary"] = "Drachenatem Hülsen", - ["component_shells_armor"] = "Stahlschrot Hülsen", - ["component_shells_hollowpoint"] = "Flechette Hülsen", - ["component_shells_explosive"] = "Explosives Geschoss Hülsen", - - -- Weapon Ammo - ["ammo_rounds"] = "Kugel(n)", - ["ammo_shells"] = "Schrotpatrone(n)", - ["ammo_charge"] = "Nachladen", - ["ammo_petrol"] = "Benzinkanister", - ["ammo_firework"] = "Feuerwerksrakete(n)", - ["ammo_rockets"] = "Rakete(n)", - ["ammo_grenadelauncher"] = "Granate(n)", - ["ammo_grenade"] = "Granate(n)", - ["ammo_stickybomb"] = "C4(s)", - ["ammo_pipebomb"] = "Rohrbombe(n)", - ["ammo_smokebomb"] = "Rauchgranate(n)", - ["ammo_molotov"] = "Molotovcocktail(s)", - ["ammo_proxmine"] = "Annäherungsmine(n)", - ["ammo_bzgas"] = "Bzgas", - ["ammo_ball"] = "Ball", - ["ammo_snowball"] = "Schneebälle", - ["ammo_flare"] = "Signalfackel(n)", - ["ammo_flaregun"] = "Signalfackeln(munition)", - - -- Weapon Tints - ["tint_default"] = "Standard", - ["tint_green"] = "Grün", - ["tint_gold"] = "Gold", - ["tint_pink"] = "Pink", - ["tint_army"] = "Camouflage", - ["tint_lspd"] = "Blau", - ["tint_orange"] = "Orange", - ["tint_platinum"] = "Platin", + -- Inventory + ["inventory"] = "Inventar ( Gewicht %s / %s )", + ["use"] = "Benutzen", + ["give"] = "Geben", + ["remove"] = "Entsorgen", + ["return"] = "Zurück", + ["give_to"] = "Geben an", + ["amount"] = "Anzahl", + ["giveammo"] = "Munition geben", + ["amountammo"] = "Munitions Anzahl", + ["noammo"] = "Nicht Genug!", + ["gave_item"] = "Du gibst %sx %s an %s", + ["received_item"] = "Du bekommst %sx %s von %s", + ["gave_weapon"] = "Du gibst %s an %s", + ["gave_weapon_ammo"] = "Du gibst ~o~%sx %s für %s an %s", + ["gave_weapon_withammo"] = "Du gibst %s mit ~o~%sx %s an %s", + ["gave_weapon_hasalready"] = "%s hat bereits %s", + ["gave_weapon_noweapon"] = "%s hat diese Waffe nicht", + ["received_weapon"] = "Du bekommst %s von %s", + ["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!", + ["gave_account_money"] = "Du gibst %s€ (%s) an %s", + ["received_account_money"] = "Du bekommst %s€ (%s) von %s", + ["amount_invalid"] = "Ungültige Anzahl", + ["players_nearby"] = "Keine Personen in der Nähe!", + ["ex_inv_lim"] = "Du kannst diese Aktion nicht ausführen!, Inventarlimit für %s überschritten.", + ["imp_invalid_quantity"] = "Du kannst diese Aktion nicht ausführen!, Ungültige Anzahl!", + ["imp_invalid_amount"] = "Du kannst diese Aktion nicht ausführen!, Ungültige Anzahl", + ["threw_standard"] = "Du entsorgst %sx %s", + ["threw_account"] = "Du Entsorgst %s€ %s", + ["threw_weapon"] = "Du entsorgst %s", + ["threw_weapon_ammo"] = "Du entsorgst %s mit ~o~%sx %s", + ["threw_weapon_already"] = "Du hast diese Waffe bereits!", + ["threw_cannot_pickup"] = "Inventar ist voll! Du kannst dies nicht aufheben", + ["threw_pickup_prompt"] = "Drücke [E] zum aufheben", + + -- Key mapping + ["keymap_showinventory"] = "Inventar Anzeigen", + + -- Salary related + ["received_salary"] = "Dein Gehaltscheck ist angekommen!: %s€", + ["received_help"] = "Deine Sozialhilfe ist angekommen: %s€", + ["company_nomoney"] = "Die Firma an der du Angestellt bist, ist leider Arm und kann dich nicht bezahlen :(", + ["received_paycheck"] = "Gehaltscheck erhalten", + ["bank"] = "Maze Bank", + ["account_bank"] = "Bank", + ["account_black_money"] = "Schwarzgeld", + ["account_money"] = "Bargeld", + + ["act_imp"] = "Du kannst diese Aktion nicht ausführen!", + ["in_vehicle"] = "Person darf nicht in einem Fahrzeug sein!", + ["not_in_vehicle"] = "Person muss in einem Fahrzeug sein!", + + -- Commands + ["command_bring"] = "Person zu dir bringen", + ["command_car"] = "Fahrzeug Spawnen", + ["command_car_car"] = "Fahrzeug Model oder Hash", + ["command_cardel"] = "Fahrzeuge entfernen", + ["command_cardel_radius"] = "Entfernt alle Fahrzeuge in einem bestimmten Radius", + ["command_repair"] = "Fahrzeug reparieren", + ["command_repair_success"] = "Fahrzeug erfolgreich repariert.", + ["command_repair_success_target"] = "Ein Admin hat dein Fahrzeug repariert.", + ["command_clear"] = "Textchat leeren", + ["command_clearall"] = "Textchat für alle Spieler leeren", + ["command_clearinventory"] = "Alle Gegenstände vom Inventar eines Spielers entfernen", + ["command_clearloadout"] = "Alle Waffen vom Loadout eines Spielers entfernen", + ["command_freeze"] = "Spieler Freezen", + ["command_unfreeze"] = "Spieler Entfreezen", + ["command_giveaccountmoney"] = "Geld an ein bestimmtes Konto geben", + ["command_giveaccountmoney_account"] = "Konto, wohin das Geld hinzugefügt werden soll", + ["command_giveaccountmoney_amount"] = "Menge zum Hinzufügen", + ["command_giveaccountmoney_invalid"] = "Accountname ungültig!", + ["command_giveitem"] = "Spieler ein Gegenstand geben", + ["command_giveitem_item"] = "Gegenstand Name", + ["command_giveitem_count"] = "Menge", + ["command_giveweapon"] = "Spieler eine Waffe geben", + ["command_giveweapon_weapon"] = "Waffenname", + ["command_giveweapon_ammo"] = "Munitionsanzahl", + ["command_giveweapon_hasalready"] = "Spieler hat diese Waffe bereits!", + ["command_giveweaponcomponent"] = "Waffenkomponent an einen Spieler geben", + ["command_giveweaponcomponent_component"] = "Komponentenname", + ["command_giveweaponcomponent_invalid"] = "Ungültiger Komponentenname", + ["command_giveweaponcomponent_hasalready"] = "Spieler hat diese Komponente bereits!", + ["command_giveweaponcomponent_missingweapon"] = "Spieler hat diese Waffe nicht!", + ["command_goto"] = "Teleportiere dich zu einem Spieler", + ["command_kill"] = "Spieler Töten", + ["command_save"] = "Von einem bestimmten Spieler die Spielerdaten speichern", + ["command_saveall"] = "Von allen Spielern die Spielerdaten speichern", + ["command_setaccountmoney"] = "Geld auf einem bestimmten Konto festlegen", + ["command_setaccountmoney_amount"] = "Menge", + ["command_setcoords"] = "Zu den bestimmten Koordinaten teleportieren", + ["command_setcoords_x"] = "X Koordinate", + ["command_setcoords_y"] = "Y Koordinate", + ["command_setcoords_z"] = "Z Koordinate", + ["command_setjob"] = "Job eines Spielers setzen", + ["command_setjob_job"] = "Name", + ["command_setjob_grade"] = "Job Rang", + ["command_setjob_invalid"] = "Der Rang oder der Name und Rang sind ungültig", + ["command_setgroup"] = "Setzt eine Berechtigungs Gruppe für einen Benutzer", + ["command_setgroup_group"] = "Name der Gruppe", + ["command_removeaccountmoney"] = "Entfernt Geld von einem bestimmten Konto", + ["command_removeaccountmoney_account"] = "Konto von dem es entfernt werden soll", + ["command_removeaccountmoney_amount"] = "Menge, die entfernt werden soll", + ["command_removeaccountmoney_invalid"] = "Name des Kontos ungültig", + ["commanderror_argumentmismatch"] = "Ungültiges Argument (gegeben %s, gewollt %s)", + ["commanderror_argumentmismatch_number"] = "Ungültiges Argument #%s Datentyp (String gegeben, Nummer gefordert)", + ["commanderror_argumentmismatch_string"] = "Ungültiges Argument #%s Datentyp (Nummer gegeben, String gefordert)", + ["commanderror_invaliditem"] = "Ungültiger Gegenstand", + ["commanderror_invalidweapon"] = "Ungültige Waffe", + ["commanderror_console"] = "Befehl kann nicht von der Konsole aus ausgeführt werden!", + ["commanderror_invalidcommand"] = "Ungültiger Befehl - /%s", + ["commanderror_invalidplayerid"] = "Angegebener Spieler ist nicht online!", + ["commandgeneric_playerid"] = "Spieler ID", + ["command_giveammo_noweapon_found"] = "%s besitzt diese Waffe nicht!", + ["command_giveammo_weapon"] = "Waffenname", + ["command_giveammo_ammo"] = "Munitionsanzahl", + ["tpm_nowaypoint"] = "Kein Wegpunkt gesetzt!", + ["tpm_success"] = "Erfolgreich teleportiert.", + + ["noclip_message"] = "Noclip wurde %s", + ["enabled"] = "~g~Aktiviert~s~", + ["disabled"] = "~r~Deaktiviert~s~", + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "%s€", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "Dolch", + ["weapon_bat"] = "Baseballschläger", + ["weapon_battleaxe"] = "Kampfaxt", + ["weapon_bottle"] = "Flasche", + ["weapon_crowbar"] = "Brechstange", + ["weapon_flashlight"] = "Taschenlampe", + ["weapon_golfclub"] = "Golfschläger", + ["weapon_hammer"] = "Hammer", + ["weapon_hatchet"] = "Beil", + ["weapon_knife"] = "Messer", + ["weapon_knuckle"] = "Schlagring", + ["weapon_machete"] = "Machete", + ["weapon_nightstick"] = "Schlagstock", + ["weapon_wrench"] = "Rohrzange", + ["weapon_poolcue"] = "Billiardstange", + ["weapon_stone_hatchet"] = "Steinbeil", + ["weapon_switchblade"] = "Springmesser", + + -- Handguns + ["weapon_appistol"] = "AP Pistole", + ["weapon_ceramicpistol"] = "Keramikpistole", + ["weapon_combatpistol"] = "Kampfpistole", + ["weapon_doubleaction"] = "Double-Action Revolver", + ["weapon_navyrevolver"] = "Navy Revolver", + ["weapon_flaregun"] = "Flaregun", + ["weapon_gadgetpistol"] = "Gadgetpistole", + ["weapon_heavypistol"] = "Schwere Pistole", + ["weapon_revolver"] = "Schwerer Revolver", + ["weapon_revolver_mk2"] = "Schwerer Revolver MK2", + ["weapon_marksmanpistol"] = "Scharfschützen Pistole", + ["weapon_pistol"] = "Pistole", + ["weapon_pistol_mk2"] = "Pistole MK2", + ["weapon_pistol50"] = "Pistole 50 Kaliber", + ["weapon_snspistol"] = "SNS Pistol", + ["weapon_snspistol_mk2"] = "SNS Pistol MK2", + ["weapon_stungun"] = "Taser", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "Vintagepistole", + + -- Shotguns + ["weapon_assaultshotgun"] = "Sturmschrotflinte", + ["weapon_autoshotgun"] = "Automatische Schrotflinte", + ["weapon_bullpupshotgun"] = "Bullpup-Schrotflinte", + ["weapon_combatshotgun"] = "Kampfschrotfline", + ["weapon_dbshotgun"] = "Doppelbarrel Schrotflinte", + ["weapon_heavyshotgun"] = "Schwere Schrotflinte", + ["weapon_musket"] = "Muskete", + ["weapon_pumpshotgun"] = "Pump Schrotflinte", + ["weapon_pumpshotgun_mk2"] = "Pump Schrotflinte MK2", + ["weapon_sawnoffshotgun"] = "Abgesägte Schrotflinte", + + -- SMG & LMG + ["weapon_assaultsmg"] = "Sturm SMG", + ["weapon_combatmg"] = "Kampf MG", + ["weapon_combatmg_mk2"] = "Kampf MG MK2", + ["weapon_combatpdw"] = "Kampf PDW", + ["weapon_gusenberg"] = "Gusenberg Sweeper", + ["weapon_machinepistol"] = "Maschinenpistole", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Mikro SMG", + ["weapon_minismg"] = "Mini SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Unheiliger Höllenbringer", + + -- Rifles + ["weapon_advancedrifle"] = "Fortgeschrittenes Gewehr", + ["weapon_assaultrifle"] = "Sturmgewehr", + ["weapon_assaultrifle_mk2"] = "Sturmgewehr MK2", + ["weapon_bullpuprifle"] = "Bullpup Gewehr", + ["weapon_bullpuprifle_mk2"] = "Bullpup Gewehr MK2", + ["weapon_carbinerifle"] = "Karabinergewehr", + ["weapon_carbinerifle_mk2"] = "Karabinergewehr MK2", + ["weapon_compactrifle"] = "Kompaktesgewehr", + ["weapon_militaryrifle"] = "Militärgewehr", + ["weapon_specialcarbine"] = "Spezialkarabiner", + ["weapon_specialcarbine_mk2"] = "Spezialkarabiner MK2", + ["weapon_heavyrifle"] = "Schweres Gewehr", + + -- Sniper + ["weapon_heavysniper"] = "Schwere Sniper", + ["weapon_heavysniper_mk2"] = "Schwere Sniper MK2", + ["weapon_marksmanrifle"] = "Scharfschützengewehr", + ["weapon_marksmanrifle_mk2"] = "Scharfschützengewehr MK2", + ["weapon_sniperrifle"] = "Sniper", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "Kompaktlauncher", + ["weapon_firework"] = "Feuerwerklauncher", + ["weapon_grenadelauncher"] = "Granatwerfer", + ["weapon_hominglauncher"] = "Lenkraketenwerfer", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Railgun", + ["weapon_rpg"] = "Raketenwerfer", + ["weapon_rayminigun"] = "Witwenmacher", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "Metalldetektor", + ["weapon_precisionrifle"] = "Präzisionsgewehr", + ["weapon_tactilerifle"] = "Service Karabiner", + + -- Drug Wars DLC + ["weapon_candycane"] = "Zuckerstange", + ["weapon_acidpackage"] = "Säure Paket", + ["weapon_pistolxm3"] = "WM 29 Pistole", + ["weapon_railgunxm3"] = "Railgun", + + -- Thrown + ["weapon_ball"] = "Baseball", + ["weapon_bzgas"] = "BZ Gas", + ["weapon_flare"] = "Leuchtfackel", + ["weapon_grenade"] = "Granate", + ["weapon_petrolcan"] = "Benzinkanister", + ["weapon_hazardcan"] = "Gefährliche Kanister", + ["weapon_molotov"] = "Molotov Cocktail", + ["weapon_proxmine"] = "Annährungsmine", + ["weapon_pipebomb"] = "Rohrbombe", + ["weapon_snowball"] = "Schneeball", + ["weapon_stickybomb"] = "Haftbombe", + ["weapon_smokegrenade"] = "Tränengas", + + -- Special + ["weapon_fireextinguisher"] = "Feuerlöscher", + ["weapon_digiscanner"] = "Digitalscanner", + ["weapon_garbagebag"] = "Müllsack", + ["weapon_handcuffs"] = "Handschelle", + ["gadget_nightvision"] = "Nachtsicht", + ["gadget_parachute"] = "Fallschirm", + + -- Weapon Components + ["component_knuckle_base"] = "Basismodell", + ["component_knuckle_pimp"] = "Der Pimp", + ["component_knuckle_ballas"] = "Die Ballas", + ["component_knuckle_dollar"] = "Der Hustler", + ["component_knuckle_diamond"] = "Der Stein", + ["component_knuckle_hate"] = "Der Hater", + ["component_knuckle_love"] = "Der Lover", + ["component_knuckle_player"] = "Der Player", + ["component_knuckle_king"] = "Der King", + ["component_knuckle_vagos"] = "Die Vagos", + + ["component_luxary_finish"] = "Luxuswaffenlackierung", + + ["component_handle_default"] = "Normaler Handgriff", + ["component_handle_vip"] = "VIP Handgriff", + ["component_handle_bodyguard"] = "Bodyguard Handgriff", + + ["component_vip_finish"] = "VIP Lackierung", + ["component_bodyguard_finish"] = "Bodyguard Lackierung", + + ["component_camo_finish"] = "Digitales Camouflage", + ["component_camo_finish2"] = "Pinselstrich Camouflage", + ["component_camo_finish3"] = "Holzland Camouflage", + ["component_camo_finish4"] = "Kopf Camouflage", + ["component_camo_finish5"] = "Sessebta-Nove Camouflage", + ["component_camo_finish6"] = "Perseus Camouflage", + ["component_camo_finish7"] = "Leopard Camouflage", + ["component_camo_finish8"] = "Zebra Camouflage", + ["component_camo_finish9"] = "Geometrisch Camouflage", + ["component_camo_finish10"] = "BOOM Camouflage", + ["component_camo_finish11"] = "Patriotisch Camouflage", + + ["component_camo_slide_finish"] = "Digital Rutschen Camouflage", + ["component_camo_slide_finish2"] = "Pinselstrich Rutschen Camouflage", + ["component_camo_slide_finish3"] = "Holzland Rutschen Camouflage", + ["component_camo_slide_finish4"] = "Kopf Rutschen Camouflage", + ["component_camo_slide_finish5"] = "Sessebta-Nove Nove Rutschen Camouflage", + ["component_camo_slide_finish6"] = "Perseus Rutschen Camouflage", + ["component_camo_slide_finish7"] = "Leopard Rutschen Camouflage", + ["component_camo_slide_finish8"] = "Zebra Rutschen Camouflage", + ["component_camo_slide_finish9"] = "Geometrisch Rutschen Camouflage", + ["component_camo_slide_finish10"] = "BOOM Rutschen Camouflage", + ["component_camo_slide_finish11"] = "Patriotisch Rutschen Camouflage", + + ["component_clip_default"] = "Standart Magazin", + ["component_clip_extended"] = "Erweiterters Magazin", + ["component_clip_drum"] = "Trommelmagazin", + ["component_clip_box"] = "Kastenmagazin", + + ["component_scope_holo"] = "Holographisches Zielfernrohr", + ["component_scope_small"] = "Kleines Zielfernrohr", + ["component_scope_medium"] = "Mittleres Zielfernrohr", + ["component_scope_large"] = "Großes Zielfernrohr", + ["component_scope"] = "Montiertes Zielfernrohr", + ["component_scope_advanced"] = "Fortgeschrittenes Zielfernrohr", + ["component_ironsights"] = "Ironsights", + + ["component_suppressor"] = "Entstörer", + ["component_compensator"] = "Kompensator", + + ["component_muzzle_flat"] = "Flache Mündung", + ["component_muzzle_tactical"] = "Taktische Mündung", + ["component_muzzle_fat"] = "Fettes-Ende Mündung", + ["component_muzzle_precision"] = "Präzision Mündung", + ["component_muzzle_heavy"] = "Schwere Mündung", + ["component_muzzle_slanted"] = "Schräge Mündung", + ["component_muzzle_split"] = "Geteiletes-Ende Mündung", + ["component_muzzle_squared"] = "Quadratische Mündung", + + ["component_flashlight"] = "Taschenlampe", + ["component_grip"] = "Grip", + + ["component_barrel_default"] = "Normales Fass", + ["component_barrel_heavy"] = "Schweres Fass", + + ["component_ammo_tracer"] = "Tracer Munition", + ["component_ammo_incendiary"] = "Aufruhr Munition", + ["component_ammo_hollowpoint"] = "Hohlspitze Munition", + ["component_ammo_fmj"] = "FMJ Munition", + ["component_ammo_armor"] = "Panzerbrechende Munition", + ["component_ammo_explosive"] = "Panzerbrechende brennende Munition", + + ["component_shells_default"] = "Normale Hülsen", + ["component_shells_incendiary"] = "Drachenatem Hülsen", + ["component_shells_armor"] = "Stahlschrot Hülsen", + ["component_shells_hollowpoint"] = "Flechette Hülsen", + ["component_shells_explosive"] = "Explosives Geschoss Hülsen", + + -- Weapon Ammo + ["ammo_rounds"] = "Kugel(n)", + ["ammo_shells"] = "Schrotpatrone(n)", + ["ammo_charge"] = "Nachladen", + ["ammo_petrol"] = "Benzinkanister", + ["ammo_firework"] = "Feuerwerksrakete(n)", + ["ammo_rockets"] = "Rakete(n)", + ["ammo_grenadelauncher"] = "Granate(n)", + ["ammo_grenade"] = "Granate(n)", + ["ammo_stickybomb"] = "C4(s)", + ["ammo_pipebomb"] = "Rohrbombe(n)", + ["ammo_smokebomb"] = "Rauchgranate(n)", + ["ammo_molotov"] = "Molotovcocktail(s)", + ["ammo_proxmine"] = "Annäherungsmine(n)", + ["ammo_bzgas"] = "Bzgas", + ["ammo_ball"] = "Ball", + ["ammo_snowball"] = "Schneebälle", + ["ammo_flare"] = "Signalfackel(n)", + ["ammo_flaregun"] = "Signalfackeln(munition)", + + -- Weapon Tints + ["tint_default"] = "Standard", + ["tint_green"] = "Grün", + ["tint_gold"] = "Gold", + ["tint_pink"] = "Pink", + ["tint_army"] = "Camouflage", + ["tint_lspd"] = "Blau", + ["tint_orange"] = "Orange", + ["tint_platinum"] = "Platin", } diff --git a/server-data/resources/[esx]/es_extended/locales/el.lua b/server-data/resources/[esx]/es_extended/locales/el.lua index 798b17c85..1de660c6f 100644 --- a/server-data/resources/[esx]/es_extended/locales/el.lua +++ b/server-data/resources/[esx]/es_extended/locales/el.lua @@ -1,381 +1,381 @@ Locales["el"] = { - -- Inventory - ["inventory"] = "Αποθήκη ( Βάρος %s / %s )", - ["use"] = "Χρήση", - ["give"] = "Δώσε", - ["remove"] = "Πέτα", - ["return"] = "Επιστροφή", - ["give_to"] = "Δώσε σε", - ["amount"] = "Ποσότητα", - ["giveammo"] = "Δώσε σφαίρες", - ["amountammo"] = "Ποσότητα σφαιρών", - ["noammo"] = "Δεν υπάρχουν αρκετές σφαίρες!", - ["gave_item"] = "Δώσατε %sx %s στον/στην %s", - ["received_item"] = "Λάβατε %sx %s από τον/την %s", - ["gave_weapon"] = "Δίνετε %s στον/στην %s", - ["gave_weapon_ammo"] = "Δίνετε ~o~%sx %s για %s στον/στην %s", - ["gave_weapon_withammo"] = "Δίνετε %s με ~o~%sx %s στον/στην %s", - ["gave_weapon_hasalready"] = "Ο/Η %s έχει ήδη ένα %s", - ["gave_weapon_noweapon"] = "Ο/Η %s δεν έχει αυτό το όπλο", - ["received_weapon"] = "Λάβατε %s από τον/την %s", - ["received_weapon_ammo"] = "Λάβατε ~o~%sx %s για το %s από τον/την %s", - ["received_weapon_withammo"] = "Λάβατε %s για ~o~%sx %s από τον/την %s", - ["received_weapon_hasalready"] = "Ο/Η %s προσπάθησε να σας δώσει ένα %s, αλλά το έχετε ήδη", - ["received_weapon_noweapon"] = "Ο/Η %s προσπάθησε να σας δώσει σφαίρες για το %s, αλλά δεν έχετε αυτό το όπλο", - ["gave_account_money"] = "Δίνετε $%s (%s) στον/στην %s", - ["received_account_money"] = "Λάβατε $%s (%s) από τον/την %s", - ["amount_invalid"] = "Μη έγκυρη ποσότητα", - ["players_nearby"] = "Δεν υπάρχουν κοντινοί παίκτες", - ["ex_inv_lim"] = "Δεν είναι δυνατή η ενέργεια, υπέρβαση του μέγιστου βάρους των %s", - ["imp_invalid_quantity"] = "Δεν είναι δυνατή η ενέργεια, η ποσότητα δεν είναι έγκυρη", - ["imp_invalid_amount"] = "Δεν είναι δυνατή η ενέργεια, το ποσό δεν είναι έγκυρο", - ["threw_standard"] = "Ρίχνοντας %sx %s", - ["threw_account"] = "Ρίχνοντας $%s %s", - ["threw_weapon"] = "Ρίχνοντας %s", - ["threw_weapon_ammo"] = "Ρίχνοντας %s με ~o~%sx %s", - ["threw_weapon_already"] = "Ήδη έχετε αυτό το όπλο", - ["threw_cannot_pickup"] = "Η αποθήκη είναι γεμάτη, δεν μπορείτε να σηκώσετε!", - ["threw_pickup_prompt"] = "Πατήστε E για να σηκώσετε", - - -- Key mapping - ["keymap_showinventory"] = "Εμφάνιση Αποθήκης", - - -- Salary related - ["received_salary"] = "Έχετε λάβει μισθό: $%s", - ["received_help"] = "Έχετε λάβει το βοήθημά σας: $%s", - ["company_nomoney"] = "Η εταιρεία στην οποία είστε απασχολούμενος/η δεν έχει αρκετά χρήματα για να καταβάλει τον μισθό σας", - ["received_paycheck"] = "λάβατε μισθό", - ["bank"] = "Τράπεζα Maze", - ["account_bank"] = "Τραπεζικός Λογαριασμός", - ["account_black_money"] = "Βρώμικα Χρήματα", - ["account_money"] = "Μετρητά", - - ["act_imp"] = "Δεν είναι δυνατή η εκτέλεση της ενέργειας", - ["in_vehicle"] = "Δεν είναι δυνατή η εκτέλεση της ενέργειας, ο παίκτης βρίσκεται σε όχημα", - ["not_in_vehicle"] = "Δεν είναι δυνατή η εκτέλεση της ενέργειας, ο παίκτης δεν βρίσκεται σε κάποιο όχημα", - - -- Commands - ["command_bring"] = "Φέρτε τον παίκτη σε εσάς", - ["command_car"] = "Κλήση οχήματος", - ["command_car_car"] = "Μοντέλο ή κωδικός οχήματος", - ["command_cardel"] = "Κατάργηση οχημάτων κοντά", - ["command_cardel_radius"] = "Καταργεί όλα τα οχήματα εντός της καθορισμένης ακτίνας", - ["command_repair"] = "Επισκέυασε το όχημα σου", - ["command_repair_success"] = "Το όχημα σου επισκευάστηκε", - ["command_repair_success_target"] = "Ένας διαχειριστής επισκεύασε το όχημα σου", - ["command_clear"] = "Καθαρισμός κειμένου στο chat", - ["command_clearall"] = "Καθαρισμός κειμένου στο chat για όλους τους παίκτες", - ["command_clearinventory"] = "Κατάργηση όλων των αντικειμένων από την αποθήκη των παικτών", - ["command_clearloadout"] = "Κατάργηση όλων των όπλων από την εξάρτηση των παικτών", - ["command_freeze"] = "Πάγωμα ενός παίκτη", - ["command_unfreeze"] = "Ξεπάγωμα ενός παίκτη", - ["command_giveaccountmoney"] = "Δώστε χρήματα σε καθορισμένο λογαριασμό", - ["command_giveaccountmoney_account"] = "Λογαριασμός προς προσθήκη", - ["command_giveaccountmoney_amount"] = "Ποσό προς προσθήκη", - ["command_giveaccountmoney_invalid"] = "Μη έγκυρο όνομα λογαριασμού", - ["command_removeaccountmoney"] = "Κατάργηση χρημάτων από καθορισμένο λογαριασμό", - ["command_removeaccountmoney_account"] = "Λογαριασμός από τον οποίο θα καταργηθούν τα χρήματα", - ["command_removeaccountmoney_amount"] = "Ποσό προς αφαίρεση", - ["command_removeaccountmoney_invalid"] = "Μη έγκυρο όνομα λογαριασμού", - ["command_giveitem"] = "Δώστε σε έναν παίκτη ένα αντικείμενο", - ["command_giveitem_item"] = "Όνομα αντικειμένου", - ["command_giveitem_count"] = "Ποσότητα", - ["command_giveweapon"] = "Δώστε σε έναν παίκτη ένα όπλο", - ["command_giveweapon_weapon"] = "Όνομα όπλου", - ["command_giveweapon_ammo"] = "Ποσότητα πυρομαχικών", - ["command_giveweapon_hasalready"] = "Ο παίκτης έχει ήδη αυτό το όπλο", - ["command_giveweaponcomponent"] = "Δώστε σε έναν παίκτη μια εξάρτηση όπλου", - ["command_giveweaponcomponent_component"] = "Όνομα εξάρτησης", - ["command_giveweaponcomponent_invalid"] = "Μη έγκυρη εξάρτηση όπλου", - ["command_giveweaponcomponent_hasalready"] = "Ο παίκτης έχει ήδη αυτήν την εξάρτηση όπλου", - ["command_giveweaponcomponent_missingweapon"] = "Ο παίκτης δεν έχει αυτό το όπλο", - ["command_goto"] = "Τηλεμεταφέρεστε σε έναν παίκτη", - ["command_kill"] = "Σκοτώστε έναν παίκτη", - ["command_save"] = "Εξαναγκαστική αποθήκευση δεδομένων ενός παίκτη", - ["command_saveall"] = "Εξαναγκαστική αποθήκευση όλων των δεδομένων των παικτών", - ["command_setaccountmoney"] = "Ορίστε τα χρήματα σε έναν καθορισμένο λογαριασμό", - ["command_setaccountmoney_amount"] = "Ποσό", - ["command_setcoords"] = "Τηλεμεταφερθείτε σε καθορισμένες συντεταγμένες", - ["command_setcoords_x"] = "Τιμή X", - ["command_setcoords_y"] = "Τιμή Y", - ["command_setcoords_z"] = "Τιμή Z", - ["command_setjob"] = "Ορίστε το επάγγελμα ενός παίκτη", - ["command_setjob_job"] = "Όνομα", - ["command_setjob_grade"] = "Βαθμός επαγγέλματος", - ["command_setjob_invalid"] = "Το επάγγελμα, ο βαθμός ή και οι δύο είναι μη έγκυρα", - ["command_setgroup"] = "Ορίστε την ομάδα δικαιωμάτων ενός παίκτη", - ["command_setgroup_group"] = "Όνομα Ομάδας", - ["commanderror_argumentmismatch"] = "Μη έγκυρος αριθμός ορισμάτων (δόθηκαν %s, αναμενόμενα %s)", - ["commanderror_argumentmismatch_number"] = "Μη έγκυρος τύπος δεδομένων για το όρισμα #%s (δόθηκε συμβολοσειρά, αναμενόμενος αριθμός)", - ["commanderror_argumentmismatch_string"] = "Μη έγκυρος τύπος δεδομένων για το όρισμα #%s (δόθηκε αριθμός, αναμενόμενη συμβολοσειρά)", - ["commanderror_invaliditem"] = "Μη έγκυρο αντικείμενο", - ["commanderror_invalidweapon"] = "Μη έγκυρο όπλο", - ["commanderror_console"] = "Η εντολή δεν μπορεί να εκτελεστεί από την κονσόλα", - ["commanderror_invalidcommand"] = "Μη έγκυρη εντολή - /%s", - ["commanderror_invalidplayerid"] = "Ο καθορισμένος παίκτης δεν είναι συνδεδεμένος", - ["commandgeneric_playerid"] = "Αναγνωριστικό διακομιστή του παίκτη", - ["command_giveammo_noweapon_found"] = "Ο %s δεν έχει αυτό το όπλο", - ["command_giveammo_weapon"] = "Όνομα όπλου", - ["command_giveammo_ammo"] = "Ποσότητα πυρομαχικών", - ["tpm_nowaypoint"] = "Δεν έχει οριστεί σημείο προορισμού.", - ["tpm_success"] = "Επιτυχής τηλεμεταφορά", - - ["noclip_message"] = "Το Noclip έχει %s", - ["enabled"] = "~g~ενεργοποιήθηκε~s~", - ["disabled"] = "~r~απενεργοποιήθηκε~s~", - - -- Ρυθμίσεις τοπικής γλώσσας - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "£%s", - - -- Όπλα - - -- Χειροποίητα - ["weapon_dagger"] = "Στιλέτο", - ["weapon_bat"] = "Μπαστούνι", - ["weapon_battleaxe"] = "Πολεμική σείρα", - ["weapon_bottle"] = "Μπουκάλι", - ["weapon_crowbar"] = "Ροπαλάκι", - ["weapon_flashlight"] = "Φακός", - ["weapon_golfclub"] = "Γκολφ", - ["weapon_hammer"] = "Σφυρί", - ["weapon_hatchet"] = "Πέλεκυς", - ["weapon_knife"] = "Μαχαίρι", - ["weapon_knuckle"] = "Χειροπέδες", - ["weapon_machete"] = "Μαχαίρι μαχαιροπίρουνου", - ["weapon_nightstick"] = "Ρόπαλο νυχτερίδας", - ["weapon_wrench"] = "Ροκανίδι", - ["weapon_poolcue"] = "Καστήλα", - ["weapon_stone_hatchet"] = "Πέλεκυς από πέτρα", - ["weapon_switchblade"] = "Ξυραφάκι", - - -- Πιστόλια - ["weapon_appistol"] = "AP Πιστόλι", - ["weapon_ceramicpistol"] = "Κεραμικό πιστόλι", - ["weapon_combatpistol"] = "Πολεμικό πιστόλι", - ["weapon_doubleaction"] = "Διπλής δράσης Ριβόλβερ", - ["weapon_navyrevolver"] = "Ναυτικό Ρεβόλβερ", - ["weapon_flaregun"] = "Πιστόλι αστραπών", - ["weapon_gadgetpistol"] = "Πιστόλι συσκευών", - ["weapon_heavypistol"] = "Βαρύ πιστόλι", - ["weapon_revolver"] = "Βαρύ Ρεβόλβερ", - ["weapon_revolver_mk2"] = "Βαρύ Ρεβόλβερ MK2", - ["weapon_marksmanpistol"] = "Πιστόλι μονομάχου", - ["weapon_pistol"] = "Πιστόλι", - ["weapon_pistol_mk2"] = "Πιστόλι MK2", - ["weapon_pistol50"] = "Πιστόλι .50", - ["weapon_snspistol"] = "Πιστόλι SNS", - ["weapon_snspistol_mk2"] = "Πιστόλι SNS MK2", - ["weapon_stungun"] = "Ηλεκτροπληξία", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "Βιομηχανικό πιστόλι", - - -- Καραμπίνες - ["weapon_assaultshotgun"] = "Πολεμική Καραμπίνα", - ["weapon_autoshotgun"] = "Αυτόματη Καραμπίνα", - ["weapon_bullpupshotgun"] = "Bullpup Καραμπίνα", - ["weapon_combatshotgun"] = "Καραμπίνα πολέμου", - ["weapon_dbshotgun"] = "Διπλής κάννης Καραμπίνα", - ["weapon_heavyshotgun"] = "Βαριά Καραμπίνα", - ["weapon_musket"] = "Μουσκέτα", - ["weapon_pumpshotgun"] = "Καραμπίνα αντλίας", - ["weapon_pumpshotgun_mk2"] = "Καραμπίνα αντλίας MK2", - ["weapon_sawnoffshotgun"] = "Καραμπίνα με κοντά κάννη", - - -- SMG & LMG - ["weapon_assaultsmg"] = "Πολεμικό SMG", - ["weapon_combatmg"] = "Πολεμικό MG", - ["weapon_combatmg_mk2"] = "Πολεμικό MG MK2", - ["weapon_combatpdw"] = "Πολεμικό PDW", - ["weapon_gusenberg"] = "Gusenberg Sweeper", - ["weapon_machinepistol"] = "Πιστόλι Αυτόματης Καραμπίνας", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Μικρό SMG", - ["weapon_minismg"] = "Μικρό SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Ανεξίτηλο Hellbringer", - - -- Καραμπίνες - ["weapon_advancedrifle"] = "Προηγμένη Καραμπίνα", - ["weapon_assaultrifle"] = "Καραμπίνα Επίθεσης", - ["weapon_assaultrifle_mk2"] = "Καραμπίνα Επίθεσης MK2", - ["weapon_bullpuprifle"] = "Bullpup Καραμπίνα", - ["weapon_bullpuprifle_mk2"] = "Bullpup Καραμπίνα MK2", - ["weapon_carbinerifle"] = "Καραμπίνα", - ["weapon_carbinerifle_mk2"] = "Καραμπίνα MK2", - ["weapon_compactrifle"] = "Συμπαγής Καραμπίνα", - ["weapon_militaryrifle"] = "Στρατιωτική Καραμπίνα", - ["weapon_specialcarbine"] = "Ειδική Καραμπίνα", - ["weapon_specialcarbine_mk2"] = "Ειδική Καραμπίνα MK2", - - -- Κυνηγετικά - ["weapon_heavysniper"] = "Βαρύ Κυνηγετικό Ρίφλε", - ["weapon_heavysniper_mk2"] = "Βαρύ Κυνηγετικό Ρίφλε MK2", - ["weapon_marksmanrifle"] = "Ρίφλε Επαγγελματία Σκοπευτή", - ["weapon_marksmanrifle_mk2"] = "Ρίφλε Επαγγελματία Σκοπευτή MK2", - ["weapon_sniperrifle"] = "Κυνηγετικό Ρίφλε", - ["weapon_heavyrifle"] = "βαρύ τουφέκι", - - -- Βαριά / Εκτοξευτές - ["weapon_compactlauncher"] = "Συμπαγής Εκτοξευτής", - ["weapon_firework"] = "Εκτοξευτής Πυροτεχνημάτων", - ["weapon_grenadelauncher"] = "Εκτοξευτής Γρανατών", - ["weapon_hominglauncher"] = "Εκτοξευτής Εξόρυξης", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Railgun", - ["weapon_rpg"] = "Εκτοξευτής Πυραύλων", - ["weapon_rayminigun"] = "Widowmaker", - - -- Επιπλέον Όπλα από το Criminal Enterprises DLC - ["weapon_metaldetector"] = "Ανιχνευτής Μετάλλων", - ["weapon_precisionrifle"] = "Όπλο Ακρίβειας", - ["weapon_tactilerifle"] = "Όπλο Εξυπηρέτησης", - - -- Drug wars dlc - ["weapon_candycane"] = "Candycane", - ["weapon_acidpackage"] = "Acid Package", - ["weapon_pistolxm3"] = "Pistol8 x3m", - ["weapon_railgunxm3"] = "Railgun", - - -- Ρίψεις - ["weapon_ball"] = "Μπάλα", - ["weapon_bzgas"] = "BZ Gas", - ["weapon_flare"] = "Πυροτεχνήματα", - ["weapon_grenade"] = "Χειροβομβίδα", - ["weapon_petrolcan"] = "Κανέλα Βενζίνης", - ["weapon_hazardcan"] = "Κανέλα Επικίνδυνης Υλικότητας", - ["weapon_molotov"] = "Μολότοφ", - ["weapon_proxmine"] = "Νάρκη Εγγύτητας", - ["weapon_pipebomb"] = "Βόμβα Σωλήνα", - ["weapon_snowball"] = "Χιονόμπαλα", - ["weapon_stickybomb"] = "Κολλητή Βόμβα", - ["weapon_smokegrenade"] = "Δακρυγόνο", - - -- Ειδικά - ["weapon_fireextinguisher"] = "Πυροσβεστήρας", - ["weapon_digiscanner"] = "Ψηφιακός Σαρωτής", - ["weapon_garbagebag"] = "Σακούλα Απορριμμάτων", - ["weapon_handcuffs"] = "Χειροπέδες", - ["gadget_nightvision"] = "Νυχτερινή Όραση", - ["gadget_parachute"] = "Αλεξίπτωτο", - - -- Συστατικά Όπλων - ["component_knuckle_base"] = "Βασικό Μοντέλο", - ["component_knuckle_pimp"] = "Ο Φιλότιμος", - ["component_knuckle_ballas"] = "Οι Ballas", - ["component_knuckle_dollar"] = "Ο Εξαπατητής", - ["component_knuckle_diamond"] = "Η Ρόκα", - ["component_knuckle_hate"] = "Ο Μισητός", - ["component_knuckle_love"] = "Ο Εραστής", - ["component_knuckle_player"] = "Ο Παίκτης", - ["component_knuckle_king"] = "Ο Βασιλιάς", - ["component_knuckle_vagos"] = "Οι Vagos", - - ["component_luxary_finish"] = "Πολυτελές Φινίρισμα Όπλου", - - ["component_handle_default"] = "Προεπιλεγμένη Χειρολαβή", - ["component_handle_vip"] = "Χειρολαβή VIP", - ["component_handle_bodyguard"] = "Χειρολαβή Σωματοφύλακα", - - ["component_vip_finish"] = "Πολυτελές Φινίρισμα VIP", - ["component_bodyguard_finish"] = "Πολυτελές Φινίρισμα Σωματοφύλακα", - - ["component_camo_finish"] = "Ψηφιακό Καμουφλάζ", - ["component_camo_finish2"] = "Καμουφλάζ Πινελίου", - ["component_camo_finish3"] = "Καμουφλάζ Δάσους", - ["component_camo_finish4"] = "Καμουφλάζ Κρανίου", - ["component_camo_finish5"] = "Καμουφλάζ Sessanta Nove", - ["component_camo_finish6"] = "Καμουφλάζ Perseus", - ["component_camo_finish7"] = "Καμουφλάζ Λεοπάρδαλης", - ["component_camo_finish8"] = "Καμουφλάζ Ζέβρας", - ["component_camo_finish9"] = "Γεωμετρικό Καμουφλάζ", - ["component_camo_finish10"] = "Καμουφλάζ Boom", - ["component_camo_finish11"] = "Πατριωτικό Καμουφλάζ", - - ["component_camo_slide_finish"] = "Ψηφιακό Καμουφλάζ Slide", - ["component_camo_slide_finish2"] = "Καμουφλάζ Πινελίου Slide", - ["component_camo_slide_finish3"] = "Καμουφλάζ Δάσους Slide", - ["component_camo_slide_finish4"] = "Καμουφλάζ Κρανίου Slide", - ["component_camo_slide_finish5"] = "Καμουφλάζ Sessanta Nove Slide", - ["component_camo_slide_finish6"] = "Καμουφλάζ Perseus Slide", - ["component_camo_slide_finish7"] = "Καμουφλάζ Λεοπάρδαλης Slide", - ["component_camo_slide_finish8"] = "Καμουφλάζ Ζέβρας Slide", - ["component_camo_slide_finish9"] = "Γεωμετρικό Καμουφλάζ Slide", - ["component_camo_slide_finish10"] = "Καμουφλάζ Boom Slide", - ["component_camo_slide_finish11"] = "Πατριωτικό Καμουφλάζ Slide", - - ["component_clip_default"] = "Προεπιλεγμένο Περιοδικό", - ["component_clip_extended"] = "Επέκταση Περιοδικού", - ["component_clip_drum"] = "Περιοδικό Κάδος", - ["component_clip_box"] = "Περιοδικό Κιβώτιο", - - ["component_scope_holo"] = "Ολογραφική Σκοπευτική Συσκευή", - ["component_scope_small"] = "Μικρή Σκοπευτική Συσκευή", - ["component_scope_medium"] = "Μεσαία Σκοπευτική Συσκευή", - ["component_scope_large"] = "Μεγάλη Σκοπευτική Συσκευή", - ["component_scope"] = "Σκοπευτική Συσκευή Εγκατεστημένη", - ["component_scope_advanced"] = "Προηγμένη Σκοπευτική Συσκευή", - ["component_ironsights"] = "Σκοπευτικά Σιδερά", - - ["component_suppressor"] = "Καταστεναγματοποιητής", - ["component_compensator"] = "Αποζημιωτής", - - ["component_muzzle_flat"] = "Επίπεδο Φρένο Αέρα", - ["component_muzzle_tactical"] = "Τακτικό Φρένο Αέρα", - ["component_muzzle_fat"] = "Φρένο Αέρα Παχύ Άκρο", - ["component_muzzle_precision"] = "Φρένο Αέρα Ακρίβειας", - ["component_muzzle_heavy"] = "Φρένο Αέρα Βαρέως Τύπου", - ["component_muzzle_slanted"] = "Φρένο Αέρα Ανοιγοκλειστό", - ["component_muzzle_split"] = "Φρένο Αέρα Υποκλιμακούμενο", - ["component_muzzle_squared"] = "Φρένο Αέρα Τετραγωνισμένο", - - ["component_flashlight"] = "Φακός", - ["component_grip"] = "Λαβή", - - ["component_barrel_default"] = "Προεπιλεγμένο Κάννα", - ["component_barrel_heavy"] = "Βαριά Κάννα", - - ["component_ammo_tracer"] = "Σφαίρες με Ιχνηθέν Φωτός", - ["component_ammo_incendiary"] = "Σφαίρες Φωτιάς", - ["component_ammo_hollowpoint"] = "Σφαίρες Κενές Άκρες", - ["component_ammo_fmj"] = "Σφαίρες FMJ", - ["component_ammo_armor"] = "Σφαίρες Διάτρησης Θωράκισης", - ["component_ammo_explosive"] = "Εκρηκτικές Σφαίρες Διάτρησης Θωράκισης", - - ["component_shells_default"] = "Προεπιλεγμένες Φυσίγγια", - ["component_shells_incendiary"] = "Φυσίγγια Διαμαντινών", - ["component_shells_armor"] = "Φυσίγγια Θωράκισης Χάλυβα", - ["component_shells_hollowpoint"] = "Φυσίγγια Κενών Άκρων", - ["component_shells_explosive"] = "Φυσίγγια Εκρηκτικών", - - -- Πυρομαχικά Όπλων - ["ammo_rounds"] = "σφαιρίδιο(α)", - ["ammo_shells"] = "φυσίγγιο(α)", - ["ammo_charge"] = "φορτίο", - ["ammo_petrol"] = "γαλόνια καυσίμου", - ["ammo_firework"] = "πυροτεχνήματο(α)", - ["ammo_rockets"] = "πύραυλο(ι)", - ["ammo_grenadelauncher"] = "χειροβομβίδα(ες)", - ["ammo_grenade"] = "χειροβομβίδα(ες)", - ["ammo_stickybomb"] = "βόμβα(ες)", - ["ammo_pipebomb"] = "βόμβα(ες)", - ["ammo_smokebomb"] = "βόμβα(ες) καπνού", - ["ammo_molotov"] = "κοκτέιλ μολότοφ(α)", - ["ammo_proxmine"] = "μίνα(ες) εγγύτητας", - ["ammo_bzgas"] = "κανίστρα(ες)", - ["ammo_ball"] = "μπάλα(ες)", - ["ammo_snowball"] = "χιονόμπαλα(ες)", - ["ammo_flare"] = "φλογοβολίδα(ες)", - ["ammo_flaregun"] = "φλογοβολίδα(ες)", - - -- Επιστρώσεις Όπλων - ["tint_default"] = "προεπιλεγμένο δέρμα", - ["tint_green"] = "πράσινο δέρμα", - ["tint_gold"] = "χρυσό δέρμα", - ["tint_pink"] = "ροζ δέρμα", - ["tint_army"] = "στρατιωτικό δέρμα", - ["tint_lspd"] = "μπλε δέρμα", - ["tint_orange"] = "πορτοκαλί δέρμα", - ["tint_platinum"] = "πλατίνενο δέρμα", + -- Inventory + ["inventory"] = "Αποθήκη ( Βάρος %s / %s )", + ["use"] = "Χρήση", + ["give"] = "Δώσε", + ["remove"] = "Πέτα", + ["return"] = "Επιστροφή", + ["give_to"] = "Δώσε σε", + ["amount"] = "Ποσότητα", + ["giveammo"] = "Δώσε σφαίρες", + ["amountammo"] = "Ποσότητα σφαιρών", + ["noammo"] = "Δεν υπάρχουν αρκετές σφαίρες!", + ["gave_item"] = "Δώσατε %sx %s στον/στην %s", + ["received_item"] = "Λάβατε %sx %s από τον/την %s", + ["gave_weapon"] = "Δίνετε %s στον/στην %s", + ["gave_weapon_ammo"] = "Δίνετε ~o~%sx %s για %s στον/στην %s", + ["gave_weapon_withammo"] = "Δίνετε %s με ~o~%sx %s στον/στην %s", + ["gave_weapon_hasalready"] = "Ο/Η %s έχει ήδη ένα %s", + ["gave_weapon_noweapon"] = "Ο/Η %s δεν έχει αυτό το όπλο", + ["received_weapon"] = "Λάβατε %s από τον/την %s", + ["received_weapon_ammo"] = "Λάβατε ~o~%sx %s για το %s από τον/την %s", + ["received_weapon_withammo"] = "Λάβατε %s για ~o~%sx %s από τον/την %s", + ["received_weapon_hasalready"] = "Ο/Η %s προσπάθησε να σας δώσει ένα %s, αλλά το έχετε ήδη", + ["received_weapon_noweapon"] = "Ο/Η %s προσπάθησε να σας δώσει σφαίρες για το %s, αλλά δεν έχετε αυτό το όπλο", + ["gave_account_money"] = "Δίνετε $%s (%s) στον/στην %s", + ["received_account_money"] = "Λάβατε $%s (%s) από τον/την %s", + ["amount_invalid"] = "Μη έγκυρη ποσότητα", + ["players_nearby"] = "Δεν υπάρχουν κοντινοί παίκτες", + ["ex_inv_lim"] = "Δεν είναι δυνατή η ενέργεια, υπέρβαση του μέγιστου βάρους των %s", + ["imp_invalid_quantity"] = "Δεν είναι δυνατή η ενέργεια, η ποσότητα δεν είναι έγκυρη", + ["imp_invalid_amount"] = "Δεν είναι δυνατή η ενέργεια, το ποσό δεν είναι έγκυρο", + ["threw_standard"] = "Ρίχνοντας %sx %s", + ["threw_account"] = "Ρίχνοντας $%s %s", + ["threw_weapon"] = "Ρίχνοντας %s", + ["threw_weapon_ammo"] = "Ρίχνοντας %s με ~o~%sx %s", + ["threw_weapon_already"] = "Ήδη έχετε αυτό το όπλο", + ["threw_cannot_pickup"] = "Η αποθήκη είναι γεμάτη, δεν μπορείτε να σηκώσετε!", + ["threw_pickup_prompt"] = "Πατήστε E για να σηκώσετε", + + -- Key mapping + ["keymap_showinventory"] = "Εμφάνιση Αποθήκης", + + -- Salary related + ["received_salary"] = "Έχετε λάβει μισθό: $%s", + ["received_help"] = "Έχετε λάβει το βοήθημά σας: $%s", + ["company_nomoney"] = "Η εταιρεία στην οποία είστε απασχολούμενος/η δεν έχει αρκετά χρήματα για να καταβάλει τον μισθό σας", + ["received_paycheck"] = "λάβατε μισθό", + ["bank"] = "Τράπεζα Maze", + ["account_bank"] = "Τραπεζικός Λογαριασμός", + ["account_black_money"] = "Βρώμικα Χρήματα", + ["account_money"] = "Μετρητά", + + ["act_imp"] = "Δεν είναι δυνατή η εκτέλεση της ενέργειας", + ["in_vehicle"] = "Δεν είναι δυνατή η εκτέλεση της ενέργειας, ο παίκτης βρίσκεται σε όχημα", + ["not_in_vehicle"] = "Δεν είναι δυνατή η εκτέλεση της ενέργειας, ο παίκτης δεν βρίσκεται σε κάποιο όχημα", + + -- Commands + ["command_bring"] = "Φέρτε τον παίκτη σε εσάς", + ["command_car"] = "Κλήση οχήματος", + ["command_car_car"] = "Μοντέλο ή κωδικός οχήματος", + ["command_cardel"] = "Κατάργηση οχημάτων κοντά", + ["command_cardel_radius"] = "Καταργεί όλα τα οχήματα εντός της καθορισμένης ακτίνας", + ["command_repair"] = "Επισκέυασε το όχημα σου", + ["command_repair_success"] = "Το όχημα σου επισκευάστηκε", + ["command_repair_success_target"] = "Ένας διαχειριστής επισκεύασε το όχημα σου", + ["command_clear"] = "Καθαρισμός κειμένου στο chat", + ["command_clearall"] = "Καθαρισμός κειμένου στο chat για όλους τους παίκτες", + ["command_clearinventory"] = "Κατάργηση όλων των αντικειμένων από την αποθήκη των παικτών", + ["command_clearloadout"] = "Κατάργηση όλων των όπλων από την εξάρτηση των παικτών", + ["command_freeze"] = "Πάγωμα ενός παίκτη", + ["command_unfreeze"] = "Ξεπάγωμα ενός παίκτη", + ["command_giveaccountmoney"] = "Δώστε χρήματα σε καθορισμένο λογαριασμό", + ["command_giveaccountmoney_account"] = "Λογαριασμός προς προσθήκη", + ["command_giveaccountmoney_amount"] = "Ποσό προς προσθήκη", + ["command_giveaccountmoney_invalid"] = "Μη έγκυρο όνομα λογαριασμού", + ["command_removeaccountmoney"] = "Κατάργηση χρημάτων από καθορισμένο λογαριασμό", + ["command_removeaccountmoney_account"] = "Λογαριασμός από τον οποίο θα καταργηθούν τα χρήματα", + ["command_removeaccountmoney_amount"] = "Ποσό προς αφαίρεση", + ["command_removeaccountmoney_invalid"] = "Μη έγκυρο όνομα λογαριασμού", + ["command_giveitem"] = "Δώστε σε έναν παίκτη ένα αντικείμενο", + ["command_giveitem_item"] = "Όνομα αντικειμένου", + ["command_giveitem_count"] = "Ποσότητα", + ["command_giveweapon"] = "Δώστε σε έναν παίκτη ένα όπλο", + ["command_giveweapon_weapon"] = "Όνομα όπλου", + ["command_giveweapon_ammo"] = "Ποσότητα πυρομαχικών", + ["command_giveweapon_hasalready"] = "Ο παίκτης έχει ήδη αυτό το όπλο", + ["command_giveweaponcomponent"] = "Δώστε σε έναν παίκτη μια εξάρτηση όπλου", + ["command_giveweaponcomponent_component"] = "Όνομα εξάρτησης", + ["command_giveweaponcomponent_invalid"] = "Μη έγκυρη εξάρτηση όπλου", + ["command_giveweaponcomponent_hasalready"] = "Ο παίκτης έχει ήδη αυτήν την εξάρτηση όπλου", + ["command_giveweaponcomponent_missingweapon"] = "Ο παίκτης δεν έχει αυτό το όπλο", + ["command_goto"] = "Τηλεμεταφέρεστε σε έναν παίκτη", + ["command_kill"] = "Σκοτώστε έναν παίκτη", + ["command_save"] = "Εξαναγκαστική αποθήκευση δεδομένων ενός παίκτη", + ["command_saveall"] = "Εξαναγκαστική αποθήκευση όλων των δεδομένων των παικτών", + ["command_setaccountmoney"] = "Ορίστε τα χρήματα σε έναν καθορισμένο λογαριασμό", + ["command_setaccountmoney_amount"] = "Ποσό", + ["command_setcoords"] = "Τηλεμεταφερθείτε σε καθορισμένες συντεταγμένες", + ["command_setcoords_x"] = "Τιμή X", + ["command_setcoords_y"] = "Τιμή Y", + ["command_setcoords_z"] = "Τιμή Z", + ["command_setjob"] = "Ορίστε το επάγγελμα ενός παίκτη", + ["command_setjob_job"] = "Όνομα", + ["command_setjob_grade"] = "Βαθμός επαγγέλματος", + ["command_setjob_invalid"] = "Το επάγγελμα, ο βαθμός ή και οι δύο είναι μη έγκυρα", + ["command_setgroup"] = "Ορίστε την ομάδα δικαιωμάτων ενός παίκτη", + ["command_setgroup_group"] = "Όνομα Ομάδας", + ["commanderror_argumentmismatch"] = "Μη έγκυρος αριθμός ορισμάτων (δόθηκαν %s, αναμενόμενα %s)", + ["commanderror_argumentmismatch_number"] = "Μη έγκυρος τύπος δεδομένων για το όρισμα #%s (δόθηκε συμβολοσειρά, αναμενόμενος αριθμός)", + ["commanderror_argumentmismatch_string"] = "Μη έγκυρος τύπος δεδομένων για το όρισμα #%s (δόθηκε αριθμός, αναμενόμενη συμβολοσειρά)", + ["commanderror_invaliditem"] = "Μη έγκυρο αντικείμενο", + ["commanderror_invalidweapon"] = "Μη έγκυρο όπλο", + ["commanderror_console"] = "Η εντολή δεν μπορεί να εκτελεστεί από την κονσόλα", + ["commanderror_invalidcommand"] = "Μη έγκυρη εντολή - /%s", + ["commanderror_invalidplayerid"] = "Ο καθορισμένος παίκτης δεν είναι συνδεδεμένος", + ["commandgeneric_playerid"] = "Αναγνωριστικό διακομιστή του παίκτη", + ["command_giveammo_noweapon_found"] = "Ο %s δεν έχει αυτό το όπλο", + ["command_giveammo_weapon"] = "Όνομα όπλου", + ["command_giveammo_ammo"] = "Ποσότητα πυρομαχικών", + ["tpm_nowaypoint"] = "Δεν έχει οριστεί σημείο προορισμού.", + ["tpm_success"] = "Επιτυχής τηλεμεταφορά", + + ["noclip_message"] = "Το Noclip έχει %s", + ["enabled"] = "~g~ενεργοποιήθηκε~s~", + ["disabled"] = "~r~απενεργοποιήθηκε~s~", + + -- Ρυθμίσεις τοπικής γλώσσας + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "£%s", + + -- Όπλα + + -- Χειροποίητα + ["weapon_dagger"] = "Στιλέτο", + ["weapon_bat"] = "Μπαστούνι", + ["weapon_battleaxe"] = "Πολεμική σείρα", + ["weapon_bottle"] = "Μπουκάλι", + ["weapon_crowbar"] = "Ροπαλάκι", + ["weapon_flashlight"] = "Φακός", + ["weapon_golfclub"] = "Γκολφ", + ["weapon_hammer"] = "Σφυρί", + ["weapon_hatchet"] = "Πέλεκυς", + ["weapon_knife"] = "Μαχαίρι", + ["weapon_knuckle"] = "Χειροπέδες", + ["weapon_machete"] = "Μαχαίρι μαχαιροπίρουνου", + ["weapon_nightstick"] = "Ρόπαλο νυχτερίδας", + ["weapon_wrench"] = "Ροκανίδι", + ["weapon_poolcue"] = "Καστήλα", + ["weapon_stone_hatchet"] = "Πέλεκυς από πέτρα", + ["weapon_switchblade"] = "Ξυραφάκι", + + -- Πιστόλια + ["weapon_appistol"] = "AP Πιστόλι", + ["weapon_ceramicpistol"] = "Κεραμικό πιστόλι", + ["weapon_combatpistol"] = "Πολεμικό πιστόλι", + ["weapon_doubleaction"] = "Διπλής δράσης Ριβόλβερ", + ["weapon_navyrevolver"] = "Ναυτικό Ρεβόλβερ", + ["weapon_flaregun"] = "Πιστόλι αστραπών", + ["weapon_gadgetpistol"] = "Πιστόλι συσκευών", + ["weapon_heavypistol"] = "Βαρύ πιστόλι", + ["weapon_revolver"] = "Βαρύ Ρεβόλβερ", + ["weapon_revolver_mk2"] = "Βαρύ Ρεβόλβερ MK2", + ["weapon_marksmanpistol"] = "Πιστόλι μονομάχου", + ["weapon_pistol"] = "Πιστόλι", + ["weapon_pistol_mk2"] = "Πιστόλι MK2", + ["weapon_pistol50"] = "Πιστόλι .50", + ["weapon_snspistol"] = "Πιστόλι SNS", + ["weapon_snspistol_mk2"] = "Πιστόλι SNS MK2", + ["weapon_stungun"] = "Ηλεκτροπληξία", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "Βιομηχανικό πιστόλι", + + -- Καραμπίνες + ["weapon_assaultshotgun"] = "Πολεμική Καραμπίνα", + ["weapon_autoshotgun"] = "Αυτόματη Καραμπίνα", + ["weapon_bullpupshotgun"] = "Bullpup Καραμπίνα", + ["weapon_combatshotgun"] = "Καραμπίνα πολέμου", + ["weapon_dbshotgun"] = "Διπλής κάννης Καραμπίνα", + ["weapon_heavyshotgun"] = "Βαριά Καραμπίνα", + ["weapon_musket"] = "Μουσκέτα", + ["weapon_pumpshotgun"] = "Καραμπίνα αντλίας", + ["weapon_pumpshotgun_mk2"] = "Καραμπίνα αντλίας MK2", + ["weapon_sawnoffshotgun"] = "Καραμπίνα με κοντά κάννη", + + -- SMG & LMG + ["weapon_assaultsmg"] = "Πολεμικό SMG", + ["weapon_combatmg"] = "Πολεμικό MG", + ["weapon_combatmg_mk2"] = "Πολεμικό MG MK2", + ["weapon_combatpdw"] = "Πολεμικό PDW", + ["weapon_gusenberg"] = "Gusenberg Sweeper", + ["weapon_machinepistol"] = "Πιστόλι Αυτόματης Καραμπίνας", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Μικρό SMG", + ["weapon_minismg"] = "Μικρό SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Ανεξίτηλο Hellbringer", + + -- Καραμπίνες + ["weapon_advancedrifle"] = "Προηγμένη Καραμπίνα", + ["weapon_assaultrifle"] = "Καραμπίνα Επίθεσης", + ["weapon_assaultrifle_mk2"] = "Καραμπίνα Επίθεσης MK2", + ["weapon_bullpuprifle"] = "Bullpup Καραμπίνα", + ["weapon_bullpuprifle_mk2"] = "Bullpup Καραμπίνα MK2", + ["weapon_carbinerifle"] = "Καραμπίνα", + ["weapon_carbinerifle_mk2"] = "Καραμπίνα MK2", + ["weapon_compactrifle"] = "Συμπαγής Καραμπίνα", + ["weapon_militaryrifle"] = "Στρατιωτική Καραμπίνα", + ["weapon_specialcarbine"] = "Ειδική Καραμπίνα", + ["weapon_specialcarbine_mk2"] = "Ειδική Καραμπίνα MK2", + + -- Κυνηγετικά + ["weapon_heavysniper"] = "Βαρύ Κυνηγετικό Ρίφλε", + ["weapon_heavysniper_mk2"] = "Βαρύ Κυνηγετικό Ρίφλε MK2", + ["weapon_marksmanrifle"] = "Ρίφλε Επαγγελματία Σκοπευτή", + ["weapon_marksmanrifle_mk2"] = "Ρίφλε Επαγγελματία Σκοπευτή MK2", + ["weapon_sniperrifle"] = "Κυνηγετικό Ρίφλε", + ["weapon_heavyrifle"] = "βαρύ τουφέκι", + + -- Βαριά / Εκτοξευτές + ["weapon_compactlauncher"] = "Συμπαγής Εκτοξευτής", + ["weapon_firework"] = "Εκτοξευτής Πυροτεχνημάτων", + ["weapon_grenadelauncher"] = "Εκτοξευτής Γρανατών", + ["weapon_hominglauncher"] = "Εκτοξευτής Εξόρυξης", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Railgun", + ["weapon_rpg"] = "Εκτοξευτής Πυραύλων", + ["weapon_rayminigun"] = "Widowmaker", + + -- Επιπλέον Όπλα από το Criminal Enterprises DLC + ["weapon_metaldetector"] = "Ανιχνευτής Μετάλλων", + ["weapon_precisionrifle"] = "Όπλο Ακρίβειας", + ["weapon_tactilerifle"] = "Όπλο Εξυπηρέτησης", + + -- Drug wars dlc + ["weapon_candycane"] = "Candycane", + ["weapon_acidpackage"] = "Acid Package", + ["weapon_pistolxm3"] = "Pistol8 x3m", + ["weapon_railgunxm3"] = "Railgun", + + -- Ρίψεις + ["weapon_ball"] = "Μπάλα", + ["weapon_bzgas"] = "BZ Gas", + ["weapon_flare"] = "Πυροτεχνήματα", + ["weapon_grenade"] = "Χειροβομβίδα", + ["weapon_petrolcan"] = "Κανέλα Βενζίνης", + ["weapon_hazardcan"] = "Κανέλα Επικίνδυνης Υλικότητας", + ["weapon_molotov"] = "Μολότοφ", + ["weapon_proxmine"] = "Νάρκη Εγγύτητας", + ["weapon_pipebomb"] = "Βόμβα Σωλήνα", + ["weapon_snowball"] = "Χιονόμπαλα", + ["weapon_stickybomb"] = "Κολλητή Βόμβα", + ["weapon_smokegrenade"] = "Δακρυγόνο", + + -- Ειδικά + ["weapon_fireextinguisher"] = "Πυροσβεστήρας", + ["weapon_digiscanner"] = "Ψηφιακός Σαρωτής", + ["weapon_garbagebag"] = "Σακούλα Απορριμμάτων", + ["weapon_handcuffs"] = "Χειροπέδες", + ["gadget_nightvision"] = "Νυχτερινή Όραση", + ["gadget_parachute"] = "Αλεξίπτωτο", + + -- Συστατικά Όπλων + ["component_knuckle_base"] = "Βασικό Μοντέλο", + ["component_knuckle_pimp"] = "Ο Φιλότιμος", + ["component_knuckle_ballas"] = "Οι Ballas", + ["component_knuckle_dollar"] = "Ο Εξαπατητής", + ["component_knuckle_diamond"] = "Η Ρόκα", + ["component_knuckle_hate"] = "Ο Μισητός", + ["component_knuckle_love"] = "Ο Εραστής", + ["component_knuckle_player"] = "Ο Παίκτης", + ["component_knuckle_king"] = "Ο Βασιλιάς", + ["component_knuckle_vagos"] = "Οι Vagos", + + ["component_luxary_finish"] = "Πολυτελές Φινίρισμα Όπλου", + + ["component_handle_default"] = "Προεπιλεγμένη Χειρολαβή", + ["component_handle_vip"] = "Χειρολαβή VIP", + ["component_handle_bodyguard"] = "Χειρολαβή Σωματοφύλακα", + + ["component_vip_finish"] = "Πολυτελές Φινίρισμα VIP", + ["component_bodyguard_finish"] = "Πολυτελές Φινίρισμα Σωματοφύλακα", + + ["component_camo_finish"] = "Ψηφιακό Καμουφλάζ", + ["component_camo_finish2"] = "Καμουφλάζ Πινελίου", + ["component_camo_finish3"] = "Καμουφλάζ Δάσους", + ["component_camo_finish4"] = "Καμουφλάζ Κρανίου", + ["component_camo_finish5"] = "Καμουφλάζ Sessanta Nove", + ["component_camo_finish6"] = "Καμουφλάζ Perseus", + ["component_camo_finish7"] = "Καμουφλάζ Λεοπάρδαλης", + ["component_camo_finish8"] = "Καμουφλάζ Ζέβρας", + ["component_camo_finish9"] = "Γεωμετρικό Καμουφλάζ", + ["component_camo_finish10"] = "Καμουφλάζ Boom", + ["component_camo_finish11"] = "Πατριωτικό Καμουφλάζ", + + ["component_camo_slide_finish"] = "Ψηφιακό Καμουφλάζ Slide", + ["component_camo_slide_finish2"] = "Καμουφλάζ Πινελίου Slide", + ["component_camo_slide_finish3"] = "Καμουφλάζ Δάσους Slide", + ["component_camo_slide_finish4"] = "Καμουφλάζ Κρανίου Slide", + ["component_camo_slide_finish5"] = "Καμουφλάζ Sessanta Nove Slide", + ["component_camo_slide_finish6"] = "Καμουφλάζ Perseus Slide", + ["component_camo_slide_finish7"] = "Καμουφλάζ Λεοπάρδαλης Slide", + ["component_camo_slide_finish8"] = "Καμουφλάζ Ζέβρας Slide", + ["component_camo_slide_finish9"] = "Γεωμετρικό Καμουφλάζ Slide", + ["component_camo_slide_finish10"] = "Καμουφλάζ Boom Slide", + ["component_camo_slide_finish11"] = "Πατριωτικό Καμουφλάζ Slide", + + ["component_clip_default"] = "Προεπιλεγμένο Περιοδικό", + ["component_clip_extended"] = "Επέκταση Περιοδικού", + ["component_clip_drum"] = "Περιοδικό Κάδος", + ["component_clip_box"] = "Περιοδικό Κιβώτιο", + + ["component_scope_holo"] = "Ολογραφική Σκοπευτική Συσκευή", + ["component_scope_small"] = "Μικρή Σκοπευτική Συσκευή", + ["component_scope_medium"] = "Μεσαία Σκοπευτική Συσκευή", + ["component_scope_large"] = "Μεγάλη Σκοπευτική Συσκευή", + ["component_scope"] = "Σκοπευτική Συσκευή Εγκατεστημένη", + ["component_scope_advanced"] = "Προηγμένη Σκοπευτική Συσκευή", + ["component_ironsights"] = "Σκοπευτικά Σιδερά", + + ["component_suppressor"] = "Καταστεναγματοποιητής", + ["component_compensator"] = "Αποζημιωτής", + + ["component_muzzle_flat"] = "Επίπεδο Φρένο Αέρα", + ["component_muzzle_tactical"] = "Τακτικό Φρένο Αέρα", + ["component_muzzle_fat"] = "Φρένο Αέρα Παχύ Άκρο", + ["component_muzzle_precision"] = "Φρένο Αέρα Ακρίβειας", + ["component_muzzle_heavy"] = "Φρένο Αέρα Βαρέως Τύπου", + ["component_muzzle_slanted"] = "Φρένο Αέρα Ανοιγοκλειστό", + ["component_muzzle_split"] = "Φρένο Αέρα Υποκλιμακούμενο", + ["component_muzzle_squared"] = "Φρένο Αέρα Τετραγωνισμένο", + + ["component_flashlight"] = "Φακός", + ["component_grip"] = "Λαβή", + + ["component_barrel_default"] = "Προεπιλεγμένο Κάννα", + ["component_barrel_heavy"] = "Βαριά Κάννα", + + ["component_ammo_tracer"] = "Σφαίρες με Ιχνηθέν Φωτός", + ["component_ammo_incendiary"] = "Σφαίρες Φωτιάς", + ["component_ammo_hollowpoint"] = "Σφαίρες Κενές Άκρες", + ["component_ammo_fmj"] = "Σφαίρες FMJ", + ["component_ammo_armor"] = "Σφαίρες Διάτρησης Θωράκισης", + ["component_ammo_explosive"] = "Εκρηκτικές Σφαίρες Διάτρησης Θωράκισης", + + ["component_shells_default"] = "Προεπιλεγμένες Φυσίγγια", + ["component_shells_incendiary"] = "Φυσίγγια Διαμαντινών", + ["component_shells_armor"] = "Φυσίγγια Θωράκισης Χάλυβα", + ["component_shells_hollowpoint"] = "Φυσίγγια Κενών Άκρων", + ["component_shells_explosive"] = "Φυσίγγια Εκρηκτικών", + + -- Πυρομαχικά Όπλων + ["ammo_rounds"] = "σφαιρίδιο(α)", + ["ammo_shells"] = "φυσίγγιο(α)", + ["ammo_charge"] = "φορτίο", + ["ammo_petrol"] = "γαλόνια καυσίμου", + ["ammo_firework"] = "πυροτεχνήματο(α)", + ["ammo_rockets"] = "πύραυλο(ι)", + ["ammo_grenadelauncher"] = "χειροβομβίδα(ες)", + ["ammo_grenade"] = "χειροβομβίδα(ες)", + ["ammo_stickybomb"] = "βόμβα(ες)", + ["ammo_pipebomb"] = "βόμβα(ες)", + ["ammo_smokebomb"] = "βόμβα(ες) καπνού", + ["ammo_molotov"] = "κοκτέιλ μολότοφ(α)", + ["ammo_proxmine"] = "μίνα(ες) εγγύτητας", + ["ammo_bzgas"] = "κανίστρα(ες)", + ["ammo_ball"] = "μπάλα(ες)", + ["ammo_snowball"] = "χιονόμπαλα(ες)", + ["ammo_flare"] = "φλογοβολίδα(ες)", + ["ammo_flaregun"] = "φλογοβολίδα(ες)", + + -- Επιστρώσεις Όπλων + ["tint_default"] = "προεπιλεγμένο δέρμα", + ["tint_green"] = "πράσινο δέρμα", + ["tint_gold"] = "χρυσό δέρμα", + ["tint_pink"] = "ροζ δέρμα", + ["tint_army"] = "στρατιωτικό δέρμα", + ["tint_lspd"] = "μπλε δέρμα", + ["tint_orange"] = "πορτοκαλί δέρμα", + ["tint_platinum"] = "πλατίνενο δέρμα", } diff --git a/server-data/resources/[esx]/es_extended/locales/en.lua b/server-data/resources/[esx]/es_extended/locales/en.lua index 90521548a..10a0bdd5f 100644 --- a/server-data/resources/[esx]/es_extended/locales/en.lua +++ b/server-data/resources/[esx]/es_extended/locales/en.lua @@ -1,381 +1,381 @@ Locales["en"] = { - -- Inventory - ["inventory"] = "Inventory ( Weight %s / %s )", - ["use"] = "Use", - ["give"] = "Give", - ["remove"] = "Throw", - ["return"] = "Return", - ["give_to"] = "Give to", - ["amount"] = "Amount", - ["giveammo"] = "Give ammo", - ["amountammo"] = "Ammo Amount", - ["noammo"] = "Not Enough!", - ["gave_item"] = "Giving %sx %s to %s", - ["received_item"] = "Received %sx %s from %s", - ["gave_weapon"] = "Giving %s to %s", - ["gave_weapon_ammo"] = "Giving ~o~%sx %s for %s to %s", - ["gave_weapon_withammo"] = "Giving %s with ~o~%sx %s to %s", - ["gave_weapon_hasalready"] = "%s already has a %s", - ["gave_weapon_noweapon"] = "%s does not have that weapon", - ["received_weapon"] = "Received %s from %s", - ["received_weapon_ammo"] = "Received ~o~%sx %s for your %s from %s", - ["received_weapon_withammo"] = "Received %s with ~o~%sx %s from %s", - ["received_weapon_hasalready"] = "%s has attempted to give you a %s, but you already this weapon", - ["received_weapon_noweapon"] = "%s has attempted to give you ammo for a %s, but you do not have this weapon", - ["gave_account_money"] = "Giving $%s (%s) to %s", - ["received_account_money"] = "Received $%s (%s) from %s", - ["amount_invalid"] = "Invalid quantity", - ["players_nearby"] = "No nearby Players", - ["ex_inv_lim"] = "Cannot perfom action,exceeding max weight of %s", - ["imp_invalid_quantity"] = "Cannot perfom action, the quantity is invalid", - ["imp_invalid_amount"] = "Cannot perfom action, the amount is invalid", - ["threw_standard"] = "Throwing %sx %s", - ["threw_account"] = "Throwing $%s %s", - ["threw_weapon"] = "Throwing %s", - ["threw_weapon_ammo"] = "Throwing %s with ~o~%sx %s", - ["threw_weapon_already"] = "You already have this weapon", - ["threw_cannot_pickup"] = "Inventory is full, Cannot Pickup!", - ["threw_pickup_prompt"] = "Press E to Pickup", - - -- Key mapping - ["keymap_showinventory"] = "Show Inventory", - - -- Salary related - ["received_salary"] = "You have been paid: $%s", - ["received_help"] = "You have been paid your welfare check: $%s", - ["company_nomoney"] = "the company you're employeed at is too poor to pay out your salary", - ["received_paycheck"] = "received paycheck", - ["bank"] = "Maze Bank", - ["account_bank"] = "Bank", - ["account_black_money"] = "Dirty Money", - ["account_money"] = "Cash", - - ["act_imp"] = "Cannot Perform Action", - ["in_vehicle"] = "Cannot Perform Action, Player is in a vehicle", - ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", - - -- Commands - ["command_bring"] = "Bring player to you", - ["command_car"] = "Spawn a vehicle", - ["command_car_car"] = "Vehicle model or hash", - ["command_cardel"] = "Remove vehicles in proximity", - ["command_cardel_radius"] = "Removes all vehicles within the specified radius", - ["command_repair"] = "Repair your vehicle", - ["command_repair_success"] = "Successfully repaired vehicle", - ["command_repair_success_target"] = "An admin repaired your vehicle", - ["command_clear"] = "Clear chat Text", - ["command_clearall"] = "Clear chat Text for all players", - ["command_clearinventory"] = "Remove All items from the Players Inventory", - ["command_clearloadout"] = "Remove All weapons from the Players Loadout", - ["command_freeze"] = "Freeze a player", - ["command_unfreeze"] = "Unfreeze a player", - ["command_giveaccountmoney"] = "Give Money to a specified Account", - ["command_giveaccountmoney_account"] = "Account to add to", - ["command_giveaccountmoney_amount"] = "Amount to add", - ["command_giveaccountmoney_invalid"] = "Account Name Invalid", - ["command_removeaccountmoney"] = "Remove Money from a specified Account", - ["command_removeaccountmoney_account"] = "Account to remove from", - ["command_removeaccountmoney_amount"] = "Amount to remove", - ["command_removeaccountmoney_invalid"] = "Account Name Invalid", - ["command_giveitem"] = "Give Player an item", - ["command_giveitem_item"] = "Item name", - ["command_giveitem_count"] = "Quantity", - ["command_giveweapon"] = "Give player a weapon", - ["command_giveweapon_weapon"] = "Weapon name", - ["command_giveweapon_ammo"] = "Ammo Quantity", - ["command_giveweapon_hasalready"] = "Player already has this weapon", - ["command_giveweaponcomponent"] = "Give weapon component to player", - ["command_giveweaponcomponent_component"] = "Component name", - ["command_giveweaponcomponent_invalid"] = "Invalid weapon component", - ["command_giveweaponcomponent_hasalready"] = "Player already has this weapon component", - ["command_giveweaponcomponent_missingweapon"] = "Player does not have this weapon", - ["command_goto"] = "Teleport yourself to a player", - ["command_kill"] = "Kill a player", - ["command_save"] = "Force Save a player`s Data", - ["command_saveall"] = "Force Save all player data", - ["command_setaccountmoney"] = "Set the money within a specified account", - ["command_setaccountmoney_amount"] = "Amount", - ["command_setcoords"] = "Teleport to specified Coordinates", - ["command_setcoords_x"] = "X value", - ["command_setcoords_y"] = "Y value", - ["command_setcoords_z"] = "Z value", - ["command_setjob"] = "Set a player`s job", - ["command_setjob_job"] = "Name", - ["command_setjob_grade"] = "Job grade", - ["command_setjob_invalid"] = "the job, grade or both are invalid", - ["command_setgroup"] = "Set a players permission group", - ["command_setgroup_group"] = "Name of Group", - ["commanderror_argumentmismatch"] = "Invalid Argument Count (passed %s, wanted %s)", - ["commanderror_argumentmismatch_number"] = "Invalid Argument #%s data type (passed string, wanted number)", - ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", - ["commanderror_invaliditem"] = "Invalid item", - ["commanderror_invalidweapon"] = "Invalid weapon", - ["commanderror_console"] = "Command Cannot be executed from console", - ["commanderror_invalidcommand"] = "Invalid Command - /%s", - ["commanderror_invalidplayerid"] = "Specified Player is not online", - ["commandgeneric_playerid"] = "Player`s Server Id", - ["command_giveammo_noweapon_found"] = "%s does not have that weapon", - ["command_giveammo_weapon"] = "Weapon name", - ["command_giveammo_ammo"] = "Ammo Quantity", - ["tpm_nowaypoint"] = "No Waypoint Set.", - ["tpm_success"] = "Successfully Teleported", - - ["noclip_message"] = "Noclip has been %s", - ["enabled"] = "~g~enabled~s~", - ["disabled"] = "~r~disabled~s~", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "£%s", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "Dagger", - ["weapon_bat"] = "Bat", - ["weapon_battleaxe"] = "Battle Axe", - ["weapon_bottle"] = "Bottle", - ["weapon_crowbar"] = "Crowbar", - ["weapon_flashlight"] = "Flashlight", - ["weapon_golfclub"] = "Golf Club", - ["weapon_hammer"] = "Hammer", - ["weapon_hatchet"] = "Hatchet", - ["weapon_knife"] = "Knife", - ["weapon_knuckle"] = "Knuckledusters", - ["weapon_machete"] = "Machete", - ["weapon_nightstick"] = "Nightstick", - ["weapon_wrench"] = "Pipe Wrench", - ["weapon_poolcue"] = "Pool Cue", - ["weapon_stone_hatchet"] = "Stone Hatchet", - ["weapon_switchblade"] = "Switchblade", - - -- Handguns - ["weapon_appistol"] = "AP Pistol", - ["weapon_ceramicpistol"] = "Ceramic Pistol", - ["weapon_combatpistol"] = "Combat Pistol", - ["weapon_doubleaction"] = "Double-Action Revolver", - ["weapon_navyrevolver"] = "Navy Revolver", - ["weapon_flaregun"] = "Flaregun", - ["weapon_gadgetpistol"] = "Gadget Pistol", - ["weapon_heavypistol"] = "Heavy Pistol", - ["weapon_revolver"] = "Heavy Revolver", - ["weapon_revolver_mk2"] = "Heavy Revolver MK2", - ["weapon_marksmanpistol"] = "Marksman Pistol", - ["weapon_pistol"] = "Pistol", - ["weapon_pistol_mk2"] = "Pistol MK2", - ["weapon_pistol50"] = "Pistol .50", - ["weapon_snspistol"] = "SNS Pistol", - ["weapon_snspistol_mk2"] = "SNS Pistol MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "Vintage Pistol", - - -- Shotguns - ["weapon_assaultshotgun"] = "Assault Shotgun", - ["weapon_autoshotgun"] = "Auto Shotgun", - ["weapon_bullpupshotgun"] = "Bullpup Shotgun", - ["weapon_combatshotgun"] = "Combat Shotgun", - ["weapon_dbshotgun"] = "Double Barrel Shotgun", - ["weapon_heavyshotgun"] = "Heavy Shotgun", - ["weapon_musket"] = "Musket", - ["weapon_pumpshotgun"] = "Pump Shotgun", - ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", - ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", - - -- SMG & LMG - ["weapon_assaultsmg"] = "Assault SMG", - ["weapon_combatmg"] = "Combat MG", - ["weapon_combatmg_mk2"] = "Combat MG MK2", - ["weapon_combatpdw"] = "Combat PDW", - ["weapon_gusenberg"] = "Gusenberg Sweeper", - ["weapon_machinepistol"] = "Machine Pistol", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Micro SMG", - ["weapon_minismg"] = "Mini SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Unholy Hellbringer", - - -- Rifles - ["weapon_advancedrifle"] = "Advanced Rifle", - ["weapon_assaultrifle"] = "Assault Rifle", - ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", - ["weapon_bullpuprifle"] = "Bullpup Rifle", - ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", - ["weapon_carbinerifle"] = "Carbine Rifle", - ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", - ["weapon_compactrifle"] = "Compact Rifle", - ["weapon_militaryrifle"] = "Military Rifle", - ["weapon_specialcarbine"] = "Special Carbine", - ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", - ["weapon_heavyrifle"] = "Heavy Rifle", - - -- Sniper - ["weapon_heavysniper"] = "Heavy Sniper", - ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", - ["weapon_marksmanrifle"] = "Marksman Rifle", - ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", - ["weapon_sniperrifle"] = "Sniper Rifle", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Compact Launcher", - ["weapon_firework"] = "Firework Launcher", - ["weapon_grenadelauncher"] = "Grenade Launcher", - ["weapon_hominglauncher"] = "Homing Launcher", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Railgun", - ["weapon_rpg"] = "Rocket Launcher", - ["weapon_rayminigun"] = "Widowmaker", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "Metal Detector", - ["weapon_precisionrifle"] = "Precision Rifle", - ["weapon_tactilerifle"] = "Service Carbine", - - -- Drug wars dlc - ["weapon_candycane"] = "Candycane", - ["weapon_acidpackage"] = "Acid Package", - ["weapon_pistolxm3"] = "Pistol8 x3m", - ["weapon_railgunxm3"] = "Railgun", - - -- Thrown - ["weapon_ball"] = "Baseball", - ["weapon_bzgas"] = "BZ Gas", - ["weapon_flare"] = "Flare", - ["weapon_grenade"] = "Grenade", - ["weapon_petrolcan"] = "Jerrycan", - ["weapon_hazardcan"] = "Hazardous Jerrycan", - ["weapon_molotov"] = "Molotov Cocktail", - ["weapon_proxmine"] = "Proximity Mine", - ["weapon_pipebomb"] = "Pipe Bomb", - ["weapon_snowball"] = "Snowball", - ["weapon_stickybomb"] = "Sticky Bomb", - ["weapon_smokegrenade"] = "Tear Gas", - - -- Special - ["weapon_fireextinguisher"] = "Fire Extinguisher", - ["weapon_digiscanner"] = "Digital Scanner", - ["weapon_garbagebag"] = "Garbage Bag", - ["weapon_handcuffs"] = "Handcuffs", - ["gadget_nightvision"] = "Night Vision", - ["gadget_parachute"] = "parachute", - - -- Weapon Components - ["component_knuckle_base"] = "base Model", - ["component_knuckle_pimp"] = "the Pimp", - ["component_knuckle_ballas"] = "the Ballas", - ["component_knuckle_dollar"] = "the Hustler", - ["component_knuckle_diamond"] = "the Rock", - ["component_knuckle_hate"] = "the Hater", - ["component_knuckle_love"] = "the Lover", - ["component_knuckle_player"] = "the Player", - ["component_knuckle_king"] = "the King", - ["component_knuckle_vagos"] = "the Vagos", - - ["component_luxary_finish"] = "luxary Weapon Finish", - - ["component_handle_default"] = "default Handle", - ["component_handle_vip"] = "vIP Handle", - ["component_handle_bodyguard"] = "bodyguard Handle", - - ["component_vip_finish"] = "vIP Finish", - ["component_bodyguard_finish"] = "bodyguard Finish", - - ["component_camo_finish"] = "digital Camo", - ["component_camo_finish2"] = "brushstroke Camo", - ["component_camo_finish3"] = "woodland Camo", - ["component_camo_finish4"] = "skull Camo", - ["component_camo_finish5"] = "sessanta Nove Camo", - ["component_camo_finish6"] = "perseus Camo", - ["component_camo_finish7"] = "leopard Camo", - ["component_camo_finish8"] = "zebra Camo", - ["component_camo_finish9"] = "geometric Camo", - ["component_camo_finish10"] = "boom Camo", - ["component_camo_finish11"] = "patriotic Camo", - - ["component_camo_slide_finish"] = "digital Slide Camo", - ["component_camo_slide_finish2"] = "brushstroke Slide Camo", - ["component_camo_slide_finish3"] = "woodland Slide Camo", - ["component_camo_slide_finish4"] = "skull Slide Camo", - ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", - ["component_camo_slide_finish6"] = "perseus Slide Camo", - ["component_camo_slide_finish7"] = "leopard Slide Camo", - ["component_camo_slide_finish8"] = "zebra Slide Camo", - ["component_camo_slide_finish9"] = "geometric Slide Camo", - ["component_camo_slide_finish10"] = "boom Slide Camo", - ["component_camo_slide_finish11"] = "patriotic Slide Camo", - - ["component_clip_default"] = "default Magazine", - ["component_clip_extended"] = "extended Magazine", - ["component_clip_drum"] = "drum Magazine", - ["component_clip_box"] = "box Magazine", - - ["component_scope_holo"] = "holographic Scope", - ["component_scope_small"] = "small Scope", - ["component_scope_medium"] = "medium Scope", - ["component_scope_large"] = "large Scope", - ["component_scope"] = "mounted Scope", - ["component_scope_advanced"] = "advanced Scope", - ["component_ironsights"] = "ironsights", - - ["component_suppressor"] = "suppressor", - ["component_compensator"] = "compensator", - - ["component_muzzle_flat"] = "flat Muzzle Brake", - ["component_muzzle_tactical"] = "tactical Muzzle Brake", - ["component_muzzle_fat"] = "fat-End Muzzle Brake", - ["component_muzzle_precision"] = "precision Muzzle Brake", - ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", - ["component_muzzle_slanted"] = "slanted Muzzle Brake", - ["component_muzzle_split"] = "split-End Muzzle Brake", - ["component_muzzle_squared"] = "squared Muzzle Brake", - - ["component_flashlight"] = "flashlight", - ["component_grip"] = "grip", - - ["component_barrel_default"] = "default Barrel", - ["component_barrel_heavy"] = "heavy Barrel", - - ["component_ammo_tracer"] = "tracer Ammo", - ["component_ammo_incendiary"] = "incendiary Ammo", - ["component_ammo_hollowpoint"] = "hollowpoint Ammo", - ["component_ammo_fmj"] = "fMJ Ammo", - ["component_ammo_armor"] = "armor Piercing Ammo", - ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", - - ["component_shells_default"] = "default Shells", - ["component_shells_incendiary"] = "dragons Breath Shells", - ["component_shells_armor"] = "steel Buckshot Shells", - ["component_shells_hollowpoint"] = "flechette Shells", - ["component_shells_explosive"] = "explosive Slug Shells", - - -- Weapon Ammo - ["ammo_rounds"] = "round(s)", - ["ammo_shells"] = "shell(s)", - ["ammo_charge"] = "charge", - ["ammo_petrol"] = "gallons of fuel", - ["ammo_firework"] = "firework(s)", - ["ammo_rockets"] = "rocket(s)", - ["ammo_grenadelauncher"] = "grenade(s)", - ["ammo_grenade"] = "grenade(s)", - ["ammo_stickybomb"] = "bomb(s)", - ["ammo_pipebomb"] = "bomb(s)", - ["ammo_smokebomb"] = "bomb(s)", - ["ammo_molotov"] = "cocktail(s)", - ["ammo_proxmine"] = "mine(s)", - ["ammo_bzgas"] = "can(s)", - ["ammo_ball"] = "ball(s)", - ["ammo_snowball"] = "snowball(s)", - ["ammo_flare"] = "flare(s)", - ["ammo_flaregun"] = "flare(s)", - - -- Weapon Tints - ["tint_default"] = "default skin", - ["tint_green"] = "green skin", - ["tint_gold"] = "gold skin", - ["tint_pink"] = "pink skin", - ["tint_army"] = "army skin", - ["tint_lspd"] = "blue skin", - ["tint_orange"] = "orange skin", - ["tint_platinum"] = "platinum skin", + -- Inventory + ["inventory"] = "Inventory ( Weight %s / %s )", + ["use"] = "Use", + ["give"] = "Give", + ["remove"] = "Throw", + ["return"] = "Return", + ["give_to"] = "Give to", + ["amount"] = "Amount", + ["giveammo"] = "Give ammo", + ["amountammo"] = "Ammo Amount", + ["noammo"] = "Not Enough!", + ["gave_item"] = "Giving %sx %s to %s", + ["received_item"] = "Received %sx %s from %s", + ["gave_weapon"] = "Giving %s to %s", + ["gave_weapon_ammo"] = "Giving ~o~%sx %s for %s to %s", + ["gave_weapon_withammo"] = "Giving %s with ~o~%sx %s to %s", + ["gave_weapon_hasalready"] = "%s already has a %s", + ["gave_weapon_noweapon"] = "%s does not have that weapon", + ["received_weapon"] = "Received %s from %s", + ["received_weapon_ammo"] = "Received ~o~%sx %s for your %s from %s", + ["received_weapon_withammo"] = "Received %s with ~o~%sx %s from %s", + ["received_weapon_hasalready"] = "%s has attempted to give you a %s, but you already this weapon", + ["received_weapon_noweapon"] = "%s has attempted to give you ammo for a %s, but you do not have this weapon", + ["gave_account_money"] = "Giving $%s (%s) to %s", + ["received_account_money"] = "Received $%s (%s) from %s", + ["amount_invalid"] = "Invalid quantity", + ["players_nearby"] = "No nearby Players", + ["ex_inv_lim"] = "Cannot perfom action,exceeding max weight of %s", + ["imp_invalid_quantity"] = "Cannot perfom action, the quantity is invalid", + ["imp_invalid_amount"] = "Cannot perfom action, the amount is invalid", + ["threw_standard"] = "Throwing %sx %s", + ["threw_account"] = "Throwing $%s %s", + ["threw_weapon"] = "Throwing %s", + ["threw_weapon_ammo"] = "Throwing %s with ~o~%sx %s", + ["threw_weapon_already"] = "You already have this weapon", + ["threw_cannot_pickup"] = "Inventory is full, Cannot Pickup!", + ["threw_pickup_prompt"] = "Press E to Pickup", + + -- Key mapping + ["keymap_showinventory"] = "Show Inventory", + + -- Salary related + ["received_salary"] = "You have been paid: $%s", + ["received_help"] = "You have been paid your welfare check: $%s", + ["company_nomoney"] = "the company you're employeed at is too poor to pay out your salary", + ["received_paycheck"] = "received paycheck", + ["bank"] = "Maze Bank", + ["account_bank"] = "Bank", + ["account_black_money"] = "Dirty Money", + ["account_money"] = "Cash", + + ["act_imp"] = "Cannot Perform Action", + ["in_vehicle"] = "Cannot Perform Action, Player is in a vehicle", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", + + -- Commands + ["command_bring"] = "Bring player to you", + ["command_car"] = "Spawn a vehicle", + ["command_car_car"] = "Vehicle model or hash", + ["command_cardel"] = "Remove vehicles in proximity", + ["command_cardel_radius"] = "Removes all vehicles within the specified radius", + ["command_repair"] = "Repair your vehicle", + ["command_repair_success"] = "Successfully repaired vehicle", + ["command_repair_success_target"] = "An admin repaired your vehicle", + ["command_clear"] = "Clear chat Text", + ["command_clearall"] = "Clear chat Text for all players", + ["command_clearinventory"] = "Remove All items from the Players Inventory", + ["command_clearloadout"] = "Remove All weapons from the Players Loadout", + ["command_freeze"] = "Freeze a player", + ["command_unfreeze"] = "Unfreeze a player", + ["command_giveaccountmoney"] = "Give Money to a specified Account", + ["command_giveaccountmoney_account"] = "Account to add to", + ["command_giveaccountmoney_amount"] = "Amount to add", + ["command_giveaccountmoney_invalid"] = "Account Name Invalid", + ["command_removeaccountmoney"] = "Remove Money from a specified Account", + ["command_removeaccountmoney_account"] = "Account to remove from", + ["command_removeaccountmoney_amount"] = "Amount to remove", + ["command_removeaccountmoney_invalid"] = "Account Name Invalid", + ["command_giveitem"] = "Give Player an item", + ["command_giveitem_item"] = "Item name", + ["command_giveitem_count"] = "Quantity", + ["command_giveweapon"] = "Give player a weapon", + ["command_giveweapon_weapon"] = "Weapon name", + ["command_giveweapon_ammo"] = "Ammo Quantity", + ["command_giveweapon_hasalready"] = "Player already has this weapon", + ["command_giveweaponcomponent"] = "Give weapon component to player", + ["command_giveweaponcomponent_component"] = "Component name", + ["command_giveweaponcomponent_invalid"] = "Invalid weapon component", + ["command_giveweaponcomponent_hasalready"] = "Player already has this weapon component", + ["command_giveweaponcomponent_missingweapon"] = "Player does not have this weapon", + ["command_goto"] = "Teleport yourself to a player", + ["command_kill"] = "Kill a player", + ["command_save"] = "Force Save a player`s Data", + ["command_saveall"] = "Force Save all player data", + ["command_setaccountmoney"] = "Set the money within a specified account", + ["command_setaccountmoney_amount"] = "Amount", + ["command_setcoords"] = "Teleport to specified Coordinates", + ["command_setcoords_x"] = "X value", + ["command_setcoords_y"] = "Y value", + ["command_setcoords_z"] = "Z value", + ["command_setjob"] = "Set a player`s job", + ["command_setjob_job"] = "Name", + ["command_setjob_grade"] = "Job grade", + ["command_setjob_invalid"] = "the job, grade or both are invalid", + ["command_setgroup"] = "Set a players permission group", + ["command_setgroup_group"] = "Name of Group", + ["commanderror_argumentmismatch"] = "Invalid Argument Count (passed %s, wanted %s)", + ["commanderror_argumentmismatch_number"] = "Invalid Argument #%s data type (passed string, wanted number)", + ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", + ["commanderror_invaliditem"] = "Invalid item", + ["commanderror_invalidweapon"] = "Invalid weapon", + ["commanderror_console"] = "Command Cannot be executed from console", + ["commanderror_invalidcommand"] = "Invalid Command - /%s", + ["commanderror_invalidplayerid"] = "Specified Player is not online", + ["commandgeneric_playerid"] = "Player`s Server Id", + ["command_giveammo_noweapon_found"] = "%s does not have that weapon", + ["command_giveammo_weapon"] = "Weapon name", + ["command_giveammo_ammo"] = "Ammo Quantity", + ["tpm_nowaypoint"] = "No Waypoint Set.", + ["tpm_success"] = "Successfully Teleported", + + ["noclip_message"] = "Noclip has been %s", + ["enabled"] = "~g~enabled~s~", + ["disabled"] = "~r~disabled~s~", + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "£%s", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "Dagger", + ["weapon_bat"] = "Bat", + ["weapon_battleaxe"] = "Battle Axe", + ["weapon_bottle"] = "Bottle", + ["weapon_crowbar"] = "Crowbar", + ["weapon_flashlight"] = "Flashlight", + ["weapon_golfclub"] = "Golf Club", + ["weapon_hammer"] = "Hammer", + ["weapon_hatchet"] = "Hatchet", + ["weapon_knife"] = "Knife", + ["weapon_knuckle"] = "Knuckledusters", + ["weapon_machete"] = "Machete", + ["weapon_nightstick"] = "Nightstick", + ["weapon_wrench"] = "Pipe Wrench", + ["weapon_poolcue"] = "Pool Cue", + ["weapon_stone_hatchet"] = "Stone Hatchet", + ["weapon_switchblade"] = "Switchblade", + + -- Handguns + ["weapon_appistol"] = "AP Pistol", + ["weapon_ceramicpistol"] = "Ceramic Pistol", + ["weapon_combatpistol"] = "Combat Pistol", + ["weapon_doubleaction"] = "Double-Action Revolver", + ["weapon_navyrevolver"] = "Navy Revolver", + ["weapon_flaregun"] = "Flaregun", + ["weapon_gadgetpistol"] = "Gadget Pistol", + ["weapon_heavypistol"] = "Heavy Pistol", + ["weapon_revolver"] = "Heavy Revolver", + ["weapon_revolver_mk2"] = "Heavy Revolver MK2", + ["weapon_marksmanpistol"] = "Marksman Pistol", + ["weapon_pistol"] = "Pistol", + ["weapon_pistol_mk2"] = "Pistol MK2", + ["weapon_pistol50"] = "Pistol .50", + ["weapon_snspistol"] = "SNS Pistol", + ["weapon_snspistol_mk2"] = "SNS Pistol MK2", + ["weapon_stungun"] = "Taser", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "Vintage Pistol", + + -- Shotguns + ["weapon_assaultshotgun"] = "Assault Shotgun", + ["weapon_autoshotgun"] = "Auto Shotgun", + ["weapon_bullpupshotgun"] = "Bullpup Shotgun", + ["weapon_combatshotgun"] = "Combat Shotgun", + ["weapon_dbshotgun"] = "Double Barrel Shotgun", + ["weapon_heavyshotgun"] = "Heavy Shotgun", + ["weapon_musket"] = "Musket", + ["weapon_pumpshotgun"] = "Pump Shotgun", + ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", + ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", + + -- SMG & LMG + ["weapon_assaultsmg"] = "Assault SMG", + ["weapon_combatmg"] = "Combat MG", + ["weapon_combatmg_mk2"] = "Combat MG MK2", + ["weapon_combatpdw"] = "Combat PDW", + ["weapon_gusenberg"] = "Gusenberg Sweeper", + ["weapon_machinepistol"] = "Machine Pistol", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Micro SMG", + ["weapon_minismg"] = "Mini SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Unholy Hellbringer", + + -- Rifles + ["weapon_advancedrifle"] = "Advanced Rifle", + ["weapon_assaultrifle"] = "Assault Rifle", + ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", + ["weapon_bullpuprifle"] = "Bullpup Rifle", + ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", + ["weapon_carbinerifle"] = "Carbine Rifle", + ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", + ["weapon_compactrifle"] = "Compact Rifle", + ["weapon_militaryrifle"] = "Military Rifle", + ["weapon_specialcarbine"] = "Special Carbine", + ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", + + -- Sniper + ["weapon_heavysniper"] = "Heavy Sniper", + ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", + ["weapon_marksmanrifle"] = "Marksman Rifle", + ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", + ["weapon_sniperrifle"] = "Sniper Rifle", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "Compact Launcher", + ["weapon_firework"] = "Firework Launcher", + ["weapon_grenadelauncher"] = "Grenade Launcher", + ["weapon_hominglauncher"] = "Homing Launcher", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Railgun", + ["weapon_rpg"] = "Rocket Launcher", + ["weapon_rayminigun"] = "Widowmaker", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "Metal Detector", + ["weapon_precisionrifle"] = "Precision Rifle", + ["weapon_tactilerifle"] = "Service Carbine", + + -- Drug wars dlc + ["weapon_candycane"] = "Candycane", + ["weapon_acidpackage"] = "Acid Package", + ["weapon_pistolxm3"] = "Pistol8 x3m", + ["weapon_railgunxm3"] = "Railgun", + + -- Thrown + ["weapon_ball"] = "Baseball", + ["weapon_bzgas"] = "BZ Gas", + ["weapon_flare"] = "Flare", + ["weapon_grenade"] = "Grenade", + ["weapon_petrolcan"] = "Jerrycan", + ["weapon_hazardcan"] = "Hazardous Jerrycan", + ["weapon_molotov"] = "Molotov Cocktail", + ["weapon_proxmine"] = "Proximity Mine", + ["weapon_pipebomb"] = "Pipe Bomb", + ["weapon_snowball"] = "Snowball", + ["weapon_stickybomb"] = "Sticky Bomb", + ["weapon_smokegrenade"] = "Tear Gas", + + -- Special + ["weapon_fireextinguisher"] = "Fire Extinguisher", + ["weapon_digiscanner"] = "Digital Scanner", + ["weapon_garbagebag"] = "Garbage Bag", + ["weapon_handcuffs"] = "Handcuffs", + ["gadget_nightvision"] = "Night Vision", + ["gadget_parachute"] = "parachute", + + -- Weapon Components + ["component_knuckle_base"] = "base Model", + ["component_knuckle_pimp"] = "the Pimp", + ["component_knuckle_ballas"] = "the Ballas", + ["component_knuckle_dollar"] = "the Hustler", + ["component_knuckle_diamond"] = "the Rock", + ["component_knuckle_hate"] = "the Hater", + ["component_knuckle_love"] = "the Lover", + ["component_knuckle_player"] = "the Player", + ["component_knuckle_king"] = "the King", + ["component_knuckle_vagos"] = "the Vagos", + + ["component_luxary_finish"] = "luxary Weapon Finish", + + ["component_handle_default"] = "default Handle", + ["component_handle_vip"] = "vIP Handle", + ["component_handle_bodyguard"] = "bodyguard Handle", + + ["component_vip_finish"] = "vIP Finish", + ["component_bodyguard_finish"] = "bodyguard Finish", + + ["component_camo_finish"] = "digital Camo", + ["component_camo_finish2"] = "brushstroke Camo", + ["component_camo_finish3"] = "woodland Camo", + ["component_camo_finish4"] = "skull Camo", + ["component_camo_finish5"] = "sessanta Nove Camo", + ["component_camo_finish6"] = "perseus Camo", + ["component_camo_finish7"] = "leopard Camo", + ["component_camo_finish8"] = "zebra Camo", + ["component_camo_finish9"] = "geometric Camo", + ["component_camo_finish10"] = "boom Camo", + ["component_camo_finish11"] = "patriotic Camo", + + ["component_camo_slide_finish"] = "digital Slide Camo", + ["component_camo_slide_finish2"] = "brushstroke Slide Camo", + ["component_camo_slide_finish3"] = "woodland Slide Camo", + ["component_camo_slide_finish4"] = "skull Slide Camo", + ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", + ["component_camo_slide_finish6"] = "perseus Slide Camo", + ["component_camo_slide_finish7"] = "leopard Slide Camo", + ["component_camo_slide_finish8"] = "zebra Slide Camo", + ["component_camo_slide_finish9"] = "geometric Slide Camo", + ["component_camo_slide_finish10"] = "boom Slide Camo", + ["component_camo_slide_finish11"] = "patriotic Slide Camo", + + ["component_clip_default"] = "default Magazine", + ["component_clip_extended"] = "extended Magazine", + ["component_clip_drum"] = "drum Magazine", + ["component_clip_box"] = "box Magazine", + + ["component_scope_holo"] = "holographic Scope", + ["component_scope_small"] = "small Scope", + ["component_scope_medium"] = "medium Scope", + ["component_scope_large"] = "large Scope", + ["component_scope"] = "mounted Scope", + ["component_scope_advanced"] = "advanced Scope", + ["component_ironsights"] = "ironsights", + + ["component_suppressor"] = "suppressor", + ["component_compensator"] = "compensator", + + ["component_muzzle_flat"] = "flat Muzzle Brake", + ["component_muzzle_tactical"] = "tactical Muzzle Brake", + ["component_muzzle_fat"] = "fat-End Muzzle Brake", + ["component_muzzle_precision"] = "precision Muzzle Brake", + ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", + ["component_muzzle_slanted"] = "slanted Muzzle Brake", + ["component_muzzle_split"] = "split-End Muzzle Brake", + ["component_muzzle_squared"] = "squared Muzzle Brake", + + ["component_flashlight"] = "flashlight", + ["component_grip"] = "grip", + + ["component_barrel_default"] = "default Barrel", + ["component_barrel_heavy"] = "heavy Barrel", + + ["component_ammo_tracer"] = "tracer Ammo", + ["component_ammo_incendiary"] = "incendiary Ammo", + ["component_ammo_hollowpoint"] = "hollowpoint Ammo", + ["component_ammo_fmj"] = "fMJ Ammo", + ["component_ammo_armor"] = "armor Piercing Ammo", + ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", + + ["component_shells_default"] = "default Shells", + ["component_shells_incendiary"] = "dragons Breath Shells", + ["component_shells_armor"] = "steel Buckshot Shells", + ["component_shells_hollowpoint"] = "flechette Shells", + ["component_shells_explosive"] = "explosive Slug Shells", + + -- Weapon Ammo + ["ammo_rounds"] = "round(s)", + ["ammo_shells"] = "shell(s)", + ["ammo_charge"] = "charge", + ["ammo_petrol"] = "gallons of fuel", + ["ammo_firework"] = "firework(s)", + ["ammo_rockets"] = "rocket(s)", + ["ammo_grenadelauncher"] = "grenade(s)", + ["ammo_grenade"] = "grenade(s)", + ["ammo_stickybomb"] = "bomb(s)", + ["ammo_pipebomb"] = "bomb(s)", + ["ammo_smokebomb"] = "bomb(s)", + ["ammo_molotov"] = "cocktail(s)", + ["ammo_proxmine"] = "mine(s)", + ["ammo_bzgas"] = "can(s)", + ["ammo_ball"] = "ball(s)", + ["ammo_snowball"] = "snowball(s)", + ["ammo_flare"] = "flare(s)", + ["ammo_flaregun"] = "flare(s)", + + -- Weapon Tints + ["tint_default"] = "default skin", + ["tint_green"] = "green skin", + ["tint_gold"] = "gold skin", + ["tint_pink"] = "pink skin", + ["tint_army"] = "army skin", + ["tint_lspd"] = "blue skin", + ["tint_orange"] = "orange skin", + ["tint_platinum"] = "platinum skin", } diff --git a/server-data/resources/[esx]/es_extended/locales/es.lua b/server-data/resources/[esx]/es_extended/locales/es.lua index 92b8446cb..9ee9a33b2 100644 --- a/server-data/resources/[esx]/es_extended/locales/es.lua +++ b/server-data/resources/[esx]/es_extended/locales/es.lua @@ -1,370 +1,370 @@ Locales["es"] = { - -- Inventory - ["inventory"] = "Inventario %s / %s", - ["use"] = "Usar", - ["give"] = "Dar", - ["remove"] = "Tirar", - ["return"] = "Volver", - ["give_to"] = "Dar a", - ["amount"] = "Cantidad", - ["giveammo"] = "Dar munición", - ["amountammo"] = "Cantidad de munición", - ["noammo"] = "No tienes suficiente munición!", - ["gave_item"] = "Has dado %sx %s a %s", - ["received_item"] = "Has recibido %sx %s de %s", - ["gave_weapon"] = "Has dado %s a %s", - ["gave_weapon_ammo"] = "Has dado ~o~%sx %s para %s a %s", - ["gave_weapon_withammo"] = "Has dado %s con ~o~%sx %s a %s", - ["gave_weapon_hasalready"] = "%s ya tiene un/a %s", - ["gave_weapon_noweapon"] = "%s no tiene ese arma", - ["received_weapon"] = "Has recibido %s de %s", - ["received_weapon_ammo"] = "Has recibido ~o~%sx %s para su %s de %s", - ["received_weapon_withammo"] = "Has recibido %s con ~o~%sx %s de %s", - ["received_weapon_hasalready"] = "%s intentó darle un/a %s, pero ya tienes uno", - ["received_weapon_noweapon"] = "%s intentó darles munición para un %s, pero no tiene uno", - ["gave_account_money"] = "Has dado $%s (%s) a %s", - ["received_account_money"] = "Has recibido $%s (%s) de %s", - ["amount_invalid"] = "Cantidad inválida", - ["players_nearby"] = "No hay jugadores cerca", - ["ex_inv_lim"] = "Acción no posible, excediendo el límite de inventario para %s", - ["imp_invalid_quantity"] = "Acción imposible, cantidad inválida", - ["imp_invalid_amount"] = "Acción imposible, cantidad inválida", - ["threw_standard"] = "Has tirado %sx %s", - ["threw_account"] = "Has tirado $%s %s", - ["threw_weapon"] = "Has tirado %s", - ["threw_weapon_ammo"] = "Has tirado %s con ~o~%sx %s", - ["threw_weapon_already"] = "Ya llevas el mismo arma", - ["threw_cannot_pickup"] = "No puedes recogerlo porque tu inventario está lleno!", - ["threw_pickup_prompt"] = "Pulsa E para recoger", - - -- Key mapping - ["keymap_showinventory"] = "Ver Inventario", - - -- Salary related - ["received_salary"] = "Has recibido tu sueldo: $%s", - ["received_help"] = "Has recibido su cheque de bienestar: $%s", - ["company_nomoney"] = "La empresa en la que trabajas no tiene dinero para pagar tu sueldo", - ["received_paycheck"] = "Recibió su paga", - ["bank"] = "Banco", - ["account_bank"] = "Banco", - ["account_black_money"] = "Dinero Negro", - ["account_money"] = "Efectivo", - - ["act_imp"] = "No se pudo realizar la acción.", - ["in_vehicle"] = "Acción rechazada. El jugador se encuentra en un vehículo", - ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", - - -- Commands - ["command_bring"] = "Traer un jugador hacia ti", - ["command_car"] = "Spawnear un vehículo", - ["command_car_car"] = "Nombre del vehículo", - ["command_cardel"] = "Eliminar vehículos cercanos", - ["command_cardel_radius"] = "Opcional, eliminar todos los vehículos en el radio especificado", - ["command_repair"] = "Reparar tu vehiculo", - ["command_repair_success"] = "Vehiculo reparado correctamente", - ["command_repair_success_target"] = "Un administrador reparo tu vehiculo", - ["command_clear"] = "Limpiar chat para ti", - ["command_clearall"] = "Limpiar chat para todos los jugadores", - ["command_clearinventory"] = "Limpiar el inventario del jugador", - ["command_clearloadout"] = "Limpiar inventario de un jugador", - ["command_freeze"] = "Congelar un jugador", - ["command_unfreeze"] = "Descongelar un jugador", - ["command_giveaccountmoney"] = "Dar dinero", - ["command_giveaccountmoney_account"] = "Nombre de cuenta válido", - ["command_giveaccountmoney_amount"] = "Cantidad a añadir", - ["command_giveaccountmoney_invalid"] = "Nombre de cuenta no existente. [bank, money, black_money]", - ["command_giveitem"] = "Dar un objeto a un jugador", - ["command_giveitem_item"] = "Nombre del artículo", - ["command_giveitem_count"] = "Cantidad de articulos", - ["command_giveweapon"] = "Dar un arma a un jugador", - ["command_giveweapon_weapon"] = "Nombre del arma", - ["command_giveweapon_ammo"] = "Cantidad de municion", - ["command_giveweapon_hasalready"] = "El jugador ya tiene esa arma", - ["command_giveweaponcomponent"] = "Dar el componente del arma", - ["command_giveweaponcomponent_component"] = "Nombre del componente", - ["command_giveweaponcomponent_invalid"] = "Componente del arma no válido", - ["command_giveweaponcomponent_hasalready"] = "El jugador ya tiene ese componente del arma", - ["command_giveweaponcomponent_missingweapon"] = "El jugador no tiene esa arma", - ["command_goto"] = "Teletransportarte hacia un jugador", - ["command_kill"] = "Matar un jugador", - ["command_save"] = "Guardar la informacion de un jugador en la base de datos.", - ["command_saveall"] = "Guardar toda la informacion de jugadores en la base de datos.", - ["command_setaccountmoney"] = "Establecer el dinero de la cuenta para un jugador", - ["command_setaccountmoney_amount"] = "Cantidad de dinero a establecer", - ["command_setcoords"] = "Teletransporte a coordenadas", - ["command_setcoords_x"] = "Eje X", - ["command_setcoords_y"] = "Eje Y", - ["command_setcoords_z"] = "Eje Z", - ["command_setjob"] = "Dar un trabajo a un jugador", - ["command_setjob_job"] = "Nombre del trabajo", - ["command_setjob_grade"] = "Rango del trabajo", - ["command_setjob_invalid"] = "El trabajo o el rango no son válidos", - ["command_setgroup"] = "Establecer el grupo de un jugador", - ["command_setgroup_group"] = "Nombre del grupo", - ["commanderror_argumentmismatch"] = "Error en el recuento de argumentos (pasado %s, deseado %s)", - ["commanderror_argumentmismatch_number"] = "Argumento #%s tipo no coincide (cadena pasada, número deseado)", - ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", - ["commanderror_invaliditem"] = "Nombre del artículo no válido", - ["commanderror_invalidweapon"] = "Arma inválida", - ["commanderror_console"] = "Ese comando no se puede ejecutar desde la consola", - ["commanderror_invalidcommand"] = "/%s ¡No es un comando válido!", - ["commanderror_invalidplayerid"] = "No hay ningún jugador online con la ID especificada", - ["commandgeneric_playerid"] = "ID del jugador", - ["command_giveammo_noweapon_found"] = "%s no posee esa arma", - ["command_giveammo_weapon"] = "Nombre del arma", - ["command_giveammo_ammo"] = "Cantidad de municion", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "$%s", - - -- Weapons - - -- Drug Wars DLC - ["weapon_candycane"] = "Hacha de Caramelo ", - ["weapon_acidpackage"] = "Paquete de Acido", - ["weapon_pistolxm3"] = "Pistola WM 29", - ["weapon_railgunxm3"] = "Fusil electromagnético", - - -- Melee - ["weapon_dagger"] = "Daga", - ["weapon_bat"] = "Bate", - ["weapon_battleaxe"] = "Hacha de combate", - ["weapon_bottle"] = "Botella", - ["weapon_crowbar"] = "Palanca", - ["weapon_flashlight"] = "Linterna", - ["weapon_golfclub"] = "Palo de Golf", - ["weapon_hammer"] = "Martillo", - ["weapon_hatchet"] = "Hacha", - ["weapon_knife"] = "Cuchillo", - ["weapon_knuckle"] = "Puño Americano", - ["weapon_machete"] = "Machete", - ["weapon_nightstick"] = "Porra", - ["weapon_wrench"] = "Llave Inglesa", - ["weapon_poolcue"] = "Taco de Billar", - ["weapon_stone_hatchet"] = "Hacha de Piedra", - ["weapon_switchblade"] = "Navaja", - - -- Handguns - ["weapon_appistol"] = "Pistola AP", - ["weapon_ceramicpistol"] = "Pistola de Ceramica", - ["weapon_combatpistol"] = "Pistola de Combate", - ["weapon_doubleaction"] = "Revólver de Doble Acción", - ["weapon_navyrevolver"] = "Revólver de la Armada", - ["weapon_flaregun"] = "Pistola de Bengalas", - ["weapon_gadgetpistol"] = "Pistola de Perico", - ["weapon_heavypistol"] = "Pistola Pesada", - ["weapon_revolver"] = "Revólver Pesado", - ["weapon_revolver_mk2"] = "Revólver Pesado MK2", - ["weapon_marksmanpistol"] = "Pistola Marksman", - ["weapon_pistol"] = "Pistola 9mm", - ["weapon_pistol_mk2"] = "Pistola MK2", - ["weapon_pistol50"] = "Pistola .50", - ["weapon_snspistol"] = "Pistola SNS", - ["weapon_snspistol_mk2"] = "Pistola SNS MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "Pistola Vintage", - - -- Shotguns - ["weapon_assaultshotgun"] = "Escopeta de Asalto", - ["weapon_autoshotgun"] = "Escopeta Automática", - ["weapon_bullpupshotgun"] = "Escopeta Bullpup", - ["weapon_combatshotgun"] = "Escopeta Combate", - ["weapon_dbshotgun"] = "Escopeta de Doble Barril", - ["weapon_heavyshotgun"] = "Escopeta Pesada", - ["weapon_musket"] = "Mosquete", - ["weapon_pumpshotgun"] = "Escopeta de Bombeo", - ["weapon_pumpshotgun_mk2"] = "Escopeta de Bombeo MK2", - ["weapon_sawnoffshotgun"] = "Escopeta Recortada", - - -- SMG & LMG - ["weapon_assaultsmg"] = "Subfusil de Asalto", - ["weapon_combatmg"] = "Ametralladora de Combate", - ["weapon_combatmg_mk2"] = "Ametralladora MK2", - ["weapon_combatpdw"] = "Subfusil PDW", - ["weapon_gusenberg"] = "Subfusil de Barril", - ["weapon_machinepistol"] = "Pistola Ametralladora", - ["weapon_mg"] = "Ametralladora", - ["weapon_microsmg"] = "Micro Subfusil", - ["weapon_minismg"] = "Mini Subfusil", - ["weapon_smg"] = "Subfusil", - ["weapon_smg_mk2"] = "Subfusil MK2", - ["weapon_raycarbine"] = "Ametralladora de Rayos", - - -- Rifles - ["weapon_advancedrifle"] = "Rifle Avanzado", - ["weapon_assaultrifle"] = "Rifle de Asalto", - ["weapon_assaultrifle_mk2"] = "Rifle de Asalto MK2", - ["weapon_bullpuprifle"] = "Rifle Bullpup", - ["weapon_bullpuprifle_mk2"] = "Rifle Bullpup MK2", - ["weapon_carbinerifle"] = "Carabina", - ["weapon_carbinerifle_mk2"] = "Carabina MK2", - ["weapon_compactrifle"] = "Rifle Compacto", - ["weapon_militaryrifle"] = "Rifle Militar", - ["weapon_specialcarbine"] = "Carabina Especial", - ["weapon_specialcarbine_mk2"] = "Carabina Especial MK2", - ["weapon_heavyrifle"] = "Rifle Pesado", - - -- Sniper - ["weapon_heavysniper"] = "Francotirador Pesado", - ["weapon_heavysniper_mk2"] = "Francotirador Pesado MK2", - ["weapon_marksmanrifle"] = "Rifle Marksman", - ["weapon_marksmanrifle_mk2"] = "Rifle Marksman MK2", - ["weapon_sniperrifle"] = "Rifle de Francotirador", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Lanzador Compacto", - ["weapon_firework"] = "Lanzador de Fuegos Artificiales", - ["weapon_grenadelauncher"] = "Lanzagranadas", - ["weapon_hominglauncher"] = "Lanzacohetes Guiado", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Cañón de riel", - ["weapon_rpg"] = "Lanzador de cohetes", - ["weapon_rayminigun"] = "Minigun de Rayos", - - -- Thrown - ["weapon_ball"] = "Pelota de Beisbol", - ["weapon_bzgas"] = "Gas Pimienta", - ["weapon_flare"] = "Bengala", - ["weapon_grenade"] = "Granada", - ["weapon_petrolcan"] = "Bidon de Gasolina", - ["weapon_hazardcan"] = "Bidón de Gasolina Peligroso", - ["weapon_molotov"] = "Molotov", - ["weapon_proxmine"] = "Mina de Proximidad ", - ["weapon_pipebomb"] = "Bomba casera", - ["weapon_snowball"] = "Bola de nieve", - ["weapon_stickybomb"] = "C4", - ["weapon_smokegrenade"] = "Granada de Humo", - - -- Special - ["weapon_fireextinguisher"] = "Extintor", - ["weapon_digiscanner"] = "Escaner Digital", - ["weapon_garbagebag"] = "Bolsa de Basura", - ["weapon_handcuffs"] = "Grilletes", - ["gadget_nightvision"] = "Vision Nocturna", - ["gadget_parachute"] = "Paracaidas", - - -- Weapon Components - ["component_knuckle_base"] = "Modelo Basico", - ["component_knuckle_pimp"] = "el Proxeneta", - ["component_knuckle_ballas"] = "los Ballas", - ["component_knuckle_dollar"] = "el Buscavidas", - ["component_knuckle_diamond"] = "la Roca", - ["component_knuckle_hate"] = "el Hater", - ["component_knuckle_love"] = "el Amante", - ["component_knuckle_player"] = "el Jugador", - ["component_knuckle_king"] = "el Rey", - ["component_knuckle_vagos"] = "los Vagos", - - ["component_luxary_finish"] = "Acabado de Armas de Lujo", - - ["component_handle_default"] = "Mango Default", - ["component_handle_vip"] = "Mango VIP", - ["component_handle_bodyguard"] = "Mango de Guardaespaldas", - - ["component_vip_finish"] = "Acabado VIP", - ["component_bodyguard_finish"] = "Acabado Guardaespaldas", - - ["component_camo_finish"] = "Camuflaje Digital", - ["component_camo_finish2"] = "Camuflaje Pincelada", - ["component_camo_finish3"] = "Camuflaje Bosque", - ["component_camo_finish4"] = "Camuflaje Calavera", - ["component_camo_finish5"] = "Camuflaje Sessanta Nove", - ["component_camo_finish6"] = "Camuflaje Perseo", - ["component_camo_finish7"] = "Camuflaje Leopardo", - ["component_camo_finish8"] = "Camuflaje Zebra", - ["component_camo_finish9"] = "Camuflaje Geométrico", - ["component_camo_finish10"] = "Camuflaje Boom", - ["component_camo_finish11"] = "Camuflaje Patriotico", - - ["component_camo_slide_finish"] = "Camuflaje Digital Deslizante", - ["component_camo_slide_finish2"] = "Camuflaje Pincelada Deslizante", - ["component_camo_slide_finish3"] = "Camuflaje Bosque Deslizante", - ["component_camo_slide_finish4"] = "Camuflaje Calavera Deslizante", - ["component_camo_slide_finish5"] = "Camuflaje Sessanta Nove Deslizante", - ["component_camo_slide_finish6"] = "Camuflaje Perseo Deslizante", - ["component_camo_slide_finish7"] = "Camuflaje Leopardo Deslizante", - ["component_camo_slide_finish8"] = "Camuflaje Zebra Deslizante", - ["component_camo_slide_finish9"] = "Camuflaje Geométrico Deslizante", - ["component_camo_slide_finish10"] = "Camuflaje Boom Deslizante", - ["component_camo_slide_finish11"] = "Camuflaje Patriotico Deslizante", - - ["component_clip_default"] = "Cargador Default", - ["component_clip_extended"] = "Cargador Extendido", - ["component_clip_drum"] = "Cargador Barril", - ["component_clip_box"] = "Caja de Cargador", - - ["component_scope_holo"] = "Mira Holográfica", - ["component_scope_small"] = "Mira Pequeña", - ["component_scope_medium"] = "Mira Mediana", - ["component_scope_large"] = "Mira Larga", - ["component_scope"] = "Mira", - ["component_scope_advanced"] = "Mira Avanzada", - ["component_ironsights"] = "Mira de Hierro", - - ["component_suppressor"] = "Silenciador", - ["component_compensator"] = "Estabilizador", - - ["component_muzzle_flat"] = "Boquilla de Freno Plana", - ["component_muzzle_tactical"] = "Boquilla de Freno Tactica", - ["component_muzzle_fat"] = "Boquilla de Freno Punta Gorda", - ["component_muzzle_precision"] = "Boquilla de Freno de Precision", - ["component_muzzle_heavy"] = "Boquilla de Freno Pesada", - ["component_muzzle_slanted"] = "Boquilla de Freno inclinada", - ["component_muzzle_split"] = "Boquilla de Freno de Puntas Abiertas", - ["component_muzzle_squared"] = "Boquilla de Freno Cuadrada", - - ["component_flashlight"] = "Linterna", - ["component_grip"] = "Agarre", - - ["component_barrel_default"] = "Barril Por Defecto", - ["component_barrel_heavy"] = "Barril Pesado", - - ["component_ammo_tracer"] = "Munición de Rastreo", - ["component_ammo_incendiary"] = "Munición Incendiaria", - ["component_ammo_hollowpoint"] = "Munición de Punta Hueca", - ["component_ammo_fmj"] = "Munición fMJ", - ["component_ammo_armor"] = "Munición Perforante para Blindaje", - ["component_ammo_explosive"] = "Munición Incendiaria Perforadora de Blindajes", - - ["component_shells_default"] = "Casquillos Por Defecto", - ["component_shells_incendiary"] = "Casquillos Aliento de Dragón", - ["component_shells_armor"] = "Casquillos Perdigones de Acero", - ["component_shells_hollowpoint"] = "Casquillos Punta Hueca", - ["component_shells_explosive"] = "Casquillos Posta Explosiva", - - -- Weapon Ammo - ["ammo_rounds"] = "Redonda/s", - ["ammo_shells"] = "Casquillo/s", - ["ammo_charge"] = "Carga", - ["ammo_petrol"] = "Galones de Combustible", - ["ammo_firework"] = "Fuegos Artificiale/s", - ["ammo_rockets"] = "Cohete/s", - ["ammo_grenadelauncher"] = "Granada/s", - ["ammo_grenade"] = "Granada/s", - ["ammo_stickybomb"] = "Bomba/s", - ["ammo_pipebomb"] = "Bomba/s", - ["ammo_smokebomb"] = "Bomba/s", - ["ammo_molotov"] = "Molotov/s", - ["ammo_proxmine"] = "Mina(s)", - ["ammo_bzgas"] = "Lata(s)", - ["ammo_ball"] = "Bola(s)", - ["ammo_snowball"] = "Bola(s)", - ["ammo_flare"] = "Bengala(s)", - ["ammo_flaregun"] = "Bengala(s)", - - -- Weapon Tints - ["tint_default"] = "Skin común", - ["tint_green"] = "Skin Verde", - ["tint_gold"] = "Skin Oro", - ["tint_pink"] = "Skin Rosa", - ["tint_army"] = "Skin Militar", - ["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.", + -- Inventory + ["inventory"] = "Inventario %s / %s", + ["use"] = "Usar", + ["give"] = "Dar", + ["remove"] = "Tirar", + ["return"] = "Volver", + ["give_to"] = "Dar a", + ["amount"] = "Cantidad", + ["giveammo"] = "Dar munición", + ["amountammo"] = "Cantidad de munición", + ["noammo"] = "No tienes suficiente munición!", + ["gave_item"] = "Has dado %sx %s a %s", + ["received_item"] = "Has recibido %sx %s de %s", + ["gave_weapon"] = "Has dado %s a %s", + ["gave_weapon_ammo"] = "Has dado ~o~%sx %s para %s a %s", + ["gave_weapon_withammo"] = "Has dado %s con ~o~%sx %s a %s", + ["gave_weapon_hasalready"] = "%s ya tiene un/a %s", + ["gave_weapon_noweapon"] = "%s no tiene ese arma", + ["received_weapon"] = "Has recibido %s de %s", + ["received_weapon_ammo"] = "Has recibido ~o~%sx %s para su %s de %s", + ["received_weapon_withammo"] = "Has recibido %s con ~o~%sx %s de %s", + ["received_weapon_hasalready"] = "%s intentó darle un/a %s, pero ya tienes uno", + ["received_weapon_noweapon"] = "%s intentó darles munición para un %s, pero no tiene uno", + ["gave_account_money"] = "Has dado $%s (%s) a %s", + ["received_account_money"] = "Has recibido $%s (%s) de %s", + ["amount_invalid"] = "Cantidad inválida", + ["players_nearby"] = "No hay jugadores cerca", + ["ex_inv_lim"] = "Acción no posible, excediendo el límite de inventario para %s", + ["imp_invalid_quantity"] = "Acción imposible, cantidad inválida", + ["imp_invalid_amount"] = "Acción imposible, cantidad inválida", + ["threw_standard"] = "Has tirado %sx %s", + ["threw_account"] = "Has tirado $%s %s", + ["threw_weapon"] = "Has tirado %s", + ["threw_weapon_ammo"] = "Has tirado %s con ~o~%sx %s", + ["threw_weapon_already"] = "Ya llevas el mismo arma", + ["threw_cannot_pickup"] = "No puedes recogerlo porque tu inventario está lleno!", + ["threw_pickup_prompt"] = "Pulsa E para recoger", + + -- Key mapping + ["keymap_showinventory"] = "Ver Inventario", + + -- Salary related + ["received_salary"] = "Has recibido tu sueldo: $%s", + ["received_help"] = "Has recibido su cheque de bienestar: $%s", + ["company_nomoney"] = "La empresa en la que trabajas no tiene dinero para pagar tu sueldo", + ["received_paycheck"] = "Recibió su paga", + ["bank"] = "Banco", + ["account_bank"] = "Banco", + ["account_black_money"] = "Dinero Negro", + ["account_money"] = "Efectivo", + + ["act_imp"] = "No se pudo realizar la acción.", + ["in_vehicle"] = "Acción rechazada. El jugador se encuentra en un vehículo", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", + + -- Commands + ["command_bring"] = "Traer un jugador hacia ti", + ["command_car"] = "Spawnear un vehículo", + ["command_car_car"] = "Nombre del vehículo", + ["command_cardel"] = "Eliminar vehículos cercanos", + ["command_cardel_radius"] = "Opcional, eliminar todos los vehículos en el radio especificado", + ["command_repair"] = "Reparar tu vehiculo", + ["command_repair_success"] = "Vehiculo reparado correctamente", + ["command_repair_success_target"] = "Un administrador reparo tu vehiculo", + ["command_clear"] = "Limpiar chat para ti", + ["command_clearall"] = "Limpiar chat para todos los jugadores", + ["command_clearinventory"] = "Limpiar el inventario del jugador", + ["command_clearloadout"] = "Limpiar inventario de un jugador", + ["command_freeze"] = "Congelar un jugador", + ["command_unfreeze"] = "Descongelar un jugador", + ["command_giveaccountmoney"] = "Dar dinero", + ["command_giveaccountmoney_account"] = "Nombre de cuenta válido", + ["command_giveaccountmoney_amount"] = "Cantidad a añadir", + ["command_giveaccountmoney_invalid"] = "Nombre de cuenta no existente. [bank, money, black_money]", + ["command_giveitem"] = "Dar un objeto a un jugador", + ["command_giveitem_item"] = "Nombre del artículo", + ["command_giveitem_count"] = "Cantidad de articulos", + ["command_giveweapon"] = "Dar un arma a un jugador", + ["command_giveweapon_weapon"] = "Nombre del arma", + ["command_giveweapon_ammo"] = "Cantidad de municion", + ["command_giveweapon_hasalready"] = "El jugador ya tiene esa arma", + ["command_giveweaponcomponent"] = "Dar el componente del arma", + ["command_giveweaponcomponent_component"] = "Nombre del componente", + ["command_giveweaponcomponent_invalid"] = "Componente del arma no válido", + ["command_giveweaponcomponent_hasalready"] = "El jugador ya tiene ese componente del arma", + ["command_giveweaponcomponent_missingweapon"] = "El jugador no tiene esa arma", + ["command_goto"] = "Teletransportarte hacia un jugador", + ["command_kill"] = "Matar un jugador", + ["command_save"] = "Guardar la informacion de un jugador en la base de datos.", + ["command_saveall"] = "Guardar toda la informacion de jugadores en la base de datos.", + ["command_setaccountmoney"] = "Establecer el dinero de la cuenta para un jugador", + ["command_setaccountmoney_amount"] = "Cantidad de dinero a establecer", + ["command_setcoords"] = "Teletransporte a coordenadas", + ["command_setcoords_x"] = "Eje X", + ["command_setcoords_y"] = "Eje Y", + ["command_setcoords_z"] = "Eje Z", + ["command_setjob"] = "Dar un trabajo a un jugador", + ["command_setjob_job"] = "Nombre del trabajo", + ["command_setjob_grade"] = "Rango del trabajo", + ["command_setjob_invalid"] = "El trabajo o el rango no son válidos", + ["command_setgroup"] = "Establecer el grupo de un jugador", + ["command_setgroup_group"] = "Nombre del grupo", + ["commanderror_argumentmismatch"] = "Error en el recuento de argumentos (pasado %s, deseado %s)", + ["commanderror_argumentmismatch_number"] = "Argumento #%s tipo no coincide (cadena pasada, número deseado)", + ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", + ["commanderror_invaliditem"] = "Nombre del artículo no válido", + ["commanderror_invalidweapon"] = "Arma inválida", + ["commanderror_console"] = "Ese comando no se puede ejecutar desde la consola", + ["commanderror_invalidcommand"] = "/%s ¡No es un comando válido!", + ["commanderror_invalidplayerid"] = "No hay ningún jugador online con la ID especificada", + ["commandgeneric_playerid"] = "ID del jugador", + ["command_giveammo_noweapon_found"] = "%s no posee esa arma", + ["command_giveammo_weapon"] = "Nombre del arma", + ["command_giveammo_ammo"] = "Cantidad de municion", + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "$%s", + + -- Weapons + + -- Drug Wars DLC + ["weapon_candycane"] = "Hacha de Caramelo ", + ["weapon_acidpackage"] = "Paquete de Acido", + ["weapon_pistolxm3"] = "Pistola WM 29", + ["weapon_railgunxm3"] = "Fusil electromagnético", + + -- Melee + ["weapon_dagger"] = "Daga", + ["weapon_bat"] = "Bate", + ["weapon_battleaxe"] = "Hacha de combate", + ["weapon_bottle"] = "Botella", + ["weapon_crowbar"] = "Palanca", + ["weapon_flashlight"] = "Linterna", + ["weapon_golfclub"] = "Palo de Golf", + ["weapon_hammer"] = "Martillo", + ["weapon_hatchet"] = "Hacha", + ["weapon_knife"] = "Cuchillo", + ["weapon_knuckle"] = "Puño Americano", + ["weapon_machete"] = "Machete", + ["weapon_nightstick"] = "Porra", + ["weapon_wrench"] = "Llave Inglesa", + ["weapon_poolcue"] = "Taco de Billar", + ["weapon_stone_hatchet"] = "Hacha de Piedra", + ["weapon_switchblade"] = "Navaja", + + -- Handguns + ["weapon_appistol"] = "Pistola AP", + ["weapon_ceramicpistol"] = "Pistola de Ceramica", + ["weapon_combatpistol"] = "Pistola de Combate", + ["weapon_doubleaction"] = "Revólver de Doble Acción", + ["weapon_navyrevolver"] = "Revólver de la Armada", + ["weapon_flaregun"] = "Pistola de Bengalas", + ["weapon_gadgetpistol"] = "Pistola de Perico", + ["weapon_heavypistol"] = "Pistola Pesada", + ["weapon_revolver"] = "Revólver Pesado", + ["weapon_revolver_mk2"] = "Revólver Pesado MK2", + ["weapon_marksmanpistol"] = "Pistola Marksman", + ["weapon_pistol"] = "Pistola 9mm", + ["weapon_pistol_mk2"] = "Pistola MK2", + ["weapon_pistol50"] = "Pistola .50", + ["weapon_snspistol"] = "Pistola SNS", + ["weapon_snspistol_mk2"] = "Pistola SNS MK2", + ["weapon_stungun"] = "Taser", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "Pistola Vintage", + + -- Shotguns + ["weapon_assaultshotgun"] = "Escopeta de Asalto", + ["weapon_autoshotgun"] = "Escopeta Automática", + ["weapon_bullpupshotgun"] = "Escopeta Bullpup", + ["weapon_combatshotgun"] = "Escopeta Combate", + ["weapon_dbshotgun"] = "Escopeta de Doble Barril", + ["weapon_heavyshotgun"] = "Escopeta Pesada", + ["weapon_musket"] = "Mosquete", + ["weapon_pumpshotgun"] = "Escopeta de Bombeo", + ["weapon_pumpshotgun_mk2"] = "Escopeta de Bombeo MK2", + ["weapon_sawnoffshotgun"] = "Escopeta Recortada", + + -- SMG & LMG + ["weapon_assaultsmg"] = "Subfusil de Asalto", + ["weapon_combatmg"] = "Ametralladora de Combate", + ["weapon_combatmg_mk2"] = "Ametralladora MK2", + ["weapon_combatpdw"] = "Subfusil PDW", + ["weapon_gusenberg"] = "Subfusil de Barril", + ["weapon_machinepistol"] = "Pistola Ametralladora", + ["weapon_mg"] = "Ametralladora", + ["weapon_microsmg"] = "Micro Subfusil", + ["weapon_minismg"] = "Mini Subfusil", + ["weapon_smg"] = "Subfusil", + ["weapon_smg_mk2"] = "Subfusil MK2", + ["weapon_raycarbine"] = "Ametralladora de Rayos", + + -- Rifles + ["weapon_advancedrifle"] = "Rifle Avanzado", + ["weapon_assaultrifle"] = "Rifle de Asalto", + ["weapon_assaultrifle_mk2"] = "Rifle de Asalto MK2", + ["weapon_bullpuprifle"] = "Rifle Bullpup", + ["weapon_bullpuprifle_mk2"] = "Rifle Bullpup MK2", + ["weapon_carbinerifle"] = "Carabina", + ["weapon_carbinerifle_mk2"] = "Carabina MK2", + ["weapon_compactrifle"] = "Rifle Compacto", + ["weapon_militaryrifle"] = "Rifle Militar", + ["weapon_specialcarbine"] = "Carabina Especial", + ["weapon_specialcarbine_mk2"] = "Carabina Especial MK2", + ["weapon_heavyrifle"] = "Rifle Pesado", + + -- Sniper + ["weapon_heavysniper"] = "Francotirador Pesado", + ["weapon_heavysniper_mk2"] = "Francotirador Pesado MK2", + ["weapon_marksmanrifle"] = "Rifle Marksman", + ["weapon_marksmanrifle_mk2"] = "Rifle Marksman MK2", + ["weapon_sniperrifle"] = "Rifle de Francotirador", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "Lanzador Compacto", + ["weapon_firework"] = "Lanzador de Fuegos Artificiales", + ["weapon_grenadelauncher"] = "Lanzagranadas", + ["weapon_hominglauncher"] = "Lanzacohetes Guiado", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Cañón de riel", + ["weapon_rpg"] = "Lanzador de cohetes", + ["weapon_rayminigun"] = "Minigun de Rayos", + + -- Thrown + ["weapon_ball"] = "Pelota de Beisbol", + ["weapon_bzgas"] = "Gas Pimienta", + ["weapon_flare"] = "Bengala", + ["weapon_grenade"] = "Granada", + ["weapon_petrolcan"] = "Bidon de Gasolina", + ["weapon_hazardcan"] = "Bidón de Gasolina Peligroso", + ["weapon_molotov"] = "Molotov", + ["weapon_proxmine"] = "Mina de Proximidad ", + ["weapon_pipebomb"] = "Bomba casera", + ["weapon_snowball"] = "Bola de nieve", + ["weapon_stickybomb"] = "C4", + ["weapon_smokegrenade"] = "Granada de Humo", + + -- Special + ["weapon_fireextinguisher"] = "Extintor", + ["weapon_digiscanner"] = "Escaner Digital", + ["weapon_garbagebag"] = "Bolsa de Basura", + ["weapon_handcuffs"] = "Grilletes", + ["gadget_nightvision"] = "Vision Nocturna", + ["gadget_parachute"] = "Paracaidas", + + -- Weapon Components + ["component_knuckle_base"] = "Modelo Basico", + ["component_knuckle_pimp"] = "el Proxeneta", + ["component_knuckle_ballas"] = "los Ballas", + ["component_knuckle_dollar"] = "el Buscavidas", + ["component_knuckle_diamond"] = "la Roca", + ["component_knuckle_hate"] = "el Hater", + ["component_knuckle_love"] = "el Amante", + ["component_knuckle_player"] = "el Jugador", + ["component_knuckle_king"] = "el Rey", + ["component_knuckle_vagos"] = "los Vagos", + + ["component_luxary_finish"] = "Acabado de Armas de Lujo", + + ["component_handle_default"] = "Mango Default", + ["component_handle_vip"] = "Mango VIP", + ["component_handle_bodyguard"] = "Mango de Guardaespaldas", + + ["component_vip_finish"] = "Acabado VIP", + ["component_bodyguard_finish"] = "Acabado Guardaespaldas", + + ["component_camo_finish"] = "Camuflaje Digital", + ["component_camo_finish2"] = "Camuflaje Pincelada", + ["component_camo_finish3"] = "Camuflaje Bosque", + ["component_camo_finish4"] = "Camuflaje Calavera", + ["component_camo_finish5"] = "Camuflaje Sessanta Nove", + ["component_camo_finish6"] = "Camuflaje Perseo", + ["component_camo_finish7"] = "Camuflaje Leopardo", + ["component_camo_finish8"] = "Camuflaje Zebra", + ["component_camo_finish9"] = "Camuflaje Geométrico", + ["component_camo_finish10"] = "Camuflaje Boom", + ["component_camo_finish11"] = "Camuflaje Patriotico", + + ["component_camo_slide_finish"] = "Camuflaje Digital Deslizante", + ["component_camo_slide_finish2"] = "Camuflaje Pincelada Deslizante", + ["component_camo_slide_finish3"] = "Camuflaje Bosque Deslizante", + ["component_camo_slide_finish4"] = "Camuflaje Calavera Deslizante", + ["component_camo_slide_finish5"] = "Camuflaje Sessanta Nove Deslizante", + ["component_camo_slide_finish6"] = "Camuflaje Perseo Deslizante", + ["component_camo_slide_finish7"] = "Camuflaje Leopardo Deslizante", + ["component_camo_slide_finish8"] = "Camuflaje Zebra Deslizante", + ["component_camo_slide_finish9"] = "Camuflaje Geométrico Deslizante", + ["component_camo_slide_finish10"] = "Camuflaje Boom Deslizante", + ["component_camo_slide_finish11"] = "Camuflaje Patriotico Deslizante", + + ["component_clip_default"] = "Cargador Default", + ["component_clip_extended"] = "Cargador Extendido", + ["component_clip_drum"] = "Cargador Barril", + ["component_clip_box"] = "Caja de Cargador", + + ["component_scope_holo"] = "Mira Holográfica", + ["component_scope_small"] = "Mira Pequeña", + ["component_scope_medium"] = "Mira Mediana", + ["component_scope_large"] = "Mira Larga", + ["component_scope"] = "Mira", + ["component_scope_advanced"] = "Mira Avanzada", + ["component_ironsights"] = "Mira de Hierro", + + ["component_suppressor"] = "Silenciador", + ["component_compensator"] = "Estabilizador", + + ["component_muzzle_flat"] = "Boquilla de Freno Plana", + ["component_muzzle_tactical"] = "Boquilla de Freno Tactica", + ["component_muzzle_fat"] = "Boquilla de Freno Punta Gorda", + ["component_muzzle_precision"] = "Boquilla de Freno de Precision", + ["component_muzzle_heavy"] = "Boquilla de Freno Pesada", + ["component_muzzle_slanted"] = "Boquilla de Freno inclinada", + ["component_muzzle_split"] = "Boquilla de Freno de Puntas Abiertas", + ["component_muzzle_squared"] = "Boquilla de Freno Cuadrada", + + ["component_flashlight"] = "Linterna", + ["component_grip"] = "Agarre", + + ["component_barrel_default"] = "Barril Por Defecto", + ["component_barrel_heavy"] = "Barril Pesado", + + ["component_ammo_tracer"] = "Munición de Rastreo", + ["component_ammo_incendiary"] = "Munición Incendiaria", + ["component_ammo_hollowpoint"] = "Munición de Punta Hueca", + ["component_ammo_fmj"] = "Munición fMJ", + ["component_ammo_armor"] = "Munición Perforante para Blindaje", + ["component_ammo_explosive"] = "Munición Incendiaria Perforadora de Blindajes", + + ["component_shells_default"] = "Casquillos Por Defecto", + ["component_shells_incendiary"] = "Casquillos Aliento de Dragón", + ["component_shells_armor"] = "Casquillos Perdigones de Acero", + ["component_shells_hollowpoint"] = "Casquillos Punta Hueca", + ["component_shells_explosive"] = "Casquillos Posta Explosiva", + + -- Weapon Ammo + ["ammo_rounds"] = "Redonda/s", + ["ammo_shells"] = "Casquillo/s", + ["ammo_charge"] = "Carga", + ["ammo_petrol"] = "Galones de Combustible", + ["ammo_firework"] = "Fuegos Artificiale/s", + ["ammo_rockets"] = "Cohete/s", + ["ammo_grenadelauncher"] = "Granada/s", + ["ammo_grenade"] = "Granada/s", + ["ammo_stickybomb"] = "Bomba/s", + ["ammo_pipebomb"] = "Bomba/s", + ["ammo_smokebomb"] = "Bomba/s", + ["ammo_molotov"] = "Molotov/s", + ["ammo_proxmine"] = "Mina(s)", + ["ammo_bzgas"] = "Lata(s)", + ["ammo_ball"] = "Bola(s)", + ["ammo_snowball"] = "Bola(s)", + ["ammo_flare"] = "Bengala(s)", + ["ammo_flaregun"] = "Bengala(s)", + + -- Weapon Tints + ["tint_default"] = "Skin común", + ["tint_green"] = "Skin Verde", + ["tint_gold"] = "Skin Oro", + ["tint_pink"] = "Skin Rosa", + ["tint_army"] = "Skin Militar", + ["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.", } diff --git a/server-data/resources/[esx]/es_extended/locales/fi.lua b/server-data/resources/[esx]/es_extended/locales/fi.lua index 3103abd61..983fa79b8 100644 --- a/server-data/resources/[esx]/es_extended/locales/fi.lua +++ b/server-data/resources/[esx]/es_extended/locales/fi.lua @@ -1,240 +1,240 @@ Locales["fi"] = { - -- Inventory - ["inventory"] = "Reppu %s / %s", - ["use"] = "Käytä", - ["give"] = "Anna", - ["remove"] = "Poista", - ["return"] = "Takaisin", - ["give_to"] = "Anna henkilölle", - ["amount"] = "Määrä", - ["giveammo"] = "Anna ammuksia", - ["amountammo"] = "Ammusten määrä", - ["noammo"] = "Sinulla ei ole ammuksia!", - ["gave_item"] = "Sinä annoit %sx %s henkilölle %s", - ["received_item"] = "Sinä sait %sx %s henkilöltä %s", - ["gave_weapon"] = "Sinä annoit 1x %s henkilölle %s", - ["gave_weapon_ammo"] = "Annoit ~o~%sx %s kohteelle %s henkilölle %s", - ["gave_weapon_withammo"] = "Sinä annoit 1x %s ammuksella ~o~%sx %s henkilölle %s", - ["gave_weapon_hasalready"] = "%s omistaa jo %s", - ["gave_weapon_noweapon"] = "%s ei ole kyseistä asetta", - ["received_weapon"] = "Vastaanotit 1x %s henkilöltä %s", - ["received_weapon_ammo"] = "Sinä sait ~o~%sx %s sinun %s varten henkilöltä %s", - ["received_weapon_withammo"] = "Sinä sait 1x %s ammuksella ~o~%sx %s henkilöltä %s", - ["received_weapon_hasalready"] = "%s yritti antaa sinulle %s, mutta sinulla on jo sellainen", - ["received_weapon_noweapon"] = "%s yritti antaa sinulle ammuksia %s:lle, mutta sinulla ei ole sellaista", - ["gave_account_money"] = "Sinä annoit $%s (%s) henkilölle %s", - ["received_account_money"] = "Sinä sait $%s (%s) henkilöltä %s", - ["amount_invalid"] = "Virheellinen määrä", - ["players_nearby"] = "Ei pelaajia lähettyvillä", - ["ex_inv_lim"] = "Toiminto mahdoton, reppu alkaa olla täysi %s", - ["imp_invalid_quantity"] = "Toiminto mahdoton, virheellinen määrä", - ["imp_invalid_amount"] = "Toiminto mahdoton, virhellinen summa", - ["threw_standard"] = "Sinä heitit %sx %s", - ["threw_account"] = "Sinä heitit $%s %s", - ["threw_weapon"] = "Sinä heitit 1x %s", - ["threw_weapon_ammo"] = "Heitit 1x %s ammuksella ~o~%sx %s", - ["threw_weapon_already"] = "Sinulla on jo sama ase", - ["threw_cannot_pickup"] = "Et voi kerätä sitä, koska reppusi on täynnä", - ["threw_pickup_prompt"] = "Paina E kerätäksesi", + -- Inventory + ["inventory"] = "Reppu %s / %s", + ["use"] = "Käytä", + ["give"] = "Anna", + ["remove"] = "Poista", + ["return"] = "Takaisin", + ["give_to"] = "Anna henkilölle", + ["amount"] = "Määrä", + ["giveammo"] = "Anna ammuksia", + ["amountammo"] = "Ammusten määrä", + ["noammo"] = "Sinulla ei ole ammuksia!", + ["gave_item"] = "Sinä annoit %sx %s henkilölle %s", + ["received_item"] = "Sinä sait %sx %s henkilöltä %s", + ["gave_weapon"] = "Sinä annoit 1x %s henkilölle %s", + ["gave_weapon_ammo"] = "Annoit ~o~%sx %s kohteelle %s henkilölle %s", + ["gave_weapon_withammo"] = "Sinä annoit 1x %s ammuksella ~o~%sx %s henkilölle %s", + ["gave_weapon_hasalready"] = "%s omistaa jo %s", + ["gave_weapon_noweapon"] = "%s ei ole kyseistä asetta", + ["received_weapon"] = "Vastaanotit 1x %s henkilöltä %s", + ["received_weapon_ammo"] = "Sinä sait ~o~%sx %s sinun %s varten henkilöltä %s", + ["received_weapon_withammo"] = "Sinä sait 1x %s ammuksella ~o~%sx %s henkilöltä %s", + ["received_weapon_hasalready"] = "%s yritti antaa sinulle %s, mutta sinulla on jo sellainen", + ["received_weapon_noweapon"] = "%s yritti antaa sinulle ammuksia %s:lle, mutta sinulla ei ole sellaista", + ["gave_account_money"] = "Sinä annoit $%s (%s) henkilölle %s", + ["received_account_money"] = "Sinä sait $%s (%s) henkilöltä %s", + ["amount_invalid"] = "Virheellinen määrä", + ["players_nearby"] = "Ei pelaajia lähettyvillä", + ["ex_inv_lim"] = "Toiminto mahdoton, reppu alkaa olla täysi %s", + ["imp_invalid_quantity"] = "Toiminto mahdoton, virheellinen määrä", + ["imp_invalid_amount"] = "Toiminto mahdoton, virhellinen summa", + ["threw_standard"] = "Sinä heitit %sx %s", + ["threw_account"] = "Sinä heitit $%s %s", + ["threw_weapon"] = "Sinä heitit 1x %s", + ["threw_weapon_ammo"] = "Heitit 1x %s ammuksella ~o~%sx %s", + ["threw_weapon_already"] = "Sinulla on jo sama ase", + ["threw_cannot_pickup"] = "Et voi kerätä sitä, koska reppusi on täynnä", + ["threw_pickup_prompt"] = "Paina E kerätäksesi", - -- Key mapping - ["keymap_showinventory"] = "Avaa reppu", + -- Key mapping + ["keymap_showinventory"] = "Avaa reppu", - -- Salary related - ["received_salary"] = "Vastaanotit palkkaa: $%s", - ["received_help"] = "Vastaanotit valtion tukea: $%s", - ["company_nomoney"] = "Yrityksellä jolle teet töitä ei ole varaa maksaa palkkaasi", - ["received_paycheck"] = "Sait palkan", - ["bank"] = "Pankki", - ["account_bank"] = "Pankki", - ["account_black_money"] = "Likainen raha", - ["account_money"] = "Käteinen", + -- Salary related + ["received_salary"] = "Vastaanotit palkkaa: $%s", + ["received_help"] = "Vastaanotit valtion tukea: $%s", + ["company_nomoney"] = "Yrityksellä jolle teet töitä ei ole varaa maksaa palkkaasi", + ["received_paycheck"] = "Sait palkan", + ["bank"] = "Pankki", + ["account_bank"] = "Pankki", + ["account_black_money"] = "Likainen raha", + ["account_money"] = "Käteinen", - ["act_imp"] = "Toiminto mahdoton", - ["in_vehicle"] = "Et voi antaa ajoneuvossa olevalle mitään", - ["not_in_vehicle"] = "Toimintoa ei voida suorittaa, pelaaja ei ole ajoneuvossa", + ["act_imp"] = "Toiminto mahdoton", + ["in_vehicle"] = "Et voi antaa ajoneuvossa olevalle mitään", + ["not_in_vehicle"] = "Toimintoa ei voida suorittaa, pelaaja ei ole ajoneuvossa", - -- Commands - ["command_car"] = "Luo ajoneuvo", - ["command_car_car"] = "Ajoneuvon nimi tai hash", - ["command_cardel"] = "Poistaa ajoneuvon läheltä", - ["command_cardel_radius"] = "Valinnainen, poista kaikki ajoneuvot määritetyllä säteellä", - ["command_repair"] = "Repair your vehicle", - ["command_repair_success"] = "Successfully repaired vehicle", - ["command_repair_success_target"] = "An admin repaired your vehicle", - ["command_clear"] = "Tyhjennä keskustelu", - ["command_clearall"] = "Tyhjennä keskustelu kaikilta pelaajilta", - ["command_clearinventory"] = "Tyhjennä pelaajan reppu", - ["command_clearloadout"] = "Tyhjennä pelaajan varustus", - ["command_giveaccountmoney"] = "Anna tilirahaa", - ["command_giveaccountmoney_account"] = "Kelvollinen tilin nimi", - ["command_giveaccountmoney_amount"] = "Lisättävä määrä", - ["command_giveaccountmoney_invalid"] = "Virheellinen tili nimi", - ["command_giveitem"] = "Anna pelaajalle esine", - ["command_giveitem_item"] = "Esineen nimi", - ["command_giveitem_count"] = "Esineiden määrä", - ["command_giveweapon"] = "Anna pelaajalle ase", - ["command_giveweapon_weapon"] = "Aseen nimi", - ["command_giveweapon_ammo"] = "Ammusten määrä", - ["command_giveweapon_hasalready"] = "Pelaajalla on jo kyseinen ase", - ["command_giveweaponcomponent"] = "Anna aseen komponentti", - ["command_giveweaponcomponent_component"] = "Komponentin nimi", - ["command_giveweaponcomponent_invalid"] = "Virheellinen aseen komponentti", - ["command_giveweaponcomponent_hasalready"] = "Pelaajalla on jo kyseinen asekomponentti", - ["command_giveweaponcomponent_missingweapon"] = "Pelaajalla ei ole kyseistä asetta", - ["command_save"] = "Talenna pelaaja tietokantaan", - ["command_saveall"] = "Tallenna kaikki pelaajat tietokantaan", - ["command_setaccountmoney"] = "Aseta tilirahaa pelaajalle", - ["command_setaccountmoney_amount"] = "Asetettava rahamäärä", - ["command_setcoords"] = "Teleporttaa koordinaatteihin", - ["command_setcoords_x"] = "x akseli", - ["command_setcoords_y"] = "y akseli", - ["command_setcoords_z"] = "z akseli", - ["command_setjob"] = "Aseta pelaajalle ammatti", - ["command_setjob_job"] = "Ammatti", - ["command_setjob_grade"] = "Arvo", - ["command_setjob_invalid"] = "Ammatti ja arvo tai molemmat ovat virheellisiä", - ["command_setgroup"] = "Aseta pelaajan ryhmä", - ["command_setgroup_group"] = "Ryhmän nimi", - ["commanderror_argumentmismatch"] = "Argumenttien määrä ei täsmää (hyväksytty %s, haluttu %s)", - ["commanderror_argumentmismatch_number"] = "Argumentin #%s tyyppi ei täsmää (syötetty merkkijono, haluttu numero)", - ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", - ["commanderror_invaliditem"] = "Virheellinen esineen nimi", - ["commanderror_invalidweapon"] = "Virheellinen ase", - ["commanderror_console"] = "Komentoa ei voi suorittaa konsolissa", - ["commanderror_invalidcommand"] = "/%s ei ole kelvollinen komento!", - ["commanderror_invalidplayerid"] = "Palvelimella ei ole pelaajaa, joka vastaa annetua ID", - ["commandgeneric_playerid"] = "Pelaajan ID", - ["command_giveammo_noweapon_found"] = "%s ei ole sitä asetta", - ["command_giveammo_weapon"] = "Aseen nimi", - ["command_giveammo_ammo"] = "Ammusten määrä", + -- Commands + ["command_car"] = "Luo ajoneuvo", + ["command_car_car"] = "Ajoneuvon nimi tai hash", + ["command_cardel"] = "Poistaa ajoneuvon läheltä", + ["command_cardel_radius"] = "Valinnainen, poista kaikki ajoneuvot määritetyllä säteellä", + ["command_repair"] = "Repair your vehicle", + ["command_repair_success"] = "Successfully repaired vehicle", + ["command_repair_success_target"] = "An admin repaired your vehicle", + ["command_clear"] = "Tyhjennä keskustelu", + ["command_clearall"] = "Tyhjennä keskustelu kaikilta pelaajilta", + ["command_clearinventory"] = "Tyhjennä pelaajan reppu", + ["command_clearloadout"] = "Tyhjennä pelaajan varustus", + ["command_giveaccountmoney"] = "Anna tilirahaa", + ["command_giveaccountmoney_account"] = "Kelvollinen tilin nimi", + ["command_giveaccountmoney_amount"] = "Lisättävä määrä", + ["command_giveaccountmoney_invalid"] = "Virheellinen tili nimi", + ["command_giveitem"] = "Anna pelaajalle esine", + ["command_giveitem_item"] = "Esineen nimi", + ["command_giveitem_count"] = "Esineiden määrä", + ["command_giveweapon"] = "Anna pelaajalle ase", + ["command_giveweapon_weapon"] = "Aseen nimi", + ["command_giveweapon_ammo"] = "Ammusten määrä", + ["command_giveweapon_hasalready"] = "Pelaajalla on jo kyseinen ase", + ["command_giveweaponcomponent"] = "Anna aseen komponentti", + ["command_giveweaponcomponent_component"] = "Komponentin nimi", + ["command_giveweaponcomponent_invalid"] = "Virheellinen aseen komponentti", + ["command_giveweaponcomponent_hasalready"] = "Pelaajalla on jo kyseinen asekomponentti", + ["command_giveweaponcomponent_missingweapon"] = "Pelaajalla ei ole kyseistä asetta", + ["command_save"] = "Talenna pelaaja tietokantaan", + ["command_saveall"] = "Tallenna kaikki pelaajat tietokantaan", + ["command_setaccountmoney"] = "Aseta tilirahaa pelaajalle", + ["command_setaccountmoney_amount"] = "Asetettava rahamäärä", + ["command_setcoords"] = "Teleporttaa koordinaatteihin", + ["command_setcoords_x"] = "x akseli", + ["command_setcoords_y"] = "y akseli", + ["command_setcoords_z"] = "z akseli", + ["command_setjob"] = "Aseta pelaajalle ammatti", + ["command_setjob_job"] = "Ammatti", + ["command_setjob_grade"] = "Arvo", + ["command_setjob_invalid"] = "Ammatti ja arvo tai molemmat ovat virheellisiä", + ["command_setgroup"] = "Aseta pelaajan ryhmä", + ["command_setgroup_group"] = "Ryhmän nimi", + ["commanderror_argumentmismatch"] = "Argumenttien määrä ei täsmää (hyväksytty %s, haluttu %s)", + ["commanderror_argumentmismatch_number"] = "Argumentin #%s tyyppi ei täsmää (syötetty merkkijono, haluttu numero)", + ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", + ["commanderror_invaliditem"] = "Virheellinen esineen nimi", + ["commanderror_invalidweapon"] = "Virheellinen ase", + ["commanderror_console"] = "Komentoa ei voi suorittaa konsolissa", + ["commanderror_invalidcommand"] = "/%s ei ole kelvollinen komento!", + ["commanderror_invalidplayerid"] = "Palvelimella ei ole pelaajaa, joka vastaa annetua ID", + ["commandgeneric_playerid"] = "Pelaajan ID", + ["command_giveammo_noweapon_found"] = "%s ei ole sitä asetta", + ["command_giveammo_weapon"] = "Aseen nimi", + ["command_giveammo_ammo"] = "Ammusten määrä", - -- Locale settings - ["locale_digit_grouping_symbol"] = "", - ["locale_currency"] = "€%s", + -- Locale settings + ["locale_digit_grouping_symbol"] = "", + ["locale_currency"] = "€%s", - -- Drug Wars DLC - ["weapon_candycane"] = "Karkkitanko", - ["weapon_acidpackage"] = "Happo pakkaus", - ["weapon_pistolxm3"] = "WM 29 Pistooli", - ["weapon_railgunxm3"] = "Raidetykki", + -- Drug Wars DLC + ["weapon_candycane"] = "Karkkitanko", + ["weapon_acidpackage"] = "Happo pakkaus", + ["weapon_pistolxm3"] = "WM 29 Pistooli", + ["weapon_railgunxm3"] = "Raidetykki", - -- Weapons - ["weapon_knife"] = "Veitsi", - ["weapon_nightstick"] = "Pamppu", - ["weapon_hammer"] = "Vasara", - ["weapon_bat"] = "Pesäpallomaila", - ["weapon_golfclub"] = "Golf maila", - ["weapon_crowbar"] = "Sorkkarauta", - ["weapon_pistol"] = "Pistooli", - ["weapon_combatpistol"] = "Taistelu pistooli", - ["weapon_appistol"] = "Automaatti pistooli", - ["weapon_pistol50"] = "50 kaliiperinen pistooli", - ["weapon_microsmg"] = "Mikro konepistooli", - ["weapon_smg"] = "Konepistooli", - ["weapon_assaultsmg"] = "Rynnäkkö konepistooli", - ["weapon_assaultrifle"] = "Rynnäkkökivääri", - ["weapon_carbinerifle"] = "Karbiini kivääri", - ["weapon_advancedrifle"] = "Edistynyt kivääri", - ["weapon_mg"] = "Konekivääri", - ["weapon_combatmg"] = "Rynnäkkö konekivääri", - ["weapon_pumpshotgun"] = "Pumppu haulikko", - ["weapon_sawnoffshotgun"] = "Katkaistuhaulikko", - ["weapon_assaultshotgun"] = "Hyökkäyshaulikko", - ["weapon_bullpupshotgun"] = "Bullpup haulikko", - ["weapon_stungun"] = "Tainutusase", - ["weapon_sniperrifle"] = "Tarkkuuskivääri", - ["weapon_heavysniper"] = "Raskas tarkkuuskivääri", - ["weapon_grenadelauncher"] = "Kranaatinheitin", - ["weapon_rpg"] = "Raketinheitin", - ["weapon_minigun"] = "Minigun", - ["weapon_grenade"] = "Kranaatti", - ["weapon_stickybomb"] = "Tahma pommi", - ["weapon_smokegrenade"] = "Savukranaatti", - ["weapon_bzgas"] = "Bz-kaasu", - ["weapon_molotov"] = "Polttopullo", - ["weapon_fireextinguisher"] = "Palosammutin", - ["weapon_petrolcan"] = "Jerrykannu", - ["weapon_ball"] = "Pallo", - ["weapon_snspistol"] = "Pienpistooli", - ["weapon_bottle"] = "Pullo", - ["weapon_gusenberg"] = "Thompson-konepistooli", - ["weapon_specialcarbine"] = "G86C", - ["weapon_heavypistol"] = "Raskas pistooli", - ["weapon_bullpuprifle"] = "Bullpup kivääri", - ["weapon_dagger"] = "Tikari", - ["weapon_vintagepistol"] = "Vanha pistooli", - ["weapon_firework"] = "Ilotulite", - ["weapon_musket"] = "Musketti", - ["weapon_heavyshotgun"] = "Raskas haulikko", - ["weapon_marksmanrifle"] = "Marksman kivääri", - ["weapon_hominglauncher"] = "Ohjautuva raketinheitin", - ["weapon_proxmine"] = "Lähellä räjähtävä miina", - ["weapon_snowball"] = "Lumipallo", - ["weapon_flaregun"] = "Valopistooli", - ["weapon_combatpdw"] = "Rynnäkkö pdw", - ["weapon_marksmanpistol"] = "Marksman pistooli", - ["weapon_knuckle"] = "Nyrkkirauta", - ["weapon_hatchet"] = "Kirves", - ["weapon_railgun"] = "Raidetykki", - ["weapon_machete"] = "Viidakkoveitsi", - ["weapon_machinepistol"] = "Konepistooli", - ["weapon_switchblade"] = "Stiletti", - ["weapon_revolver"] = "Raskas revolveri", - ["weapon_dbshotgun"] = "Kaksipiippunen haulikko", - ["weapon_compactrifle"] = "Pikku AK", - ["weapon_autoshotgun"] = "Automaattinen haulikko", - ["weapon_battleaxe"] = "Taistelukirves", - ["weapon_compactlauncher"] = "Pien kranaatinheitin", - ["weapon_minismg"] = "Mini konepistooli", - ["weapon_pipebomb"] = "Putkipommi", - ["weapon_poolcue"] = "Biljardimaila", - ["weapon_wrench"] = "Putkipihdit", - ["weapon_flashlight"] = "Taskulamppu", - ["gadget_parachute"] = "Laskuvarjo", - ["weapon_flare"] = "Hätäraketti", - ["weapon_doubleaction"] = "Double action revolveri", - ["weapon_heavyrifle"] = "Raskas kivääri", + -- Weapons + ["weapon_knife"] = "Veitsi", + ["weapon_nightstick"] = "Pamppu", + ["weapon_hammer"] = "Vasara", + ["weapon_bat"] = "Pesäpallomaila", + ["weapon_golfclub"] = "Golf maila", + ["weapon_crowbar"] = "Sorkkarauta", + ["weapon_pistol"] = "Pistooli", + ["weapon_combatpistol"] = "Taistelu pistooli", + ["weapon_appistol"] = "Automaatti pistooli", + ["weapon_pistol50"] = "50 kaliiperinen pistooli", + ["weapon_microsmg"] = "Mikro konepistooli", + ["weapon_smg"] = "Konepistooli", + ["weapon_assaultsmg"] = "Rynnäkkö konepistooli", + ["weapon_assaultrifle"] = "Rynnäkkökivääri", + ["weapon_carbinerifle"] = "Karbiini kivääri", + ["weapon_advancedrifle"] = "Edistynyt kivääri", + ["weapon_mg"] = "Konekivääri", + ["weapon_combatmg"] = "Rynnäkkö konekivääri", + ["weapon_pumpshotgun"] = "Pumppu haulikko", + ["weapon_sawnoffshotgun"] = "Katkaistuhaulikko", + ["weapon_assaultshotgun"] = "Hyökkäyshaulikko", + ["weapon_bullpupshotgun"] = "Bullpup haulikko", + ["weapon_stungun"] = "Tainutusase", + ["weapon_sniperrifle"] = "Tarkkuuskivääri", + ["weapon_heavysniper"] = "Raskas tarkkuuskivääri", + ["weapon_grenadelauncher"] = "Kranaatinheitin", + ["weapon_rpg"] = "Raketinheitin", + ["weapon_minigun"] = "Minigun", + ["weapon_grenade"] = "Kranaatti", + ["weapon_stickybomb"] = "Tahma pommi", + ["weapon_smokegrenade"] = "Savukranaatti", + ["weapon_bzgas"] = "Bz-kaasu", + ["weapon_molotov"] = "Polttopullo", + ["weapon_fireextinguisher"] = "Palosammutin", + ["weapon_petrolcan"] = "Jerrykannu", + ["weapon_ball"] = "Pallo", + ["weapon_snspistol"] = "Pienpistooli", + ["weapon_bottle"] = "Pullo", + ["weapon_gusenberg"] = "Thompson-konepistooli", + ["weapon_specialcarbine"] = "G86C", + ["weapon_heavypistol"] = "Raskas pistooli", + ["weapon_bullpuprifle"] = "Bullpup kivääri", + ["weapon_dagger"] = "Tikari", + ["weapon_vintagepistol"] = "Vanha pistooli", + ["weapon_firework"] = "Ilotulite", + ["weapon_musket"] = "Musketti", + ["weapon_heavyshotgun"] = "Raskas haulikko", + ["weapon_marksmanrifle"] = "Marksman kivääri", + ["weapon_hominglauncher"] = "Ohjautuva raketinheitin", + ["weapon_proxmine"] = "Lähellä räjähtävä miina", + ["weapon_snowball"] = "Lumipallo", + ["weapon_flaregun"] = "Valopistooli", + ["weapon_combatpdw"] = "Rynnäkkö pdw", + ["weapon_marksmanpistol"] = "Marksman pistooli", + ["weapon_knuckle"] = "Nyrkkirauta", + ["weapon_hatchet"] = "Kirves", + ["weapon_railgun"] = "Raidetykki", + ["weapon_machete"] = "Viidakkoveitsi", + ["weapon_machinepistol"] = "Konepistooli", + ["weapon_switchblade"] = "Stiletti", + ["weapon_revolver"] = "Raskas revolveri", + ["weapon_dbshotgun"] = "Kaksipiippunen haulikko", + ["weapon_compactrifle"] = "Pikku AK", + ["weapon_autoshotgun"] = "Automaattinen haulikko", + ["weapon_battleaxe"] = "Taistelukirves", + ["weapon_compactlauncher"] = "Pien kranaatinheitin", + ["weapon_minismg"] = "Mini konepistooli", + ["weapon_pipebomb"] = "Putkipommi", + ["weapon_poolcue"] = "Biljardimaila", + ["weapon_wrench"] = "Putkipihdit", + ["weapon_flashlight"] = "Taskulamppu", + ["gadget_parachute"] = "Laskuvarjo", + ["weapon_flare"] = "Hätäraketti", + ["weapon_doubleaction"] = "Double action revolveri", + ["weapon_heavyrifle"] = "Raskas kivääri", - -- Weapon Components - ["component_clip_default"] = "Oletus lipas", - ["component_clip_extended"] = "Paranneltu lipas", - ["component_clip_drum"] = "Rumpulipas", - ["component_clip_box"] = "Laatikkolipas", - ["component_flashlight"] = "Taskulamppu", - ["component_scope"] = "Tähtäin", - ["component_scope_advanced"] = "Paranneltu tähtäin", - ["component_suppressor"] = "Äänenvaimennin", - ["component_grip"] = "Kahva", - ["component_luxary_finish"] = "Luksus ulkokuori", + -- Weapon Components + ["component_clip_default"] = "Oletus lipas", + ["component_clip_extended"] = "Paranneltu lipas", + ["component_clip_drum"] = "Rumpulipas", + ["component_clip_box"] = "Laatikkolipas", + ["component_flashlight"] = "Taskulamppu", + ["component_scope"] = "Tähtäin", + ["component_scope_advanced"] = "Paranneltu tähtäin", + ["component_suppressor"] = "Äänenvaimennin", + ["component_grip"] = "Kahva", + ["component_luxary_finish"] = "Luksus ulkokuori", - -- Weapon Ammo - ["ammo_rounds"] = "Ammukset(s)", - ["ammo_shells"] = "Hylsy(s)", - ["ammo_charge"] = "Lataa", - ["ammo_petrol"] = "Gallonaa polttoainetta", - ["ammo_firework"] = "Ilotulite(s)", - ["ammo_rockets"] = "Raketti(s)", - ["ammo_grenadelauncher"] = "Kranaatti(s)", - ["ammo_grenade"] = "Kranaatti(s)", - ["ammo_stickybomb"] = "Pommi(s)", - ["ammo_pipebomb"] = "Pommi(s)", - ["ammo_smokebomb"] = "Pommi(s)", - ["ammo_molotov"] = "Polttopullo(s)", - ["ammo_proxmine"] = "Miina(s)", - ["ammo_bzgas"] = "Tölkki(s)", - ["ammo_ball"] = "Pallo(s)", - ["ammo_snowball"] = "Lumipallo(s)", - ["ammo_flare"] = "Valoraketti(s)", - ["ammo_flaregun"] = "Valoraketti(s)", + -- Weapon Ammo + ["ammo_rounds"] = "Ammukset(s)", + ["ammo_shells"] = "Hylsy(s)", + ["ammo_charge"] = "Lataa", + ["ammo_petrol"] = "Gallonaa polttoainetta", + ["ammo_firework"] = "Ilotulite(s)", + ["ammo_rockets"] = "Raketti(s)", + ["ammo_grenadelauncher"] = "Kranaatti(s)", + ["ammo_grenade"] = "Kranaatti(s)", + ["ammo_stickybomb"] = "Pommi(s)", + ["ammo_pipebomb"] = "Pommi(s)", + ["ammo_smokebomb"] = "Pommi(s)", + ["ammo_molotov"] = "Polttopullo(s)", + ["ammo_proxmine"] = "Miina(s)", + ["ammo_bzgas"] = "Tölkki(s)", + ["ammo_ball"] = "Pallo(s)", + ["ammo_snowball"] = "Lumipallo(s)", + ["ammo_flare"] = "Valoraketti(s)", + ["ammo_flaregun"] = "Valoraketti(s)", - -- Weapon Tints - ["tint_default"] = "Oletus ulkokuori", - ["tint_green"] = "Vihreä ulkokuori", - ["tint_gold"] = "Kultainen ulkokuori", - ["tint_pink"] = "Vaaleanpunainen ulkokuori", - ["tint_army"] = "Armeija ulkokuori", - ["tint_lspd"] = "Sininen ulkokuori", - ["tint_orange"] = "Oranssi ulkokuori", - ["tint_platinum"] = "Platina ulkokuori", + -- Weapon Tints + ["tint_default"] = "Oletus ulkokuori", + ["tint_green"] = "Vihreä ulkokuori", + ["tint_gold"] = "Kultainen ulkokuori", + ["tint_pink"] = "Vaaleanpunainen ulkokuori", + ["tint_army"] = "Armeija ulkokuori", + ["tint_lspd"] = "Sininen ulkokuori", + ["tint_orange"] = "Oranssi ulkokuori", + ["tint_platinum"] = "Platina ulkokuori", } diff --git a/server-data/resources/[esx]/es_extended/locales/fr.lua b/server-data/resources/[esx]/es_extended/locales/fr.lua index 3dedf7928..44760c691 100644 --- a/server-data/resources/[esx]/es_extended/locales/fr.lua +++ b/server-data/resources/[esx]/es_extended/locales/fr.lua @@ -1,381 +1,381 @@ Locales["fr"] = { - -- Inventory - ["inventory"] = "Inventaire ( Poids %s / %s )", - ["use"] = "Utiliser", - ["give"] = "Donner", - ["remove"] = "Jeter", - ["return"] = "Retour", - ["give_to"] = "Donner à", - ["amount"] = "Quantité", - ["giveammo"] = "Donner des munitions", - ["amountammo"] = "Nombre de munitions", - ["noammo"] = "Vous n'avez pas autant de munitions!", - ["gave_item"] = "Vous avez donné %sx %s à %s", - ["received_item"] = "Vous avez reçu %sx %s de %s", - ["gave_weapon"] = "Vous avez donné 1x %s à %s", - ["gave_weapon_ammo"] = "Vous avez donné ~o~%sx %s pour %s à %s", - ["gave_weapon_withammo"] = "Vous avez donné 1x %s avec ~o~%sx %s à %s", - ["gave_weapon_hasalready"] = "%s a déjà 1x %s", - ["gave_weapon_noweapon"] = "%s n'a pas cette arme", - ["received_weapon"] = "Vous avez reçu 1x %s de %s", - ["received_weapon_ammo"] = "Vous avez reçu ~o~%sx %s pour votre %s de %s", - ["received_weapon_withammo"] = "Vous avez reçu 1x %s avec ~o~%sx %s de %s", - ["received_weapon_hasalready"] = "%s a tenté de vous donner 1x %s, mais vous en aviez déjà un exemplaire", - ["received_weapon_noweapon"] = "%s a tenté de vous donner des munitions pour %s, mais vous n'avez pas cette arme", - ["gave_account_money"] = "Vous avez donné $%s (%s) à %s", - ["received_account_money"] = "Vous avez reçu $%s (%s) de %s", - ["amount_invalid"] = "Le montant est invalide", - ["players_nearby"] = "Aucun joueur n'est à proximité", - ["ex_inv_lim"] = "Action impossible, dépassement du poids maximum de %s", - ["imp_invalid_quantity"] = "Action impossible, la quantité est invalide", - ["imp_invalid_amount"] = "Action impossible, le montant est invalide", - ["threw_standard"] = "Vous avez jeté %sx %s", - ["threw_account"] = "Vous avez jeté $%s %s", - ["threw_weapon"] = "Vous avez jeté 1x %s", - ["threw_weapon_ammo"] = "Vous avez jeté 1x %s avec ~o~%sx %s", - ["threw_weapon_already"] = "Vous avez déjà cette arme", - ["threw_cannot_pickup"] = "Votre inventaire est plein, vous ne pouvez donc pas ramasser cela!", - ["threw_pickup_prompt"] = "Appuyez sur E pour ramasser", - - -- Key mapping - ["keymap_showinventory"] = "Afficher l'inventaire", - - -- Salary related - ["received_salary"] = "Vous avez reçu votre salaire: $%s", - ["received_help"] = "Vous avez reçu une aide de l'état: $%s", - ["company_nomoney"] = "Votre entreprise n'a pas assez d'argent pour vous payer", - ["received_paycheck"] = "Paiement reçu", - ["bank"] = "Banque", - ["account_bank"] = "Banque", - ["account_black_money"] = "Argent sale", - ["account_money"] = "Espèces", - - ["act_imp"] = "Action impossible", - ["in_vehicle"] = "Action impossible, le joueur est dans un véhicule", - ["not_in_vehicle"] = "Action impossible, le joueur n'est pas dans un véhicule", - - -- Commands - ["command_bring"] = "Téléporter un joueur sur vous", - ["command_car"] = "Faire appaitre un véhicule", - ["command_car_car"] = "Nom ou hash du véhicule", - ["command_cardel"] = "Supprimer les véhicules à proximité", - ["command_cardel_radius"] = "Supprime tous les véhicules dans un rayon spécifié", - ["command_repair"] = "Réparer votre véhicule", - ["command_repair_success"] = "Véhicule réparé avec succès", - ["command_repair_success_target"] = "Votre véhicule a été réparé par un membre du staff", - ["command_clear"] = "Effacer le chat", - ["command_clearall"] = "Effacer le chat de tous les joueurs", - ["command_clearinventory"] = "Retirer tous les objets de l'inventaire du joueur", - ["command_clearloadout"] = "Retirer toutes les armes du joueur", - ["command_freeze"] = "Geler un joueur sur place", - ["command_unfreeze"] = "Dégeler un joueur", - ["command_giveaccountmoney"] = "Donner de l'argent à un compte spécifique", - ["command_giveaccountmoney_account"] = "Compte à créditer", - ["command_giveaccountmoney_amount"] = "Quantité d'argent à créditer", - ["command_giveaccountmoney_invalid"] = "Le nom de compte spécifié est invalide", - ["command_removeaccountmoney"] = "Retirer de l'argent d'un compte spécifique", - ["command_removeaccountmoney_account"] = "Compte à débiter", - ["command_removeaccountmoney_amount"] = "Quantité d'argent à débiter", - ["command_removeaccountmoney_invalid"] = "Le nom de compte spécifié est invalide", - ["command_giveitem"] = "Donner un objet à un joueur", - ["command_giveitem_item"] = "Nom de l'objet à donner", - ["command_giveitem_count"] = "Quantité à donner", - ["command_giveweapon"] = "Donner une arme à un joueur", - ["command_giveweapon_weapon"] = "Nom de l'arme à donner", - ["command_giveweapon_ammo"] = "Quantité de munitions à donner", - ["command_giveweapon_hasalready"] = "Le joueur a déjà cette arme", - ["command_giveweaponcomponent"] = "Donner un accessoire d'arme à un joueur", - ["command_giveweaponcomponent_component"] = "Nom de l'accessoire à donner", - ["command_giveweaponcomponent_invalid"] = "Le nom de l'accessoire d'arme spécifié est invalide", - ["command_giveweaponcomponent_hasalready"] = "Le joueur a déjà cet accessoire", - ["command_giveweaponcomponent_missingweapon"] = "Le joueur n'a pas l'arme associée à cet accessoire", - ["command_goto"] = "Se téléporter vers un joueur", - ["command_kill"] = "Tuer un joueur", - ["command_save"] = "Forcer la sauvegarde des données d'un joueur", - ["command_saveall"] = "Forcer la sauvegarde des données de tous les joueurs", - ["command_setaccountmoney"] = "Définir le montant d'argent d'un compte spécifique", - ["command_setaccountmoney_amount"] = "Montant d'argent à définir", - ["command_setcoords"] = "Se téléporter à des coordonnées spécifiques", - ["command_setcoords_x"] = "Valeur de l'axe X", - ["command_setcoords_y"] = "Valeur de l'axe Y", - ["command_setcoords_z"] = "Valeur de l'axe Z", - ["command_setjob"] = "Définir le métier d'un joueur", - ["command_setjob_job"] = "Nom du métier à définir", - ["command_setjob_grade"] = "Grade du métier", - ["command_setjob_invalid"] = "Le métier, le grade, ou les deux sont invalides", - ["command_setgroup"] = "Définir le groupe de permissions d'un joueur", - ["command_setgroup_group"] = "Nom du groupe à définir", - ["commanderror_argumentmismatch"] = "Le nombre d'arguments est invalide (Argument·s donné·s: %s, Argument·s demandé·s: %s)", - ["commanderror_argumentmismatch_number"] = "Type de données de l'argument #%s invalide (Type donné: texte, Type demandé: nombre)", - ["commanderror_argumentmismatch_string"] = "Type de données de l'argument #%s invalide (Type donné: nombre, Type demandé: texte)", - ["commanderror_invaliditem"] = "Le nom de l'objet est invalide", - ["commanderror_invalidweapon"] = "Le nom de l'arme est invalide", - ["commanderror_console"] = "Cette commande ne peut pas être éxécutée depuis la console", - ["commanderror_invalidcommand"] = "Commande invalide - /%s", - ["commanderror_invalidplayerid"] = "Le joueur spécifié n'est pas connecté", - ["commandgeneric_playerid"] = "Identifiant serveur du joueur", - ["command_giveammo_noweapon_found"] = "%s n'a pas cette arme", - ["command_giveammo_weapon"] = "Nom de l'arme", - ["command_giveammo_ammo"] = "Quantité de munitions", - ["tpm_nowaypoint"] = "Aucun point n'est défini sur la carte", - ["tpm_success"] = "Vous avez bien été téléporté", - - ["noclip_message"] = "Le mode noclip a été %s", - ["enabled"] = "~g~activé~s~", - ["disabled"] = "~r~désactivé~s~", - - -- Locale settings - ["locale_digit_grouping_symbol"] = " ", - ["locale_currency"] = "$%s", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "Dague", - ["weapon_bat"] = "Batte", - ["weapon_battleaxe"] = "Hache de combat", - ["weapon_bottle"] = "Bouteille", - ["weapon_crowbar"] = "Pied de biche", - ["weapon_flashlight"] = "Lampte torche", - ["weapon_golfclub"] = "Club de golf", - ["weapon_hammer"] = "Marteau", - ["weapon_hatchet"] = "Hachette", - ["weapon_knife"] = "Couteau", - ["weapon_knuckle"] = "Poing américain", - ["weapon_machete"] = "Machette", - ["weapon_nightstick"] = "Matraque", - ["weapon_wrench"] = "Clé à pipe", - ["weapon_poolcue"] = "Queue de billard", - ["weapon_stone_hatchet"] = "Hachette en pierre", - ["weapon_switchblade"] = "Couteau à cran d'arrêt", - - -- Handguns - ["weapon_appistol"] = "Pistolet automatique", - ["weapon_ceramicpistol"] = "Pistolet en céramique", - ["weapon_combatpistol"] = "Pistolet de combat", - ["weapon_doubleaction"] = "Revolver à double action", - ["weapon_navyrevolver"] = "Revolver de marine", - ["weapon_flaregun"] = "Pistolet de détresse", - ["weapon_gadgetpistol"] = "Pistolet gadget", - ["weapon_heavypistol"] = "Pistolet lourd", - ["weapon_revolver"] = "Revolver lourd", - ["weapon_revolver_mk2"] = "Revolver lourd MK2", - ["weapon_marksmanpistol"] = "Pistolet Marksman", - ["weapon_pistol"] = "Pistolet", - ["weapon_pistol_mk2"] = "Pistolet MK2", - ["weapon_pistol50"] = "Pistolet .50", - ["weapon_snspistol"] = "Pistolet SNS", - ["weapon_snspistol_mk2"] = "Pistolet SNS MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Atomiseur", - ["weapon_vintagepistol"] = "Pistolet vintage", - - -- Shotguns - ["weapon_assaultshotgun"] = "Fusil d'assaut", - ["weapon_autoshotgun"] = "Fusil à pompe automatique", - ["weapon_bullpupshotgun"] = "Fusil à pompe Bullpup", - ["weapon_combatshotgun"] = "Fusil de combat", - ["weapon_dbshotgun"] = "Fusil à pompe à double canon", - ["weapon_heavyshotgun"] = "Fusil à pompe lourd", - ["weapon_musket"] = "Mousquet", - ["weapon_pumpshotgun"] = "Fusil à pompe", - ["weapon_pumpshotgun_mk2"] = "Fusil à pompe MK2", - ["weapon_sawnoffshotgun"] = "Fusil à canon scié", - - -- SMG & LMG - ["weapon_assaultsmg"] = "SMG s'assaut", - ["weapon_combatmg"] = "MG de combat", - ["weapon_combatmg_mk2"] = "MG de combat MK2", - ["weapon_combatpdw"] = "PDW de combat", - ["weapon_gusenberg"] = "Balayeuse Gusenberg", - ["weapon_machinepistol"] = "Pistolet-mitrailleur", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Micro SMG", - ["weapon_minismg"] = "Mini SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Carabine à rayons", - - -- Rifles - ["weapon_advancedrifle"] = "Fusil avancé", - ["weapon_assaultrifle"] = "Fusil d'assaut", - ["weapon_assaultrifle_mk2"] = "Fusil d'assaut MK2", - ["weapon_bullpuprifle"] = "Fusil Bullpup", - ["weapon_bullpuprifle_mk2"] = "Fusil Bullpup MK2", - ["weapon_carbinerifle"] = "Fusil carabine", - ["weapon_carbinerifle_mk2"] = "Fusil carabine MK2", - ["weapon_compactrifle"] = "Fusil compacte", - ["weapon_militaryrifle"] = "Fusil militaire", - ["weapon_specialcarbine"] = "Carabine spéciale", - ["weapon_specialcarbine_mk2"] = "Carabine spéciale MK2", - ["weapon_heavyrifle"] = "Fusil lourd", - - -- Sniper - ["weapon_heavysniper"] = "Sniper lourd", - ["weapon_heavysniper_mk2"] = "Sniper lourd MK2", - ["weapon_marksmanrifle"] = "Fusil Marksman", - ["weapon_marksmanrifle_mk2"] = "Fusil Marksman MK2", - ["weapon_sniperrifle"] = "Fusil sniper", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Lanceur compacte", - ["weapon_firework"] = "Lanceur de feu d'artifice", - ["weapon_grenadelauncher"] = "Lanceur de grenade", - ["weapon_hominglauncher"] = "Lanceur de tête chercheuse", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Fusil à rail", - ["weapon_rpg"] = "Lanceur de rockette", - ["weapon_rayminigun"] = "Exterminateur", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "Détecteur de métaux", - ["weapon_precisionrifle"] = "Fusil de précision", - ["weapon_tactilerifle"] = "Carabine tactique", - - -- Drug wars dlc - ["weapon_candycane"] = "Sucre d'orge", - ["weapon_acidpackage"] = "Paquet d'acide", - ["weapon_pistolxm3"] = "Pistolet 8 x3m", - ["weapon_railgunxm3"] = "Fusil électro-magnétique", - - -- Thrown - ["weapon_ball"] = "Base-ball", - ["weapon_bzgas"] = "Gaz BZ", - ["weapon_flare"] = "Fusée éclairante", - ["weapon_grenade"] = "Grenade", - ["weapon_petrolcan"] = "Jerrycan", - ["weapon_hazardcan"] = "Jerrycan dangereux", - ["weapon_molotov"] = "Cocktail Molotov", - ["weapon_proxmine"] = "Mine de proximité", - ["weapon_pipebomb"] = "Bombe tuyau", - ["weapon_snowball"] = "Boule de neige", - ["weapon_stickybomb"] = "Bombe collante", - ["weapon_smokegrenade"] = "Gaz lacrymogène", - - -- Special - ["weapon_fireextinguisher"] = "Extincteur", - ["weapon_digiscanner"] = "Scanner", - ["weapon_garbagebag"] = "Sac d'ordures", - ["weapon_handcuffs"] = "Menottes", - ["gadget_nightvision"] = "Vision nocturne", - ["gadget_parachute"] = "Parachute", - - -- Weapon Components - ["component_knuckle_base"] = "Modèle par défaut", - ["component_knuckle_pimp"] = "le Pimp", - ["component_knuckle_ballas"] = "le Ballas", - ["component_knuckle_dollar"] = "le Hustler", - ["component_knuckle_diamond"] = "le Rock", - ["component_knuckle_hate"] = "le Hater", - ["component_knuckle_love"] = "le Lover", - ["component_knuckle_player"] = "le Joueur", - ["component_knuckle_king"] = "le Roi", - ["component_knuckle_vagos"] = "le Vagos", - - ["component_luxary_finish"] = "Finition d'arme de luxe", - - ["component_handle_default"] = "Poignée par défaut", - ["component_handle_vip"] = "Poignée VIP", - ["component_handle_bodyguard"] = "Poignée bodyguard", - - ["component_vip_finish"] = "Finition VIP", - ["component_bodyguard_finish"] = "Finition bodyguard", - - ["component_camo_finish"] = "Camouflage numérique", - ["component_camo_finish2"] = "Camouflage pinceau", - ["component_camo_finish3"] = "Camouflage des bois", - ["component_camo_finish4"] = "Camouflage crâne", - ["component_camo_finish5"] = "Camouflage sessanta Nove", - ["component_camo_finish6"] = "Camouflage perseus", - ["component_camo_finish7"] = "Camouflage léopard", - ["component_camo_finish8"] = "Camouflage zèbre", - ["component_camo_finish9"] = "Camouflage géométrique", - ["component_camo_finish10"] = "Camouflage explosif", - ["component_camo_finish11"] = "Camouflage patriotique", - - ["component_camo_slide_finish"] = "Finitions slide à camouflage numérique", - ["component_camo_slide_finish2"] = "Finitions slide à camouflage pinceau", - ["component_camo_slide_finish3"] = "Finitions slide à camouflage des bois", - ["component_camo_slide_finish4"] = "Finitions slide à camouflage crâne", - ["component_camo_slide_finish5"] = "Finitions slide à camouflage sessanta Nove", - ["component_camo_slide_finish6"] = "Finitions slide à camouflage perseus", - ["component_camo_slide_finish7"] = "Finitions slide à camouflage léopard", - ["component_camo_slide_finish8"] = "Finitions slide à camouflage zèbre", - ["component_camo_slide_finish9"] = "Finitions slide à camouflage géométrique", - ["component_camo_slide_finish10"] = "Finitions slide à camouflage explosive", - ["component_camo_slide_finish11"] = "Finitions slide à camouflage patriotique", - - ["component_clip_default"] = "Chargeur par défaut", - ["component_clip_extended"] = "Chargeur à grande capacité", - ["component_clip_drum"] = "Chargeur à tambour", - ["component_clip_box"] = "Chargeur à très grande capacité", - - ["component_scope_holo"] = "Viseur holographique", - ["component_scope_small"] = "Viseur de petite taille", - ["component_scope_medium"] = "Viseur de taille moyenne", - ["component_scope_large"] = "Viseur de grande taille", - ["component_scope"] = "Viseur monté", - ["component_scope_advanced"] = "Viseur avancé", - ["component_ironsights"] = "Viseur à marqueurs alignés", - - ["component_suppressor"] = "silencieux", - ["component_compensator"] = "compensateur", - - ["component_muzzle_flat"] = "Frein plat", - ["component_muzzle_tactical"] = "Frein tactique", - ["component_muzzle_fat"] = "Frein large", - ["component_muzzle_precision"] = "Frein de précision", - ["component_muzzle_heavy"] = "Frein polyvalent", - ["component_muzzle_slanted"] = "Frein incliné", - ["component_muzzle_split"] = "Frein fendu", - ["component_muzzle_squared"] = "Frein carré", - - ["component_flashlight"] = "lampe torche", - ["component_grip"] = "poignée", - - ["component_barrel_default"] = "Canon par défaut", - ["component_barrel_heavy"] = "Canon lourd", - - ["component_ammo_tracer"] = "Munition traceuse", - ["component_ammo_incendiary"] = "Munition incendiaire", - ["component_ammo_hollowpoint"] = "Munition à pointe creuse", - ["component_ammo_fmj"] = "Munition fMJ", - ["component_ammo_armor"] = "Munition perforante", - ["component_ammo_explosive"] = "Munition perforante et Munition incendiaire", - - ["component_shells_default"] = "Coque par défaut", - ["component_shells_incendiary"] = "Coque souffle de dragon", - ["component_shells_armor"] = "Coque à chevrotine en acier", - ["component_shells_hollowpoint"] = "Coque à fléchettes", - ["component_shells_explosive"] = "Coque à limaces explosives", - - -- Weapon Ammo - ["ammo_rounds"] = "cartouche(s)", - ["ammo_shells"] = "obus", - ["ammo_charge"] = "charge·s", - ["ammo_petrol"] = "jerrican d'essence", - ["ammo_firework"] = "feu·x d'artifice", - ["ammo_rockets"] = "roquette·s", - ["ammo_grenadelauncher"] = "grenade·s", - ["ammo_grenade"] = "grenade·s", - ["ammo_stickybomb"] = "bombe·s", - ["ammo_pipebomb"] = "bombe·s", - ["ammo_smokebomb"] = "bombe·s", - ["ammo_molotov"] = "cocktail·s", - ["ammo_proxmine"] = "mine·s", - ["ammo_bzgas"] = "grenade·s", - ["ammo_ball"] = "balle·s", - ["ammo_snowball"] = "boule·s de neige", - ["ammo_flare"] = "fusée·s éclairante·s", - ["ammo_flaregun"] = "fusée·s", - - -- Weapon Tints - ["tint_default"] = "skin par défaut", - ["tint_green"] = "skin vert", - ["tint_gold"] = "skin doré", - ["tint_pink"] = "skin rose", - ["tint_army"] = "skin militaire", - ["tint_lspd"] = "skin bleu", - ["tint_orange"] = "skin orange", - ["tint_platinum"] = "skin platine", + -- Inventory + ["inventory"] = "Inventaire ( Poids %s / %s )", + ["use"] = "Utiliser", + ["give"] = "Donner", + ["remove"] = "Jeter", + ["return"] = "Retour", + ["give_to"] = "Donner à", + ["amount"] = "Quantité", + ["giveammo"] = "Donner des munitions", + ["amountammo"] = "Nombre de munitions", + ["noammo"] = "Vous n'avez pas autant de munitions!", + ["gave_item"] = "Vous avez donné %sx %s à %s", + ["received_item"] = "Vous avez reçu %sx %s de %s", + ["gave_weapon"] = "Vous avez donné 1x %s à %s", + ["gave_weapon_ammo"] = "Vous avez donné ~o~%sx %s pour %s à %s", + ["gave_weapon_withammo"] = "Vous avez donné 1x %s avec ~o~%sx %s à %s", + ["gave_weapon_hasalready"] = "%s a déjà 1x %s", + ["gave_weapon_noweapon"] = "%s n'a pas cette arme", + ["received_weapon"] = "Vous avez reçu 1x %s de %s", + ["received_weapon_ammo"] = "Vous avez reçu ~o~%sx %s pour votre %s de %s", + ["received_weapon_withammo"] = "Vous avez reçu 1x %s avec ~o~%sx %s de %s", + ["received_weapon_hasalready"] = "%s a tenté de vous donner 1x %s, mais vous en aviez déjà un exemplaire", + ["received_weapon_noweapon"] = "%s a tenté de vous donner des munitions pour %s, mais vous n'avez pas cette arme", + ["gave_account_money"] = "Vous avez donné $%s (%s) à %s", + ["received_account_money"] = "Vous avez reçu $%s (%s) de %s", + ["amount_invalid"] = "Le montant est invalide", + ["players_nearby"] = "Aucun joueur n'est à proximité", + ["ex_inv_lim"] = "Action impossible, dépassement du poids maximum de %s", + ["imp_invalid_quantity"] = "Action impossible, la quantité est invalide", + ["imp_invalid_amount"] = "Action impossible, le montant est invalide", + ["threw_standard"] = "Vous avez jeté %sx %s", + ["threw_account"] = "Vous avez jeté $%s %s", + ["threw_weapon"] = "Vous avez jeté 1x %s", + ["threw_weapon_ammo"] = "Vous avez jeté 1x %s avec ~o~%sx %s", + ["threw_weapon_already"] = "Vous avez déjà cette arme", + ["threw_cannot_pickup"] = "Votre inventaire est plein, vous ne pouvez donc pas ramasser cela!", + ["threw_pickup_prompt"] = "Appuyez sur E pour ramasser", + + -- Key mapping + ["keymap_showinventory"] = "Afficher l'inventaire", + + -- Salary related + ["received_salary"] = "Vous avez reçu votre salaire: $%s", + ["received_help"] = "Vous avez reçu une aide de l'état: $%s", + ["company_nomoney"] = "Votre entreprise n'a pas assez d'argent pour vous payer", + ["received_paycheck"] = "Paiement reçu", + ["bank"] = "Banque", + ["account_bank"] = "Banque", + ["account_black_money"] = "Argent sale", + ["account_money"] = "Espèces", + + ["act_imp"] = "Action impossible", + ["in_vehicle"] = "Action impossible, le joueur est dans un véhicule", + ["not_in_vehicle"] = "Action impossible, le joueur n'est pas dans un véhicule", + + -- Commands + ["command_bring"] = "Téléporter un joueur sur vous", + ["command_car"] = "Faire appaitre un véhicule", + ["command_car_car"] = "Nom ou hash du véhicule", + ["command_cardel"] = "Supprimer les véhicules à proximité", + ["command_cardel_radius"] = "Supprime tous les véhicules dans un rayon spécifié", + ["command_repair"] = "Réparer votre véhicule", + ["command_repair_success"] = "Véhicule réparé avec succès", + ["command_repair_success_target"] = "Votre véhicule a été réparé par un membre du staff", + ["command_clear"] = "Effacer le chat", + ["command_clearall"] = "Effacer le chat de tous les joueurs", + ["command_clearinventory"] = "Retirer tous les objets de l'inventaire du joueur", + ["command_clearloadout"] = "Retirer toutes les armes du joueur", + ["command_freeze"] = "Geler un joueur sur place", + ["command_unfreeze"] = "Dégeler un joueur", + ["command_giveaccountmoney"] = "Donner de l'argent à un compte spécifique", + ["command_giveaccountmoney_account"] = "Compte à créditer", + ["command_giveaccountmoney_amount"] = "Quantité d'argent à créditer", + ["command_giveaccountmoney_invalid"] = "Le nom de compte spécifié est invalide", + ["command_removeaccountmoney"] = "Retirer de l'argent d'un compte spécifique", + ["command_removeaccountmoney_account"] = "Compte à débiter", + ["command_removeaccountmoney_amount"] = "Quantité d'argent à débiter", + ["command_removeaccountmoney_invalid"] = "Le nom de compte spécifié est invalide", + ["command_giveitem"] = "Donner un objet à un joueur", + ["command_giveitem_item"] = "Nom de l'objet à donner", + ["command_giveitem_count"] = "Quantité à donner", + ["command_giveweapon"] = "Donner une arme à un joueur", + ["command_giveweapon_weapon"] = "Nom de l'arme à donner", + ["command_giveweapon_ammo"] = "Quantité de munitions à donner", + ["command_giveweapon_hasalready"] = "Le joueur a déjà cette arme", + ["command_giveweaponcomponent"] = "Donner un accessoire d'arme à un joueur", + ["command_giveweaponcomponent_component"] = "Nom de l'accessoire à donner", + ["command_giveweaponcomponent_invalid"] = "Le nom de l'accessoire d'arme spécifié est invalide", + ["command_giveweaponcomponent_hasalready"] = "Le joueur a déjà cet accessoire", + ["command_giveweaponcomponent_missingweapon"] = "Le joueur n'a pas l'arme associée à cet accessoire", + ["command_goto"] = "Se téléporter vers un joueur", + ["command_kill"] = "Tuer un joueur", + ["command_save"] = "Forcer la sauvegarde des données d'un joueur", + ["command_saveall"] = "Forcer la sauvegarde des données de tous les joueurs", + ["command_setaccountmoney"] = "Définir le montant d'argent d'un compte spécifique", + ["command_setaccountmoney_amount"] = "Montant d'argent à définir", + ["command_setcoords"] = "Se téléporter à des coordonnées spécifiques", + ["command_setcoords_x"] = "Valeur de l'axe X", + ["command_setcoords_y"] = "Valeur de l'axe Y", + ["command_setcoords_z"] = "Valeur de l'axe Z", + ["command_setjob"] = "Définir le métier d'un joueur", + ["command_setjob_job"] = "Nom du métier à définir", + ["command_setjob_grade"] = "Grade du métier", + ["command_setjob_invalid"] = "Le métier, le grade, ou les deux sont invalides", + ["command_setgroup"] = "Définir le groupe de permissions d'un joueur", + ["command_setgroup_group"] = "Nom du groupe à définir", + ["commanderror_argumentmismatch"] = "Le nombre d'arguments est invalide (Argument·s donné·s: %s, Argument·s demandé·s: %s)", + ["commanderror_argumentmismatch_number"] = "Type de données de l'argument #%s invalide (Type donné: texte, Type demandé: nombre)", + ["commanderror_argumentmismatch_string"] = "Type de données de l'argument #%s invalide (Type donné: nombre, Type demandé: texte)", + ["commanderror_invaliditem"] = "Le nom de l'objet est invalide", + ["commanderror_invalidweapon"] = "Le nom de l'arme est invalide", + ["commanderror_console"] = "Cette commande ne peut pas être éxécutée depuis la console", + ["commanderror_invalidcommand"] = "Commande invalide - /%s", + ["commanderror_invalidplayerid"] = "Le joueur spécifié n'est pas connecté", + ["commandgeneric_playerid"] = "Identifiant serveur du joueur", + ["command_giveammo_noweapon_found"] = "%s n'a pas cette arme", + ["command_giveammo_weapon"] = "Nom de l'arme", + ["command_giveammo_ammo"] = "Quantité de munitions", + ["tpm_nowaypoint"] = "Aucun point n'est défini sur la carte", + ["tpm_success"] = "Vous avez bien été téléporté", + + ["noclip_message"] = "Le mode noclip a été %s", + ["enabled"] = "~g~activé~s~", + ["disabled"] = "~r~désactivé~s~", + + -- Locale settings + ["locale_digit_grouping_symbol"] = " ", + ["locale_currency"] = "$%s", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "Dague", + ["weapon_bat"] = "Batte", + ["weapon_battleaxe"] = "Hache de combat", + ["weapon_bottle"] = "Bouteille", + ["weapon_crowbar"] = "Pied de biche", + ["weapon_flashlight"] = "Lampte torche", + ["weapon_golfclub"] = "Club de golf", + ["weapon_hammer"] = "Marteau", + ["weapon_hatchet"] = "Hachette", + ["weapon_knife"] = "Couteau", + ["weapon_knuckle"] = "Poing américain", + ["weapon_machete"] = "Machette", + ["weapon_nightstick"] = "Matraque", + ["weapon_wrench"] = "Clé à pipe", + ["weapon_poolcue"] = "Queue de billard", + ["weapon_stone_hatchet"] = "Hachette en pierre", + ["weapon_switchblade"] = "Couteau à cran d'arrêt", + + -- Handguns + ["weapon_appistol"] = "Pistolet automatique", + ["weapon_ceramicpistol"] = "Pistolet en céramique", + ["weapon_combatpistol"] = "Pistolet de combat", + ["weapon_doubleaction"] = "Revolver à double action", + ["weapon_navyrevolver"] = "Revolver de marine", + ["weapon_flaregun"] = "Pistolet de détresse", + ["weapon_gadgetpistol"] = "Pistolet gadget", + ["weapon_heavypistol"] = "Pistolet lourd", + ["weapon_revolver"] = "Revolver lourd", + ["weapon_revolver_mk2"] = "Revolver lourd MK2", + ["weapon_marksmanpistol"] = "Pistolet Marksman", + ["weapon_pistol"] = "Pistolet", + ["weapon_pistol_mk2"] = "Pistolet MK2", + ["weapon_pistol50"] = "Pistolet .50", + ["weapon_snspistol"] = "Pistolet SNS", + ["weapon_snspistol_mk2"] = "Pistolet SNS MK2", + ["weapon_stungun"] = "Taser", + ["weapon_raypistol"] = "Atomiseur", + ["weapon_vintagepistol"] = "Pistolet vintage", + + -- Shotguns + ["weapon_assaultshotgun"] = "Fusil d'assaut", + ["weapon_autoshotgun"] = "Fusil à pompe automatique", + ["weapon_bullpupshotgun"] = "Fusil à pompe Bullpup", + ["weapon_combatshotgun"] = "Fusil de combat", + ["weapon_dbshotgun"] = "Fusil à pompe à double canon", + ["weapon_heavyshotgun"] = "Fusil à pompe lourd", + ["weapon_musket"] = "Mousquet", + ["weapon_pumpshotgun"] = "Fusil à pompe", + ["weapon_pumpshotgun_mk2"] = "Fusil à pompe MK2", + ["weapon_sawnoffshotgun"] = "Fusil à canon scié", + + -- SMG & LMG + ["weapon_assaultsmg"] = "SMG s'assaut", + ["weapon_combatmg"] = "MG de combat", + ["weapon_combatmg_mk2"] = "MG de combat MK2", + ["weapon_combatpdw"] = "PDW de combat", + ["weapon_gusenberg"] = "Balayeuse Gusenberg", + ["weapon_machinepistol"] = "Pistolet-mitrailleur", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Micro SMG", + ["weapon_minismg"] = "Mini SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Carabine à rayons", + + -- Rifles + ["weapon_advancedrifle"] = "Fusil avancé", + ["weapon_assaultrifle"] = "Fusil d'assaut", + ["weapon_assaultrifle_mk2"] = "Fusil d'assaut MK2", + ["weapon_bullpuprifle"] = "Fusil Bullpup", + ["weapon_bullpuprifle_mk2"] = "Fusil Bullpup MK2", + ["weapon_carbinerifle"] = "Fusil carabine", + ["weapon_carbinerifle_mk2"] = "Fusil carabine MK2", + ["weapon_compactrifle"] = "Fusil compacte", + ["weapon_militaryrifle"] = "Fusil militaire", + ["weapon_specialcarbine"] = "Carabine spéciale", + ["weapon_specialcarbine_mk2"] = "Carabine spéciale MK2", + ["weapon_heavyrifle"] = "Fusil lourd", + + -- Sniper + ["weapon_heavysniper"] = "Sniper lourd", + ["weapon_heavysniper_mk2"] = "Sniper lourd MK2", + ["weapon_marksmanrifle"] = "Fusil Marksman", + ["weapon_marksmanrifle_mk2"] = "Fusil Marksman MK2", + ["weapon_sniperrifle"] = "Fusil sniper", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "Lanceur compacte", + ["weapon_firework"] = "Lanceur de feu d'artifice", + ["weapon_grenadelauncher"] = "Lanceur de grenade", + ["weapon_hominglauncher"] = "Lanceur de tête chercheuse", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Fusil à rail", + ["weapon_rpg"] = "Lanceur de rockette", + ["weapon_rayminigun"] = "Exterminateur", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "Détecteur de métaux", + ["weapon_precisionrifle"] = "Fusil de précision", + ["weapon_tactilerifle"] = "Carabine tactique", + + -- Drug wars dlc + ["weapon_candycane"] = "Sucre d'orge", + ["weapon_acidpackage"] = "Paquet d'acide", + ["weapon_pistolxm3"] = "Pistolet 8 x3m", + ["weapon_railgunxm3"] = "Fusil électro-magnétique", + + -- Thrown + ["weapon_ball"] = "Base-ball", + ["weapon_bzgas"] = "Gaz BZ", + ["weapon_flare"] = "Fusée éclairante", + ["weapon_grenade"] = "Grenade", + ["weapon_petrolcan"] = "Jerrycan", + ["weapon_hazardcan"] = "Jerrycan dangereux", + ["weapon_molotov"] = "Cocktail Molotov", + ["weapon_proxmine"] = "Mine de proximité", + ["weapon_pipebomb"] = "Bombe tuyau", + ["weapon_snowball"] = "Boule de neige", + ["weapon_stickybomb"] = "Bombe collante", + ["weapon_smokegrenade"] = "Gaz lacrymogène", + + -- Special + ["weapon_fireextinguisher"] = "Extincteur", + ["weapon_digiscanner"] = "Scanner", + ["weapon_garbagebag"] = "Sac d'ordures", + ["weapon_handcuffs"] = "Menottes", + ["gadget_nightvision"] = "Vision nocturne", + ["gadget_parachute"] = "Parachute", + + -- Weapon Components + ["component_knuckle_base"] = "Modèle par défaut", + ["component_knuckle_pimp"] = "le Pimp", + ["component_knuckle_ballas"] = "le Ballas", + ["component_knuckle_dollar"] = "le Hustler", + ["component_knuckle_diamond"] = "le Rock", + ["component_knuckle_hate"] = "le Hater", + ["component_knuckle_love"] = "le Lover", + ["component_knuckle_player"] = "le Joueur", + ["component_knuckle_king"] = "le Roi", + ["component_knuckle_vagos"] = "le Vagos", + + ["component_luxary_finish"] = "Finition d'arme de luxe", + + ["component_handle_default"] = "Poignée par défaut", + ["component_handle_vip"] = "Poignée VIP", + ["component_handle_bodyguard"] = "Poignée bodyguard", + + ["component_vip_finish"] = "Finition VIP", + ["component_bodyguard_finish"] = "Finition bodyguard", + + ["component_camo_finish"] = "Camouflage numérique", + ["component_camo_finish2"] = "Camouflage pinceau", + ["component_camo_finish3"] = "Camouflage des bois", + ["component_camo_finish4"] = "Camouflage crâne", + ["component_camo_finish5"] = "Camouflage sessanta Nove", + ["component_camo_finish6"] = "Camouflage perseus", + ["component_camo_finish7"] = "Camouflage léopard", + ["component_camo_finish8"] = "Camouflage zèbre", + ["component_camo_finish9"] = "Camouflage géométrique", + ["component_camo_finish10"] = "Camouflage explosif", + ["component_camo_finish11"] = "Camouflage patriotique", + + ["component_camo_slide_finish"] = "Finitions slide à camouflage numérique", + ["component_camo_slide_finish2"] = "Finitions slide à camouflage pinceau", + ["component_camo_slide_finish3"] = "Finitions slide à camouflage des bois", + ["component_camo_slide_finish4"] = "Finitions slide à camouflage crâne", + ["component_camo_slide_finish5"] = "Finitions slide à camouflage sessanta Nove", + ["component_camo_slide_finish6"] = "Finitions slide à camouflage perseus", + ["component_camo_slide_finish7"] = "Finitions slide à camouflage léopard", + ["component_camo_slide_finish8"] = "Finitions slide à camouflage zèbre", + ["component_camo_slide_finish9"] = "Finitions slide à camouflage géométrique", + ["component_camo_slide_finish10"] = "Finitions slide à camouflage explosive", + ["component_camo_slide_finish11"] = "Finitions slide à camouflage patriotique", + + ["component_clip_default"] = "Chargeur par défaut", + ["component_clip_extended"] = "Chargeur à grande capacité", + ["component_clip_drum"] = "Chargeur à tambour", + ["component_clip_box"] = "Chargeur à très grande capacité", + + ["component_scope_holo"] = "Viseur holographique", + ["component_scope_small"] = "Viseur de petite taille", + ["component_scope_medium"] = "Viseur de taille moyenne", + ["component_scope_large"] = "Viseur de grande taille", + ["component_scope"] = "Viseur monté", + ["component_scope_advanced"] = "Viseur avancé", + ["component_ironsights"] = "Viseur à marqueurs alignés", + + ["component_suppressor"] = "silencieux", + ["component_compensator"] = "compensateur", + + ["component_muzzle_flat"] = "Frein plat", + ["component_muzzle_tactical"] = "Frein tactique", + ["component_muzzle_fat"] = "Frein large", + ["component_muzzle_precision"] = "Frein de précision", + ["component_muzzle_heavy"] = "Frein polyvalent", + ["component_muzzle_slanted"] = "Frein incliné", + ["component_muzzle_split"] = "Frein fendu", + ["component_muzzle_squared"] = "Frein carré", + + ["component_flashlight"] = "lampe torche", + ["component_grip"] = "poignée", + + ["component_barrel_default"] = "Canon par défaut", + ["component_barrel_heavy"] = "Canon lourd", + + ["component_ammo_tracer"] = "Munition traceuse", + ["component_ammo_incendiary"] = "Munition incendiaire", + ["component_ammo_hollowpoint"] = "Munition à pointe creuse", + ["component_ammo_fmj"] = "Munition fMJ", + ["component_ammo_armor"] = "Munition perforante", + ["component_ammo_explosive"] = "Munition perforante et Munition incendiaire", + + ["component_shells_default"] = "Coque par défaut", + ["component_shells_incendiary"] = "Coque souffle de dragon", + ["component_shells_armor"] = "Coque à chevrotine en acier", + ["component_shells_hollowpoint"] = "Coque à fléchettes", + ["component_shells_explosive"] = "Coque à limaces explosives", + + -- Weapon Ammo + ["ammo_rounds"] = "cartouche(s)", + ["ammo_shells"] = "obus", + ["ammo_charge"] = "charge·s", + ["ammo_petrol"] = "jerrican d'essence", + ["ammo_firework"] = "feu·x d'artifice", + ["ammo_rockets"] = "roquette·s", + ["ammo_grenadelauncher"] = "grenade·s", + ["ammo_grenade"] = "grenade·s", + ["ammo_stickybomb"] = "bombe·s", + ["ammo_pipebomb"] = "bombe·s", + ["ammo_smokebomb"] = "bombe·s", + ["ammo_molotov"] = "cocktail·s", + ["ammo_proxmine"] = "mine·s", + ["ammo_bzgas"] = "grenade·s", + ["ammo_ball"] = "balle·s", + ["ammo_snowball"] = "boule·s de neige", + ["ammo_flare"] = "fusée·s éclairante·s", + ["ammo_flaregun"] = "fusée·s", + + -- Weapon Tints + ["tint_default"] = "skin par défaut", + ["tint_green"] = "skin vert", + ["tint_gold"] = "skin doré", + ["tint_pink"] = "skin rose", + ["tint_army"] = "skin militaire", + ["tint_lspd"] = "skin bleu", + ["tint_orange"] = "skin orange", + ["tint_platinum"] = "skin platine", } diff --git a/server-data/resources/[esx]/es_extended/locales/he.lua b/server-data/resources/[esx]/es_extended/locales/he.lua index bd37a2a5e..12ebc9e5f 100644 --- a/server-data/resources/[esx]/es_extended/locales/he.lua +++ b/server-data/resources/[esx]/es_extended/locales/he.lua @@ -1,375 +1,375 @@ Locales["he"] = { - -- Inventory - ["inventory"] = "מלאי ( משקל %s / %s )", - ["use"] = "השתמש", - ["give"] = "תן", - ["remove"] = "זרוק", - ["return"] = "חזור", - ["give_to"] = "תן ל", - ["amount"] = "כמות", - ["giveammo"] = "תן תחמושת", - ["amountammo"] = "כמות תחמושת", - ["noammo"] = "לא מספיק!", - ["gave_item"] = "ניתן %sx %s ל %s", - ["received_item"] = "קיבלת %sx %s מ %s", - ["gave_weapon"] = "ניתן %s ל %s", - ["gave_weapon_ammo"] = "ניתן ~o~%sx %s ל %s ל %s", - ["gave_weapon_withammo"] = "ניתן %s עם ~o~%sx %s ל %s", - ["gave_weapon_hasalready"] = "%s כבר יש לו %s", - ["gave_weapon_noweapon"] = "%s אין לו את הנשק הזה", - ["received_weapon"] = "קיבלת %s מ %s", - ["received_weapon_ammo"] = "קיבלת ~o~%sx %s ל %s שלך מ %s", - ["received_weapon_withammo"] = "קיבלת %s עם ~o~%sx %s מ %s", - ["received_weapon_hasalready"] = "%s ניסה לתת לך %s, אך יש לך כבר נשק זה", - ["received_weapon_noweapon"] = "%s ניסה לתת לך תחמושת ל %s, אך אין לך נשק זה", - ["gave_account_money"] = "ניתן $%s (%s) ל %s", - ["received_account_money"] = "קיבלת $%s (%s) מ %s", - ["amount_invalid"] = "כמות לא חוקית", - ["players_nearby"] = "אין שחקנים קרובים", - ["ex_inv_lim"] = "לא ניתן לבצע פעולה, חורג מהמשקל המרבי של %s", - ["imp_invalid_quantity"] = "לא ניתן לבצע פעולה, הכמות אינה חוקית", - ["imp_invalid_amount"] = "לא ניתן לבצע פעולה, הסכום אינו חוקי", - ["threw_standard"] = "זורק %sx %s", - ["threw_account"] = "זורק $%s %s", - ["threw_weapon"] = "זורק %s", - ["threw_weapon_ammo"] = "זורק %s עם ~o~%sx %s", - ["threw_weapon_already"] = "כבר יש לך נשק זה", - ["threw_cannot_pickup"] = "המלאי מלא, לא ניתן לאסוף!", - ["threw_pickup_prompt"] = "לחץ E כדי לאסוף", - -- Key mapping - ["keymap_showinventory"] = "הצג מלאי", + -- Inventory + ["inventory"] = "מלאי ( משקל %s / %s )", + ["use"] = "השתמש", + ["give"] = "תן", + ["remove"] = "זרוק", + ["return"] = "חזור", + ["give_to"] = "תן ל", + ["amount"] = "כמות", + ["giveammo"] = "תן תחמושת", + ["amountammo"] = "כמות תחמושת", + ["noammo"] = "לא מספיק!", + ["gave_item"] = "ניתן %sx %s ל %s", + ["received_item"] = "קיבלת %sx %s מ %s", + ["gave_weapon"] = "ניתן %s ל %s", + ["gave_weapon_ammo"] = "ניתן ~o~%sx %s ל %s ל %s", + ["gave_weapon_withammo"] = "ניתן %s עם ~o~%sx %s ל %s", + ["gave_weapon_hasalready"] = "%s כבר יש לו %s", + ["gave_weapon_noweapon"] = "%s אין לו את הנשק הזה", + ["received_weapon"] = "קיבלת %s מ %s", + ["received_weapon_ammo"] = "קיבלת ~o~%sx %s ל %s שלך מ %s", + ["received_weapon_withammo"] = "קיבלת %s עם ~o~%sx %s מ %s", + ["received_weapon_hasalready"] = "%s ניסה לתת לך %s, אך יש לך כבר נשק זה", + ["received_weapon_noweapon"] = "%s ניסה לתת לך תחמושת ל %s, אך אין לך נשק זה", + ["gave_account_money"] = "ניתן $%s (%s) ל %s", + ["received_account_money"] = "קיבלת $%s (%s) מ %s", + ["amount_invalid"] = "כמות לא חוקית", + ["players_nearby"] = "אין שחקנים קרובים", + ["ex_inv_lim"] = "לא ניתן לבצע פעולה, חורג מהמשקל המרבי של %s", + ["imp_invalid_quantity"] = "לא ניתן לבצע פעולה, הכמות אינה חוקית", + ["imp_invalid_amount"] = "לא ניתן לבצע פעולה, הסכום אינו חוקי", + ["threw_standard"] = "זורק %sx %s", + ["threw_account"] = "זורק $%s %s", + ["threw_weapon"] = "זורק %s", + ["threw_weapon_ammo"] = "זורק %s עם ~o~%sx %s", + ["threw_weapon_already"] = "כבר יש לך נשק זה", + ["threw_cannot_pickup"] = "המלאי מלא, לא ניתן לאסוף!", + ["threw_pickup_prompt"] = "לחץ E כדי לאסוף", + -- Key mapping + ["keymap_showinventory"] = "הצג מלאי", - -- Salary related - ["received_salary"] = "קיבלת שכר: $%s", - ["received_help"] = "קיבלת הטבה: $%s", - ["company_nomoney"] = "החברה בה אתה עובד אינה יכולה לשלם לך את השכר", - ["received_paycheck"] = "קיבלת תלוש", - ["bank"] = "בנק מעץ", - ["account_bank"] = "בנק", - ["account_black_money"] = "כסף מטונף", - ["account_money"] = "מזומן", + -- Salary related + ["received_salary"] = "קיבלת שכר: $%s", + ["received_help"] = "קיבלת הטבה: $%s", + ["company_nomoney"] = "החברה בה אתה עובד אינה יכולה לשלם לך את השכר", + ["received_paycheck"] = "קיבלת תלוש", + ["bank"] = "בנק מעץ", + ["account_bank"] = "בנק", + ["account_black_money"] = "כסף מטונף", + ["account_money"] = "מזומן", - ["act_imp"] = "לא ניתן לבצע פעולה", - ["in_vehicle"] = "לא ניתן לבצע פעולה, השחקן ברכב", - ["not_in_vehicle"] = "לא ניתן לבצע פעולה, השחקן לא ברכב", + ["act_imp"] = "לא ניתן לבצע פעולה", + ["in_vehicle"] = "לא ניתן לבצע פעולה, השחקן ברכב", + ["not_in_vehicle"] = "לא ניתן לבצע פעולה, השחקן לא ברכב", - -- Commands - ["command_bring"] = "הבא שחקן אליך", - ["command_car"] = "צור רכב", - ["command_car_car"] = "דגם הרכב או האש", - ["command_cardel"] = "הסר רכבים בקרבת מקום", - ["command_cardel_radius"] = "הסר את כל הרכבים ברדיוס המצוין", - ["command_repair"] = "תקן את הרכב שלך", - ["command_repair_success"] = "רכב תוקן בהצלחה", - ["command_repair_success_target"] = "אדמין תיקן לך את הרכב", - ["command_clear"] = 'נקה טקסט צ"אט', - ["command_clearall"] = 'נקה טקסט צ"אט לכל השחקנים', - ["command_clearinventory"] = "הסר את כל הפריטים מהמלאי של השחקן", - ["command_clearloadout"] = "הסר את כל הנשקים מהשחקן", - ["command_freeze"] = "הקפא שחקן", - ["command_unfreeze"] = "בטל הקפאה של שחקן", - ["command_giveaccountmoney"] = "תן כסף לחשבון מסוים", - ["command_giveaccountmoney_account"] = "חשבון להוספה", - ["command_giveaccountmoney_amount"] = "כמות להוספה", - ["command_giveaccountmoney_invalid"] = "שם חשבון לא חוקי", - ["command_removeaccountmoney"] = "הסר כסף מחשבון מסוים", - ["command_removeaccountmoney_account"] = "חשבון להסרה ממנו", - ["command_removeaccountmoney_amount"] = "כמות להסרה", - ["command_removeaccountmoney_invalid"] = "שם חשבון לא חוקי", - ["command_giveitem"] = "תן לשחקן פריט", - ["command_giveitem_item"] = "שם הפריט", - ["command_giveitem_count"] = "כמות", - ["command_giveweapon"] = "תן לשחקן נשק", - ["command_giveweapon_weapon"] = "שם הנשק", - ["command_giveweapon_ammo"] = "כמות תחמושת", - ["command_giveweapon_hasalready"] = "לשחקן כבר יש נשק זה", - ["command_giveweaponcomponent"] = "תן רכיב נשק לשחקן", - ["command_giveweaponcomponent_component"] = "שם הרכיב", - ["command_giveweaponcomponent_invalid"] = "רכיב נשק לא חוקי", - ["command_giveweaponcomponent_hasalready"] = "לשחקן כבר יש רכיב נשק זה", - ["command_giveweaponcomponent_missingweapon"] = "לשחקן אין נשק זה", - ["command_goto"] = "התעבר אל שחקן", - ["command_kill"] = "הרוג שחקן", - ["command_save"] = "שמור נתונים של שחקן בכפיה", - ["command_saveall"] = "שמור נתונים של כל השחקנים", - ["command_setaccountmoney"] = "קבע כמות כסף בחשבון מסוים", - ["command_setaccountmoney_amount"] = "כמות כסף להגדרה", - ["command_setcoords"] = "התעבר לקואורדינטות מסוימות", - ["command_setcoords_x"] = "ערך x", - ["command_setcoords_y"] = "ערך y", - ["command_setcoords_z"] = "ערך z", - ["command_setjob"] = "קבע משרה לשחקן", - ["command_setjob_job"] = "שם המשרה", - ["command_setjob_grade"] = "דרגת המשרה", - ["command_setjob_invalid"] = "המשרה, הדרגה או שניהם אינם חוקיים", - ["command_setgroup"] = "קבע קבוצת הרשאות לשחקן", - ["command_setgroup_group"] = "שם קבוצת הפקודות", - ["commanderror_argumentmismatch"] = "כמות וסוגי הארגומנטים אינם תואמים (נשלח %s, נדרש %s)", - ["commanderror_argumentmismatch_number"] = "טיפוס ארגומנט #%s לא תקין (נשלח מחרוזת, נדרש מספר)", - ["commanderror_argumentmismatch_string"] = "טיפוס ארגומנט #%s לא תקין (נשלח מספר, נדרש מחרוזת)", - ["commanderror_invaliditem"] = "שם פריט לא חוקי", - ["commanderror_invalidweapon"] = "נשק לא חוקי", - ["commanderror_console"] = "לא ניתן להפעיל פקודה מהקונסול", - ["commanderror_invalidcommand"] = "פקודה לא חוקית - /%s", - ["commanderror_invalidplayerid"] = "אין שחקן עם מזהה זה מחובר", - ["commandgeneric_playerid"] = "מזהה השחקן בשרת", - ["command_giveammo_noweapon_found"] = "ל-%s אין נשק כזה", - ["command_giveammo_weapon"] = "שם הנשק", - ["command_giveammo_ammo"] = "כמות תחמושת", - ["tpm_nowaypoint"] = "אין נקודת דרך מוגדרת", - ["tpm_success"] = "הועברת בהצלחה", + -- Commands + ["command_bring"] = "הבא שחקן אליך", + ["command_car"] = "צור רכב", + ["command_car_car"] = "דגם הרכב או האש", + ["command_cardel"] = "הסר רכבים בקרבת מקום", + ["command_cardel_radius"] = "הסר את כל הרכבים ברדיוס המצוין", + ["command_repair"] = "תקן את הרכב שלך", + ["command_repair_success"] = "רכב תוקן בהצלחה", + ["command_repair_success_target"] = "אדמין תיקן לך את הרכב", + ["command_clear"] = 'נקה טקסט צ"אט', + ["command_clearall"] = 'נקה טקסט צ"אט לכל השחקנים', + ["command_clearinventory"] = "הסר את כל הפריטים מהמלאי של השחקן", + ["command_clearloadout"] = "הסר את כל הנשקים מהשחקן", + ["command_freeze"] = "הקפא שחקן", + ["command_unfreeze"] = "בטל הקפאה של שחקן", + ["command_giveaccountmoney"] = "תן כסף לחשבון מסוים", + ["command_giveaccountmoney_account"] = "חשבון להוספה", + ["command_giveaccountmoney_amount"] = "כמות להוספה", + ["command_giveaccountmoney_invalid"] = "שם חשבון לא חוקי", + ["command_removeaccountmoney"] = "הסר כסף מחשבון מסוים", + ["command_removeaccountmoney_account"] = "חשבון להסרה ממנו", + ["command_removeaccountmoney_amount"] = "כמות להסרה", + ["command_removeaccountmoney_invalid"] = "שם חשבון לא חוקי", + ["command_giveitem"] = "תן לשחקן פריט", + ["command_giveitem_item"] = "שם הפריט", + ["command_giveitem_count"] = "כמות", + ["command_giveweapon"] = "תן לשחקן נשק", + ["command_giveweapon_weapon"] = "שם הנשק", + ["command_giveweapon_ammo"] = "כמות תחמושת", + ["command_giveweapon_hasalready"] = "לשחקן כבר יש נשק זה", + ["command_giveweaponcomponent"] = "תן רכיב נשק לשחקן", + ["command_giveweaponcomponent_component"] = "שם הרכיב", + ["command_giveweaponcomponent_invalid"] = "רכיב נשק לא חוקי", + ["command_giveweaponcomponent_hasalready"] = "לשחקן כבר יש רכיב נשק זה", + ["command_giveweaponcomponent_missingweapon"] = "לשחקן אין נשק זה", + ["command_goto"] = "התעבר אל שחקן", + ["command_kill"] = "הרוג שחקן", + ["command_save"] = "שמור נתונים של שחקן בכפיה", + ["command_saveall"] = "שמור נתונים של כל השחקנים", + ["command_setaccountmoney"] = "קבע כמות כסף בחשבון מסוים", + ["command_setaccountmoney_amount"] = "כמות כסף להגדרה", + ["command_setcoords"] = "התעבר לקואורדינטות מסוימות", + ["command_setcoords_x"] = "ערך x", + ["command_setcoords_y"] = "ערך y", + ["command_setcoords_z"] = "ערך z", + ["command_setjob"] = "קבע משרה לשחקן", + ["command_setjob_job"] = "שם המשרה", + ["command_setjob_grade"] = "דרגת המשרה", + ["command_setjob_invalid"] = "המשרה, הדרגה או שניהם אינם חוקיים", + ["command_setgroup"] = "קבע קבוצת הרשאות לשחקן", + ["command_setgroup_group"] = "שם קבוצת הפקודות", + ["commanderror_argumentmismatch"] = "כמות וסוגי הארגומנטים אינם תואמים (נשלח %s, נדרש %s)", + ["commanderror_argumentmismatch_number"] = "טיפוס ארגומנט #%s לא תקין (נשלח מחרוזת, נדרש מספר)", + ["commanderror_argumentmismatch_string"] = "טיפוס ארגומנט #%s לא תקין (נשלח מספר, נדרש מחרוזת)", + ["commanderror_invaliditem"] = "שם פריט לא חוקי", + ["commanderror_invalidweapon"] = "נשק לא חוקי", + ["commanderror_console"] = "לא ניתן להפעיל פקודה מהקונסול", + ["commanderror_invalidcommand"] = "פקודה לא חוקית - /%s", + ["commanderror_invalidplayerid"] = "אין שחקן עם מזהה זה מחובר", + ["commandgeneric_playerid"] = "מזהה השחקן בשרת", + ["command_giveammo_noweapon_found"] = "ל-%s אין נשק כזה", + ["command_giveammo_weapon"] = "שם הנשק", + ["command_giveammo_ammo"] = "כמות תחמושת", + ["tpm_nowaypoint"] = "אין נקודת דרך מוגדרת", + ["tpm_success"] = "הועברת בהצלחה", - ["noclip_message"] = "מצב Noclip %s", - ["enabled"] = "~g~מאופשר~s~", - ["disabled"] = "~r~מנוטרל~s~", + ["noclip_message"] = "מצב Noclip %s", + ["enabled"] = "~g~מאופשר~s~", + ["disabled"] = "~r~מנוטרל~s~", - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "₪%s", + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "₪%s", - -- Weapons + -- Weapons - -- Melee - ["weapon_dagger"] = "סכין", - ["weapon_bat"] = "כותרת", - ["weapon_battleaxe"] = "גרזן קרב", - ["weapon_bottle"] = "בקבוק", - ["weapon_crowbar"] = "מפתח ברזל", - ["weapon_flashlight"] = "פנס יד", - ["weapon_golfclub"] = "מקל גולף", - ["weapon_hammer"] = "פטיש", - ["weapon_hatchet"] = "גרזן", - ["weapon_knife"] = "סכין", - ["weapon_knuckle"] = "עצמאות", - ["weapon_machete"] = 'מאצ"טה', - ["weapon_nightstick"] = "מקל לילה", - ["weapon_wrench"] = "מפתח אינגליזי", - ["weapon_poolcue"] = "מקל בריכה", - ["weapon_stone_hatchet"] = "גרזן אבן", - ["weapon_switchblade"] = "סכין קפיצית", - -- Handguns - ["weapon_appistol"] = "אקדח AP", - ["weapon_ceramicpistol"] = "אקדח קרמי", - ["weapon_combatpistol"] = "אקדח קרב", - ["weapon_doubleaction"] = "רבולבר פעולה כפולה", - ["weapon_navyrevolver"] = "רבולבר צי", - ["weapon_flaregun"] = "אקדח זיקוקים", - ["weapon_gadgetpistol"] = "אקדח חומרה", - ["weapon_heavypistol"] = "אקדח כבד", - ["weapon_revolver"] = "רבולבר כבד", - ["weapon_revolver_mk2"] = "רבולבר כבד MK2", - ["weapon_marksmanpistol"] = "אקדח צלף", - ["weapon_pistol"] = "אקדח", - ["weapon_pistol_mk2"] = "אקדח MK2", - ["weapon_pistol50"] = "אקדח .50", - ["weapon_snspistol"] = "אקדח SNS", - ["weapon_snspistol_mk2"] = "אקדח SNS MK2", - ["weapon_stungun"] = "טייזר", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "אקדח וינטג", + -- Melee + ["weapon_dagger"] = "סכין", + ["weapon_bat"] = "כותרת", + ["weapon_battleaxe"] = "גרזן קרב", + ["weapon_bottle"] = "בקבוק", + ["weapon_crowbar"] = "מפתח ברזל", + ["weapon_flashlight"] = "פנס יד", + ["weapon_golfclub"] = "מקל גולף", + ["weapon_hammer"] = "פטיש", + ["weapon_hatchet"] = "גרזן", + ["weapon_knife"] = "סכין", + ["weapon_knuckle"] = "עצמאות", + ["weapon_machete"] = 'מאצ"טה', + ["weapon_nightstick"] = "מקל לילה", + ["weapon_wrench"] = "מפתח אינגליזי", + ["weapon_poolcue"] = "מקל בריכה", + ["weapon_stone_hatchet"] = "גרזן אבן", + ["weapon_switchblade"] = "סכין קפיצית", + -- Handguns + ["weapon_appistol"] = "אקדח AP", + ["weapon_ceramicpistol"] = "אקדח קרמי", + ["weapon_combatpistol"] = "אקדח קרב", + ["weapon_doubleaction"] = "רבולבר פעולה כפולה", + ["weapon_navyrevolver"] = "רבולבר צי", + ["weapon_flaregun"] = "אקדח זיקוקים", + ["weapon_gadgetpistol"] = "אקדח חומרה", + ["weapon_heavypistol"] = "אקדח כבד", + ["weapon_revolver"] = "רבולבר כבד", + ["weapon_revolver_mk2"] = "רבולבר כבד MK2", + ["weapon_marksmanpistol"] = "אקדח צלף", + ["weapon_pistol"] = "אקדח", + ["weapon_pistol_mk2"] = "אקדח MK2", + ["weapon_pistol50"] = "אקדח .50", + ["weapon_snspistol"] = "אקדח SNS", + ["weapon_snspistol_mk2"] = "אקדח SNS MK2", + ["weapon_stungun"] = "טייזר", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "אקדח וינטג", - -- Shotguns - ["weapon_assaultshotgun"] = "רובה סטורם", - ["weapon_autoshotgun"] = "רובה אוטומטי", - ["weapon_bullpupshotgun"] = "רובה Bullpup", - ["weapon_combatshotgun"] = "רובה קרב", - ["weapon_dbshotgun"] = "רובה קנה כפול", - ["weapon_heavyshotgun"] = "רובה כבד", - ["weapon_musket"] = "רובה חלילי", - ["weapon_pumpshotgun"] = "רובה פומפה", - ["weapon_pumpshotgun_mk2"] = "רובה פומפה MK2", - ["weapon_sawnoffshotgun"] = "רובה חתוך", + -- Shotguns + ["weapon_assaultshotgun"] = "רובה סטורם", + ["weapon_autoshotgun"] = "רובה אוטומטי", + ["weapon_bullpupshotgun"] = "רובה Bullpup", + ["weapon_combatshotgun"] = "רובה קרב", + ["weapon_dbshotgun"] = "רובה קנה כפול", + ["weapon_heavyshotgun"] = "רובה כבד", + ["weapon_musket"] = "רובה חלילי", + ["weapon_pumpshotgun"] = "רובה פומפה", + ["weapon_pumpshotgun_mk2"] = "רובה פומפה MK2", + ["weapon_sawnoffshotgun"] = "רובה חתוך", - -- SMG & LMG - ["weapon_assaultsmg"] = "רובה סטורם SMG", - ["weapon_combatmg"] = "רובה סטורם MG", - ["weapon_combatmg_mk2"] = "רובה סטורם MG MK2", - ["weapon_combatpdw"] = "רובה סטורם PDW", - ["weapon_gusenberg"] = "רובה גוזנברג", - ["weapon_machinepistol"] = "אקדח מכונה", - ["weapon_mg"] = "רובה מכונה", - ["weapon_microsmg"] = "רובה מכונה מיקרו", - ["weapon_minismg"] = "רובה מכונה מיני", - ["weapon_smg"] = "רובה מכונה", - ["weapon_smg_mk2"] = "רובה מכונה MK2", - ["weapon_raycarbine"] = "רובה אור", - -- Rifles - ["weapon_advancedrifle"] = "רובה מתקדם", - ["weapon_assaultrifle"] = "רובה סטורם", - ["weapon_assaultrifle_mk2"] = "רובה סטורם MK2", - ["weapon_bullpuprifle"] = "רובה Bullpup", - ["weapon_bullpuprifle_mk2"] = "רובה Bullpup MK2", - ["weapon_carbinerifle"] = "רובה קרבין", - ["weapon_carbinerifle_mk2"] = "רובה קרבין MK2", - ["weapon_compactrifle"] = "רובה קומפקטי", - ["weapon_militaryrifle"] = "רובה צבאי", - ["weapon_specialcarbine"] = "רובה קרבין מיוחד", - ["weapon_specialcarbine_mk2"] = "רובה קרבין מיוחד MK2", - ["weapon_heavyrifle"] = "רובה כבד", + -- SMG & LMG + ["weapon_assaultsmg"] = "רובה סטורם SMG", + ["weapon_combatmg"] = "רובה סטורם MG", + ["weapon_combatmg_mk2"] = "רובה סטורם MG MK2", + ["weapon_combatpdw"] = "רובה סטורם PDW", + ["weapon_gusenberg"] = "רובה גוזנברג", + ["weapon_machinepistol"] = "אקדח מכונה", + ["weapon_mg"] = "רובה מכונה", + ["weapon_microsmg"] = "רובה מכונה מיקרו", + ["weapon_minismg"] = "רובה מכונה מיני", + ["weapon_smg"] = "רובה מכונה", + ["weapon_smg_mk2"] = "רובה מכונה MK2", + ["weapon_raycarbine"] = "רובה אור", + -- Rifles + ["weapon_advancedrifle"] = "רובה מתקדם", + ["weapon_assaultrifle"] = "רובה סטורם", + ["weapon_assaultrifle_mk2"] = "רובה סטורם MK2", + ["weapon_bullpuprifle"] = "רובה Bullpup", + ["weapon_bullpuprifle_mk2"] = "רובה Bullpup MK2", + ["weapon_carbinerifle"] = "רובה קרבין", + ["weapon_carbinerifle_mk2"] = "רובה קרבין MK2", + ["weapon_compactrifle"] = "רובה קומפקטי", + ["weapon_militaryrifle"] = "רובה צבאי", + ["weapon_specialcarbine"] = "רובה קרבין מיוחד", + ["weapon_specialcarbine_mk2"] = "רובה קרבין מיוחד MK2", + ["weapon_heavyrifle"] = "רובה כבד", - -- Sniper - ["weapon_heavysniper"] = "רובה צלפים כבד", - ["weapon_heavysniper_mk2"] = "רובה צלפים כבד MK2", - ["weapon_marksmanrifle"] = "רובה צלפים", - ["weapon_marksmanrifle_mk2"] = "רובה צלפים MK2", - ["weapon_sniperrifle"] = "רובה צלפים", + -- Sniper + ["weapon_heavysniper"] = "רובה צלפים כבד", + ["weapon_heavysniper_mk2"] = "רובה צלפים כבד MK2", + ["weapon_marksmanrifle"] = "רובה צלפים", + ["weapon_marksmanrifle_mk2"] = "רובה צלפים MK2", + ["weapon_sniperrifle"] = "רובה צלפים", - -- Heavy / Launchers - ["weapon_compactlauncher"] = "משגר קומפקטי", - ["weapon_firework"] = "משגר זיקוקים", - ["weapon_grenadelauncher"] = "משגר רימונים", - ["weapon_hominglauncher"] = "משגר חפצים", - ["weapon_minigun"] = "מיניגן", - ["weapon_railgun"] = "רובה רכבת", - ["weapon_rpg"] = "משגר רקטות", - ["weapon_rayminigun"] = "Widowmaker", + -- Heavy / Launchers + ["weapon_compactlauncher"] = "משגר קומפקטי", + ["weapon_firework"] = "משגר זיקוקים", + ["weapon_grenadelauncher"] = "משגר רימונים", + ["weapon_hominglauncher"] = "משגר חפצים", + ["weapon_minigun"] = "מיניגן", + ["weapon_railgun"] = "רובה רכבת", + ["weapon_rpg"] = "משגר רקטות", + ["weapon_rayminigun"] = "Widowmaker", - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "גלאי מתכות", - ["weapon_precisionrifle"] = "רובה דיוק", - ["weapon_tactilerifle"] = "רובה טקטילי", + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "גלאי מתכות", + ["weapon_precisionrifle"] = "רובה דיוק", + ["weapon_tactilerifle"] = "רובה טקטילי", - -- Drug wars dlc - ["weapon_candycane"] = "מקל סוכר", - ["weapon_acidpackage"] = "חומצה", - ["weapon_pistolxm3"] = "אקדח xm3", - ["weapon_railgunxm3"] = "רובה רכבת xm3", - -- Thrown - ["weapon_ball"] = "כדור בייסבול", - ["weapon_bzgas"] = "גז BZ", - ["weapon_flare"] = "זיקוק", - ["weapon_grenade"] = "רימון", - ["weapon_petrolcan"] = "גררון דלק", - ["weapon_hazardcan"] = "גררון מסוכן", - ["weapon_molotov"] = "קוקטייל מולוטוב", - ["weapon_proxmine"] = "מוקש קרבה", - ["weapon_pipebomb"] = "פצצת צינור", - ["weapon_snowball"] = "כדור שלג", - ["weapon_stickybomb"] = "פצצה דביקה", - ["weapon_smokegrenade"] = "גז דמעות", + -- Drug wars dlc + ["weapon_candycane"] = "מקל סוכר", + ["weapon_acidpackage"] = "חומצה", + ["weapon_pistolxm3"] = "אקדח xm3", + ["weapon_railgunxm3"] = "רובה רכבת xm3", + -- Thrown + ["weapon_ball"] = "כדור בייסבול", + ["weapon_bzgas"] = "גז BZ", + ["weapon_flare"] = "זיקוק", + ["weapon_grenade"] = "רימון", + ["weapon_petrolcan"] = "גררון דלק", + ["weapon_hazardcan"] = "גררון מסוכן", + ["weapon_molotov"] = "קוקטייל מולוטוב", + ["weapon_proxmine"] = "מוקש קרבה", + ["weapon_pipebomb"] = "פצצת צינור", + ["weapon_snowball"] = "כדור שלג", + ["weapon_stickybomb"] = "פצצה דביקה", + ["weapon_smokegrenade"] = "גז דמעות", - -- Special - ["weapon_fireextinguisher"] = "מטף כיבוי", - ["weapon_digiscanner"] = "סורק דיגיטלי", - ["weapon_garbagebag"] = "שקית זבל", - ["weapon_handcuffs"] = "כפפות", - ["gadget_nightvision"] = "ראיה לילית", - ["gadget_parachute"] = "צניחה", + -- Special + ["weapon_fireextinguisher"] = "מטף כיבוי", + ["weapon_digiscanner"] = "סורק דיגיטלי", + ["weapon_garbagebag"] = "שקית זבל", + ["weapon_handcuffs"] = "כפפות", + ["gadget_nightvision"] = "ראיה לילית", + ["gadget_parachute"] = "צניחה", - -- Weapon Components - ["component_knuckle_base"] = "דגם בסיסי", - ["component_knuckle_pimp"] = "הפימפ", - ["component_knuckle_ballas"] = "הבאלס", - ["component_knuckle_dollar"] = "ההאסטלר", - ["component_knuckle_diamond"] = "הרוק", - ["component_knuckle_hate"] = "השונא", - ["component_knuckle_love"] = "האוהב", - ["component_knuckle_player"] = "השחקן", - ["component_knuckle_king"] = "המלך", - ["component_knuckle_vagos"] = "הואגוס", - ["component_luxary_finish"] = "גימור מפואר", + -- Weapon Components + ["component_knuckle_base"] = "דגם בסיסי", + ["component_knuckle_pimp"] = "הפימפ", + ["component_knuckle_ballas"] = "הבאלס", + ["component_knuckle_dollar"] = "ההאסטלר", + ["component_knuckle_diamond"] = "הרוק", + ["component_knuckle_hate"] = "השונא", + ["component_knuckle_love"] = "האוהב", + ["component_knuckle_player"] = "השחקן", + ["component_knuckle_king"] = "המלך", + ["component_knuckle_vagos"] = "הואגוס", + ["component_luxary_finish"] = "גימור מפואר", - ["component_handle_default"] = "ידית רגילה", - ["component_handle_vip"] = "ידית VIP", - ["component_handle_bodyguard"] = "ידית שומר גוף", + ["component_handle_default"] = "ידית רגילה", + ["component_handle_vip"] = "ידית VIP", + ["component_handle_bodyguard"] = "ידית שומר גוף", - ["component_vip_finish"] = "גימור VIP", - ["component_bodyguard_finish"] = "גימור שומר גוף", + ["component_vip_finish"] = "גימור VIP", + ["component_bodyguard_finish"] = "גימור שומר גוף", - ["component_camo_finish"] = "צפיעה דיגיטלית", - ["component_camo_finish2"] = "צפיעה צבעים מעורבים", - ["component_camo_finish3"] = "צפיעה יערותית", - ["component_camo_finish4"] = "צפיעה גולגולת", - ["component_camo_finish5"] = "צפיעה Sessanta Nove", - ["component_camo_finish6"] = "צפיעה Perseus", - ["component_camo_finish7"] = "צפיעה נמרים", - ["component_camo_finish8"] = "צפיעה זברה", - ["component_camo_finish9"] = "צפיעה גיאומטרית", - ["component_camo_finish10"] = "צפיעה Boom", - ["component_camo_finish11"] = "צפיעה פטריוטית", + ["component_camo_finish"] = "צפיעה דיגיטלית", + ["component_camo_finish2"] = "צפיעה צבעים מעורבים", + ["component_camo_finish3"] = "צפיעה יערותית", + ["component_camo_finish4"] = "צפיעה גולגולת", + ["component_camo_finish5"] = "צפיעה Sessanta Nove", + ["component_camo_finish6"] = "צפיעה Perseus", + ["component_camo_finish7"] = "צפיעה נמרים", + ["component_camo_finish8"] = "צפיעה זברה", + ["component_camo_finish9"] = "צפיעה גיאומטרית", + ["component_camo_finish10"] = "צפיעה Boom", + ["component_camo_finish11"] = "צפיעה פטריוטית", - ["component_camo_slide_finish"] = "צפיעה דיגיטלית למחצלה", - ["component_camo_slide_finish2"] = "צפיעה צבעים מעורבים למחצלה", - ["component_camo_slide_finish3"] = "צפיעה יערותית למחצלה", - ["component_camo_slide_finish4"] = "צפיעה גולגולת למחצלה", - ["component_camo_slide_finish5"] = "צפיעה Sessanta Nove למחצלה", - ["component_camo_slide_finish6"] = "צפיעה Perseus למחצלה", - ["component_camo_slide_finish7"] = "צפיעה נמרים למחצלה", - ["component_camo_slide_finish8"] = "צפיעה זברה למחצלה", - ["component_camo_slide_finish9"] = "צפיעה גיאומטרית למחצלה", - ["component_camo_slide_finish10"] = "צפיעה Boom למחצלה", - ["component_camo_slide_finish11"] = "צפיעה פטריוטית למחצלה", - ["component_clip_default"] = "מחצירה רגילה", - ["component_clip_extended"] = "מחצירה מורחבת", - ["component_clip_drum"] = "מחצירה תוף", - ["component_clip_box"] = "מחצירה קופסה", + ["component_camo_slide_finish"] = "צפיעה דיגיטלית למחצלה", + ["component_camo_slide_finish2"] = "צפיעה צבעים מעורבים למחצלה", + ["component_camo_slide_finish3"] = "צפיעה יערותית למחצלה", + ["component_camo_slide_finish4"] = "צפיעה גולגולת למחצלה", + ["component_camo_slide_finish5"] = "צפיעה Sessanta Nove למחצלה", + ["component_camo_slide_finish6"] = "צפיעה Perseus למחצלה", + ["component_camo_slide_finish7"] = "צפיעה נמרים למחצלה", + ["component_camo_slide_finish8"] = "צפיעה זברה למחצלה", + ["component_camo_slide_finish9"] = "צפיעה גיאומטרית למחצלה", + ["component_camo_slide_finish10"] = "צפיעה Boom למחצלה", + ["component_camo_slide_finish11"] = "צפיעה פטריוטית למחצלה", + ["component_clip_default"] = "מחצירה רגילה", + ["component_clip_extended"] = "מחצירה מורחבת", + ["component_clip_drum"] = "מחצירה תוף", + ["component_clip_box"] = "מחצירה קופסה", - ["component_scope_holo"] = "כוונת הולוגרפית", - ["component_scope_small"] = "כוונת קטנה", - ["component_scope_medium"] = "כוונת בינונית", - ["component_scope_large"] = "כוונת גדולה", - ["component_scope"] = "כוונת מותקנת", - ["component_scope_advanced"] = "כוונת מתקדמת", - ["component_ironsights"] = "כוונת ברזל", + ["component_scope_holo"] = "כוונת הולוגרפית", + ["component_scope_small"] = "כוונת קטנה", + ["component_scope_medium"] = "כוונת בינונית", + ["component_scope_large"] = "כוונת גדולה", + ["component_scope"] = "כוונת מותקנת", + ["component_scope_advanced"] = "כוונת מתקדמת", + ["component_ironsights"] = "כוונת ברזל", - ["component_suppressor"] = "מרגיע", - ["component_compensator"] = "פיצוי", + ["component_suppressor"] = "מרגיע", + ["component_compensator"] = "פיצוי", - ["component_muzzle_flat"] = "מרסור שטוח", - ["component_muzzle_tactical"] = "מרסור טקטי", - ["component_muzzle_fat"] = "מרסור עגלגל", - ["component_muzzle_precision"] = "מרסור מדויק", - ["component_muzzle_heavy"] = "מרסור כבד", - ["component_muzzle_slanted"] = "מרסור מוטה", - ["component_muzzle_split"] = "מרסור פצול", - ["component_muzzle_squared"] = "מרסור מרובע", + ["component_muzzle_flat"] = "מרסור שטוח", + ["component_muzzle_tactical"] = "מרסור טקטי", + ["component_muzzle_fat"] = "מרסור עגלגל", + ["component_muzzle_precision"] = "מרסור מדויק", + ["component_muzzle_heavy"] = "מרסור כבד", + ["component_muzzle_slanted"] = "מרסור מוטה", + ["component_muzzle_split"] = "מרסור פצול", + ["component_muzzle_squared"] = "מרסור מרובע", - ["component_flashlight"] = "פנס", - ["component_grip"] = "אחיזה", + ["component_flashlight"] = "פנס", + ["component_grip"] = "אחיזה", - ["component_barrel_default"] = "עצם רגיל", - ["component_barrel_heavy"] = "עצם כבד", + ["component_barrel_default"] = "עצם רגיל", + ["component_barrel_heavy"] = "עצם כבד", - ["component_ammo_tracer"] = "כדורים עקובים", - ["component_ammo_incendiary"] = "כדורים מדליקים", - ["component_ammo_hollowpoint"] = "כדורים חדים", - ["component_ammo_fmj"] = "כדורים FMJ", - ["component_ammo_armor"] = "כדורים חודרי משרוע", - ["component_ammo_explosive"] = "כדורים חודרי משרוע מדליקים", + ["component_ammo_tracer"] = "כדורים עקובים", + ["component_ammo_incendiary"] = "כדורים מדליקים", + ["component_ammo_hollowpoint"] = "כדורים חדים", + ["component_ammo_fmj"] = "כדורים FMJ", + ["component_ammo_armor"] = "כדורים חודרי משרוע", + ["component_ammo_explosive"] = "כדורים חודרי משרוע מדליקים", - ["component_shells_default"] = "גלעינים רגילים", - ["component_shells_incendiary"] = "גלעינים מדליקים", - ["component_shells_armor"] = "גלעינים פלדלים", - ["component_shells_hollowpoint"] = "גלעינים חדים", - ["component_shells_explosive"] = "גלעינים מתפוצצים", + ["component_shells_default"] = "גלעינים רגילים", + ["component_shells_incendiary"] = "גלעינים מדליקים", + ["component_shells_armor"] = "גלעינים פלדלים", + ["component_shells_hollowpoint"] = "גלעינים חדים", + ["component_shells_explosive"] = "גלעינים מתפוצצים", - -- Weapon Ammo - ["ammo_rounds"] = "כדור(ים)", - ["ammo_shells"] = "גלעין(ים)", - ["ammo_charge"] = "טעינה", - ["ammo_petrol"] = "גלונים של דלק", - ["ammo_firework"] = "זיקוק(ים)", - ["ammo_rockets"] = "טיל(ים)", - ["ammo_grenadelauncher"] = "רימון(ים)", - ["ammo_grenade"] = "רימון(ים)", - ["ammo_stickybomb"] = "פצצה/ות", - ["ammo_pipebomb"] = "פצצה/ות", - ["ammo_smokebomb"] = "פצצה/ות", - ["ammo_molotov"] = "קוקטייל(ים)", - ["ammo_proxmine"] = "מוקש/ים", - ["ammo_bzgas"] = "פח/ית", - ["ammo_ball"] = "כדור/ים", - ["ammo_snowball"] = "כדור/ים שלג", - ["ammo_flare"] = "זיקוק/ים", - ["ammo_flaregun"] = "זיקוק/ים", + -- Weapon Ammo + ["ammo_rounds"] = "כדור(ים)", + ["ammo_shells"] = "גלעין(ים)", + ["ammo_charge"] = "טעינה", + ["ammo_petrol"] = "גלונים של דלק", + ["ammo_firework"] = "זיקוק(ים)", + ["ammo_rockets"] = "טיל(ים)", + ["ammo_grenadelauncher"] = "רימון(ים)", + ["ammo_grenade"] = "רימון(ים)", + ["ammo_stickybomb"] = "פצצה/ות", + ["ammo_pipebomb"] = "פצצה/ות", + ["ammo_smokebomb"] = "פצצה/ות", + ["ammo_molotov"] = "קוקטייל(ים)", + ["ammo_proxmine"] = "מוקש/ים", + ["ammo_bzgas"] = "פח/ית", + ["ammo_ball"] = "כדור/ים", + ["ammo_snowball"] = "כדור/ים שלג", + ["ammo_flare"] = "זיקוק/ים", + ["ammo_flaregun"] = "זיקוק/ים", - -- Weapon Tints - ["tint_default"] = "צבע רגיל", - ["tint_green"] = "צבע ירוק", - ["tint_gold"] = "צבע זהב", - ["tint_pink"] = "צבע ורוד", - ["tint_army"] = "צבע צבאי", - ["tint_lspd"] = "צבע כחול", - ["tint_orange"] = "צבע כתום", - ["tint_platinum"] = "צבע פלטינה", + -- Weapon Tints + ["tint_default"] = "צבע רגיל", + ["tint_green"] = "צבע ירוק", + ["tint_gold"] = "צבע זהב", + ["tint_pink"] = "צבע ורוד", + ["tint_army"] = "צבע צבאי", + ["tint_lspd"] = "צבע כחול", + ["tint_orange"] = "צבע כתום", + ["tint_platinum"] = "צבע פלטינה", } diff --git a/server-data/resources/[esx]/es_extended/locales/hu.lua b/server-data/resources/[esx]/es_extended/locales/hu.lua index 1f5f81b92..6971d6623 100644 --- a/server-data/resources/[esx]/es_extended/locales/hu.lua +++ b/server-data/resources/[esx]/es_extended/locales/hu.lua @@ -1,381 +1,381 @@ Locales["hu"] = { - -- Inventory - ["inventory"] = "Inventory ( Súly %s / %s )", - ["use"] = "Használ", - ["give"] = "Átad", - ["remove"] = "Eldob", - ["return"] = "Visszatérés", - ["give_to"] = "Adni valakinek", - ["amount"] = "Mennyiség", - ["giveammo"] = "Lőszer adás", - ["amountammo"] = "Lőszer mennyiség", - ["noammo"] = "Nincsen több lövedéked!", - ["gave_item"] = "Átadtál: %sx %s neki: %s", - ["received_item"] = "Kaptál: %sx %s töle: %s", - ["gave_weapon"] = "Átadtál: %s neki: %s", - ["gave_weapon_ammo"] = "Átadtál ~o~%sx %s %s neki: %s", - ["gave_weapon_withammo"] = "Átadtál %s ~o~%sx %s neki: %s", - ["gave_weapon_hasalready"] = "%s már rendelkezik %s", - ["gave_weapon_noweapon"] = "%s nincsen ilyen fegyere", - ["received_weapon"] = "Kaptál: %s töle: %s", - ["received_weapon_ammo"] = "Kaptál ~o~%sx %s %s töle: %s", - ["received_weapon_withammo"] = "Kaptál %s ~o~%sx %s töle: %s", - ["received_weapon_hasalready"] = "%s megpróbálta átadni a következöt: %s, nem már van rendelkezel egy ilyennel", - ["received_weapon_noweapon"] = "%s átakart adni %s, de nincsen ilyen fegyvered", - ["gave_account_money"] = "Átadtál: $%s (%s) neki: %s", - ["received_account_money"] = "Kaptál: $%s (%s) töle: %s", - ["amount_invalid"] = "Érvénytelen mennyiség", - ["players_nearby"] = "Nincsen játékos a közeledben", - ["ex_inv_lim"] = "Nincsen elég szabad helyed %s", - ["imp_invalid_quantity"] = "Érvénytelen mennyiség", - ["imp_invalid_amount"] = "Érvénytelen összeg", - ["threw_standard"] = "Kidobtál: %sx %s", - ["threw_account"] = "Kidobtál: $%s %s", - ["threw_weapon"] = "Kidobtál: %s", - ["threw_weapon_ammo"] = "Kidobtál: %s ~o~%sx %s", - ["threw_weapon_already"] = "Van már ilyen fegyvered", - ["threw_cannot_pickup"] = "Nincsen elég szabad helyed", - ["threw_pickup_prompt"] = "E hogy felvedd", - - -- Key mapping - ["keymap_showinventory"] = "Leltár mutatása", - - -- Salary related - ["received_salary"] = "Megkaptad a fizetésed: $%s", - ["received_help"] = "Megkaptad a segélyt: $%s", - ["company_nomoney"] = "Nem kaptál fizetést, mert a frakciónak nincs elég pénze!", - ["received_paycheck"] = "Fizetésed érkezett!", - ["bank"] = "maze Bank", - ["account_bank"] = "bank", - ["account_black_money"] = "Piszkos pénz", - ["account_money"] = "Készpénz", - - ["act_imp"] = "Érvénytelen mennyiség", - ["in_vehicle"] = "Nem tudod átadni, mivel benne ül a jármüben", - ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", - - -- Commands - ["command_bring"] = "Játékos magadhoz teleportálása", - ["command_car"] = "Jármű lehívása", - ["command_car_car"] = "Jármű név vagy hash", - ["command_cardel"] = "Közeli járművek törlése", - ["command_cardel_radius"] = "Megadott radiusban lévő járművek törlése", - ["command_repair"] = "Repair your vehicle", - ["command_repair_success"] = "Successfully repaired vehicle", - ["command_repair_success_target"] = "An admin repaired your vehicle", - ["command_clear"] = "Chat ürítése", - ["command_clearall"] = "Chat ürítése minden játékosnál", - ["command_clearinventory"] = "Minden tárgy törlése a játékos inventoryból", - ["command_clearloadout"] = "Minden fegyver elvétele a játékostól", - ["command_freeze"] = "Játékos fagyasztása", - ["command_unfreeze"] = "Játékos kiolvasztása", - ["command_giveaccountmoney"] = "Pénz adás a megadott típusban", - ["command_giveaccountmoney_account"] = "Típus", - ["command_giveaccountmoney_amount"] = "Mennyiség", - ["command_giveaccountmoney_invalid"] = "Megadott típus hibás", - ["command_giveitem"] = "Tárgy adás a játékosnak", - ["command_giveitem_item"] = "Tárgy neve", - ["command_giveitem_count"] = "Mennyiség", - ["command_giveweapon"] = "Fegyver adás játékosnak", - ["command_giveweapon_weapon"] = "Fegyver neve", - ["command_giveweapon_ammo"] = "Lőszer mennyiség", - ["command_giveweapon_hasalready"] = "Játékosnak már van ilyen fegyvere", - ["command_giveweaponcomponent"] = "Fegyver kiegészítő adás a játékosnak", - ["command_giveweaponcomponent_component"] = "Kiegészítő neve", - ["command_giveweaponcomponent_invalid"] = "Érvénytelen fegyver kiegészítő", - ["command_giveweaponcomponent_hasalready"] = "Játékosnak már van ilyen fegyver kiegészítője", - ["command_giveweaponcomponent_missingweapon"] = "Játékosnak nincs ilyen fegyvere", - ["command_goto"] = "Teleportálás játékoshoz", - ["command_kill"] = "Játékos megölése", - ["command_save"] = "Játékos adatainak mentése", - ["command_saveall"] = "Összes játékos adatainak mentése", - ["command_setaccountmoney"] = "Játékos pénzének beállítása megadott típusban", - ["command_setaccountmoney_amount"] = "Mennyiség", - ["command_setcoords"] = "Teleportálás megadott kordinátára", - ["command_setcoords_x"] = "X érték", - ["command_setcoords_y"] = "Y érték", - ["command_setcoords_z"] = "Z érték", - ["command_setjob"] = "Játékos munkájának beállítása", - ["command_setjob_job"] = "Munka neve", - ["command_setjob_grade"] = "Rang", - ["command_setjob_invalid"] = "Munka név vagy rang érvénytelen", - ["command_setgroup"] = "Játékos jogosultsági csoportjának beállítása", - ["command_setgroup_group"] = "Csoport neve", - ["commanderror_argumentmismatch"] = "Érvénytelen argumentumszám (%s megadva, %s szükséges)", - ["commanderror_argumentmismatch_number"] = "Érvénytelen argumentum #%s adat típus (szöveg megadva, szám szükséges)", - ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", - ["commanderror_invaliditem"] = "Érvénytelen tárgy", - ["commanderror_invalidweapon"] = "Érvénytelen fegyver", - ["commanderror_console"] = "Parancs nem használható konzolból", - ["commanderror_invalidcommand"] = "Érvénytelen parancs - /%s", - ["commanderror_invalidplayerid"] = "Megadott játékos nem online.", - ["commandgeneric_playerid"] = "Játékos Szerver Id", - ["command_giveammo_noweapon_found"] = "Nincs ilyen fegyvered: %s", - ["command_giveammo_weapon"] = "Fegyver név", - ["command_giveammo_ammo"] = "Lőszer mennyiség", - ["tpm_nowaypoint"] = "Nincs kijelölve pozíció!", - ["tpm_success"] = "Sikeres teleportálás", - - ["noclip_message"] = "Noclip %s", - ["enabled"] = "~g~engedélyezve~s~", - ["disabled"] = "~r~letiltva~s~", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "$%s", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "Dagger", - ["weapon_bat"] = "Bat", - ["weapon_battleaxe"] = "Battle Axe", - ["weapon_bottle"] = "Bottle", - ["weapon_crowbar"] = "Crowbar", - ["weapon_flashlight"] = "Flashlight", - ["weapon_golfclub"] = "Golf Club", - ["weapon_hammer"] = "Hammer", - ["weapon_hatchet"] = "Hatchet", - ["weapon_knife"] = "Knife", - ["weapon_knuckle"] = "Knuckledusters", - ["weapon_machete"] = "Machete", - ["weapon_nightstick"] = "Nightstick", - ["weapon_wrench"] = "Pipe Wrench", - ["weapon_poolcue"] = "Pool Cue", - ["weapon_stone_hatchet"] = "Stone Hatchet", - ["weapon_switchblade"] = "Switchblade", - - -- Handguns - ["weapon_appistol"] = "AP Pistol", - ["weapon_ceramicpistol"] = "Ceramic Pistol", - ["weapon_combatpistol"] = "Combat Pistol", - ["weapon_doubleaction"] = "Double-Action Revolver", - ["weapon_navyrevolver"] = "Navy Revolver", - ["weapon_flaregun"] = "Flaregun", - ["weapon_gadgetpistol"] = "Gadget Pistol", - ["weapon_heavypistol"] = "Heavy Pistol", - ["weapon_revolver"] = "Heavy Revolver", - ["weapon_revolver_mk2"] = "Heavy Revolver MK2", - ["weapon_marksmanpistol"] = "Marksman Pistol", - ["weapon_pistol"] = "Pistol", - ["weapon_pistol_mk2"] = "Pistol MK2", - ["weapon_pistol50"] = "Pistol .50", - ["weapon_snspistol"] = "SNS Pistol", - ["weapon_snspistol_mk2"] = "SNS Pistol MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "Vintage Pistol", - - -- Shotguns - ["weapon_assaultshotgun"] = "Assault Shotgun", - ["weapon_autoshotgun"] = "Auto Shotgun", - ["weapon_bullpupshotgun"] = "Bullpup Shotgun", - ["weapon_combatshotgun"] = "Combat Shotgun", - ["weapon_dbshotgun"] = "Double Barrel Shotgun", - ["weapon_heavyshotgun"] = "Heavy Shotgun", - ["weapon_musket"] = "Musket", - ["weapon_pumpshotgun"] = "Pump Shotgun", - ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", - ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", - - -- SMG & LMG - ["weapon_assaultsmg"] = "Assault SMG", - ["weapon_combatmg"] = "Combat MG", - ["weapon_combatmg_mk2"] = "Combat MG MK2", - ["weapon_combatpdw"] = "Combat PDW", - ["weapon_gusenberg"] = "Gusenberg Sweeper", - ["weapon_machinepistol"] = "Machine Pistol", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Micro SMG", - ["weapon_minismg"] = "Mini SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Unholy Hellbringer", - - -- Rifles - ["weapon_advancedrifle"] = "Advanced Rifle", - ["weapon_assaultrifle"] = "Assault Rifle", - ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", - ["weapon_bullpuprifle"] = "Bullpup Rifle", - ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", - ["weapon_carbinerifle"] = "Carbine Rifle", - ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", - ["weapon_compactrifle"] = "Compact Rifle", - ["weapon_militaryrifle"] = "Military Rifle", - ["weapon_specialcarbine"] = "Special Carbine", - ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", - ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated - - -- Sniper - ["weapon_heavysniper"] = "Heavy Sniper", - ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", - ["weapon_marksmanrifle"] = "Marksman Rifle", - ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", - ["weapon_sniperrifle"] = "Sniper Rifle", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Compact Launcher", - ["weapon_firework"] = "Firework Launcher", - ["weapon_grenadelauncher"] = "Grenade Launcher", - ["weapon_hominglauncher"] = "Homing Launcher", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Railgun", - ["weapon_rpg"] = "Rocket Launcher", - ["weapon_rayminigun"] = "Widowmaker", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "Fémkereső", - ["weapon_precisionrifle"] = "Precision Rifle", - ["weapon_tactilerifle"] = "Service Carbine", - - -- Drug Wars DLC - ["weapon_candycane"] = "Candy Cane", -- not translated - ["weapon_acidpackage"] = "Acid Package", -- not translated - ["weapon_pistolxm3"] = "WM 29 Pistol", -- not translated - ["weapon_railgunxm3"] = "Railgun", -- not translated - - -- Thrown - ["weapon_ball"] = "Baseball", - ["weapon_bzgas"] = "BZ Gas", - ["weapon_flare"] = "Flare", - ["weapon_grenade"] = "Grenade", - ["weapon_petrolcan"] = "Jerrycan", - ["weapon_hazardcan"] = "Hazardous Jerrycan", - ["weapon_molotov"] = "Molotov Cocktail", - ["weapon_proxmine"] = "Proximity Mine", - ["weapon_pipebomb"] = "Pipe Bomb", - ["weapon_snowball"] = "Snowball", - ["weapon_stickybomb"] = "Sticky Bomb", - ["weapon_smokegrenade"] = "Tear Gas", - - -- Special - ["weapon_fireextinguisher"] = "Fire Extinguisher", - ["weapon_digiscanner"] = "Digital Scanner", - ["weapon_garbagebag"] = "Garbage Bag", - ["weapon_handcuffs"] = "Handcuffs", - ["gadget_nightvision"] = "Night Vision", - ["gadget_parachute"] = "parachute", - - -- Weapon Components - ["component_knuckle_base"] = "base Model", - ["component_knuckle_pimp"] = "the Pimp", - ["component_knuckle_ballas"] = "the Ballas", - ["component_knuckle_dollar"] = "the Hustler", - ["component_knuckle_diamond"] = "the Rock", - ["component_knuckle_hate"] = "the Hater", - ["component_knuckle_love"] = "the Lover", - ["component_knuckle_player"] = "the Player", - ["component_knuckle_king"] = "the King", - ["component_knuckle_vagos"] = "the Vagos", - - ["component_luxary_finish"] = "luxary Weapon Finish", - - ["component_handle_default"] = "default Handle", - ["component_handle_vip"] = "vIP Handle", - ["component_handle_bodyguard"] = "bodyguard Handle", - - ["component_vip_finish"] = "vIP Finish", - ["component_bodyguard_finish"] = "bodyguard Finish", - - ["component_camo_finish"] = "digital Camo", - ["component_camo_finish2"] = "brushstroke Camo", - ["component_camo_finish3"] = "woodland Camo", - ["component_camo_finish4"] = "skull Camo", - ["component_camo_finish5"] = "sessanta Nove Camo", - ["component_camo_finish6"] = "perseus Camo", - ["component_camo_finish7"] = "leopard Camo", - ["component_camo_finish8"] = "zebra Camo", - ["component_camo_finish9"] = "geometric Camo", - ["component_camo_finish10"] = "boom Camo", - ["component_camo_finish11"] = "patriotic Camo", - - ["component_camo_slide_finish"] = "digital Slide Camo", - ["component_camo_slide_finish2"] = "brushstroke Slide Camo", - ["component_camo_slide_finish3"] = "woodland Slide Camo", - ["component_camo_slide_finish4"] = "skull Slide Camo", - ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", - ["component_camo_slide_finish6"] = "perseus Slide Camo", - ["component_camo_slide_finish7"] = "leopard Slide Camo", - ["component_camo_slide_finish8"] = "zebra Slide Camo", - ["component_camo_slide_finish9"] = "geometric Slide Camo", - ["component_camo_slide_finish10"] = "boom Slide Camo", - ["component_camo_slide_finish11"] = "patriotic Slide Camo", - - ["component_clip_default"] = "default Magazine", - ["component_clip_extended"] = "extended Magazine", - ["component_clip_drum"] = "drum Magazine", - ["component_clip_box"] = "box Magazine", - - ["component_scope_holo"] = "holographic Scope", - ["component_scope_small"] = "small Scope", - ["component_scope_medium"] = "medium Scope", - ["component_scope_large"] = "large Scope", - ["component_scope"] = "mounted Scope", - ["component_scope_advanced"] = "advanced Scope", - ["component_ironsights"] = "ironsights", - - ["component_suppressor"] = "suppressor", - ["component_compensator"] = "compensator", - - ["component_muzzle_flat"] = "flat Muzzle Brake", - ["component_muzzle_tactical"] = "tactical Muzzle Brake", - ["component_muzzle_fat"] = "fat-End Muzzle Brake", - ["component_muzzle_precision"] = "precision Muzzle Brake", - ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", - ["component_muzzle_slanted"] = "slanted Muzzle Brake", - ["component_muzzle_split"] = "split-End Muzzle Brake", - ["component_muzzle_squared"] = "squared Muzzle Brake", - - ["component_flashlight"] = "flashlight", - ["component_grip"] = "grip", - - ["component_barrel_default"] = "default Barrel", - ["component_barrel_heavy"] = "heavy Barrel", - - ["component_ammo_tracer"] = "tracer Ammo", - ["component_ammo_incendiary"] = "incendiary Ammo", - ["component_ammo_hollowpoint"] = "hollowpoint Ammo", - ["component_ammo_fmj"] = "fMJ Ammo", - ["component_ammo_armor"] = "armor Piercing Ammo", - ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", - - ["component_shells_default"] = "default Shells", - ["component_shells_incendiary"] = "dragons Breath Shells", - ["component_shells_armor"] = "steel Buckshot Shells", - ["component_shells_hollowpoint"] = "flechette Shells", - ["component_shells_explosive"] = "explosive Slug Shells", - - -- Weapon Ammo - ["ammo_rounds"] = "round(s)", - ["ammo_shells"] = "shell(s)", - ["ammo_charge"] = "charge", - ["ammo_petrol"] = "gallons of fuel", - ["ammo_firework"] = "firework(s)", - ["ammo_rockets"] = "rocket(s)", - ["ammo_grenadelauncher"] = "grenade(s)", - ["ammo_grenade"] = "grenade(s)", - ["ammo_stickybomb"] = "bomb(s)", - ["ammo_pipebomb"] = "bomb(s)", - ["ammo_smokebomb"] = "bomb(s)", - ["ammo_molotov"] = "cocktail(s)", - ["ammo_proxmine"] = "mine(s)", - ["ammo_bzgas"] = "can(s)", - ["ammo_ball"] = "ball(s)", - ["ammo_snowball"] = "snowball(s)", - ["ammo_flare"] = "flare(s)", - ["ammo_flaregun"] = "flare(s)", - - -- Weapon Tints - ["tint_default"] = "default skin", - ["tint_green"] = "green skin", - ["tint_gold"] = "gold skin", - ["tint_pink"] = "pink skin", - ["tint_army"] = "army skin", - ["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.", + -- Inventory + ["inventory"] = "Inventory ( Súly %s / %s )", + ["use"] = "Használ", + ["give"] = "Átad", + ["remove"] = "Eldob", + ["return"] = "Visszatérés", + ["give_to"] = "Adni valakinek", + ["amount"] = "Mennyiség", + ["giveammo"] = "Lőszer adás", + ["amountammo"] = "Lőszer mennyiség", + ["noammo"] = "Nincsen több lövedéked!", + ["gave_item"] = "Átadtál: %sx %s neki: %s", + ["received_item"] = "Kaptál: %sx %s töle: %s", + ["gave_weapon"] = "Átadtál: %s neki: %s", + ["gave_weapon_ammo"] = "Átadtál ~o~%sx %s %s neki: %s", + ["gave_weapon_withammo"] = "Átadtál %s ~o~%sx %s neki: %s", + ["gave_weapon_hasalready"] = "%s már rendelkezik %s", + ["gave_weapon_noweapon"] = "%s nincsen ilyen fegyere", + ["received_weapon"] = "Kaptál: %s töle: %s", + ["received_weapon_ammo"] = "Kaptál ~o~%sx %s %s töle: %s", + ["received_weapon_withammo"] = "Kaptál %s ~o~%sx %s töle: %s", + ["received_weapon_hasalready"] = "%s megpróbálta átadni a következöt: %s, nem már van rendelkezel egy ilyennel", + ["received_weapon_noweapon"] = "%s átakart adni %s, de nincsen ilyen fegyvered", + ["gave_account_money"] = "Átadtál: $%s (%s) neki: %s", + ["received_account_money"] = "Kaptál: $%s (%s) töle: %s", + ["amount_invalid"] = "Érvénytelen mennyiség", + ["players_nearby"] = "Nincsen játékos a közeledben", + ["ex_inv_lim"] = "Nincsen elég szabad helyed %s", + ["imp_invalid_quantity"] = "Érvénytelen mennyiség", + ["imp_invalid_amount"] = "Érvénytelen összeg", + ["threw_standard"] = "Kidobtál: %sx %s", + ["threw_account"] = "Kidobtál: $%s %s", + ["threw_weapon"] = "Kidobtál: %s", + ["threw_weapon_ammo"] = "Kidobtál: %s ~o~%sx %s", + ["threw_weapon_already"] = "Van már ilyen fegyvered", + ["threw_cannot_pickup"] = "Nincsen elég szabad helyed", + ["threw_pickup_prompt"] = "E hogy felvedd", + + -- Key mapping + ["keymap_showinventory"] = "Leltár mutatása", + + -- Salary related + ["received_salary"] = "Megkaptad a fizetésed: $%s", + ["received_help"] = "Megkaptad a segélyt: $%s", + ["company_nomoney"] = "Nem kaptál fizetést, mert a frakciónak nincs elég pénze!", + ["received_paycheck"] = "Fizetésed érkezett!", + ["bank"] = "maze Bank", + ["account_bank"] = "bank", + ["account_black_money"] = "Piszkos pénz", + ["account_money"] = "Készpénz", + + ["act_imp"] = "Érvénytelen mennyiség", + ["in_vehicle"] = "Nem tudod átadni, mivel benne ül a jármüben", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", + + -- Commands + ["command_bring"] = "Játékos magadhoz teleportálása", + ["command_car"] = "Jármű lehívása", + ["command_car_car"] = "Jármű név vagy hash", + ["command_cardel"] = "Közeli járművek törlése", + ["command_cardel_radius"] = "Megadott radiusban lévő járművek törlése", + ["command_repair"] = "Repair your vehicle", + ["command_repair_success"] = "Successfully repaired vehicle", + ["command_repair_success_target"] = "An admin repaired your vehicle", + ["command_clear"] = "Chat ürítése", + ["command_clearall"] = "Chat ürítése minden játékosnál", + ["command_clearinventory"] = "Minden tárgy törlése a játékos inventoryból", + ["command_clearloadout"] = "Minden fegyver elvétele a játékostól", + ["command_freeze"] = "Játékos fagyasztása", + ["command_unfreeze"] = "Játékos kiolvasztása", + ["command_giveaccountmoney"] = "Pénz adás a megadott típusban", + ["command_giveaccountmoney_account"] = "Típus", + ["command_giveaccountmoney_amount"] = "Mennyiség", + ["command_giveaccountmoney_invalid"] = "Megadott típus hibás", + ["command_giveitem"] = "Tárgy adás a játékosnak", + ["command_giveitem_item"] = "Tárgy neve", + ["command_giveitem_count"] = "Mennyiség", + ["command_giveweapon"] = "Fegyver adás játékosnak", + ["command_giveweapon_weapon"] = "Fegyver neve", + ["command_giveweapon_ammo"] = "Lőszer mennyiség", + ["command_giveweapon_hasalready"] = "Játékosnak már van ilyen fegyvere", + ["command_giveweaponcomponent"] = "Fegyver kiegészítő adás a játékosnak", + ["command_giveweaponcomponent_component"] = "Kiegészítő neve", + ["command_giveweaponcomponent_invalid"] = "Érvénytelen fegyver kiegészítő", + ["command_giveweaponcomponent_hasalready"] = "Játékosnak már van ilyen fegyver kiegészítője", + ["command_giveweaponcomponent_missingweapon"] = "Játékosnak nincs ilyen fegyvere", + ["command_goto"] = "Teleportálás játékoshoz", + ["command_kill"] = "Játékos megölése", + ["command_save"] = "Játékos adatainak mentése", + ["command_saveall"] = "Összes játékos adatainak mentése", + ["command_setaccountmoney"] = "Játékos pénzének beállítása megadott típusban", + ["command_setaccountmoney_amount"] = "Mennyiség", + ["command_setcoords"] = "Teleportálás megadott kordinátára", + ["command_setcoords_x"] = "X érték", + ["command_setcoords_y"] = "Y érték", + ["command_setcoords_z"] = "Z érték", + ["command_setjob"] = "Játékos munkájának beállítása", + ["command_setjob_job"] = "Munka neve", + ["command_setjob_grade"] = "Rang", + ["command_setjob_invalid"] = "Munka név vagy rang érvénytelen", + ["command_setgroup"] = "Játékos jogosultsági csoportjának beállítása", + ["command_setgroup_group"] = "Csoport neve", + ["commanderror_argumentmismatch"] = "Érvénytelen argumentumszám (%s megadva, %s szükséges)", + ["commanderror_argumentmismatch_number"] = "Érvénytelen argumentum #%s adat típus (szöveg megadva, szám szükséges)", + ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", + ["commanderror_invaliditem"] = "Érvénytelen tárgy", + ["commanderror_invalidweapon"] = "Érvénytelen fegyver", + ["commanderror_console"] = "Parancs nem használható konzolból", + ["commanderror_invalidcommand"] = "Érvénytelen parancs - /%s", + ["commanderror_invalidplayerid"] = "Megadott játékos nem online.", + ["commandgeneric_playerid"] = "Játékos Szerver Id", + ["command_giveammo_noweapon_found"] = "Nincs ilyen fegyvered: %s", + ["command_giveammo_weapon"] = "Fegyver név", + ["command_giveammo_ammo"] = "Lőszer mennyiség", + ["tpm_nowaypoint"] = "Nincs kijelölve pozíció!", + ["tpm_success"] = "Sikeres teleportálás", + + ["noclip_message"] = "Noclip %s", + ["enabled"] = "~g~engedélyezve~s~", + ["disabled"] = "~r~letiltva~s~", + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "$%s", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "Dagger", + ["weapon_bat"] = "Bat", + ["weapon_battleaxe"] = "Battle Axe", + ["weapon_bottle"] = "Bottle", + ["weapon_crowbar"] = "Crowbar", + ["weapon_flashlight"] = "Flashlight", + ["weapon_golfclub"] = "Golf Club", + ["weapon_hammer"] = "Hammer", + ["weapon_hatchet"] = "Hatchet", + ["weapon_knife"] = "Knife", + ["weapon_knuckle"] = "Knuckledusters", + ["weapon_machete"] = "Machete", + ["weapon_nightstick"] = "Nightstick", + ["weapon_wrench"] = "Pipe Wrench", + ["weapon_poolcue"] = "Pool Cue", + ["weapon_stone_hatchet"] = "Stone Hatchet", + ["weapon_switchblade"] = "Switchblade", + + -- Handguns + ["weapon_appistol"] = "AP Pistol", + ["weapon_ceramicpistol"] = "Ceramic Pistol", + ["weapon_combatpistol"] = "Combat Pistol", + ["weapon_doubleaction"] = "Double-Action Revolver", + ["weapon_navyrevolver"] = "Navy Revolver", + ["weapon_flaregun"] = "Flaregun", + ["weapon_gadgetpistol"] = "Gadget Pistol", + ["weapon_heavypistol"] = "Heavy Pistol", + ["weapon_revolver"] = "Heavy Revolver", + ["weapon_revolver_mk2"] = "Heavy Revolver MK2", + ["weapon_marksmanpistol"] = "Marksman Pistol", + ["weapon_pistol"] = "Pistol", + ["weapon_pistol_mk2"] = "Pistol MK2", + ["weapon_pistol50"] = "Pistol .50", + ["weapon_snspistol"] = "SNS Pistol", + ["weapon_snspistol_mk2"] = "SNS Pistol MK2", + ["weapon_stungun"] = "Taser", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "Vintage Pistol", + + -- Shotguns + ["weapon_assaultshotgun"] = "Assault Shotgun", + ["weapon_autoshotgun"] = "Auto Shotgun", + ["weapon_bullpupshotgun"] = "Bullpup Shotgun", + ["weapon_combatshotgun"] = "Combat Shotgun", + ["weapon_dbshotgun"] = "Double Barrel Shotgun", + ["weapon_heavyshotgun"] = "Heavy Shotgun", + ["weapon_musket"] = "Musket", + ["weapon_pumpshotgun"] = "Pump Shotgun", + ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", + ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", + + -- SMG & LMG + ["weapon_assaultsmg"] = "Assault SMG", + ["weapon_combatmg"] = "Combat MG", + ["weapon_combatmg_mk2"] = "Combat MG MK2", + ["weapon_combatpdw"] = "Combat PDW", + ["weapon_gusenberg"] = "Gusenberg Sweeper", + ["weapon_machinepistol"] = "Machine Pistol", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Micro SMG", + ["weapon_minismg"] = "Mini SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Unholy Hellbringer", + + -- Rifles + ["weapon_advancedrifle"] = "Advanced Rifle", + ["weapon_assaultrifle"] = "Assault Rifle", + ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", + ["weapon_bullpuprifle"] = "Bullpup Rifle", + ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", + ["weapon_carbinerifle"] = "Carbine Rifle", + ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", + ["weapon_compactrifle"] = "Compact Rifle", + ["weapon_militaryrifle"] = "Military Rifle", + ["weapon_specialcarbine"] = "Special Carbine", + ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated + + -- Sniper + ["weapon_heavysniper"] = "Heavy Sniper", + ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", + ["weapon_marksmanrifle"] = "Marksman Rifle", + ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", + ["weapon_sniperrifle"] = "Sniper Rifle", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "Compact Launcher", + ["weapon_firework"] = "Firework Launcher", + ["weapon_grenadelauncher"] = "Grenade Launcher", + ["weapon_hominglauncher"] = "Homing Launcher", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Railgun", + ["weapon_rpg"] = "Rocket Launcher", + ["weapon_rayminigun"] = "Widowmaker", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "Fémkereső", + ["weapon_precisionrifle"] = "Precision Rifle", + ["weapon_tactilerifle"] = "Service Carbine", + + -- Drug Wars DLC + ["weapon_candycane"] = "Candy Cane", -- not translated + ["weapon_acidpackage"] = "Acid Package", -- not translated + ["weapon_pistolxm3"] = "WM 29 Pistol", -- not translated + ["weapon_railgunxm3"] = "Railgun", -- not translated + + -- Thrown + ["weapon_ball"] = "Baseball", + ["weapon_bzgas"] = "BZ Gas", + ["weapon_flare"] = "Flare", + ["weapon_grenade"] = "Grenade", + ["weapon_petrolcan"] = "Jerrycan", + ["weapon_hazardcan"] = "Hazardous Jerrycan", + ["weapon_molotov"] = "Molotov Cocktail", + ["weapon_proxmine"] = "Proximity Mine", + ["weapon_pipebomb"] = "Pipe Bomb", + ["weapon_snowball"] = "Snowball", + ["weapon_stickybomb"] = "Sticky Bomb", + ["weapon_smokegrenade"] = "Tear Gas", + + -- Special + ["weapon_fireextinguisher"] = "Fire Extinguisher", + ["weapon_digiscanner"] = "Digital Scanner", + ["weapon_garbagebag"] = "Garbage Bag", + ["weapon_handcuffs"] = "Handcuffs", + ["gadget_nightvision"] = "Night Vision", + ["gadget_parachute"] = "parachute", + + -- Weapon Components + ["component_knuckle_base"] = "base Model", + ["component_knuckle_pimp"] = "the Pimp", + ["component_knuckle_ballas"] = "the Ballas", + ["component_knuckle_dollar"] = "the Hustler", + ["component_knuckle_diamond"] = "the Rock", + ["component_knuckle_hate"] = "the Hater", + ["component_knuckle_love"] = "the Lover", + ["component_knuckle_player"] = "the Player", + ["component_knuckle_king"] = "the King", + ["component_knuckle_vagos"] = "the Vagos", + + ["component_luxary_finish"] = "luxary Weapon Finish", + + ["component_handle_default"] = "default Handle", + ["component_handle_vip"] = "vIP Handle", + ["component_handle_bodyguard"] = "bodyguard Handle", + + ["component_vip_finish"] = "vIP Finish", + ["component_bodyguard_finish"] = "bodyguard Finish", + + ["component_camo_finish"] = "digital Camo", + ["component_camo_finish2"] = "brushstroke Camo", + ["component_camo_finish3"] = "woodland Camo", + ["component_camo_finish4"] = "skull Camo", + ["component_camo_finish5"] = "sessanta Nove Camo", + ["component_camo_finish6"] = "perseus Camo", + ["component_camo_finish7"] = "leopard Camo", + ["component_camo_finish8"] = "zebra Camo", + ["component_camo_finish9"] = "geometric Camo", + ["component_camo_finish10"] = "boom Camo", + ["component_camo_finish11"] = "patriotic Camo", + + ["component_camo_slide_finish"] = "digital Slide Camo", + ["component_camo_slide_finish2"] = "brushstroke Slide Camo", + ["component_camo_slide_finish3"] = "woodland Slide Camo", + ["component_camo_slide_finish4"] = "skull Slide Camo", + ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", + ["component_camo_slide_finish6"] = "perseus Slide Camo", + ["component_camo_slide_finish7"] = "leopard Slide Camo", + ["component_camo_slide_finish8"] = "zebra Slide Camo", + ["component_camo_slide_finish9"] = "geometric Slide Camo", + ["component_camo_slide_finish10"] = "boom Slide Camo", + ["component_camo_slide_finish11"] = "patriotic Slide Camo", + + ["component_clip_default"] = "default Magazine", + ["component_clip_extended"] = "extended Magazine", + ["component_clip_drum"] = "drum Magazine", + ["component_clip_box"] = "box Magazine", + + ["component_scope_holo"] = "holographic Scope", + ["component_scope_small"] = "small Scope", + ["component_scope_medium"] = "medium Scope", + ["component_scope_large"] = "large Scope", + ["component_scope"] = "mounted Scope", + ["component_scope_advanced"] = "advanced Scope", + ["component_ironsights"] = "ironsights", + + ["component_suppressor"] = "suppressor", + ["component_compensator"] = "compensator", + + ["component_muzzle_flat"] = "flat Muzzle Brake", + ["component_muzzle_tactical"] = "tactical Muzzle Brake", + ["component_muzzle_fat"] = "fat-End Muzzle Brake", + ["component_muzzle_precision"] = "precision Muzzle Brake", + ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", + ["component_muzzle_slanted"] = "slanted Muzzle Brake", + ["component_muzzle_split"] = "split-End Muzzle Brake", + ["component_muzzle_squared"] = "squared Muzzle Brake", + + ["component_flashlight"] = "flashlight", + ["component_grip"] = "grip", + + ["component_barrel_default"] = "default Barrel", + ["component_barrel_heavy"] = "heavy Barrel", + + ["component_ammo_tracer"] = "tracer Ammo", + ["component_ammo_incendiary"] = "incendiary Ammo", + ["component_ammo_hollowpoint"] = "hollowpoint Ammo", + ["component_ammo_fmj"] = "fMJ Ammo", + ["component_ammo_armor"] = "armor Piercing Ammo", + ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", + + ["component_shells_default"] = "default Shells", + ["component_shells_incendiary"] = "dragons Breath Shells", + ["component_shells_armor"] = "steel Buckshot Shells", + ["component_shells_hollowpoint"] = "flechette Shells", + ["component_shells_explosive"] = "explosive Slug Shells", + + -- Weapon Ammo + ["ammo_rounds"] = "round(s)", + ["ammo_shells"] = "shell(s)", + ["ammo_charge"] = "charge", + ["ammo_petrol"] = "gallons of fuel", + ["ammo_firework"] = "firework(s)", + ["ammo_rockets"] = "rocket(s)", + ["ammo_grenadelauncher"] = "grenade(s)", + ["ammo_grenade"] = "grenade(s)", + ["ammo_stickybomb"] = "bomb(s)", + ["ammo_pipebomb"] = "bomb(s)", + ["ammo_smokebomb"] = "bomb(s)", + ["ammo_molotov"] = "cocktail(s)", + ["ammo_proxmine"] = "mine(s)", + ["ammo_bzgas"] = "can(s)", + ["ammo_ball"] = "ball(s)", + ["ammo_snowball"] = "snowball(s)", + ["ammo_flare"] = "flare(s)", + ["ammo_flaregun"] = "flare(s)", + + -- Weapon Tints + ["tint_default"] = "default skin", + ["tint_green"] = "green skin", + ["tint_gold"] = "gold skin", + ["tint_pink"] = "pink skin", + ["tint_army"] = "army skin", + ["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.", } diff --git a/server-data/resources/[esx]/es_extended/locales/id.lua b/server-data/resources/[esx]/es_extended/locales/id.lua index 11ab47fe2..1d7d1d822 100644 --- a/server-data/resources/[esx]/es_extended/locales/id.lua +++ b/server-data/resources/[esx]/es_extended/locales/id.lua @@ -1,381 +1,381 @@ Locales["id"] = { - -- Inventory - ["inventory"] = "Inventaris ( Berat %s / %s )", - ["use"] = "Gunakan", - ["give"] = "Beri", - ["remove"] = "Buang", - ["return"] = "Kembali", - ["give_to"] = "Beri ke", - ["amount"] = "Jumlah", - ["giveammo"] = "Beri amunisi", - ["amountammo"] = "Jumlah Amunisi", - ["noammo"] = "Tidak cukup!", - ["gave_item"] = "Memberi %sx %s ke %s", - ["received_item"] = "Menerima %sx %s dari %s", - ["gave_weapon"] = "Memberi %s ke %s", - ["gave_weapon_ammo"] = "Memberi ~o~%sx %s untuk %s ke %s", - ["gave_weapon_withammo"] = "Memberi %s dengan ~o~%sx %s ke %s", - ["gave_weapon_hasalready"] = "%s sudah memiliki %s", - ["gave_weapon_noweapon"] = "%s tidak memiliki senjata tersebut", - ["received_weapon"] = "Menerima %s dari %s", - ["received_weapon_ammo"] = "Menerima ~o~%sx %s untuk %s Anda dari %s", - ["received_weapon_withammo"] = "Menerima %s dengan ~o~%sx %s dari %s", - ["received_weapon_hasalready"] = "%s mencoba memberimu %s, tapi kamu sudah memiliki senjata ini", - ["received_weapon_noweapon"] = "%s mencoba memberimu amunisi untuk %s, tapi kamu tidak memiliki senjata ini", - ["gave_account_money"] = "Memberi $%s (%s) ke %s", - ["received_account_money"] = "Menerima $%s (%s) dari %s", - ["amount_invalid"] = "Jumlah salah", - ["players_nearby"] = "Tidak ada Player di sekitar", - ["ex_inv_lim"] = "Tidak dapat melakukan aksi, melebihi batas berat dari %s", - ["imp_invalid_quantity"] = "Tidak dapat melakukan aksi, jumlah salah", - ["imp_invalid_amount"] = "Tidak dapat melakukan aksi, jumlah salah", - ["threw_standard"] = "Membuang %sx %s", - ["threw_account"] = "Membuang $%s %s", - ["threw_weapon"] = "Membuang %s", - ["threw_weapon_ammo"] = "Membuang %s dengan ~o~%sx %s", - ["threw_weapon_already"] = "Kamu sudah memiliki senjata ini", - ["threw_cannot_pickup"] = "Inventaris penuh, Tidak dapat mengambil!", - ["threw_pickup_prompt"] = "Tekan E untuk Mengambil", - - -- Key mapping - ["keymap_showinventory"] = "Buka Inventaris", - - -- Salary related - ["received_salary"] = "Anda telah dibayar: $%s", - ["received_help"] = "Anda telah menerima dana kesejahteraan: $%s", - ["company_nomoney"] = "perusahaan tempat Anda bekerja terlalu miskin untuk membayar gaji Anda", - ["received_paycheck"] = "menerima gaji", - ["bank"] = "Maze Bank", - ["account_bank"] = "Bank", - ["account_black_money"] = "Dirty Money", - ["account_money"] = "Cash", - - ["act_imp"] = "Tidak dapat melakukan aksi", - ["in_vehicle"] = "Tidak dapat melakukan aksi, Player di dalam kendaraan", - ["not_in_vehicle"] = "Tidak dapat melakukan aksi, Player tidak di dalam kendaraan", - - -- Commands - ["command_bring"] = "Bawa player kepadamu", - ["command_car"] = "Munculkan kendaraan", - ["command_car_car"] = "Model atau hash kendaraan", - ["command_cardel"] = "Menghilangkan kendaraan di sekitar", - ["command_cardel_radius"] = "Menghilangkan semua kendaraan dalam radius yang ditentukan", - ["command_repair"] = "Perbaiki kendaraanmu", - ["command_repair_success"] = "Berhasil memperbaiki kendaraan", - ["command_repair_success_target"] = "Admin memperbaiki kendaraanmu", - ["command_clear"] = "Bersihkan teks chat", - ["command_clearall"] = "Bersihkan teks chat untuk semua player", - ["command_clearinventory"] = "Hilangkan semua barang dari Inventaris Player", - ["command_clearloadout"] = "Hilangkan semua senjata dari Loadout Player", - ["command_freeze"] = "Bekukan player", - ["command_unfreeze"] = "Kembalikan player", - ["command_giveaccountmoney"] = "Beri uang ke rekening tertentu", - ["command_giveaccountmoney_account"] = "Rekening untuk ditambahkan", - ["command_giveaccountmoney_amount"] = "Jumlah untuk ditambahkan", - ["command_giveaccountmoney_invalid"] = "Nama Rekening Salah", - ["command_removeaccountmoney"] = "Hilangkan uang dari rekening tertentu", - ["command_removeaccountmoney_account"] = "Rekening yang akan dihapus", - ["command_removeaccountmoney_amount"] = "Jumlah yang dihapus", - ["command_removeaccountmoney_invalid"] = "Nama Rekening Salah", - ["command_giveitem"] = "Beri Player barang", - ["command_giveitem_item"] = "Nama Barang", - ["command_giveitem_count"] = "Jumlah", - ["command_giveweapon"] = "Beri player senjata", - ["command_giveweapon_weapon"] = "Nama Senjata", - ["command_giveweapon_ammo"] = "Jumlah Amunisi", - ["command_giveweapon_hasalready"] = "Player telah memiliki senjata ini", - ["command_giveweaponcomponent"] = "Beri komponen senjata ke player", - ["command_giveweaponcomponent_component"] = "Nama Komponen", - ["command_giveweaponcomponent_invalid"] = "Komponen Senjata Salah", - ["command_giveweaponcomponent_hasalready"] = "Player telah memiliki komponen senjata ini", - ["command_giveweaponcomponent_missingweapon"] = "Player tidak memiliki senjata ini", - ["command_goto"] = "Teleportasi dirimu ke player", - ["command_kill"] = "Bunuh player", - ["command_save"] = "Paksa Simpan Data player", - ["command_saveall"] = "Paksa Simpan Data semua player", - ["command_setaccountmoney"] = "Atur uang dalam rekening tertentu", - ["command_setaccountmoney_amount"] = "Jumlah", - ["command_setcoords"] = "Teleportasi ke koordinat tertentu", - ["command_setcoords_x"] = "Posisi X", - ["command_setcoords_y"] = "Posisi Y", - ["command_setcoords_z"] = "Posisi Z", - ["command_setjob"] = "Beri player pekerjaan", - ["command_setjob_job"] = "Nama", - ["command_setjob_grade"] = "Jabatan pekerjaan", - ["command_setjob_invalid"] = "pekerjaan, jabatan atau keduanya salah", - ["command_setgroup"] = "Atur izn grup player", - ["command_setgroup_group"] = "Nama Grup", - ["commanderror_argumentmismatch"] = "Jumlah Argument Salah (passed %s, wanted %s)", - ["commanderror_argumentmismatch_number"] = "Argument #%s salah tipe data (passed string, wanted number)", - ["commanderror_argumentmismatch_string"] = "Argument #%s salah tipe data (passed number, wanted string)", - ["commanderror_invaliditem"] = "Barang salah", - ["commanderror_invalidweapon"] = "Senjata salah", - ["commanderror_console"] = "Perintah tidak dapat dieksekusi dari console", - ["commanderror_invalidcommand"] = "Perintah Salah - /%s", - ["commanderror_invalidplayerid"] = "Player tersebut tidak online", - ["commandgeneric_playerid"] = "Id Server Player", - ["command_giveammo_noweapon_found"] = "%s tidak memiliki senjata tersebut", - ["command_giveammo_weapon"] = "Nama Senjata", - ["command_giveammo_ammo"] = "Jumlah Amunisi", - ["tpm_nowaypoint"] = "Titik Lokasi Tidak Diatur.", - ["tpm_success"] = "Berhasil Teleportasi", - - ["noclip_message"] = "Noclip telah %s", - ["enabled"] = "~g~diaktifkan~s~", - ["disabled"] = "~r~dimatikan~s~", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "£%s", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "Dagger", - ["weapon_bat"] = "Bat", - ["weapon_battleaxe"] = "Battle Axe", - ["weapon_bottle"] = "Bottle", - ["weapon_crowbar"] = "Crowbar", - ["weapon_flashlight"] = "Flashlight", - ["weapon_golfclub"] = "Golf Club", - ["weapon_hammer"] = "Hammer", - ["weapon_hatchet"] = "Hatchet", - ["weapon_knife"] = "Knife", - ["weapon_knuckle"] = "Knuckledusters", - ["weapon_machete"] = "Machete", - ["weapon_nightstick"] = "Nightstick", - ["weapon_wrench"] = "Pipe Wrench", - ["weapon_poolcue"] = "Pool Cue", - ["weapon_stone_hatchet"] = "Stone Hatchet", - ["weapon_switchblade"] = "Switchblade", - - -- Handguns - ["weapon_appistol"] = "AP Pistol", - ["weapon_ceramicpistol"] = "Ceramic Pistol", - ["weapon_combatpistol"] = "Combat Pistol", - ["weapon_doubleaction"] = "Double-Action Revolver", - ["weapon_navyrevolver"] = "Navy Revolver", - ["weapon_flaregun"] = "Flaregun", - ["weapon_gadgetpistol"] = "Gadget Pistol", - ["weapon_heavypistol"] = "Heavy Pistol", - ["weapon_revolver"] = "Heavy Revolver", - ["weapon_revolver_mk2"] = "Heavy Revolver MK2", - ["weapon_marksmanpistol"] = "Marksman Pistol", - ["weapon_pistol"] = "Pistol", - ["weapon_pistol_mk2"] = "Pistol MK2", - ["weapon_pistol50"] = "Pistol .50", - ["weapon_snspistol"] = "SNS Pistol", - ["weapon_snspistol_mk2"] = "SNS Pistol MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "Vintage Pistol", - - -- Shotguns - ["weapon_assaultshotgun"] = "Assault Shotgun", - ["weapon_autoshotgun"] = "Auto Shotgun", - ["weapon_bullpupshotgun"] = "Bullpup Shotgun", - ["weapon_combatshotgun"] = "Combat Shotgun", - ["weapon_dbshotgun"] = "Double Barrel Shotgun", - ["weapon_heavyshotgun"] = "Heavy Shotgun", - ["weapon_musket"] = "Musket", - ["weapon_pumpshotgun"] = "Pump Shotgun", - ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", - ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", - - -- SMG & LMG - ["weapon_assaultsmg"] = "Assault SMG", - ["weapon_combatmg"] = "Combat MG", - ["weapon_combatmg_mk2"] = "Combat MG MK2", - ["weapon_combatpdw"] = "Combat PDW", - ["weapon_gusenberg"] = "Gusenberg Sweeper", - ["weapon_machinepistol"] = "Machine Pistol", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Micro SMG", - ["weapon_minismg"] = "Mini SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Unholy Hellbringer", - - -- Rifles - ["weapon_advancedrifle"] = "Advanced Rifle", - ["weapon_assaultrifle"] = "Assault Rifle", - ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", - ["weapon_bullpuprifle"] = "Bullpup Rifle", - ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", - ["weapon_carbinerifle"] = "Carbine Rifle", - ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", - ["weapon_compactrifle"] = "Compact Rifle", - ["weapon_militaryrifle"] = "Military Rifle", - ["weapon_specialcarbine"] = "Special Carbine", - ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", - ["weapon_heavyrifle"] = "Heavy Rifle", - - -- Sniper - ["weapon_heavysniper"] = "Heavy Sniper", - ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", - ["weapon_marksmanrifle"] = "Marksman Rifle", - ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", - ["weapon_sniperrifle"] = "Sniper Rifle", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Compact Launcher", - ["weapon_firework"] = "Firework Launcher", - ["weapon_grenadelauncher"] = "Grenade Launcher", - ["weapon_hominglauncher"] = "Homing Launcher", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Railgun", - ["weapon_rpg"] = "Rocket Launcher", - ["weapon_rayminigun"] = "Widowmaker", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "Metal Detector", - ["weapon_precisionrifle"] = "Precision Rifle", - ["weapon_tactilerifle"] = "Service Carbine", - - -- Drug wars dlc - ["weapon_candycane"] = "Candycane", - ["weapon_acidpackage"] = "Acid Package", - ["weapon_pistolxm3"] = "Pistol8 x3m", - ["weapon_railgunxm3"] = "Railgun", - - -- Thrown - ["weapon_ball"] = "Baseball", - ["weapon_bzgas"] = "BZ Gas", - ["weapon_flare"] = "Flare", - ["weapon_grenade"] = "Grenade", - ["weapon_petrolcan"] = "Jerrycan", - ["weapon_hazardcan"] = "Hazardous Jerrycan", - ["weapon_molotov"] = "Molotov Cocktail", - ["weapon_proxmine"] = "Proximity Mine", - ["weapon_pipebomb"] = "Pipe Bomb", - ["weapon_snowball"] = "Snowball", - ["weapon_stickybomb"] = "Sticky Bomb", - ["weapon_smokegrenade"] = "Tear Gas", - - -- Special - ["weapon_fireextinguisher"] = "Pemadam Api", - ["weapon_digiscanner"] = "Digital Scanner", - ["weapon_garbagebag"] = "Kantong Sampah", - ["weapon_handcuffs"] = "Borgol", - ["gadget_nightvision"] = "Night Vision", - ["gadget_parachute"] = "Parasut", - - -- Weapon Components - ["component_knuckle_base"] = "base Model", - ["component_knuckle_pimp"] = "the Pimp", - ["component_knuckle_ballas"] = "the Ballas", - ["component_knuckle_dollar"] = "the Hustler", - ["component_knuckle_diamond"] = "the Rock", - ["component_knuckle_hate"] = "the Hater", - ["component_knuckle_love"] = "the Lover", - ["component_knuckle_player"] = "the Player", - ["component_knuckle_king"] = "the King", - ["component_knuckle_vagos"] = "the Vagos", - - ["component_luxary_finish"] = "luxary Weapon Finish", - - ["component_handle_default"] = "default Handle", - ["component_handle_vip"] = "vIP Handle", - ["component_handle_bodyguard"] = "bodyguard Handle", - - ["component_vip_finish"] = "vIP Finish", - ["component_bodyguard_finish"] = "bodyguard Finish", - - ["component_camo_finish"] = "digital Camo", - ["component_camo_finish2"] = "brushstroke Camo", - ["component_camo_finish3"] = "woodland Camo", - ["component_camo_finish4"] = "skull Camo", - ["component_camo_finish5"] = "sessanta Nove Camo", - ["component_camo_finish6"] = "perseus Camo", - ["component_camo_finish7"] = "leopard Camo", - ["component_camo_finish8"] = "zebra Camo", - ["component_camo_finish9"] = "geometric Camo", - ["component_camo_finish10"] = "boom Camo", - ["component_camo_finish11"] = "patriotic Camo", - - ["component_camo_slide_finish"] = "digital Slide Camo", - ["component_camo_slide_finish2"] = "brushstroke Slide Camo", - ["component_camo_slide_finish3"] = "woodland Slide Camo", - ["component_camo_slide_finish4"] = "skull Slide Camo", - ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", - ["component_camo_slide_finish6"] = "perseus Slide Camo", - ["component_camo_slide_finish7"] = "leopard Slide Camo", - ["component_camo_slide_finish8"] = "zebra Slide Camo", - ["component_camo_slide_finish9"] = "geometric Slide Camo", - ["component_camo_slide_finish10"] = "boom Slide Camo", - ["component_camo_slide_finish11"] = "patriotic Slide Camo", - - ["component_clip_default"] = "default Magazine", - ["component_clip_extended"] = "extended Magazine", - ["component_clip_drum"] = "drum Magazine", - ["component_clip_box"] = "box Magazine", - - ["component_scope_holo"] = "holographic Scope", - ["component_scope_small"] = "small Scope", - ["component_scope_medium"] = "medium Scope", - ["component_scope_large"] = "large Scope", - ["component_scope"] = "mounted Scope", - ["component_scope_advanced"] = "advanced Scope", - ["component_ironsights"] = "ironsights", - - ["component_suppressor"] = "suppressor", - ["component_compensator"] = "compensator", - - ["component_muzzle_flat"] = "flat Muzzle Brake", - ["component_muzzle_tactical"] = "tactical Muzzle Brake", - ["component_muzzle_fat"] = "fat-End Muzzle Brake", - ["component_muzzle_precision"] = "precision Muzzle Brake", - ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", - ["component_muzzle_slanted"] = "slanted Muzzle Brake", - ["component_muzzle_split"] = "split-End Muzzle Brake", - ["component_muzzle_squared"] = "squared Muzzle Brake", - - ["component_flashlight"] = "flashlight", - ["component_grip"] = "grip", - - ["component_barrel_default"] = "default Barrel", - ["component_barrel_heavy"] = "heavy Barrel", - - ["component_ammo_tracer"] = "tracer Ammo", - ["component_ammo_incendiary"] = "incendiary Ammo", - ["component_ammo_hollowpoint"] = "hollowpoint Ammo", - ["component_ammo_fmj"] = "fMJ Ammo", - ["component_ammo_armor"] = "armor Piercing Ammo", - ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", - - ["component_shells_default"] = "default Shells", - ["component_shells_incendiary"] = "dragons Breath Shells", - ["component_shells_armor"] = "steel Buckshot Shells", - ["component_shells_hollowpoint"] = "flechette Shells", - ["component_shells_explosive"] = "explosive Slug Shells", - - -- Weapon Ammo - ["ammo_rounds"] = "peluru", - ["ammo_shells"] = "peluru", - ["ammo_charge"] = "peluru", - ["ammo_petrol"] = "gallon bahan bakar", - ["ammo_firework"] = "kembang api", - ["ammo_rockets"] = "roket", - ["ammo_grenadelauncher"] = "granat", - ["ammo_grenade"] = "granat", - ["ammo_stickybomb"] = "bom", - ["ammo_pipebomb"] = "bom pipa", - ["ammo_smokebomb"] = "bom asap", - ["ammo_molotov"] = "molotov", - ["ammo_proxmine"] = "peledak", - ["ammo_bzgas"] = "kaleng", - ["ammo_ball"] = "bola", - ["ammo_snowball"] = "bola salju", - ["ammo_flare"] = "flare", - ["ammo_flaregun"] = "flare", - - -- Weapon Tints - ["tint_default"] = "default skin", - ["tint_green"] = "green skin", - ["tint_gold"] = "gold skin", - ["tint_pink"] = "pink skin", - ["tint_army"] = "army skin", - ["tint_lspd"] = "blue skin", - ["tint_orange"] = "orange skin", - ["tint_platinum"] = "platinum skin", + -- Inventory + ["inventory"] = "Inventaris ( Berat %s / %s )", + ["use"] = "Gunakan", + ["give"] = "Beri", + ["remove"] = "Buang", + ["return"] = "Kembali", + ["give_to"] = "Beri ke", + ["amount"] = "Jumlah", + ["giveammo"] = "Beri amunisi", + ["amountammo"] = "Jumlah Amunisi", + ["noammo"] = "Tidak cukup!", + ["gave_item"] = "Memberi %sx %s ke %s", + ["received_item"] = "Menerima %sx %s dari %s", + ["gave_weapon"] = "Memberi %s ke %s", + ["gave_weapon_ammo"] = "Memberi ~o~%sx %s untuk %s ke %s", + ["gave_weapon_withammo"] = "Memberi %s dengan ~o~%sx %s ke %s", + ["gave_weapon_hasalready"] = "%s sudah memiliki %s", + ["gave_weapon_noweapon"] = "%s tidak memiliki senjata tersebut", + ["received_weapon"] = "Menerima %s dari %s", + ["received_weapon_ammo"] = "Menerima ~o~%sx %s untuk %s Anda dari %s", + ["received_weapon_withammo"] = "Menerima %s dengan ~o~%sx %s dari %s", + ["received_weapon_hasalready"] = "%s mencoba memberimu %s, tapi kamu sudah memiliki senjata ini", + ["received_weapon_noweapon"] = "%s mencoba memberimu amunisi untuk %s, tapi kamu tidak memiliki senjata ini", + ["gave_account_money"] = "Memberi $%s (%s) ke %s", + ["received_account_money"] = "Menerima $%s (%s) dari %s", + ["amount_invalid"] = "Jumlah salah", + ["players_nearby"] = "Tidak ada Player di sekitar", + ["ex_inv_lim"] = "Tidak dapat melakukan aksi, melebihi batas berat dari %s", + ["imp_invalid_quantity"] = "Tidak dapat melakukan aksi, jumlah salah", + ["imp_invalid_amount"] = "Tidak dapat melakukan aksi, jumlah salah", + ["threw_standard"] = "Membuang %sx %s", + ["threw_account"] = "Membuang $%s %s", + ["threw_weapon"] = "Membuang %s", + ["threw_weapon_ammo"] = "Membuang %s dengan ~o~%sx %s", + ["threw_weapon_already"] = "Kamu sudah memiliki senjata ini", + ["threw_cannot_pickup"] = "Inventaris penuh, Tidak dapat mengambil!", + ["threw_pickup_prompt"] = "Tekan E untuk Mengambil", + + -- Key mapping + ["keymap_showinventory"] = "Buka Inventaris", + + -- Salary related + ["received_salary"] = "Anda telah dibayar: $%s", + ["received_help"] = "Anda telah menerima dana kesejahteraan: $%s", + ["company_nomoney"] = "perusahaan tempat Anda bekerja terlalu miskin untuk membayar gaji Anda", + ["received_paycheck"] = "menerima gaji", + ["bank"] = "Maze Bank", + ["account_bank"] = "Bank", + ["account_black_money"] = "Dirty Money", + ["account_money"] = "Cash", + + ["act_imp"] = "Tidak dapat melakukan aksi", + ["in_vehicle"] = "Tidak dapat melakukan aksi, Player di dalam kendaraan", + ["not_in_vehicle"] = "Tidak dapat melakukan aksi, Player tidak di dalam kendaraan", + + -- Commands + ["command_bring"] = "Bawa player kepadamu", + ["command_car"] = "Munculkan kendaraan", + ["command_car_car"] = "Model atau hash kendaraan", + ["command_cardel"] = "Menghilangkan kendaraan di sekitar", + ["command_cardel_radius"] = "Menghilangkan semua kendaraan dalam radius yang ditentukan", + ["command_repair"] = "Perbaiki kendaraanmu", + ["command_repair_success"] = "Berhasil memperbaiki kendaraan", + ["command_repair_success_target"] = "Admin memperbaiki kendaraanmu", + ["command_clear"] = "Bersihkan teks chat", + ["command_clearall"] = "Bersihkan teks chat untuk semua player", + ["command_clearinventory"] = "Hilangkan semua barang dari Inventaris Player", + ["command_clearloadout"] = "Hilangkan semua senjata dari Loadout Player", + ["command_freeze"] = "Bekukan player", + ["command_unfreeze"] = "Kembalikan player", + ["command_giveaccountmoney"] = "Beri uang ke rekening tertentu", + ["command_giveaccountmoney_account"] = "Rekening untuk ditambahkan", + ["command_giveaccountmoney_amount"] = "Jumlah untuk ditambahkan", + ["command_giveaccountmoney_invalid"] = "Nama Rekening Salah", + ["command_removeaccountmoney"] = "Hilangkan uang dari rekening tertentu", + ["command_removeaccountmoney_account"] = "Rekening yang akan dihapus", + ["command_removeaccountmoney_amount"] = "Jumlah yang dihapus", + ["command_removeaccountmoney_invalid"] = "Nama Rekening Salah", + ["command_giveitem"] = "Beri Player barang", + ["command_giveitem_item"] = "Nama Barang", + ["command_giveitem_count"] = "Jumlah", + ["command_giveweapon"] = "Beri player senjata", + ["command_giveweapon_weapon"] = "Nama Senjata", + ["command_giveweapon_ammo"] = "Jumlah Amunisi", + ["command_giveweapon_hasalready"] = "Player telah memiliki senjata ini", + ["command_giveweaponcomponent"] = "Beri komponen senjata ke player", + ["command_giveweaponcomponent_component"] = "Nama Komponen", + ["command_giveweaponcomponent_invalid"] = "Komponen Senjata Salah", + ["command_giveweaponcomponent_hasalready"] = "Player telah memiliki komponen senjata ini", + ["command_giveweaponcomponent_missingweapon"] = "Player tidak memiliki senjata ini", + ["command_goto"] = "Teleportasi dirimu ke player", + ["command_kill"] = "Bunuh player", + ["command_save"] = "Paksa Simpan Data player", + ["command_saveall"] = "Paksa Simpan Data semua player", + ["command_setaccountmoney"] = "Atur uang dalam rekening tertentu", + ["command_setaccountmoney_amount"] = "Jumlah", + ["command_setcoords"] = "Teleportasi ke koordinat tertentu", + ["command_setcoords_x"] = "Posisi X", + ["command_setcoords_y"] = "Posisi Y", + ["command_setcoords_z"] = "Posisi Z", + ["command_setjob"] = "Beri player pekerjaan", + ["command_setjob_job"] = "Nama", + ["command_setjob_grade"] = "Jabatan pekerjaan", + ["command_setjob_invalid"] = "pekerjaan, jabatan atau keduanya salah", + ["command_setgroup"] = "Atur izn grup player", + ["command_setgroup_group"] = "Nama Grup", + ["commanderror_argumentmismatch"] = "Jumlah Argument Salah (passed %s, wanted %s)", + ["commanderror_argumentmismatch_number"] = "Argument #%s salah tipe data (passed string, wanted number)", + ["commanderror_argumentmismatch_string"] = "Argument #%s salah tipe data (passed number, wanted string)", + ["commanderror_invaliditem"] = "Barang salah", + ["commanderror_invalidweapon"] = "Senjata salah", + ["commanderror_console"] = "Perintah tidak dapat dieksekusi dari console", + ["commanderror_invalidcommand"] = "Perintah Salah - /%s", + ["commanderror_invalidplayerid"] = "Player tersebut tidak online", + ["commandgeneric_playerid"] = "Id Server Player", + ["command_giveammo_noweapon_found"] = "%s tidak memiliki senjata tersebut", + ["command_giveammo_weapon"] = "Nama Senjata", + ["command_giveammo_ammo"] = "Jumlah Amunisi", + ["tpm_nowaypoint"] = "Titik Lokasi Tidak Diatur.", + ["tpm_success"] = "Berhasil Teleportasi", + + ["noclip_message"] = "Noclip telah %s", + ["enabled"] = "~g~diaktifkan~s~", + ["disabled"] = "~r~dimatikan~s~", + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "£%s", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "Dagger", + ["weapon_bat"] = "Bat", + ["weapon_battleaxe"] = "Battle Axe", + ["weapon_bottle"] = "Bottle", + ["weapon_crowbar"] = "Crowbar", + ["weapon_flashlight"] = "Flashlight", + ["weapon_golfclub"] = "Golf Club", + ["weapon_hammer"] = "Hammer", + ["weapon_hatchet"] = "Hatchet", + ["weapon_knife"] = "Knife", + ["weapon_knuckle"] = "Knuckledusters", + ["weapon_machete"] = "Machete", + ["weapon_nightstick"] = "Nightstick", + ["weapon_wrench"] = "Pipe Wrench", + ["weapon_poolcue"] = "Pool Cue", + ["weapon_stone_hatchet"] = "Stone Hatchet", + ["weapon_switchblade"] = "Switchblade", + + -- Handguns + ["weapon_appistol"] = "AP Pistol", + ["weapon_ceramicpistol"] = "Ceramic Pistol", + ["weapon_combatpistol"] = "Combat Pistol", + ["weapon_doubleaction"] = "Double-Action Revolver", + ["weapon_navyrevolver"] = "Navy Revolver", + ["weapon_flaregun"] = "Flaregun", + ["weapon_gadgetpistol"] = "Gadget Pistol", + ["weapon_heavypistol"] = "Heavy Pistol", + ["weapon_revolver"] = "Heavy Revolver", + ["weapon_revolver_mk2"] = "Heavy Revolver MK2", + ["weapon_marksmanpistol"] = "Marksman Pistol", + ["weapon_pistol"] = "Pistol", + ["weapon_pistol_mk2"] = "Pistol MK2", + ["weapon_pistol50"] = "Pistol .50", + ["weapon_snspistol"] = "SNS Pistol", + ["weapon_snspistol_mk2"] = "SNS Pistol MK2", + ["weapon_stungun"] = "Taser", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "Vintage Pistol", + + -- Shotguns + ["weapon_assaultshotgun"] = "Assault Shotgun", + ["weapon_autoshotgun"] = "Auto Shotgun", + ["weapon_bullpupshotgun"] = "Bullpup Shotgun", + ["weapon_combatshotgun"] = "Combat Shotgun", + ["weapon_dbshotgun"] = "Double Barrel Shotgun", + ["weapon_heavyshotgun"] = "Heavy Shotgun", + ["weapon_musket"] = "Musket", + ["weapon_pumpshotgun"] = "Pump Shotgun", + ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", + ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", + + -- SMG & LMG + ["weapon_assaultsmg"] = "Assault SMG", + ["weapon_combatmg"] = "Combat MG", + ["weapon_combatmg_mk2"] = "Combat MG MK2", + ["weapon_combatpdw"] = "Combat PDW", + ["weapon_gusenberg"] = "Gusenberg Sweeper", + ["weapon_machinepistol"] = "Machine Pistol", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Micro SMG", + ["weapon_minismg"] = "Mini SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Unholy Hellbringer", + + -- Rifles + ["weapon_advancedrifle"] = "Advanced Rifle", + ["weapon_assaultrifle"] = "Assault Rifle", + ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", + ["weapon_bullpuprifle"] = "Bullpup Rifle", + ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", + ["weapon_carbinerifle"] = "Carbine Rifle", + ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", + ["weapon_compactrifle"] = "Compact Rifle", + ["weapon_militaryrifle"] = "Military Rifle", + ["weapon_specialcarbine"] = "Special Carbine", + ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", + + -- Sniper + ["weapon_heavysniper"] = "Heavy Sniper", + ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", + ["weapon_marksmanrifle"] = "Marksman Rifle", + ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", + ["weapon_sniperrifle"] = "Sniper Rifle", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "Compact Launcher", + ["weapon_firework"] = "Firework Launcher", + ["weapon_grenadelauncher"] = "Grenade Launcher", + ["weapon_hominglauncher"] = "Homing Launcher", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Railgun", + ["weapon_rpg"] = "Rocket Launcher", + ["weapon_rayminigun"] = "Widowmaker", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "Metal Detector", + ["weapon_precisionrifle"] = "Precision Rifle", + ["weapon_tactilerifle"] = "Service Carbine", + + -- Drug wars dlc + ["weapon_candycane"] = "Candycane", + ["weapon_acidpackage"] = "Acid Package", + ["weapon_pistolxm3"] = "Pistol8 x3m", + ["weapon_railgunxm3"] = "Railgun", + + -- Thrown + ["weapon_ball"] = "Baseball", + ["weapon_bzgas"] = "BZ Gas", + ["weapon_flare"] = "Flare", + ["weapon_grenade"] = "Grenade", + ["weapon_petrolcan"] = "Jerrycan", + ["weapon_hazardcan"] = "Hazardous Jerrycan", + ["weapon_molotov"] = "Molotov Cocktail", + ["weapon_proxmine"] = "Proximity Mine", + ["weapon_pipebomb"] = "Pipe Bomb", + ["weapon_snowball"] = "Snowball", + ["weapon_stickybomb"] = "Sticky Bomb", + ["weapon_smokegrenade"] = "Tear Gas", + + -- Special + ["weapon_fireextinguisher"] = "Pemadam Api", + ["weapon_digiscanner"] = "Digital Scanner", + ["weapon_garbagebag"] = "Kantong Sampah", + ["weapon_handcuffs"] = "Borgol", + ["gadget_nightvision"] = "Night Vision", + ["gadget_parachute"] = "Parasut", + + -- Weapon Components + ["component_knuckle_base"] = "base Model", + ["component_knuckle_pimp"] = "the Pimp", + ["component_knuckle_ballas"] = "the Ballas", + ["component_knuckle_dollar"] = "the Hustler", + ["component_knuckle_diamond"] = "the Rock", + ["component_knuckle_hate"] = "the Hater", + ["component_knuckle_love"] = "the Lover", + ["component_knuckle_player"] = "the Player", + ["component_knuckle_king"] = "the King", + ["component_knuckle_vagos"] = "the Vagos", + + ["component_luxary_finish"] = "luxary Weapon Finish", + + ["component_handle_default"] = "default Handle", + ["component_handle_vip"] = "vIP Handle", + ["component_handle_bodyguard"] = "bodyguard Handle", + + ["component_vip_finish"] = "vIP Finish", + ["component_bodyguard_finish"] = "bodyguard Finish", + + ["component_camo_finish"] = "digital Camo", + ["component_camo_finish2"] = "brushstroke Camo", + ["component_camo_finish3"] = "woodland Camo", + ["component_camo_finish4"] = "skull Camo", + ["component_camo_finish5"] = "sessanta Nove Camo", + ["component_camo_finish6"] = "perseus Camo", + ["component_camo_finish7"] = "leopard Camo", + ["component_camo_finish8"] = "zebra Camo", + ["component_camo_finish9"] = "geometric Camo", + ["component_camo_finish10"] = "boom Camo", + ["component_camo_finish11"] = "patriotic Camo", + + ["component_camo_slide_finish"] = "digital Slide Camo", + ["component_camo_slide_finish2"] = "brushstroke Slide Camo", + ["component_camo_slide_finish3"] = "woodland Slide Camo", + ["component_camo_slide_finish4"] = "skull Slide Camo", + ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", + ["component_camo_slide_finish6"] = "perseus Slide Camo", + ["component_camo_slide_finish7"] = "leopard Slide Camo", + ["component_camo_slide_finish8"] = "zebra Slide Camo", + ["component_camo_slide_finish9"] = "geometric Slide Camo", + ["component_camo_slide_finish10"] = "boom Slide Camo", + ["component_camo_slide_finish11"] = "patriotic Slide Camo", + + ["component_clip_default"] = "default Magazine", + ["component_clip_extended"] = "extended Magazine", + ["component_clip_drum"] = "drum Magazine", + ["component_clip_box"] = "box Magazine", + + ["component_scope_holo"] = "holographic Scope", + ["component_scope_small"] = "small Scope", + ["component_scope_medium"] = "medium Scope", + ["component_scope_large"] = "large Scope", + ["component_scope"] = "mounted Scope", + ["component_scope_advanced"] = "advanced Scope", + ["component_ironsights"] = "ironsights", + + ["component_suppressor"] = "suppressor", + ["component_compensator"] = "compensator", + + ["component_muzzle_flat"] = "flat Muzzle Brake", + ["component_muzzle_tactical"] = "tactical Muzzle Brake", + ["component_muzzle_fat"] = "fat-End Muzzle Brake", + ["component_muzzle_precision"] = "precision Muzzle Brake", + ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", + ["component_muzzle_slanted"] = "slanted Muzzle Brake", + ["component_muzzle_split"] = "split-End Muzzle Brake", + ["component_muzzle_squared"] = "squared Muzzle Brake", + + ["component_flashlight"] = "flashlight", + ["component_grip"] = "grip", + + ["component_barrel_default"] = "default Barrel", + ["component_barrel_heavy"] = "heavy Barrel", + + ["component_ammo_tracer"] = "tracer Ammo", + ["component_ammo_incendiary"] = "incendiary Ammo", + ["component_ammo_hollowpoint"] = "hollowpoint Ammo", + ["component_ammo_fmj"] = "fMJ Ammo", + ["component_ammo_armor"] = "armor Piercing Ammo", + ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", + + ["component_shells_default"] = "default Shells", + ["component_shells_incendiary"] = "dragons Breath Shells", + ["component_shells_armor"] = "steel Buckshot Shells", + ["component_shells_hollowpoint"] = "flechette Shells", + ["component_shells_explosive"] = "explosive Slug Shells", + + -- Weapon Ammo + ["ammo_rounds"] = "peluru", + ["ammo_shells"] = "peluru", + ["ammo_charge"] = "peluru", + ["ammo_petrol"] = "gallon bahan bakar", + ["ammo_firework"] = "kembang api", + ["ammo_rockets"] = "roket", + ["ammo_grenadelauncher"] = "granat", + ["ammo_grenade"] = "granat", + ["ammo_stickybomb"] = "bom", + ["ammo_pipebomb"] = "bom pipa", + ["ammo_smokebomb"] = "bom asap", + ["ammo_molotov"] = "molotov", + ["ammo_proxmine"] = "peledak", + ["ammo_bzgas"] = "kaleng", + ["ammo_ball"] = "bola", + ["ammo_snowball"] = "bola salju", + ["ammo_flare"] = "flare", + ["ammo_flaregun"] = "flare", + + -- Weapon Tints + ["tint_default"] = "default skin", + ["tint_green"] = "green skin", + ["tint_gold"] = "gold skin", + ["tint_pink"] = "pink skin", + ["tint_army"] = "army skin", + ["tint_lspd"] = "blue skin", + ["tint_orange"] = "orange skin", + ["tint_platinum"] = "platinum skin", } diff --git a/server-data/resources/[esx]/es_extended/locales/it.lua b/server-data/resources/[esx]/es_extended/locales/it.lua index ac5a9334f..24280c155 100644 --- a/server-data/resources/[esx]/es_extended/locales/it.lua +++ b/server-data/resources/[esx]/es_extended/locales/it.lua @@ -1,381 +1,381 @@ Locales["it"] = { - -- Inventory - ["inventory"] = "Inventario ( Peso %s / %s )", - ["use"] = "Usa", - ["give"] = "Dai", - ["remove"] = "Butta", - ["return"] = "Ritorna", - ["give_to"] = "Dai a", - ["amount"] = "Quantità", - ["giveammo"] = "Dai munizioni", - ["amountammo"] = "Quantità munizioni", - ["noammo"] = "Non abbastanza!", - ["gave_item"] = "Dando %sx %s a %s", - ["received_item"] = "Ricevuto %sx %s da %s", - ["gave_weapon"] = "Dando %s a %s", - ["gave_weapon_ammo"] = "Dando ~o~%sx %s for %s to %s", - ["gave_weapon_withammo"] = "Dando %s con ~o~%sx %s a %s", - ["gave_weapon_hasalready"] = "%s possiede già %s", - ["gave_weapon_noweapon"] = "%s non ha quell' arma", - ["received_weapon"] = "Ricevuto %s da %s", - ["received_weapon_ammo"] = "Ricevuto ~o~%sx %s per il tuo %s da %s", - ["received_weapon_withammo"] = "Ricevuto %s con ~o~%sx %s per %s", - ["received_weapon_hasalready"] = "%s ha tentato di darti %s, ma hai già l'arma", - ["received_weapon_noweapon"] = "%s ha tentato di darti munizioni per %s, ma non hai l'arma", - ["gave_account_money"] = "Dando $%s (%s) a %s", - ["received_account_money"] = "Ricevuto $%s (%s) da %s", - ["amount_invalid"] = "Quantità non valida", - ["players_nearby"] = "Nessun giocatore vicino", - ["ex_inv_lim"] = "Non puoi farlo, eccedi il peso di %s", - ["imp_invalid_quantity"] = "Non puoi farlo, quantità non valida", - ["imp_invalid_amount"] = "Non puoi farlo, importo non valido", - ["threw_standard"] = "Gettando %sx %s", - ["threw_account"] = "Gettando $%s %s", - ["threw_weapon"] = "Gettando %s", - ["threw_weapon_ammo"] = "Gettando %s con ~o~%sx %s", - ["threw_weapon_already"] = "Hai gia quest' arma", - ["threw_cannot_pickup"] = "Inventario pieno, non puoi raccogliere!", - ["threw_pickup_prompt"] = "Premi E per raccogliere", - - -- Key mapping - ["keymap_showinventory"] = "Apri inventario", - - -- Salary related - ["received_salary"] = "Sei stato pagato: $%s", - ["received_help"] = "Hai ricevuto il reddito di cittadinanza: $%s", - ["company_nomoney"] = "La tua compagnia è troppo povera per pagarti", - ["received_paycheck"] = "Ricveuto stipendio", - ["bank"] = "Banca", - ["account_bank"] = "Conto", - ["account_black_money"] = "Soldi sporchi", - ["account_money"] = "Contanti", - - ["act_imp"] = "Non puoi farlo", - ["in_vehicle"] = "Non puoi farlo, il giocatore è in un veicolo", - ["not_in_vehicle"] = "Non puoi farlo, il player non è in un veicolo", - - -- Commands - ["command_bring"] = "Porta il giocatore da te", - ["command_car"] = "Spawna un veicolo", - ["command_car_car"] = "Modello o hash veicolo", - ["command_cardel"] = "Rimuovi i veicoli nelle prossimità", - ["command_cardel_radius"] = "Rimuovi i veicoli nel raggio specificato", - ["command_repair"] = "Ripara il tuo veicolo", - ["command_repair_success"] = "Hai riparato il veicolo con successo", - ["command_repair_success_target"] = "Un admin ha riparato la tua macchina", - ["command_clear"] = "Pulisci la chat testuale", - ["command_clearall"] = "Pulisci la chat testuale per tutti i giocatori", - ["command_clearinventory"] = "Rimuovi tutti gli oggetti dall' inventario del giocatore", - ["command_clearloadout"] = "Rimuovi tutte le armi dal loadout del giocatore", - ["command_freeze"] = "Blocca un giocatore", - ["command_unfreeze"] = "Sblocca un giocatore", - ["command_giveaccountmoney"] = "Dai soldi a un' account specifico", - ["command_giveaccountmoney_account"] = "Account a cui aggiungere", - ["command_giveaccountmoney_amount"] = "Quantità da aggiungere", - ["command_giveaccountmoney_invalid"] = "Nome account non valido", - ["command_removeaccountmoney"] = "Rimuovi soldi da un account specifico", - ["command_removeaccountmoney_account"] = "Account a cui togliere", - ["command_removeaccountmoney_amount"] = "Quantità da rimuovere", - ["command_removeaccountmoney_invalid"] = "Nome account non valido", - ["command_giveitem"] = "Dai un oggetto ad un giocatore", - ["command_giveitem_item"] = "Nome oggetto", - ["command_giveitem_count"] = "Quantità", - ["command_giveweapon"] = "Dai un' arma ad un giocatore", - ["command_giveweapon_weapon"] = "Nome arma", - ["command_giveweapon_ammo"] = "Quantità munizioni", - ["command_giveweapon_hasalready"] = "Il giocatore ha già l'arma", - ["command_giveweaponcomponent"] = "Dai un componente arma ad un giocatore", - ["command_giveweaponcomponent_component"] = "Nome componente", - ["command_giveweaponcomponent_invalid"] = "Componente arma non valido", - ["command_giveweaponcomponent_hasalready"] = "Il giocatore ha già questo componente arma", - ["command_giveweaponcomponent_missingweapon"] = "Il giocatore non ha l'arma", - ["command_goto"] = "Teletrasportati da un giocatore", - ["command_kill"] = "Uccidi un giocatore", - ["command_save"] = "Salva forzatamente i dati di un giocatore", - ["command_saveall"] = "Salva forzatamente i dati di tutti igiocatoria", - ["command_setaccountmoney"] = "Aggiorna i soldi dentro un account specifico", - ["command_setaccountmoney_amount"] = "Quantità", - ["command_setcoords"] = "Teletrasportati a delle coordinate specifiche", - ["command_setcoords_x"] = "Valore X", - ["command_setcoords_y"] = "Valore Y", - ["command_setcoords_z"] = "Valore Z", - ["command_setjob"] = "Setta lavoro ad un giocatore", - ["command_setjob_job"] = "Nome", - ["command_setjob_grade"] = "Grado lavoro", - ["command_setjob_invalid"] = "Il lavoro, grado o entrambi sono errati", - ["command_setgroup"] = "Setta un gruppo di permessi ad un giocatore", - ["command_setgroup_group"] = "Nome del gruppo", - ["commanderror_argumentmismatch"] = "Conta argomenti non valida (passati %s, richiesti %s)", - ["commanderror_argumentmismatch_number"] = "Argomento #%s di tipologia errata (passato testo, richiesto numero)", - ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", - ["commanderror_invaliditem"] = "Oggetto non valido", - ["commanderror_invalidweapon"] = "Arma non valida", - ["commanderror_console"] = "Comando non eseguibile dalla console", - ["commanderror_invalidcommand"] = "Comando non valido - /%s", - ["commanderror_invalidplayerid"] = "Il giocatore specificato non è online", - ["commandgeneric_playerid"] = "Id server del giocatore", - ["command_giveammo_noweapon_found"] = "%s non ha quell' arma", - ["command_giveammo_weapon"] = "Nome arma", - ["command_giveammo_ammo"] = "Quantità munizioni", - ["tpm_nowaypoint"] = "Nessuna meta impostata", - ["tpm_success"] = "Teletrasportato con successo", - - ["noclip_message"] = "Noclip %s", - ["enabled"] = "~g~abilitato~s~", - ["disabled"] = "~r~disabilitato~s~", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "$%s", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "Pugnale Antico", - ["weapon_bat"] = "Mazza", - ["weapon_battleaxe"] = "Ascia", - ["weapon_bottle"] = "Bottiglia", - ["weapon_crowbar"] = "Piede di porco", - ["weapon_flashlight"] = "Torcia", - ["weapon_golfclub"] = "Mazza da golf", - ["weapon_hammer"] = "Martello", - ["weapon_hatchet"] = "Accetta", - ["weapon_knife"] = "Coltello", - ["weapon_knuckle"] = "Tirapugni", - ["weapon_machete"] = "Machete", - ["weapon_nightstick"] = "Manganello", - ["weapon_wrench"] = "Tubo", - ["weapon_poolcue"] = "Stecca", - ["weapon_stone_hatchet"] = "Accetta di pietra", - ["weapon_switchblade"] = "Coltello a serramanico", - - -- Handguns - ["weapon_appistol"] = "Pistola AP", - ["weapon_ceramicpistol"] = "Pistola di ceramica", - ["weapon_combatpistol"] = "Pistola da combattimento", - ["weapon_doubleaction"] = "Revolver doppia azione", - ["weapon_navyrevolver"] = "Revolver Marina", - ["weapon_flaregun"] = "Pistola lanciarazzi", - ["weapon_gadgetpistol"] = "Pistola Gadget", - ["weapon_heavypistol"] = "Pistola pesante", - ["weapon_revolver"] = "Revolver pesante", - ["weapon_revolver_mk2"] = "Revolver pesante MK2", - ["weapon_marksmanpistol"] = "Pistola da tiratore", - ["weapon_pistol"] = "Pistola", - ["weapon_pistol_mk2"] = "Pistola MK2", - ["weapon_pistol50"] = "Pistola .50", - ["weapon_snspistol"] = "Pistola SNS", - ["weapon_snspistol_mk2"] = "Pistola SNS MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Up-N-Atomizzatore", - ["weapon_vintagepistol"] = "Pistola Vintage", - - -- Shotguns - ["weapon_assaultshotgun"] = "Fucile a pompa d'assalto", - ["weapon_autoshotgun"] = "Fucile a pompa automatico", - ["weapon_bullpupshotgun"] = "Fucile a pompa Bullup", - ["weapon_combatshotgun"] = "Fucile a pompa da combattimento", - ["weapon_dbshotgun"] = "Fucile a pompa doppia canna", - ["weapon_heavyshotgun"] = "Fucile a pompa pesante", - ["weapon_musket"] = "Moschetto", - ["weapon_pumpshotgun"] = "Fucile a pompa", - ["weapon_pumpshotgun_mk2"] = "Fucile a pompa MK2", - ["weapon_sawnoffshotgun"] = "Fucile a canne mozza", - - -- SMG & LMG - ["weapon_assaultsmg"] = "SMG d'assalto", - ["weapon_combatmg"] = "MG da combattimento", - ["weapon_combatmg_mk2"] = "MG da combattimento MK2", - ["weapon_combatpdw"] = "PDW da combattimento", - ["weapon_gusenberg"] = "Mitragliatrice Gusenberg", - ["weapon_machinepistol"] = "Pistola mitragliatrice", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Micro SMG", - ["weapon_minismg"] = "Mini SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Hellbringer infernale", - - -- Rifles - ["weapon_advancedrifle"] = "Fucile avanzato", - ["weapon_assaultrifle"] = "Fucile d'assalto", - ["weapon_assaultrifle_mk2"] = "Fucile d' assalto MK2", - ["weapon_bullpuprifle"] = "Fucile Bullpup", - ["weapon_bullpuprifle_mk2"] = "Fucile Bullpup MK2", - ["weapon_carbinerifle"] = "Carabina", - ["weapon_carbinerifle_mk2"] = "Carbine MK2", - ["weapon_compactrifle"] = "Fucile compatto", - ["weapon_militaryrifle"] = "Fucile militare", - ["weapon_specialcarbine"] = "Carabina speciale", - ["weapon_specialcarbine_mk2"] = "Carabina speciale MK2", - ["weapon_heavyrifle"] = "Fucile pesante", - - -- Sniper - ["weapon_heavysniper"] = "Cecchino pesante", - ["weapon_heavysniper_mk2"] = "Cecchino pesante MK2", - ["weapon_marksmanrifle"] = "Fucile da tiratore", - ["weapon_marksmanrifle_mk2"] = "Fucile da tiratore MK2", - ["weapon_sniperrifle"] = "Cecchino", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Lanciagranate compatto", - ["weapon_firework"] = "Cannone pirotecnico", - ["weapon_grenadelauncher"] = "Lanciagranate", - ["weapon_hominglauncher"] = "Lanciarazzi a tracciamento", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Railgun", - ["weapon_rpg"] = "Lanciarazzi", - ["weapon_rayminigun"] = "Widowmaker", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "Metal Detector", - ["weapon_precisionrifle"] = "Fucile di precisione", - ["weapon_tactilerifle"] = "Carabina di servizio", - - -- Drug Wars DLC - ["weapon_candycane"] = "Bastoncino di zucchero", - ["weapon_acidpackage"] = "Pacco di acidi", - ["weapon_pistolxm3"] = "Pistola WM 29", - ["weapon_railgunxm3"] = "Railgun", - - -- Thrown - ["weapon_ball"] = "Palla", - ["weapon_bzgas"] = "BZ Gas", - ["weapon_flare"] = "Flare", - ["weapon_grenade"] = "Granata", - ["weapon_petrolcan"] = "Tanica", - ["weapon_hazardcan"] = "Tanica pericolosa", - ["weapon_molotov"] = "Molotov", - ["weapon_proxmine"] = "Mina di prossimità", - ["weapon_pipebomb"] = "Esplosivo plastico", - ["weapon_snowball"] = "Palla di neve", - ["weapon_stickybomb"] = "Bomba adesiva", - ["weapon_smokegrenade"] = "Gas lacrimogeno", - - -- Special - ["weapon_fireextinguisher"] = "Estintore", - ["weapon_digiscanner"] = "Scanner digitale", - ["weapon_garbagebag"] = "Sacco della spazzatura", - ["weapon_handcuffs"] = "Manette", - ["gadget_nightvision"] = "Visore termico", - ["gadget_parachute"] = "Paracadute", - - -- Weapon Components - ["component_knuckle_base"] = "Modello basa", - ["component_knuckle_pimp"] = "il Pappone", - ["component_knuckle_ballas"] = "i Ballas", - ["component_knuckle_dollar"] = "il Riccone", - ["component_knuckle_diamond"] = "la Roccia", - ["component_knuckle_hate"] = "l' Hater", - ["component_knuckle_love"] = "l' Amante", - ["component_knuckle_player"] = "il Giocatore", - ["component_knuckle_king"] = "il Re", - ["component_knuckle_vagos"] = "i Vagos", - - ["component_luxary_finish"] = "rifinitura di lusso", - - ["component_handle_default"] = "impugnatura base", - ["component_handle_vip"] = "impugnatura VIP", - ["component_handle_bodyguard"] = "impugnatura guardia del corpo", - - ["component_vip_finish"] = "rifinitura VIP", - ["component_bodyguard_finish"] = "rifinitura Guardia del corpo", - - ["component_camo_finish"] = "mimetica Digitale", - ["component_camo_finish2"] = "mimetica Cespuglio", - ["component_camo_finish3"] = "mimetica Legnosa", - ["component_camo_finish4"] = "mimetica Teschio", - ["component_camo_finish5"] = "mimetica Sessanta Nove", - ["component_camo_finish6"] = "mimetica Perseo", - ["component_camo_finish7"] = "mimetica Leopardata", - ["component_camo_finish8"] = "mimetica Zebra", - ["component_camo_finish9"] = "mimetica Geometrica", - ["component_camo_finish10"] = "mimetica Boom", - ["component_camo_finish11"] = "mimetica Patriottica", - - ["component_camo_slide_finish"] = "mimetica Digitale Slide", - ["component_camo_slide_finish2"] = "mimetica Cespuglio Slide", - ["component_camo_slide_finish3"] = "mimetica Legnosa Slide", - ["component_camo_slide_finish4"] = "mimetica Teschio Slide", - ["component_camo_slide_finish5"] = "mimetica Sessanta Nove Slide", - ["component_camo_slide_finish6"] = "mimetica Perseo Slide", - ["component_camo_slide_finish7"] = "mimetica Leopardata Slide", - ["component_camo_slide_finish8"] = "mimetica Zebra Slide", - ["component_camo_slide_finish9"] = "mimetica Geometrica Slide", - ["component_camo_slide_finish10"] = "mimetica Boom Slide", - ["component_camo_slide_finish11"] = "mimetica Patriottica Slide", - - ["component_clip_default"] = "caricatore Standard", - ["component_clip_extended"] = "caricatore Esteso", - ["component_clip_drum"] = "caricatore A Batteria", - ["component_clip_box"] = "caricatore A Scatola", - - ["component_scope_holo"] = "mirino Olografico", - ["component_scope_small"] = "mirino Piccolo", - ["component_scope_medium"] = "mirino Medio", - ["component_scope_large"] = "mirino Largo", - ["component_scope"] = "mirino Montato", - ["component_scope_advanced"] = "mirino Avanzato", - ["component_ironsights"] = "integrato", - - ["component_suppressor"] = "silenziatore", - ["component_compensator"] = "compensatore", - - ["component_muzzle_flat"] = "freno Di Bocca Piatto", - ["component_muzzle_tactical"] = "freno Di Bocca Tattico", - ["component_muzzle_fat"] = "freno Di Bocca Grosso", - ["component_muzzle_precision"] = "freno Di Bocca Di Precisione", - ["component_muzzle_heavy"] = "freno Di Bocca Pesante", - ["component_muzzle_slanted"] = "freno Di Bocca Inclinato", - ["component_muzzle_split"] = "freno Di Bocca Diviso", - ["component_muzzle_squared"] = "freno Di Bocca Quadrato", - - ["component_flashlight"] = "torcia", - ["component_grip"] = "impugnatura", - - ["component_barrel_default"] = "canna Standard", - ["component_barrel_heavy"] = "canna Pesante", - - ["component_ammo_tracer"] = "munizioni Traccianti", - ["component_ammo_incendiary"] = "munizioni Incendiarie", - ["component_ammo_hollowpoint"] = "munizioni a Punta Cava", - ["component_ammo_fmj"] = "munizioni fMj", - ["component_ammo_armor"] = "munizioni penetranti", - ["component_ammo_explosive"] = "munizioni penetranti incendiarie", - - ["component_shells_default"] = "cartucce Standard", - ["component_shells_incendiary"] = "cartucce alito di Drago", - ["component_shells_armor"] = "cartucce a pallettoni", - ["component_shells_hollowpoint"] = "cartucce a freccette", - ["component_shells_explosive"] = "cartucce esplosive", - - -- Weapon Ammo - ["ammo_rounds"] = "colpo(i)", - ["ammo_shells"] = "cartuccia(e)", - ["ammo_charge"] = "carica", - ["ammo_petrol"] = "Litri di carburante", - ["ammo_firework"] = "fuochi d'artificio", - ["ammo_rockets"] = "razzo(i)", - ["ammo_grenadelauncher"] = "granata(e)", - ["ammo_grenade"] = "granata(e)", - ["ammo_stickybomb"] = "bomba(e)", - ["ammo_pipebomb"] = "bomba(e)", - ["ammo_smokebomb"] = "bomba(e)", - ["ammo_molotov"] = "bottiglia(e)", - ["ammo_proxmine"] = "mina(e)", - ["ammo_bzgas"] = "latta(e)", - ["ammo_ball"] = "palla(e)", - ["ammo_snowball"] = "palle di neve", - ["ammo_flare"] = "razzo(i)", - ["ammo_flaregun"] = "razzo(i)", - - -- Weapon Tints - ["tint_default"] = "Colore standard", - ["tint_green"] = "color verde", - ["tint_gold"] = "color oro", - ["tint_pink"] = "color rosa", - ["tint_army"] = "color army", - ["tint_lspd"] = "color blu", - ["tint_orange"] = "color arancio", - ["tint_platinum"] = "color platino", + -- Inventory + ["inventory"] = "Inventario ( Peso %s / %s )", + ["use"] = "Usa", + ["give"] = "Dai", + ["remove"] = "Butta", + ["return"] = "Ritorna", + ["give_to"] = "Dai a", + ["amount"] = "Quantità", + ["giveammo"] = "Dai munizioni", + ["amountammo"] = "Quantità munizioni", + ["noammo"] = "Non abbastanza!", + ["gave_item"] = "Dando %sx %s a %s", + ["received_item"] = "Ricevuto %sx %s da %s", + ["gave_weapon"] = "Dando %s a %s", + ["gave_weapon_ammo"] = "Dando ~o~%sx %s for %s to %s", + ["gave_weapon_withammo"] = "Dando %s con ~o~%sx %s a %s", + ["gave_weapon_hasalready"] = "%s possiede già %s", + ["gave_weapon_noweapon"] = "%s non ha quell' arma", + ["received_weapon"] = "Ricevuto %s da %s", + ["received_weapon_ammo"] = "Ricevuto ~o~%sx %s per il tuo %s da %s", + ["received_weapon_withammo"] = "Ricevuto %s con ~o~%sx %s per %s", + ["received_weapon_hasalready"] = "%s ha tentato di darti %s, ma hai già l'arma", + ["received_weapon_noweapon"] = "%s ha tentato di darti munizioni per %s, ma non hai l'arma", + ["gave_account_money"] = "Dando $%s (%s) a %s", + ["received_account_money"] = "Ricevuto $%s (%s) da %s", + ["amount_invalid"] = "Quantità non valida", + ["players_nearby"] = "Nessun giocatore vicino", + ["ex_inv_lim"] = "Non puoi farlo, eccedi il peso di %s", + ["imp_invalid_quantity"] = "Non puoi farlo, quantità non valida", + ["imp_invalid_amount"] = "Non puoi farlo, importo non valido", + ["threw_standard"] = "Gettando %sx %s", + ["threw_account"] = "Gettando $%s %s", + ["threw_weapon"] = "Gettando %s", + ["threw_weapon_ammo"] = "Gettando %s con ~o~%sx %s", + ["threw_weapon_already"] = "Hai gia quest' arma", + ["threw_cannot_pickup"] = "Inventario pieno, non puoi raccogliere!", + ["threw_pickup_prompt"] = "Premi E per raccogliere", + + -- Key mapping + ["keymap_showinventory"] = "Apri inventario", + + -- Salary related + ["received_salary"] = "Sei stato pagato: $%s", + ["received_help"] = "Hai ricevuto il reddito di cittadinanza: $%s", + ["company_nomoney"] = "La tua compagnia è troppo povera per pagarti", + ["received_paycheck"] = "Ricveuto stipendio", + ["bank"] = "Banca", + ["account_bank"] = "Conto", + ["account_black_money"] = "Soldi sporchi", + ["account_money"] = "Contanti", + + ["act_imp"] = "Non puoi farlo", + ["in_vehicle"] = "Non puoi farlo, il giocatore è in un veicolo", + ["not_in_vehicle"] = "Non puoi farlo, il player non è in un veicolo", + + -- Commands + ["command_bring"] = "Porta il giocatore da te", + ["command_car"] = "Spawna un veicolo", + ["command_car_car"] = "Modello o hash veicolo", + ["command_cardel"] = "Rimuovi i veicoli nelle prossimità", + ["command_cardel_radius"] = "Rimuovi i veicoli nel raggio specificato", + ["command_repair"] = "Ripara il tuo veicolo", + ["command_repair_success"] = "Hai riparato il veicolo con successo", + ["command_repair_success_target"] = "Un admin ha riparato la tua macchina", + ["command_clear"] = "Pulisci la chat testuale", + ["command_clearall"] = "Pulisci la chat testuale per tutti i giocatori", + ["command_clearinventory"] = "Rimuovi tutti gli oggetti dall' inventario del giocatore", + ["command_clearloadout"] = "Rimuovi tutte le armi dal loadout del giocatore", + ["command_freeze"] = "Blocca un giocatore", + ["command_unfreeze"] = "Sblocca un giocatore", + ["command_giveaccountmoney"] = "Dai soldi a un' account specifico", + ["command_giveaccountmoney_account"] = "Account a cui aggiungere", + ["command_giveaccountmoney_amount"] = "Quantità da aggiungere", + ["command_giveaccountmoney_invalid"] = "Nome account non valido", + ["command_removeaccountmoney"] = "Rimuovi soldi da un account specifico", + ["command_removeaccountmoney_account"] = "Account a cui togliere", + ["command_removeaccountmoney_amount"] = "Quantità da rimuovere", + ["command_removeaccountmoney_invalid"] = "Nome account non valido", + ["command_giveitem"] = "Dai un oggetto ad un giocatore", + ["command_giveitem_item"] = "Nome oggetto", + ["command_giveitem_count"] = "Quantità", + ["command_giveweapon"] = "Dai un' arma ad un giocatore", + ["command_giveweapon_weapon"] = "Nome arma", + ["command_giveweapon_ammo"] = "Quantità munizioni", + ["command_giveweapon_hasalready"] = "Il giocatore ha già l'arma", + ["command_giveweaponcomponent"] = "Dai un componente arma ad un giocatore", + ["command_giveweaponcomponent_component"] = "Nome componente", + ["command_giveweaponcomponent_invalid"] = "Componente arma non valido", + ["command_giveweaponcomponent_hasalready"] = "Il giocatore ha già questo componente arma", + ["command_giveweaponcomponent_missingweapon"] = "Il giocatore non ha l'arma", + ["command_goto"] = "Teletrasportati da un giocatore", + ["command_kill"] = "Uccidi un giocatore", + ["command_save"] = "Salva forzatamente i dati di un giocatore", + ["command_saveall"] = "Salva forzatamente i dati di tutti igiocatoria", + ["command_setaccountmoney"] = "Aggiorna i soldi dentro un account specifico", + ["command_setaccountmoney_amount"] = "Quantità", + ["command_setcoords"] = "Teletrasportati a delle coordinate specifiche", + ["command_setcoords_x"] = "Valore X", + ["command_setcoords_y"] = "Valore Y", + ["command_setcoords_z"] = "Valore Z", + ["command_setjob"] = "Setta lavoro ad un giocatore", + ["command_setjob_job"] = "Nome", + ["command_setjob_grade"] = "Grado lavoro", + ["command_setjob_invalid"] = "Il lavoro, grado o entrambi sono errati", + ["command_setgroup"] = "Setta un gruppo di permessi ad un giocatore", + ["command_setgroup_group"] = "Nome del gruppo", + ["commanderror_argumentmismatch"] = "Conta argomenti non valida (passati %s, richiesti %s)", + ["commanderror_argumentmismatch_number"] = "Argomento #%s di tipologia errata (passato testo, richiesto numero)", + ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", + ["commanderror_invaliditem"] = "Oggetto non valido", + ["commanderror_invalidweapon"] = "Arma non valida", + ["commanderror_console"] = "Comando non eseguibile dalla console", + ["commanderror_invalidcommand"] = "Comando non valido - /%s", + ["commanderror_invalidplayerid"] = "Il giocatore specificato non è online", + ["commandgeneric_playerid"] = "Id server del giocatore", + ["command_giveammo_noweapon_found"] = "%s non ha quell' arma", + ["command_giveammo_weapon"] = "Nome arma", + ["command_giveammo_ammo"] = "Quantità munizioni", + ["tpm_nowaypoint"] = "Nessuna meta impostata", + ["tpm_success"] = "Teletrasportato con successo", + + ["noclip_message"] = "Noclip %s", + ["enabled"] = "~g~abilitato~s~", + ["disabled"] = "~r~disabilitato~s~", + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "$%s", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "Pugnale Antico", + ["weapon_bat"] = "Mazza", + ["weapon_battleaxe"] = "Ascia", + ["weapon_bottle"] = "Bottiglia", + ["weapon_crowbar"] = "Piede di porco", + ["weapon_flashlight"] = "Torcia", + ["weapon_golfclub"] = "Mazza da golf", + ["weapon_hammer"] = "Martello", + ["weapon_hatchet"] = "Accetta", + ["weapon_knife"] = "Coltello", + ["weapon_knuckle"] = "Tirapugni", + ["weapon_machete"] = "Machete", + ["weapon_nightstick"] = "Manganello", + ["weapon_wrench"] = "Tubo", + ["weapon_poolcue"] = "Stecca", + ["weapon_stone_hatchet"] = "Accetta di pietra", + ["weapon_switchblade"] = "Coltello a serramanico", + + -- Handguns + ["weapon_appistol"] = "Pistola AP", + ["weapon_ceramicpistol"] = "Pistola di ceramica", + ["weapon_combatpistol"] = "Pistola da combattimento", + ["weapon_doubleaction"] = "Revolver doppia azione", + ["weapon_navyrevolver"] = "Revolver Marina", + ["weapon_flaregun"] = "Pistola lanciarazzi", + ["weapon_gadgetpistol"] = "Pistola Gadget", + ["weapon_heavypistol"] = "Pistola pesante", + ["weapon_revolver"] = "Revolver pesante", + ["weapon_revolver_mk2"] = "Revolver pesante MK2", + ["weapon_marksmanpistol"] = "Pistola da tiratore", + ["weapon_pistol"] = "Pistola", + ["weapon_pistol_mk2"] = "Pistola MK2", + ["weapon_pistol50"] = "Pistola .50", + ["weapon_snspistol"] = "Pistola SNS", + ["weapon_snspistol_mk2"] = "Pistola SNS MK2", + ["weapon_stungun"] = "Taser", + ["weapon_raypistol"] = "Up-N-Atomizzatore", + ["weapon_vintagepistol"] = "Pistola Vintage", + + -- Shotguns + ["weapon_assaultshotgun"] = "Fucile a pompa d'assalto", + ["weapon_autoshotgun"] = "Fucile a pompa automatico", + ["weapon_bullpupshotgun"] = "Fucile a pompa Bullup", + ["weapon_combatshotgun"] = "Fucile a pompa da combattimento", + ["weapon_dbshotgun"] = "Fucile a pompa doppia canna", + ["weapon_heavyshotgun"] = "Fucile a pompa pesante", + ["weapon_musket"] = "Moschetto", + ["weapon_pumpshotgun"] = "Fucile a pompa", + ["weapon_pumpshotgun_mk2"] = "Fucile a pompa MK2", + ["weapon_sawnoffshotgun"] = "Fucile a canne mozza", + + -- SMG & LMG + ["weapon_assaultsmg"] = "SMG d'assalto", + ["weapon_combatmg"] = "MG da combattimento", + ["weapon_combatmg_mk2"] = "MG da combattimento MK2", + ["weapon_combatpdw"] = "PDW da combattimento", + ["weapon_gusenberg"] = "Mitragliatrice Gusenberg", + ["weapon_machinepistol"] = "Pistola mitragliatrice", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Micro SMG", + ["weapon_minismg"] = "Mini SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Hellbringer infernale", + + -- Rifles + ["weapon_advancedrifle"] = "Fucile avanzato", + ["weapon_assaultrifle"] = "Fucile d'assalto", + ["weapon_assaultrifle_mk2"] = "Fucile d' assalto MK2", + ["weapon_bullpuprifle"] = "Fucile Bullpup", + ["weapon_bullpuprifle_mk2"] = "Fucile Bullpup MK2", + ["weapon_carbinerifle"] = "Carabina", + ["weapon_carbinerifle_mk2"] = "Carbine MK2", + ["weapon_compactrifle"] = "Fucile compatto", + ["weapon_militaryrifle"] = "Fucile militare", + ["weapon_specialcarbine"] = "Carabina speciale", + ["weapon_specialcarbine_mk2"] = "Carabina speciale MK2", + ["weapon_heavyrifle"] = "Fucile pesante", + + -- Sniper + ["weapon_heavysniper"] = "Cecchino pesante", + ["weapon_heavysniper_mk2"] = "Cecchino pesante MK2", + ["weapon_marksmanrifle"] = "Fucile da tiratore", + ["weapon_marksmanrifle_mk2"] = "Fucile da tiratore MK2", + ["weapon_sniperrifle"] = "Cecchino", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "Lanciagranate compatto", + ["weapon_firework"] = "Cannone pirotecnico", + ["weapon_grenadelauncher"] = "Lanciagranate", + ["weapon_hominglauncher"] = "Lanciarazzi a tracciamento", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Railgun", + ["weapon_rpg"] = "Lanciarazzi", + ["weapon_rayminigun"] = "Widowmaker", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "Metal Detector", + ["weapon_precisionrifle"] = "Fucile di precisione", + ["weapon_tactilerifle"] = "Carabina di servizio", + + -- Drug Wars DLC + ["weapon_candycane"] = "Bastoncino di zucchero", + ["weapon_acidpackage"] = "Pacco di acidi", + ["weapon_pistolxm3"] = "Pistola WM 29", + ["weapon_railgunxm3"] = "Railgun", + + -- Thrown + ["weapon_ball"] = "Palla", + ["weapon_bzgas"] = "BZ Gas", + ["weapon_flare"] = "Flare", + ["weapon_grenade"] = "Granata", + ["weapon_petrolcan"] = "Tanica", + ["weapon_hazardcan"] = "Tanica pericolosa", + ["weapon_molotov"] = "Molotov", + ["weapon_proxmine"] = "Mina di prossimità", + ["weapon_pipebomb"] = "Esplosivo plastico", + ["weapon_snowball"] = "Palla di neve", + ["weapon_stickybomb"] = "Bomba adesiva", + ["weapon_smokegrenade"] = "Gas lacrimogeno", + + -- Special + ["weapon_fireextinguisher"] = "Estintore", + ["weapon_digiscanner"] = "Scanner digitale", + ["weapon_garbagebag"] = "Sacco della spazzatura", + ["weapon_handcuffs"] = "Manette", + ["gadget_nightvision"] = "Visore termico", + ["gadget_parachute"] = "Paracadute", + + -- Weapon Components + ["component_knuckle_base"] = "Modello basa", + ["component_knuckle_pimp"] = "il Pappone", + ["component_knuckle_ballas"] = "i Ballas", + ["component_knuckle_dollar"] = "il Riccone", + ["component_knuckle_diamond"] = "la Roccia", + ["component_knuckle_hate"] = "l' Hater", + ["component_knuckle_love"] = "l' Amante", + ["component_knuckle_player"] = "il Giocatore", + ["component_knuckle_king"] = "il Re", + ["component_knuckle_vagos"] = "i Vagos", + + ["component_luxary_finish"] = "rifinitura di lusso", + + ["component_handle_default"] = "impugnatura base", + ["component_handle_vip"] = "impugnatura VIP", + ["component_handle_bodyguard"] = "impugnatura guardia del corpo", + + ["component_vip_finish"] = "rifinitura VIP", + ["component_bodyguard_finish"] = "rifinitura Guardia del corpo", + + ["component_camo_finish"] = "mimetica Digitale", + ["component_camo_finish2"] = "mimetica Cespuglio", + ["component_camo_finish3"] = "mimetica Legnosa", + ["component_camo_finish4"] = "mimetica Teschio", + ["component_camo_finish5"] = "mimetica Sessanta Nove", + ["component_camo_finish6"] = "mimetica Perseo", + ["component_camo_finish7"] = "mimetica Leopardata", + ["component_camo_finish8"] = "mimetica Zebra", + ["component_camo_finish9"] = "mimetica Geometrica", + ["component_camo_finish10"] = "mimetica Boom", + ["component_camo_finish11"] = "mimetica Patriottica", + + ["component_camo_slide_finish"] = "mimetica Digitale Slide", + ["component_camo_slide_finish2"] = "mimetica Cespuglio Slide", + ["component_camo_slide_finish3"] = "mimetica Legnosa Slide", + ["component_camo_slide_finish4"] = "mimetica Teschio Slide", + ["component_camo_slide_finish5"] = "mimetica Sessanta Nove Slide", + ["component_camo_slide_finish6"] = "mimetica Perseo Slide", + ["component_camo_slide_finish7"] = "mimetica Leopardata Slide", + ["component_camo_slide_finish8"] = "mimetica Zebra Slide", + ["component_camo_slide_finish9"] = "mimetica Geometrica Slide", + ["component_camo_slide_finish10"] = "mimetica Boom Slide", + ["component_camo_slide_finish11"] = "mimetica Patriottica Slide", + + ["component_clip_default"] = "caricatore Standard", + ["component_clip_extended"] = "caricatore Esteso", + ["component_clip_drum"] = "caricatore A Batteria", + ["component_clip_box"] = "caricatore A Scatola", + + ["component_scope_holo"] = "mirino Olografico", + ["component_scope_small"] = "mirino Piccolo", + ["component_scope_medium"] = "mirino Medio", + ["component_scope_large"] = "mirino Largo", + ["component_scope"] = "mirino Montato", + ["component_scope_advanced"] = "mirino Avanzato", + ["component_ironsights"] = "integrato", + + ["component_suppressor"] = "silenziatore", + ["component_compensator"] = "compensatore", + + ["component_muzzle_flat"] = "freno Di Bocca Piatto", + ["component_muzzle_tactical"] = "freno Di Bocca Tattico", + ["component_muzzle_fat"] = "freno Di Bocca Grosso", + ["component_muzzle_precision"] = "freno Di Bocca Di Precisione", + ["component_muzzle_heavy"] = "freno Di Bocca Pesante", + ["component_muzzle_slanted"] = "freno Di Bocca Inclinato", + ["component_muzzle_split"] = "freno Di Bocca Diviso", + ["component_muzzle_squared"] = "freno Di Bocca Quadrato", + + ["component_flashlight"] = "torcia", + ["component_grip"] = "impugnatura", + + ["component_barrel_default"] = "canna Standard", + ["component_barrel_heavy"] = "canna Pesante", + + ["component_ammo_tracer"] = "munizioni Traccianti", + ["component_ammo_incendiary"] = "munizioni Incendiarie", + ["component_ammo_hollowpoint"] = "munizioni a Punta Cava", + ["component_ammo_fmj"] = "munizioni fMj", + ["component_ammo_armor"] = "munizioni penetranti", + ["component_ammo_explosive"] = "munizioni penetranti incendiarie", + + ["component_shells_default"] = "cartucce Standard", + ["component_shells_incendiary"] = "cartucce alito di Drago", + ["component_shells_armor"] = "cartucce a pallettoni", + ["component_shells_hollowpoint"] = "cartucce a freccette", + ["component_shells_explosive"] = "cartucce esplosive", + + -- Weapon Ammo + ["ammo_rounds"] = "colpo(i)", + ["ammo_shells"] = "cartuccia(e)", + ["ammo_charge"] = "carica", + ["ammo_petrol"] = "Litri di carburante", + ["ammo_firework"] = "fuochi d'artificio", + ["ammo_rockets"] = "razzo(i)", + ["ammo_grenadelauncher"] = "granata(e)", + ["ammo_grenade"] = "granata(e)", + ["ammo_stickybomb"] = "bomba(e)", + ["ammo_pipebomb"] = "bomba(e)", + ["ammo_smokebomb"] = "bomba(e)", + ["ammo_molotov"] = "bottiglia(e)", + ["ammo_proxmine"] = "mina(e)", + ["ammo_bzgas"] = "latta(e)", + ["ammo_ball"] = "palla(e)", + ["ammo_snowball"] = "palle di neve", + ["ammo_flare"] = "razzo(i)", + ["ammo_flaregun"] = "razzo(i)", + + -- Weapon Tints + ["tint_default"] = "Colore standard", + ["tint_green"] = "color verde", + ["tint_gold"] = "color oro", + ["tint_pink"] = "color rosa", + ["tint_army"] = "color army", + ["tint_lspd"] = "color blu", + ["tint_orange"] = "color arancio", + ["tint_platinum"] = "color platino", } diff --git a/server-data/resources/[esx]/es_extended/locales/nl.lua b/server-data/resources/[esx]/es_extended/locales/nl.lua index 5c4b55190..b6a699aca 100644 --- a/server-data/resources/[esx]/es_extended/locales/nl.lua +++ b/server-data/resources/[esx]/es_extended/locales/nl.lua @@ -1,372 +1,372 @@ Locales["nl"] = { - -- Inventory - ["inventory"] = "Inventaris ( Gewicht %s / %s )", - ["use"] = "Gebruik", - ["give"] = "Geef", - ["remove"] = "Gooi", - ["return"] = "Terug", - ["give_to"] = "Geef aan", - ["amount"] = "Aantal", - ["giveammo"] = "Geef munitie", - ["amountammo"] = "Hoeveelheid munitie", - ["noammo"] = "Niet genoeg munitie!", - ["gave_item"] = "%sx %s gegeven aan %s", - ["received_item"] = "%sx %s ontvangen van %s", - ["gave_weapon"] = "%s gegeven aan %s", - ["gave_weapon_ammo"] = "~o~%sx %s gegeven voor een %s aan %s", - ["gave_weapon_withammo"] = "%s gegeven met ~o~%sx %s aan %s", - ["gave_weapon_hasalready"] = "%s heeft al een %s", - ["gave_weapon_noweapon"] = "%s heeft dat wapen niet", - ["received_weapon"] = "%s ontvangen van %s", - ["received_weapon_ammo"] = "~o~%sx %s ontvangen voor je %s van %s", - ["received_weapon_withammo"] = "%s ontvangen met ~o~%sx %s van %s", - ["received_weapon_hasalready"] = "%s heeft geprobeerd je een %s te geven, maar je hebt dat wapen al.", - ["received_weapon_noweapon"] = "%s heeft geprobeerd je ammo te geven voor een %s, maar je hebt dit wapen niet", - ["gave_account_money"] = "€%s (%s) gegeven aan %s", - ["received_account_money"] = "€%s (%s) ontvangen van %s", - ["amount_invalid"] = "Ongeldige hoeveelheid", - ["players_nearby"] = "Geen spelers in de buurt", - ["ex_inv_lim"] = "Kan actie niet uitvoeren, overschrijdt max. gewicht van %s", - ["imp_invalid_quantity"] = "Kan actie niet uitvoeren, de hoeveelheid is ongeldig", - ["imp_invalid_amount"] = "Kan actie niet uitvoeren, het aantal is ongeldig", - ["threw_standard"] = "%sx %s weggegooid", - ["threw_account"] = "€%s %s weggegooid", - ["threw_weapon"] = "%s weggegooid", - ["threw_weapon_ammo"] = "%s met ~o~%sx %s weggegooid", - ["threw_weapon_already"] = "Je hebt dit wapen al !", - ["threw_cannot_pickup"] = "Inventaris is vol, je kan dit niet oppakken!", - ["threw_pickup_prompt"] = "Druk op E om op te pakken", - - -- Key mapping - ["keymap_showinventory"] = "Laat inventaris zien", - - -- Salary related - ["received_salary"] = "Je bent betaald: €%s", - ["received_help"] = "Je hebt je uitkering gekregen: €%s", - ["company_nomoney"] = "Het bedrijf waar je bij werkt heeft te weinig geld om je uit te betalen.", - ["received_paycheck"] = "salaris ontvangen", - ["bank"] = "Maze Bank", - ["account_bank"] = "Bank", - ["account_black_money"] = "Zwart geld", - ["account_money"] = "Contant", - - ["act_imp"] = "Kan actie niet uitvoeren", - ["in_vehicle"] = "Kan actie niet uitvoeren, de speler zit in een voertuig.", - - -- Commands - ["command_bring"] = "Breng speler naar jou", - ["command_car"] = "Spawn een voertuig", - ["command_car_car"] = "Voertuig model of hash", - ["command_cardel"] = "Verwijder voertuigen in straal", - ["command_cardel_radius"] = "Verwijderd alle voertuigen in gewenste straal", - ["command_clear"] = "Verwijder chat berichten", - ["command_clearall"] = "Verwijder chat berichten voor alle spelers", - ["command_clearinventory"] = "Verwijder alle items van een speler zijn inventory", - ["command_clearloadout"] = "Verwijder alle wapens die een speler heeft", - ["command_freeze"] = "Freeze een speler", - ["command_unfreeze"] = "Unfreeze een speler", - ["command_giveaccountmoney"] = "Geef geld aan een rekening", - ["command_giveaccountmoney_account"] = "Account om aan toe te voegen", - ["command_giveaccountmoney_amount"] = "Bedrag om toe te voegen", - ["command_giveaccountmoney_invalid"] = "Account Naam ongeldig", - ["command_giveitem"] = "Geef speler een item", - ["command_giveitem_item"] = "Item naam", - ["command_giveitem_count"] = "Hoeveelheid", - ["command_giveweapon"] = "Geef de speler een wapen", - ["command_giveweapon_weapon"] = "Wapen naam", - ["command_giveweapon_ammo"] = "Munitie Hoeveelheid", - ["command_giveweapon_hasalready"] = "Speler heeft dit wapen al", - ["command_giveweaponcomponent"] = "Geef wapen component aan speler", - ["command_giveweaponcomponent_component"] = "Component naam", - ["command_giveweaponcomponent_invalid"] = "Ongeldig wapen component", - ["command_giveweaponcomponent_hasalready"] = "De speler heeft dit wapen component al", - ["command_giveweaponcomponent_missingweapon"] = "De speler heeft dit wapen niet", - ["command_goto"] = "Teleporteer jezelf naar een speler", - ["command_kill"] = "Vermoord een speler", - ["command_save"] = "Slaag een speler zijn spelerdata geforceerd op", - ["command_saveall"] = "Slaag iedereen zijn spelerdata geforceerd op", - ["command_setaccountmoney"] = "Stel geld in op een account", - ["command_setaccountmoney_amount"] = "Hoeveelheid", - ["command_setcoords"] = "Telepeer naar coordinaten", - ["command_setcoords_x"] = "X waarde", - ["command_setcoords_y"] = "Y waarde", - ["command_setcoords_z"] = "Z waarde", - ["command_setjob"] = "Zet een speler zijn / haar job", - ["command_setjob_job"] = "Naam", - ["command_setjob_grade"] = "Job grade", - ["command_setjob_invalid"] = "De job, grade of beide zijn ongeldig", - ["command_setgroup"] = "Stel een toestemmingsgroep voor spelers in", - ["command_setgroup_group"] = "Naam van groep", - ["commanderror_argumentmismatch"] = "Ongeldig aantal argumenten (geslaagd %s, gezocht %s)", - ["commanderror_argumentmismatch_number"] = "Ongeldig argument #%s gegevenstype (doorgegeven string, gewenst nummer)", - ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (doorgegeven string, gewenst nummer)", - ["commanderror_invaliditem"] = "Ongeldig item", - ["commanderror_invalidweapon"] = "Ongeldig wapen", - ["commanderror_console"] = "Command kan niet worden uitgevoerd vanaf console.", - ["commanderror_invalidcommand"] = "Ongeldig commando - /%s", - ["commanderror_invalidplayerid"] = "Opgegeven speler is niet online", - ["commandgeneric_playerid"] = "Speler server id", - ["command_giveammo_noweapon_found"] = "%s heeft dat wapen niet", - ["command_giveammo_weapon"] = "Wapen naam", - ["command_giveammo_ammo"] = "Munitie Hoeveelheid", - ["tpm_nowaypoint"] = "Geen navigatie ingesteld.", - ["tpm_success"] = "Successvol geteleporteerd", - - ["noclip_message"] = "Noclip is %s", - ["enabled"] = "~g~aangezet~s~", - ["disabled"] = "~r~uitgezet~s~", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "€%s", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "Dolk", - ["weapon_bat"] = "Knuppel", - ["weapon_battleaxe"] = "Gevechtsbijl", - ["weapon_bottle"] = "Fles", - ["weapon_crowbar"] = "Koevoet", - ["weapon_flashlight"] = "Zaklamp", - ["weapon_golfclub"] = "Golfclub", - ["weapon_hammer"] = "Hamer", - ["weapon_hatchet"] = "Bijl", - ["weapon_knife"] = "Mes", - ["weapon_knuckle"] = "Boksbeugel", - ["weapon_machete"] = "Machete", - ["weapon_nightstick"] = "Wapenstok", - ["weapon_wrench"] = "Pijpsleutel", - ["weapon_poolcue"] = "Biljart Keu", - ["weapon_stone_hatchet"] = "Steenbijl", - ["weapon_switchblade"] = "Stiletto", - - -- Handguns - ["weapon_appistol"] = "AP-pistool", - ["weapon_ceramicpistol"] = "Keramische pistool", - ["weapon_combatpistol"] = "Gevechtspistool", - ["weapon_doubleaction"] = "Revolver met dubbele actie", - ["weapon_navyrevolver"] = "Marine Revolver", - ["weapon_flaregun"] = "Noodsignaalpistool", - ["weapon_gadgetpistol"] = "Gadgetpistool", - ["weapon_heavypistol"] = "Zwaar pistool", - ["weapon_revolver"] = "Zware revolver", - ["weapon_revolver_mk2"] = "Zware revolver MK2", - ["weapon_marksmanpistol"] = "Marksman-pistool", - ["weapon_pistol"] = "Pistool", - ["weapon_pistol_mk2"] = "Pistool MK2", - ["weapon_pistol50"] = "Pistool .50", - ["weapon_snspistol"] = "SNS-pistool", - ["weapon_snspistol_mk2"] = "SNS-pistool MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "Vintage Pistool", - - -- Shotguns - ["weapon_assaultshotgun"] = "Aanvalsgeweer", - ["weapon_autoshotgun"] = "Automatisch jachtgeweer", - ["weapon_bullpupshotgun"] = "Bullpup Shotgun", - ["weapon_combatshotgun"] = "Gevechtsgeweer", - ["weapon_dbshotgun"] = "Dubbelloops jachtgeweer", - ["weapon_heavyshotgun"] = "Zwaar jachtgeweer", - ["weapon_musket"] = "Musket", - ["weapon_pumpshotgun"] = "Pompgeweer", - ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", - ["weapon_sawnoffshotgun"] = "Afgezaagd jachtgeweer", - - -- SMG & LMG - ["weapon_assaultsmg"] = "Aanval SMG", - ["weapon_combatmg"] = "Gevecht MG", - ["weapon_combatmg_mk2"] = "Combat MG MK2", - ["weapon_combatpdw"] = "Combat PDW", - ["weapon_gusenberg"] = "Gusenberg-veger", - ["weapon_machinepistol"] = "Machinepistool", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Micro-SMG", - ["weapon_minismg"] = "Mini-SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Onheilige Hellbringer", - - -- Rifles - ["weapon_advancedrifle"] = "Geavanceerd geweer", - ["weapon_assaultrifle"] = "Aanvalsgeweer", - ["weapon_assaultrifle_mk2"] = "Aanvalsgeweer MK2", - ["weapon_bullpuprifle"] = "Bullpup-geweer", - ["weapon_bullpuprifle_mk2"] = "Bullpup-geweer MK2", - ["weapon_carbinerifle"] = "Kabinet geweer", - ["weapon_carbinerifle_mk2"] = "Kabinet geweer MK2", - ["weapon_compactrifle"] = "Compact geweer", - ["weapon_militaryrifle"] = "Militair geweer", - ["weapon_specialcarbine"] = "Speciale karabijn", - ["weapon_specialcarbine_mk2"] = "Speciale karabijn MK2", - - -- Sniper - ["weapon_heavysniper"] = "Zware sluipschutter", - ["weapon_heavysniper_mk2"] = "Zware Sniper MK2", - ["weapon_marksmanrifle"] = "Schuttersgeweer", - ["weapon_marksmanrifle_mk2"] = "Schuttersgeweer MK2", - ["weapon_sniperrifle"] = "Sniper Rifle", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Compacte Launcher", - ["weapon_firework"] = "Vuurwerkstarter", - ["weapon_grenadelauncher"] = "Granaatwerper", - ["weapon_hominglauncher"] = "Homing Launcher", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Spoorgeweer", - ["weapon_rpg"] = "Raketwerper", - ["weapon_rayminigun"] = "Weduwemaker", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "Metaal Detector", - ["weapon_precisionrifle"] = "Precisiegeweer", - ["weapon_tactilerifle"] = "Service Carbine", - - -- Drug Wars DLC - ["weapon_candycane"] = "Snoep stok", - ["weapon_acidpackage"] = "LSD pakket", - ["weapon_pistolxm3"] = "WM 29 Pistool", - ["weapon_railgunxm3"] = "Railgun", - - -- Thrown - ["weapon_ball"] = "Honkbal", - ["weapon_bzgas"] = "BZ-gas", - ["weapon_flare"] = "Flare", - ["weapon_grenade"] = "Granaat", - ["weapon_petrolcan"] = "Jerrycan", - ["weapon_hazardcan"] = "Gevaarlijke jerrycan", - ["weapon_molotov"] = "Molotovcocktail", - ["weapon_proxmine"] = "Nabijheidsmijn", - ["weapon_pipebomb"] = "Pijpbom", - ["weapon_snowball"] = "Sneeuwbal", - ["weapon_stickybomb"] = "Kleefbom", - ["weapon_smokegrenade"] = "Traangas", - - -- Special - ["weapon_firebluser"] = "Brandblusser", - ["weapon_digiscanner"] = "Digitale scanner", - ["weapon_garbagebag"] = "Vuilniszak", - ["weapon_handcuffs"] = "Handboeien", - ["gadget_nightvision"] = "Nachtzicht", - ["gadget_parachute"] = "parachute", - - -- Weapon Components - ["component_knuckle_base"] = "basismodel", - ["component_knuckle_pimp"] = "de pooier", - ["component_knuckle_ballas"] = "de ballen", - ["component_knuckle_dollar"] = "de Hustler", - ["component_knuckle_diamond"] = "de rots", - ["component_knuckle_hate"] = "de Hater", - ["component_knuckle_love"] = "de minnaar", - ["component_knuckle_player"] = "de speler", - ["component_knuckle_king"] = "de koning", - ["component_knuckle_vagos"] = "de Vagos", - - ["component_luxary_finish"] = "luxe wapenafwerking", - - ["component_handle_default"] = "standaard handvat", - ["component_handle_vip"] = "VIP-handvat", - ["component_handle_bodyguard"] = "bodyguard-handvat", - - ["component_vip_finish"] = "VIP Finish", - ["component_bodyguard_finish"] = "bodyguard Finish", - - ["component_camo_finish"] = "digitale camouflage", - ["component_camo_finish2"] = "penseelstreek camouflage", - ["component_camo_finish3"] = "bos camouflage", - ["component_camo_finish4"] = "schedel camouflage", - ["component_camo_finish5"] = "sessanta Nove camouflage", - ["component_camo_finish6"] = "perseus camouflage", - ["component_camo_finish7"] = "luipaard camouflage", - ["component_camo_finish8"] = "zebracamouflage", - ["component_camo_finish9"] = "geometrische camouflage", - ["component_camo_finish10"] = "boom camouflage", - ["component_camo_finish11"] = "patriottische camouflage", - - ["component_camo_slide_finish"] = "digitale diacamouflage", - ["component_camo_slide_finish2"] = "penseelstreek Dia Camo", - ["component_camo_slide_finish3"] = "bos Slide camouflage", - ["component_camo_slide_finish4"] = "schedelschuifcamouflage", - ["component_camo_slide_finish5"] = "sessanta Nove Dia camouflage", - ["component_camo_slide_finish6"] = "perseus diacamouflage", - ["component_camo_slide_finish7"] = "luipaard Slide camouflage", - ["component_camo_slide_finish8"] = "zebra Slide camouflage", - ["component_camo_slide_finish9"] = "geometrische diacamouflage", - ["component_camo_slide_finish10"] = "boom Slide camouflage", - ["component_camo_slide_finish11"] = "patriottische diacamouflage", - - ["component_clip_default"] = "standaard magazijn", - ["component_clip_extended"] = "uitgebreid magazijn", - ["component_clip_drum"] = "drum magazijn", - ["component_clip_box"] = "box magazijn", - - ["component_scope_holo"] = "holografisch bereik", - ["component_scope_small"] = "klein bereik", - ["component_scope_medium"] = "gemiddeld bereik", - ["component_scope_large"] = "groot bereik", - ["component_scope"] = "gemonteerde scope", - ["component_scope_advanced"] = "geavanceerd bereik", - ["component_ironsights"] = "ironsights", - - ["component_suppressor"] = "suppressor", - ["component_compensator"] = "compensator", - - ["component_muzzle_flat"] = "platte mondingsrem", - ["component_muzzle_tactical"] = "tactische mondingsrem", - ["component_muzzle_fat"] = "fat-end mondingsrem", - ["component_muzzle_precision"] = "precisie mondingsrem", - ["component_muzzle_heavy"] = "zware mondingsrem", - ["component_muzzle_slanted"] = "schuine mondingsrem", - ["component_muzzle_split"] = "gespleten mondingsrem", - ["component_muzzle_squared"] = "kwadraat mondingsrem", - - ["component_flashlight"] = "zaklamp", - ["component_grip"] = "grip", - - ["component_barrel_default"] = "standaard handvat", - ["component_barrel_heavy"] = "zware handvat", - - ["component_ammo_tracer"] = "tracermunitie", - ["component_ammo_incendiary"] = "brandgevaarlijke munitie", - ["component_ammo_hollowpoint"] = "hollowpoint munitie", - ["component_ammo_fmj"] = "fMJ-munitie", - ["component_ammo_armor"] = "pantser piercing munitie", - ["component_ammo_explosive"] = "pantserpiercing brandgevaarlijke munitie", - - ["component_shells_default"] = "standaard shells", - ["component_shells_incendiary"] = "draken ademschelpen", - ["component_shells_armor"] = "stalen Buckshot Shells", - ["component_shells_hollowpoint"] = "flechette schelpen", - ["component_shells_explosive"] = "explosieve slakkenhuizen", - - -- Weapon Ammo - ["ammo_rounds"] = "ronde(n)", - ["ammo_shells"] = "huls/(zen)", - ["ammo_charge"] = "charge", - ["ammo_petrol"] = "liters brandstof", - ["ammo_firework"] = "vuurwerkpijl(en)", - ["ammo_rockets"] = "raket(ten)", - ["ammo_grenadelauncher"] = "granaat(en)", - ["ammo_grenade"] = "granaat(en)", - ["ammo_stickybomb"] = "bom(men)", - ["ammo_pipebomb"] = "bom(men)", - ["ammo_smokebomb"] = "bom(men)", - ["ammo_molotov"] = "cocktail(s)", - ["ammo_proxmine"] = "mijn(en)", - ["ammo_bzgas"] = "blik(ken)", - ["ammo_ball"] = "bal(len)", - ["ammo_snowball"] = "sneeuwbal(len)", - ["ammo_flare"] = "flare(s)", - ["ammo_flaregun"] = "flare(s)", - - -- Weapon Tints - ["tint_default"] = "standaard skin", - ["tint_green"] = "groene skin", - ["tint_gold"] = "goude skin", - ["tint_pink"] = "roze skin", - ["tint_army"] = "legerprint", - ["tint_lspd"] = "blauwe skin", - ["tint_orange"] = "oranje skin", - ["tint_platinum"] = "platina skin", + -- Inventory + ["inventory"] = "Inventaris ( Gewicht %s / %s )", + ["use"] = "Gebruik", + ["give"] = "Geef", + ["remove"] = "Gooi", + ["return"] = "Terug", + ["give_to"] = "Geef aan", + ["amount"] = "Aantal", + ["giveammo"] = "Geef munitie", + ["amountammo"] = "Hoeveelheid munitie", + ["noammo"] = "Niet genoeg munitie!", + ["gave_item"] = "%sx %s gegeven aan %s", + ["received_item"] = "%sx %s ontvangen van %s", + ["gave_weapon"] = "%s gegeven aan %s", + ["gave_weapon_ammo"] = "~o~%sx %s gegeven voor een %s aan %s", + ["gave_weapon_withammo"] = "%s gegeven met ~o~%sx %s aan %s", + ["gave_weapon_hasalready"] = "%s heeft al een %s", + ["gave_weapon_noweapon"] = "%s heeft dat wapen niet", + ["received_weapon"] = "%s ontvangen van %s", + ["received_weapon_ammo"] = "~o~%sx %s ontvangen voor je %s van %s", + ["received_weapon_withammo"] = "%s ontvangen met ~o~%sx %s van %s", + ["received_weapon_hasalready"] = "%s heeft geprobeerd je een %s te geven, maar je hebt dat wapen al.", + ["received_weapon_noweapon"] = "%s heeft geprobeerd je ammo te geven voor een %s, maar je hebt dit wapen niet", + ["gave_account_money"] = "€%s (%s) gegeven aan %s", + ["received_account_money"] = "€%s (%s) ontvangen van %s", + ["amount_invalid"] = "Ongeldige hoeveelheid", + ["players_nearby"] = "Geen spelers in de buurt", + ["ex_inv_lim"] = "Kan actie niet uitvoeren, overschrijdt max. gewicht van %s", + ["imp_invalid_quantity"] = "Kan actie niet uitvoeren, de hoeveelheid is ongeldig", + ["imp_invalid_amount"] = "Kan actie niet uitvoeren, het aantal is ongeldig", + ["threw_standard"] = "%sx %s weggegooid", + ["threw_account"] = "€%s %s weggegooid", + ["threw_weapon"] = "%s weggegooid", + ["threw_weapon_ammo"] = "%s met ~o~%sx %s weggegooid", + ["threw_weapon_already"] = "Je hebt dit wapen al !", + ["threw_cannot_pickup"] = "Inventaris is vol, je kan dit niet oppakken!", + ["threw_pickup_prompt"] = "Druk op E om op te pakken", + + -- Key mapping + ["keymap_showinventory"] = "Laat inventaris zien", + + -- Salary related + ["received_salary"] = "Je bent betaald: €%s", + ["received_help"] = "Je hebt je uitkering gekregen: €%s", + ["company_nomoney"] = "Het bedrijf waar je bij werkt heeft te weinig geld om je uit te betalen.", + ["received_paycheck"] = "salaris ontvangen", + ["bank"] = "Maze Bank", + ["account_bank"] = "Bank", + ["account_black_money"] = "Zwart geld", + ["account_money"] = "Contant", + + ["act_imp"] = "Kan actie niet uitvoeren", + ["in_vehicle"] = "Kan actie niet uitvoeren, de speler zit in een voertuig.", + + -- Commands + ["command_bring"] = "Breng speler naar jou", + ["command_car"] = "Spawn een voertuig", + ["command_car_car"] = "Voertuig model of hash", + ["command_cardel"] = "Verwijder voertuigen in straal", + ["command_cardel_radius"] = "Verwijderd alle voertuigen in gewenste straal", + ["command_clear"] = "Verwijder chat berichten", + ["command_clearall"] = "Verwijder chat berichten voor alle spelers", + ["command_clearinventory"] = "Verwijder alle items van een speler zijn inventory", + ["command_clearloadout"] = "Verwijder alle wapens die een speler heeft", + ["command_freeze"] = "Freeze een speler", + ["command_unfreeze"] = "Unfreeze een speler", + ["command_giveaccountmoney"] = "Geef geld aan een rekening", + ["command_giveaccountmoney_account"] = "Account om aan toe te voegen", + ["command_giveaccountmoney_amount"] = "Bedrag om toe te voegen", + ["command_giveaccountmoney_invalid"] = "Account Naam ongeldig", + ["command_giveitem"] = "Geef speler een item", + ["command_giveitem_item"] = "Item naam", + ["command_giveitem_count"] = "Hoeveelheid", + ["command_giveweapon"] = "Geef de speler een wapen", + ["command_giveweapon_weapon"] = "Wapen naam", + ["command_giveweapon_ammo"] = "Munitie Hoeveelheid", + ["command_giveweapon_hasalready"] = "Speler heeft dit wapen al", + ["command_giveweaponcomponent"] = "Geef wapen component aan speler", + ["command_giveweaponcomponent_component"] = "Component naam", + ["command_giveweaponcomponent_invalid"] = "Ongeldig wapen component", + ["command_giveweaponcomponent_hasalready"] = "De speler heeft dit wapen component al", + ["command_giveweaponcomponent_missingweapon"] = "De speler heeft dit wapen niet", + ["command_goto"] = "Teleporteer jezelf naar een speler", + ["command_kill"] = "Vermoord een speler", + ["command_save"] = "Slaag een speler zijn spelerdata geforceerd op", + ["command_saveall"] = "Slaag iedereen zijn spelerdata geforceerd op", + ["command_setaccountmoney"] = "Stel geld in op een account", + ["command_setaccountmoney_amount"] = "Hoeveelheid", + ["command_setcoords"] = "Telepeer naar coordinaten", + ["command_setcoords_x"] = "X waarde", + ["command_setcoords_y"] = "Y waarde", + ["command_setcoords_z"] = "Z waarde", + ["command_setjob"] = "Zet een speler zijn / haar job", + ["command_setjob_job"] = "Naam", + ["command_setjob_grade"] = "Job grade", + ["command_setjob_invalid"] = "De job, grade of beide zijn ongeldig", + ["command_setgroup"] = "Stel een toestemmingsgroep voor spelers in", + ["command_setgroup_group"] = "Naam van groep", + ["commanderror_argumentmismatch"] = "Ongeldig aantal argumenten (geslaagd %s, gezocht %s)", + ["commanderror_argumentmismatch_number"] = "Ongeldig argument #%s gegevenstype (doorgegeven string, gewenst nummer)", + ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (doorgegeven string, gewenst nummer)", + ["commanderror_invaliditem"] = "Ongeldig item", + ["commanderror_invalidweapon"] = "Ongeldig wapen", + ["commanderror_console"] = "Command kan niet worden uitgevoerd vanaf console.", + ["commanderror_invalidcommand"] = "Ongeldig commando - /%s", + ["commanderror_invalidplayerid"] = "Opgegeven speler is niet online", + ["commandgeneric_playerid"] = "Speler server id", + ["command_giveammo_noweapon_found"] = "%s heeft dat wapen niet", + ["command_giveammo_weapon"] = "Wapen naam", + ["command_giveammo_ammo"] = "Munitie Hoeveelheid", + ["tpm_nowaypoint"] = "Geen navigatie ingesteld.", + ["tpm_success"] = "Successvol geteleporteerd", + + ["noclip_message"] = "Noclip is %s", + ["enabled"] = "~g~aangezet~s~", + ["disabled"] = "~r~uitgezet~s~", + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "€%s", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "Dolk", + ["weapon_bat"] = "Knuppel", + ["weapon_battleaxe"] = "Gevechtsbijl", + ["weapon_bottle"] = "Fles", + ["weapon_crowbar"] = "Koevoet", + ["weapon_flashlight"] = "Zaklamp", + ["weapon_golfclub"] = "Golfclub", + ["weapon_hammer"] = "Hamer", + ["weapon_hatchet"] = "Bijl", + ["weapon_knife"] = "Mes", + ["weapon_knuckle"] = "Boksbeugel", + ["weapon_machete"] = "Machete", + ["weapon_nightstick"] = "Wapenstok", + ["weapon_wrench"] = "Pijpsleutel", + ["weapon_poolcue"] = "Biljart Keu", + ["weapon_stone_hatchet"] = "Steenbijl", + ["weapon_switchblade"] = "Stiletto", + + -- Handguns + ["weapon_appistol"] = "AP-pistool", + ["weapon_ceramicpistol"] = "Keramische pistool", + ["weapon_combatpistol"] = "Gevechtspistool", + ["weapon_doubleaction"] = "Revolver met dubbele actie", + ["weapon_navyrevolver"] = "Marine Revolver", + ["weapon_flaregun"] = "Noodsignaalpistool", + ["weapon_gadgetpistol"] = "Gadgetpistool", + ["weapon_heavypistol"] = "Zwaar pistool", + ["weapon_revolver"] = "Zware revolver", + ["weapon_revolver_mk2"] = "Zware revolver MK2", + ["weapon_marksmanpistol"] = "Marksman-pistool", + ["weapon_pistol"] = "Pistool", + ["weapon_pistol_mk2"] = "Pistool MK2", + ["weapon_pistol50"] = "Pistool .50", + ["weapon_snspistol"] = "SNS-pistool", + ["weapon_snspistol_mk2"] = "SNS-pistool MK2", + ["weapon_stungun"] = "Taser", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "Vintage Pistool", + + -- Shotguns + ["weapon_assaultshotgun"] = "Aanvalsgeweer", + ["weapon_autoshotgun"] = "Automatisch jachtgeweer", + ["weapon_bullpupshotgun"] = "Bullpup Shotgun", + ["weapon_combatshotgun"] = "Gevechtsgeweer", + ["weapon_dbshotgun"] = "Dubbelloops jachtgeweer", + ["weapon_heavyshotgun"] = "Zwaar jachtgeweer", + ["weapon_musket"] = "Musket", + ["weapon_pumpshotgun"] = "Pompgeweer", + ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", + ["weapon_sawnoffshotgun"] = "Afgezaagd jachtgeweer", + + -- SMG & LMG + ["weapon_assaultsmg"] = "Aanval SMG", + ["weapon_combatmg"] = "Gevecht MG", + ["weapon_combatmg_mk2"] = "Combat MG MK2", + ["weapon_combatpdw"] = "Combat PDW", + ["weapon_gusenberg"] = "Gusenberg-veger", + ["weapon_machinepistol"] = "Machinepistool", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Micro-SMG", + ["weapon_minismg"] = "Mini-SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Onheilige Hellbringer", + + -- Rifles + ["weapon_advancedrifle"] = "Geavanceerd geweer", + ["weapon_assaultrifle"] = "Aanvalsgeweer", + ["weapon_assaultrifle_mk2"] = "Aanvalsgeweer MK2", + ["weapon_bullpuprifle"] = "Bullpup-geweer", + ["weapon_bullpuprifle_mk2"] = "Bullpup-geweer MK2", + ["weapon_carbinerifle"] = "Kabinet geweer", + ["weapon_carbinerifle_mk2"] = "Kabinet geweer MK2", + ["weapon_compactrifle"] = "Compact geweer", + ["weapon_militaryrifle"] = "Militair geweer", + ["weapon_specialcarbine"] = "Speciale karabijn", + ["weapon_specialcarbine_mk2"] = "Speciale karabijn MK2", + + -- Sniper + ["weapon_heavysniper"] = "Zware sluipschutter", + ["weapon_heavysniper_mk2"] = "Zware Sniper MK2", + ["weapon_marksmanrifle"] = "Schuttersgeweer", + ["weapon_marksmanrifle_mk2"] = "Schuttersgeweer MK2", + ["weapon_sniperrifle"] = "Sniper Rifle", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "Compacte Launcher", + ["weapon_firework"] = "Vuurwerkstarter", + ["weapon_grenadelauncher"] = "Granaatwerper", + ["weapon_hominglauncher"] = "Homing Launcher", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Spoorgeweer", + ["weapon_rpg"] = "Raketwerper", + ["weapon_rayminigun"] = "Weduwemaker", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "Metaal Detector", + ["weapon_precisionrifle"] = "Precisiegeweer", + ["weapon_tactilerifle"] = "Service Carbine", + + -- Drug Wars DLC + ["weapon_candycane"] = "Snoep stok", + ["weapon_acidpackage"] = "LSD pakket", + ["weapon_pistolxm3"] = "WM 29 Pistool", + ["weapon_railgunxm3"] = "Railgun", + + -- Thrown + ["weapon_ball"] = "Honkbal", + ["weapon_bzgas"] = "BZ-gas", + ["weapon_flare"] = "Flare", + ["weapon_grenade"] = "Granaat", + ["weapon_petrolcan"] = "Jerrycan", + ["weapon_hazardcan"] = "Gevaarlijke jerrycan", + ["weapon_molotov"] = "Molotovcocktail", + ["weapon_proxmine"] = "Nabijheidsmijn", + ["weapon_pipebomb"] = "Pijpbom", + ["weapon_snowball"] = "Sneeuwbal", + ["weapon_stickybomb"] = "Kleefbom", + ["weapon_smokegrenade"] = "Traangas", + + -- Special + ["weapon_firebluser"] = "Brandblusser", + ["weapon_digiscanner"] = "Digitale scanner", + ["weapon_garbagebag"] = "Vuilniszak", + ["weapon_handcuffs"] = "Handboeien", + ["gadget_nightvision"] = "Nachtzicht", + ["gadget_parachute"] = "parachute", + + -- Weapon Components + ["component_knuckle_base"] = "basismodel", + ["component_knuckle_pimp"] = "de pooier", + ["component_knuckle_ballas"] = "de ballen", + ["component_knuckle_dollar"] = "de Hustler", + ["component_knuckle_diamond"] = "de rots", + ["component_knuckle_hate"] = "de Hater", + ["component_knuckle_love"] = "de minnaar", + ["component_knuckle_player"] = "de speler", + ["component_knuckle_king"] = "de koning", + ["component_knuckle_vagos"] = "de Vagos", + + ["component_luxary_finish"] = "luxe wapenafwerking", + + ["component_handle_default"] = "standaard handvat", + ["component_handle_vip"] = "VIP-handvat", + ["component_handle_bodyguard"] = "bodyguard-handvat", + + ["component_vip_finish"] = "VIP Finish", + ["component_bodyguard_finish"] = "bodyguard Finish", + + ["component_camo_finish"] = "digitale camouflage", + ["component_camo_finish2"] = "penseelstreek camouflage", + ["component_camo_finish3"] = "bos camouflage", + ["component_camo_finish4"] = "schedel camouflage", + ["component_camo_finish5"] = "sessanta Nove camouflage", + ["component_camo_finish6"] = "perseus camouflage", + ["component_camo_finish7"] = "luipaard camouflage", + ["component_camo_finish8"] = "zebracamouflage", + ["component_camo_finish9"] = "geometrische camouflage", + ["component_camo_finish10"] = "boom camouflage", + ["component_camo_finish11"] = "patriottische camouflage", + + ["component_camo_slide_finish"] = "digitale diacamouflage", + ["component_camo_slide_finish2"] = "penseelstreek Dia Camo", + ["component_camo_slide_finish3"] = "bos Slide camouflage", + ["component_camo_slide_finish4"] = "schedelschuifcamouflage", + ["component_camo_slide_finish5"] = "sessanta Nove Dia camouflage", + ["component_camo_slide_finish6"] = "perseus diacamouflage", + ["component_camo_slide_finish7"] = "luipaard Slide camouflage", + ["component_camo_slide_finish8"] = "zebra Slide camouflage", + ["component_camo_slide_finish9"] = "geometrische diacamouflage", + ["component_camo_slide_finish10"] = "boom Slide camouflage", + ["component_camo_slide_finish11"] = "patriottische diacamouflage", + + ["component_clip_default"] = "standaard magazijn", + ["component_clip_extended"] = "uitgebreid magazijn", + ["component_clip_drum"] = "drum magazijn", + ["component_clip_box"] = "box magazijn", + + ["component_scope_holo"] = "holografisch bereik", + ["component_scope_small"] = "klein bereik", + ["component_scope_medium"] = "gemiddeld bereik", + ["component_scope_large"] = "groot bereik", + ["component_scope"] = "gemonteerde scope", + ["component_scope_advanced"] = "geavanceerd bereik", + ["component_ironsights"] = "ironsights", + + ["component_suppressor"] = "suppressor", + ["component_compensator"] = "compensator", + + ["component_muzzle_flat"] = "platte mondingsrem", + ["component_muzzle_tactical"] = "tactische mondingsrem", + ["component_muzzle_fat"] = "fat-end mondingsrem", + ["component_muzzle_precision"] = "precisie mondingsrem", + ["component_muzzle_heavy"] = "zware mondingsrem", + ["component_muzzle_slanted"] = "schuine mondingsrem", + ["component_muzzle_split"] = "gespleten mondingsrem", + ["component_muzzle_squared"] = "kwadraat mondingsrem", + + ["component_flashlight"] = "zaklamp", + ["component_grip"] = "grip", + + ["component_barrel_default"] = "standaard handvat", + ["component_barrel_heavy"] = "zware handvat", + + ["component_ammo_tracer"] = "tracermunitie", + ["component_ammo_incendiary"] = "brandgevaarlijke munitie", + ["component_ammo_hollowpoint"] = "hollowpoint munitie", + ["component_ammo_fmj"] = "fMJ-munitie", + ["component_ammo_armor"] = "pantser piercing munitie", + ["component_ammo_explosive"] = "pantserpiercing brandgevaarlijke munitie", + + ["component_shells_default"] = "standaard shells", + ["component_shells_incendiary"] = "draken ademschelpen", + ["component_shells_armor"] = "stalen Buckshot Shells", + ["component_shells_hollowpoint"] = "flechette schelpen", + ["component_shells_explosive"] = "explosieve slakkenhuizen", + + -- Weapon Ammo + ["ammo_rounds"] = "ronde(n)", + ["ammo_shells"] = "huls/(zen)", + ["ammo_charge"] = "charge", + ["ammo_petrol"] = "liters brandstof", + ["ammo_firework"] = "vuurwerkpijl(en)", + ["ammo_rockets"] = "raket(ten)", + ["ammo_grenadelauncher"] = "granaat(en)", + ["ammo_grenade"] = "granaat(en)", + ["ammo_stickybomb"] = "bom(men)", + ["ammo_pipebomb"] = "bom(men)", + ["ammo_smokebomb"] = "bom(men)", + ["ammo_molotov"] = "cocktail(s)", + ["ammo_proxmine"] = "mijn(en)", + ["ammo_bzgas"] = "blik(ken)", + ["ammo_ball"] = "bal(len)", + ["ammo_snowball"] = "sneeuwbal(len)", + ["ammo_flare"] = "flare(s)", + ["ammo_flaregun"] = "flare(s)", + + -- Weapon Tints + ["tint_default"] = "standaard skin", + ["tint_green"] = "groene skin", + ["tint_gold"] = "goude skin", + ["tint_pink"] = "roze skin", + ["tint_army"] = "legerprint", + ["tint_lspd"] = "blauwe skin", + ["tint_orange"] = "oranje skin", + ["tint_platinum"] = "platina skin", } diff --git a/server-data/resources/[esx]/es_extended/locales/pl.lua b/server-data/resources/[esx]/es_extended/locales/pl.lua index de8b9ffd9..d50f91eb7 100644 --- a/server-data/resources/[esx]/es_extended/locales/pl.lua +++ b/server-data/resources/[esx]/es_extended/locales/pl.lua @@ -1,239 +1,239 @@ Locales["pl"] = { - -- Inventory - ["inventory"] = "ekwipunek %s / %s", - ["use"] = "użyj", - ["give"] = "daj", - ["remove"] = "usuń", - ["return"] = "wróć", - ["give_to"] = "daj dla", - ["amount"] = "ilość", - ["giveammo"] = "daj amunicje", - ["amountammo"] = "ilość amunicji", - ["noammo"] = "nie posiadasz wystarczającej ilości amunicji!", - ["gave_item"] = "dałeś/aś %sx %s dla %s", - ["received_item"] = "otrzymałeś/aś %sx %s od %s", - ["gave_weapon"] = "dałeś/aś %s dla %s", - ["gave_weapon_ammo"] = "dałeś/aś ~o~%sx %s do %s dla %s", - ["gave_weapon_withammo"] = "dałeś/aś %s z ~o~%sx %s dla %s", - ["gave_weapon_hasalready"] = "%s już posiada %s", - ["gave_weapon_noweapon"] = "%s nie posiada tej broni", - ["received_weapon"] = "otrzymałeś/aś %s od %s", - ["received_weapon_ammo"] = "otrzymałeś/aś ~o~%sx %s do twojego %s od %s", - ["received_weapon_withammo"] = "otrzymałeś/aś %s z ~o~%sx %s od %s", - ["received_weapon_hasalready"] = "%s próbował/a przekazać ci %s, lecz już posiadasz jedno", - ["received_weapon_noweapon"] = "%s próbował/a przekazać ci amunicje do %s, lecz nie posiadasz tej broni", - ["gave_account_money"] = "dałeś/aś %s$ (%s) dla %s", - ["received_account_money"] = "otrzymałeś/aś %s$ (%s) od %s", - ["amount_invalid"] = "nieprawidłowa ilość", - ["players_nearby"] = "brak graczy w pobliżu", - ["ex_inv_lim"] = "akcja nie jest możliwa, nie możesz mieć więcej %s", - ["imp_invalid_quantity"] = "akcja jest niemożliwa, nieprawidłowa ilość", - ["imp_invalid_amount"] = "akcja jest niemożliwa, nieprawidłowa kwota", - ["threw_standard"] = "wyrzuciłeś/aś %sx %s", - ["threw_account"] = "wyrzuciłeś/aś $%s %s", - ["threw_weapon"] = "wyrzuciłeś/aś %s", - ["threw_weapon_ammo"] = "wyrzuciłeś/aś %s z ~o~%sx %s", - ["threw_weapon_already"] = "już posiadasz taką samą broń", - ["threw_cannot_pickup"] = "nie możesz tego podnieść, gdyż masz pełny ekwipunek!", - ["threw_pickup_prompt"] = "naciśnij E aby podnieść", + -- Inventory + ["inventory"] = "ekwipunek %s / %s", + ["use"] = "użyj", + ["give"] = "daj", + ["remove"] = "usuń", + ["return"] = "wróć", + ["give_to"] = "daj dla", + ["amount"] = "ilość", + ["giveammo"] = "daj amunicje", + ["amountammo"] = "ilość amunicji", + ["noammo"] = "nie posiadasz wystarczającej ilości amunicji!", + ["gave_item"] = "dałeś/aś %sx %s dla %s", + ["received_item"] = "otrzymałeś/aś %sx %s od %s", + ["gave_weapon"] = "dałeś/aś %s dla %s", + ["gave_weapon_ammo"] = "dałeś/aś ~o~%sx %s do %s dla %s", + ["gave_weapon_withammo"] = "dałeś/aś %s z ~o~%sx %s dla %s", + ["gave_weapon_hasalready"] = "%s już posiada %s", + ["gave_weapon_noweapon"] = "%s nie posiada tej broni", + ["received_weapon"] = "otrzymałeś/aś %s od %s", + ["received_weapon_ammo"] = "otrzymałeś/aś ~o~%sx %s do twojego %s od %s", + ["received_weapon_withammo"] = "otrzymałeś/aś %s z ~o~%sx %s od %s", + ["received_weapon_hasalready"] = "%s próbował/a przekazać ci %s, lecz już posiadasz jedno", + ["received_weapon_noweapon"] = "%s próbował/a przekazać ci amunicje do %s, lecz nie posiadasz tej broni", + ["gave_account_money"] = "dałeś/aś %s$ (%s) dla %s", + ["received_account_money"] = "otrzymałeś/aś %s$ (%s) od %s", + ["amount_invalid"] = "nieprawidłowa ilość", + ["players_nearby"] = "brak graczy w pobliżu", + ["ex_inv_lim"] = "akcja nie jest możliwa, nie możesz mieć więcej %s", + ["imp_invalid_quantity"] = "akcja jest niemożliwa, nieprawidłowa ilość", + ["imp_invalid_amount"] = "akcja jest niemożliwa, nieprawidłowa kwota", + ["threw_standard"] = "wyrzuciłeś/aś %sx %s", + ["threw_account"] = "wyrzuciłeś/aś $%s %s", + ["threw_weapon"] = "wyrzuciłeś/aś %s", + ["threw_weapon_ammo"] = "wyrzuciłeś/aś %s z ~o~%sx %s", + ["threw_weapon_already"] = "już posiadasz taką samą broń", + ["threw_cannot_pickup"] = "nie możesz tego podnieść, gdyż masz pełny ekwipunek!", + ["threw_pickup_prompt"] = "naciśnij E aby podnieść", - -- Key mapping - ["keymap_showinventory"] = "pokaż ekwipunek", + -- Key mapping + ["keymap_showinventory"] = "pokaż ekwipunek", - -- Salary related - ["received_salary"] = "otrzymałeś/aś wynagrodzenie: %s$", - ["received_help"] = "otrzymałeś/aś zapomogę: $%s", - ["company_nomoney"] = "firma, w której pracujesz, jest zbyt biedna, by wypłacić twoją pensję", - ["received_paycheck"] = "otrzymano wypłate", - ["bank"] = "bank", - ["account_bank"] = "bank", - ["account_black_money"] = "brudne pieniądze", - ["account_money"] = "pieniądze", - ["act_imp"] = "działanie niemożliwe", - ["in_vehicle"] = "nie możesz przekazywać przedmiotów w pojeździe", - ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", + -- Salary related + ["received_salary"] = "otrzymałeś/aś wynagrodzenie: %s$", + ["received_help"] = "otrzymałeś/aś zapomogę: $%s", + ["company_nomoney"] = "firma, w której pracujesz, jest zbyt biedna, by wypłacić twoją pensję", + ["received_paycheck"] = "otrzymano wypłate", + ["bank"] = "bank", + ["account_bank"] = "bank", + ["account_black_money"] = "brudne pieniądze", + ["account_money"] = "pieniądze", + ["act_imp"] = "działanie niemożliwe", + ["in_vehicle"] = "nie możesz przekazywać przedmiotów w pojeździe", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", - -- Commands - ["command_car"] = "przywołaj pojazd", - ["command_car_car"] = "nazwa lub hash przywołanego pojazdu", - ["command_cardel"] = "usuń pojazd w pobliżu", - ["command_cardel_radius"] = "opcjonalnie usuń każdy pojazd w obszarze", - ["command_repair"] = "Repair your vehicle", - ["command_repair_success"] = "Successfully repaired vehicle", - ["command_repair_success_target"] = "An admin repaired your vehicle", - ["command_clear"] = "wyczyść czat", - ["command_clearall"] = "wyczyść czat dla wszystkich graczy", - ["command_clearinventory"] = "wyczyść ekwipunek gracza", - ["command_clearloadout"] = "wyczyść wyposarzenie gracza", - ["command_giveaccountmoney"] = "daj pieniądze na podany typ konta", - ["command_giveaccountmoney_account"] = "prawidłowy typ konta", - ["command_giveaccountmoney_amount"] = "ilość do dodania", - ["command_giveaccountmoney_invalid"] = "nieprawidłowy typ konta", - ["command_giveitem"] = "daj przedmiot graczowi", - ["command_giveitem_item"] = "nazwa przedmiotu", - ["command_giveitem_count"] = "ilość przedimotu", - ["command_giveweapon"] = "daj broń graczowi", - ["command_giveweapon_weapon"] = "nazwa broni", - ["command_giveweapon_ammo"] = "ilość amunicji", - ["command_giveweapon_hasalready"] = "gracz już posiada tą broń", - ["command_giveweaponcomponent"] = "daj komponent do broni graczowi", - ["command_giveweaponcomponent_component"] = "nazwa komponentu", - ["command_giveweaponcomponent_invalid"] = "nieprawidłowy komponent do broni", - ["command_giveweaponcomponent_hasalready"] = "gracz już posiada ten komponent do tej broni", - ["command_giveweaponcomponent_missingweapon"] = "gracz nie posiada tej broni", - ["command_save"] = "zapisz gracza w bazie danych", - ["command_saveall"] = "zapisz wszystkich graczy w bazie danych", - ["command_setaccountmoney"] = "ustaw ilość pieniędzy danego konta dla gracza", - ["command_setaccountmoney_amount"] = "ilość pieniędzy do ustawienia", - ["command_setcoords"] = "teleportuj na koordynaty", - ["command_setcoords_x"] = "x axis", - ["command_setcoords_y"] = "y axis", - ["command_setcoords_z"] = "z axis", - ["command_setjob"] = "ustaw prace dla gracza", - ["command_setjob_job"] = "nazwa pracy", - ["command_setjob_grade"] = "stanowisko w pracy", - ["command_setjob_invalid"] = "praca, stanowisko lub obydwa są nieprawidłowe", - ["command_setgroup"] = "ustaw grupe gracza", - ["command_setgroup_group"] = "nazwa grupy", - ["commanderror_argumentmismatch"] = "nieprawiłowa ilość argumentów (przeszło %s, wymagane %s)", - ["commanderror_argumentmismatch_number"] = "nieprawidłowy typ argumentu #%s (przeszedł tekst, wymagany numer)", - ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", - ["commanderror_invaliditem"] = "nieprawidłowa nazwa przedmiotu", - ["commanderror_invalidweapon"] = "nieprawidłowa broń", - ["commanderror_console"] = "podana komenda nie może zostać uruchomiona przez konsole", - ["commanderror_invalidcommand"] = "/%s nie jest poprawną komendą!", - ["commanderror_invalidplayerid"] = "brak dostepnego gracza pasującego do podanego id serwerowego", - ["commandgeneric_playerid"] = "id gracza", - ["command_giveammo_noweapon_found"] = "%s does not have that weapon", - ["command_giveammo_weapon"] = "Weapon name", - ["command_giveammo_ammo"] = "Ammo Quantity", + -- Commands + ["command_car"] = "przywołaj pojazd", + ["command_car_car"] = "nazwa lub hash przywołanego pojazdu", + ["command_cardel"] = "usuń pojazd w pobliżu", + ["command_cardel_radius"] = "opcjonalnie usuń każdy pojazd w obszarze", + ["command_repair"] = "Repair your vehicle", + ["command_repair_success"] = "Successfully repaired vehicle", + ["command_repair_success_target"] = "An admin repaired your vehicle", + ["command_clear"] = "wyczyść czat", + ["command_clearall"] = "wyczyść czat dla wszystkich graczy", + ["command_clearinventory"] = "wyczyść ekwipunek gracza", + ["command_clearloadout"] = "wyczyść wyposarzenie gracza", + ["command_giveaccountmoney"] = "daj pieniądze na podany typ konta", + ["command_giveaccountmoney_account"] = "prawidłowy typ konta", + ["command_giveaccountmoney_amount"] = "ilość do dodania", + ["command_giveaccountmoney_invalid"] = "nieprawidłowy typ konta", + ["command_giveitem"] = "daj przedmiot graczowi", + ["command_giveitem_item"] = "nazwa przedmiotu", + ["command_giveitem_count"] = "ilość przedimotu", + ["command_giveweapon"] = "daj broń graczowi", + ["command_giveweapon_weapon"] = "nazwa broni", + ["command_giveweapon_ammo"] = "ilość amunicji", + ["command_giveweapon_hasalready"] = "gracz już posiada tą broń", + ["command_giveweaponcomponent"] = "daj komponent do broni graczowi", + ["command_giveweaponcomponent_component"] = "nazwa komponentu", + ["command_giveweaponcomponent_invalid"] = "nieprawidłowy komponent do broni", + ["command_giveweaponcomponent_hasalready"] = "gracz już posiada ten komponent do tej broni", + ["command_giveweaponcomponent_missingweapon"] = "gracz nie posiada tej broni", + ["command_save"] = "zapisz gracza w bazie danych", + ["command_saveall"] = "zapisz wszystkich graczy w bazie danych", + ["command_setaccountmoney"] = "ustaw ilość pieniędzy danego konta dla gracza", + ["command_setaccountmoney_amount"] = "ilość pieniędzy do ustawienia", + ["command_setcoords"] = "teleportuj na koordynaty", + ["command_setcoords_x"] = "x axis", + ["command_setcoords_y"] = "y axis", + ["command_setcoords_z"] = "z axis", + ["command_setjob"] = "ustaw prace dla gracza", + ["command_setjob_job"] = "nazwa pracy", + ["command_setjob_grade"] = "stanowisko w pracy", + ["command_setjob_invalid"] = "praca, stanowisko lub obydwa są nieprawidłowe", + ["command_setgroup"] = "ustaw grupe gracza", + ["command_setgroup_group"] = "nazwa grupy", + ["commanderror_argumentmismatch"] = "nieprawiłowa ilość argumentów (przeszło %s, wymagane %s)", + ["commanderror_argumentmismatch_number"] = "nieprawidłowy typ argumentu #%s (przeszedł tekst, wymagany numer)", + ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", + ["commanderror_invaliditem"] = "nieprawidłowa nazwa przedmiotu", + ["commanderror_invalidweapon"] = "nieprawidłowa broń", + ["commanderror_console"] = "podana komenda nie może zostać uruchomiona przez konsole", + ["commanderror_invalidcommand"] = "/%s nie jest poprawną komendą!", + ["commanderror_invalidplayerid"] = "brak dostepnego gracza pasującego do podanego id serwerowego", + ["commandgeneric_playerid"] = "id gracza", + ["command_giveammo_noweapon_found"] = "%s does not have that weapon", + ["command_giveammo_weapon"] = "Weapon name", + ["command_giveammo_ammo"] = "Ammo Quantity", - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "$%s", + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "$%s", - -- Weapons - ["weapon_knife"] = "nóż", - ["weapon_nightstick"] = "pałka", - ["weapon_hammer"] = "młotek", - ["weapon_bat"] = "kij", - ["weapon_golfclub"] = "kij golfowy", - ["weapon_crowbar"] = "łom", - ["weapon_pistol"] = "pistolet", - ["weapon_combatpistol"] = "pistolet bojowy", - ["weapon_appistol"] = "ap pistol", - ["weapon_pistol50"] = "pistol .50", - ["weapon_microsmg"] = "micro smg", - ["weapon_smg"] = "smg", - ["weapon_assaultsmg"] = "assault smg", - ["weapon_assaultrifle"] = "assault rifle", - ["weapon_carbinerifle"] = "carbine rifle", - ["weapon_advancedrifle"] = "advanced rifle", - ["weapon_mg"] = "mg", - ["weapon_combatmg"] = "combat mg", - ["weapon_pumpshotgun"] = "pump shotgun", - ["weapon_sawnoffshotgun"] = "sawed off shotgun", - ["weapon_assaultshotgun"] = "assault shotgun", - ["weapon_bullpupshotgun"] = "bullpup shotgun", - ["weapon_stungun"] = "tazer", - ["weapon_sniperrifle"] = "karabin snajperski", - ["weapon_heavysniper"] = "ciężki karabin snajperski", - ["weapon_grenadelauncher"] = "granatnik", - ["weapon_rpg"] = "wyrzutnia rakiet", - ["weapon_minigun"] = "minigun", - ["weapon_grenade"] = "granat", - ["weapon_stickybomb"] = "ładunek przylepny", - ["weapon_smokegrenade"] = "granat dymny", - ["weapon_bzgas"] = "bz gas", - ["weapon_molotov"] = "koktajl Mołotowa", - ["weapon_fireextinguisher"] = "gaśnica", - ["weapon_petrolcan"] = "kanister", - ["weapon_ball"] = "piłka", - ["weapon_snspistol"] = "sns pistolet", - ["weapon_bottle"] = "butelka", - ["weapon_gusenberg"] = "gusenberg sweeper", - ["weapon_specialcarbine"] = "special carbine", - ["weapon_heavypistol"] = "heavy pistol", - ["weapon_bullpuprifle"] = "karabin wyborowy", - ["weapon_dagger"] = "sztylet", - ["weapon_vintagepistol"] = "vintage pistol", - ["weapon_firework"] = "fajerwerki", - ["weapon_musket"] = "muszkiet", - ["weapon_heavyshotgun"] = "ciężki shotgun", - ["weapon_marksmanrifle"] = "marksman rifle", - ["weapon_hominglauncher"] = "program uruchamiający", - ["weapon_proxmine"] = "mina zbliżeniowa", - ["weapon_snowball"] = "śnieżka", - ["weapon_flaregun"] = "flara", - ["weapon_combatpdw"] = "combat pdw", - ["weapon_marksmanpistol"] = "marksman pistol", - ["weapon_knuckle"] = "kastety", - ["weapon_hatchet"] = "toporek", - ["weapon_railgun"] = "karabin", - ["weapon_machete"] = "meczeta", - ["weapon_machinepistol"] = "pistolet maszynowy", - ["weapon_switchblade"] = "scyzoryk", - ["weapon_revolver"] = "ciężki rewolwer", - ["weapon_dbshotgun"] = "dwururka", - ["weapon_compactrifle"] = "compact rifle", - ["weapon_autoshotgun"] = "auto shotgun", - ["weapon_battleaxe"] = "topór bitewny", - ["weapon_compactlauncher"] = "compact launcher", - ["weapon_minismg"] = "mini smg", - ["weapon_pipebomb"] = "bomba rurowa", - ["weapon_poolcue"] = "kij bilardowy", - ["weapon_wrench"] = "klucz do rur", - ["weapon_flashlight"] = "latarka", - ["gadget_parachute"] = "spadochron", - ["weapon_flare"] = "pistolet sygnałowy", - ["weapon_doubleaction"] = "double-Action Revolver", - ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated + -- Weapons + ["weapon_knife"] = "nóż", + ["weapon_nightstick"] = "pałka", + ["weapon_hammer"] = "młotek", + ["weapon_bat"] = "kij", + ["weapon_golfclub"] = "kij golfowy", + ["weapon_crowbar"] = "łom", + ["weapon_pistol"] = "pistolet", + ["weapon_combatpistol"] = "pistolet bojowy", + ["weapon_appistol"] = "ap pistol", + ["weapon_pistol50"] = "pistol .50", + ["weapon_microsmg"] = "micro smg", + ["weapon_smg"] = "smg", + ["weapon_assaultsmg"] = "assault smg", + ["weapon_assaultrifle"] = "assault rifle", + ["weapon_carbinerifle"] = "carbine rifle", + ["weapon_advancedrifle"] = "advanced rifle", + ["weapon_mg"] = "mg", + ["weapon_combatmg"] = "combat mg", + ["weapon_pumpshotgun"] = "pump shotgun", + ["weapon_sawnoffshotgun"] = "sawed off shotgun", + ["weapon_assaultshotgun"] = "assault shotgun", + ["weapon_bullpupshotgun"] = "bullpup shotgun", + ["weapon_stungun"] = "tazer", + ["weapon_sniperrifle"] = "karabin snajperski", + ["weapon_heavysniper"] = "ciężki karabin snajperski", + ["weapon_grenadelauncher"] = "granatnik", + ["weapon_rpg"] = "wyrzutnia rakiet", + ["weapon_minigun"] = "minigun", + ["weapon_grenade"] = "granat", + ["weapon_stickybomb"] = "ładunek przylepny", + ["weapon_smokegrenade"] = "granat dymny", + ["weapon_bzgas"] = "bz gas", + ["weapon_molotov"] = "koktajl Mołotowa", + ["weapon_fireextinguisher"] = "gaśnica", + ["weapon_petrolcan"] = "kanister", + ["weapon_ball"] = "piłka", + ["weapon_snspistol"] = "sns pistolet", + ["weapon_bottle"] = "butelka", + ["weapon_gusenberg"] = "gusenberg sweeper", + ["weapon_specialcarbine"] = "special carbine", + ["weapon_heavypistol"] = "heavy pistol", + ["weapon_bullpuprifle"] = "karabin wyborowy", + ["weapon_dagger"] = "sztylet", + ["weapon_vintagepistol"] = "vintage pistol", + ["weapon_firework"] = "fajerwerki", + ["weapon_musket"] = "muszkiet", + ["weapon_heavyshotgun"] = "ciężki shotgun", + ["weapon_marksmanrifle"] = "marksman rifle", + ["weapon_hominglauncher"] = "program uruchamiający", + ["weapon_proxmine"] = "mina zbliżeniowa", + ["weapon_snowball"] = "śnieżka", + ["weapon_flaregun"] = "flara", + ["weapon_combatpdw"] = "combat pdw", + ["weapon_marksmanpistol"] = "marksman pistol", + ["weapon_knuckle"] = "kastety", + ["weapon_hatchet"] = "toporek", + ["weapon_railgun"] = "karabin", + ["weapon_machete"] = "meczeta", + ["weapon_machinepistol"] = "pistolet maszynowy", + ["weapon_switchblade"] = "scyzoryk", + ["weapon_revolver"] = "ciężki rewolwer", + ["weapon_dbshotgun"] = "dwururka", + ["weapon_compactrifle"] = "compact rifle", + ["weapon_autoshotgun"] = "auto shotgun", + ["weapon_battleaxe"] = "topór bitewny", + ["weapon_compactlauncher"] = "compact launcher", + ["weapon_minismg"] = "mini smg", + ["weapon_pipebomb"] = "bomba rurowa", + ["weapon_poolcue"] = "kij bilardowy", + ["weapon_wrench"] = "klucz do rur", + ["weapon_flashlight"] = "latarka", + ["gadget_parachute"] = "spadochron", + ["weapon_flare"] = "pistolet sygnałowy", + ["weapon_doubleaction"] = "double-Action Revolver", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated - -- Weapon Components - ["component_clip_default"] = "domyślny tłumik", - ["component_clip_extended"] = "rozszerzony tłumik", - ["component_clip_drum"] = "magazynek bębnowy", - ["component_clip_box"] = "magazynek", - ["component_flashlight"] = "latarka", - ["component_scope"] = "luneta", - ["component_scope_advanced"] = "zaawansowana luneta", - ["component_suppressor"] = "tłumik", - ["component_grip"] = "uchwyt", - ["component_luxary_finish"] = "luksusowe wykończenie broni", + -- Weapon Components + ["component_clip_default"] = "domyślny tłumik", + ["component_clip_extended"] = "rozszerzony tłumik", + ["component_clip_drum"] = "magazynek bębnowy", + ["component_clip_box"] = "magazynek", + ["component_flashlight"] = "latarka", + ["component_scope"] = "luneta", + ["component_scope_advanced"] = "zaawansowana luneta", + ["component_suppressor"] = "tłumik", + ["component_grip"] = "uchwyt", + ["component_luxary_finish"] = "luksusowe wykończenie broni", - -- Drug Wars DLC - ["weapon_candycane"] = "Candy Cane", -- not translated - ["weapon_acidpackage"] = "Acid Package", -- not translated - ["weapon_pistolxm3"] = "WM 29 Pistol", -- not translated - ["weapon_railgunxm3"] = "Railgun", -- not translated + -- Drug Wars DLC + ["weapon_candycane"] = "Candy Cane", -- not translated + ["weapon_acidpackage"] = "Acid Package", -- not translated + ["weapon_pistolxm3"] = "WM 29 Pistol", -- not translated + ["weapon_railgunxm3"] = "Railgun", -- not translated - -- Weapon Ammo - ["ammo_rounds"] = "nabój/oi", - ["ammo_shells"] = "pocisk(ów)", - ["ammo_charge"] = "naładowania", - ["ammo_petrol"] = "galon(y) paliwa", - ["ammo_firework"] = "fajerwerka/i", - ["ammo_rockets"] = "rakieta/y", - ["ammo_grenadelauncher"] = "granat(y)", - ["ammo_grenade"] = "granat(y)", - ["ammo_stickybomb"] = "bomba/y", - ["ammo_pipebomb"] = "bomba/y", - ["ammo_smokebomb"] = "bomba/y", - ["ammo_molotov"] = "kontail(e)", - ["ammo_proxmine"] = "mina/y", - ["ammo_bzgas"] = "puszka/ek", - ["ammo_ball"] = "kula/e", - ["ammo_snowball"] = "snieżka/i", - ["ammo_flare"] = "flara/y", - ["ammo_flaregun"] = "flara/y", + -- Weapon Ammo + ["ammo_rounds"] = "nabój/oi", + ["ammo_shells"] = "pocisk(ów)", + ["ammo_charge"] = "naładowania", + ["ammo_petrol"] = "galon(y) paliwa", + ["ammo_firework"] = "fajerwerka/i", + ["ammo_rockets"] = "rakieta/y", + ["ammo_grenadelauncher"] = "granat(y)", + ["ammo_grenade"] = "granat(y)", + ["ammo_stickybomb"] = "bomba/y", + ["ammo_pipebomb"] = "bomba/y", + ["ammo_smokebomb"] = "bomba/y", + ["ammo_molotov"] = "kontail(e)", + ["ammo_proxmine"] = "mina/y", + ["ammo_bzgas"] = "puszka/ek", + ["ammo_ball"] = "kula/e", + ["ammo_snowball"] = "snieżka/i", + ["ammo_flare"] = "flara/y", + ["ammo_flaregun"] = "flara/y", - -- Weapon Tints - ["tint_default"] = "domyślny skin", - ["tint_green"] = "zielony skin", - ["tint_gold"] = "złoty skin", - ["tint_pink"] = "różowy skin", - ["tint_army"] = "wojskowy skin", - ["tint_lspd"] = "niebieski skin", - ["tint_orange"] = "pomarańczowy skin", - ["tint_platinum"] = "platynowy skin", + -- Weapon Tints + ["tint_default"] = "domyślny skin", + ["tint_green"] = "zielony skin", + ["tint_gold"] = "złoty skin", + ["tint_pink"] = "różowy skin", + ["tint_army"] = "wojskowy skin", + ["tint_lspd"] = "niebieski skin", + ["tint_orange"] = "pomarańczowy skin", + ["tint_platinum"] = "platynowy skin", } diff --git a/server-data/resources/[esx]/es_extended/locales/sc.lua b/server-data/resources/[esx]/es_extended/locales/sc.lua deleted file mode 100644 index b13ae18cf..000000000 --- a/server-data/resources/[esx]/es_extended/locales/sc.lua +++ /dev/null @@ -1,218 +0,0 @@ -Locales["sc"] = { - -- Inventory - ["giveammo"] = "赠送弹药", - ["amountammo"] = "弹药量", - ["noammo"] = "你没有足够的弹药!", - ["gave_item"] = "你把%sx%s赠给了%s", - ["received_item"] = "你收到%sx%s,来自%s", - ["gave_weapon"] = "你把%s赠给了%s", - ["gave_weapon_ammo"] = "你把~o~%sx%s %s赠给了%s", - ["gave_weapon_withammo"] = "你把%s和~o~%sx %s赠给了%s", - ["gave_weapon_hasalready"] = "%s已经拥有%s", - ["gave_weapon_noweapon"] = "%s没有那个武器", - ["received_weapon"] = "你收到了%s,来自%s", - ["received_weapon_ammo"] = "你收到了~o~%sx %s(%s),来自%s", - ["received_weapon_withammo"] = "你收到了%s和~o~%sx %s,来自%s", - ["received_weapon_hasalready"] = "%s试图给你%s,但你已经拥有了", - ["received_weapon_noweapon"] = "%s试图给你%s弹药,但你没有那个武器", - ["gave_account_money"] = "你将 $%s (%s) 给予 %s", - ["received_account_money"] = "你收到了$%s (%s) 来自 %s", - ["amount_invalid"] = "无效数量", - ["players_nearby"] = "附近没有玩家", - ["ex_inv_lim"] = "操作失败, 超过%s的物品栏限制", - ["imp_invalid_quantity"] = "操作失败,无效数量", - ["imp_invalid_amount"] = "操作失败,无效金额", - ["threw_standard"] = "你丢弃了%sx%s", - ["threw_account"] = "你丢弃了$%s%s", - ["threw_weapon"] = "你丢弃了%s", - ["threw_weapon_ammo"] = "你丢弃了%s和~o~%sx%s", - ["threw_weapon_already"] = "你已经有同样的武器了", - ["threw_cannot_pickup"] = "你不能再拿起那个了,因为你的库存已经满了", - ["threw_pickup_prompt"] = "按 E 拿起", - - -- Key mapping - ["keymap_showinventory"] = "显示库存", - - -- Salary related - ["received_salary"] = "你收到了你的工资: $%s", - ["received_help"] = "你领取到了你的失业救济金: $%s", - ["company_nomoney"] = "你受雇的公司太穷了,无法支付你的工资。", - ["received_paycheck"] = "收到转账", - ["bank"] = "花园银行", - ["account_bank"] = "银行", - ["account_black_money"] = "黑钱", - ["account_money"] = "现金", - - ["act_imp"] = "操作失败", - ["in_vehicle"] = "请离开载具", - - -- Commands - ["command_car"] = "生成载具", - ["command_car_car"] = "生成载具的模型名称或哈希值", - ["command_cardel"] = "删除附近的载具", - ["command_cardel_radius"] = "可选,删除指定半径内的所有车辆", - ["command_clear"] = "清除聊天记录", - ["command_clearall"] = "清除所有玩家的聊天记录", - ["command_clearinventory"] = "清除玩家库存", - ["command_clearloadout"] = "清除玩家皮肤", - ["command_giveaccountmoney"] = "给帐户钱", - ["command_giveaccountmoney_account"] = "有效的帐户名", - ["command_giveaccountmoney_amount"] = "添加的数量", - ["command_giveaccountmoney_invalid"] = "无效的帐户名", - ["command_giveitem"] = "给玩家一件物品", - ["command_giveitem_item"] = "物品名称", - ["command_giveitem_count"] = "物品数目", - ["command_giveweapon"] = "给玩家一件武器", - ["command_giveweapon_weapon"] = "武器名称", - ["command_giveweapon_ammo"] = "弹药数目", - ["command_giveweapon_hasalready"] = "该玩家已经拥有该武器", - ["command_giveweaponcomponent"] = "给武器配件", - ["command_giveweaponcomponent_component"] = "配件名称", - ["command_giveweaponcomponent_invalid"] = "无效的武器配件", - ["command_giveweaponcomponent_hasalready"] = "玩家已经拥有该武器配件", - ["command_giveweaponcomponent_missingweapon"] = "该玩家没有那个武器", - ["command_save"] = "保存玩家数据至数据库", - ["command_saveall"] = "保存所有玩家数据至数据库", - ["command_setaccountmoney"] = "为玩家设置帐户资金", - ["command_setaccountmoney_amount"] = "要设定的金额", - ["command_setcoords"] = "传送到坐标", - ["command_setcoords_x"] = "x 轴", - ["command_setcoords_y"] = "y 轴", - ["command_setcoords_z"] = "z 轴", - ["command_setjob"] = "为玩家设定工作", - ["command_setjob_job"] = "工作名称", - ["command_setjob_grade"] = "工作等级", - ["command_setjob_invalid"] = "工作、等级或两者都无效", - ["command_setgroup"] = "设置玩家用户组", - ["command_setgroup_group"] = "用户组名称", - ["commanderror_argumentmismatch"] = "参数计数不匹配(该类型为%s, 需要传递 %s)", - ["commanderror_argumentmismatch_number"] = "参数 #%s 类型不匹配(该类型为字符串,需要传递数字类型)", - ["commanderror_invaliditem"] = "无效的物品名称", - ["commanderror_invalidweapon"] = "无效武器", - ["commanderror_console"] = "该命令不能从控制台运行", - ["commanderror_invalidcommand"] = "/%s 不是有效的命令!", - ["commanderror_invalidplayerid"] = "没有在线玩家匹配到该服务id", - ["commandgeneric_playerid"] = "玩家id", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "$%s", - - -- Weapons - ["weapon_knife"] = "小刀", - ["weapon_nightstick"] = "警棍", - ["weapon_hammer"] = "铁锤", - ["weapon_bat"] = "棒球棍", - ["weapon_golfclub"] = "高尔夫球杆", - ["weapon_crowbar"] = "撬棍", - ["weapon_pistol"] = "手枪", - ["weapon_combatpistol"] = "战斗手枪", - ["weapon_appistol"] = "穿甲手枪", - ["weapon_pistol50"] = "0.5 口径手枪", - ["weapon_microsmg"] = "微型冲锋枪", - ["weapon_smg"] = "冲锋枪", - ["weapon_assaultsmg"] = "突击冲锋枪", - ["weapon_assaultrifle"] = "突击步枪", - ["weapon_carbinerifle"] = "卡宾步枪", - ["weapon_advancedrifle"] = "高级步枪", - ["weapon_mg"] = "机枪", - ["weapon_combatmg"] = "战斗机枪", - ["weapon_pumpshotgun"] = "泵动式霰弹枪", - ["weapon_sawnoffshotgun"] = "短管霰弹枪", - ["weapon_assaultshotgun"] = "突击霰弹枪", - ["weapon_bullpupshotgun"] = "无托式霰弹枪", - ["weapon_stungun"] = "电击枪", - ["weapon_sniperrifle"] = "狙击步枪", - ["weapon_heavysniper"] = "重型狙击步枪", - ["weapon_grenadelauncher"] = "榴弹发射器", - ["weapon_rpg"] = "火箭炮", - ["weapon_minigun"] = "火神机枪", - ["weapon_grenade"] = "手榴弹", - ["weapon_stickybomb"] = "黏弹", - ["weapon_smokegrenade"] = "烟雾弹", - ["weapon_bzgas"] = "催泪瓦斯", - ["weapon_molotov"] = "汽油弹", - ["weapon_fireextinguisher"] = "灭火器", - ["weapon_petrolcan"] = "汽油桶", - ["weapon_ball"] = "棒球", - ["weapon_snspistol"] = "劣质手枪", - ["weapon_bottle"] = "酒瓶", - ["weapon_gusenberg"] = "古森柏冲锋枪", - ["weapon_specialcarbine"] = "特制卡宾枪", - ["weapon_heavypistol"] = "重型手枪", - ["weapon_bullpuprifle"] = "无托式步枪", - ["weapon_dagger"] = "匕首", - ["weapon_vintagepistol"] = "老式手枪", - ["weapon_firework"] = "烟花发射器", - ["weapon_musket"] = "老式火枪", - ["weapon_heavyshotgun"] = "重型霰弹枪", - ["weapon_marksmanrifle"] = "射手步枪", - ["weapon_hominglauncher"] = "制导火箭发射器", - ["weapon_proxmine"] = "感应地雷", - ["weapon_snowball"] = "雪球", - ["weapon_flaregun"] = "信号枪", - ["weapon_combatpdw"] = "作战自卫冲锋枪", - ["weapon_marksmanpistol"] = "射手手枪", - ["weapon_knuckle"] = "手指虎", - ["weapon_hatchet"] = "手斧", - ["weapon_railgun"] = "电磁轨道炮", - ["weapon_machete"] = "开山刀", - ["weapon_machinepistol"] = "冲锋手枪", - ["weapon_switchblade"] = "弹簧刀", - ["weapon_revolver"] = "重型左轮手枪", - ["weapon_dbshotgun"] = "双管霰弹枪", - ["weapon_compactrifle"] = "紧凑型步枪", - ["weapon_autoshotgun"] = "半自动霰弹枪", - ["weapon_battleaxe"] = "战斧", - ["weapon_compactlauncher"] = "紧凑型榴弹发射器", - ["weapon_minismg"] = "迷你冲锋枪", - ["weapon_pipebomb"] = "土制炸弹", - ["weapon_poolcue"] = "台球杆", - ["weapon_wrench"] = "管钳扳手", - ["weapon_flashlight"] = "手电筒", - ["gadget_parachute"] = "降落伞", - ["weapon_flare"] = "信号棒", - ["weapon_doubleaction"] = "双动式左轮手枪", - - -- Weapon Components - ["component_clip_default"] = "默认弹夹", - ["component_clip_extended"] = "扩容弹夹", - ["component_clip_drum"] = "鼓式弹夹", - ["component_clip_box"] = "盒型弹匣", - ["component_flashlight"] = "手电筒", - ["component_scope"] = "瞄准镜", - ["component_scope_advanced"] = "高级瞄准镜", - ["component_suppressor"] = "消音器", - ["component_grip"] = "握把", - ["component_luxary_finish"] = "奢华涂饰", - - -- Weapon Ammo - ["ammo_rounds"] = "发(子弹)", - ["ammo_shells"] = "发(子弹)", - ["ammo_charge"] = "喷", - ["ammo_petrol"] = "加仑(燃料)", - ["ammo_firework"] = "发(烟花弹)", - ["ammo_rockets"] = "枚(火箭弹)", - ["ammo_grenadelauncher"] = "发(榴弹)", - ["ammo_grenade"] = "枚(手榴弹)", - ["ammo_stickybomb"] = "枚(炸弹)", - ["ammo_pipebomb"] = "枚(炸弹)", - ["ammo_smokebomb"] = "枚(炸弹)", - ["ammo_molotov"] = "瓶(汽油瓶)", - ["ammo_proxmine"] = "个(地雷)", - ["ammo_bzgas"] = "罐", - ["ammo_ball"] = "个(球)", - ["ammo_snowball"] = "个(雪球)", - ["ammo_flare"] = "根(信号棒)", - ["ammo_flaregun"] = "发(信号弹)", - - -- Weapon Tints - ["tint_default"] = "默认色调", - ["tint_green"] = "绿色调", - ["tint_gold"] = "金色调", - ["tint_pink"] = "粉色调", - ["tint_army"] = "军用色调", - ["tint_lspd"] = "洛圣都警局色调", - ["tint_orange"] = "橙色调", - ["tint_platinum"] = "铂金色调", -} diff --git a/server-data/resources/[esx]/es_extended/locales/sl.lua b/server-data/resources/[esx]/es_extended/locales/sl.lua index f67a6bc57..2c3e1f8e8 100644 --- a/server-data/resources/[esx]/es_extended/locales/sl.lua +++ b/server-data/resources/[esx]/es_extended/locales/sl.lua @@ -1,377 +1,377 @@ Locales["sl"] = { - -- Inventory - ["inventory"] = "Shramba ( Teza %s / %s )", - ["use"] = "Uporabi", - ["give"] = "Daj", - ["remove"] = "Vrzi", - ["return"] = "Povratek", - ["give_to"] = "Daj", - ["amount"] = "Vsota", - ["giveammo"] = "Daj Strelivo", - ["amountammo"] = "Količina streliva", - ["noammo"] = "Ni dovolj!", - ["gave_item"] = "Dal si %sx %s k %s", - ["received_item"] = "Dobil si %sx %s od %s", - ["gave_weapon"] = "Dajanje %s do %s", - ["gave_weapon_ammo"] = "Dajanje ~o~%sx %s za %s do %s", - ["gave_weapon_withammo"] = "Dajanje %s z ~o~%sx %s do %s", - ["gave_weapon_hasalready"] = "%s ze ima %s", - ["gave_weapon_noweapon"] = "%s se nima tega orozja", - ["received_weapon"] = "Dobil si %s od %s", - ["received_weapon_ammo"] = "Dobil ~o~%sx %s za tvoj/o %s od %s", - ["received_weapon_withammo"] = "Dobil si %s z ~o~%sx %s od %s", - ["received_weapon_hasalready"] = "%s vam je poskušal dati %s, vendar že imate to orožje", - ["received_weapon_noweapon"] = "%s vam je poskušal dati strelivo za %s, vendar nimate tega orožja", - ["gave_account_money"] = "Dajanje $%s (%s) do %s", - ["received_account_money"] = "Dobil $%s (%s) od %s", - ["amount_invalid"] = "Neveljavna količina", - ["players_nearby"] = "V blizini ni ljudi", - ["ex_inv_lim"] = "Dejanja ni mogoče izvesti, saj presega največjo težo %s", - ["imp_invalid_quantity"] = "Dejanja ni mogoče izvesti, količina je neveljavna", - ["imp_invalid_amount"] = "Dejanja ni mogoče izvesti, znesek je neveljaven", - ["threw_standard"] = "Metanje %sx %s", - ["threw_account"] = "Metanje $%s %s", - ["threw_weapon"] = "Metanje %s", - ["threw_weapon_ammo"] = "Metanje %s z ~o~%sx %s", - ["threw_weapon_already"] = "Ti ze imas to orozje", - ["threw_cannot_pickup"] = "Shramba je poln, nemorem pobrati!", - ["threw_pickup_prompt"] = "Pritisni E da poberes", - - -- Key mapping - ["keymap_showinventory"] = "Pokazi Shrambo", - - -- Salary related - ["received_salary"] = "Vi ste plačali: $%s", - ["received_help"] = "Vi ste placali svoj CEK v vrednosti: $%s", - ["company_nomoney"] = "podjetje, v katerem ste zaposleni, je prerevno, da bi vam izplačevalo plačo", - ["received_paycheck"] = "Prejel si Placilo", - ["bank"] = "NLB", - ["account_bank"] = "Banka", - ["account_black_money"] = "Umazan Denar", - ["account_money"] = "Denar", - - ["act_imp"] = "Dejanja ni mogoče izvesti", - ["in_vehicle"] = "Dejanja ni mogoče izvesti, Oseba je v vozilu", - ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", - - -- Commands - ["command_bring"] = "Teleportiraj osebo do sebe", - ["command_car"] = "Spawnaj si vozilo", - ["command_car_car"] = "Koda vozila", - ["command_cardel"] = "Odstranite vozila v bližini", - ["command_cardel_radius"] = "Odstrani vsa vozila v določenem radiju", - ["command_repair"] = "Repair your vehicle", - ["command_repair_success"] = "Successfully repaired vehicle", - ["command_repair_success_target"] = "An admin repaired your vehicle", - ["command_clear"] = "Odstrani vsa sporocila v CHATU", - ["command_clearall"] = "Počisti besedilo klepeta za vse igralce", - ["command_clearinventory"] = "Vzemi vse stvari iz osebove shrambe", - ["command_clearloadout"] = "Odstranite vse orožje iz nalaganja igralcev", - ["command_freeze"] = "Zmrzni osebno", - ["command_unfreeze"] = "Odmrzni osebo", - ["command_giveaccountmoney"] = "Poslji denar na dolocen Bancni racun", - ["command_giveaccountmoney_account"] = "Račun za dodajanje", - ["command_giveaccountmoney_amount"] = "Znesek za dodajanje", - ["command_giveaccountmoney_invalid"] = "Ime računa je neveljavno", - ["command_giveitem"] = "Daj osebi neko stvar", - ["command_giveitem_item"] = "Ime Stvari", - ["command_giveitem_count"] = "Kolicina", - ["command_giveweapon"] = "Daj osebi orozje", - ["command_giveweapon_weapon"] = "Ime orozja", - ["command_giveweapon_ammo"] = "Kolicina", - ["command_giveweapon_hasalready"] = "Oseba ze ima to orozje!", - ["command_giveweaponcomponent"] = "Daj komponento orožja igralcu", - ["command_giveweaponcomponent_component"] = "Ime Komponente", - ["command_giveweaponcomponent_invalid"] = "Neveljavna komponenta orožja", - ["command_giveweaponcomponent_hasalready"] = "Oseba ze ima to komponento", - ["command_giveweaponcomponent_missingweapon"] = "Oseba nima tega orozja!", - ["command_goto"] = "Teleportirajte se k igralcu", - ["command_kill"] = "Ubij igralca", - ["command_save"] = "Prisilno shrani podatke igralca!", - ["command_saveall"] = "Prisilno shrani vse podatke igralca", - ["command_setaccountmoney"] = "Nastavite denar znotraj dolocenega racuna", - ["command_setaccountmoney_amount"] = "Znesek", - ["command_setcoords"] = "Teleport na dolocene koordinate", - ["command_setcoords_x"] = "Vrednost X", - ["command_setcoords_y"] = "Vrednost Y", - ["command_setcoords_z"] = "Z vrednost", - ["command_setjob"] = "Nastavi opravilo igralca", - ["command_setjob_job"] = "Ime", - ["command_setjob_grade"] = "Delovna ocena", - ["command_setjob_invalid"] = "delovno mesto, ocena ali oboje ni veljavno", - ["command_setgroup"] = "Nastavi skupino dovoljenj igralcev", - ["command_setgroup_group"] = "Ime skupine", - ["commanderror_argumentmismatch"] = "Neveljavno stetje argumentov (podano %s, zeleno %s)", - ["commanderror_argumentmismatch_number"] = "Neveljaven podatkovni tip argumenta #%s (posredovan niz, zeleno stevilo)", - ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", - ["commanderror_invaliditem"] = "Neveljaven element", - ["commanderror_invalidweapon"] = "Neveljavno orozje", - ["commanderror_console"] = "Ukaza ni mogoce izvesti s konzole", - ["commanderror_invalidcommand"] = "Neveljaven ukaz - /%s", - ["commanderror_invalidplayerid"] = "Naveden igralec ni na spletu", - ["commandgeneric_playerid"] = "Id streznika igralca", - ["command_giveammo_noweapon_found"] = "%s nima tega orozja", - ["command_giveammo_weapon"] = "Ime orozja", - ["command_giveammo_ammo"] = "Kolicina streliva", - ["tpm_nowaypoint"] = "Ni nastavljene poti!.", - ["tpm_success"] = "Uspesno teleportiran", - - ["noclip_message"] = "Noclip je bil %s", - ["enabled"] = "~g~Vkljucen~s~", - ["disabled"] = "~r~Izkljucen~s~", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "€%s", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "Dagger", - ["weapon_bat"] = "Bat", - ["weapon_battleaxe"] = "Battle Axe", - ["weapon_bottle"] = "Bottle", - ["weapon_crowbar"] = "Crowbar", - ["weapon_flashlight"] = "Flashlight", - ["weapon_golfclub"] = "Golf Club", - ["weapon_hammer"] = "Hammer", - ["weapon_hatchet"] = "Hatchet", - ["weapon_knife"] = "Knife", - ["weapon_knuckle"] = "Knuckledusters", - ["weapon_machete"] = "Machete", - ["weapon_nightstick"] = "Nightstick", - ["weapon_wrench"] = "Pipe Wrench", - ["weapon_poolcue"] = "Pool Cue", - ["weapon_stone_hatchet"] = "Stone Hatchet", - ["weapon_switchblade"] = "Switchblade", - - -- Handguns - ["weapon_appistol"] = "AP Pistol", - ["weapon_ceramicpistol"] = "Ceramic Pistol", - ["weapon_combatpistol"] = "Combat Pistol", - ["weapon_doubleaction"] = "Double-Action Revolver", - ["weapon_navyrevolver"] = "Navy Revolver", - ["weapon_flaregun"] = "Flaregun", - ["weapon_gadgetpistol"] = "Gadget Pistol", - ["weapon_heavypistol"] = "Heavy Pistol", - ["weapon_revolver"] = "Heavy Revolver", - ["weapon_revolver_mk2"] = "Heavy Revolver MK2", - ["weapon_marksmanpistol"] = "Marksman Pistol", - ["weapon_pistol"] = "Pistol", - ["weapon_pistol_mk2"] = "Pistol MK2", - ["weapon_pistol50"] = "Pistol .50", - ["weapon_snspistol"] = "SNS Pistol", - ["weapon_snspistol_mk2"] = "SNS Pistol MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "Vintage Pistol", - - -- Shotguns - ["weapon_assaultshotgun"] = "Assault Shotgun", - ["weapon_autoshotgun"] = "Auto Shotgun", - ["weapon_bullpupshotgun"] = "Bullpup Shotgun", - ["weapon_combatshotgun"] = "Combat Shotgun", - ["weapon_dbshotgun"] = "Double Barrel Shotgun", - ["weapon_heavyshotgun"] = "Heavy Shotgun", - ["weapon_musket"] = "Musket", - ["weapon_pumpshotgun"] = "Pump Shotgun", - ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", - ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", - - -- SMG & LMG - ["weapon_assaultsmg"] = "Assault SMG", - ["weapon_combatmg"] = "Combat MG", - ["weapon_combatmg_mk2"] = "Combat MG MK2", - ["weapon_combatpdw"] = "Combat PDW", - ["weapon_gusenberg"] = "Gusenberg Sweeper", - ["weapon_machinepistol"] = "Machine Pistol", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Micro SMG", - ["weapon_minismg"] = "Mini SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Unholy Hellbringer", - - -- Rifles - ["weapon_advancedrifle"] = "Advanced Rifle", - ["weapon_assaultrifle"] = "Assault Rifle", - ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", - ["weapon_bullpuprifle"] = "Bullpup Rifle", - ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", - ["weapon_carbinerifle"] = "Carbine Rifle", - ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", - ["weapon_compactrifle"] = "Compact Rifle", - ["weapon_militaryrifle"] = "Military Rifle", - ["weapon_specialcarbine"] = "Special Carbine", - ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", - ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated - - -- Sniper - ["weapon_heavysniper"] = "Heavy Sniper", - ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", - ["weapon_marksmanrifle"] = "Marksman Rifle", - ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", - ["weapon_sniperrifle"] = "Sniper Rifle", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Compact Launcher", - ["weapon_firework"] = "Firework Launcher", - ["weapon_grenadelauncher"] = "Grenade Launcher", - ["weapon_hominglauncher"] = "Homing Launcher", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Railgun", - ["weapon_rpg"] = "Rocket Launcher", - ["weapon_rayminigun"] = "Widowmaker", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "Metal Detector", - ["weapon_precisionrifle"] = "Precision Rifle", - ["weapon_tactilerifle"] = "Service Carbine", - - -- Drug Wars DLC - ["weapon_candycane"] = "Candy Cane", -- not translated - ["weapon_acidpackage"] = "Acid Package", -- not translated - ["weapon_pistolxm3"] = "WM 29 Pistol", -- not translated - ["weapon_railgunxm3"] = "Railgun", -- not translated - - -- Thrown - ["weapon_ball"] = "Baseball", - ["weapon_bzgas"] = "BZ Gas", - ["weapon_flare"] = "Flare", - ["weapon_grenade"] = "Grenade", - ["weapon_petrolcan"] = "Jerrycan", - ["weapon_hazardcan"] = "Hazardous Jerrycan", - ["weapon_molotov"] = "Molotov Cocktail", - ["weapon_proxmine"] = "Proximity Mine", - ["weapon_pipebomb"] = "Pipe Bomb", - ["weapon_snowball"] = "Snowball", - ["weapon_stickybomb"] = "Sticky Bomb", - ["weapon_smokegrenade"] = "Tear Gas", - - -- Special - ["weapon_fireextinguisher"] = "Fire Extinguisher", - ["weapon_digiscanner"] = "Digital Scanner", - ["weapon_garbagebag"] = "Garbage Bag", - ["weapon_handcuffs"] = "Handcuffs", - ["gadget_nightvision"] = "Night Vision", - ["gadget_parachute"] = "parachute", - - -- Weapon Components - ["component_knuckle_base"] = "base Model", - ["component_knuckle_pimp"] = "the Pimp", - ["component_knuckle_ballas"] = "the Ballas", - ["component_knuckle_dollar"] = "the Hustler", - ["component_knuckle_diamond"] = "the Rock", - ["component_knuckle_hate"] = "the Hater", - ["component_knuckle_love"] = "the Lover", - ["component_knuckle_player"] = "the Player", - ["component_knuckle_king"] = "the King", - ["component_knuckle_vagos"] = "the Vagos", - - ["component_luxary_finish"] = "luxary Weapon Finish", - - ["component_handle_default"] = "default Handle", - ["component_handle_vip"] = "vIP Handle", - ["component_handle_bodyguard"] = "bodyguard Handle", - - ["component_vip_finish"] = "vIP Finish", - ["component_bodyguard_finish"] = "bodyguard Finish", - - ["component_camo_finish"] = "digital Camo", - ["component_camo_finish2"] = "brushstroke Camo", - ["component_camo_finish3"] = "woodland Camo", - ["component_camo_finish4"] = "skull Camo", - ["component_camo_finish5"] = "sessanta Nove Camo", - ["component_camo_finish6"] = "perseus Camo", - ["component_camo_finish7"] = "leopard Camo", - ["component_camo_finish8"] = "zebra Camo", - ["component_camo_finish9"] = "geometric Camo", - ["component_camo_finish10"] = "boom Camo", - ["component_camo_finish11"] = "patriotic Camo", - - ["component_camo_slide_finish"] = "digital Slide Camo", - ["component_camo_slide_finish2"] = "brushstroke Slide Camo", - ["component_camo_slide_finish3"] = "woodland Slide Camo", - ["component_camo_slide_finish4"] = "skull Slide Camo", - ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", - ["component_camo_slide_finish6"] = "perseus Slide Camo", - ["component_camo_slide_finish7"] = "leopard Slide Camo", - ["component_camo_slide_finish8"] = "zebra Slide Camo", - ["component_camo_slide_finish9"] = "geometric Slide Camo", - ["component_camo_slide_finish10"] = "boom Slide Camo", - ["component_camo_slide_finish11"] = "patriotic Slide Camo", - - ["component_clip_default"] = "default Magazine", - ["component_clip_extended"] = "extended Magazine", - ["component_clip_drum"] = "drum Magazine", - ["component_clip_box"] = "box Magazine", - - ["component_scope_holo"] = "holographic Scope", - ["component_scope_small"] = "small Scope", - ["component_scope_medium"] = "medium Scope", - ["component_scope_large"] = "large Scope", - ["component_scope"] = "mounted Scope", - ["component_scope_advanced"] = "advanced Scope", - ["component_ironsights"] = "ironsights", - - ["component_suppressor"] = "suppressor", - ["component_compensator"] = "compensator", - - ["component_muzzle_flat"] = "flat Muzzle Brake", - ["component_muzzle_tactical"] = "tactical Muzzle Brake", - ["component_muzzle_fat"] = "fat-End Muzzle Brake", - ["component_muzzle_precision"] = "precision Muzzle Brake", - ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", - ["component_muzzle_slanted"] = "slanted Muzzle Brake", - ["component_muzzle_split"] = "split-End Muzzle Brake", - ["component_muzzle_squared"] = "squared Muzzle Brake", - - ["component_flashlight"] = "flashlight", - ["component_grip"] = "grip", - - ["component_barrel_default"] = "default Barrel", - ["component_barrel_heavy"] = "heavy Barrel", - - ["component_ammo_tracer"] = "tracer Ammo", - ["component_ammo_incendiary"] = "incendiary Ammo", - ["component_ammo_hollowpoint"] = "hollowpoint Ammo", - ["component_ammo_fmj"] = "fMJ Ammo", - ["component_ammo_armor"] = "armor Piercing Ammo", - ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", - - ["component_shells_default"] = "default Shells", - ["component_shells_incendiary"] = "dragons Breath Shells", - ["component_shells_armor"] = "steel Buckshot Shells", - ["component_shells_hollowpoint"] = "flechette Shells", - ["component_shells_explosive"] = "explosive Slug Shells", - - -- Weapon Ammo - ["ammo_rounds"] = "round(s)", - ["ammo_shells"] = "shell(s)", - ["ammo_charge"] = "charge", - ["ammo_petrol"] = "gallons of fuel", - ["ammo_firework"] = "firework(s)", - ["ammo_rockets"] = "rocket(s)", - ["ammo_grenadelauncher"] = "grenade(s)", - ["ammo_grenade"] = "grenade(s)", - ["ammo_stickybomb"] = "bomb(s)", - ["ammo_pipebomb"] = "bomb(s)", - ["ammo_smokebomb"] = "bomb(s)", - ["ammo_molotov"] = "cocktail(s)", - ["ammo_proxmine"] = "mine(s)", - ["ammo_bzgas"] = "can(s)", - ["ammo_ball"] = "ball(s)", - ["ammo_snowball"] = "snowball(s)", - ["ammo_flare"] = "flare(s)", - ["ammo_flaregun"] = "flare(s)", - - -- Weapon Tints - ["tint_default"] = "default skin", - ["tint_green"] = "green skin", - ["tint_gold"] = "gold skin", - ["tint_pink"] = "pink skin", - ["tint_army"] = "army skin", - ["tint_lspd"] = "blue skin", - ["tint_orange"] = "orange skin", - ["tint_platinum"] = "platinum skin", + -- Inventory + ["inventory"] = "Shramba ( Teza %s / %s )", + ["use"] = "Uporabi", + ["give"] = "Daj", + ["remove"] = "Vrzi", + ["return"] = "Povratek", + ["give_to"] = "Daj", + ["amount"] = "Vsota", + ["giveammo"] = "Daj Strelivo", + ["amountammo"] = "Količina streliva", + ["noammo"] = "Ni dovolj!", + ["gave_item"] = "Dal si %sx %s k %s", + ["received_item"] = "Dobil si %sx %s od %s", + ["gave_weapon"] = "Dajanje %s do %s", + ["gave_weapon_ammo"] = "Dajanje ~o~%sx %s za %s do %s", + ["gave_weapon_withammo"] = "Dajanje %s z ~o~%sx %s do %s", + ["gave_weapon_hasalready"] = "%s ze ima %s", + ["gave_weapon_noweapon"] = "%s se nima tega orozja", + ["received_weapon"] = "Dobil si %s od %s", + ["received_weapon_ammo"] = "Dobil ~o~%sx %s za tvoj/o %s od %s", + ["received_weapon_withammo"] = "Dobil si %s z ~o~%sx %s od %s", + ["received_weapon_hasalready"] = "%s vam je poskušal dati %s, vendar že imate to orožje", + ["received_weapon_noweapon"] = "%s vam je poskušal dati strelivo za %s, vendar nimate tega orožja", + ["gave_account_money"] = "Dajanje $%s (%s) do %s", + ["received_account_money"] = "Dobil $%s (%s) od %s", + ["amount_invalid"] = "Neveljavna količina", + ["players_nearby"] = "V blizini ni ljudi", + ["ex_inv_lim"] = "Dejanja ni mogoče izvesti, saj presega največjo težo %s", + ["imp_invalid_quantity"] = "Dejanja ni mogoče izvesti, količina je neveljavna", + ["imp_invalid_amount"] = "Dejanja ni mogoče izvesti, znesek je neveljaven", + ["threw_standard"] = "Metanje %sx %s", + ["threw_account"] = "Metanje $%s %s", + ["threw_weapon"] = "Metanje %s", + ["threw_weapon_ammo"] = "Metanje %s z ~o~%sx %s", + ["threw_weapon_already"] = "Ti ze imas to orozje", + ["threw_cannot_pickup"] = "Shramba je poln, nemorem pobrati!", + ["threw_pickup_prompt"] = "Pritisni E da poberes", + + -- Key mapping + ["keymap_showinventory"] = "Pokazi Shrambo", + + -- Salary related + ["received_salary"] = "Vi ste plačali: $%s", + ["received_help"] = "Vi ste placali svoj CEK v vrednosti: $%s", + ["company_nomoney"] = "podjetje, v katerem ste zaposleni, je prerevno, da bi vam izplačevalo plačo", + ["received_paycheck"] = "Prejel si Placilo", + ["bank"] = "NLB", + ["account_bank"] = "Banka", + ["account_black_money"] = "Umazan Denar", + ["account_money"] = "Denar", + + ["act_imp"] = "Dejanja ni mogoče izvesti", + ["in_vehicle"] = "Dejanja ni mogoče izvesti, Oseba je v vozilu", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", + + -- Commands + ["command_bring"] = "Teleportiraj osebo do sebe", + ["command_car"] = "Spawnaj si vozilo", + ["command_car_car"] = "Koda vozila", + ["command_cardel"] = "Odstranite vozila v bližini", + ["command_cardel_radius"] = "Odstrani vsa vozila v določenem radiju", + ["command_repair"] = "Repair your vehicle", + ["command_repair_success"] = "Successfully repaired vehicle", + ["command_repair_success_target"] = "An admin repaired your vehicle", + ["command_clear"] = "Odstrani vsa sporocila v CHATU", + ["command_clearall"] = "Počisti besedilo klepeta za vse igralce", + ["command_clearinventory"] = "Vzemi vse stvari iz osebove shrambe", + ["command_clearloadout"] = "Odstranite vse orožje iz nalaganja igralcev", + ["command_freeze"] = "Zmrzni osebno", + ["command_unfreeze"] = "Odmrzni osebo", + ["command_giveaccountmoney"] = "Poslji denar na dolocen Bancni racun", + ["command_giveaccountmoney_account"] = "Račun za dodajanje", + ["command_giveaccountmoney_amount"] = "Znesek za dodajanje", + ["command_giveaccountmoney_invalid"] = "Ime računa je neveljavno", + ["command_giveitem"] = "Daj osebi neko stvar", + ["command_giveitem_item"] = "Ime Stvari", + ["command_giveitem_count"] = "Kolicina", + ["command_giveweapon"] = "Daj osebi orozje", + ["command_giveweapon_weapon"] = "Ime orozja", + ["command_giveweapon_ammo"] = "Kolicina", + ["command_giveweapon_hasalready"] = "Oseba ze ima to orozje!", + ["command_giveweaponcomponent"] = "Daj komponento orožja igralcu", + ["command_giveweaponcomponent_component"] = "Ime Komponente", + ["command_giveweaponcomponent_invalid"] = "Neveljavna komponenta orožja", + ["command_giveweaponcomponent_hasalready"] = "Oseba ze ima to komponento", + ["command_giveweaponcomponent_missingweapon"] = "Oseba nima tega orozja!", + ["command_goto"] = "Teleportirajte se k igralcu", + ["command_kill"] = "Ubij igralca", + ["command_save"] = "Prisilno shrani podatke igralca!", + ["command_saveall"] = "Prisilno shrani vse podatke igralca", + ["command_setaccountmoney"] = "Nastavite denar znotraj dolocenega racuna", + ["command_setaccountmoney_amount"] = "Znesek", + ["command_setcoords"] = "Teleport na dolocene koordinate", + ["command_setcoords_x"] = "Vrednost X", + ["command_setcoords_y"] = "Vrednost Y", + ["command_setcoords_z"] = "Z vrednost", + ["command_setjob"] = "Nastavi opravilo igralca", + ["command_setjob_job"] = "Ime", + ["command_setjob_grade"] = "Delovna ocena", + ["command_setjob_invalid"] = "delovno mesto, ocena ali oboje ni veljavno", + ["command_setgroup"] = "Nastavi skupino dovoljenj igralcev", + ["command_setgroup_group"] = "Ime skupine", + ["commanderror_argumentmismatch"] = "Neveljavno stetje argumentov (podano %s, zeleno %s)", + ["commanderror_argumentmismatch_number"] = "Neveljaven podatkovni tip argumenta #%s (posredovan niz, zeleno stevilo)", + ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", + ["commanderror_invaliditem"] = "Neveljaven element", + ["commanderror_invalidweapon"] = "Neveljavno orozje", + ["commanderror_console"] = "Ukaza ni mogoce izvesti s konzole", + ["commanderror_invalidcommand"] = "Neveljaven ukaz - /%s", + ["commanderror_invalidplayerid"] = "Naveden igralec ni na spletu", + ["commandgeneric_playerid"] = "Id streznika igralca", + ["command_giveammo_noweapon_found"] = "%s nima tega orozja", + ["command_giveammo_weapon"] = "Ime orozja", + ["command_giveammo_ammo"] = "Kolicina streliva", + ["tpm_nowaypoint"] = "Ni nastavljene poti!.", + ["tpm_success"] = "Uspesno teleportiran", + + ["noclip_message"] = "Noclip je bil %s", + ["enabled"] = "~g~Vkljucen~s~", + ["disabled"] = "~r~Izkljucen~s~", + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "€%s", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "Dagger", + ["weapon_bat"] = "Bat", + ["weapon_battleaxe"] = "Battle Axe", + ["weapon_bottle"] = "Bottle", + ["weapon_crowbar"] = "Crowbar", + ["weapon_flashlight"] = "Flashlight", + ["weapon_golfclub"] = "Golf Club", + ["weapon_hammer"] = "Hammer", + ["weapon_hatchet"] = "Hatchet", + ["weapon_knife"] = "Knife", + ["weapon_knuckle"] = "Knuckledusters", + ["weapon_machete"] = "Machete", + ["weapon_nightstick"] = "Nightstick", + ["weapon_wrench"] = "Pipe Wrench", + ["weapon_poolcue"] = "Pool Cue", + ["weapon_stone_hatchet"] = "Stone Hatchet", + ["weapon_switchblade"] = "Switchblade", + + -- Handguns + ["weapon_appistol"] = "AP Pistol", + ["weapon_ceramicpistol"] = "Ceramic Pistol", + ["weapon_combatpistol"] = "Combat Pistol", + ["weapon_doubleaction"] = "Double-Action Revolver", + ["weapon_navyrevolver"] = "Navy Revolver", + ["weapon_flaregun"] = "Flaregun", + ["weapon_gadgetpistol"] = "Gadget Pistol", + ["weapon_heavypistol"] = "Heavy Pistol", + ["weapon_revolver"] = "Heavy Revolver", + ["weapon_revolver_mk2"] = "Heavy Revolver MK2", + ["weapon_marksmanpistol"] = "Marksman Pistol", + ["weapon_pistol"] = "Pistol", + ["weapon_pistol_mk2"] = "Pistol MK2", + ["weapon_pistol50"] = "Pistol .50", + ["weapon_snspistol"] = "SNS Pistol", + ["weapon_snspistol_mk2"] = "SNS Pistol MK2", + ["weapon_stungun"] = "Taser", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "Vintage Pistol", + + -- Shotguns + ["weapon_assaultshotgun"] = "Assault Shotgun", + ["weapon_autoshotgun"] = "Auto Shotgun", + ["weapon_bullpupshotgun"] = "Bullpup Shotgun", + ["weapon_combatshotgun"] = "Combat Shotgun", + ["weapon_dbshotgun"] = "Double Barrel Shotgun", + ["weapon_heavyshotgun"] = "Heavy Shotgun", + ["weapon_musket"] = "Musket", + ["weapon_pumpshotgun"] = "Pump Shotgun", + ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", + ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", + + -- SMG & LMG + ["weapon_assaultsmg"] = "Assault SMG", + ["weapon_combatmg"] = "Combat MG", + ["weapon_combatmg_mk2"] = "Combat MG MK2", + ["weapon_combatpdw"] = "Combat PDW", + ["weapon_gusenberg"] = "Gusenberg Sweeper", + ["weapon_machinepistol"] = "Machine Pistol", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Micro SMG", + ["weapon_minismg"] = "Mini SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Unholy Hellbringer", + + -- Rifles + ["weapon_advancedrifle"] = "Advanced Rifle", + ["weapon_assaultrifle"] = "Assault Rifle", + ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", + ["weapon_bullpuprifle"] = "Bullpup Rifle", + ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", + ["weapon_carbinerifle"] = "Carbine Rifle", + ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", + ["weapon_compactrifle"] = "Compact Rifle", + ["weapon_militaryrifle"] = "Military Rifle", + ["weapon_specialcarbine"] = "Special Carbine", + ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated + + -- Sniper + ["weapon_heavysniper"] = "Heavy Sniper", + ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", + ["weapon_marksmanrifle"] = "Marksman Rifle", + ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", + ["weapon_sniperrifle"] = "Sniper Rifle", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "Compact Launcher", + ["weapon_firework"] = "Firework Launcher", + ["weapon_grenadelauncher"] = "Grenade Launcher", + ["weapon_hominglauncher"] = "Homing Launcher", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Railgun", + ["weapon_rpg"] = "Rocket Launcher", + ["weapon_rayminigun"] = "Widowmaker", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "Metal Detector", + ["weapon_precisionrifle"] = "Precision Rifle", + ["weapon_tactilerifle"] = "Service Carbine", + + -- Drug Wars DLC + ["weapon_candycane"] = "Candy Cane", -- not translated + ["weapon_acidpackage"] = "Acid Package", -- not translated + ["weapon_pistolxm3"] = "WM 29 Pistol", -- not translated + ["weapon_railgunxm3"] = "Railgun", -- not translated + + -- Thrown + ["weapon_ball"] = "Baseball", + ["weapon_bzgas"] = "BZ Gas", + ["weapon_flare"] = "Flare", + ["weapon_grenade"] = "Grenade", + ["weapon_petrolcan"] = "Jerrycan", + ["weapon_hazardcan"] = "Hazardous Jerrycan", + ["weapon_molotov"] = "Molotov Cocktail", + ["weapon_proxmine"] = "Proximity Mine", + ["weapon_pipebomb"] = "Pipe Bomb", + ["weapon_snowball"] = "Snowball", + ["weapon_stickybomb"] = "Sticky Bomb", + ["weapon_smokegrenade"] = "Tear Gas", + + -- Special + ["weapon_fireextinguisher"] = "Fire Extinguisher", + ["weapon_digiscanner"] = "Digital Scanner", + ["weapon_garbagebag"] = "Garbage Bag", + ["weapon_handcuffs"] = "Handcuffs", + ["gadget_nightvision"] = "Night Vision", + ["gadget_parachute"] = "parachute", + + -- Weapon Components + ["component_knuckle_base"] = "base Model", + ["component_knuckle_pimp"] = "the Pimp", + ["component_knuckle_ballas"] = "the Ballas", + ["component_knuckle_dollar"] = "the Hustler", + ["component_knuckle_diamond"] = "the Rock", + ["component_knuckle_hate"] = "the Hater", + ["component_knuckle_love"] = "the Lover", + ["component_knuckle_player"] = "the Player", + ["component_knuckle_king"] = "the King", + ["component_knuckle_vagos"] = "the Vagos", + + ["component_luxary_finish"] = "luxary Weapon Finish", + + ["component_handle_default"] = "default Handle", + ["component_handle_vip"] = "vIP Handle", + ["component_handle_bodyguard"] = "bodyguard Handle", + + ["component_vip_finish"] = "vIP Finish", + ["component_bodyguard_finish"] = "bodyguard Finish", + + ["component_camo_finish"] = "digital Camo", + ["component_camo_finish2"] = "brushstroke Camo", + ["component_camo_finish3"] = "woodland Camo", + ["component_camo_finish4"] = "skull Camo", + ["component_camo_finish5"] = "sessanta Nove Camo", + ["component_camo_finish6"] = "perseus Camo", + ["component_camo_finish7"] = "leopard Camo", + ["component_camo_finish8"] = "zebra Camo", + ["component_camo_finish9"] = "geometric Camo", + ["component_camo_finish10"] = "boom Camo", + ["component_camo_finish11"] = "patriotic Camo", + + ["component_camo_slide_finish"] = "digital Slide Camo", + ["component_camo_slide_finish2"] = "brushstroke Slide Camo", + ["component_camo_slide_finish3"] = "woodland Slide Camo", + ["component_camo_slide_finish4"] = "skull Slide Camo", + ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", + ["component_camo_slide_finish6"] = "perseus Slide Camo", + ["component_camo_slide_finish7"] = "leopard Slide Camo", + ["component_camo_slide_finish8"] = "zebra Slide Camo", + ["component_camo_slide_finish9"] = "geometric Slide Camo", + ["component_camo_slide_finish10"] = "boom Slide Camo", + ["component_camo_slide_finish11"] = "patriotic Slide Camo", + + ["component_clip_default"] = "default Magazine", + ["component_clip_extended"] = "extended Magazine", + ["component_clip_drum"] = "drum Magazine", + ["component_clip_box"] = "box Magazine", + + ["component_scope_holo"] = "holographic Scope", + ["component_scope_small"] = "small Scope", + ["component_scope_medium"] = "medium Scope", + ["component_scope_large"] = "large Scope", + ["component_scope"] = "mounted Scope", + ["component_scope_advanced"] = "advanced Scope", + ["component_ironsights"] = "ironsights", + + ["component_suppressor"] = "suppressor", + ["component_compensator"] = "compensator", + + ["component_muzzle_flat"] = "flat Muzzle Brake", + ["component_muzzle_tactical"] = "tactical Muzzle Brake", + ["component_muzzle_fat"] = "fat-End Muzzle Brake", + ["component_muzzle_precision"] = "precision Muzzle Brake", + ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", + ["component_muzzle_slanted"] = "slanted Muzzle Brake", + ["component_muzzle_split"] = "split-End Muzzle Brake", + ["component_muzzle_squared"] = "squared Muzzle Brake", + + ["component_flashlight"] = "flashlight", + ["component_grip"] = "grip", + + ["component_barrel_default"] = "default Barrel", + ["component_barrel_heavy"] = "heavy Barrel", + + ["component_ammo_tracer"] = "tracer Ammo", + ["component_ammo_incendiary"] = "incendiary Ammo", + ["component_ammo_hollowpoint"] = "hollowpoint Ammo", + ["component_ammo_fmj"] = "fMJ Ammo", + ["component_ammo_armor"] = "armor Piercing Ammo", + ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", + + ["component_shells_default"] = "default Shells", + ["component_shells_incendiary"] = "dragons Breath Shells", + ["component_shells_armor"] = "steel Buckshot Shells", + ["component_shells_hollowpoint"] = "flechette Shells", + ["component_shells_explosive"] = "explosive Slug Shells", + + -- Weapon Ammo + ["ammo_rounds"] = "round(s)", + ["ammo_shells"] = "shell(s)", + ["ammo_charge"] = "charge", + ["ammo_petrol"] = "gallons of fuel", + ["ammo_firework"] = "firework(s)", + ["ammo_rockets"] = "rocket(s)", + ["ammo_grenadelauncher"] = "grenade(s)", + ["ammo_grenade"] = "grenade(s)", + ["ammo_stickybomb"] = "bomb(s)", + ["ammo_pipebomb"] = "bomb(s)", + ["ammo_smokebomb"] = "bomb(s)", + ["ammo_molotov"] = "cocktail(s)", + ["ammo_proxmine"] = "mine(s)", + ["ammo_bzgas"] = "can(s)", + ["ammo_ball"] = "ball(s)", + ["ammo_snowball"] = "snowball(s)", + ["ammo_flare"] = "flare(s)", + ["ammo_flaregun"] = "flare(s)", + + -- Weapon Tints + ["tint_default"] = "default skin", + ["tint_green"] = "green skin", + ["tint_gold"] = "gold skin", + ["tint_pink"] = "pink skin", + ["tint_army"] = "army skin", + ["tint_lspd"] = "blue skin", + ["tint_orange"] = "orange skin", + ["tint_platinum"] = "platinum skin", } diff --git a/server-data/resources/[esx]/es_extended/locales/sr.lua b/server-data/resources/[esx]/es_extended/locales/sr.lua index fd4a02515..6aefa25bc 100644 --- a/server-data/resources/[esx]/es_extended/locales/sr.lua +++ b/server-data/resources/[esx]/es_extended/locales/sr.lua @@ -1,377 +1,377 @@ Locales["sr"] = { - -- Inventory - ["inventory"] = "Inventar ( Težina %s / %s )", - ["use"] = "Koristi", - ["give"] = "Daj", - ["remove"] = "Baci", - ["return"] = "Nazad", - ["give_to"] = "Daj", - ["amount"] = "Količina", - ["giveammo"] = "Daj municiju", - ["amountammo"] = "Količina municije", - ["noammo"] = "Nemate dovoljno!", - ["gave_item"] = "Davanje %sx %s igraču %s", - ["received_item"] = "Dobijeno %sx %s od %s", - ["gave_weapon"] = "Davanje %s igraču %s", - ["gave_weapon_ammo"] = "Davanje ~o~%sx %s za %s igraču %s", - ["gave_weapon_withammo"] = "Davanje %s sa ~o~%sx %s igraču %s", - ["gave_weapon_hasalready"] = "%s već ima %s", - ["gave_weapon_noweapon"] = "%s nema to oružje", - ["received_weapon"] = "Dobijeno %s od %s", - ["received_weapon_ammo"] = "Dobijeno ~o~%sx %s za vaš %s od %s", - ["received_weapon_withammo"] = "Dobijeno %s sa ~o~%sx %s od %s", - ["received_weapon_hasalready"] = "%s je pokušao da Vam da %s, ali vi već imate to oružje", - ["received_weapon_noweapon"] = "%s je pokušao da Vam da municiju za %s, ali vi nemate to oružje", - ["gave_account_money"] = "Davanje $%s (%s) igraču %s", - ["received_account_money"] = "Dobijeno $%s (%s) od %s", - ["amount_invalid"] = "Nevažeća količina", - ["players_nearby"] = "Nema igrača u blizini", - ["ex_inv_lim"] = "Ne možete uraditi to, premašuje max težinu od %s", - ["imp_invalid_quantity"] = "Nevažeća količina", - ["imp_invalid_amount"] = "Nevažeći iznos", - ["threw_standard"] = "Bacanje %sx %s", - ["threw_account"] = "Bacanje $%s %s", - ["threw_weapon"] = "Bacanje %s", - ["threw_weapon_ammo"] = "Bacanje %s sa ~o~%sx %s", - ["threw_weapon_already"] = "Vi već imate to oružje", - ["threw_cannot_pickup"] = "Inventar je pun, ne možete pokupiti to!", - ["threw_pickup_prompt"] = "Pritisni E da pokupiš", - - -- Key mapping - ["keymap_showinventory"] = "Otvaranje inventara", - - -- Salary related - ["received_salary"] = "Plaćeno Vam je: $%s", - ["received_help"] = "Isplaćen Vam je ček: $%s", - ["company_nomoney"] = "Kompanija u kojoj ste zapošljeni nema više novca", - ["received_paycheck"] = "primili ste platu", - ["bank"] = "Maze Banka", - ["account_bank"] = "Banka", - ["account_black_money"] = "Prljav novac", - ["account_money"] = "Novac", - - ["act_imp"] = "Ne možete izvršiti radnju", - ["in_vehicle"] = "Ne možete uraditi to dok je igrač u vozilu", - ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", - - -- Commands - ["command_bring"] = "TP-ajte igrača do Vas", - ["command_car"] = "Stvorite vozilo", - ["command_car_car"] = "Model ili hash vozila", - ["command_cardel"] = "Obrišite vozilo u blizini", - ["command_cardel_radius"] = "Obrišite sva vozila unutar navedenog radiusa", - ["command_repair"] = "Repair your vehicle", - ["command_repair_success"] = "Successfully repaired vehicle", - ["command_repair_success_target"] = "An admin repaired your vehicle", - ["command_clear"] = "Obrišite chat", - ["command_clearall"] = "Obrišite chat za sve igrače", - ["command_clearinventory"] = "Obrišite sve stvari iz inventara igrača", - ["command_clearloadout"] = "Obrišite sva oružja iz inventara igrača", - ["command_freeze"] = "Zaledite igrača", - ["command_unfreeze"] = "Odledite igrača", - ["command_giveaccountmoney"] = "Dajte novac na odredjeni nalog", - ["command_giveaccountmoney_account"] = "Nalog za slanje", - ["command_giveaccountmoney_amount"] = "Količina", - ["command_giveaccountmoney_invalid"] = "Nalog nepostojeći", - ["command_giveitem"] = "Dajte item igraču", - ["command_giveitem_item"] = "Ime item-a", - ["command_giveitem_count"] = "Količina", - ["command_giveweapon"] = "Dajte oružje igraču", - ["command_giveweapon_weapon"] = "Ime oružja", - ["command_giveweapon_ammo"] = "Količina municije", - ["command_giveweapon_hasalready"] = "Igrač već ima to oružje", - ["command_giveweaponcomponent"] = "Dajte dodatak za oružje igraču", - ["command_giveweaponcomponent_component"] = "Ime dodatka", - ["command_giveweaponcomponent_invalid"] = "Nevažeći dodatak", - ["command_giveweaponcomponent_hasalready"] = "Igrač već ima taj dodatak", - ["command_giveweaponcomponent_missingweapon"] = "Igrač nema oružje", - ["command_goto"] = "Idite do igrača", - ["command_kill"] = "Ubijte igrača", - ["command_save"] = "Forsirajte čuvanje date igrača", - ["command_saveall"] = "Forsirajte čuvanje date svih igrača", - ["command_setaccountmoney"] = "Postavite novac na određeni račun", - ["command_setaccountmoney_amount"] = "Količina", - ["command_setcoords"] = "Teleportujte se na koordinate", - ["command_setcoords_x"] = "X", - ["command_setcoords_y"] = "Y", - ["command_setcoords_z"] = "Z", - ["command_setjob"] = "Postavite posao igraču", - ["command_setjob_job"] = "Ime", - ["command_setjob_grade"] = "Stepen posla", - ["command_setjob_invalid"] = "posao, stepen ili oba nisu validna", - ["command_setgroup"] = "Postavite permisiju", - ["command_setgroup_group"] = "Ime grupe", - ["commanderror_argumentmismatch"] = "Nevazeci broj argumenata (položio %s, željeno %s)", - ["commanderror_argumentmismatch_number"] = "Nevažeći argument #%s tip podataka (položeno, željeno)", - ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", - ["commanderror_invaliditem"] = "Nevažeći item", - ["commanderror_invalidweapon"] = "Nevažeće oružje", - ["commanderror_console"] = "Komanda se ne može izvršiti iz konzole", - ["commanderror_invalidcommand"] = "Nevažeća komanda - /%s", - ["commanderror_invalidplayerid"] = "Igrač nije online", - ["commandgeneric_playerid"] = "Igračev server ID", - ["command_giveammo_noweapon_found"] = "%s nema to oružje", - ["command_giveammo_weapon"] = "Ime oružja", - ["command_giveammo_ammo"] = "Količina municije", - ["tpm_nowaypoint"] = "Morate označiti lokaciju.", - ["tpm_success"] = "Teleportovani ste na lokaciju", - - ["noclip_message"] = "Noclip %s", - ["enabled"] = "~g~upaljen~s~", - ["disabled"] = "~r~ugašen~s~", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "£%s", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "Dagger", - ["weapon_bat"] = "Bat", - ["weapon_battleaxe"] = "Battle Axe", - ["weapon_bottle"] = "Bottle", - ["weapon_crowbar"] = "Crowbar", - ["weapon_flashlight"] = "Flashlight", - ["weapon_golfclub"] = "Golf Club", - ["weapon_hammer"] = "Hammer", - ["weapon_hatchet"] = "Hatchet", - ["weapon_knife"] = "Knife", - ["weapon_knuckle"] = "Knuckledusters", - ["weapon_machete"] = "Machete", - ["weapon_nightstick"] = "Nightstick", - ["weapon_wrench"] = "Pipe Wrench", - ["weapon_poolcue"] = "Pool Cue", - ["weapon_stone_hatchet"] = "Stone Hatchet", - ["weapon_switchblade"] = "Switchblade", - - -- Handguns - ["weapon_appistol"] = "AP Pistol", - ["weapon_ceramicpistol"] = "Ceramic Pistol", - ["weapon_combatpistol"] = "Combat Pistol", - ["weapon_doubleaction"] = "Double-Action Revolver", - ["weapon_navyrevolver"] = "Navy Revolver", - ["weapon_flaregun"] = "Flaregun", - ["weapon_gadgetpistol"] = "Gadget Pistol", - ["weapon_heavypistol"] = "Heavy Pistol", - ["weapon_revolver"] = "Heavy Revolver", - ["weapon_revolver_mk2"] = "Heavy Revolver MK2", - ["weapon_marksmanpistol"] = "Marksman Pistol", - ["weapon_pistol"] = "Pistol", - ["weapon_pistol_mk2"] = "Pistol MK2", - ["weapon_pistol50"] = "Pistol .50", - ["weapon_snspistol"] = "SNS Pistol", - ["weapon_snspistol_mk2"] = "SNS Pistol MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "Vintage Pistol", - - -- Shotguns - ["weapon_assaultshotgun"] = "Assault Shotgun", - ["weapon_autoshotgun"] = "Auto Shotgun", - ["weapon_bullpupshotgun"] = "Bullpup Shotgun", - ["weapon_combatshotgun"] = "Combat Shotgun", - ["weapon_dbshotgun"] = "Double Barrel Shotgun", - ["weapon_heavyshotgun"] = "Heavy Shotgun", - ["weapon_musket"] = "Musket", - ["weapon_pumpshotgun"] = "Pump Shotgun", - ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", - ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", - - -- SMG & LMG - ["weapon_assaultsmg"] = "Assault SMG", - ["weapon_combatmg"] = "Combat MG", - ["weapon_combatmg_mk2"] = "Combat MG MK2", - ["weapon_combatpdw"] = "Combat PDW", - ["weapon_gusenberg"] = "Gusenberg Sweeper", - ["weapon_machinepistol"] = "Machine Pistol", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Micro SMG", - ["weapon_minismg"] = "Mini SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Unholy Hellbringer", - - -- Rifles - ["weapon_advancedrifle"] = "Advanced Rifle", - ["weapon_assaultrifle"] = "Assault Rifle", - ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", - ["weapon_bullpuprifle"] = "Bullpup Rifle", - ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", - ["weapon_carbinerifle"] = "Carbine Rifle", - ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", - ["weapon_compactrifle"] = "Compact Rifle", - ["weapon_militaryrifle"] = "Military Rifle", - ["weapon_specialcarbine"] = "Special Carbine", - ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", - ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated - - -- Sniper - ["weapon_heavysniper"] = "Heavy Sniper", - ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", - ["weapon_marksmanrifle"] = "Marksman Rifle", - ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", - ["weapon_sniperrifle"] = "Sniper Rifle", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Compact Launcher", - ["weapon_firework"] = "Firework Launcher", - ["weapon_grenadelauncher"] = "Grenade Launcher", - ["weapon_hominglauncher"] = "Homing Launcher", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Railgun", - ["weapon_rpg"] = "Rocket Launcher", - ["weapon_rayminigun"] = "Widowmaker", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "Metal Detector", - ["weapon_precisionrifle"] = "Precision Rifle", - ["weapon_tactilerifle"] = "Service Carbine", - - -- Drug Wars DLC - ["weapon_candycane"] = "Candy Cane", -- not translated - ["weapon_acidpackage"] = "Acid Package", -- not translated - ["weapon_pistolxm3"] = "WM 29 Pistol", -- not translated - ["weapon_railgunxm3"] = "Railgun", -- not translated - - -- Thrown - ["weapon_ball"] = "Baseball", - ["weapon_bzgas"] = "BZ Gas", - ["weapon_flare"] = "Flare", - ["weapon_grenade"] = "Grenade", - ["weapon_petrolcan"] = "Jerrycan", - ["weapon_hazardcan"] = "Hazardous Jerrycan", - ["weapon_molotov"] = "Molotov Cocktail", - ["weapon_proxmine"] = "Proximity Mine", - ["weapon_pipebomb"] = "Pipe Bomb", - ["weapon_snowball"] = "Snowball", - ["weapon_stickybomb"] = "Sticky Bomb", - ["weapon_smokegrenade"] = "Tear Gas", - - -- Special - ["weapon_fireextinguisher"] = "Fire Extinguisher", - ["weapon_digiscanner"] = "Digital Scanner", - ["weapon_garbagebag"] = "Garbage Bag", - ["weapon_handcuffs"] = "Handcuffs", - ["gadget_nightvision"] = "Night Vision", - ["gadget_parachute"] = "parachute", - - -- Weapon Components - ["component_knuckle_base"] = "base Model", - ["component_knuckle_pimp"] = "the Pimp", - ["component_knuckle_ballas"] = "the Ballas", - ["component_knuckle_dollar"] = "the Hustler", - ["component_knuckle_diamond"] = "the Rock", - ["component_knuckle_hate"] = "the Hater", - ["component_knuckle_love"] = "the Lover", - ["component_knuckle_player"] = "the Player", - ["component_knuckle_king"] = "the King", - ["component_knuckle_vagos"] = "the Vagos", - - ["component_luxary_finish"] = "luxary Weapon Finish", - - ["component_handle_default"] = "default Handle", - ["component_handle_vip"] = "vIP Handle", - ["component_handle_bodyguard"] = "bodyguard Handle", - - ["component_vip_finish"] = "vIP Finish", - ["component_bodyguard_finish"] = "bodyguard Finish", - - ["component_camo_finish"] = "digital Camo", - ["component_camo_finish2"] = "brushstroke Camo", - ["component_camo_finish3"] = "woodland Camo", - ["component_camo_finish4"] = "skull Camo", - ["component_camo_finish5"] = "sessanta Nove Camo", - ["component_camo_finish6"] = "perseus Camo", - ["component_camo_finish7"] = "leopard Camo", - ["component_camo_finish8"] = "zebra Camo", - ["component_camo_finish9"] = "geometric Camo", - ["component_camo_finish10"] = "boom Camo", - ["component_camo_finish11"] = "patriotic Camo", - - ["component_camo_slide_finish"] = "digital Slide Camo", - ["component_camo_slide_finish2"] = "brushstroke Slide Camo", - ["component_camo_slide_finish3"] = "woodland Slide Camo", - ["component_camo_slide_finish4"] = "skull Slide Camo", - ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", - ["component_camo_slide_finish6"] = "perseus Slide Camo", - ["component_camo_slide_finish7"] = "leopard Slide Camo", - ["component_camo_slide_finish8"] = "zebra Slide Camo", - ["component_camo_slide_finish9"] = "geometric Slide Camo", - ["component_camo_slide_finish10"] = "boom Slide Camo", - ["component_camo_slide_finish11"] = "patriotic Slide Camo", - - ["component_clip_default"] = "default Magazine", - ["component_clip_extended"] = "extended Magazine", - ["component_clip_drum"] = "drum Magazine", - ["component_clip_box"] = "box Magazine", - - ["component_scope_holo"] = "holographic Scope", - ["component_scope_small"] = "small Scope", - ["component_scope_medium"] = "medium Scope", - ["component_scope_large"] = "large Scope", - ["component_scope"] = "mounted Scope", - ["component_scope_advanced"] = "advanced Scope", - ["component_ironsights"] = "ironsights", - - ["component_suppressor"] = "suppressor", - ["component_compensator"] = "compensator", - - ["component_muzzle_flat"] = "flat Muzzle Brake", - ["component_muzzle_tactical"] = "tactical Muzzle Brake", - ["component_muzzle_fat"] = "fat-End Muzzle Brake", - ["component_muzzle_precision"] = "precision Muzzle Brake", - ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", - ["component_muzzle_slanted"] = "slanted Muzzle Brake", - ["component_muzzle_split"] = "split-End Muzzle Brake", - ["component_muzzle_squared"] = "squared Muzzle Brake", - - ["component_flashlight"] = "flashlight", - ["component_grip"] = "grip", - - ["component_barrel_default"] = "default Barrel", - ["component_barrel_heavy"] = "heavy Barrel", - - ["component_ammo_tracer"] = "tracer Ammo", - ["component_ammo_incendiary"] = "incendiary Ammo", - ["component_ammo_hollowpoint"] = "hollowpoint Ammo", - ["component_ammo_fmj"] = "fMJ Ammo", - ["component_ammo_armor"] = "armor Piercing Ammo", - ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", - - ["component_shells_default"] = "default Shells", - ["component_shells_incendiary"] = "dragons Breath Shells", - ["component_shells_armor"] = "steel Buckshot Shells", - ["component_shells_hollowpoint"] = "flechette Shells", - ["component_shells_explosive"] = "explosive Slug Shells", - - -- Weapon Ammo - ["ammo_rounds"] = "round(s)", - ["ammo_shells"] = "shell(s)", - ["ammo_charge"] = "charge", - ["ammo_petrol"] = "gallons of fuel", - ["ammo_firework"] = "firework(s)", - ["ammo_rockets"] = "rocket(s)", - ["ammo_grenadelauncher"] = "grenade(s)", - ["ammo_grenade"] = "grenade(s)", - ["ammo_stickybomb"] = "bomb(s)", - ["ammo_pipebomb"] = "bomb(s)", - ["ammo_smokebomb"] = "bomb(s)", - ["ammo_molotov"] = "cocktail(s)", - ["ammo_proxmine"] = "mine(s)", - ["ammo_bzgas"] = "can(s)", - ["ammo_ball"] = "ball(s)", - ["ammo_snowball"] = "snowball(s)", - ["ammo_flare"] = "flare(s)", - ["ammo_flaregun"] = "flare(s)", - - -- Weapon Tints - ["tint_default"] = "default skin", - ["tint_green"] = "green skin", - ["tint_gold"] = "gold skin", - ["tint_pink"] = "pink skin", - ["tint_army"] = "army skin", - ["tint_lspd"] = "blue skin", - ["tint_orange"] = "orange skin", - ["tint_platinum"] = "platinum skin", + -- Inventory + ["inventory"] = "Inventar ( Težina %s / %s )", + ["use"] = "Koristi", + ["give"] = "Daj", + ["remove"] = "Baci", + ["return"] = "Nazad", + ["give_to"] = "Daj", + ["amount"] = "Količina", + ["giveammo"] = "Daj municiju", + ["amountammo"] = "Količina municije", + ["noammo"] = "Nemate dovoljno!", + ["gave_item"] = "Davanje %sx %s igraču %s", + ["received_item"] = "Dobijeno %sx %s od %s", + ["gave_weapon"] = "Davanje %s igraču %s", + ["gave_weapon_ammo"] = "Davanje ~o~%sx %s za %s igraču %s", + ["gave_weapon_withammo"] = "Davanje %s sa ~o~%sx %s igraču %s", + ["gave_weapon_hasalready"] = "%s već ima %s", + ["gave_weapon_noweapon"] = "%s nema to oružje", + ["received_weapon"] = "Dobijeno %s od %s", + ["received_weapon_ammo"] = "Dobijeno ~o~%sx %s za vaš %s od %s", + ["received_weapon_withammo"] = "Dobijeno %s sa ~o~%sx %s od %s", + ["received_weapon_hasalready"] = "%s je pokušao da Vam da %s, ali vi već imate to oružje", + ["received_weapon_noweapon"] = "%s je pokušao da Vam da municiju za %s, ali vi nemate to oružje", + ["gave_account_money"] = "Davanje $%s (%s) igraču %s", + ["received_account_money"] = "Dobijeno $%s (%s) od %s", + ["amount_invalid"] = "Nevažeća količina", + ["players_nearby"] = "Nema igrača u blizini", + ["ex_inv_lim"] = "Ne možete uraditi to, premašuje max težinu od %s", + ["imp_invalid_quantity"] = "Nevažeća količina", + ["imp_invalid_amount"] = "Nevažeći iznos", + ["threw_standard"] = "Bacanje %sx %s", + ["threw_account"] = "Bacanje $%s %s", + ["threw_weapon"] = "Bacanje %s", + ["threw_weapon_ammo"] = "Bacanje %s sa ~o~%sx %s", + ["threw_weapon_already"] = "Vi već imate to oružje", + ["threw_cannot_pickup"] = "Inventar je pun, ne možete pokupiti to!", + ["threw_pickup_prompt"] = "Pritisni E da pokupiš", + + -- Key mapping + ["keymap_showinventory"] = "Otvaranje inventara", + + -- Salary related + ["received_salary"] = "Plaćeno Vam je: $%s", + ["received_help"] = "Isplaćen Vam je ček: $%s", + ["company_nomoney"] = "Kompanija u kojoj ste zapošljeni nema više novca", + ["received_paycheck"] = "primili ste platu", + ["bank"] = "Maze Banka", + ["account_bank"] = "Banka", + ["account_black_money"] = "Prljav novac", + ["account_money"] = "Novac", + + ["act_imp"] = "Ne možete izvršiti radnju", + ["in_vehicle"] = "Ne možete uraditi to dok je igrač u vozilu", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", + + -- Commands + ["command_bring"] = "TP-ajte igrača do Vas", + ["command_car"] = "Stvorite vozilo", + ["command_car_car"] = "Model ili hash vozila", + ["command_cardel"] = "Obrišite vozilo u blizini", + ["command_cardel_radius"] = "Obrišite sva vozila unutar navedenog radiusa", + ["command_repair"] = "Repair your vehicle", + ["command_repair_success"] = "Successfully repaired vehicle", + ["command_repair_success_target"] = "An admin repaired your vehicle", + ["command_clear"] = "Obrišite chat", + ["command_clearall"] = "Obrišite chat za sve igrače", + ["command_clearinventory"] = "Obrišite sve stvari iz inventara igrača", + ["command_clearloadout"] = "Obrišite sva oružja iz inventara igrača", + ["command_freeze"] = "Zaledite igrača", + ["command_unfreeze"] = "Odledite igrača", + ["command_giveaccountmoney"] = "Dajte novac na odredjeni nalog", + ["command_giveaccountmoney_account"] = "Nalog za slanje", + ["command_giveaccountmoney_amount"] = "Količina", + ["command_giveaccountmoney_invalid"] = "Nalog nepostojeći", + ["command_giveitem"] = "Dajte item igraču", + ["command_giveitem_item"] = "Ime item-a", + ["command_giveitem_count"] = "Količina", + ["command_giveweapon"] = "Dajte oružje igraču", + ["command_giveweapon_weapon"] = "Ime oružja", + ["command_giveweapon_ammo"] = "Količina municije", + ["command_giveweapon_hasalready"] = "Igrač već ima to oružje", + ["command_giveweaponcomponent"] = "Dajte dodatak za oružje igraču", + ["command_giveweaponcomponent_component"] = "Ime dodatka", + ["command_giveweaponcomponent_invalid"] = "Nevažeći dodatak", + ["command_giveweaponcomponent_hasalready"] = "Igrač već ima taj dodatak", + ["command_giveweaponcomponent_missingweapon"] = "Igrač nema oružje", + ["command_goto"] = "Idite do igrača", + ["command_kill"] = "Ubijte igrača", + ["command_save"] = "Forsirajte čuvanje date igrača", + ["command_saveall"] = "Forsirajte čuvanje date svih igrača", + ["command_setaccountmoney"] = "Postavite novac na određeni račun", + ["command_setaccountmoney_amount"] = "Količina", + ["command_setcoords"] = "Teleportujte se na koordinate", + ["command_setcoords_x"] = "X", + ["command_setcoords_y"] = "Y", + ["command_setcoords_z"] = "Z", + ["command_setjob"] = "Postavite posao igraču", + ["command_setjob_job"] = "Ime", + ["command_setjob_grade"] = "Stepen posla", + ["command_setjob_invalid"] = "posao, stepen ili oba nisu validna", + ["command_setgroup"] = "Postavite permisiju", + ["command_setgroup_group"] = "Ime grupe", + ["commanderror_argumentmismatch"] = "Nevazeci broj argumenata (položio %s, željeno %s)", + ["commanderror_argumentmismatch_number"] = "Nevažeći argument #%s tip podataka (položeno, željeno)", + ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", + ["commanderror_invaliditem"] = "Nevažeći item", + ["commanderror_invalidweapon"] = "Nevažeće oružje", + ["commanderror_console"] = "Komanda se ne može izvršiti iz konzole", + ["commanderror_invalidcommand"] = "Nevažeća komanda - /%s", + ["commanderror_invalidplayerid"] = "Igrač nije online", + ["commandgeneric_playerid"] = "Igračev server ID", + ["command_giveammo_noweapon_found"] = "%s nema to oružje", + ["command_giveammo_weapon"] = "Ime oružja", + ["command_giveammo_ammo"] = "Količina municije", + ["tpm_nowaypoint"] = "Morate označiti lokaciju.", + ["tpm_success"] = "Teleportovani ste na lokaciju", + + ["noclip_message"] = "Noclip %s", + ["enabled"] = "~g~upaljen~s~", + ["disabled"] = "~r~ugašen~s~", + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "£%s", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "Dagger", + ["weapon_bat"] = "Bat", + ["weapon_battleaxe"] = "Battle Axe", + ["weapon_bottle"] = "Bottle", + ["weapon_crowbar"] = "Crowbar", + ["weapon_flashlight"] = "Flashlight", + ["weapon_golfclub"] = "Golf Club", + ["weapon_hammer"] = "Hammer", + ["weapon_hatchet"] = "Hatchet", + ["weapon_knife"] = "Knife", + ["weapon_knuckle"] = "Knuckledusters", + ["weapon_machete"] = "Machete", + ["weapon_nightstick"] = "Nightstick", + ["weapon_wrench"] = "Pipe Wrench", + ["weapon_poolcue"] = "Pool Cue", + ["weapon_stone_hatchet"] = "Stone Hatchet", + ["weapon_switchblade"] = "Switchblade", + + -- Handguns + ["weapon_appistol"] = "AP Pistol", + ["weapon_ceramicpistol"] = "Ceramic Pistol", + ["weapon_combatpistol"] = "Combat Pistol", + ["weapon_doubleaction"] = "Double-Action Revolver", + ["weapon_navyrevolver"] = "Navy Revolver", + ["weapon_flaregun"] = "Flaregun", + ["weapon_gadgetpistol"] = "Gadget Pistol", + ["weapon_heavypistol"] = "Heavy Pistol", + ["weapon_revolver"] = "Heavy Revolver", + ["weapon_revolver_mk2"] = "Heavy Revolver MK2", + ["weapon_marksmanpistol"] = "Marksman Pistol", + ["weapon_pistol"] = "Pistol", + ["weapon_pistol_mk2"] = "Pistol MK2", + ["weapon_pistol50"] = "Pistol .50", + ["weapon_snspistol"] = "SNS Pistol", + ["weapon_snspistol_mk2"] = "SNS Pistol MK2", + ["weapon_stungun"] = "Taser", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "Vintage Pistol", + + -- Shotguns + ["weapon_assaultshotgun"] = "Assault Shotgun", + ["weapon_autoshotgun"] = "Auto Shotgun", + ["weapon_bullpupshotgun"] = "Bullpup Shotgun", + ["weapon_combatshotgun"] = "Combat Shotgun", + ["weapon_dbshotgun"] = "Double Barrel Shotgun", + ["weapon_heavyshotgun"] = "Heavy Shotgun", + ["weapon_musket"] = "Musket", + ["weapon_pumpshotgun"] = "Pump Shotgun", + ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", + ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", + + -- SMG & LMG + ["weapon_assaultsmg"] = "Assault SMG", + ["weapon_combatmg"] = "Combat MG", + ["weapon_combatmg_mk2"] = "Combat MG MK2", + ["weapon_combatpdw"] = "Combat PDW", + ["weapon_gusenberg"] = "Gusenberg Sweeper", + ["weapon_machinepistol"] = "Machine Pistol", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Micro SMG", + ["weapon_minismg"] = "Mini SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Unholy Hellbringer", + + -- Rifles + ["weapon_advancedrifle"] = "Advanced Rifle", + ["weapon_assaultrifle"] = "Assault Rifle", + ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", + ["weapon_bullpuprifle"] = "Bullpup Rifle", + ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", + ["weapon_carbinerifle"] = "Carbine Rifle", + ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", + ["weapon_compactrifle"] = "Compact Rifle", + ["weapon_militaryrifle"] = "Military Rifle", + ["weapon_specialcarbine"] = "Special Carbine", + ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated + + -- Sniper + ["weapon_heavysniper"] = "Heavy Sniper", + ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", + ["weapon_marksmanrifle"] = "Marksman Rifle", + ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", + ["weapon_sniperrifle"] = "Sniper Rifle", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "Compact Launcher", + ["weapon_firework"] = "Firework Launcher", + ["weapon_grenadelauncher"] = "Grenade Launcher", + ["weapon_hominglauncher"] = "Homing Launcher", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Railgun", + ["weapon_rpg"] = "Rocket Launcher", + ["weapon_rayminigun"] = "Widowmaker", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "Metal Detector", + ["weapon_precisionrifle"] = "Precision Rifle", + ["weapon_tactilerifle"] = "Service Carbine", + + -- Drug Wars DLC + ["weapon_candycane"] = "Candy Cane", -- not translated + ["weapon_acidpackage"] = "Acid Package", -- not translated + ["weapon_pistolxm3"] = "WM 29 Pistol", -- not translated + ["weapon_railgunxm3"] = "Railgun", -- not translated + + -- Thrown + ["weapon_ball"] = "Baseball", + ["weapon_bzgas"] = "BZ Gas", + ["weapon_flare"] = "Flare", + ["weapon_grenade"] = "Grenade", + ["weapon_petrolcan"] = "Jerrycan", + ["weapon_hazardcan"] = "Hazardous Jerrycan", + ["weapon_molotov"] = "Molotov Cocktail", + ["weapon_proxmine"] = "Proximity Mine", + ["weapon_pipebomb"] = "Pipe Bomb", + ["weapon_snowball"] = "Snowball", + ["weapon_stickybomb"] = "Sticky Bomb", + ["weapon_smokegrenade"] = "Tear Gas", + + -- Special + ["weapon_fireextinguisher"] = "Fire Extinguisher", + ["weapon_digiscanner"] = "Digital Scanner", + ["weapon_garbagebag"] = "Garbage Bag", + ["weapon_handcuffs"] = "Handcuffs", + ["gadget_nightvision"] = "Night Vision", + ["gadget_parachute"] = "parachute", + + -- Weapon Components + ["component_knuckle_base"] = "base Model", + ["component_knuckle_pimp"] = "the Pimp", + ["component_knuckle_ballas"] = "the Ballas", + ["component_knuckle_dollar"] = "the Hustler", + ["component_knuckle_diamond"] = "the Rock", + ["component_knuckle_hate"] = "the Hater", + ["component_knuckle_love"] = "the Lover", + ["component_knuckle_player"] = "the Player", + ["component_knuckle_king"] = "the King", + ["component_knuckle_vagos"] = "the Vagos", + + ["component_luxary_finish"] = "luxary Weapon Finish", + + ["component_handle_default"] = "default Handle", + ["component_handle_vip"] = "vIP Handle", + ["component_handle_bodyguard"] = "bodyguard Handle", + + ["component_vip_finish"] = "vIP Finish", + ["component_bodyguard_finish"] = "bodyguard Finish", + + ["component_camo_finish"] = "digital Camo", + ["component_camo_finish2"] = "brushstroke Camo", + ["component_camo_finish3"] = "woodland Camo", + ["component_camo_finish4"] = "skull Camo", + ["component_camo_finish5"] = "sessanta Nove Camo", + ["component_camo_finish6"] = "perseus Camo", + ["component_camo_finish7"] = "leopard Camo", + ["component_camo_finish8"] = "zebra Camo", + ["component_camo_finish9"] = "geometric Camo", + ["component_camo_finish10"] = "boom Camo", + ["component_camo_finish11"] = "patriotic Camo", + + ["component_camo_slide_finish"] = "digital Slide Camo", + ["component_camo_slide_finish2"] = "brushstroke Slide Camo", + ["component_camo_slide_finish3"] = "woodland Slide Camo", + ["component_camo_slide_finish4"] = "skull Slide Camo", + ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", + ["component_camo_slide_finish6"] = "perseus Slide Camo", + ["component_camo_slide_finish7"] = "leopard Slide Camo", + ["component_camo_slide_finish8"] = "zebra Slide Camo", + ["component_camo_slide_finish9"] = "geometric Slide Camo", + ["component_camo_slide_finish10"] = "boom Slide Camo", + ["component_camo_slide_finish11"] = "patriotic Slide Camo", + + ["component_clip_default"] = "default Magazine", + ["component_clip_extended"] = "extended Magazine", + ["component_clip_drum"] = "drum Magazine", + ["component_clip_box"] = "box Magazine", + + ["component_scope_holo"] = "holographic Scope", + ["component_scope_small"] = "small Scope", + ["component_scope_medium"] = "medium Scope", + ["component_scope_large"] = "large Scope", + ["component_scope"] = "mounted Scope", + ["component_scope_advanced"] = "advanced Scope", + ["component_ironsights"] = "ironsights", + + ["component_suppressor"] = "suppressor", + ["component_compensator"] = "compensator", + + ["component_muzzle_flat"] = "flat Muzzle Brake", + ["component_muzzle_tactical"] = "tactical Muzzle Brake", + ["component_muzzle_fat"] = "fat-End Muzzle Brake", + ["component_muzzle_precision"] = "precision Muzzle Brake", + ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", + ["component_muzzle_slanted"] = "slanted Muzzle Brake", + ["component_muzzle_split"] = "split-End Muzzle Brake", + ["component_muzzle_squared"] = "squared Muzzle Brake", + + ["component_flashlight"] = "flashlight", + ["component_grip"] = "grip", + + ["component_barrel_default"] = "default Barrel", + ["component_barrel_heavy"] = "heavy Barrel", + + ["component_ammo_tracer"] = "tracer Ammo", + ["component_ammo_incendiary"] = "incendiary Ammo", + ["component_ammo_hollowpoint"] = "hollowpoint Ammo", + ["component_ammo_fmj"] = "fMJ Ammo", + ["component_ammo_armor"] = "armor Piercing Ammo", + ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", + + ["component_shells_default"] = "default Shells", + ["component_shells_incendiary"] = "dragons Breath Shells", + ["component_shells_armor"] = "steel Buckshot Shells", + ["component_shells_hollowpoint"] = "flechette Shells", + ["component_shells_explosive"] = "explosive Slug Shells", + + -- Weapon Ammo + ["ammo_rounds"] = "round(s)", + ["ammo_shells"] = "shell(s)", + ["ammo_charge"] = "charge", + ["ammo_petrol"] = "gallons of fuel", + ["ammo_firework"] = "firework(s)", + ["ammo_rockets"] = "rocket(s)", + ["ammo_grenadelauncher"] = "grenade(s)", + ["ammo_grenade"] = "grenade(s)", + ["ammo_stickybomb"] = "bomb(s)", + ["ammo_pipebomb"] = "bomb(s)", + ["ammo_smokebomb"] = "bomb(s)", + ["ammo_molotov"] = "cocktail(s)", + ["ammo_proxmine"] = "mine(s)", + ["ammo_bzgas"] = "can(s)", + ["ammo_ball"] = "ball(s)", + ["ammo_snowball"] = "snowball(s)", + ["ammo_flare"] = "flare(s)", + ["ammo_flaregun"] = "flare(s)", + + -- Weapon Tints + ["tint_default"] = "default skin", + ["tint_green"] = "green skin", + ["tint_gold"] = "gold skin", + ["tint_pink"] = "pink skin", + ["tint_army"] = "army skin", + ["tint_lspd"] = "blue skin", + ["tint_orange"] = "orange skin", + ["tint_platinum"] = "platinum skin", } diff --git a/server-data/resources/[esx]/es_extended/locales/sv.lua b/server-data/resources/[esx]/es_extended/locales/sv.lua index 633b3227c..193089a71 100644 --- a/server-data/resources/[esx]/es_extended/locales/sv.lua +++ b/server-data/resources/[esx]/es_extended/locales/sv.lua @@ -1,381 +1,381 @@ Locales["sv"] = { - -- Inventory - ["inventory"] = "Inventory ( Vikt %s / %s )", - ["use"] = "Använd", - ["give"] = "Ge", - ["remove"] = "Kasta", - ["return"] = "Tillbaka", - ["give_to"] = "Ge", - ["amount"] = "Antal", - ["giveammo"] = "Ge skott", - ["amountammo"] = "Antal skott", - ["noammo"] = "Inte tillräckligt!", - ["gave_item"] = "Ger %sx %s till %s", - ["received_item"] = "Mottog %sx %s från %s", - ["gave_weapon"] = "Ger %s till %s", - ["gave_weapon_ammo"] = "Ger ~o~%sx %s för %s till %s", - ["gave_weapon_withammo"] = "Ger %s med ~o~%sx %s till %s", - ["gave_weapon_hasalready"] = "%s har redan en %s", - ["gave_weapon_noweapon"] = "%s har inte detta vapen", - ["received_weapon"] = "Mottog %s från %s", - ["received_weapon_ammo"] = "Mottog ~o~%sx %s för din %s från %s", - ["received_weapon_withammo"] = "Mottog %s med ~o~%sx %s från %s", - ["received_weapon_hasalready"] = "%s har försökt ge dig en %s, men du har redan detta", - ["received_weapon_noweapon"] = "%s har försökt ge dig skott till en %s, men du har inte detta vapen", - ["gave_account_money"] = "Ger %skr (%s) till %s", - ["received_account_money"] = "Mottog %skr (%s) från %s", - ["amount_invalid"] = "Ogiltig mängd", - ["players_nearby"] = "Inga spelare nära", - ["ex_inv_lim"] = "Kan inte utföra, överskrider maxvikten på %s", - ["imp_invalid_quantity"] = "Kan inte utföra, mängden är ogiltig", - ["imp_invalid_amount"] = "Kan inte utföra, antalet är ogiltig", - ["threw_standard"] = "Kastar %sx %s", - ["threw_account"] = "Kastar %skr %s", - ["threw_weapon"] = "Kastar %s", - ["threw_weapon_ammo"] = "Kastar %s med ~o~%sx %s", - ["threw_weapon_already"] = "Du har redan detta vapen", - ["threw_cannot_pickup"] = "Inventoryt är fullt, kan inte plocka upp!", - ["threw_pickup_prompt"] = "Tryck E för att plocka upp", - - -- Key mapping - ["keymap_showinventory"] = "Öppna inventory", - - -- Salary related - ["received_salary"] = "Du har fått ditt bidrag: %skr", - ["received_help"] = "Du har fått betalt: %skr", - ["company_nomoney"] = "Företaget du är anställd hos har inte råd med att betala ut lön", - ["received_paycheck"] = "Mottog lön", - ["bank"] = "Maze Bank", - ["account_bank"] = "Bank", - ["account_black_money"] = "Svarta pengar", - ["account_money"] = "Kontanter", - - ["act_imp"] = "Kan inte utföra", - ["in_vehicle"] = "Kan inte utföra, spelaren är i ett fordon", - ["not_in_vehicle"] = "Kan inte utföra, spelaren är inte i ett fordon", - - -- Commands - ["command_bring"] = "Ta en spelare till dig", - ["command_car"] = "Ta fram ett fordon", - ["command_car_car"] = "modell", - ["command_cardel"] = "Raderar fordon inom en specifik radie", - ["command_cardel_radius"] = "Raderar fordon inom en specifik radie", - ["command_repair"] = "Reparera ditt fordon", - ["command_repair_success"] = "Fordon reparerat", - ["command_repair_success_target"] = "En admin har reparerat ditt fordon", - ["command_clear"] = "Rensa chatt", - ["command_clearall"] = "Rensa chatt för alla", - ["command_clearinventory"] = "Raderar alla föremål från en spelares inventory", - ["command_clearloadout"] = "Raderar alla vapen från en spelares inventory", - ["command_freeze"] = "Frys en spelare", - ["command_unfreeze"] = "Ta bort frysningen från en spelare", - ["command_giveaccountmoney"] = "Ge pengar till ett specifikt konto", - ["command_giveaccountmoney_account"] = "Konto", - ["command_giveaccountmoney_amount"] = "Summa", - ["command_giveaccountmoney_invalid"] = "Ogiltigt kontonamn", - ["command_removeaccountmoney"] = "Radera pengar från ett specifikt konto", - ["command_removeaccountmoney_account"] = "Konto", - ["command_removeaccountmoney_amount"] = "Summa", - ["command_removeaccountmoney_invalid"] = "Ogiltigt kontonamn", - ["command_giveitem"] = "Ge föremål till en spelare", - ["command_giveitem_item"] = "Namn", - ["command_giveitem_count"] = "Antal", - ["command_giveweapon"] = "Ge ett vapen till en spelare", - ["command_giveweapon_weapon"] = "Vapen", - ["command_giveweapon_ammo"] = "Antal skott", - ["command_giveweapon_hasalready"] = "Spelaren har redan detta vapen", - ["command_giveweaponcomponent"] = "Ge komponent till en spelare", - ["command_giveweaponcomponent_component"] = "Komponent", - ["command_giveweaponcomponent_invalid"] = "Ogiltig komponent", - ["command_giveweaponcomponent_hasalready"] = "Spelaren har redan denna komponent", - ["command_giveweaponcomponent_missingweapon"] = "Spelaren har inte vapen för komponenten", - ["command_goto"] = "Teleportera till en spelare", - ["command_kill"] = "Döda en spelare", - ["command_save"] = "Spara en spelares data", - ["command_saveall"] = "Spara alla spelares data", - ["command_setaccountmoney"] = "Sätt pengar på ett specifikt konto", - ["command_setaccountmoney_amount"] = "Summa", - ["command_setcoords"] = "Teleportera till koordinater", - ["command_setcoords_x"] = "X value", - ["command_setcoords_y"] = "Y value", - ["command_setcoords_z"] = "Z value", - ["command_setjob"] = "Sätt jobb för en spelare", - ["command_setjob_job"] = "Namn", - ["command_setjob_grade"] = "Grad", - ["command_setjob_invalid"] = "Jobbet, graden eller båda är ogiltiga", - ["command_setgroup"] = "Sätt en spelares grupp", - ["command_setgroup_group"] = "Grupp", - ["commanderror_argumentmismatch"] = "Invalid Argument Count (passed %s, wanted %s)", - ["commanderror_argumentmismatch_number"] = "Invalid Argument #%s data type (passed string, wanted number)", - ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", - ["commanderror_invaliditem"] = "Ogiltigt föremål", - ["commanderror_invalidweapon"] = "Ogiltigt vapen", - ["commanderror_console"] = "Kommandot kan inte användas i konsolen", - ["commanderror_invalidcommand"] = "Ogiltigt kommand - /%s", - ["commanderror_invalidplayerid"] = "Spelaren är inte online", - ["commandgeneric_playerid"] = "Spelares ID", - ["command_giveammo_noweapon_found"] = "%s har inte detta vapen", - ["command_giveammo_weapon"] = "Vapen namn", - ["command_giveammo_ammo"] = "Antal ammo", - ["tpm_nowaypoint"] = "Ingen markör sutten.", - ["tpm_success"] = "Du har teleporterat", - - ["noclip_message"] = "Noclip har %s", - ["enabled"] = "~g~aktiverats~s~", - ["disabled"] = "~r~avaktiverats~s~", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "%skr", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "Dolk", - ["weapon_bat"] = "Baseballträd", - ["weapon_battleaxe"] = "Stridsyxa", - ["weapon_bottle"] = "Glasflaska", - ["weapon_crowbar"] = "Kofot", - ["weapon_flashlight"] = "Ficklampa", - ["weapon_golfclub"] = "Golfklubba", - ["weapon_hammer"] = "Hammare", - ["weapon_hatchet"] = "Yxa", - ["weapon_knife"] = "Kniv", - ["weapon_knuckle"] = "Knogjärn", - ["weapon_machete"] = "Machete", - ["weapon_nightstick"] = "Ficklampa", - ["weapon_wrench"] = "Rörtång", - ["weapon_poolcue"] = "Biljardkö", - ["weapon_stone_hatchet"] = "Stenyxa", - ["weapon_switchblade"] = "Fickkniv", - - -- Handguns - ["weapon_appistol"] = "AP Pistol", - ["weapon_ceramicpistol"] = "Ceramic Pistol", - ["weapon_combatpistol"] = "Combat Pistol", - ["weapon_doubleaction"] = "Double-Action Revolver", - ["weapon_navyrevolver"] = "Navy Revolver", - ["weapon_flaregun"] = "Flaregun", - ["weapon_gadgetpistol"] = "Gadget Pistol", - ["weapon_heavypistol"] = "Heavy Pistol", - ["weapon_revolver"] = "Heavy Revolver", - ["weapon_revolver_mk2"] = "Heavy Revolver MK2", - ["weapon_marksmanpistol"] = "Marksman Pistol", - ["weapon_pistol"] = "Pistol", - ["weapon_pistol_mk2"] = "Pistol MK2", - ["weapon_pistol50"] = "Pistol .50", - ["weapon_snspistol"] = "SNS Pistol", - ["weapon_snspistol_mk2"] = "SNS Pistol MK2", - ["weapon_stungun"] = "Taser", - ["weapon_raypistol"] = "Up-N-Atomizer", - ["weapon_vintagepistol"] = "Vintage Pistol", - - -- Shotguns - ["weapon_assaultshotgun"] = "Assault Shotgun", - ["weapon_autoshotgun"] = "Auto Shotgun", - ["weapon_bullpupshotgun"] = "Bullpup Shotgun", - ["weapon_combatshotgun"] = "Combat Shotgun", - ["weapon_dbshotgun"] = "Double Barrel Shotgun", - ["weapon_heavyshotgun"] = "Heavy Shotgun", - ["weapon_musket"] = "Musket", - ["weapon_pumpshotgun"] = "Pump Shotgun", - ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", - ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", - - -- SMG & LMG - ["weapon_assaultsmg"] = "Assault SMG", - ["weapon_combatmg"] = "Combat MG", - ["weapon_combatmg_mk2"] = "Combat MG MK2", - ["weapon_combatpdw"] = "Combat PDW", - ["weapon_gusenberg"] = "Gusenberg Sweeper", - ["weapon_machinepistol"] = "Machine Pistol", - ["weapon_mg"] = "MG", - ["weapon_microsmg"] = "Micro SMG", - ["weapon_minismg"] = "Mini SMG", - ["weapon_smg"] = "SMG", - ["weapon_smg_mk2"] = "SMG MK2", - ["weapon_raycarbine"] = "Unholy Hellbringer", - - -- Rifles - ["weapon_advancedrifle"] = "Advanced Rifle", - ["weapon_assaultrifle"] = "Assault Rifle", - ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", - ["weapon_bullpuprifle"] = "Bullpup Rifle", - ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", - ["weapon_carbinerifle"] = "Carbine Rifle", - ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", - ["weapon_compactrifle"] = "Compact Rifle", - ["weapon_militaryrifle"] = "Military Rifle", - ["weapon_specialcarbine"] = "Special Carbine", - ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", - ["weapon_heavyrifle"] = "Heavy Rifle", - - -- Sniper - ["weapon_heavysniper"] = "Heavy Sniper", - ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", - ["weapon_marksmanrifle"] = "Marksman Rifle", - ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", - ["weapon_sniperrifle"] = "Sniper Rifle", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "Compact Launcher", - ["weapon_firework"] = "Firework Launcher", - ["weapon_grenadelauncher"] = "Grenade Launcher", - ["weapon_hominglauncher"] = "Homing Launcher", - ["weapon_minigun"] = "Minigun", - ["weapon_railgun"] = "Railgun", - ["weapon_rpg"] = "Rocket Launcher", - ["weapon_rayminigun"] = "Widowmaker", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "Metal Detector", - ["weapon_precisionrifle"] = "Precision Rifle", - ["weapon_tactilerifle"] = "Service Carbine", - - -- Drug wars dlc - ["weapon_candycane"] = "Candycane", - ["weapon_acidpackage"] = "Acid Package", - ["weapon_pistolxm3"] = "Pistol8 x3m", - ["weapon_railgunxm3"] = "Railgun", - - -- Thrown - ["weapon_ball"] = "Baseball", - ["weapon_bzgas"] = "BZ Gas", - ["weapon_flare"] = "Bloss", - ["weapon_grenade"] = "Granat", - ["weapon_petrolcan"] = "Bensindunk", - ["weapon_hazardcan"] = "Hazardous Jerrycan", - ["weapon_molotov"] = "Molotov", - ["weapon_proxmine"] = "Mina", - ["weapon_pipebomb"] = "Pipe Bomb", - ["weapon_snowball"] = "Snöboll", - ["weapon_stickybomb"] = "Sticky Bomb", - ["weapon_smokegrenade"] = "Tårgas", - - -- Special - ["weapon_fireextinguisher"] = "Brandsläckare", - ["weapon_digiscanner"] = "Digital Scanner", - ["weapon_garbagebag"] = "Soppåse", - ["weapon_handcuffs"] = "Handklovar", - ["gadget_nightvision"] = "Night Vision", - ["gadget_parachute"] = "Fallskärm", - - -- Weapon Components - ["component_knuckle_base"] = "base Model", - ["component_knuckle_pimp"] = "the Pimp", - ["component_knuckle_ballas"] = "the Ballas", - ["component_knuckle_dollar"] = "the Hustler", - ["component_knuckle_diamond"] = "the Rock", - ["component_knuckle_hate"] = "the Hater", - ["component_knuckle_love"] = "the Lover", - ["component_knuckle_player"] = "the Player", - ["component_knuckle_king"] = "the King", - ["component_knuckle_vagos"] = "the Vagos", - - ["component_luxary_finish"] = "luxary Weapon Finish", - - ["component_handle_default"] = "default Handle", - ["component_handle_vip"] = "vIP Handle", - ["component_handle_bodyguard"] = "bodyguard Handle", - - ["component_vip_finish"] = "vIP Finish", - ["component_bodyguard_finish"] = "bodyguard Finish", - - ["component_camo_finish"] = "digital Camo", - ["component_camo_finish2"] = "brushstroke Camo", - ["component_camo_finish3"] = "woodland Camo", - ["component_camo_finish4"] = "skull Camo", - ["component_camo_finish5"] = "sessanta Nove Camo", - ["component_camo_finish6"] = "perseus Camo", - ["component_camo_finish7"] = "leopard Camo", - ["component_camo_finish8"] = "zebra Camo", - ["component_camo_finish9"] = "geometric Camo", - ["component_camo_finish10"] = "boom Camo", - ["component_camo_finish11"] = "patriotic Camo", - - ["component_camo_slide_finish"] = "digital Slide Camo", - ["component_camo_slide_finish2"] = "brushstroke Slide Camo", - ["component_camo_slide_finish3"] = "woodland Slide Camo", - ["component_camo_slide_finish4"] = "skull Slide Camo", - ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", - ["component_camo_slide_finish6"] = "perseus Slide Camo", - ["component_camo_slide_finish7"] = "leopard Slide Camo", - ["component_camo_slide_finish8"] = "zebra Slide Camo", - ["component_camo_slide_finish9"] = "geometric Slide Camo", - ["component_camo_slide_finish10"] = "boom Slide Camo", - ["component_camo_slide_finish11"] = "patriotic Slide Camo", - - ["component_clip_default"] = "default Magazine", - ["component_clip_extended"] = "extended Magazine", - ["component_clip_drum"] = "drum Magazine", - ["component_clip_box"] = "box Magazine", - - ["component_scope_holo"] = "holographic Scope", - ["component_scope_small"] = "small Scope", - ["component_scope_medium"] = "medium Scope", - ["component_scope_large"] = "large Scope", - ["component_scope"] = "mounted Scope", - ["component_scope_advanced"] = "advanced Scope", - ["component_ironsights"] = "ironsights", - - ["component_suppressor"] = "ljuddämpare", - ["component_compensator"] = "compensator", - - ["component_muzzle_flat"] = "flat Muzzle Brake", - ["component_muzzle_tactical"] = "tactical Muzzle Brake", - ["component_muzzle_fat"] = "fat-End Muzzle Brake", - ["component_muzzle_precision"] = "precision Muzzle Brake", - ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", - ["component_muzzle_slanted"] = "slanted Muzzle Brake", - ["component_muzzle_split"] = "split-End Muzzle Brake", - ["component_muzzle_squared"] = "squared Muzzle Brake", - - ["component_flashlight"] = "Ficklampa", - ["component_grip"] = "grepp", - - ["component_barrel_default"] = "default Barrel", - ["component_barrel_heavy"] = "heavy Barrel", - - ["component_ammo_tracer"] = "tracer Ammo", - ["component_ammo_incendiary"] = "incendiary Ammo", - ["component_ammo_hollowpoint"] = "hollowpoint Ammo", - ["component_ammo_fmj"] = "fMJ Ammo", - ["component_ammo_armor"] = "armor Piercing Ammo", - ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", - - ["component_shells_default"] = "default Shells", - ["component_shells_incendiary"] = "dragons Breath Shells", - ["component_shells_armor"] = "steel Buckshot Shells", - ["component_shells_hollowpoint"] = "flechette Shells", - ["component_shells_explosive"] = "explosive Slug Shells", - - -- Weapon Ammo - ["ammo_rounds"] = "round(s)", - ["ammo_shells"] = "shell(s)", - ["ammo_charge"] = "charge", - ["ammo_petrol"] = "gallons of fuel", - ["ammo_firework"] = "firework(s)", - ["ammo_rockets"] = "rocket(s)", - ["ammo_grenadelauncher"] = "grenade(s)", - ["ammo_grenade"] = "grenade(s)", - ["ammo_stickybomb"] = "bomb(s)", - ["ammo_pipebomb"] = "bomb(s)", - ["ammo_smokebomb"] = "bomb(s)", - ["ammo_molotov"] = "cocktail(s)", - ["ammo_proxmine"] = "mine(s)", - ["ammo_bzgas"] = "can(s)", - ["ammo_ball"] = "ball(s)", - ["ammo_snowball"] = "snowball(s)", - ["ammo_flare"] = "flare(s)", - ["ammo_flaregun"] = "flare(s)", - - -- Weapon Tints - ["tint_default"] = "default skin", - ["tint_green"] = "green skin", - ["tint_gold"] = "gold skin", - ["tint_pink"] = "pink skin", - ["tint_army"] = "army skin", - ["tint_lspd"] = "blue skin", - ["tint_orange"] = "orange skin", - ["tint_platinum"] = "platinum skin", + -- Inventory + ["inventory"] = "Inventory ( Vikt %s / %s )", + ["use"] = "Använd", + ["give"] = "Ge", + ["remove"] = "Kasta", + ["return"] = "Tillbaka", + ["give_to"] = "Ge", + ["amount"] = "Antal", + ["giveammo"] = "Ge skott", + ["amountammo"] = "Antal skott", + ["noammo"] = "Inte tillräckligt!", + ["gave_item"] = "Ger %sx %s till %s", + ["received_item"] = "Mottog %sx %s från %s", + ["gave_weapon"] = "Ger %s till %s", + ["gave_weapon_ammo"] = "Ger ~o~%sx %s för %s till %s", + ["gave_weapon_withammo"] = "Ger %s med ~o~%sx %s till %s", + ["gave_weapon_hasalready"] = "%s har redan en %s", + ["gave_weapon_noweapon"] = "%s har inte detta vapen", + ["received_weapon"] = "Mottog %s från %s", + ["received_weapon_ammo"] = "Mottog ~o~%sx %s för din %s från %s", + ["received_weapon_withammo"] = "Mottog %s med ~o~%sx %s från %s", + ["received_weapon_hasalready"] = "%s har försökt ge dig en %s, men du har redan detta", + ["received_weapon_noweapon"] = "%s har försökt ge dig skott till en %s, men du har inte detta vapen", + ["gave_account_money"] = "Ger %skr (%s) till %s", + ["received_account_money"] = "Mottog %skr (%s) från %s", + ["amount_invalid"] = "Ogiltig mängd", + ["players_nearby"] = "Inga spelare nära", + ["ex_inv_lim"] = "Kan inte utföra, överskrider maxvikten på %s", + ["imp_invalid_quantity"] = "Kan inte utföra, mängden är ogiltig", + ["imp_invalid_amount"] = "Kan inte utföra, antalet är ogiltig", + ["threw_standard"] = "Kastar %sx %s", + ["threw_account"] = "Kastar %skr %s", + ["threw_weapon"] = "Kastar %s", + ["threw_weapon_ammo"] = "Kastar %s med ~o~%sx %s", + ["threw_weapon_already"] = "Du har redan detta vapen", + ["threw_cannot_pickup"] = "Inventoryt är fullt, kan inte plocka upp!", + ["threw_pickup_prompt"] = "Tryck E för att plocka upp", + + -- Key mapping + ["keymap_showinventory"] = "Öppna inventory", + + -- Salary related + ["received_salary"] = "Du har fått ditt bidrag: %skr", + ["received_help"] = "Du har fått betalt: %skr", + ["company_nomoney"] = "Företaget du är anställd hos har inte råd med att betala ut lön", + ["received_paycheck"] = "Mottog lön", + ["bank"] = "Maze Bank", + ["account_bank"] = "Bank", + ["account_black_money"] = "Svarta pengar", + ["account_money"] = "Kontanter", + + ["act_imp"] = "Kan inte utföra", + ["in_vehicle"] = "Kan inte utföra, spelaren är i ett fordon", + ["not_in_vehicle"] = "Kan inte utföra, spelaren är inte i ett fordon", + + -- Commands + ["command_bring"] = "Ta en spelare till dig", + ["command_car"] = "Ta fram ett fordon", + ["command_car_car"] = "modell", + ["command_cardel"] = "Raderar fordon inom en specifik radie", + ["command_cardel_radius"] = "Raderar fordon inom en specifik radie", + ["command_repair"] = "Reparera ditt fordon", + ["command_repair_success"] = "Fordon reparerat", + ["command_repair_success_target"] = "En admin har reparerat ditt fordon", + ["command_clear"] = "Rensa chatt", + ["command_clearall"] = "Rensa chatt för alla", + ["command_clearinventory"] = "Raderar alla föremål från en spelares inventory", + ["command_clearloadout"] = "Raderar alla vapen från en spelares inventory", + ["command_freeze"] = "Frys en spelare", + ["command_unfreeze"] = "Ta bort frysningen från en spelare", + ["command_giveaccountmoney"] = "Ge pengar till ett specifikt konto", + ["command_giveaccountmoney_account"] = "Konto", + ["command_giveaccountmoney_amount"] = "Summa", + ["command_giveaccountmoney_invalid"] = "Ogiltigt kontonamn", + ["command_removeaccountmoney"] = "Radera pengar från ett specifikt konto", + ["command_removeaccountmoney_account"] = "Konto", + ["command_removeaccountmoney_amount"] = "Summa", + ["command_removeaccountmoney_invalid"] = "Ogiltigt kontonamn", + ["command_giveitem"] = "Ge föremål till en spelare", + ["command_giveitem_item"] = "Namn", + ["command_giveitem_count"] = "Antal", + ["command_giveweapon"] = "Ge ett vapen till en spelare", + ["command_giveweapon_weapon"] = "Vapen", + ["command_giveweapon_ammo"] = "Antal skott", + ["command_giveweapon_hasalready"] = "Spelaren har redan detta vapen", + ["command_giveweaponcomponent"] = "Ge komponent till en spelare", + ["command_giveweaponcomponent_component"] = "Komponent", + ["command_giveweaponcomponent_invalid"] = "Ogiltig komponent", + ["command_giveweaponcomponent_hasalready"] = "Spelaren har redan denna komponent", + ["command_giveweaponcomponent_missingweapon"] = "Spelaren har inte vapen för komponenten", + ["command_goto"] = "Teleportera till en spelare", + ["command_kill"] = "Döda en spelare", + ["command_save"] = "Spara en spelares data", + ["command_saveall"] = "Spara alla spelares data", + ["command_setaccountmoney"] = "Sätt pengar på ett specifikt konto", + ["command_setaccountmoney_amount"] = "Summa", + ["command_setcoords"] = "Teleportera till koordinater", + ["command_setcoords_x"] = "X value", + ["command_setcoords_y"] = "Y value", + ["command_setcoords_z"] = "Z value", + ["command_setjob"] = "Sätt jobb för en spelare", + ["command_setjob_job"] = "Namn", + ["command_setjob_grade"] = "Grad", + ["command_setjob_invalid"] = "Jobbet, graden eller båda är ogiltiga", + ["command_setgroup"] = "Sätt en spelares grupp", + ["command_setgroup_group"] = "Grupp", + ["commanderror_argumentmismatch"] = "Invalid Argument Count (passed %s, wanted %s)", + ["commanderror_argumentmismatch_number"] = "Invalid Argument #%s data type (passed string, wanted number)", + ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", + ["commanderror_invaliditem"] = "Ogiltigt föremål", + ["commanderror_invalidweapon"] = "Ogiltigt vapen", + ["commanderror_console"] = "Kommandot kan inte användas i konsolen", + ["commanderror_invalidcommand"] = "Ogiltigt kommand - /%s", + ["commanderror_invalidplayerid"] = "Spelaren är inte online", + ["commandgeneric_playerid"] = "Spelares ID", + ["command_giveammo_noweapon_found"] = "%s har inte detta vapen", + ["command_giveammo_weapon"] = "Vapen namn", + ["command_giveammo_ammo"] = "Antal ammo", + ["tpm_nowaypoint"] = "Ingen markör sutten.", + ["tpm_success"] = "Du har teleporterat", + + ["noclip_message"] = "Noclip har %s", + ["enabled"] = "~g~aktiverats~s~", + ["disabled"] = "~r~avaktiverats~s~", + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "%skr", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "Dolk", + ["weapon_bat"] = "Baseballträd", + ["weapon_battleaxe"] = "Stridsyxa", + ["weapon_bottle"] = "Glasflaska", + ["weapon_crowbar"] = "Kofot", + ["weapon_flashlight"] = "Ficklampa", + ["weapon_golfclub"] = "Golfklubba", + ["weapon_hammer"] = "Hammare", + ["weapon_hatchet"] = "Yxa", + ["weapon_knife"] = "Kniv", + ["weapon_knuckle"] = "Knogjärn", + ["weapon_machete"] = "Machete", + ["weapon_nightstick"] = "Ficklampa", + ["weapon_wrench"] = "Rörtång", + ["weapon_poolcue"] = "Biljardkö", + ["weapon_stone_hatchet"] = "Stenyxa", + ["weapon_switchblade"] = "Fickkniv", + + -- Handguns + ["weapon_appistol"] = "AP Pistol", + ["weapon_ceramicpistol"] = "Ceramic Pistol", + ["weapon_combatpistol"] = "Combat Pistol", + ["weapon_doubleaction"] = "Double-Action Revolver", + ["weapon_navyrevolver"] = "Navy Revolver", + ["weapon_flaregun"] = "Flaregun", + ["weapon_gadgetpistol"] = "Gadget Pistol", + ["weapon_heavypistol"] = "Heavy Pistol", + ["weapon_revolver"] = "Heavy Revolver", + ["weapon_revolver_mk2"] = "Heavy Revolver MK2", + ["weapon_marksmanpistol"] = "Marksman Pistol", + ["weapon_pistol"] = "Pistol", + ["weapon_pistol_mk2"] = "Pistol MK2", + ["weapon_pistol50"] = "Pistol .50", + ["weapon_snspistol"] = "SNS Pistol", + ["weapon_snspistol_mk2"] = "SNS Pistol MK2", + ["weapon_stungun"] = "Taser", + ["weapon_raypistol"] = "Up-N-Atomizer", + ["weapon_vintagepistol"] = "Vintage Pistol", + + -- Shotguns + ["weapon_assaultshotgun"] = "Assault Shotgun", + ["weapon_autoshotgun"] = "Auto Shotgun", + ["weapon_bullpupshotgun"] = "Bullpup Shotgun", + ["weapon_combatshotgun"] = "Combat Shotgun", + ["weapon_dbshotgun"] = "Double Barrel Shotgun", + ["weapon_heavyshotgun"] = "Heavy Shotgun", + ["weapon_musket"] = "Musket", + ["weapon_pumpshotgun"] = "Pump Shotgun", + ["weapon_pumpshotgun_mk2"] = "Pump Shotgun MK2", + ["weapon_sawnoffshotgun"] = "Sawed Off Shotgun", + + -- SMG & LMG + ["weapon_assaultsmg"] = "Assault SMG", + ["weapon_combatmg"] = "Combat MG", + ["weapon_combatmg_mk2"] = "Combat MG MK2", + ["weapon_combatpdw"] = "Combat PDW", + ["weapon_gusenberg"] = "Gusenberg Sweeper", + ["weapon_machinepistol"] = "Machine Pistol", + ["weapon_mg"] = "MG", + ["weapon_microsmg"] = "Micro SMG", + ["weapon_minismg"] = "Mini SMG", + ["weapon_smg"] = "SMG", + ["weapon_smg_mk2"] = "SMG MK2", + ["weapon_raycarbine"] = "Unholy Hellbringer", + + -- Rifles + ["weapon_advancedrifle"] = "Advanced Rifle", + ["weapon_assaultrifle"] = "Assault Rifle", + ["weapon_assaultrifle_mk2"] = "Assault Rifle MK2", + ["weapon_bullpuprifle"] = "Bullpup Rifle", + ["weapon_bullpuprifle_mk2"] = "Bullpup Rifle MK2", + ["weapon_carbinerifle"] = "Carbine Rifle", + ["weapon_carbinerifle_mk2"] = "Carbine Rifle MK2", + ["weapon_compactrifle"] = "Compact Rifle", + ["weapon_militaryrifle"] = "Military Rifle", + ["weapon_specialcarbine"] = "Special Carbine", + ["weapon_specialcarbine_mk2"] = "Special Carbine MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", + + -- Sniper + ["weapon_heavysniper"] = "Heavy Sniper", + ["weapon_heavysniper_mk2"] = "Heavy Sniper MK2", + ["weapon_marksmanrifle"] = "Marksman Rifle", + ["weapon_marksmanrifle_mk2"] = "Marksman Rifle MK2", + ["weapon_sniperrifle"] = "Sniper Rifle", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "Compact Launcher", + ["weapon_firework"] = "Firework Launcher", + ["weapon_grenadelauncher"] = "Grenade Launcher", + ["weapon_hominglauncher"] = "Homing Launcher", + ["weapon_minigun"] = "Minigun", + ["weapon_railgun"] = "Railgun", + ["weapon_rpg"] = "Rocket Launcher", + ["weapon_rayminigun"] = "Widowmaker", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "Metal Detector", + ["weapon_precisionrifle"] = "Precision Rifle", + ["weapon_tactilerifle"] = "Service Carbine", + + -- Drug wars dlc + ["weapon_candycane"] = "Candycane", + ["weapon_acidpackage"] = "Acid Package", + ["weapon_pistolxm3"] = "Pistol8 x3m", + ["weapon_railgunxm3"] = "Railgun", + + -- Thrown + ["weapon_ball"] = "Baseball", + ["weapon_bzgas"] = "BZ Gas", + ["weapon_flare"] = "Bloss", + ["weapon_grenade"] = "Granat", + ["weapon_petrolcan"] = "Bensindunk", + ["weapon_hazardcan"] = "Hazardous Jerrycan", + ["weapon_molotov"] = "Molotov", + ["weapon_proxmine"] = "Mina", + ["weapon_pipebomb"] = "Pipe Bomb", + ["weapon_snowball"] = "Snöboll", + ["weapon_stickybomb"] = "Sticky Bomb", + ["weapon_smokegrenade"] = "Tårgas", + + -- Special + ["weapon_fireextinguisher"] = "Brandsläckare", + ["weapon_digiscanner"] = "Digital Scanner", + ["weapon_garbagebag"] = "Soppåse", + ["weapon_handcuffs"] = "Handklovar", + ["gadget_nightvision"] = "Night Vision", + ["gadget_parachute"] = "Fallskärm", + + -- Weapon Components + ["component_knuckle_base"] = "base Model", + ["component_knuckle_pimp"] = "the Pimp", + ["component_knuckle_ballas"] = "the Ballas", + ["component_knuckle_dollar"] = "the Hustler", + ["component_knuckle_diamond"] = "the Rock", + ["component_knuckle_hate"] = "the Hater", + ["component_knuckle_love"] = "the Lover", + ["component_knuckle_player"] = "the Player", + ["component_knuckle_king"] = "the King", + ["component_knuckle_vagos"] = "the Vagos", + + ["component_luxary_finish"] = "luxary Weapon Finish", + + ["component_handle_default"] = "default Handle", + ["component_handle_vip"] = "vIP Handle", + ["component_handle_bodyguard"] = "bodyguard Handle", + + ["component_vip_finish"] = "vIP Finish", + ["component_bodyguard_finish"] = "bodyguard Finish", + + ["component_camo_finish"] = "digital Camo", + ["component_camo_finish2"] = "brushstroke Camo", + ["component_camo_finish3"] = "woodland Camo", + ["component_camo_finish4"] = "skull Camo", + ["component_camo_finish5"] = "sessanta Nove Camo", + ["component_camo_finish6"] = "perseus Camo", + ["component_camo_finish7"] = "leopard Camo", + ["component_camo_finish8"] = "zebra Camo", + ["component_camo_finish9"] = "geometric Camo", + ["component_camo_finish10"] = "boom Camo", + ["component_camo_finish11"] = "patriotic Camo", + + ["component_camo_slide_finish"] = "digital Slide Camo", + ["component_camo_slide_finish2"] = "brushstroke Slide Camo", + ["component_camo_slide_finish3"] = "woodland Slide Camo", + ["component_camo_slide_finish4"] = "skull Slide Camo", + ["component_camo_slide_finish5"] = "sessanta Nove Slide Camo", + ["component_camo_slide_finish6"] = "perseus Slide Camo", + ["component_camo_slide_finish7"] = "leopard Slide Camo", + ["component_camo_slide_finish8"] = "zebra Slide Camo", + ["component_camo_slide_finish9"] = "geometric Slide Camo", + ["component_camo_slide_finish10"] = "boom Slide Camo", + ["component_camo_slide_finish11"] = "patriotic Slide Camo", + + ["component_clip_default"] = "default Magazine", + ["component_clip_extended"] = "extended Magazine", + ["component_clip_drum"] = "drum Magazine", + ["component_clip_box"] = "box Magazine", + + ["component_scope_holo"] = "holographic Scope", + ["component_scope_small"] = "small Scope", + ["component_scope_medium"] = "medium Scope", + ["component_scope_large"] = "large Scope", + ["component_scope"] = "mounted Scope", + ["component_scope_advanced"] = "advanced Scope", + ["component_ironsights"] = "ironsights", + + ["component_suppressor"] = "ljuddämpare", + ["component_compensator"] = "compensator", + + ["component_muzzle_flat"] = "flat Muzzle Brake", + ["component_muzzle_tactical"] = "tactical Muzzle Brake", + ["component_muzzle_fat"] = "fat-End Muzzle Brake", + ["component_muzzle_precision"] = "precision Muzzle Brake", + ["component_muzzle_heavy"] = "heavy Duty Muzzle Brake", + ["component_muzzle_slanted"] = "slanted Muzzle Brake", + ["component_muzzle_split"] = "split-End Muzzle Brake", + ["component_muzzle_squared"] = "squared Muzzle Brake", + + ["component_flashlight"] = "Ficklampa", + ["component_grip"] = "grepp", + + ["component_barrel_default"] = "default Barrel", + ["component_barrel_heavy"] = "heavy Barrel", + + ["component_ammo_tracer"] = "tracer Ammo", + ["component_ammo_incendiary"] = "incendiary Ammo", + ["component_ammo_hollowpoint"] = "hollowpoint Ammo", + ["component_ammo_fmj"] = "fMJ Ammo", + ["component_ammo_armor"] = "armor Piercing Ammo", + ["component_ammo_explosive"] = "armor Piercing Incendiary Ammo", + + ["component_shells_default"] = "default Shells", + ["component_shells_incendiary"] = "dragons Breath Shells", + ["component_shells_armor"] = "steel Buckshot Shells", + ["component_shells_hollowpoint"] = "flechette Shells", + ["component_shells_explosive"] = "explosive Slug Shells", + + -- Weapon Ammo + ["ammo_rounds"] = "round(s)", + ["ammo_shells"] = "shell(s)", + ["ammo_charge"] = "charge", + ["ammo_petrol"] = "gallons of fuel", + ["ammo_firework"] = "firework(s)", + ["ammo_rockets"] = "rocket(s)", + ["ammo_grenadelauncher"] = "grenade(s)", + ["ammo_grenade"] = "grenade(s)", + ["ammo_stickybomb"] = "bomb(s)", + ["ammo_pipebomb"] = "bomb(s)", + ["ammo_smokebomb"] = "bomb(s)", + ["ammo_molotov"] = "cocktail(s)", + ["ammo_proxmine"] = "mine(s)", + ["ammo_bzgas"] = "can(s)", + ["ammo_ball"] = "ball(s)", + ["ammo_snowball"] = "snowball(s)", + ["ammo_flare"] = "flare(s)", + ["ammo_flaregun"] = "flare(s)", + + -- Weapon Tints + ["tint_default"] = "default skin", + ["tint_green"] = "green skin", + ["tint_gold"] = "gold skin", + ["tint_pink"] = "pink skin", + ["tint_army"] = "army skin", + ["tint_lspd"] = "blue skin", + ["tint_orange"] = "orange skin", + ["tint_platinum"] = "platinum skin", } diff --git a/server-data/resources/[esx]/es_extended/locales/tc.lua b/server-data/resources/[esx]/es_extended/locales/tc.lua deleted file mode 100644 index 1c8f8b8d1..000000000 --- a/server-data/resources/[esx]/es_extended/locales/tc.lua +++ /dev/null @@ -1,219 +0,0 @@ -Locales["tc"] = { - -- Inventory - ["amount"] = "數量", - ["giveammo"] = "給予子彈", - ["amountammo"] = "子彈數量", - ["noammo"] = "您沒有足夠的子彈!", - ["gave_item"] = "您把 %sx %s 給予了 %s", - ["received_item"] = "您收到 %sx %s,來自 %s", - ["gave_weapon"] = "您把 %s 給予了 %s", - ["gave_weapon_ammo"] = "您把 ~o~%sx %s %s 給予了 %s", - ["gave_weapon_withammo"] = "您把 %s 和 ~o~%sx %s 給予了 %s", - ["gave_weapon_hasalready"] = "%s 已經有 %s", - ["gave_weapon_noweapon"] = "%s 沒有那把武器", - ["received_weapon"] = "您收到了 %s,來自 %s", - ["received_weapon_ammo"] = "您收到了 ~o~%sx %s (%s),來自%s", - ["received_weapon_withammo"] = "您收到了 %s 和~o~%sx %s,來自%s", - ["received_weapon_hasalready"] = "%s 嘗試給您 %s,但您已經有了", - ["received_weapon_noweapon"] = "%s 嘗試給您 %s 子彈,但是您沒有那把武器", - ["gave_account_money"] = "您將 $%s (%s) 給予 %s", - ["received_account_money"] = "您收到了 $%s (%s) 來自 %s", - ["amount_invalid"] = "無效的數量", - ["players_nearby"] = "附近沒有玩家", - ["ex_inv_lim"] = "操作失敗, 超過 %s 物品欄位的限制", - ["imp_invalid_quantity"] = "操作失敗,無效的數量", - ["imp_invalid_amount"] = "操作失敗,無效的金額", - ["threw_standard"] = "您丟棄了 %sx %s", - ["threw_account"] = "您丟棄了 $%s %s", - ["threw_weapon"] = "您丟棄了 %s", - ["threw_weapon_ammo"] = "您丟棄了 %s 和 ~o~%sx %s", - ["threw_weapon_already"] = "您已經有相同的武器了", - ["threw_cannot_pickup"] = "您不能再撿起該物品,因為您的背包已經滿了", - ["threw_pickup_prompt"] = "按下 E 撿起", - - -- Key mapping - ["keymap_showinventory"] = "顯示背包", - - -- Salary related - ["received_salary"] = "您收到您的薪水: $%s", - ["received_help"] = "你領取到了你的失業救濟金: $%s", - ["company_nomoney"] = "您的公司太窮了,無法給予您薪水。", - ["received_paycheck"] = "收到轉帳", - ["bank"] = "花園銀行", - ["account_bank"] = "銀行", - ["account_black_money"] = "黑錢", - ["account_money"] = "現金", - - ["act_imp"] = "操作失敗", - ["in_vehicle"] = "請離開載具", - - -- Commands - ["command_car"] = "生成載具", - ["command_car_car"] = "生成載具的模型名稱或希哈值", - ["command_cardel"] = "刪除附近的載具", - ["command_cardel_radius"] = "可選擇,刪除指定半徑內的所有車輛", - ["command_clear"] = "清除聊天紀錄", - ["command_clearall"] = "清除所有玩家的聊天紀錄", - ["command_clearinventory"] = "清除玩家背包", - ["command_clearloadout"] = "清除玩家人物造型", - ["command_giveaccountmoney"] = "給予帳戶錢", - ["command_giveaccountmoney_account"] = "有效的帳戶名稱", - ["command_giveaccountmoney_amount"] = "添加的數量", - ["command_giveaccountmoney_invalid"] = "無效的帳戶名稱", - ["command_giveitem"] = "給玩家一個物品", - ["command_giveitem_item"] = "物品名稱", - ["command_giveitem_count"] = "物品數量", - ["command_giveweapon"] = "給玩家一把武器", - ["command_giveweapon_weapon"] = "武器名稱", - ["command_giveweapon_ammo"] = "子彈數量", - ["command_giveweapon_hasalready"] = "該玩家已經擁有了該武器", - ["command_giveweaponcomponent"] = "給予武器配件", - ["command_giveweaponcomponent_component"] = "配件名稱", - ["command_giveweaponcomponent_invalid"] = "無效的武器配件", - ["command_giveweaponcomponent_hasalready"] = "該玩家已經擁有了武器配件", - ["command_giveweaponcomponent_missingweapon"] = "該玩家沒有那把武器", - ["command_save"] = "保存玩家數據至資料庫", - ["command_saveall"] = "保存所有玩家數據至資料庫", - ["command_setaccountmoney"] = "為玩家設置賬戶資金", - ["command_setaccountmoney_amount"] = "要設置的金額", - ["command_setcoords"] = "傳送到座標上", - ["command_setcoords_x"] = "x 軸", - ["command_setcoords_y"] = "y 軸", - ["command_setcoords_z"] = "z 軸", - ["command_setjob"] = "設定該玩家職業", - ["command_setjob_job"] = "職業名稱", - ["command_setjob_grade"] = "職業階級", - ["command_setjob_invalid"] = "職業、階級或者兩者都無效", - ["command_setgroup"] = "設定玩家群組階級", - ["command_setgroup_group"] = "玩家群組階級名稱", - ["commanderror_argumentmismatch"] = "參數數量不正確(該類型為 %s, 需要給予 %s)", - ["commanderror_argumentmismatch_number"] = "參數 #%s 類型不匹配(該類型為字串,需要給予的數字類型)", - ["commanderror_invaliditem"] = "無效的物品名稱", - ["commanderror_invalidweapon"] = "無效武器", - ["commanderror_console"] = "該指令不能從控制台執行", - ["commanderror_invalidcommand"] = "/%s 不是有效的指令!", - ["commanderror_invalidplayerid"] = "無效的玩家ID", - ["commandgeneric_playerid"] = "玩家id", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "$%s", - - -- Weapons - ["weapon_knife"] = "刀", - ["weapon_nightstick"] = "警棍", - ["weapon_hammer"] = "錘子", - ["weapon_bat"] = "棒球棍", - ["weapon_golfclub"] = "高爾夫球棍", - ["weapon_crowbar"] = "撬棍", - ["weapon_pistol"] = "手槍", - ["weapon_combatpistol"] = "戰鬥手槍", - ["weapon_appistol"] = "穿甲手槍", - ["weapon_pistol50"] = ".50口徑手槍", - ["weapon_microsmg"] = "迷你衝鋒槍", - ["weapon_smg"] = "衝鋒槍", - ["weapon_assaultsmg"] = "突擊衝鋒槍", - ["weapon_assaultrifle"] = "突擊步槍", - ["weapon_carbinerifle"] = "卡賓槍步槍", - ["weapon_advancedrifle"] = "精準步槍", - ["weapon_mg"] = "機槍", - ["weapon_combatmg"] = "戰鬥機槍", - ["weapon_pumpshotgun"] = "霰彈槍", - ["weapon_sawnoffshotgun"] = "削短型霰彈槍", - ["weapon_assaultshotgun"] = "突擊霰彈槍", - ["weapon_bullpupshotgun"] = "泵動式霰彈槍", - ["weapon_stungun"] = "電擊槍", - ["weapon_sniperrifle"] = "狙擊步槍", - ["weapon_heavysniper"] = "重型狙擊槍", - ["weapon_grenadelauncher"] = "榴彈砲", - ["weapon_rpg"] = "火箭炮", - ["weapon_minigun"] = "火神機槍", - ["weapon_grenade"] = "手榴彈", - ["weapon_stickybomb"] = "黏彈", - ["weapon_smokegrenade"] = "煙霧彈", - ["weapon_bzgas"] = "催淚瓦斯", - ["weapon_molotov"] = "汽油彈", - ["weapon_fireextinguisher"] = "滅火器", - ["weapon_petrolcan"] = "汽油桶", - ["weapon_ball"] = "棒球", - ["weapon_snspistol"] = "劣質手槍", - ["weapon_bottle"] = "酒瓶", - ["weapon_gusenberg"] = "古森柏衝鋒槍", - ["weapon_specialcarbine"] = "特製卡賓槍", - ["weapon_heavypistol"] = "重型手槍", - ["weapon_bullpuprifle"] = "AUG突擊步槍", - ["weapon_dagger"] = "匕首", - ["weapon_vintagepistol"] = "老式手槍", - ["weapon_firework"] = "煙火發射器", - ["weapon_musket"] = "老式火槍", - ["weapon_heavyshotgun"] = "重型霰彈槍", - ["weapon_marksmanrifle"] = "精確射手步槍", - ["weapon_hominglauncher"] = "火箭彈發射器", - ["weapon_proxmine"] = "感應地雷", - ["weapon_snowball"] = "雪球", - ["weapon_flaregun"] = "信號槍", - ["weapon_combatpdw"] = "戰鬥自衛衝鋒槍", - ["weapon_marksmanpistol"] = "神射手槍", - ["weapon_knuckle"] = "指虎", - ["weapon_hatchet"] = "斧頭", - ["weapon_railgun"] = "電磁軌彈炮", - ["weapon_machete"] = "開山刀", - ["weapon_machinepistol"] = "衝鋒手槍", - ["weapon_switchblade"] = "蝴蝶刀", - ["weapon_revolver"] = "重左輪手槍", - ["weapon_dbshotgun"] = "雙槍霰彈槍", - ["weapon_compactrifle"] = "半自動步槍", - ["weapon_autoshotgun"] = "半自動霰彈槍", - ["weapon_battleaxe"] = "戰斧", - ["weapon_compactlauncher"] = "精簡榴彈發射器", - ["weapon_minismg"] = "迷你衝鋒槍", - ["weapon_pipebomb"] = "土製炸彈", - ["weapon_poolcue"] = "桌球桿", - ["weapon_wrench"] = "扳手", - ["weapon_flashlight"] = "手電筒", - ["gadget_parachute"] = "降落傘", - ["weapon_flare"] = "信號棒", - ["weapon_doubleaction"] = "左輪手槍", - - -- Weapon Components - ["component_clip_default"] = "默認彈夾", - ["component_clip_extended"] = "延伸彈夾", - ["component_clip_drum"] = "彈鼓式彈匣", - ["component_clip_box"] = "盒式彈匣", - ["component_flashlight"] = "手電筒", - ["component_scope"] = "瞄準鏡", - ["component_scope_advanced"] = "高級瞄準鏡", - ["component_suppressor"] = "消音管", - ["component_grip"] = "握把", - ["component_luxary_finish"] = "豪華塗裝", - - -- Weapon Ammo - ["ammo_rounds"] = "發(子彈)", - ["ammo_shells"] = "發(子彈)", - ["ammo_charge"] = "噴", - ["ammo_petrol"] = "加崙(燃料)", - ["ammo_firework"] = "發(煙火子彈)", - ["ammo_rockets"] = "枚(火箭彈)", - ["ammo_grenadelauncher"] = "發(榴彈)", - ["ammo_grenade"] = "枚(手榴彈)", - ["ammo_stickybomb"] = "枚(炸彈)", - ["ammo_pipebomb"] = "枚(炸彈)", - ["ammo_smokebomb"] = "枚(炸彈)", - ["ammo_molotov"] = "瓶(汽油瓶)", - ["ammo_proxmine"] = "個(地雷)", - ["ammo_bzgas"] = "罐", - ["ammo_ball"] = "顆(球)", - ["ammo_snowball"] = "顆(雪球)", - ["ammo_flare"] = "根(信號棒)", - ["ammo_flaregun"] = "發(信號彈)", - - -- Weapon Tints - ["tint_default"] = "默認色調", - ["tint_green"] = "綠色調", - ["tint_gold"] = "金色調", - ["tint_pink"] = "粉色調", - ["tint_army"] = "軍用色調", - ["tint_lspd"] = "洛聖都警察局色調", - ["tint_orange"] = "橘色調", - ["tint_platinum"] = "柏金色調", -} diff --git a/server-data/resources/[esx]/es_extended/locales/zh-cn.lua b/server-data/resources/[esx]/es_extended/locales/zh-cn.lua index 328d7584c..a8a1ad8e6 100644 --- a/server-data/resources/[esx]/es_extended/locales/zh-cn.lua +++ b/server-data/resources/[esx]/es_extended/locales/zh-cn.lua @@ -1,377 +1,377 @@ Locales["zh-cn"] = { - -- Inventory - ["inventory"] = "背包 %s / %s", - ["use"] = "使用", - ["give"] = "给予", - ["remove"] = "赠送", - ["return"] = "返回", - ["give_to"] = "赠给", - ["amount"] = "数量", - ["giveammo"] = "赠送弹药", - ["amountammo"] = "弹药量", - ["noammo"] = "您没有足够的弹药!", - ["gave_item"] = "您将 %sx %s 赠送给 %s", - ["received_item"] = "您收到 %sx %s, 来自于 %s 的赠送", - ["gave_weapon"] = "您把 %s 赠送给 %s", - ["gave_weapon_ammo"] = "您把 ~o~%sx %s %s 赠送给 %s", - ["gave_weapon_withammo"] = "您把 %s 和 ~o~%sx %s 赠送给 %s", - ["gave_weapon_hasalready"] = "%s 已持有 %s", - ["gave_weapon_noweapon"] = "%s 暂无该类型武器", - ["received_weapon"] = "您收到了 %s, 来自于 %s 的赠送", - ["received_weapon_ammo"] = "您收到了 ~o~%sx %s (%s),来自于%s的赠送", - ["received_weapon_withammo"] = "您收到了 %s 和~o~%sx %s,来自于%s的赠送", - ["received_weapon_hasalready"] = "%s 试图给您 %s,但您已持有", - ["received_weapon_noweapon"] = "%s 试图给您 %s 发子弹,但是您沒有该类型武器", - ["gave_account_money"] = "您将 $%s (%s) 赠送给 %s", - ["received_account_money"] = "您收到了 $%s (%s) 来自 %s 的赠送", - ["amount_invalid"] = "无效数量", - ["players_nearby"] = "附近没有玩家", - ["ex_inv_lim"] = "操作失败, 超过 %s 背包物品的上限", - ["imp_invalid_quantity"] = "操作失败,无效数量输入", - ["imp_invalid_amount"] = "操作失败,无效金额输入", - ["threw_standard"] = "您丢弃了 %sx %s", - ["threw_account"] = "您丢弃了 $%s %s", - ["threw_weapon"] = "您丢弃了 %s", - ["threw_weapon_ammo"] = "您丢弃了 %s 和 ~o~%sx %s", - ["threw_weapon_already"] = "您已持有相同武器!", - ["threw_cannot_pickup"] = "背包容量已满, 无法持有更多该物品!", - ["threw_pickup_prompt"] = "键下 [E] 捡起", - - -- Key mapping - ["keymap_showinventory"] = "显示背包", - - -- Salary related - ["received_salary"] = "您收到了您的工资: $%s", - ["received_help"] = "您领取到了您的无业性低保: $%s", - ["company_nomoney"] = "您受雇的公司太穷了,无法清算您的工资.", - ["received_paycheck"] = "收到转账", - ["bank"] = "花园银行", - ["account_bank"] = "银行", - ["account_black_money"] = "赃款", - ["account_money"] = "现金", - - ["act_imp"] = "操作失败", - ["in_vehicle"] = "请离开当前载具", - ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", - - -- Commands - ["command_bring"] = "传送玩家到您身边", - ["command_car"] = "生成载具", - ["command_car_car"] = "生成载具的模型名称或哈希值", - ["command_cardel"] = "删除附近载具", - ["command_cardel_radius"] = "可选,删除指定半径内的所有载具", - ["command_repair"] = "Repair your vehicle", - ["command_repair_success"] = "Successfully repaired vehicle", - ["command_repair_success_target"] = "An admin repaired your vehicle", - ["command_clear"] = "清除聊天记录", - ["command_clearall"] = "清除所有玩家的聊天记录", - ["command_clearinventory"] = "清除玩家库存", - ["command_clearloadout"] = "清除玩家武器栏", - ["command_freeze"] = "冻结玩家", - ["command_unfreeze"] = "解冻玩家", - ["command_giveaccountmoney"] = "给予任意账户资金", - ["command_giveaccountmoney_account"] = "有效的帐户类型", - ["command_giveaccountmoney_amount"] = "添加的金额数量", - ["command_giveaccountmoney_invalid"] = "无效的帐户类型", - ["command_giveitem"] = "给予玩家一件物品", - ["command_giveitem_item"] = "物品代码", - ["command_giveitem_count"] = "物品数目", - ["command_giveweapon"] = "给予玩家一把武器", - ["command_giveweapon_weapon"] = "武器代码", - ["command_giveweapon_ammo"] = "弹药数目", - ["command_giveweapon_hasalready"] = "该玩家已拥有该武器", - ["command_giveweaponcomponent"] = "给予武器改装件", - ["command_giveweaponcomponent_component"] = "改装件代码", - ["command_giveweaponcomponent_invalid"] = "无效的武器改装件", - ["command_giveweaponcomponent_hasalready"] = "玩家已拥有该武器改装件", - ["command_giveweaponcomponent_missingweapon"] = "该玩家暂无该类型改装件的武器", - ["command_goto"] = "传送至一名玩家身旁", - ["command_kill"] = "击杀一名玩家", - ["command_save"] = "保存玩家数据至数据库", - ["command_saveall"] = "保存所有玩家数据至数据库", - ["command_setaccountmoney"] = "设置玩家帐户内资金", - ["command_setaccountmoney_amount"] = "账户资金金额", - ["command_setcoords"] = "传送至XYZ坐标", - ["command_setcoords_x"] = "X 轴", - ["command_setcoords_y"] = "Y 轴", - ["command_setcoords_z"] = "Z 轴", - ["command_setjob"] = "配置该玩家职业", - ["command_setjob_job"] = "职业代码", - ["command_setjob_grade"] = "职业等级", - ["command_setjob_invalid"] = "职业代码、等级或输入数据无效!", - ["command_setgroup"] = "设置玩家用户组", - ["command_setgroup_group"] = "用户组代码", - ["commanderror_argumentmismatch"] = "参数计数不匹配 (该类型为 %s, 需要传输 %s)", - ["commanderror_argumentmismatch_number"] = "参数 #%s 类型不匹配 (该类型为字符串,需要传递数字类型)", - ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", - ["commanderror_invaliditem"] = "无效的物品代码", - ["commanderror_invalidweapon"] = "无效的武器代码", - ["commanderror_console"] = "控制台无法执行此命令!", - ["commanderror_invalidcommand"] = "/%s 不是有效的命令!", - ["commanderror_invalidplayerid"] = "无效的玩家服务器ID", - ["commandgeneric_playerid"] = "玩家服务器ID", - ["command_giveammo_noweapon_found"] = "%s 为无效的武器代码!", - ["command_giveammo_weapon"] = "武器代码", - ["command_giveammo_ammo"] = "弹药数量", - ["tpm_nowaypoint"] = "尚未配置导航点!", - ["tpm_success"] = "已传送至该导航点", - - ["noclip_message"] = "飞行模式已被激活 %s", - ["enabled"] = "~g~已开启~s~", - ["disabled"] = "~r~已关闭~s~", - - -- Locale settings - ["locale_digit_grouping_symbol"] = ",", - ["locale_currency"] = "$%s", - - -- Weapons - - -- Melee - ["weapon_dagger"] = "古骑兵匕首", - ["weapon_bat"] = "棒球棍", - ["weapon_battleaxe"] = "战斧", - ["weapon_bottle"] = "碎酒瓶", - ["weapon_crowbar"] = "撬棍", - ["weapon_flashlight"] = "手电筒", - ["weapon_golfclub"] = "高尔夫球杆", - ["weapon_hammer"] = "铁锤", - ["weapon_hatchet"] = "手斧", - ["weapon_knife"] = "小刀", - ["weapon_knuckle"] = "手指虎", - ["weapon_machete"] = "开山刀", - ["weapon_nightstick"] = "警棍", - ["weapon_wrench"] = "管钳扳手", - ["weapon_poolcue"] = "台球杆", - ["weapon_stone_hatchet"] = "石斧", - ["weapon_switchblade"] = "弹簧刀", - - -- Handguns - ["weapon_appistol"] = "穿甲手枪", - ["weapon_ceramicpistol"] = "陶瓷手枪", - ["weapon_combatpistol"] = "战斗手枪", - ["weapon_doubleaction"] = "双动式左轮手枪", - ["weapon_navyrevolver"] = "海军左轮手枪", - ["weapon_flaregun"] = "信号枪", - ["weapon_gadgetpistol"] = "佩里克手枪", - ["weapon_heavypistol"] = "重型手枪", - ["weapon_revolver"] = "重型左轮手枪", - ["weapon_revolver_mk2"] = "重型左轮手枪-MK2", - ["weapon_marksmanpistol"] = "射手手枪", - ["weapon_pistol"] = "手枪", - ["weapon_pistol_mk2"] = "手枪-MK2", - ["weapon_pistol50"] = "0.5-口径手枪", - ["weapon_snspistol"] = "劣质手枪", - ["weapon_snspistol_mk2"] = "劣质手枪-MK2", - ["weapon_stungun"] = "电击枪", - ["weapon_raypistol"] = "原子堡手枪", - ["weapon_vintagepistol"] = "老式手枪", - - -- Shotguns - ["weapon_assaultshotgun"] = "突击霰弹枪", - ["weapon_autoshotgun"] = "半自动霰弹枪", - ["weapon_bullpupshotgun"] = "无托式霰弹枪", - ["weapon_combatshotgun"] = "战斗霰弹枪", - ["weapon_dbshotgun"] = "双管霰弹枪", - ["weapon_heavyshotgun"] = "重型霰弹枪", - ["weapon_musket"] = "老式火枪", - ["weapon_pumpshotgun"] = "泵动式霰弹枪", - ["weapon_pumpshotgun_mk2"] = "泵动式霰弹枪-MK2", - ["weapon_sawnoffshotgun"] = "短管霰弹枪", - - -- SMG & LMG - ["weapon_assaultsmg"] = "突击冲锋枪", - ["weapon_combatmg"] = "战斗机枪", - ["weapon_combatmg_mk2"] = "战斗机枪-MK2", - ["weapon_combatpdw"] = "作战自卫冲锋枪", - ["weapon_gusenberg"] = "古森柏冲锋枪", - ["weapon_machinepistol"] = "冲锋手枪", - ["weapon_mg"] = "机枪", - ["weapon_microsmg"] = "微型冲锋枪", - ["weapon_minismg"] = "迷你冲锋枪", - ["weapon_smg"] = "冲锋枪", - ["weapon_smg_mk2"] = "冲锋枪-MK2", - ["weapon_raycarbine"] = "不洁使者", - - -- Rifles - ["weapon_advancedrifle"] = "高级步枪", - ["weapon_assaultrifle"] = "突击步枪", - ["weapon_assaultrifle_mk2"] = "突击步枪-MK2", - ["weapon_bullpuprifle"] = "无托式步枪", - ["weapon_bullpuprifle_mk2"] = "无托式步枪-MK2", - ["weapon_carbinerifle"] = "卡宾步枪", - ["weapon_carbinerifle_mk2"] = "卡宾步枪-MK2", - ["weapon_compactrifle"] = "紧凑型步枪", - ["weapon_militaryrifle"] = "军用步枪", - ["weapon_specialcarbine"] = "特制卡宾步枪", - ["weapon_specialcarbine_mk2"] = "特制卡宾步枪-MK2", - ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated - - -- Sniper - ["weapon_heavysniper"] = "重型狙击步枪", - ["weapon_heavysniper_mk2"] = "重型狙击步枪-MK2", - ["weapon_marksmanrifle"] = "射手步枪", - ["weapon_marksmanrifle_mk2"] = "射手步枪-MK2", - ["weapon_sniperrifle"] = "狙击步枪", - - -- Heavy / Launchers - ["weapon_compactlauncher"] = "紧凑型榴弹发射器", - ["weapon_firework"] = "烟花发射器", - ["weapon_grenadelauncher"] = "榴弹发射器", - ["weapon_hominglauncher"] = "制导火箭发射器", - ["weapon_minigun"] = "火神机枪", - ["weapon_railgun"] = "电磁轨道炮", - ["weapon_rpg"] = "火箭炮", - ["weapon_rayminigun"] = "寡妇制造者", - - -- Criminal Enterprises DLC - ["weapon_metaldetector"] = "金属探测器", - ["weapon_precisionrifle"] = "精确步枪", - ["weapon_tactilerifle"] = "制式卡宾步枪", - - -- Drug Wars DLC - ["weapon_candycane"] = "Candy Cane", -- not translated - ["weapon_acidpackage"] = "Acid Package", -- not translated - ["weapon_pistolxm3"] = "WM 29 Pistol", -- not translated - ["weapon_railgunxm3"] = "Railgun", -- not translated - - -- Thrown - ["weapon_ball"] = "棒球", - ["weapon_bzgas"] = "毒气弹", - ["weapon_flare"] = "信号棒", - ["weapon_grenade"] = "手榴弹", - ["weapon_petrolcan"] = "汽油桶", - ["weapon_hazardcan"] = "有害汽油桶", - ["weapon_molotov"] = "汽油弹", - ["weapon_proxmine"] = "感应式地雷", - ["weapon_pipebomb"] = "土製炸彈", - ["weapon_snowball"] = "雪球", - ["weapon_stickybomb"] = "黏弹", - ["weapon_smokegrenade"] = "烟雾弹", - - -- Special - ["weapon_fireextinguisher"] = "灭火器", - ["weapon_digiscanner"] = "数位扫描仪", - ["weapon_garbagebag"] = "垃圾袋", - ["weapon_handcuffs"] = "手铐", - ["gadget_nightvision"] = "夜视仪", - ["gadget_parachute"] = "降落伞", - - -- Weapon Components - ["component_knuckle_base"] = "基本样式", - ["component_knuckle_pimp"] = "皮条客", - ["component_knuckle_ballas"] = "巴拉斯帮", - ["component_knuckle_dollar"] = "江湖骗子", - ["component_knuckle_diamond"] = "摇滚朋克", - ["component_knuckle_hate"] = "怨气冤家", - ["component_knuckle_love"] = "甜蜜情人", - ["component_knuckle_player"] = "花花公子", - ["component_knuckle_king"] = "霸者之风", - ["component_knuckle_vagos"] = "维戈斯帮", - - ["component_luxary_finish"] = "奢华涂饰", - - ["component_handle_default"] = "默认刀柄", - ["component_handle_vip"] = "贵宾样式", - ["component_handle_bodyguard"] = "保镖款式", - - ["component_vip_finish"] = "贵宾样式", - ["component_bodyguard_finish"] = "保镖款式", - - ["component_camo_finish"] = "数码迷彩", - ["component_camo_finish2"] = "笔刷迷彩", - ["component_camo_finish3"] = "林地迷彩", - ["component_camo_finish4"] = "骷髅头", - ["component_camo_finish5"] = "希斯提·耐", - ["component_camo_finish6"] = "神之子", - ["component_camo_finish7"] = "猎豹纹理", - ["component_camo_finish8"] = "斑马纹理", - ["component_camo_finish9"] = "几何图形", - ["component_camo_finish10"] = "BOOM!", - ["component_camo_finish11"] = "爱国者", - - ["component_camo_slide_finish"] = "数码迷涂装", - ["component_camo_slide_finish2"] = "笔刷迷彩涂装", - ["component_camo_slide_finish3"] = "林地迷彩涂装", - ["component_camo_slide_finish4"] = "骷髅头涂装", - ["component_camo_slide_finish5"] = "希斯提·耐涂装", - ["component_camo_slide_finish6"] = "神之子涂装", - ["component_camo_slide_finish7"] = "猎豹纹理涂装", - ["component_camo_slide_finish8"] = "斑马纹理涂装", - ["component_camo_slide_finish9"] = "几何图形涂装", - ["component_camo_slide_finish10"] = "BOOM涂装", - ["component_camo_slide_finish11"] = "爱国者涂装", - - ["component_clip_default"] = "默认弹夹", - ["component_clip_extended"] = "扩容弹夹", - ["component_clip_drum"] = "鼓式弹夹", - ["component_clip_box"] = "盒型弹匣", - - ["component_scope_holo"] = "全息式瞄准镜", - ["component_scope_small"] = "小型瞄准镜", - ["component_scope_medium"] = "中型瞄准镜", - ["component_scope_large"] = "大型瞄准镜", - ["component_scope"] = "瞄准镜", - ["component_scope_advanced"] = "高级瞄准镜", - ["component_ironsights"] = "铁式瞄具", - - ["component_suppressor"] = "消音器", - ["component_compensator"] = "补偿器", - - ["component_muzzle_flat"] = "扁型枪口制动器", - ["component_muzzle_tactical"] = "战术枪口制动器", - ["component_muzzle_fat"] = "宽尾型枪口制动器", - ["component_muzzle_precision"] = "精準枪口制动器", - ["component_muzzle_heavy"] = "耐用型枪口制动器", - ["component_muzzle_slanted"] = "倾斜型枪口制动器", - ["component_muzzle_split"] = "分岔型枪口制动器", - ["component_muzzle_squared"] = "方形枪口制动器", - - ["component_flashlight"] = "手电筒", - ["component_grip"] = "握把", - - ["component_barrel_default"] = "默认枪管", - ["component_barrel_heavy"] = "重型枪管", - - ["component_ammo_tracer"] = "曳光弹", - ["component_ammo_incendiary"] = "燃烧弹", - ["component_ammo_hollowpoint"] = "被甲空尖弹", - ["component_ammo_fmj"] = "全金属包裹弹", - ["component_ammo_armor"] = "穿甲弹", - ["component_ammo_explosive"] = "爆炸蛋弹", - - ["component_shells_default"] = "默认弹药", - ["component_shells_incendiary"] = "燃烧弹", - ["component_shells_armor"] = "钢式猎鹿蛋", - ["component_shells_hollowpoint"] = "被甲空尖弹", - ["component_shells_explosive"] = "爆裂弹", - - -- Weapon Ammo - ["ammo_rounds"] = "发(子弹)", - ["ammo_shells"] = "发(子弹)", - ["ammo_charge"] = "喷", - ["ammo_petrol"] = "加仑(燃料)", - ["ammo_firework"] = "发(烟花弹)", - ["ammo_rockets"] = "枚(火箭弹)", - ["ammo_grenadelauncher"] = "发(榴弹)", - ["ammo_grenade"] = "枚(手榴弹)", - ["ammo_stickybomb"] = "枚(炸弹)", - ["ammo_pipebomb"] = "枚(炸弹)", - ["ammo_smokebomb"] = "枚(炸彈)", - ["ammo_molotov"] = "瓶(燃烧瓶)", - ["ammo_proxmine"] = "个(地雷)", - ["ammo_bzgas"] = "罐", - ["ammo_ball"] = "个(棒球)", - ["ammo_snowball"] = "个(雪球)", - ["ammo_flare"] = "根(信号棒)", - ["ammo_flaregun"] = "发(信号弹)", - - -- Weapon Tints - ["tint_default"] = "默认色调", - ["tint_green"] = "绿色调", - ["tint_gold"] = "金色调", - ["tint_pink"] = "粉色调", - ["tint_army"] = "军用色调", - ["tint_lspd"] = "洛圣都警局色调", - ["tint_orange"] = "橙色调", - ["tint_platinum"] = "铂金色调", + -- Inventory + ["inventory"] = "背包 %s / %s", + ["use"] = "使用", + ["give"] = "给予", + ["remove"] = "赠送", + ["return"] = "返回", + ["give_to"] = "赠给", + ["amount"] = "数量", + ["giveammo"] = "赠送弹药", + ["amountammo"] = "弹药量", + ["noammo"] = "您没有足够的弹药!", + ["gave_item"] = "您将 %sx %s 赠送给 %s", + ["received_item"] = "您收到 %sx %s, 来自于 %s 的赠送", + ["gave_weapon"] = "您把 %s 赠送给 %s", + ["gave_weapon_ammo"] = "您把 ~o~%sx %s %s 赠送给 %s", + ["gave_weapon_withammo"] = "您把 %s 和 ~o~%sx %s 赠送给 %s", + ["gave_weapon_hasalready"] = "%s 已持有 %s", + ["gave_weapon_noweapon"] = "%s 暂无该类型武器", + ["received_weapon"] = "您收到了 %s, 来自于 %s 的赠送", + ["received_weapon_ammo"] = "您收到了 ~o~%sx %s (%s),来自于%s的赠送", + ["received_weapon_withammo"] = "您收到了 %s 和~o~%sx %s,来自于%s的赠送", + ["received_weapon_hasalready"] = "%s 试图给您 %s,但您已持有", + ["received_weapon_noweapon"] = "%s 试图给您 %s 发子弹,但是您沒有该类型武器", + ["gave_account_money"] = "您将 $%s (%s) 赠送给 %s", + ["received_account_money"] = "您收到了 $%s (%s) 来自 %s 的赠送", + ["amount_invalid"] = "无效数量", + ["players_nearby"] = "附近没有玩家", + ["ex_inv_lim"] = "操作失败, 超过 %s 背包物品的上限", + ["imp_invalid_quantity"] = "操作失败,无效数量输入", + ["imp_invalid_amount"] = "操作失败,无效金额输入", + ["threw_standard"] = "您丢弃了 %sx %s", + ["threw_account"] = "您丢弃了 $%s %s", + ["threw_weapon"] = "您丢弃了 %s", + ["threw_weapon_ammo"] = "您丢弃了 %s 和 ~o~%sx %s", + ["threw_weapon_already"] = "您已持有相同武器!", + ["threw_cannot_pickup"] = "背包容量已满, 无法持有更多该物品!", + ["threw_pickup_prompt"] = "键下 [E] 捡起", + + -- Key mapping + ["keymap_showinventory"] = "显示背包", + + -- Salary related + ["received_salary"] = "您收到了您的工资: $%s", + ["received_help"] = "您领取到了您的无业性低保: $%s", + ["company_nomoney"] = "您受雇的公司太穷了,无法清算您的工资.", + ["received_paycheck"] = "收到转账", + ["bank"] = "花园银行", + ["account_bank"] = "银行", + ["account_black_money"] = "赃款", + ["account_money"] = "现金", + + ["act_imp"] = "操作失败", + ["in_vehicle"] = "请离开当前载具", + ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle", + + -- Commands + ["command_bring"] = "传送玩家到您身边", + ["command_car"] = "生成载具", + ["command_car_car"] = "生成载具的模型名称或哈希值", + ["command_cardel"] = "删除附近载具", + ["command_cardel_radius"] = "可选,删除指定半径内的所有载具", + ["command_repair"] = "Repair your vehicle", + ["command_repair_success"] = "Successfully repaired vehicle", + ["command_repair_success_target"] = "An admin repaired your vehicle", + ["command_clear"] = "清除聊天记录", + ["command_clearall"] = "清除所有玩家的聊天记录", + ["command_clearinventory"] = "清除玩家库存", + ["command_clearloadout"] = "清除玩家武器栏", + ["command_freeze"] = "冻结玩家", + ["command_unfreeze"] = "解冻玩家", + ["command_giveaccountmoney"] = "给予任意账户资金", + ["command_giveaccountmoney_account"] = "有效的帐户类型", + ["command_giveaccountmoney_amount"] = "添加的金额数量", + ["command_giveaccountmoney_invalid"] = "无效的帐户类型", + ["command_giveitem"] = "给予玩家一件物品", + ["command_giveitem_item"] = "物品代码", + ["command_giveitem_count"] = "物品数目", + ["command_giveweapon"] = "给予玩家一把武器", + ["command_giveweapon_weapon"] = "武器代码", + ["command_giveweapon_ammo"] = "弹药数目", + ["command_giveweapon_hasalready"] = "该玩家已拥有该武器", + ["command_giveweaponcomponent"] = "给予武器改装件", + ["command_giveweaponcomponent_component"] = "改装件代码", + ["command_giveweaponcomponent_invalid"] = "无效的武器改装件", + ["command_giveweaponcomponent_hasalready"] = "玩家已拥有该武器改装件", + ["command_giveweaponcomponent_missingweapon"] = "该玩家暂无该类型改装件的武器", + ["command_goto"] = "传送至一名玩家身旁", + ["command_kill"] = "击杀一名玩家", + ["command_save"] = "保存玩家数据至数据库", + ["command_saveall"] = "保存所有玩家数据至数据库", + ["command_setaccountmoney"] = "设置玩家帐户内资金", + ["command_setaccountmoney_amount"] = "账户资金金额", + ["command_setcoords"] = "传送至XYZ坐标", + ["command_setcoords_x"] = "X 轴", + ["command_setcoords_y"] = "Y 轴", + ["command_setcoords_z"] = "Z 轴", + ["command_setjob"] = "配置该玩家职业", + ["command_setjob_job"] = "职业代码", + ["command_setjob_grade"] = "职业等级", + ["command_setjob_invalid"] = "职业代码、等级或输入数据无效!", + ["command_setgroup"] = "设置玩家用户组", + ["command_setgroup_group"] = "用户组代码", + ["commanderror_argumentmismatch"] = "参数计数不匹配 (该类型为 %s, 需要传输 %s)", + ["commanderror_argumentmismatch_number"] = "参数 #%s 类型不匹配 (该类型为字符串,需要传递数字类型)", + ["commanderror_argumentmismatch_string"] = "Invalid Argument #%s data type (passed number, wanted string)", + ["commanderror_invaliditem"] = "无效的物品代码", + ["commanderror_invalidweapon"] = "无效的武器代码", + ["commanderror_console"] = "控制台无法执行此命令!", + ["commanderror_invalidcommand"] = "/%s 不是有效的命令!", + ["commanderror_invalidplayerid"] = "无效的玩家服务器ID", + ["commandgeneric_playerid"] = "玩家服务器ID", + ["command_giveammo_noweapon_found"] = "%s 为无效的武器代码!", + ["command_giveammo_weapon"] = "武器代码", + ["command_giveammo_ammo"] = "弹药数量", + ["tpm_nowaypoint"] = "尚未配置导航点!", + ["tpm_success"] = "已传送至该导航点", + + ["noclip_message"] = "飞行模式已被激活 %s", + ["enabled"] = "~g~已开启~s~", + ["disabled"] = "~r~已关闭~s~", + + -- Locale settings + ["locale_digit_grouping_symbol"] = ",", + ["locale_currency"] = "$%s", + + -- Weapons + + -- Melee + ["weapon_dagger"] = "古骑兵匕首", + ["weapon_bat"] = "棒球棍", + ["weapon_battleaxe"] = "战斧", + ["weapon_bottle"] = "碎酒瓶", + ["weapon_crowbar"] = "撬棍", + ["weapon_flashlight"] = "手电筒", + ["weapon_golfclub"] = "高尔夫球杆", + ["weapon_hammer"] = "铁锤", + ["weapon_hatchet"] = "手斧", + ["weapon_knife"] = "小刀", + ["weapon_knuckle"] = "手指虎", + ["weapon_machete"] = "开山刀", + ["weapon_nightstick"] = "警棍", + ["weapon_wrench"] = "管钳扳手", + ["weapon_poolcue"] = "台球杆", + ["weapon_stone_hatchet"] = "石斧", + ["weapon_switchblade"] = "弹簧刀", + + -- Handguns + ["weapon_appistol"] = "穿甲手枪", + ["weapon_ceramicpistol"] = "陶瓷手枪", + ["weapon_combatpistol"] = "战斗手枪", + ["weapon_doubleaction"] = "双动式左轮手枪", + ["weapon_navyrevolver"] = "海军左轮手枪", + ["weapon_flaregun"] = "信号枪", + ["weapon_gadgetpistol"] = "佩里克手枪", + ["weapon_heavypistol"] = "重型手枪", + ["weapon_revolver"] = "重型左轮手枪", + ["weapon_revolver_mk2"] = "重型左轮手枪-MK2", + ["weapon_marksmanpistol"] = "射手手枪", + ["weapon_pistol"] = "手枪", + ["weapon_pistol_mk2"] = "手枪-MK2", + ["weapon_pistol50"] = "0.5-口径手枪", + ["weapon_snspistol"] = "劣质手枪", + ["weapon_snspistol_mk2"] = "劣质手枪-MK2", + ["weapon_stungun"] = "电击枪", + ["weapon_raypistol"] = "原子堡手枪", + ["weapon_vintagepistol"] = "老式手枪", + + -- Shotguns + ["weapon_assaultshotgun"] = "突击霰弹枪", + ["weapon_autoshotgun"] = "半自动霰弹枪", + ["weapon_bullpupshotgun"] = "无托式霰弹枪", + ["weapon_combatshotgun"] = "战斗霰弹枪", + ["weapon_dbshotgun"] = "双管霰弹枪", + ["weapon_heavyshotgun"] = "重型霰弹枪", + ["weapon_musket"] = "老式火枪", + ["weapon_pumpshotgun"] = "泵动式霰弹枪", + ["weapon_pumpshotgun_mk2"] = "泵动式霰弹枪-MK2", + ["weapon_sawnoffshotgun"] = "短管霰弹枪", + + -- SMG & LMG + ["weapon_assaultsmg"] = "突击冲锋枪", + ["weapon_combatmg"] = "战斗机枪", + ["weapon_combatmg_mk2"] = "战斗机枪-MK2", + ["weapon_combatpdw"] = "作战自卫冲锋枪", + ["weapon_gusenberg"] = "古森柏冲锋枪", + ["weapon_machinepistol"] = "冲锋手枪", + ["weapon_mg"] = "机枪", + ["weapon_microsmg"] = "微型冲锋枪", + ["weapon_minismg"] = "迷你冲锋枪", + ["weapon_smg"] = "冲锋枪", + ["weapon_smg_mk2"] = "冲锋枪-MK2", + ["weapon_raycarbine"] = "不洁使者", + + -- Rifles + ["weapon_advancedrifle"] = "高级步枪", + ["weapon_assaultrifle"] = "突击步枪", + ["weapon_assaultrifle_mk2"] = "突击步枪-MK2", + ["weapon_bullpuprifle"] = "无托式步枪", + ["weapon_bullpuprifle_mk2"] = "无托式步枪-MK2", + ["weapon_carbinerifle"] = "卡宾步枪", + ["weapon_carbinerifle_mk2"] = "卡宾步枪-MK2", + ["weapon_compactrifle"] = "紧凑型步枪", + ["weapon_militaryrifle"] = "军用步枪", + ["weapon_specialcarbine"] = "特制卡宾步枪", + ["weapon_specialcarbine_mk2"] = "特制卡宾步枪-MK2", + ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated + + -- Sniper + ["weapon_heavysniper"] = "重型狙击步枪", + ["weapon_heavysniper_mk2"] = "重型狙击步枪-MK2", + ["weapon_marksmanrifle"] = "射手步枪", + ["weapon_marksmanrifle_mk2"] = "射手步枪-MK2", + ["weapon_sniperrifle"] = "狙击步枪", + + -- Heavy / Launchers + ["weapon_compactlauncher"] = "紧凑型榴弹发射器", + ["weapon_firework"] = "烟花发射器", + ["weapon_grenadelauncher"] = "榴弹发射器", + ["weapon_hominglauncher"] = "制导火箭发射器", + ["weapon_minigun"] = "火神机枪", + ["weapon_railgun"] = "电磁轨道炮", + ["weapon_rpg"] = "火箭炮", + ["weapon_rayminigun"] = "寡妇制造者", + + -- Criminal Enterprises DLC + ["weapon_metaldetector"] = "金属探测器", + ["weapon_precisionrifle"] = "精确步枪", + ["weapon_tactilerifle"] = "制式卡宾步枪", + + -- Drug Wars DLC + ["weapon_candycane"] = "Candy Cane", -- not translated + ["weapon_acidpackage"] = "Acid Package", -- not translated + ["weapon_pistolxm3"] = "WM 29 Pistol", -- not translated + ["weapon_railgunxm3"] = "Railgun", -- not translated + + -- Thrown + ["weapon_ball"] = "棒球", + ["weapon_bzgas"] = "毒气弹", + ["weapon_flare"] = "信号棒", + ["weapon_grenade"] = "手榴弹", + ["weapon_petrolcan"] = "汽油桶", + ["weapon_hazardcan"] = "有害汽油桶", + ["weapon_molotov"] = "汽油弹", + ["weapon_proxmine"] = "感应式地雷", + ["weapon_pipebomb"] = "土製炸彈", + ["weapon_snowball"] = "雪球", + ["weapon_stickybomb"] = "黏弹", + ["weapon_smokegrenade"] = "烟雾弹", + + -- Special + ["weapon_fireextinguisher"] = "灭火器", + ["weapon_digiscanner"] = "数位扫描仪", + ["weapon_garbagebag"] = "垃圾袋", + ["weapon_handcuffs"] = "手铐", + ["gadget_nightvision"] = "夜视仪", + ["gadget_parachute"] = "降落伞", + + -- Weapon Components + ["component_knuckle_base"] = "基本样式", + ["component_knuckle_pimp"] = "皮条客", + ["component_knuckle_ballas"] = "巴拉斯帮", + ["component_knuckle_dollar"] = "江湖骗子", + ["component_knuckle_diamond"] = "摇滚朋克", + ["component_knuckle_hate"] = "怨气冤家", + ["component_knuckle_love"] = "甜蜜情人", + ["component_knuckle_player"] = "花花公子", + ["component_knuckle_king"] = "霸者之风", + ["component_knuckle_vagos"] = "维戈斯帮", + + ["component_luxary_finish"] = "奢华涂饰", + + ["component_handle_default"] = "默认刀柄", + ["component_handle_vip"] = "贵宾样式", + ["component_handle_bodyguard"] = "保镖款式", + + ["component_vip_finish"] = "贵宾样式", + ["component_bodyguard_finish"] = "保镖款式", + + ["component_camo_finish"] = "数码迷彩", + ["component_camo_finish2"] = "笔刷迷彩", + ["component_camo_finish3"] = "林地迷彩", + ["component_camo_finish4"] = "骷髅头", + ["component_camo_finish5"] = "希斯提·耐", + ["component_camo_finish6"] = "神之子", + ["component_camo_finish7"] = "猎豹纹理", + ["component_camo_finish8"] = "斑马纹理", + ["component_camo_finish9"] = "几何图形", + ["component_camo_finish10"] = "BOOM!", + ["component_camo_finish11"] = "爱国者", + + ["component_camo_slide_finish"] = "数码迷涂装", + ["component_camo_slide_finish2"] = "笔刷迷彩涂装", + ["component_camo_slide_finish3"] = "林地迷彩涂装", + ["component_camo_slide_finish4"] = "骷髅头涂装", + ["component_camo_slide_finish5"] = "希斯提·耐涂装", + ["component_camo_slide_finish6"] = "神之子涂装", + ["component_camo_slide_finish7"] = "猎豹纹理涂装", + ["component_camo_slide_finish8"] = "斑马纹理涂装", + ["component_camo_slide_finish9"] = "几何图形涂装", + ["component_camo_slide_finish10"] = "BOOM涂装", + ["component_camo_slide_finish11"] = "爱国者涂装", + + ["component_clip_default"] = "默认弹夹", + ["component_clip_extended"] = "扩容弹夹", + ["component_clip_drum"] = "鼓式弹夹", + ["component_clip_box"] = "盒型弹匣", + + ["component_scope_holo"] = "全息式瞄准镜", + ["component_scope_small"] = "小型瞄准镜", + ["component_scope_medium"] = "中型瞄准镜", + ["component_scope_large"] = "大型瞄准镜", + ["component_scope"] = "瞄准镜", + ["component_scope_advanced"] = "高级瞄准镜", + ["component_ironsights"] = "铁式瞄具", + + ["component_suppressor"] = "消音器", + ["component_compensator"] = "补偿器", + + ["component_muzzle_flat"] = "扁型枪口制动器", + ["component_muzzle_tactical"] = "战术枪口制动器", + ["component_muzzle_fat"] = "宽尾型枪口制动器", + ["component_muzzle_precision"] = "精準枪口制动器", + ["component_muzzle_heavy"] = "耐用型枪口制动器", + ["component_muzzle_slanted"] = "倾斜型枪口制动器", + ["component_muzzle_split"] = "分岔型枪口制动器", + ["component_muzzle_squared"] = "方形枪口制动器", + + ["component_flashlight"] = "手电筒", + ["component_grip"] = "握把", + + ["component_barrel_default"] = "默认枪管", + ["component_barrel_heavy"] = "重型枪管", + + ["component_ammo_tracer"] = "曳光弹", + ["component_ammo_incendiary"] = "燃烧弹", + ["component_ammo_hollowpoint"] = "被甲空尖弹", + ["component_ammo_fmj"] = "全金属包裹弹", + ["component_ammo_armor"] = "穿甲弹", + ["component_ammo_explosive"] = "爆炸蛋弹", + + ["component_shells_default"] = "默认弹药", + ["component_shells_incendiary"] = "燃烧弹", + ["component_shells_armor"] = "钢式猎鹿蛋", + ["component_shells_hollowpoint"] = "被甲空尖弹", + ["component_shells_explosive"] = "爆裂弹", + + -- Weapon Ammo + ["ammo_rounds"] = "发(子弹)", + ["ammo_shells"] = "发(子弹)", + ["ammo_charge"] = "喷", + ["ammo_petrol"] = "加仑(燃料)", + ["ammo_firework"] = "发(烟花弹)", + ["ammo_rockets"] = "枚(火箭弹)", + ["ammo_grenadelauncher"] = "发(榴弹)", + ["ammo_grenade"] = "枚(手榴弹)", + ["ammo_stickybomb"] = "枚(炸弹)", + ["ammo_pipebomb"] = "枚(炸弹)", + ["ammo_smokebomb"] = "枚(炸彈)", + ["ammo_molotov"] = "瓶(燃烧瓶)", + ["ammo_proxmine"] = "个(地雷)", + ["ammo_bzgas"] = "罐", + ["ammo_ball"] = "个(棒球)", + ["ammo_snowball"] = "个(雪球)", + ["ammo_flare"] = "根(信号棒)", + ["ammo_flaregun"] = "发(信号弹)", + + -- Weapon Tints + ["tint_default"] = "默认色调", + ["tint_green"] = "绿色调", + ["tint_gold"] = "金色调", + ["tint_pink"] = "粉色调", + ["tint_army"] = "军用色调", + ["tint_lspd"] = "洛圣都警局色调", + ["tint_orange"] = "橙色调", + ["tint_platinum"] = "铂金色调", } diff --git a/server-data/resources/[esx]/es_extended/readme.md b/server-data/resources/[esx]/es_extended/readme.md index 644f52199..385190e14 100644 --- a/server-data/resources/[esx]/es_extended/readme.md +++ b/server-data/resources/[esx]/es_extended/readme.md @@ -1,25 +1,23 @@ # es_extended - es_extended is an RPG framework for FiveM, equipped with many extra resources to suit RPG servers. # Link Utili - [BPT-DEVELOPMENT](bitpredator.github.io/bptdevelopment/) # Features - - Weight based inventory system - Weapon support, including support for accessories and tints - It supports different money accounts - It supports most languages # Requirements - - [oxmysql](https://github.com/overextended/oxmysql/releases) - [ox_inventory](https://github.com/overextended/ox_inventory) - [spawnmanager] -# Installation + +# Installation - Import `es_extended.sql` in your database - Configure your `server.cfg` @@ -32,8 +30,9 @@ add_ace resource.es_extended command.remove_principal allow add_ace resource.es_extended command.stop allow ``` -# Legal + +# Legal es_extended - ESX framework for FiveM Copyright (C) 2015-2024 Jérémie N'gadi - Rework by bitpredator \ No newline at end of file diff --git a/server-data/resources/[esx]/es_extended/server/classes/overrides/oxinventory.lua b/server-data/resources/[esx]/es_extended/server/classes/overrides/oxinventory.lua index f8920f3b3..b6e9b53a4 100644 --- a/server-data/resources/[esx]/es_extended/server/classes/overrides/oxinventory.lua +++ b/server-data/resources/[esx]/es_extended/server/classes/overrides/oxinventory.lua @@ -1,223 +1,223 @@ local Inventory if Config.OxInventory then - AddEventHandler("ox_inventory:loadInventory", function(module) - Inventory = module - end) + AddEventHandler("ox_inventory:loadInventory", function(module) + Inventory = module + end) end Core.PlayerFunctionOverrides.OxInventory = { - getInventory = function(self) - return function(minimal) - if minimal then - local minimalInventory = {} - - for k, v in pairs(self.inventory) do - if v.count and v.count > 0 then - local metadata = v.metadata - - if v.metadata and next(v.metadata) == nil then - metadata = nil - end - - minimalInventory[#minimalInventory + 1] = { - name = v.name, - count = v.count, - slot = k, - metadata = metadata, - } - end - end - - return minimalInventory - end - - return self.inventory - end - end, - - getLoadout = function() - return function() - return {} - end - end, - - setAccountMoney = function(self) - return function(accountName, money, reason) - reason = reason or "unknown" - if money >= 0 then - local account = self.getAccount(accountName) - - if account then - money = account.round and ESX.Math.Round(money) or money - self.accounts[account.index].money = money - - self.triggerEvent("esx:setAccountMoney", account) - TriggerEvent("esx:setAccountMoney", self.source, accountName, money, reason) - if Inventory.accounts[accountName] then - Inventory.SetItem(self.source, accountName, money) - end - end - end - end - end, - - addAccountMoney = function(self) - return function(accountName, money, reason) - reason = reason or "unknown" - if money > 0 then - local account = self.getAccount(accountName) - - if account then - money = account.round and ESX.Math.Round(money) or money - self.accounts[account.index].money = self.accounts[account.index].money + money - self.triggerEvent("esx:setAccountMoney", account) - TriggerEvent("esx:addAccountMoney", self.source, accountName, money, reason) - if Inventory.accounts[accountName] then - Inventory.AddItem(self.source, accountName, money) - end - end - end - end - end, - - removeAccountMoney = function(self) - return function(accountName, money, reason) - reason = reason or "unknown" - if money > 0 then - local account = self.getAccount(accountName) - - if account then - money = account.round and ESX.Math.Round(money) or money - self.accounts[account.index].money = self.accounts[account.index].money - money - self.triggerEvent("esx:setAccountMoney", account) - TriggerEvent("esx:removeAccountMoney", self.source, accountName, money, reason) - if Inventory.accounts[accountName] then - Inventory.RemoveItem(self.source, accountName, money) - end - end - end - end - end, - - getInventoryItem = function(self) - return function(name, metadata) - return Inventory.GetItem(self.source, name, metadata) - end - end, - - addInventoryItem = function(self) - return function(name, count, metadata, slot) - return Inventory.AddItem(self.source, name, count or 1, metadata, slot) - end - end, - - removeInventoryItem = function(self) - return function(name, count, metadata, slot) - return Inventory.RemoveItem(self.source, name, count or 1, metadata, slot) - end - end, - - setInventoryItem = function(self) - return function(name, count, metadata) - return Inventory.SetItem(self.source, name, count, metadata) - end - end, - - canCarryItem = function(self) - return function(name, count, metadata) - return Inventory.CanCarryItem(self.source, name, count, metadata) - end - end, - - canSwapItem = function(self) - return function(firstItem, firstItemCount, testItem, testItemCount) - return Inventory.CanSwapItem(self.source, firstItem, firstItemCount, testItem, testItemCount) - end - end, - - setMaxWeight = function(self) - return function(newWeight) - self.maxWeight = newWeight - self.triggerEvent("esx:setMaxWeight", self.maxWeight) - return Inventory.Set(self.source, "maxWeight", newWeight) - end - end, - - addWeapon = function() - return function() end - end, - - addWeaponComponent = function() - return function() end - end, - - addWeaponAmmo = function() - return function() end - end, - - updateWeaponAmmo = function() - return function() end - end, - - setWeaponTint = function() - return function() end - end, - - getWeaponTint = function() - return function() end - end, - - removeWeapon = function() - return function() end - end, - - removeWeaponComponent = function() - return function() end - end, - - removeWeaponAmmo = function() - return function() end - end, - - hasWeaponComponent = function() - return function() - return false - end - end, - - hasWeapon = function() - return function() - return false - end - end, - - hasItem = function(self) - return function(name, metadata) - return Inventory.GetItem(self.source, name, metadata) - end - end, - - getWeapon = function() - return function() end - end, - - syncInventory = function(self) - return function(weight, maxWeight, items, money) - self.weight, self.maxWeight = weight, maxWeight - self.inventory = items - - if money then - for accountName, amount in pairs(money) do - local account = self.getAccount(accountName) - - if account and ESX.Math.Round(account.money) ~= amount then - account.money = amount - self.triggerEvent("esx:setAccountMoney", account) - TriggerEvent("esx:setAccountMoney", self.source, accountName, amount, "Sync account with item") - end - end - end - end - end, + getInventory = function(self) + return function(minimal) + if minimal then + local minimalInventory = {} + + for k, v in pairs(self.inventory) do + if v.count and v.count > 0 then + local metadata = v.metadata + + if v.metadata and next(v.metadata) == nil then + metadata = nil + end + + minimalInventory[#minimalInventory + 1] = { + name = v.name, + count = v.count, + slot = k, + metadata = metadata, + } + end + end + + return minimalInventory + end + + return self.inventory + end + end, + + getLoadout = function() + return function() + return {} + end + end, + + setAccountMoney = function(self) + return function(accountName, money, reason) + reason = reason or "unknown" + if money >= 0 then + local account = self.getAccount(accountName) + + if account then + money = account.round and ESX.Math.Round(money) or money + self.accounts[account.index].money = money + + self.triggerEvent("esx:setAccountMoney", account) + TriggerEvent("esx:setAccountMoney", self.source, accountName, money, reason) + if Inventory.accounts[accountName] then + Inventory.SetItem(self.source, accountName, money) + end + end + end + end + end, + + addAccountMoney = function(self) + return function(accountName, money, reason) + reason = reason or "unknown" + if money > 0 then + local account = self.getAccount(accountName) + + if account then + money = account.round and ESX.Math.Round(money) or money + self.accounts[account.index].money = self.accounts[account.index].money + money + self.triggerEvent("esx:setAccountMoney", account) + TriggerEvent("esx:addAccountMoney", self.source, accountName, money, reason) + if Inventory.accounts[accountName] then + Inventory.AddItem(self.source, accountName, money) + end + end + end + end + end, + + removeAccountMoney = function(self) + return function(accountName, money, reason) + reason = reason or "unknown" + if money > 0 then + local account = self.getAccount(accountName) + + if account then + money = account.round and ESX.Math.Round(money) or money + self.accounts[account.index].money = self.accounts[account.index].money - money + self.triggerEvent("esx:setAccountMoney", account) + TriggerEvent("esx:removeAccountMoney", self.source, accountName, money, reason) + if Inventory.accounts[accountName] then + Inventory.RemoveItem(self.source, accountName, money) + end + end + end + end + end, + + getInventoryItem = function(self) + return function(name, metadata) + return Inventory.GetItem(self.source, name, metadata) + end + end, + + addInventoryItem = function(self) + return function(name, count, metadata, slot) + return Inventory.AddItem(self.source, name, count or 1, metadata, slot) + end + end, + + removeInventoryItem = function(self) + return function(name, count, metadata, slot) + return Inventory.RemoveItem(self.source, name, count or 1, metadata, slot) + end + end, + + setInventoryItem = function(self) + return function(name, count, metadata) + return Inventory.SetItem(self.source, name, count, metadata) + end + end, + + canCarryItem = function(self) + return function(name, count, metadata) + return Inventory.CanCarryItem(self.source, name, count, metadata) + end + end, + + canSwapItem = function(self) + return function(firstItem, firstItemCount, testItem, testItemCount) + return Inventory.CanSwapItem(self.source, firstItem, firstItemCount, testItem, testItemCount) + end + end, + + setMaxWeight = function(self) + return function(newWeight) + self.maxWeight = newWeight + self.triggerEvent("esx:setMaxWeight", self.maxWeight) + return Inventory.Set(self.source, "maxWeight", newWeight) + end + end, + + addWeapon = function() + return function() end + end, + + addWeaponComponent = function() + return function() end + end, + + addWeaponAmmo = function() + return function() end + end, + + updateWeaponAmmo = function() + return function() end + end, + + setWeaponTint = function() + return function() end + end, + + getWeaponTint = function() + return function() end + end, + + removeWeapon = function() + return function() end + end, + + removeWeaponComponent = function() + return function() end + end, + + removeWeaponAmmo = function() + return function() end + end, + + hasWeaponComponent = function() + return function() + return false + end + end, + + hasWeapon = function() + return function() + return false + end + end, + + hasItem = function(self) + return function(name, metadata) + return Inventory.GetItem(self.source, name, metadata) + end + end, + + getWeapon = function() + return function() end + end, + + syncInventory = function(self) + return function(weight, maxWeight, items, money) + self.weight, self.maxWeight = weight, maxWeight + self.inventory = items + + if money then + for accountName, amount in pairs(money) do + local account = self.getAccount(accountName) + + if account and ESX.Math.Round(account.money) ~= amount then + account.money = amount + self.triggerEvent("esx:setAccountMoney", account) + TriggerEvent("esx:setAccountMoney", self.source, accountName, amount, "Sync account with item") + end + end + end + end + end, } diff --git a/server-data/resources/[esx]/es_extended/server/classes/player.lua b/server-data/resources/[esx]/es_extended/server/classes/player.lua index aed703347..ad3fd030b 100644 --- a/server-data/resources/[esx]/es_extended/server/classes/player.lua +++ b/server-data/resources/[esx]/es_extended/server/classes/player.lua @@ -22,980 +22,845 @@ local _assert = assert ---@param name string ---@param coords table | vector4 ---@param metadata table -function CreateExtendedPlayer( - playerId, - identifier, - group, - accounts, - inventory, - weight, - job, - loadout, - name, - coords, - metadata -) - local targetOverrides = Config.PlayerFunctionOverride - and Core.PlayerFunctionOverrides[Config.PlayerFunctionOverride] - or {} - - local self = {} - - self.accounts = accounts - self.coords = coords - self.group = group - self.identifier = identifier - self.inventory = inventory - self.job = job - self.loadout = loadout - self.name = name - self.playerId = playerId - self.source = playerId - self.variables = {} - self.weight = weight - self.maxWeight = Config.MaxWeight - self.metadata = metadata - self.admin = Core.IsPlayerAdmin(playerId) - if Config.Multichar then - self.license = "license" .. identifier:sub(identifier:find(":"), identifier:len()) - else - self.license = "license:" .. identifier - end - - _ExecuteCommand(("add_principal identifier.%s group.%s"):format(self.license, self.group)) - - local stateBag = Player(self.source).state - stateBag:set("identifier", self.identifier, true) - stateBag:set("license", self.license, true) - stateBag:set("job", self.job, true) - stateBag:set("group", self.group, true) - stateBag:set("name", self.name, true) - stateBag:set("metadata", self.metadata, true) - - ---@param eventName string - ---@param ... any - ---@return void - function self.triggerEvent(eventName, ...) - _assert(type(eventName) == "string", "eventName should be string!") - _TriggerClientEvent(eventName, self.source, ...) - end - - ---@param coordinates vector4 | vector3 | table - ---@return void - function self.setCoords(coordinates) - local ped = _GetPlayerPed(self.source) - local vector = type(coordinates) == "vector4" and coordinates - or type(coordinates) == "vector3" and vector4(coordinates, 0.0) - or vec(coordinates.x, coordinates.y, coordinates.z, coordinates.heading or 0.0) - _SetEntityCoords(ped, vector.xyz, false, false, false, false) - _SetEntityHeading(ped, vector.w) - end - - ---@param vector boolean - ---@return vector3 | table - function self.getCoords(vector) - local ped = _GetPlayerPed(self.source) - local coordinates = _GetEntityCoords(ped) - - return vector and coordinates or { x = coordinates.x, y = coordinates.y, z = coordinates.z } - end - - ---@param reason string - ---@return void - function self.kick(reason) - _DropPlayer(self.source, reason) - end - - ---@param money number - ---@return void - function self.setMoney(money) - _assert(type(money) == "number", "money should be number!") - money = ESX.Math.Round(money) - self.setAccountMoney("money", money) - end - - ---@return number - function self.getMoney() - return self.getAccount("money").money - end - - ---@param money number - ---@param reason string - ---@return void - function self.addMoney(money, reason) - money = ESX.Math.Round(money) - self.addAccountMoney("money", money, reason) - end - - ---@param money number - ---@param reason string - ---@return void - function self.removeMoney(money, reason) - money = ESX.Math.Round(money) - self.removeAccountMoney("money", money, reason) - end - - ---@return string - function self.getIdentifier() - return self.identifier - end - - ---@param newGroup string - ---@return void - function self.setGroup(newGroup) - _ExecuteCommand(("remove_principal identifier.%s group.%s"):format(self.license, self.group)) - self.group = newGroup - Player(self.source).state:set("group", self.group, true) - _ExecuteCommand(("add_principal identifier.%s group.%s"):format(self.license, self.group)) - end - - ---@return string - function self.getGroup() - return self.group - end - - ---@param k string - ---@param v any - ---@return void - function self.set(k, v) - self.variables[k] = v - Player(self.source).state:set(k, v, true) - end - - ---@param k string - ---@return any - function self.get(k) - return self.variables[k] - end - - ---@param minimal boolean - ---@return table - function self.getAccounts(minimal) - if not minimal then - return self.accounts - end - - local minimalAccounts = {} - - for i = 1, #self.accounts do - minimalAccounts[self.accounts[i].name] = self.accounts[i].money - end - - return minimalAccounts - end - - ---@param account string - ---@return table | nil - function self.getAccount(account) - for i = 1, #self.accounts do - if self.accounts[i].name == account then - return self.accounts[i] - end - end - return nil - end - - ---@param minimal boolean - ---@return table - function self.getInventory(minimal) - if minimal then - local minimalInventory = {} - - for _, v in ipairs(self.inventory) do - if v.count > 0 then - minimalInventory[v.name] = v.count - end - end - - return minimalInventory - end - - return self.inventory - end - - ---@return table - function self.getJob() - return self.job - end - - ---@param minimal boolean - ---@return table - function self.getLoadout(minimal) - if not minimal then - return self.loadout - end - local minimalLoadout = {} - - for _, v in ipairs(self.loadout) do - minimalLoadout[v.name] = { ammo = v.ammo } - if v.tintIndex > 0 then - minimalLoadout[v.name].tintIndex = v.tintIndex - end - - if #v.components > 0 then - local components = {} - - for _, component in ipairs(v.components) do - if component ~= "clip_default" then - components[#components + 1] = component - end - end - - if #components > 0 then - minimalLoadout[v.name].components = components - end - end - end - - return minimalLoadout - end - - ---@return string - function self.getName() - return self.name - end - - ---@param newName string - ---@return void - function self.setName(newName) - self.name = newName - Player(self.source).state:set("name", self.name, true) - end - - ---@param accountName string - ---@param money number - ---@param reason string - ---@return void - function self.setAccountMoney(accountName, money, reason) - reason = reason or "unknown" - if not tonumber(money) then - print( - ("[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7"):format( - accountName, - self.playerId, - money - ) - ) - return - end - if money >= 0 then - local account = self.getAccount(accountName) - - if account then - money = account.round and ESX.Math.Round(money) or money - self.accounts[account.index].money = money - - self.triggerEvent("esx:setAccountMoney", account) - _TriggerEvent("esx:setAccountMoney", self.source, accountName, money, reason) - else - print( - ("[^1ERROR^7] Tried To Set Invalid Account ^5%s^0 For Player ^5%s^0!"):format( - accountName, - self.playerId - ) - ) - end - else - print( - ("[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7"):format( - accountName, - self.playerId, - money - ) - ) - end - end - - ---@param accountName string - ---@param money number - ---@param reason string - ---@return void - function self.addAccountMoney(accountName, money, reason) - reason = reason or "Unknown" - if not tonumber(money) then - print( - ("[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7"):format( - accountName, - self.playerId, - money - ) - ) - return - end - if money > 0 then - local account = self.getAccount(accountName) - if account then - money = account.round and ESX.Math.Round(money) or money - self.accounts[account.index].money = self.accounts[account.index].money + money - - self.triggerEvent("esx:setAccountMoney", account) - _TriggerEvent("esx:addAccountMoney", self.source, accountName, money, reason) - else - print( - ("[^1ERROR^7] Tried To Set Add To Invalid Account ^5%s^0 For Player ^5%s^0!"):format( - accountName, - self.playerId - ) - ) - end - else - print( - ("[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7"):format( - accountName, - self.playerId, - money - ) - ) - end - end - - ---@param accountName string - ---@param money number - ---@param reason string - ---@return void - function self.removeAccountMoney(accountName, money, reason) - reason = reason or "Unknown" - if not tonumber(money) then - print( - ("[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7"):format( - accountName, - self.playerId, - money - ) - ) - return - end - if money > 0 then - local account = self.getAccount(accountName) - - if account then - money = account.round and ESX.Math.Round(money) or money - if self.accounts[account.index].money - money > self.accounts[account.index].money then - print( - ("[^1ERROR^7] Tried To Underflow Account ^5%s^0 For Player ^5%s^0!"):format( - accountName, - self.playerId - ) - ) - return - end - self.accounts[account.index].money = self.accounts[account.index].money - money - - self.triggerEvent("esx:setAccountMoney", account) - _TriggerEvent("esx:removeAccountMoney", self.source, accountName, money, reason) - else - print( - ("[^1ERROR^7] Tried To Set Add To Invalid Account ^5%s^0 For Player ^5%s^0!"):format( - accountName, - self.playerId - ) - ) - end - else - print( - ("[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7"):format( - accountName, - self.playerId, - money - ) - ) - end - end - - ---@param itemName string - ---@return table | nil - function self.getInventoryItem(itemName) - for _, v in ipairs(self.inventory) do - if v.name == itemName then - return v - end - end - return nil - end - - ---@param itemName string - ---@param count number - ---@return void - function self.addInventoryItem(itemName, count) - local item = self.getInventoryItem(itemName) - - if item then - count = ESX.Math.Round(count) - item.count = item.count + count - self.weight = self.weight + (item.weight * count) - - _TriggerEvent("esx:onAddInventoryItem", self.source, item.name, item.count) - self.triggerEvent("esx:addInventoryItem", item.name, item.count) - end - end - - ---@param itemName string - ---@param count number - ---@return void - function self.removeInventoryItem(itemName, count) - local item = self.getInventoryItem(itemName) - - if item then - count = ESX.Math.Round(count) - if count > 0 then - local newCount = item.count - count - - if newCount >= 0 then - item.count = newCount - self.weight = self.weight - (item.weight * count) - - _TriggerEvent("esx:onRemoveInventoryItem", self.source, item.name, item.count) - self.triggerEvent("esx:removeInventoryItem", item.name, item.count) - end - else - print( - ("[^1ERROR^7] Player ID:^5%s Tried remove a Invalid count -> %s of %s"):format( - self.playerId, - count, - itemName - ) - ) - end - end - end - - ---@param itemName string - ---@param count number - ---@return void - function self.setInventoryItem(itemName, count) - local item = self.getInventoryItem(itemName) - - if item and count >= 0 then - count = ESX.Math.Round(count) - - if count > item.count then - self.addInventoryItem(item.name, count - item.count) - else - self.removeInventoryItem(item.name, item.count - count) - end - end - end - - ---@return number - function self.getWeight() - return self.weight - end - - ---@return number - function self.getMaxWeight() - return self.maxWeight - end - - ---@param itemName string - ---@param count number - ---@return boolean - function self.canCarryItem(itemName, count) - if ESX.Items[itemName] then - local currentWeight, itemWeight = self.weight, ESX.Items[itemName].weight - local newWeight = currentWeight + (itemWeight * count) - - return newWeight <= self.maxWeight - else - print(('[^3WARNING^7] Item ^5"%s"^7 was used but does not exist!'):format(itemName)) - end - end - - ---@param firstItem string - ---@param firstItemCount number - ---@param testItem string - ---@param testItemCount number - ---@return boolean - function self.canSwapItem(firstItem, firstItemCount, testItem, testItemCount) - local firstItemObject = self.getInventoryItem(firstItem) - local testItemObject = self.getInventoryItem(testItem) - - if firstItemObject.count >= firstItemCount then - local weightWithoutFirstItem = ESX.Math.Round(self.weight - (firstItemObject.weight * firstItemCount)) - local weightWithTestItem = ESX.Math.Round(weightWithoutFirstItem + (testItemObject.weight * testItemCount)) - - return weightWithTestItem <= self.maxWeight - end - - return false - end - - ---@param newWeight number - ---@return void - function self.setMaxWeight(newWeight) - self.maxWeight = newWeight - self.triggerEvent("esx:setMaxWeight", self.maxWeight) - end - - ---@param newJob string - ---@param grade string - ---@return void - function self.setJob(newJob, grade) - grade = tostring(grade) - local lastJob = self.job - - if not ESX.DoesJobExist(newJob, grade) then - return print( - ("[es_extended] [^3WARNING^7] Ignoring invalid ^5.setJob()^7 usage for ID: ^5%s^7, Job: ^5%s^7"):format( - self.source, - job - ) - ) - end - - local jobObject, gradeObject = ESX.Jobs[newJob], ESX.Jobs[newJob].grades[grade] - - self.job = { - id = jobObject.id, - name = jobObject.name, - label = jobObject.label, - - grade = tonumber(grade), - grade_name = gradeObject.name, - grade_label = gradeObject.label, - grade_salary = gradeObject.salary, - - skin_male = gradeObject.skin_male and json.decode(gradeObject.skin_male) or {}, - skin_female = gradeObject.skin_female and json.decode(gradeObject.skin_female) or {}, - } - - TriggerEvent("esx:setJob", self.source, self.job, lastJob) - self.triggerEvent("esx:setJob", self.job, lastJob) - Player(self.source).state:set("job", self.job, true) - end - - ---@param weaponName string - ---@param ammo number - ---@return void - function self.addWeapon(weaponName, ammo) - if not self.hasWeapon(weaponName) then - local weaponLabel = ESX.GetWeaponLabel(weaponName) - - table.insert(self.loadout, { - name = weaponName, - ammo = ammo, - label = weaponLabel, - components = {}, - tintIndex = 0, - }) - - _GiveWeaponToPed(_GetPlayerPed(self.source), joaat(weaponName), ammo, false, false) - self.triggerEvent("esx:addInventoryItem", weaponLabel, false, true) - end - end - - ---@param weaponName string - ---@param weaponComponent string - ---@return void - function self.addWeaponComponent(weaponName, weaponComponent) - local loadoutNum , weapon = self.getWeapon(weaponName) - - if weapon then - local component = ESX.GetWeaponComponent(weaponName, weaponComponent) - - if component then - if not self.hasWeaponComponent(weaponName, weaponComponent) then - self.loadout[loadoutNum].components[#self.loadout[loadoutNum].components + 1] = weaponComponent - local componentHash = ESX.GetWeaponComponent(weaponName, weaponComponent).hash - GiveWeaponComponentToPed(GetPlayerPed(self.source), joaat(weaponName), componentHash) - self.triggerEvent("esx:addInventoryItem", component.label, false, true) - end - end - end - end - - ---@param weaponName string - ---@param ammoCount number - ---@return void - function self.addWeaponAmmo(weaponName, ammoCount) - local _, weapon = self.getWeapon(weaponName) - - if weapon then - weapon.ammo = weapon.ammo + ammoCount - _SetPedAmmo(GetPlayerPed(self.source), joaat(weaponName), weapon.ammo) - end - end - - ---@param weaponName string - ---@param ammoCount number - ---@return void - function self.updateWeaponAmmo(weaponName, ammoCount) - local _, weapon = self.getWeapon(weaponName) - - if weapon then - weapon.ammo = ammoCount - end - end - - ---@param weaponName string - ---@param weaponTintIndex number - ---@return void - function self.setWeaponTint(weaponName, weaponTintIndex) - local loadoutNum , weapon = self.getWeapon(weaponName) - - if weapon then - local _, weaponObject = ESX.GetWeapon(weaponName) - - if weaponObject.tints and weaponObject.tints[weaponTintIndex] then - self.loadout[loadoutNum].tintIndex = weaponTintIndex - self.triggerEvent("esx:setWeaponTint", weaponName, weaponTintIndex) - self.triggerEvent("esx:addInventoryItem", weaponObject.tints[weaponTintIndex], false, true) - end - end - end - - ---@param weaponName string - ---@return number - function self.getWeaponTint(weaponName) - local _, weapon = self.getWeapon(weaponName) - - if weapon then - return weapon.tintIndex - end - - return 0 - end - - ---@param weaponName string - ---@return void - function self.removeWeapon(weaponName) - local weaponLabel, playerPed = nil, _GetPlayerPed(self.source) - - if not playerPed then - return print("[^1ERROR^7] xPlayer.removeWeapon ^5invalid^7 player ped!") - end - - for k, v in ipairs(self.loadout) do - if v.name == weaponName then - weaponLabel = v.label - - for _, v2 in ipairs(v.components) do - self.removeWeaponComponent(weaponName, v2) - end - - local weaponHash = joaat(v.name) - _RemoveWeaponFromPed(playerPed, weaponHash) - _SetPedAmmo(playerPed, weaponHash, 0) - - table.remove(self.loadout, k) - break - end - end - - if weaponLabel then - self.triggerEvent("esx:removeInventoryItem", weaponLabel, false, true) - end - end - - ---@param weaponName string - ---@param weaponComponent string - ---@return void - function self.removeWeaponComponent(weaponName, weaponComponent) - local loadoutNum , weapon = self.getWeapon(weaponName) - - if weapon then - ---@type table - local component = ESX.GetWeaponComponent(weaponName, weaponComponent) - - if component then - if self.hasWeaponComponent(weaponName, weaponComponent) then - for k, v in ipairs(self.loadout[loadoutNum].components) do - if v == weaponComponent then - table.remove(self.loadout[loadoutNum].components, k) - break - end - end - - self.triggerEvent("esx:removeWeaponComponent", weaponName, weaponComponent) - self.triggerEvent("esx:removeInventoryItem", component.label, false, true) - end - end - end - end - - ---@param weaponName string - ---@param ammoCount number - ---@return void - function self.removeWeaponAmmo(weaponName, ammoCount) - local _, weapon = self.getWeapon(weaponName) - - if weapon then - weapon.ammo = weapon.ammo - ammoCount - _SetPedAmmo(GetPlayerPed(self.source), joaat(weaponName), weapon.ammo) - end - end - - ---@param weaponName string - ---@param weaponComponent string - ---@return boolean - function self.hasWeaponComponent(weaponName, weaponComponent) - local _, weapon = self.getWeapon(weaponName) - - if weapon then - for _, v in ipairs(weapon.components) do - if v == weaponComponent then - return true - end - end - - return false - end - - return false - end - - ---@param weaponName string - ---@return boolean - function self.hasWeapon(weaponName) - for _, v in ipairs(self.loadout) do - if v.name == weaponName then - return true - end - end - - return false - end - - ---@param item string - ---@return table, number | false - function self.hasItem(item) - for _, v in ipairs(self.inventory) do - if v.name == item and v.count >= 1 then - return v, v.count - end - end - - return false - end - - ---@param weaponName string - ---@return number, table | nil - function self.getWeapon(weaponName) - for k, v in ipairs(self.loadout) do - if v.name == weaponName then - return k, v - end - end - - return nil - end - - ---@param msg string - ---@param type string - ---@param length number - ---@return void - function self.showNotification(msg, notifyType, length) - self.triggerEvent("esx:showNotification", msg, notifyType, length) - end - - ---@param sender string - ---@param subject string - ---@param msg string - ---@param textureDict string - ---@param iconType string - ---@param flash boolean - ---@param saveToBrief boolean - ---@param hudColorIndex number - ---@return void - function self.showAdvancedNotification( - sender, - subject, - msg, - textureDict, - iconType, - flash, - saveToBrief, - hudColorIndex - ) - self.triggerEvent( - "esx:showAdvancedNotification", - sender, - subject, - msg, - textureDict, - iconType, - flash, - saveToBrief, - hudColorIndex - ) - end - - ---@param msg string - ---@param thisFrame boolean - ---@param beep boolean - ---@param duration number - ---@return void - function self.showHelpNotification(msg, thisFrame, beep, duration) - self.triggerEvent("esx:showHelpNotification", msg, thisFrame, beep, duration) - end - - ---@param index any - ---@param subIndex any - ---@return table - function self.getMeta(index, subIndex) - if not index then - return self.metadata - end - - if type(index) ~= "string" then - return print("[^1ERROR^7] xPlayer.getMeta ^5index^7 should be ^5string^7!") - end - - local metaData = self.metadata[index] - if metaData == nil then - return Config.EnableDebug and print(("[^1ERROR^7] xPlayer.getMeta ^5%s^7 not exist!"):format(index)) or nil - end - - if subIndex and type(metaData) == "table" then - local _type = type(subIndex) - - if _type == "string" then - local value = metaData[subIndex] - return value - end - - if _type == "table" then - local returnValues = {} - - for i = 1, #subIndex do - local key = subIndex[i] - if type(key) == "string" then - returnValues[key] = self.getMeta(index, key) - else - print( - ("[^1ERROR^7] xPlayer.getMeta subIndex should be ^5string^7 or ^5table^7! that contains ^5string^7, received ^5%s^7!, skipping..."):format( - type(key) - ) - ) - end - end - - return returnValues - end - - return print( - ("[^1ERROR^7] xPlayer.getMeta subIndex should be ^5string^7 or ^5table^7!, received ^5%s^7!"):format( - _type - ) - ) - end - - return metaData - end - - ---@param index any - ---@param value any - ---@param subValue any - ---@return void - function self.setMeta(index, value, subValue) - if not index then - return print("[^1ERROR^7] xPlayer.setMeta ^5index^7 is Missing!") - end - - if type(index) ~= "string" then - return print("[^1ERROR^7] xPlayer.setMeta ^5index^7 should be ^5string^7!") - end - - if value == nil then - return print("[^1ERROR^7] xPlayer.setMeta value is missing!") - end - - local _type = type(value) - - if not subValue then - if _type ~= "number" and _type ~= "string" and _type ~= "table" then - return print( - ("[^1ERROR^7] xPlayer.setMeta ^5%s^7 should be ^5number^7 or ^5string^7 or ^5table^7!"):format( - value - ) - ) - end - - self.metadata[index] = value - else - if _type ~= "string" then - return print( - ("[^1ERROR^7] xPlayer.setMeta ^5value^7 should be ^5string^7 as a subIndex!"):format(value) - ) - end - - if not self.metadata[index] or type(self.metadata[index]) ~= "table" then - self.metadata[index] = {} - end - - self.metadata[index] = type(self.metadata[index]) == "table" and self.metadata[index] or {} - self.metadata[index][value] = subValue - end - - Player(self.source).state:set("metadata", self.metadata, true) - end - - function self.clearMeta(index, subValues) - if not index then - return print("[^1ERROR^7] xPlayer.clearMeta ^5index^7 is Missing!") - end - - if type(index) ~= "string" then - return print("[^1ERROR^7] xPlayer.clearMeta ^5index^7 should be ^5string^7!") - end - - local metaData = self.metadata[index] - if metaData == nil then - return Config.EnableDebug and print(("[^1ERROR^7] xPlayer.clearMeta ^5%s^7 does not exist!"):format(index)) - or nil - end - - if not subValues then - -- If no subValues is provided, we will clear the entire value in the metaData table - self.metadata[index] = nil - elseif type(subValues) == "string" then - -- If subValues is a string, we will clear the specific subValue within the table - if type(metaData) == "table" then - metaData[subValues] = nil - else - return print( - ("[^1ERROR^7] xPlayer.clearMeta ^5%s^7 is not a table! Cannot clear subValue ^5%s^7."):format( - index, - subValues - ) - ) - end - elseif type(subValues) == "table" then - -- If subValues is a table, we will clear multiple subValues within the table - for i = 1, #subValues do - local subValue = subValues[i] - if type(subValue) == "string" then - if type(metaData) == "table" then - metaData[subValue] = nil - else - print( - ("[^1ERROR^7] xPlayer.clearMeta ^5%s^7 is not a table! Cannot clear subValue ^5%s^7."):format( - index, - subValue - ) - ) - end - else - print( - ("[^1ERROR^7] xPlayer.clearMeta subValues should contain ^5string^7, received ^5%s^7, skipping..."):format( - type(subValue) - ) - ) - end - end - else - return print( - ("[^1ERROR^7] xPlayer.clearMeta ^5subValues^7 should be ^5string^7 or ^5table^7, received ^5%s^7!"):format( - type(subValues) - ) - ) - end - - Player(self.source).state:set("metadata", self.metadata, true) - end - - for fnName, fn in pairs(targetOverrides) do - self[fnName] = fn(self) - end - - return self +function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, weight, job, loadout, name, coords, metadata) + local targetOverrides = Config.PlayerFunctionOverride and Core.PlayerFunctionOverrides[Config.PlayerFunctionOverride] or {} + + local self = {} + + self.accounts = accounts + self.coords = coords + self.group = group + self.identifier = identifier + self.inventory = inventory + self.job = job + self.loadout = loadout + self.name = name + self.playerId = playerId + self.source = playerId + self.variables = {} + self.weight = weight + self.maxWeight = Config.MaxWeight + self.metadata = metadata + self.admin = Core.IsPlayerAdmin(playerId) + if Config.Multichar then + self.license = "license" .. identifier:sub(identifier:find(":"), identifier:len()) + else + self.license = "license:" .. identifier + end + + _ExecuteCommand(("add_principal identifier.%s group.%s"):format(self.license, self.group)) + + local stateBag = Player(self.source).state + stateBag:set("identifier", self.identifier, true) + stateBag:set("license", self.license, true) + stateBag:set("job", self.job, true) + stateBag:set("group", self.group, true) + stateBag:set("name", self.name, true) + stateBag:set("metadata", self.metadata, true) + + ---@param eventName string + ---@param ... any + ---@return void + function self.triggerEvent(eventName, ...) + _assert(type(eventName) == "string", "eventName should be string!") + _TriggerClientEvent(eventName, self.source, ...) + end + + ---@param coordinates vector4 | vector3 | table + ---@return void + function self.setCoords(coordinates) + local ped = _GetPlayerPed(self.source) + local vector = type(coordinates) == "vector4" and coordinates or type(coordinates) == "vector3" and vector4(coordinates, 0.0) or vec(coordinates.x, coordinates.y, coordinates.z, coordinates.heading or 0.0) + _SetEntityCoords(ped, vector.xyz, false, false, false, false) + _SetEntityHeading(ped, vector.w) + end + + ---@param vector boolean + ---@return vector3 | table + function self.getCoords(vector) + local ped = _GetPlayerPed(self.source) + local coordinates = _GetEntityCoords(ped) + + return vector and coordinates or { x = coordinates.x, y = coordinates.y, z = coordinates.z } + end + + ---@param reason string + ---@return void + function self.kick(reason) + _DropPlayer(self.source, reason) + end + + ---@param money number + ---@return void + function self.setMoney(money) + _assert(type(money) == "number", "money should be number!") + money = ESX.Math.Round(money) + self.setAccountMoney("money", money) + end + + ---@return number + function self.getMoney() + return self.getAccount("money").money + end + + ---@param money number + ---@param reason string + ---@return void + function self.addMoney(money, reason) + money = ESX.Math.Round(money) + self.addAccountMoney("money", money, reason) + end + + ---@param money number + ---@param reason string + ---@return void + function self.removeMoney(money, reason) + money = ESX.Math.Round(money) + self.removeAccountMoney("money", money, reason) + end + + ---@return string + function self.getIdentifier() + return self.identifier + end + + ---@param newGroup string + ---@return void + function self.setGroup(newGroup) + _ExecuteCommand(("remove_principal identifier.%s group.%s"):format(self.license, self.group)) + self.group = newGroup + Player(self.source).state:set("group", self.group, true) + _ExecuteCommand(("add_principal identifier.%s group.%s"):format(self.license, self.group)) + end + + ---@return string + function self.getGroup() + return self.group + end + + ---@param k string + ---@param v any + ---@return void + function self.set(k, v) + self.variables[k] = v + Player(self.source).state:set(k, v, true) + end + + ---@param k string + ---@return any + function self.get(k) + return self.variables[k] + end + + ---@param minimal boolean + ---@return table + function self.getAccounts(minimal) + if not minimal then + return self.accounts + end + + local minimalAccounts = {} + + for i = 1, #self.accounts do + minimalAccounts[self.accounts[i].name] = self.accounts[i].money + end + + return minimalAccounts + end + + ---@param account string + ---@return table | nil + function self.getAccount(account) + for i = 1, #self.accounts do + if self.accounts[i].name == account then + return self.accounts[i] + end + end + return nil + end + + ---@param minimal boolean + ---@return table + function self.getInventory(minimal) + if minimal then + local minimalInventory = {} + + for _, v in ipairs(self.inventory) do + if v.count > 0 then + minimalInventory[v.name] = v.count + end + end + + return minimalInventory + end + + return self.inventory + end + + ---@return table + function self.getJob() + return self.job + end + + ---@param minimal boolean + ---@return table + function self.getLoadout(minimal) + if not minimal then + return self.loadout + end + local minimalLoadout = {} + + for _, v in ipairs(self.loadout) do + minimalLoadout[v.name] = { ammo = v.ammo } + if v.tintIndex > 0 then + minimalLoadout[v.name].tintIndex = v.tintIndex + end + + if #v.components > 0 then + local components = {} + + for _, component in ipairs(v.components) do + if component ~= "clip_default" then + components[#components + 1] = component + end + end + + if #components > 0 then + minimalLoadout[v.name].components = components + end + end + end + + return minimalLoadout + end + + ---@return string + function self.getName() + return self.name + end + + ---@param newName string + ---@return void + function self.setName(newName) + self.name = newName + Player(self.source).state:set("name", self.name, true) + end + + ---@param accountName string + ---@param money number + ---@param reason string + ---@return void + function self.setAccountMoney(accountName, money, reason) + reason = reason or "unknown" + if not tonumber(money) then + print(("[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7"):format(accountName, self.playerId, money)) + return + end + if money >= 0 then + local account = self.getAccount(accountName) + + if account then + money = account.round and ESX.Math.Round(money) or money + self.accounts[account.index].money = money + + self.triggerEvent("esx:setAccountMoney", account) + _TriggerEvent("esx:setAccountMoney", self.source, accountName, money, reason) + else + print(("[^1ERROR^7] Tried To Set Invalid Account ^5%s^0 For Player ^5%s^0!"):format(accountName, self.playerId)) + end + else + print(("[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7"):format(accountName, self.playerId, money)) + end + end + + ---@param accountName string + ---@param money number + ---@param reason string + ---@return void + function self.addAccountMoney(accountName, money, reason) + reason = reason or "Unknown" + if not tonumber(money) then + print(("[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7"):format(accountName, self.playerId, money)) + return + end + if money > 0 then + local account = self.getAccount(accountName) + if account then + money = account.round and ESX.Math.Round(money) or money + self.accounts[account.index].money = self.accounts[account.index].money + money + + self.triggerEvent("esx:setAccountMoney", account) + _TriggerEvent("esx:addAccountMoney", self.source, accountName, money, reason) + else + print(("[^1ERROR^7] Tried To Set Add To Invalid Account ^5%s^0 For Player ^5%s^0!"):format(accountName, self.playerId)) + end + else + print(("[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7"):format(accountName, self.playerId, money)) + end + end + + ---@param accountName string + ---@param money number + ---@param reason string + ---@return void + function self.removeAccountMoney(accountName, money, reason) + reason = reason or "Unknown" + if not tonumber(money) then + print(("[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7"):format(accountName, self.playerId, money)) + return + end + if money > 0 then + local account = self.getAccount(accountName) + + if account then + money = account.round and ESX.Math.Round(money) or money + if self.accounts[account.index].money - money > self.accounts[account.index].money then + print(("[^1ERROR^7] Tried To Underflow Account ^5%s^0 For Player ^5%s^0!"):format(accountName, self.playerId)) + return + end + self.accounts[account.index].money = self.accounts[account.index].money - money + + self.triggerEvent("esx:setAccountMoney", account) + _TriggerEvent("esx:removeAccountMoney", self.source, accountName, money, reason) + else + print(("[^1ERROR^7] Tried To Set Add To Invalid Account ^5%s^0 For Player ^5%s^0!"):format(accountName, self.playerId)) + end + else + print(("[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7"):format(accountName, self.playerId, money)) + end + end + + ---@param itemName string + ---@return table | nil + function self.getInventoryItem(itemName) + for _, v in ipairs(self.inventory) do + if v.name == itemName then + return v + end + end + return nil + end + + ---@param itemName string + ---@param count number + ---@return void + function self.addInventoryItem(itemName, count) + local item = self.getInventoryItem(itemName) + + if item then + count = ESX.Math.Round(count) + item.count = item.count + count + self.weight = self.weight + (item.weight * count) + + _TriggerEvent("esx:onAddInventoryItem", self.source, item.name, item.count) + self.triggerEvent("esx:addInventoryItem", item.name, item.count) + end + end + + ---@param itemName string + ---@param count number + ---@return void + function self.removeInventoryItem(itemName, count) + local item = self.getInventoryItem(itemName) + + if item then + count = ESX.Math.Round(count) + if count > 0 then + local newCount = item.count - count + + if newCount >= 0 then + item.count = newCount + self.weight = self.weight - (item.weight * count) + + _TriggerEvent("esx:onRemoveInventoryItem", self.source, item.name, item.count) + self.triggerEvent("esx:removeInventoryItem", item.name, item.count) + end + else + print(("[^1ERROR^7] Player ID:^5%s Tried remove a Invalid count -> %s of %s"):format(self.playerId, count, itemName)) + end + end + end + + ---@param itemName string + ---@param count number + ---@return void + function self.setInventoryItem(itemName, count) + local item = self.getInventoryItem(itemName) + + if item and count >= 0 then + count = ESX.Math.Round(count) + + if count > item.count then + self.addInventoryItem(item.name, count - item.count) + else + self.removeInventoryItem(item.name, item.count - count) + end + end + end + + ---@return number + function self.getWeight() + return self.weight + end + + ---@return number + function self.getMaxWeight() + return self.maxWeight + end + + ---@param itemName string + ---@param count number + ---@return boolean + function self.canCarryItem(itemName, count) + if ESX.Items[itemName] then + local currentWeight, itemWeight = self.weight, ESX.Items[itemName].weight + local newWeight = currentWeight + (itemWeight * count) + + return newWeight <= self.maxWeight + else + print(('[^3WARNING^7] Item ^5"%s"^7 was used but does not exist!'):format(itemName)) + end + end + + ---@param firstItem string + ---@param firstItemCount number + ---@param testItem string + ---@param testItemCount number + ---@return boolean + function self.canSwapItem(firstItem, firstItemCount, testItem, testItemCount) + local firstItemObject = self.getInventoryItem(firstItem) + local testItemObject = self.getInventoryItem(testItem) + + if firstItemObject.count >= firstItemCount then + local weightWithoutFirstItem = ESX.Math.Round(self.weight - (firstItemObject.weight * firstItemCount)) + local weightWithTestItem = ESX.Math.Round(weightWithoutFirstItem + (testItemObject.weight * testItemCount)) + + return weightWithTestItem <= self.maxWeight + end + + return false + end + + ---@param newWeight number + ---@return void + function self.setMaxWeight(newWeight) + self.maxWeight = newWeight + self.triggerEvent("esx:setMaxWeight", self.maxWeight) + end + + ---@param newJob string + ---@param grade string + ---@return void + function self.setJob(newJob, grade) + grade = tostring(grade) + local lastJob = self.job + + if not ESX.DoesJobExist(newJob, grade) then + return print(("[es_extended] [^3WARNING^7] Ignoring invalid ^5.setJob()^7 usage for ID: ^5%s^7, Job: ^5%s^7"):format(self.source, job)) + end + + local jobObject, gradeObject = ESX.Jobs[newJob], ESX.Jobs[newJob].grades[grade] + + self.job = { + id = jobObject.id, + name = jobObject.name, + label = jobObject.label, + + grade = tonumber(grade), + grade_name = gradeObject.name, + grade_label = gradeObject.label, + grade_salary = gradeObject.salary, + + skin_male = gradeObject.skin_male and json.decode(gradeObject.skin_male) or {}, + skin_female = gradeObject.skin_female and json.decode(gradeObject.skin_female) or {}, + } + + TriggerEvent("esx:setJob", self.source, self.job, lastJob) + self.triggerEvent("esx:setJob", self.job, lastJob) + Player(self.source).state:set("job", self.job, true) + end + + ---@param weaponName string + ---@param ammo number + ---@return void + function self.addWeapon(weaponName, ammo) + if not self.hasWeapon(weaponName) then + local weaponLabel = ESX.GetWeaponLabel(weaponName) + + table.insert(self.loadout, { + name = weaponName, + ammo = ammo, + label = weaponLabel, + components = {}, + tintIndex = 0, + }) + + _GiveWeaponToPed(_GetPlayerPed(self.source), joaat(weaponName), ammo, false, false) + self.triggerEvent("esx:addInventoryItem", weaponLabel, false, true) + end + end + + ---@param weaponName string + ---@param weaponComponent string + ---@return void + function self.addWeaponComponent(weaponName, weaponComponent) + local loadoutNum , weapon = self.getWeapon(weaponName) + + if weapon then + local component = ESX.GetWeaponComponent(weaponName, weaponComponent) + + if component then + if not self.hasWeaponComponent(weaponName, weaponComponent) then + self.loadout[loadoutNum].components[#self.loadout[loadoutNum].components + 1] = weaponComponent + local componentHash = ESX.GetWeaponComponent(weaponName, weaponComponent).hash + GiveWeaponComponentToPed(GetPlayerPed(self.source), joaat(weaponName), componentHash) + self.triggerEvent("esx:addInventoryItem", component.label, false, true) + end + end + end + end + + ---@param weaponName string + ---@param ammoCount number + ---@return void + function self.addWeaponAmmo(weaponName, ammoCount) + local _, weapon = self.getWeapon(weaponName) + + if weapon then + weapon.ammo = weapon.ammo + ammoCount + _SetPedAmmo(GetPlayerPed(self.source), joaat(weaponName), weapon.ammo) + end + end + + ---@param weaponName string + ---@param ammoCount number + ---@return void + function self.updateWeaponAmmo(weaponName, ammoCount) + local _, weapon = self.getWeapon(weaponName) + + if weapon then + weapon.ammo = ammoCount + end + end + + ---@param weaponName string + ---@param weaponTintIndex number + ---@return void + function self.setWeaponTint(weaponName, weaponTintIndex) + local loadoutNum , weapon = self.getWeapon(weaponName) + + if weapon then + local _, weaponObject = ESX.GetWeapon(weaponName) + + if weaponObject.tints and weaponObject.tints[weaponTintIndex] then + self.loadout[loadoutNum].tintIndex = weaponTintIndex + self.triggerEvent("esx:setWeaponTint", weaponName, weaponTintIndex) + self.triggerEvent("esx:addInventoryItem", weaponObject.tints[weaponTintIndex], false, true) + end + end + end + + ---@param weaponName string + ---@return number + function self.getWeaponTint(weaponName) + local _, weapon = self.getWeapon(weaponName) + + if weapon then + return weapon.tintIndex + end + + return 0 + end + + ---@param weaponName string + ---@return void + function self.removeWeapon(weaponName) + local weaponLabel, playerPed = nil, _GetPlayerPed(self.source) + + if not playerPed then + return print("[^1ERROR^7] xPlayer.removeWeapon ^5invalid^7 player ped!") + end + + for k, v in ipairs(self.loadout) do + if v.name == weaponName then + weaponLabel = v.label + + for _, v2 in ipairs(v.components) do + self.removeWeaponComponent(weaponName, v2) + end + + local weaponHash = joaat(v.name) + _RemoveWeaponFromPed(playerPed, weaponHash) + _SetPedAmmo(playerPed, weaponHash, 0) + + table.remove(self.loadout, k) + break + end + end + + if weaponLabel then + self.triggerEvent("esx:removeInventoryItem", weaponLabel, false, true) + end + end + + ---@param weaponName string + ---@param weaponComponent string + ---@return void + function self.removeWeaponComponent(weaponName, weaponComponent) + local loadoutNum , weapon = self.getWeapon(weaponName) + + if weapon then + ---@type table + local component = ESX.GetWeaponComponent(weaponName, weaponComponent) + + if component then + if self.hasWeaponComponent(weaponName, weaponComponent) then + for k, v in ipairs(self.loadout[loadoutNum].components) do + if v == weaponComponent then + table.remove(self.loadout[loadoutNum].components, k) + break + end + end + + self.triggerEvent("esx:removeWeaponComponent", weaponName, weaponComponent) + self.triggerEvent("esx:removeInventoryItem", component.label, false, true) + end + end + end + end + + ---@param weaponName string + ---@param ammoCount number + ---@return void + function self.removeWeaponAmmo(weaponName, ammoCount) + local _, weapon = self.getWeapon(weaponName) + + if weapon then + weapon.ammo = weapon.ammo - ammoCount + _SetPedAmmo(GetPlayerPed(self.source), joaat(weaponName), weapon.ammo) + end + end + + ---@param weaponName string + ---@param weaponComponent string + ---@return boolean + function self.hasWeaponComponent(weaponName, weaponComponent) + local _, weapon = self.getWeapon(weaponName) + + if weapon then + for _, v in ipairs(weapon.components) do + if v == weaponComponent then + return true + end + end + + return false + end + + return false + end + + ---@param weaponName string + ---@return boolean + function self.hasWeapon(weaponName) + for _, v in ipairs(self.loadout) do + if v.name == weaponName then + return true + end + end + + return false + end + + ---@param item string + ---@return table, number | false + function self.hasItem(item) + for _, v in ipairs(self.inventory) do + if v.name == item and v.count >= 1 then + return v, v.count + end + end + + return false + end + + ---@param weaponName string + ---@return number, table | nil + function self.getWeapon(weaponName) + for k, v in ipairs(self.loadout) do + if v.name == weaponName then + return k, v + end + end + + return nil + end + + ---@param msg string + ---@param type string + ---@param length number + ---@return void + function self.showNotification(msg, notifyType, length) + self.triggerEvent("esx:showNotification", msg, notifyType, length) + end + + ---@param sender string + ---@param subject string + ---@param msg string + ---@param textureDict string + ---@param iconType string + ---@param flash boolean + ---@param saveToBrief boolean + ---@param hudColorIndex number + ---@return void + function self.showAdvancedNotification(sender, subject, msg, textureDict, iconType, flash, saveToBrief, hudColorIndex) + self.triggerEvent("esx:showAdvancedNotification", sender, subject, msg, textureDict, iconType, flash, saveToBrief, hudColorIndex) + end + + ---@param msg string + ---@param thisFrame boolean + ---@param beep boolean + ---@param duration number + ---@return void + function self.showHelpNotification(msg, thisFrame, beep, duration) + self.triggerEvent("esx:showHelpNotification", msg, thisFrame, beep, duration) + end + + ---@param index any + ---@param subIndex any + ---@return table + function self.getMeta(index, subIndex) + if not index then + return self.metadata + end + + if type(index) ~= "string" then + return print("[^1ERROR^7] xPlayer.getMeta ^5index^7 should be ^5string^7!") + end + + local metaData = self.metadata[index] + if metaData == nil then + return Config.EnableDebug and print(("[^1ERROR^7] xPlayer.getMeta ^5%s^7 not exist!"):format(index)) or nil + end + + if subIndex and type(metaData) == "table" then + local _type = type(subIndex) + + if _type == "string" then + local value = metaData[subIndex] + return value + end + + if _type == "table" then + local returnValues = {} + + for i = 1, #subIndex do + local key = subIndex[i] + if type(key) == "string" then + returnValues[key] = self.getMeta(index, key) + else + print(("[^1ERROR^7] xPlayer.getMeta subIndex should be ^5string^7 or ^5table^7! that contains ^5string^7, received ^5%s^7!, skipping..."):format(type(key))) + end + end + + return returnValues + end + + return print(("[^1ERROR^7] xPlayer.getMeta subIndex should be ^5string^7 or ^5table^7!, received ^5%s^7!"):format(_type)) + end + + return metaData + end + + ---@param index any + ---@param value any + ---@param subValue any + ---@return void + function self.setMeta(index, value, subValue) + if not index then + return print("[^1ERROR^7] xPlayer.setMeta ^5index^7 is Missing!") + end + + if type(index) ~= "string" then + return print("[^1ERROR^7] xPlayer.setMeta ^5index^7 should be ^5string^7!") + end + + if value == nil then + return print("[^1ERROR^7] xPlayer.setMeta value is missing!") + end + + local _type = type(value) + + if not subValue then + if _type ~= "number" and _type ~= "string" and _type ~= "table" then + return print(("[^1ERROR^7] xPlayer.setMeta ^5%s^7 should be ^5number^7 or ^5string^7 or ^5table^7!"):format(value)) + end + + self.metadata[index] = value + else + if _type ~= "string" then + return print(("[^1ERROR^7] xPlayer.setMeta ^5value^7 should be ^5string^7 as a subIndex!"):format(value)) + end + + if not self.metadata[index] or type(self.metadata[index]) ~= "table" then + self.metadata[index] = {} + end + + self.metadata[index] = type(self.metadata[index]) == "table" and self.metadata[index] or {} + self.metadata[index][value] = subValue + end + + Player(self.source).state:set("metadata", self.metadata, true) + end + + function self.clearMeta(index, subValues) + if not index then + return print("[^1ERROR^7] xPlayer.clearMeta ^5index^7 is Missing!") + end + + if type(index) ~= "string" then + return print("[^1ERROR^7] xPlayer.clearMeta ^5index^7 should be ^5string^7!") + end + + local metaData = self.metadata[index] + if metaData == nil then + return Config.EnableDebug and print(("[^1ERROR^7] xPlayer.clearMeta ^5%s^7 does not exist!"):format(index)) or nil + end + + if not subValues then + -- If no subValues is provided, we will clear the entire value in the metaData table + self.metadata[index] = nil + elseif type(subValues) == "string" then + -- If subValues is a string, we will clear the specific subValue within the table + if type(metaData) == "table" then + metaData[subValues] = nil + else + return print(("[^1ERROR^7] xPlayer.clearMeta ^5%s^7 is not a table! Cannot clear subValue ^5%s^7."):format(index, subValues)) + end + elseif type(subValues) == "table" then + -- If subValues is a table, we will clear multiple subValues within the table + for i = 1, #subValues do + local subValue = subValues[i] + if type(subValue) == "string" then + if type(metaData) == "table" then + metaData[subValue] = nil + else + print(("[^1ERROR^7] xPlayer.clearMeta ^5%s^7 is not a table! Cannot clear subValue ^5%s^7."):format(index, subValue)) + end + else + print(("[^1ERROR^7] xPlayer.clearMeta subValues should contain ^5string^7, received ^5%s^7, skipping..."):format(type(subValue))) + end + end + else + return print(("[^1ERROR^7] xPlayer.clearMeta ^5subValues^7 should be ^5string^7 or ^5table^7, received ^5%s^7!"):format(type(subValues))) + end + + Player(self.source).state:set("metadata", self.metadata, true) + end + + for fnName, fn in pairs(targetOverrides) do + self[fnName] = fn(self) + end + + return self end diff --git a/server-data/resources/[esx]/es_extended/server/commands.lua b/server-data/resources/[esx]/es_extended/server/commands.lua index 0d247196e..1c998368f 100644 --- a/server-data/resources/[esx]/es_extended/server/commands.lua +++ b/server-data/resources/[esx]/es_extended/server/commands.lua @@ -1,742 +1,706 @@ ESX.RegisterCommand( - { "setcoords", "tp" }, - "admin", - function(xPlayer, args) - xPlayer.setCoords({ x = args.x, y = args.y, z = args.z }) - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Set Coordinates /setcoords Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "X Coord", value = args.x, inline = true }, - { name = "Y Coord", value = args.y, inline = true }, - { name = "Z Coord", value = args.z, inline = true }, - }) - end - end, - false, - { - help = TranslateCap("command_setcoords"), - validate = true, - arguments = { - { name = "x", help = TranslateCap("command_setcoords_x"), type = "coordinate" }, - { name = "y", help = TranslateCap("command_setcoords_y"), type = "coordinate" }, - { name = "z", help = TranslateCap("command_setcoords_z"), type = "coordinate" }, - }, - } + { "setcoords", "tp" }, + "admin", + function(xPlayer, args) + xPlayer.setCoords({ x = args.x, y = args.y, z = args.z }) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Set Coordinates /setcoords Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "X Coord", value = args.x, inline = true }, + { name = "Y Coord", value = args.y, inline = true }, + { name = "Z Coord", value = args.z, inline = true }, + }) + end + end, + false, + { + help = TranslateCap("command_setcoords"), + validate = true, + arguments = { + { name = "x", help = TranslateCap("command_setcoords_x"), type = "coordinate" }, + { name = "y", help = TranslateCap("command_setcoords_y"), type = "coordinate" }, + { name = "z", help = TranslateCap("command_setcoords_z"), type = "coordinate" }, + }, + } ) ESX.RegisterCommand( - "setjob", - "admin", - function(xPlayer, args, showError) - if not ESX.DoesJobExist(args.job, args.grade) then - return showError(TranslateCap("command_setjob_invalid")) - end - - args.playerId.setJob(args.job, args.grade) - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Set Job /setjob Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - { name = "Job", value = args.job, inline = true }, - { name = "Grade", value = args.grade, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_setjob"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - { name = "job", help = TranslateCap("command_setjob_job"), type = "string" }, - { name = "grade", help = TranslateCap("command_setjob_grade"), type = "number" }, - }, - } + "setjob", + "admin", + function(xPlayer, args, showError) + if not ESX.DoesJobExist(args.job, args.grade) then + return showError(TranslateCap("command_setjob_invalid")) + end + + args.playerId.setJob(args.job, args.grade) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Set Job /setjob Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + { name = "Job", value = args.job, inline = true }, + { name = "Grade", value = args.grade, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_setjob"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + { name = "job", help = TranslateCap("command_setjob_job"), type = "string" }, + { name = "grade", help = TranslateCap("command_setjob_grade"), type = "number" }, + }, + } ) -local upgrades = Config.SpawnVehMaxUpgrades - and { - plate = "ADMINCAR", - modEngine = 3, - modBrakes = 2, - modTransmission = 2, - modSuspension = 3, - modArmor = true, - windowTint = 1, - } - or {} +local upgrades = Config.SpawnVehMaxUpgrades and { + plate = "ADMINCAR", + modEngine = 3, + modBrakes = 2, + modTransmission = 2, + modSuspension = 3, + modArmor = true, + windowTint = 1, +} or {} ESX.RegisterCommand( - "car", - "admin", - function(xPlayer, args, showError) - if not xPlayer then - return showError("[^1ERROR^7] The xPlayer value is nil") - end - - local playerPed = GetPlayerPed(xPlayer.source) - local playerCoords = GetEntityCoords(playerPed) - local playerHeading = GetEntityHeading(playerPed) - local playerVehicle = GetVehiclePedIsIn(playerPed) - - if not args.car or type(args.car) ~= "string" then - args.car = "adder" - end - - if playerVehicle then - DeleteEntity(playerVehicle) - end - - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Spawn Car /car Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Vehicle", value = args.car, inline = true }, - }) - end - - ESX.OneSync.SpawnVehicle(args.car, playerCoords, playerHeading, upgrades, function(networkId) - if networkId then - local vehicle = NetworkGetEntityFromNetworkId(networkId) - for _ = 1, 20 do - Wait(0) - SetPedIntoVehicle(playerPed, vehicle, -1) - - if GetVehiclePedIsIn(playerPed, false) == vehicle then - break - end - end - if GetVehiclePedIsIn(playerPed, false) ~= vehicle then - showError("[^1ERROR^7] The player could not be seated in the vehicle") - end - end - end) - end, - false, - { - help = TranslateCap("command_car"), - validate = false, - arguments = { - { name = "car", validate = false, help = TranslateCap("command_car_car"), type = "string" }, - }, - } + "car", + "admin", + function(xPlayer, args, showError) + if not xPlayer then + return showError("[^1ERROR^7] The xPlayer value is nil") + end + + local playerPed = GetPlayerPed(xPlayer.source) + local playerCoords = GetEntityCoords(playerPed) + local playerHeading = GetEntityHeading(playerPed) + local playerVehicle = GetVehiclePedIsIn(playerPed) + + if not args.car or type(args.car) ~= "string" then + args.car = "adder" + end + + if playerVehicle then + DeleteEntity(playerVehicle) + end + + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Spawn Car /car Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Vehicle", value = args.car, inline = true }, + }) + end + + ESX.OneSync.SpawnVehicle(args.car, playerCoords, playerHeading, upgrades, function(networkId) + if networkId then + local vehicle = NetworkGetEntityFromNetworkId(networkId) + for _ = 1, 20 do + Wait(0) + SetPedIntoVehicle(playerPed, vehicle, -1) + + if GetVehiclePedIsIn(playerPed, false) == vehicle then + break + end + end + if GetVehiclePedIsIn(playerPed, false) ~= vehicle then + showError("[^1ERROR^7] The player could not be seated in the vehicle") + end + end + end) + end, + false, + { + help = TranslateCap("command_car"), + validate = false, + arguments = { + { name = "car", validate = false, help = TranslateCap("command_car_car"), type = "string" }, + }, + } ) ESX.RegisterCommand( - { "cardel", "dv" }, - "admin", - function(xPlayer, args) - local PedVehicle = GetVehiclePedIsIn(GetPlayerPed(xPlayer.source), false) - if DoesEntityExist(PedVehicle) then - DeleteEntity(PedVehicle) - end - local Vehicles = - ESX.OneSync.GetVehiclesInArea(GetEntityCoords(GetPlayerPed(xPlayer.source)), tonumber(args.radius) or 5.0) - for i = 1, #Vehicles do - local Vehicle = NetworkGetEntityFromNetworkId(Vehicles[i]) - if DoesEntityExist(Vehicle) then - DeleteEntity(Vehicle) - end - end - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Delete Vehicle /dv Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - }) - end - end, - false, - { - help = TranslateCap("command_cardel"), - validate = false, - arguments = { - { name = "radius", validate = false, help = TranslateCap("command_cardel_radius"), type = "number" }, - }, - } + { "cardel", "dv" }, + "admin", + function(xPlayer, args) + local PedVehicle = GetVehiclePedIsIn(GetPlayerPed(xPlayer.source), false) + if DoesEntityExist(PedVehicle) then + DeleteEntity(PedVehicle) + end + local Vehicles = ESX.OneSync.GetVehiclesInArea(GetEntityCoords(GetPlayerPed(xPlayer.source)), tonumber(args.radius) or 5.0) + for i = 1, #Vehicles do + local Vehicle = NetworkGetEntityFromNetworkId(Vehicles[i]) + if DoesEntityExist(Vehicle) then + DeleteEntity(Vehicle) + end + end + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Delete Vehicle /dv Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + }) + end + end, + false, + { + help = TranslateCap("command_cardel"), + validate = false, + arguments = { + { name = "radius", validate = false, help = TranslateCap("command_cardel_radius"), type = "number" }, + }, + } ) ESX.RegisterCommand( - { "fix", "repair" }, - "admin", - function(xPlayer, args, showError) - local xTarget = args.playerId - local ped = GetPlayerPed(xTarget.source) - local pedVehicle = GetVehiclePedIsIn(ped, false) - if not pedVehicle or GetPedInVehicleSeat(pedVehicle, -1) ~= ped then - showError(TranslateCap("not_in_vehicle")) - return - end - xTarget.triggerEvent("esx:repairPedVehicle") - xPlayer.showNotification(TranslateCap("command_repair_success"), true, false, 140) - if xPlayer.source ~= xTarget.source then - xTarget.showNotification(TranslateCap("command_repair_success_target"), true, false, 140) - end - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Fix Vehicle /fix Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = xTarget.name, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_repair"), - validate = false, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - }, - } + { "fix", "repair" }, + "admin", + function(xPlayer, args, showError) + local xTarget = args.playerId + local ped = GetPlayerPed(xTarget.source) + local pedVehicle = GetVehiclePedIsIn(ped, false) + if not pedVehicle or GetPedInVehicleSeat(pedVehicle, -1) ~= ped then + showError(TranslateCap("not_in_vehicle")) + return + end + xTarget.triggerEvent("esx:repairPedVehicle") + xPlayer.showNotification(TranslateCap("command_repair_success"), true, false, 140) + if xPlayer.source ~= xTarget.source then + xTarget.showNotification(TranslateCap("command_repair_success_target"), true, false, 140) + end + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Fix Vehicle /fix Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = xTarget.name, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_repair"), + validate = false, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + }, + } ) ESX.RegisterCommand( - "setaccountmoney", - "admin", - function(xPlayer, args, showError) - if not args.playerId.getAccount(args.account) then - return showError(TranslateCap("command_giveaccountmoney_invalid")) - end - args.playerId.setAccountMoney(args.account, args.amount, "Government Grant") - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Set Account Money /setaccountmoney Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - { name = "Account", value = args.account, inline = true }, - { name = "Amount", value = args.amount, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_setaccountmoney"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - { name = "account", help = TranslateCap("command_giveaccountmoney_account"), type = "string" }, - { name = "amount", help = TranslateCap("command_setaccountmoney_amount"), type = "number" }, - }, - } + "setaccountmoney", + "admin", + function(xPlayer, args, showError) + if not args.playerId.getAccount(args.account) then + return showError(TranslateCap("command_giveaccountmoney_invalid")) + end + args.playerId.setAccountMoney(args.account, args.amount, "Government Grant") + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Set Account Money /setaccountmoney Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + { name = "Account", value = args.account, inline = true }, + { name = "Amount", value = args.amount, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_setaccountmoney"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + { name = "account", help = TranslateCap("command_giveaccountmoney_account"), type = "string" }, + { name = "amount", help = TranslateCap("command_setaccountmoney_amount"), type = "number" }, + }, + } ) ESX.RegisterCommand( - "giveaccountmoney", - "admin", - function(xPlayer, args, showError) - if not args.playerId.getAccount(args.account) then - return showError(TranslateCap("command_giveaccountmoney_invalid")) - end - args.playerId.addAccountMoney(args.account, args.amount, "Government Grant") - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Give Account Money /giveaccountmoney Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - { name = "Account", value = args.account, inline = true }, - { name = "Amount", value = args.amount, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_giveaccountmoney"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - { name = "account", help = TranslateCap("command_giveaccountmoney_account"), type = "string" }, - { name = "amount", help = TranslateCap("command_giveaccountmoney_amount"), type = "number" }, - }, - } + "giveaccountmoney", + "admin", + function(xPlayer, args, showError) + if not args.playerId.getAccount(args.account) then + return showError(TranslateCap("command_giveaccountmoney_invalid")) + end + args.playerId.addAccountMoney(args.account, args.amount, "Government Grant") + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Give Account Money /giveaccountmoney Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + { name = "Account", value = args.account, inline = true }, + { name = "Amount", value = args.amount, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_giveaccountmoney"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + { name = "account", help = TranslateCap("command_giveaccountmoney_account"), type = "string" }, + { name = "amount", help = TranslateCap("command_giveaccountmoney_amount"), type = "number" }, + }, + } ) ESX.RegisterCommand( - "removeaccountmoney", - "admin", - function(xPlayer, args, showError) - if not args.playerId.getAccount(args.account) then - return showError(TranslateCap("command_removeaccountmoney_invalid")) - end - args.playerId.removeAccountMoney(args.account, args.amount, "Government Tax") - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Remove Account Money /removeaccountmoney Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - { name = "Account", value = args.account, inline = true }, - { name = "Amount", value = args.amount, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_removeaccountmoney"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - { name = "account", help = TranslateCap("command_removeaccountmoney_account"), type = "string" }, - { name = "amount", help = TranslateCap("command_removeaccountmoney_amount"), type = "number" }, - }, - } + "removeaccountmoney", + "admin", + function(xPlayer, args, showError) + if not args.playerId.getAccount(args.account) then + return showError(TranslateCap("command_removeaccountmoney_invalid")) + end + args.playerId.removeAccountMoney(args.account, args.amount, "Government Tax") + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Remove Account Money /removeaccountmoney Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + { name = "Account", value = args.account, inline = true }, + { name = "Amount", value = args.amount, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_removeaccountmoney"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + { name = "account", help = TranslateCap("command_removeaccountmoney_account"), type = "string" }, + { name = "amount", help = TranslateCap("command_removeaccountmoney_amount"), type = "number" }, + }, + } ) if not Config.OxInventory then - ESX.RegisterCommand( - "giveitem", - "admin", - function(xPlayer, args) - args.playerId.addInventoryItem(args.item, args.count) - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Give Item /giveitem Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - { name = "Item", value = args.item, inline = true }, - { name = "Quantity", value = args.count, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_giveitem"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - { name = "item", help = TranslateCap("command_giveitem_item"), type = "item" }, - { name = "count", help = TranslateCap("command_giveitem_count"), type = "number" }, - }, - } - ) - - ESX.RegisterCommand( - "giveweapon", - "admin", - function(xPlayer, args, showError) - if args.playerId.hasWeapon(args.weapon) then - return showError(TranslateCap("command_giveweapon_hasalready")) - end - args.playerId.addWeapon(args.weapon, args.ammo) - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Give Weapon /giveweapon Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - { name = "Weapon", value = args.weapon, inline = true }, - { name = "Ammo", value = args.ammo, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_giveweapon"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - { name = "weapon", help = TranslateCap("command_giveweapon_weapon"), type = "weapon" }, - { name = "ammo", help = TranslateCap("command_giveweapon_ammo"), type = "number" }, - }, - } - ) - - ESX.RegisterCommand( - "giveammo", - "admin", - function(xPlayer, args, showError) - if not args.playerId.hasWeapon(args.weapon) then - return showError(TranslateCap("command_giveammo_noweapon_found")) - end - args.playerId.addWeaponAmmo(args.weapon, args.ammo) - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Give Ammunition /giveammo Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - { name = "Weapon", value = args.weapon, inline = true }, - { name = "Ammo", value = args.ammo, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_giveweapon"), - validate = false, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - { name = "weapon", help = TranslateCap("command_giveammo_weapon"), type = "weapon" }, - { name = "ammo", help = TranslateCap("command_giveammo_ammo"), type = "number" }, - }, - } - ) - - ESX.RegisterCommand( - "giveweaponcomponent", - "admin", - function(xPlayer, args, showError) - if args.playerId.hasWeapon(args.weaponName) then - local component = ESX.GetWeaponComponent(args.weaponName, args.componentName) - - if component then - if args.playerId.hasWeaponComponent(args.weaponName, args.componentName) then - showError(TranslateCap("command_giveweaponcomponent_hasalready")) - else - args.playerId.addWeaponComponent(args.weaponName, args.componentName) - if Config.AdminLogging then - ESX.DiscordLogFields( - "UserActions", - "Give Weapon Component /giveweaponcomponent Triggered!", - "pink", - { - { - name = "Player", - value = xPlayer and xPlayer.name or "Server Console", - inline = true, - }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - { name = "Weapon", value = args.weaponName, inline = true }, - { name = "Component", value = args.componentName, inline = true }, - } - ) - end - end - else - showError(TranslateCap("command_giveweaponcomponent_invalid")) - end - else - showError(TranslateCap("command_giveweaponcomponent_missingweapon")) - end - end, - true, - { - help = TranslateCap("command_giveweaponcomponent"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - { name = "weaponName", help = TranslateCap("command_giveweapon_weapon"), type = "weapon" }, - { - name = "componentName", - help = TranslateCap("command_giveweaponcomponent_component"), - type = "string", - }, - }, - } - ) + ESX.RegisterCommand( + "giveitem", + "admin", + function(xPlayer, args) + args.playerId.addInventoryItem(args.item, args.count) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Give Item /giveitem Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + { name = "Item", value = args.item, inline = true }, + { name = "Quantity", value = args.count, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_giveitem"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + { name = "item", help = TranslateCap("command_giveitem_item"), type = "item" }, + { name = "count", help = TranslateCap("command_giveitem_count"), type = "number" }, + }, + } + ) + + ESX.RegisterCommand( + "giveweapon", + "admin", + function(xPlayer, args, showError) + if args.playerId.hasWeapon(args.weapon) then + return showError(TranslateCap("command_giveweapon_hasalready")) + end + args.playerId.addWeapon(args.weapon, args.ammo) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Give Weapon /giveweapon Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + { name = "Weapon", value = args.weapon, inline = true }, + { name = "Ammo", value = args.ammo, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_giveweapon"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + { name = "weapon", help = TranslateCap("command_giveweapon_weapon"), type = "weapon" }, + { name = "ammo", help = TranslateCap("command_giveweapon_ammo"), type = "number" }, + }, + } + ) + + ESX.RegisterCommand( + "giveammo", + "admin", + function(xPlayer, args, showError) + if not args.playerId.hasWeapon(args.weapon) then + return showError(TranslateCap("command_giveammo_noweapon_found")) + end + args.playerId.addWeaponAmmo(args.weapon, args.ammo) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Give Ammunition /giveammo Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + { name = "Weapon", value = args.weapon, inline = true }, + { name = "Ammo", value = args.ammo, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_giveweapon"), + validate = false, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + { name = "weapon", help = TranslateCap("command_giveammo_weapon"), type = "weapon" }, + { name = "ammo", help = TranslateCap("command_giveammo_ammo"), type = "number" }, + }, + } + ) + + ESX.RegisterCommand( + "giveweaponcomponent", + "admin", + function(xPlayer, args, showError) + if args.playerId.hasWeapon(args.weaponName) then + local component = ESX.GetWeaponComponent(args.weaponName, args.componentName) + + if component then + if args.playerId.hasWeaponComponent(args.weaponName, args.componentName) then + showError(TranslateCap("command_giveweaponcomponent_hasalready")) + else + args.playerId.addWeaponComponent(args.weaponName, args.componentName) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Give Weapon Component /giveweaponcomponent Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + { name = "Weapon", value = args.weaponName, inline = true }, + { name = "Component", value = args.componentName, inline = true }, + }) + end + end + else + showError(TranslateCap("command_giveweaponcomponent_invalid")) + end + else + showError(TranslateCap("command_giveweaponcomponent_missingweapon")) + end + end, + true, + { + help = TranslateCap("command_giveweaponcomponent"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + { name = "weaponName", help = TranslateCap("command_giveweapon_weapon"), type = "weapon" }, + { name = "componentName", help = TranslateCap("command_giveweaponcomponent_component"), type = "string" }, + }, + } + ) end ESX.RegisterCommand({ "clear", "cls" }, "user", function(xPlayer) - xPlayer.triggerEvent("chat:clear") + xPlayer.triggerEvent("chat:clear") end, false, { help = TranslateCap("command_clear") }) ESX.RegisterCommand({ "clearall", "clsall" }, "admin", function(xPlayer) - TriggerClientEvent("chat:clear", -1) - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Clear Chat /clearall Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - }) - end + TriggerClientEvent("chat:clear", -1) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Clear Chat /clearall Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + }) + end end, true, { help = TranslateCap("command_clearall") }) ESX.RegisterCommand("refreshjobs", "admin", function() - ESX.RefreshJobs() + ESX.RefreshJobs() end, true, { help = TranslateCap("command_clearall") }) if not Config.OxInventory then - ESX.RegisterCommand( - "clearinventory", - "admin", - function(xPlayer, args) - for _, v in ipairs(args.playerId.inventory) do - if v.count > 0 then - args.playerId.setInventoryItem(v.name, 0) - end - end - TriggerEvent("esx:playerInventoryCleared", args.playerId) - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Clear Inventory /clearinventory Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_clearinventory"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - }, - } - ) - - ESX.RegisterCommand( - "clearloadout", - "admin", - function(xPlayer, args) - for i = #args.playerId.loadout, 1, -1 do - args.playerId.removeWeapon(args.playerId.loadout[i].name) - end - TriggerEvent("esx:playerLoadoutCleared", args.playerId) - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "/clearloadout Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_clearloadout"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - }, - } - ) + ESX.RegisterCommand( + "clearinventory", + "admin", + function(xPlayer, args) + for _, v in ipairs(args.playerId.inventory) do + if v.count > 0 then + args.playerId.setInventoryItem(v.name, 0) + end + end + TriggerEvent("esx:playerInventoryCleared", args.playerId) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Clear Inventory /clearinventory Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_clearinventory"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + }, + } + ) + + ESX.RegisterCommand( + "clearloadout", + "admin", + function(xPlayer, args) + for i = #args.playerId.loadout, 1, -1 do + args.playerId.removeWeapon(args.playerId.loadout[i].name) + end + TriggerEvent("esx:playerLoadoutCleared", args.playerId) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "/clearloadout Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_clearloadout"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + }, + } + ) end ESX.RegisterCommand( - "setgroup", - "admin", - function(xPlayer, args) - if not args.playerId then - args.playerId = xPlayer.source - end - if args.group == "superadmin" then - args.group = "admin" - print("[^3WARNING^7] ^5Superadmin^7 detected, setting group to ^5admin^7") - end - args.playerId.setGroup(args.group) - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "/setgroup Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - { name = "Group", value = args.group, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_setgroup"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - { name = "group", help = TranslateCap("command_setgroup_group"), type = "string" }, - }, - } + "setgroup", + "admin", + function(xPlayer, args) + if not args.playerId then + args.playerId = xPlayer.source + end + if args.group == "superadmin" then + args.group = "admin" + print("[^3WARNING^7] ^5Superadmin^7 detected, setting group to ^5admin^7") + end + args.playerId.setGroup(args.group) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "/setgroup Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + { name = "Group", value = args.group, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_setgroup"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + { name = "group", help = TranslateCap("command_setgroup_group"), type = "string" }, + }, + } ) ESX.RegisterCommand( - "save", - "admin", - function(_, args) - Core.SavePlayer(args.playerId) - print(("[^2Info^0] Saved Player - ^5%s^0"):format(args.playerId.source)) - end, - true, - { - help = TranslateCap("command_save"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - }, - } + "save", + "admin", + function(_, args) + Core.SavePlayer(args.playerId) + print(("[^2Info^0] Saved Player - ^5%s^0"):format(args.playerId.source)) + end, + true, + { + help = TranslateCap("command_save"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + }, + } ) ESX.RegisterCommand("saveall", "admin", function() - Core.SavePlayers() + Core.SavePlayers() end, true, { help = TranslateCap("command_saveall") }) ESX.RegisterCommand("group", { "user", "admin" }, function(xPlayer, _, _) - print(("%s, you are currently: ^5%s^0"):format(xPlayer.getName(), xPlayer.getGroup())) + print(("%s, you are currently: ^5%s^0"):format(xPlayer.getName(), xPlayer.getGroup())) end, true) ESX.RegisterCommand("job", { "user", "admin" }, function(xPlayer, _, _) - print( - ("%s, your job is: ^5%s^0 - ^5%s^0"):format( - xPlayer.getName(), - xPlayer.getJob().name, - xPlayer.getJob().grade_label - ) - ) + print(("%s, your job is: ^5%s^0 - ^5%s^0"):format(xPlayer.getName(), xPlayer.getJob().name, xPlayer.getJob().grade_label)) end, false) ESX.RegisterCommand("info", { "user", "admin" }, function(xPlayer) - local job = xPlayer.getJob().name - print( - ("^2ID: ^5%s^0 | ^2Name: ^5%s^0 | ^2Group: ^5%s^0 | ^2Job: ^5%s^0"):format( - xPlayer.source, - xPlayer.getName(), - xPlayer.getGroup(), - job - ) - ) + local job = xPlayer.getJob().name + print(("^2ID: ^5%s^0 | ^2Name: ^5%s^0 | ^2Group: ^5%s^0 | ^2Job: ^5%s^0"):format(xPlayer.source, xPlayer.getName(), xPlayer.getGroup(), job)) end, false) ESX.RegisterCommand("coords", "admin", function(xPlayer) - local ped = GetPlayerPed(xPlayer.source) - local coords = GetEntityCoords(ped, false) - local heading = GetEntityHeading(ped) - print(("Coords - Vector3: ^5%s^0"):format(vector3(coords.x, coords.y, coords.z))) - print(("Coords - Vector4: ^5%s^0"):format(vector4(coords.x, coords.y, coords.z, heading))) + local ped = GetPlayerPed(xPlayer.source) + local coords = GetEntityCoords(ped, false) + local heading = GetEntityHeading(ped) + print(("Coords - Vector3: ^5%s^0"):format(vector3(coords.x, coords.y, coords.z))) + print(("Coords - Vector4: ^5%s^0"):format(vector4(coords.x, coords.y, coords.z, heading))) end, false) ESX.RegisterCommand("tpm", "admin", function(xPlayer) - xPlayer.triggerEvent("esx:tpm") - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Admin Teleport /tpm Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - }) - end + xPlayer.triggerEvent("esx:tpm") + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Admin Teleport /tpm Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + }) + end end, false) ESX.RegisterCommand( - "goto", - "admin", - function(xPlayer, args) - local targetCoords = args.playerId.getCoords() - xPlayer.setCoords(targetCoords) - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Admin Teleport /goto Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - { name = "Target Coords", value = targetCoords, inline = true }, - }) - end - end, - false, - { - help = TranslateCap("command_goto"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - }, - } + "goto", + "admin", + function(xPlayer, args) + local targetCoords = args.playerId.getCoords() + xPlayer.setCoords(targetCoords) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Admin Teleport /goto Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + { name = "Target Coords", value = targetCoords, inline = true }, + }) + end + end, + false, + { + help = TranslateCap("command_goto"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + }, + } ) ESX.RegisterCommand( - "bring", - "admin", - function(xPlayer, args) - local targetCoords = args.playerId.getCoords() - local playerCoords = xPlayer.getCoords() - args.playerId.setCoords(playerCoords) - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Admin Teleport /bring Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - { name = "Target Coords", value = targetCoords, inline = true }, - }) - end - end, - false, - { - help = TranslateCap("command_bring"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - }, - } + "bring", + "admin", + function(xPlayer, args) + local targetCoords = args.playerId.getCoords() + local playerCoords = xPlayer.getCoords() + args.playerId.setCoords(playerCoords) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Admin Teleport /bring Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + { name = "Target Coords", value = targetCoords, inline = true }, + }) + end + end, + false, + { + help = TranslateCap("command_bring"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + }, + } ) ESX.RegisterCommand( - "kill", - "admin", - function(xPlayer, args) - args.playerId.triggerEvent("esx:killPlayer") - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Kill Command /kill Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_kill"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - }, - } + "kill", + "admin", + function(xPlayer, args) + args.playerId.triggerEvent("esx:killPlayer") + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Kill Command /kill Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_kill"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + }, + } ) ESX.RegisterCommand( - "freeze", - "admin", - function(xPlayer, args) - args.playerId.triggerEvent("esx:freezePlayer", "freeze") - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Admin Freeze /freeze Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_freeze"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - }, - } + "freeze", + "admin", + function(xPlayer, args) + args.playerId.triggerEvent("esx:freezePlayer", "freeze") + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Admin Freeze /freeze Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_freeze"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + }, + } ) ESX.RegisterCommand( - "unfreeze", - "admin", - function(xPlayer, args) - args.playerId.triggerEvent("esx:freezePlayer", "unfreeze") - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Admin UnFreeze /unfreeze Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - { name = "Target", value = args.playerId.name, inline = true }, - }) - end - end, - true, - { - help = TranslateCap("command_unfreeze"), - validate = true, - arguments = { - { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, - }, - } + "unfreeze", + "admin", + function(xPlayer, args) + args.playerId.triggerEvent("esx:freezePlayer", "unfreeze") + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Admin UnFreeze /unfreeze Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + { name = "Target", value = args.playerId.name, inline = true }, + }) + end + end, + true, + { + help = TranslateCap("command_unfreeze"), + validate = true, + arguments = { + { name = "playerId", help = TranslateCap("commandgeneric_playerid"), type = "player" }, + }, + } ) ESX.RegisterCommand("noclip", "admin", function(xPlayer) - xPlayer.triggerEvent("esx:noclip") - if Config.AdminLogging then - ESX.DiscordLogFields("UserActions", "Admin NoClip /noclip Triggered!", "pink", { - { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, - { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, - }) - end + xPlayer.triggerEvent("esx:noclip") + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Admin NoClip /noclip Triggered!", "pink", { + { name = "Player", value = xPlayer and xPlayer.name or "Server Console", inline = true }, + { name = "ID", value = xPlayer and xPlayer.source or "Unknown ID", inline = true }, + }) + end end, false) ESX.RegisterCommand("players", "admin", function() - local xPlayers = ESX.GetExtendedPlayers() -- Returns all xPlayers - print(("^5%s^2 online player(s)^0"):format(#xPlayers)) - for i = 1, #xPlayers do - local xPlayer = xPlayers[i] - print( - ("^1[^2ID: ^5%s^0 | ^2Name : ^5%s^0 | ^2Group : ^5%s^0 | ^2Identifier : ^5%s^1]^0\n"):format( - xPlayer.source, - xPlayer.getName(), - xPlayer.getGroup(), - xPlayer.identifier - ) - ) - end + local xPlayers = ESX.GetExtendedPlayers() -- Returns all xPlayers + print(("^5%s^2 online player(s)^0"):format(#xPlayers)) + for i = 1, #xPlayers do + local xPlayer = xPlayers[i] + print(("^1[^2ID: ^5%s^0 | ^2Name : ^5%s^0 | ^2Group : ^5%s^0 | ^2Identifier : ^5%s^1]^0\n"):format(xPlayer.source, xPlayer.getName(), xPlayer.getGroup(), xPlayer.identifier)) + end end, true) diff --git a/server-data/resources/[esx]/es_extended/server/common.lua b/server-data/resources/[esx]/es_extended/server/common.lua index b1bce25b8..6de1cacb7 100644 --- a/server-data/resources/[esx]/es_extended/server/common.lua +++ b/server-data/resources/[esx]/es_extended/server/common.lua @@ -15,85 +15,77 @@ Core.playersByIdentifier = {} Core.vehicleTypesByModel = {} RegisterNetEvent("esx:onPlayerSpawn", function() - ESX.Players[source].spawned = true + ESX.Players[source].spawned = true end) AddEventHandler("esx:getSharedObject", function() - local Invoke = GetInvokingResource() - print( - ("[^1ERROR^7] Resource ^5%s^7 Used the ^5getSharedObject^7 Event, this event ^1no longer exists!^7 Visit https://bitpredator.github.io/bptdevelopment/docs/esx-tutorial/sharedevent for how to fix!"):format( - Invoke - ) - ) + local Invoke = GetInvokingResource() + print(("[^1ERROR^7] Resource ^5%s^7 Used the ^5getSharedObject^7 Event, this event ^1no longer exists!^7 Visit https://bitpredator.github.io/bptdevelopment/docs/esx-tutorial/sharedevent for how to fix!"):format(Invoke)) end) exports("getSharedObject", function() - return ESX + return ESX end) if Config.OxInventory then - Config.PlayerFunctionOverride = "OxInventory" - SetConvarReplicated("inventory:framework", "esx") - SetConvarReplicated("inventory:weight", Config.MaxWeight * 1000) + Config.PlayerFunctionOverride = "OxInventory" + SetConvarReplicated("inventory:framework", "esx") + SetConvarReplicated("inventory:weight", Config.MaxWeight * 1000) end local function StartDBSync() - CreateThread(function() - local interval = 10 * 60 * 1000 - while true do - Wait(interval) - Core.SavePlayers() - end - end) + CreateThread(function() + local interval = 10 * 60 * 1000 + while true do + Wait(interval) + Core.SavePlayers() + end + end) end MySQL.ready(function() - Core.DatabaseConnected = true - if not Config.OxInventory then - local items = MySQL.query.await("SELECT * FROM items") - for _, v in ipairs(items) do - ESX.Items[v.name] = { label = v.label, weight = v.weight, rare = v.rare, canRemove = v.can_remove } - end - else - TriggerEvent("__cfx_export_ox_inventory_Items", function(ref) - if ref then - ESX.Items = ref() - end - end) + Core.DatabaseConnected = true + if not Config.OxInventory then + local items = MySQL.query.await("SELECT * FROM items") + for _, v in ipairs(items) do + ESX.Items[v.name] = { label = v.label, weight = v.weight, rare = v.rare, canRemove = v.can_remove } + end + else + TriggerEvent("__cfx_export_ox_inventory_Items", function(ref) + if ref then + ESX.Items = ref() + end + end) - AddEventHandler("ox_inventory:itemList", function(items) - ESX.Items = items - end) + AddEventHandler("ox_inventory:itemList", function(items) + ESX.Items = items + end) - while not next(ESX.Items) do - Wait(0) - end - end + while not next(ESX.Items) do + Wait(0) + end + end - ESX.RefreshJobs() + ESX.RefreshJobs() - print( - ("[^2INFO^7] ESX ^5Legacy %s^0 initialized!"):format( - GetResourceMetadata(GetCurrentResourceName(), "version", 0) - ) - ) + print(("[^2INFO^7] BPT ^5FRAMEWORK %s^0 initialized!"):format(GetResourceMetadata(GetCurrentResourceName(), "version", 0))) - StartDBSync() - if Config.EnablePaycheck then - StartPayCheck() - end + StartDBSync() + if Config.EnablePaycheck then + StartPayCheck() + end end) RegisterServerEvent("esx:clientLog") AddEventHandler("esx:clientLog", function(msg) - if Config.EnableDebug then - print(("[^2TRACE^7] %s^7"):format(msg)) - end + if Config.EnableDebug then + print(("[^2TRACE^7] %s^7"):format(msg)) + end end) RegisterNetEvent("esx:ReturnVehicleType", function(Type, Request) - if Core.ClientCallbacks[Request] then - Core.ClientCallbacks[Request](Type) - Core.ClientCallbacks[Request] = nil - end + if Core.ClientCallbacks[Request] then + Core.ClientCallbacks[Request](Type) + Core.ClientCallbacks[Request] = nil + end end) diff --git a/server-data/resources/[esx]/es_extended/server/functions.lua b/server-data/resources/[esx]/es_extended/server/functions.lua index 28a5cb7cf..1a777c7a2 100644 --- a/server-data/resources/[esx]/es_extended/server/functions.lua +++ b/server-data/resources/[esx]/es_extended/server/functions.lua @@ -1,335 +1,329 @@ function ESX.Trace(msg) - if Config.EnableDebug then - print(("[^2TRACE^7] %s^7"):format(msg)) - end + if Config.EnableDebug then + print(("[^2TRACE^7] %s^7"):format(msg)) + end end function ESX.RegisterCommand(name, group, cb, allowConsole, suggestion) - if type(name) == "table" then - for _, v in ipairs(name) do - ESX.RegisterCommand(v, group, cb, allowConsole, suggestion) - end - - return - end - - if Core.RegisteredCommands[name] then - print(('[^3WARNING^7] Command ^5"%s" ^7already registered, overriding command'):format(name)) - - if Core.RegisteredCommands[name].suggestion then - TriggerClientEvent("chat:removeSuggestion", -1, ("/%s"):format(name)) - end - end - - if suggestion then - if not suggestion.arguments then - suggestion.arguments = {} - end - if not suggestion.help then - suggestion.help = "" - end - - TriggerClientEvent("chat:addSuggestion", -1, ("/%s"):format(name), suggestion.help, suggestion.arguments) - end - - Core.RegisteredCommands[name] = { group = group, cb = cb, allowConsole = allowConsole, suggestion = suggestion } - - RegisterCommand(name, function(playerId, args) - local command = Core.RegisteredCommands[name] - - if not command.allowConsole and playerId == 0 then - print(("[^3WARNING^7] ^5%s"):format(TranslateCap("commanderror_console"))) - else - local xPlayer, error = ESX.Players[playerId], nil - - if command.suggestion then - if command.suggestion.validate then - if #args ~= #command.suggestion.arguments then - error = TranslateCap("commanderror_argumentmismatch", #args, #command.suggestion.arguments) - end - end - - if not error and command.suggestion.arguments then - local newArgs = {} - - for k, v in ipairs(command.suggestion.arguments) do - if v.type then - if v.type == "number" then - local newArg = tonumber(args[k]) - - if newArg then - newArgs[v.name] = newArg - else - error = TranslateCap("commanderror_argumentmismatch_number", k) - end - elseif v.type == "player" or v.type == "playerId" then - local targetPlayer = tonumber(args[k]) - - if args[k] == "me" then - targetPlayer = playerId - end - - if targetPlayer then - local xTargetPlayer = ESX.GetPlayerFromId(targetPlayer) - - if xTargetPlayer then - if v.type == "player" then - newArgs[v.name] = xTargetPlayer - else - newArgs[v.name] = targetPlayer - end - else - error = TranslateCap("commanderror_invalidplayerid") - end - else - error = TranslateCap("commanderror_argumentmismatch_number", k) - end - elseif v.type == "string" then - local newArg = tonumber(args[k]) - if not newArg then - newArgs[v.name] = args[k] - else - error = TranslateCap("commanderror_argumentmismatch_string", k) - end - elseif v.type == "item" then - if ESX.Items[args[k]] then - newArgs[v.name] = args[k] - else - error = TranslateCap("commanderror_invaliditem") - end - elseif v.type == "weapon" then - if ESX.GetWeapon(args[k]) then - newArgs[v.name] = string.upper(args[k]) - else - error = TranslateCap("commanderror_invalidweapon") - end - elseif v.type == "any" then - newArgs[v.name] = args[k] - elseif v.type == "merge" then - local lenght = 0 - for i = 1, k - 1 do - lenght = lenght + string.len(args[i]) + 1 - end - local merge = table.concat(args, " ") - - newArgs[v.name] = string.sub(merge, lenght) - elseif v.type == "coordinate" then - local coord = tonumber(args[k]:match("(-?%d+%.?%d*)")) - if not coord then - error = TranslateCap("commanderror_argumentmismatch_number", k) - else - newArgs[v.name] = coord - end - end - end - - --backwards compatibility - if v.validate ~= nil and not v.validate then - error = nil - end - - if error then - break - end - end - - args = newArgs - end - end - - if error then - if playerId == 0 then - print(("[^3WARNING^7] %s^7"):format(error)) - else - xPlayer.showNotification(error) - end - else - cb(xPlayer or false, args, function(msg) - if playerId == 0 then - print(("[^3WARNING^7] %s^7"):format(msg)) - else - xPlayer.showNotification(msg) - end - end) - end - end - end, true) - - if type(group) == "table" then - for _, v in ipairs(group) do - ExecuteCommand(("add_ace group.%s command.%s allow"):format(v, name)) - end - else - ExecuteCommand(("add_ace group.%s command.%s allow"):format(group, name)) - end + if type(name) == "table" then + for _, v in ipairs(name) do + ESX.RegisterCommand(v, group, cb, allowConsole, suggestion) + end + + return + end + + if Core.RegisteredCommands[name] then + print(('[^3WARNING^7] Command ^5"%s" ^7already registered, overriding command'):format(name)) + + if Core.RegisteredCommands[name].suggestion then + TriggerClientEvent("chat:removeSuggestion", -1, ("/%s"):format(name)) + end + end + + if suggestion then + if not suggestion.arguments then + suggestion.arguments = {} + end + if not suggestion.help then + suggestion.help = "" + end + + TriggerClientEvent("chat:addSuggestion", -1, ("/%s"):format(name), suggestion.help, suggestion.arguments) + end + + Core.RegisteredCommands[name] = { group = group, cb = cb, allowConsole = allowConsole, suggestion = suggestion } + + RegisterCommand(name, function(playerId, args) + local command = Core.RegisteredCommands[name] + + if not command.allowConsole and playerId == 0 then + print(("[^3WARNING^7] ^5%s"):format(TranslateCap("commanderror_console"))) + else + local xPlayer, error = ESX.Players[playerId], nil + + if command.suggestion then + if command.suggestion.validate then + if #args ~= #command.suggestion.arguments then + error = TranslateCap("commanderror_argumentmismatch", #args, #command.suggestion.arguments) + end + end + + if not error and command.suggestion.arguments then + local newArgs = {} + + for k, v in ipairs(command.suggestion.arguments) do + if v.type then + if v.type == "number" then + local newArg = tonumber(args[k]) + + if newArg then + newArgs[v.name] = newArg + else + error = TranslateCap("commanderror_argumentmismatch_number", k) + end + elseif v.type == "player" or v.type == "playerId" then + local targetPlayer = tonumber(args[k]) + + if args[k] == "me" then + targetPlayer = playerId + end + + if targetPlayer then + local xTargetPlayer = ESX.GetPlayerFromId(targetPlayer) + + if xTargetPlayer then + if v.type == "player" then + newArgs[v.name] = xTargetPlayer + else + newArgs[v.name] = targetPlayer + end + else + error = TranslateCap("commanderror_invalidplayerid") + end + else + error = TranslateCap("commanderror_argumentmismatch_number", k) + end + elseif v.type == "string" then + local newArg = tonumber(args[k]) + if not newArg then + newArgs[v.name] = args[k] + else + error = TranslateCap("commanderror_argumentmismatch_string", k) + end + elseif v.type == "item" then + if ESX.Items[args[k]] then + newArgs[v.name] = args[k] + else + error = TranslateCap("commanderror_invaliditem") + end + elseif v.type == "weapon" then + if ESX.GetWeapon(args[k]) then + newArgs[v.name] = string.upper(args[k]) + else + error = TranslateCap("commanderror_invalidweapon") + end + elseif v.type == "any" then + newArgs[v.name] = args[k] + elseif v.type == "merge" then + local lenght = 0 + for i = 1, k - 1 do + lenght = lenght + string.len(args[i]) + 1 + end + local merge = table.concat(args, " ") + + newArgs[v.name] = string.sub(merge, lenght) + elseif v.type == "coordinate" then + local coord = tonumber(args[k]:match("(-?%d+%.?%d*)")) + if not coord then + error = TranslateCap("commanderror_argumentmismatch_number", k) + else + newArgs[v.name] = coord + end + end + end + + --backwards compatibility + if v.validate ~= nil and not v.validate then + error = nil + end + + if error then + break + end + end + + args = newArgs + end + end + + if error then + if playerId == 0 then + print(("[^3WARNING^7] %s^7"):format(error)) + else + xPlayer.showNotification(error) + end + else + cb(xPlayer or false, args, function(msg) + if playerId == 0 then + print(("[^3WARNING^7] %s^7"):format(msg)) + else + xPlayer.showNotification(msg) + end + end) + end + end + end, true) + + if type(group) == "table" then + for _, v in ipairs(group) do + ExecuteCommand(("add_ace group.%s command.%s allow"):format(v, name)) + end + else + ExecuteCommand(("add_ace group.%s command.%s allow"):format(group, name)) + end end local function updateHealthAndArmorInMetadata(xPlayer) - local ped = GetPlayerPed(xPlayer.source) - xPlayer.setMeta("health", GetEntityHealth(ped)) - xPlayer.setMeta("armor", GetPedArmour(ped)) + local ped = GetPlayerPed(xPlayer.source) + xPlayer.setMeta("health", GetEntityHealth(ped)) + xPlayer.setMeta("armor", GetPedArmour(ped)) end function Core.SavePlayer(xPlayer, cb) - if not xPlayer.spawned then - return cb and cb() - end - - updateHealthAndArmorInMetadata(xPlayer) - local parameters = { - json.encode(xPlayer.getAccounts(true)), - xPlayer.job.name, - xPlayer.job.grade, - xPlayer.group, - json.encode(xPlayer.getCoords()), - json.encode(xPlayer.getInventory(true)), - json.encode(xPlayer.getLoadout(true)), - json.encode(xPlayer.getMeta()), - xPlayer.identifier, - } - - MySQL.prepare( - "UPDATE `users` SET `accounts` = ?, `job` = ?, `job_grade` = ?, `group` = ?, `position` = ?, `inventory` = ?, `loadout` = ?, `metadata` = ? WHERE `identifier` = ?", - parameters, - function(affectedRows) - if affectedRows == 1 then - print(('[^2INFO^7] Saved player ^5"%s^7"'):format(xPlayer.name)) - TriggerEvent("esx:playerSaved", xPlayer.playerId, xPlayer) - end - if cb then - cb() - end - end - ) + if not xPlayer.spawned then + return cb and cb() + end + + updateHealthAndArmorInMetadata(xPlayer) + local parameters = { + json.encode(xPlayer.getAccounts(true)), + xPlayer.job.name, + xPlayer.job.grade, + xPlayer.group, + json.encode(xPlayer.getCoords()), + json.encode(xPlayer.getInventory(true)), + json.encode(xPlayer.getLoadout(true)), + json.encode(xPlayer.getMeta()), + xPlayer.identifier, + } + + MySQL.prepare( + "UPDATE `users` SET `accounts` = ?, `job` = ?, `job_grade` = ?, `group` = ?, `position` = ?, `inventory` = ?, `loadout` = ?, `metadata` = ? WHERE `identifier` = ?", + parameters, + function(affectedRows) + if affectedRows == 1 then + print(('[^2INFO^7] Saved player ^5"%s^7"'):format(xPlayer.name)) + TriggerEvent("esx:playerSaved", xPlayer.playerId, xPlayer) + end + if cb then + cb() + end + end + ) end function Core.SavePlayers(cb) - local xPlayers = ESX.Players - if not next(xPlayers) then - return - end - - local startTime = os.time() - local parameters = {} - - for _, xPlayer in pairs(ESX.Players) do - updateHealthAndArmorInMetadata(xPlayer) - parameters[#parameters + 1] = { - json.encode(xPlayer.getAccounts(true)), - xPlayer.job.name, - xPlayer.job.grade, - xPlayer.group, - json.encode(xPlayer.getCoords()), - json.encode(xPlayer.getInventory(true)), - json.encode(xPlayer.getLoadout(true)), - json.encode(xPlayer.getMeta()), - xPlayer.identifier, - } - end - - MySQL.prepare( - "UPDATE `users` SET `accounts` = ?, `job` = ?, `job_grade` = ?, `group` = ?, `position` = ?, `inventory` = ?, `loadout` = ?, `metadata` = ? WHERE `identifier` = ?", - parameters, - function(results) - if not results then - return - end - - if type(cb) == "function" then - return cb() - end - - print( - ("[^2INFO^7] Saved ^5%s^7 %s over ^5%s^7 ms"):format( - #parameters, - #parameters > 1 and "players" or "player", - ESX.Math.Round((os.time() - startTime) / 1000000, 2) - ) - ) - end - ) + local xPlayers = ESX.Players + if not next(xPlayers) then + return + end + + local startTime = os.time() + local parameters = {} + + for _, xPlayer in pairs(ESX.Players) do + updateHealthAndArmorInMetadata(xPlayer) + parameters[#parameters + 1] = { + json.encode(xPlayer.getAccounts(true)), + xPlayer.job.name, + xPlayer.job.grade, + xPlayer.group, + json.encode(xPlayer.getCoords()), + json.encode(xPlayer.getInventory(true)), + json.encode(xPlayer.getLoadout(true)), + json.encode(xPlayer.getMeta()), + xPlayer.identifier, + } + end + + MySQL.prepare( + "UPDATE `users` SET `accounts` = ?, `job` = ?, `job_grade` = ?, `group` = ?, `position` = ?, `inventory` = ?, `loadout` = ?, `metadata` = ? WHERE `identifier` = ?", + parameters, + function(results) + if not results then + return + end + + if type(cb) == "function" then + return cb() + end + + print(("[^2INFO^7] Saved ^5%s^7 %s over ^5%s^7 ms"):format(#parameters, #parameters > 1 and "players" or "player", ESX.Math.Round((os.time() - startTime) / 1000000, 2))) + end + ) end ESX.GetPlayers = GetPlayers local function checkTable(key, val, player, xPlayers) - for valIndex = 1, #val do - local value = val[valIndex] - if not xPlayers[value] then - xPlayers[value] = {} - end - - if (key == "job" and player.job.name == value) or player[key] == value then - xPlayers[value][#xPlayers[value] + 1] = player - end - end + for valIndex = 1, #val do + local value = val[valIndex] + if not xPlayers[value] then + xPlayers[value] = {} + end + + if (key == "job" and player.job.name == value) or player[key] == value then + xPlayers[value][#xPlayers[value] + 1] = player + end + end end function ESX.GetExtendedPlayers(key, val) - local xPlayers = {} - if type(val) == "table" then - for _, v in pairs(ESX.Players) do - checkTable(key, val, v, xPlayers) - end - else - for _, v in pairs(ESX.Players) do - if key then - if (key == "job" and v.job.name == val) or v[key] == val then - xPlayers[#xPlayers + 1] = v - end - else - xPlayers[#xPlayers + 1] = v - end - end - end - - return xPlayers + local xPlayers = {} + if type(val) == "table" then + for _, v in pairs(ESX.Players) do + checkTable(key, val, v, xPlayers) + end + else + for _, v in pairs(ESX.Players) do + if key then + if (key == "job" and v.job.name == val) or v[key] == val then + xPlayers[#xPlayers + 1] = v + end + else + xPlayers[#xPlayers + 1] = v + end + end + end + + return xPlayers end function ESX.GetNumPlayers(key, val) - if not key then - return #GetPlayers() - end - - if type(val) == "table" then - local numPlayers = {} - if key == "job" then - for _, v in ipairs(val) do - numPlayers[v] = (ESX.JobsPlayerCount[v] or 0) - end - return numPlayers - end - - local filteredPlayers = ESX.GetExtendedPlayers(key, val) - for i, v in pairs(filteredPlayers) do - numPlayers[i] = (#v or 0) - end - return numPlayers - end - - if key == "job" then - return (ESX.JobsPlayerCount[val] or 0) - end - - return #ESX.GetExtendedPlayers(key, val) + if not key then + return #GetPlayers() + end + + if type(val) == "table" then + local numPlayers = {} + if key == "job" then + for _, v in ipairs(val) do + numPlayers[v] = (ESX.JobsPlayerCount[v] or 0) + end + return numPlayers + end + + local filteredPlayers = ESX.GetExtendedPlayers(key, val) + for i, v in pairs(filteredPlayers) do + numPlayers[i] = (#v or 0) + end + return numPlayers + end + + if key == "job" then + return (ESX.JobsPlayerCount[val] or 0) + end + + return #ESX.GetExtendedPlayers(key, val) end function ESX.GetPlayerFromId(source) - return ESX.Players[tonumber(source)] + return ESX.Players[tonumber(source)] end function ESX.GetPlayerFromIdentifier(identifier) - return Core.playersByIdentifier[identifier] + return Core.playersByIdentifier[identifier] end function ESX.GetIdentifier(playerId) - local fxDk = GetConvarInt("sv_fxdkMode", 0) - if fxDk == 1 then - return "ESX-DEBUG-LICENCE" - end + local fxDk = GetConvarInt("sv_fxdkMode", 0) + if fxDk == 1 then + return "ESX-DEBUG-LICENCE" + end - local identifier = GetPlayerIdentifierByType(playerId, "license") - return identifier and identifier:gsub("license:", "") + local identifier = GetPlayerIdentifierByType(playerId, "license") + return identifier and identifier:gsub("license:", "") end ---@param model string|number @@ -337,79 +331,79 @@ end ---@param cb function function ESX.GetVehicleType(model, player, cb) - model = type(model) == "string" and joaat(model) or model + model = type(model) == "string" and joaat(model) or model - if Core.vehicleTypesByModel[model] then - return cb(Core.vehicleTypesByModel[model]) - end + if Core.vehicleTypesByModel[model] then + return cb(Core.vehicleTypesByModel[model]) + end - ESX.TriggerClientCallback(player, "esx:GetVehicleType", function(vehicleType) - Core.vehicleTypesByModel[model] = vehicleType - cb(vehicleType) - end, model) + ESX.TriggerClientCallback(player, "esx:GetVehicleType", function(vehicleType) + Core.vehicleTypesByModel[model] = vehicleType + cb(vehicleType) + end, model) end function ESX.DiscordLog(name, title, color, message) - local webHook = Config.DiscordLogs.Webhooks[name] or Config.DiscordLogs.Webhooks.default - local embedData = { - { - ["title"] = title, - ["color"] = Config.DiscordLogs.Colors[color] or Config.DiscordLogs.Colors.default, - ["footer"] = { - ["text"] = "| ESX Logs | " .. os.date(), - ["icon_url"] = "https://cdn.discordapp.com/attachments/944789399852417096/1020099828266586193/blanc-800x800.png", - }, - ["description"] = message, - ["author"] = { - ["name"] = "ESX Framework", - ["icon_url"] = "https://cdn.discordapp.com/emojis/939245183621558362.webp?size=128&quality=lossless", - }, - }, - } - PerformHttpRequest( - webHook, - nil, - "POST", - json.encode({ - username = "Logs", - embeds = embedData, - }), - { - ["Content-Type"] = "application/json", - } - ) + local webHook = Config.DiscordLogs.Webhooks[name] or Config.DiscordLogs.Webhooks.default + local embedData = { + { + ["title"] = title, + ["color"] = Config.DiscordLogs.Colors[color] or Config.DiscordLogs.Colors.default, + ["footer"] = { + ["text"] = "| ESX Logs | " .. os.date(), + ["icon_url"] = "https://cdn.discordapp.com/attachments/944789399852417096/1020099828266586193/blanc-800x800.png", + }, + ["description"] = message, + ["author"] = { + ["name"] = "ESX Framework", + ["icon_url"] = "https://cdn.discordapp.com/emojis/939245183621558362.webp?size=128&quality=lossless", + }, + }, + } + PerformHttpRequest( + webHook, + nil, + "POST", + json.encode({ + username = "Logs", + embeds = embedData, + }), + { + ["Content-Type"] = "application/json", + } + ) end function ESX.DiscordLogFields(name, title, color, fields) - local webHook = Config.DiscordLogs.Webhooks[name] or Config.DiscordLogs.Webhooks.default - local embedData = { - { - ["title"] = title, - ["color"] = Config.DiscordLogs.Colors[color] or Config.DiscordLogs.Colors.default, - ["footer"] = { - ["text"] = "| ESX Logs | " .. os.date(), - ["icon_url"] = "https://cdn.discordapp.com/attachments/944789399852417096/1020099828266586193/blanc-800x800.png", - }, - ["fields"] = fields, - ["description"] = "", - ["author"] = { - ["name"] = "ESX Framework", - ["icon_url"] = "https://cdn.discordapp.com/emojis/939245183621558362.webp?size=128&quality=lossless", - }, - }, - } - PerformHttpRequest( - webHook, - nil, - "POST", - json.encode({ - username = "Logs", - embeds = embedData, - }), - { - ["Content-Type"] = "application/json", - } - ) + local webHook = Config.DiscordLogs.Webhooks[name] or Config.DiscordLogs.Webhooks.default + local embedData = { + { + ["title"] = title, + ["color"] = Config.DiscordLogs.Colors[color] or Config.DiscordLogs.Colors.default, + ["footer"] = { + ["text"] = "| ESX Logs | " .. os.date(), + ["icon_url"] = "https://cdn.discordapp.com/attachments/944789399852417096/1020099828266586193/blanc-800x800.png", + }, + ["fields"] = fields, + ["description"] = "", + ["author"] = { + ["name"] = "ESX Framework", + ["icon_url"] = "https://cdn.discordapp.com/emojis/939245183621558362.webp?size=128&quality=lossless", + }, + }, + } + PerformHttpRequest( + webHook, + nil, + "POST", + json.encode({ + username = "Logs", + embeds = embedData, + }), + { + ["Content-Type"] = "application/json", + } + ) end --- Create Job at Runtime @@ -417,187 +411,159 @@ end --- @param label string --- @param grades table function ESX.CreateJob(name, label, grades) - if not name then - return print("[^3WARNING^7] missing argument `name(string)` while creating a job") - end - - if not label then - return print("[^3WARNING^7] missing argument `label(string)` while creating a job") - end - - if not grades or not next(grades) then - return print("[^3WARNING^7] missing argument `grades(table)` while creating a job!") - end - - local parameters = {} - local job = { name = name, label = label, grades = {} } - - for _, v in pairs(grades) do - job.grades[tostring(v.grade)] = { - job_name = name, - grade = v.grade, - name = v.name, - label = v.label, - salary = v.salary, - skin_male = v.skin_male or "{}", - skin_female = v.skin_female or "{}", - } - parameters[#parameters + 1] = - { name, v.grade, v.name, v.label, v.salary, v.skin_male or "{}", v.skin_female or "{}" } - end - - MySQL.insert("INSERT IGNORE INTO jobs (name, label) VALUES (?, ?)", { name, label }) - MySQL.prepare( - "INSERT INTO job_grades (job_name, grade, name, label, salary, skin_male, skin_female) VALUES (?, ?, ?, ?, ?, ?, ?)", - parameters - ) - - ESX.Jobs[name] = job + if not name then + return print("[^3WARNING^7] missing argument `name(string)` while creating a job") + end + + if not label then + return print("[^3WARNING^7] missing argument `label(string)` while creating a job") + end + + if not grades or not next(grades) then + return print("[^3WARNING^7] missing argument `grades(table)` while creating a job!") + end + + local parameters = {} + local job = { name = name, label = label, grades = {} } + + for _, v in pairs(grades) do + job.grades[tostring(v.grade)] = { job_name = name, grade = v.grade, name = v.name, label = v.label, salary = v.salary, skin_male = v.skin_male or "{}", skin_female = v.skin_female or "{}" } + parameters[#parameters + 1] = { name, v.grade, v.name, v.label, v.salary, v.skin_male or "{}", v.skin_female or "{}" } + end + + MySQL.insert("INSERT IGNORE INTO jobs (name, label) VALUES (?, ?)", { name, label }) + MySQL.prepare("INSERT INTO job_grades (job_name, grade, name, label, salary, skin_male, skin_female) VALUES (?, ?, ?, ?, ?, ?, ?)", parameters) + + ESX.Jobs[name] = job end function ESX.RefreshJobs() - local Jobs = {} - local jobs = MySQL.query.await("SELECT * FROM jobs") - - for _, v in ipairs(jobs) do - Jobs[v.name] = v - Jobs[v.name].grades = {} - end - - local jobGrades = MySQL.query.await("SELECT * FROM job_grades") - - for _, v in ipairs(jobGrades) do - if Jobs[v.job_name] then - Jobs[v.job_name].grades[tostring(v.grade)] = v - else - print(('[^3WARNING^7] Ignoring job grades for ^5"%s"^0 due to missing job'):format(v.job_name)) - end - end - - for _, v in pairs(Jobs) do - if ESX.Table.SizeOf(v.grades) == 0 then - Jobs[v.name] = nil - print(('[^3WARNING^7] Ignoring job ^5"%s"^0 due to no job grades found'):format(v.name)) - end - end - - if not Jobs then - -- Fallback data, if no jobs exist - ESX.Jobs["unemployed"] = { - label = "Unemployed", - grades = { ["0"] = { grade = 0, label = "Unemployed", salary = 200, skin_male = {}, skin_female = {} } }, - } - else - ESX.Jobs = Jobs - end + local Jobs = {} + local jobs = MySQL.query.await("SELECT * FROM jobs") + + for _, v in ipairs(jobs) do + Jobs[v.name] = v + Jobs[v.name].grades = {} + end + + local jobGrades = MySQL.query.await("SELECT * FROM job_grades") + + for _, v in ipairs(jobGrades) do + if Jobs[v.job_name] then + Jobs[v.job_name].grades[tostring(v.grade)] = v + else + print(('[^3WARNING^7] Ignoring job grades for ^5"%s"^0 due to missing job'):format(v.job_name)) + end + end + + for _, v in pairs(Jobs) do + if ESX.Table.SizeOf(v.grades) == 0 then + Jobs[v.name] = nil + print(('[^3WARNING^7] Ignoring job ^5"%s"^0 due to no job grades found'):format(v.name)) + end + end + + if not Jobs then + -- Fallback data, if no jobs exist + ESX.Jobs["unemployed"] = { label = "Unemployed", grades = { ["0"] = { grade = 0, label = "Unemployed", salary = 200, skin_male = {}, skin_female = {} } } } + else + ESX.Jobs = Jobs + end end function ESX.RegisterUsableItem(item, cb) - Core.UsableItemsCallbacks[item] = cb + Core.UsableItemsCallbacks[item] = cb end function ESX.UseItem(source, item, ...) - if ESX.Items[item] then - local itemCallback = Core.UsableItemsCallbacks[item] - - if itemCallback then - local success, result = pcall(itemCallback, source, item, ...) - - if not success then - return result and print(result) - or print( - ('[^3WARNING^7] An error occured when using item ^5"%s"^7! This was not caused by ESX.'):format( - item - ) - ) - end - end - else - print(('[^3WARNING^7] Item ^5"%s"^7 was used but does not exist!'):format(item)) - end + if ESX.Items[item] then + local itemCallback = Core.UsableItemsCallbacks[item] + + if itemCallback then + local success, result = pcall(itemCallback, source, item, ...) + + if not success then + return result and print(result) or print(('[^3WARNING^7] An error occured when using item ^5"%s"^7! This was not caused by ESX.'):format(item)) + end + end + else + print(('[^3WARNING^7] Item ^5"%s"^7 was used but does not exist!'):format(item)) + end end function ESX.RegisterPlayerFunctionOverrides(index, overrides) - Core.PlayerFunctionOverrides[index] = overrides + Core.PlayerFunctionOverrides[index] = overrides end function ESX.SetPlayerFunctionOverride(index) - if not index or not Core.PlayerFunctionOverrides[index] then - return print("[^3WARNING^7] No valid index provided.") - end + if not index or not Core.PlayerFunctionOverrides[index] then + return print("[^3WARNING^7] No valid index provided.") + end - Config.PlayerFunctionOverride = index + Config.PlayerFunctionOverride = index end function ESX.GetItemLabel(item) - if Config.OxInventory then - item = exports.ox_inventory:Items(item) - if item then - return item.label - end - end - - if ESX.Items[item] then - return ESX.Items[item].label - else - print(("[^3WARNING^7] Attemting to get invalid Item -> ^5%s^7"):format(item)) - end + if Config.OxInventory then + item = exports.ox_inventory:Items(item) + if item then + return item.label + end + end + + if ESX.Items[item] then + return ESX.Items[item].label + else + print(("[^3WARNING^7] Attemting to get invalid Item -> ^5%s^7"):format(item)) + end end function ESX.GetJobs() - return ESX.Jobs + return ESX.Jobs end function ESX.GetUsableItems() - local Usables = {} - for k in pairs(Core.UsableItemsCallbacks) do - Usables[k] = true - end - return Usables + local Usables = {} + for k in pairs(Core.UsableItemsCallbacks) do + Usables[k] = true + end + return Usables end if not Config.OxInventory then - function ESX.CreatePickup(itemType, name, count, label, playerId, components, tintIndex, coords) - local pickupId = (Core.PickupId == 65635 and 0 or Core.PickupId + 1) - local xPlayer = ESX.Players[playerId] - coords = ((type(coords) == "vector3" or type(coords) == "vector4") and coords.xyz or xPlayer.getCoords(true)) + function ESX.CreatePickup(itemType, name, count, label, playerId, components, tintIndex, coords) + local pickupId = (Core.PickupId == 65635 and 0 or Core.PickupId + 1) + local xPlayer = ESX.Players[playerId] + coords = ((type(coords) == "vector3" or type(coords) == "vector4") and coords.xyz or xPlayer.getCoords(true)) - Core.Pickups[pickupId] = { type = itemType, name = name, count = count, label = label, coords = coords } + Core.Pickups[pickupId] = { type = itemType, name = name, count = count, label = label, coords = coords } - if itemType == "item_weapon" then - Core.Pickups[pickupId].components = components - Core.Pickups[pickupId].tintIndex = tintIndex - end + if itemType == "item_weapon" then + Core.Pickups[pickupId].components = components + Core.Pickups[pickupId].tintIndex = tintIndex + end - TriggerClientEvent("esx:createPickup", -1, pickupId, label, coords, itemType, name, components, tintIndex) - Core.PickupId = pickupId - end + TriggerClientEvent("esx:createPickup", -1, pickupId, label, coords, itemType, name, components, tintIndex) + Core.PickupId = pickupId + end end function ESX.DoesJobExist(job, grade) - grade = tostring(grade) - - if job and grade then - if ESX.Jobs[job] and ESX.Jobs[job].grades[grade] then - return true - end - end - - return false + return (ESX.Jobs[job] and ESX.Jobs[job].grades[tostring(grade)] ~= nil) or false end function Core.IsPlayerAdmin(playerId) - if (IsPlayerAceAllowed(playerId, "command") or GetConvar("sv_lan", "") == "true") and true or false then - return true - end + if (IsPlayerAceAllowed(playerId, "command") or GetConvar("sv_lan", "") == "true") and true or false then + return true + end - local xPlayer = ESX.Players[playerId] + local xPlayer = ESX.Players[playerId] - if xPlayer then - if Config.AdminGroups[xPlayer.group] then - return true - end - end + if xPlayer then + if Config.AdminGroups[xPlayer.group] then + return true + end + end - return false + return false end diff --git a/server-data/resources/[esx]/es_extended/server/main.lua b/server-data/resources/[esx]/es_extended/server/main.lua index 94cf18637..d6b3e80fe 100644 --- a/server-data/resources/[esx]/es_extended/server/main.lua +++ b/server-data/resources/[esx]/es_extended/server/main.lua @@ -3,804 +3,693 @@ SetGameType("BPT FRAMEWORK") local oneSyncState = GetConvar("onesync", "off") local newPlayer = "INSERT INTO `users` SET `accounts` = ?, `identifier` = ?, `group` = ?" -local loadPlayer = - "SELECT `accounts`, `job`, `job_grade`, `group`, `position`, `inventory`, `skin`, `loadout`, `metadata`" +local loadPlayer = "SELECT `accounts`, `job`, `job_grade`, `group`, `position`, `inventory`, `skin`, `loadout`, `metadata`" if Config.Multichar then - newPlayer = newPlayer .. ", `firstname` = ?, `lastname` = ?, `dateofbirth` = ?, `sex` = ?, `height` = ?" + newPlayer = newPlayer .. ", `firstname` = ?, `lastname` = ?, `dateofbirth` = ?, `sex` = ?, `height` = ?" end if Config.StartingInventoryItems then - newPlayer = newPlayer .. ", `inventory` = ?" + newPlayer = newPlayer .. ", `inventory` = ?" end if Config.Multichar or Config.Identity then - loadPlayer = loadPlayer .. ", `firstname`, `lastname`, `dateofbirth`, `sex`, `height`" + loadPlayer = loadPlayer .. ", `firstname`, `lastname`, `dateofbirth`, `sex`, `height`" end loadPlayer = loadPlayer .. " FROM `users` WHERE identifier = ?" if Config.Multichar then - AddEventHandler("esx:onPlayerJoined", function(src, char, data) - while not next(ESX.Jobs) do - Wait(50) - end - - if not ESX.Players[src] then - local identifier = char .. ":" .. ESX.GetIdentifier(src) - if data then - createESXPlayer(identifier, src, data) - else - loadESXPlayer(identifier, src, false) - end - end - end) + AddEventHandler("esx:onPlayerJoined", function(src, char, data) + while not next(ESX.Jobs) do + Wait(50) + end + + if not ESX.Players[src] then + local identifier = char .. ":" .. ESX.GetIdentifier(src) + if data then + createESXPlayer(identifier, src, data) + else + loadESXPlayer(identifier, src, false) + end + end + end) else - RegisterNetEvent("esx:onPlayerJoined") - AddEventHandler("esx:onPlayerJoined", function() - local _source = source - while not next(ESX.Jobs) do - Wait(50) - end - - if not ESX.Players[_source] then - onPlayerJoined(_source) - end - end) + RegisterNetEvent("esx:onPlayerJoined") + AddEventHandler("esx:onPlayerJoined", function() + local _source = source + while not next(ESX.Jobs) do + Wait(50) + end + + if not ESX.Players[_source] then + onPlayerJoined(_source) + end + end) end function onPlayerJoined(playerId) - local identifier = ESX.GetIdentifier(playerId) - if identifier then - if ESX.GetPlayerFromIdentifier(identifier) then - DropPlayer( - playerId, - ("there was an error loading your character!\nError code: identifier-active-ingame\n\nThis error is caused by a player on this server who has the same identifier as you have. Make sure you are not playing on the same Rockstar account.\n\nYour Rockstar identifier: %s"):format( - identifier - ) - ) - else - local result = MySQL.scalar.await("SELECT 1 FROM users WHERE identifier = ?", { identifier }) - if result then - loadESXPlayer(identifier, playerId, false) - else - createESXPlayer(identifier, playerId) - end - end - else - DropPlayer( - playerId, - "there was an error loading your character!\nError code: identifier-missing-ingame\n\nThe cause of this error is not known, your identifier could not be found. Please come back later or report this problem to the server administration team." - ) - end + local identifier = ESX.GetIdentifier(playerId) + if identifier then + if ESX.GetPlayerFromIdentifier(identifier) then + DropPlayer( + playerId, + ("there was an error loading your character!\nError code: identifier-active-ingame\n\nThis error is caused by a player on this server who has the same identifier as you have. Make sure you are not playing on the same Rockstar account.\n\nYour Rockstar identifier: %s"):format( + identifier + ) + ) + else + local result = MySQL.scalar.await("SELECT 1 FROM users WHERE identifier = ?", { identifier }) + if result then + loadESXPlayer(identifier, playerId, false) + else + createESXPlayer(identifier, playerId) + end + end + else + DropPlayer(playerId, "there was an error loading your character!\nError code: identifier-missing-ingame\n\nThe cause of this error is not known, your identifier could not be found. Please come back later or report this problem to the server administration team.") + end end function createESXPlayer(identifier, playerId, data) - local accounts = {} - - for account, money in pairs(Config.StartingAccountMoney) do - accounts[account] = money - end - - local defaultGroup = "user" - if Core.IsPlayerAdmin(playerId) then - print(("[^2INFO^0] Player ^5%s^0 Has been granted admin permissions via ^5Ace Perms^7."):format(playerId)) - defaultGroup = "admin" - end - - local parameters = Config.Multichar - and { - json.encode(accounts), - identifier, - defaultGroup, - data.firstname, - data.lastname, - data.dateofbirth, - data.sex, - data.height, - } - or { json.encode(accounts), identifier, defaultGroup } - - if Config.StartingInventoryItems then - table.insert(parameters, json.encode(Config.StartingInventoryItems)) - end - - MySQL.prepare(newPlayer, parameters, function() - loadESXPlayer(identifier, playerId, true) - end) + local accounts = {} + + for account, money in pairs(Config.StartingAccountMoney) do + accounts[account] = money + end + + local defaultGroup = "user" + if Core.IsPlayerAdmin(playerId) then + print(("[^2INFO^0] Player ^5%s^0 Has been granted admin permissions via ^5Ace Perms^7."):format(playerId)) + defaultGroup = "admin" + end + + local parameters = Config.Multichar and { json.encode(accounts), identifier, defaultGroup, data.firstname, data.lastname, data.dateofbirth, data.sex, data.height } or { json.encode(accounts), identifier, defaultGroup } + + if Config.StartingInventoryItems then + table.insert(parameters, json.encode(Config.StartingInventoryItems)) + end + + MySQL.prepare(newPlayer, parameters, function() + loadESXPlayer(identifier, playerId, true) + end) end if not Config.Multichar then - AddEventHandler("playerConnecting", function(_, _, deferrals) - deferrals.defer() - local playerId = source - local identifier = ESX.GetIdentifier(playerId) - - if oneSyncState == "off" or oneSyncState == "legacy" then - return deferrals.done( - ("[ESX] ESX Requires Onesync Infinity to work. This server currently has Onesync set to: %s"):format( - oneSyncState - ) - ) - end - - if not Core.DatabaseConnected then - return deferrals.done( - "[ESX] OxMySQL Was Unable To Connect to your database. Please make sure it is turned on and correctly configured in your server.cfg" - ) - end - - if identifier then - if ESX.GetPlayerFromIdentifier(identifier) then - return deferrals.done( - ("[ESX] There was an error loading your character!\nError code: identifier-active\n\nThis error is caused by a player on this server who has the same identifier as you have. Make sure you are not playing on the same account.\n\nYour identifier: %s"):format( - identifier - ) - ) - else - return deferrals.done() - end - else - return deferrals.done( - "[ESX] There was an error loading your character!\nError code: identifier-missing\n\nThe cause of this error is not known, your identifier could not be found. Please come back later or report this problem to the server administration team." - ) - end - end) + AddEventHandler("playerConnecting", function(_, _, deferrals) + deferrals.defer() + local playerId = source + local identifier = ESX.GetIdentifier(playerId) + + if oneSyncState == "off" or oneSyncState == "legacy" then + return deferrals.done(("[ESX] ESX Requires Onesync Infinity to work. This server currently has Onesync set to: %s"):format(oneSyncState)) + end + + if not Core.DatabaseConnected then + return deferrals.done("[ESX] OxMySQL Was Unable To Connect to your database. Please make sure it is turned on and correctly configured in your server.cfg") + end + + if identifier then + if ESX.GetPlayerFromIdentifier(identifier) then + return deferrals.done( + ("[ESX] There was an error loading your character!\nError code: identifier-active\n\nThis error is caused by a player on this server who has the same identifier as you have. Make sure you are not playing on the same account.\n\nYour identifier: %s"):format(identifier) + ) + else + return deferrals.done() + end + else + return deferrals.done("[ESX] There was an error loading your character!\nError code: identifier-missing\n\nThe cause of this error is not known, your identifier could not be found. Please come back later or report this problem to the server administration team.") + end + end) end function loadESXPlayer(identifier, playerId, isNew) - local userData = { - accounts = {}, - inventory = {}, - loadout = {}, - weight = 0, - identifier = identifier, - firstName = "John", - lastName = "Doe", - dateofbirth = "01/01/2000", - height = 120, - dead = false, - } - - local result = MySQL.prepare.await(loadPlayer, { identifier }) - - -- Accounts - local accounts = result.accounts - accounts = (accounts and accounts ~= "") and json.decode(accounts) or {} - - for account, data in pairs(Config.Accounts) do - data.round = data.round or data.round == nil - - local index = #userData.accounts + 1 - userData.accounts[index] = { - name = account, - money = accounts[account] or Config.StartingAccountMoney[account] or 0, - label = data.label, - round = data.round, - index = index, - } - end - - -- Job - local job, grade = result.job, tostring(result.job_grade) - - if not ESX.DoesJobExist(job, grade) then - print( - ("[^3WARNING^7] Ignoring invalid job for ^5%s^7 [job: ^5%s^7, grade: ^5%s^7]"):format( - identifier, - job, - grade - ) - ) - job, grade = "unemployed", "0" - end - - jobObject, gradeObject = ESX.Jobs[job], ESX.Jobs[job].grades[grade] - - userData.job = { - id = jobObject.id, - name = jobObject.name, - label = jobObject.label, - - grade = tonumber(grade), - grade_name = gradeObject.name, - grade_label = gradeObject.label, - grade_salary = gradeObject.salary, - - skin_male = gradeObject.skin_male and json.decode(gradeObject.skin_male) or {}, - skin_female = gradeObject.skin_female and json.decode(gradeObject.skin_female) or {}, - } - - -- Inventory - if not Config.OxInventory then - local inventory = (result.inventory and result.inventory ~= "") and json.decode(result.inventory) or {} - - for name, item in pairs(ESX.Items) do - local count = inventory[name] or 0 - userData.weight += (count * item.weight) - - userData.inventory[#userData.inventory + 1] = { - name = name, - count = count, - label = item.label, - weight = item.weight, - usable = Core.UsableItemsCallbacks[name] ~= nil, - rare = item.rare, - canRemove = item.canRemove, - } - end - table.sort(userData.inventory, function(a, b) - return a.label < b.label - end) - elseif result.inventory and result.inventory ~= "" then - userData.inventory = json.decode(result.inventory) - end - - -- Group - if result.group then - if result.group == "superadmin" then - userData.group = "admin" - print("[^3WARNING^7] ^5Superadmin^7 detected, setting group to ^5admin^7") - else - userData.group = result.group - end - else - userData.group = "user" - end - - -- Loadout - if not Config.OxInventory then - if result.loadout and result.loadout ~= "" then - local loadout = json.decode(result.loadout) - - for name, weapon in pairs(loadout) do - local label = ESX.GetWeaponLabel(name) - - if label then - userData.loadout[#userData.loadout + 1] = { - name = name, - ammo = weapon.ammo, - label = label, - components = weapon.components or {}, - tintIndex = weapon.tintIndex or 0, - } - end - end - end - end - - -- Position - userData.coords = json.decode(result.position) or Config.DefaultSpawns[math.random(#Config.DefaultSpawns)] - - -- Skin - userData.skin = (result.skin and result.skin ~= "") and json.decode(result.skin) - or { sex = userData.sex == "f" and 1 or 0 } - - -- Metadata - userData.metadata = (result.metadata and result.metadata ~= "") and json.decode(result.metadata) or {} - - -- xPlayer Creation - local xPlayer = CreateExtendedPlayer( - playerId, - identifier, - userData.group, - userData.accounts, - userData.inventory, - userData.weight, - userData.job, - userData.loadout, - GetPlayerName(playerId), - userData.coords, - userData.metadata - ) - ESX.Players[playerId] = xPlayer - Core.playersByIdentifier[identifier] = xPlayer - - -- Identity - if result.firstname and result.firstname ~= "" then - userData.firstName = result.firstname - userData.lastName = result.lastname - - xPlayer.set("firstName", result.firstname) - xPlayer.set("lastName", result.lastname) - xPlayer.setName(("%s %s"):format(result.firstname, result.lastname)) - - if result.dateofbirth then - userData.dateofbirth = result.dateofbirth - xPlayer.set("dateofbirth", result.dateofbirth) - end - if result.sex then - userData.sex = result.sex - xPlayer.set("sex", result.sex) - end - if result.height then - userData.height = result.height - xPlayer.set("height", result.height) - end - end - - TriggerEvent("esx:playerLoaded", playerId, xPlayer, isNew) - userData.money = xPlayer.getMoney() - userData.maxWeight = xPlayer.getMaxWeight() - xPlayer.triggerEvent("esx:playerLoaded", userData, isNew, userData.skin) - - if not Config.OxInventory then - xPlayer.triggerEvent("esx:createMissingPickups", Core.Pickups) - else - exports.ox_inventory:setPlayerInventory(xPlayer, userData.inventory) - if isNew then - local shared = json.decode(GetConvar("inventory:accounts", '["money"]')) - - for i = 1, #shared do - local name = shared[i] - local account = Config.StartingAccountMoney[name] - if account then - exports.ox_inventory:AddItem(playerId, name, account) - end - end - end - end - xPlayer.triggerEvent("esx:registerSuggestions", Core.RegisteredCommands) - print(('[^2INFO^0] Player ^5"%s"^0 has connected to the server. ID: ^5%s^7'):format(xPlayer.getName(), playerId)) + local userData = { + accounts = {}, + inventory = {}, + loadout = {}, + weight = 0, + identifier = identifier, + firstName = "John", + lastName = "Doe", + dateofbirth = "01/01/2000", + height = 120, + dead = false, + } + + local result = MySQL.prepare.await(loadPlayer, { identifier }) + + -- Accounts + local accounts = result.accounts + accounts = (accounts and accounts ~= "") and json.decode(accounts) or {} + + for account, data in pairs(Config.Accounts) do + data.round = data.round or data.round == nil + + local index = #userData.accounts + 1 + userData.accounts[index] = { + name = account, + money = accounts[account] or Config.StartingAccountMoney[account] or 0, + label = data.label, + round = data.round, + index = index, + } + end + + -- Job + local job, grade = result.job, tostring(result.job_grade) + + if not ESX.DoesJobExist(job, grade) then + print(("[^3WARNING^7] Ignoring invalid job for ^5%s^7 [job: ^5%s^7, grade: ^5%s^7]"):format(identifier, job, grade)) + job, grade = "unemployed", "0" + end + + jobObject, gradeObject = ESX.Jobs[job], ESX.Jobs[job].grades[grade] + + userData.job = { + id = jobObject.id, + name = jobObject.name, + label = jobObject.label, + + grade = tonumber(grade), + grade_name = gradeObject.name, + grade_label = gradeObject.label, + grade_salary = gradeObject.salary, + + skin_male = gradeObject.skin_male and json.decode(gradeObject.skin_male) or {}, + skin_female = gradeObject.skin_female and json.decode(gradeObject.skin_female) or {}, + } + + -- Inventory + if not Config.OxInventory then + local inventory = (result.inventory and result.inventory ~= "") and json.decode(result.inventory) or {} + + for name, item in pairs(ESX.Items) do + local count = inventory[name] or 0 + userData.weight += (count * item.weight) + + userData.inventory[#userData.inventory + 1] = { + name = name, + count = count, + label = item.label, + weight = item.weight, + usable = Core.UsableItemsCallbacks[name] ~= nil, + rare = item.rare, + canRemove = item.canRemove, + } + end + table.sort(userData.inventory, function(a, b) + return a.label < b.label + end) + elseif result.inventory and result.inventory ~= "" then + userData.inventory = json.decode(result.inventory) + end + + -- Group + if result.group then + if result.group == "superadmin" then + userData.group = "admin" + print("[^3WARNING^7] ^5Superadmin^7 detected, setting group to ^5admin^7") + else + userData.group = result.group + end + else + userData.group = "user" + end + + -- Loadout + if not Config.OxInventory then + if result.loadout and result.loadout ~= "" then + local loadout = json.decode(result.loadout) + + for name, weapon in pairs(loadout) do + local label = ESX.GetWeaponLabel(name) + + if label then + userData.loadout[#userData.loadout + 1] = { + name = name, + ammo = weapon.ammo, + label = label, + components = weapon.components or {}, + tintIndex = weapon.tintIndex or 0, + } + end + end + end + end + + -- Position + userData.coords = json.decode(result.position) or Config.DefaultSpawns[math.random(#Config.DefaultSpawns)] + + -- Skin + userData.skin = (result.skin and result.skin ~= "") and json.decode(result.skin) or { sex = userData.sex == "f" and 1 or 0 } + + -- Metadata + userData.metadata = (result.metadata and result.metadata ~= "") and json.decode(result.metadata) or {} + + -- xPlayer Creation + local xPlayer = CreateExtendedPlayer(playerId, identifier, userData.group, userData.accounts, userData.inventory, userData.weight, userData.job, userData.loadout, GetPlayerName(playerId), userData.coords, userData.metadata) + ESX.Players[playerId] = xPlayer + Core.playersByIdentifier[identifier] = xPlayer + + -- Identity + if result.firstname and result.firstname ~= "" then + userData.firstName = result.firstname + userData.lastName = result.lastname + + xPlayer.set("firstName", result.firstname) + xPlayer.set("lastName", result.lastname) + xPlayer.setName(("%s %s"):format(result.firstname, result.lastname)) + + if result.dateofbirth then + userData.dateofbirth = result.dateofbirth + xPlayer.set("dateofbirth", result.dateofbirth) + end + if result.sex then + userData.sex = result.sex + xPlayer.set("sex", result.sex) + end + if result.height then + userData.height = result.height + xPlayer.set("height", result.height) + end + end + + TriggerEvent("esx:playerLoaded", playerId, xPlayer, isNew) + userData.money = xPlayer.getMoney() + userData.maxWeight = xPlayer.getMaxWeight() + xPlayer.triggerEvent("esx:playerLoaded", userData, isNew, userData.skin) + + if not Config.OxInventory then + xPlayer.triggerEvent("esx:createMissingPickups", Core.Pickups) + else + exports.ox_inventory:setPlayerInventory(xPlayer, userData.inventory) + if isNew then + local shared = json.decode(GetConvar("inventory:accounts", '["money"]')) + + for i = 1, #shared do + local name = shared[i] + local account = Config.StartingAccountMoney[name] + if account then + exports.ox_inventory:AddItem(playerId, name, account) + end + end + end + end + xPlayer.triggerEvent("esx:registerSuggestions", Core.RegisteredCommands) + print(('[^2INFO^0] Player ^5"%s"^0 has connected to the server. ID: ^5%s^7'):format(xPlayer.getName(), playerId)) end AddEventHandler("chatMessage", function(playerId, _, message) - local xPlayer = ESX.GetPlayerFromId(playerId) - if message:sub(1, 1) == "/" and playerId > 0 then - CancelEvent() - local commandName = message:sub(1):gmatch("%w+")() - xPlayer.showNotification(TranslateCap("commanderror_invalidcommand", commandName)) - end + local xPlayer = ESX.GetPlayerFromId(playerId) + if message:sub(1, 1) == "/" and playerId > 0 then + CancelEvent() + local commandName = message:sub(1):gmatch("%w+")() + xPlayer.showNotification(TranslateCap("commanderror_invalidcommand", commandName)) + end end) AddEventHandler("playerDropped", function(reason) - local playerId = source - local xPlayer = ESX.GetPlayerFromId(playerId) - - if xPlayer then - TriggerEvent("esx:playerDropped", playerId, reason) - local job = xPlayer.getJob().name - local currentJob = ESX.JobsPlayerCount[job] - ESX.JobsPlayerCount[job] = ((currentJob and currentJob > 0) and currentJob or 1) - 1 - GlobalState[("%s:count"):format(job)] = ESX.JobsPlayerCount[job] - Core.playersByIdentifier[xPlayer.identifier] = nil - Core.SavePlayer(xPlayer, function() - ESX.Players[playerId] = nil - end) - end + local playerId = source + local xPlayer = ESX.GetPlayerFromId(playerId) + + if xPlayer then + TriggerEvent("esx:playerDropped", playerId, reason) + local job = xPlayer.getJob().name + local currentJob = ESX.JobsPlayerCount[job] + ESX.JobsPlayerCount[job] = ((currentJob and currentJob > 0) and currentJob or 1) - 1 + GlobalState[("%s:count"):format(job)] = ESX.JobsPlayerCount[job] + Core.playersByIdentifier[xPlayer.identifier] = nil + Core.SavePlayer(xPlayer, function() + ESX.Players[playerId] = nil + end) + end end) AddEventHandler("esx:playerLoaded", function(_, xPlayer) - local job = xPlayer.getJob().name - local jobKey = ("%s:count"):format(job) + local job = xPlayer.getJob().name + local jobKey = ("%s:count"):format(job) - ESX.JobsPlayerCount[job] = (ESX.JobsPlayerCount[job] or 0) + 1 - GlobalState[jobKey] = ESX.JobsPlayerCount[job] + ESX.JobsPlayerCount[job] = (ESX.JobsPlayerCount[job] or 0) + 1 + GlobalState[jobKey] = ESX.JobsPlayerCount[job] end) AddEventHandler("esx:setJob", function(_, job, lastJob) - local lastJobKey = ("%s:count"):format(lastJob.name) - local jobKey = ("%s:count"):format(job.name) - local currentLastJob = ESX.JobsPlayerCount[lastJob.name] + local lastJobKey = ("%s:count"):format(lastJob.name) + local jobKey = ("%s:count"):format(job.name) + local currentLastJob = ESX.JobsPlayerCount[lastJob.name] - ESX.JobsPlayerCount[lastJob.name] = ((currentLastJob and currentLastJob > 0) and currentLastJob or 1) - 1 - ESX.JobsPlayerCount[job.name] = (ESX.JobsPlayerCount[job.name] or 0) + 1 + ESX.JobsPlayerCount[lastJob.name] = ((currentLastJob and currentLastJob > 0) and currentLastJob or 1) - 1 + ESX.JobsPlayerCount[job.name] = (ESX.JobsPlayerCount[job.name] or 0) + 1 - GlobalState[lastJobKey] = ESX.JobsPlayerCount[lastJob.name] - GlobalState[jobKey] = ESX.JobsPlayerCount[job.name] + GlobalState[lastJobKey] = ESX.JobsPlayerCount[lastJob.name] + GlobalState[jobKey] = ESX.JobsPlayerCount[job.name] end) AddEventHandler("esx:playerLogout", function(playerId, cb) - local xPlayer = ESX.GetPlayerFromId(playerId) - if xPlayer then - TriggerEvent("esx:playerDropped", playerId) - - Core.playersByIdentifier[xPlayer.identifier] = nil - Core.SavePlayer(xPlayer, function() - ESX.Players[playerId] = nil - if cb then - cb() - end - end) - end - TriggerClientEvent("esx:onPlayerLogout", playerId) + local xPlayer = ESX.GetPlayerFromId(playerId) + if xPlayer then + TriggerEvent("esx:playerDropped", playerId) + + Core.playersByIdentifier[xPlayer.identifier] = nil + Core.SavePlayer(xPlayer, function() + ESX.Players[playerId] = nil + if cb then + cb() + end + end) + end + TriggerClientEvent("esx:onPlayerLogout", playerId) end) if not Config.OxInventory then - RegisterNetEvent("esx:updateWeaponAmmo") - AddEventHandler("esx:updateWeaponAmmo", function(weaponName, ammoCount) - local xPlayer = ESX.GetPlayerFromId(source) - - if xPlayer then - xPlayer.updateWeaponAmmo(weaponName, ammoCount) - end - end) - - RegisterNetEvent("esx:giveInventoryItem") - AddEventHandler("esx:giveInventoryItem", function(target, itemType, itemName, itemCount) - local playerId = source - local sourceXPlayer = ESX.GetPlayerFromId(playerId) - local targetXPlayer = ESX.GetPlayerFromId(target) - local distance = #(GetEntityCoords(GetPlayerPed(playerId)) - GetEntityCoords(GetPlayerPed(target))) - if not sourceXPlayer or not targetXPlayer or distance > Config.DistanceGive then - print(("[^3WARNING^7] Player Detected Cheating: ^5%s^7"):format(GetPlayerName(playerId))) - return - end - - if itemType == "item_standard" then - local sourceItem = sourceXPlayer.getInventoryItem(itemName) - - if itemCount > 0 and sourceItem.count >= itemCount then - if targetXPlayer.canCarryItem(itemName, itemCount) then - sourceXPlayer.removeInventoryItem(itemName, itemCount) - targetXPlayer.addInventoryItem(itemName, itemCount) - - sourceXPlayer.showNotification( - TranslateCap("gave_item", itemCount, sourceItem.label, targetXPlayer.name) - ) - targetXPlayer.showNotification( - TranslateCap("received_item", itemCount, sourceItem.label, sourceXPlayer.name) - ) - else - sourceXPlayer.showNotification(TranslateCap("ex_inv_lim", targetXPlayer.name)) - end - else - sourceXPlayer.showNotification(TranslateCap("imp_invalid_quantity")) - end - elseif itemType == "item_account" then - if itemCount > 0 and sourceXPlayer.getAccount(itemName).money >= itemCount then - sourceXPlayer.removeAccountMoney(itemName, itemCount, "Gave to " .. targetXPlayer.name) - targetXPlayer.addAccountMoney(itemName, itemCount, "Received from " .. sourceXPlayer.name) - - sourceXPlayer.showNotification( - TranslateCap( - "gave_account_money", - ESX.Math.GroupDigits(itemCount), - Config.Accounts[itemName].label, - targetXPlayer.name - ) - ) - targetXPlayer.showNotification( - TranslateCap( - "received_account_money", - ESX.Math.GroupDigits(itemCount), - Config.Accounts[itemName].label, - sourceXPlayer.name - ) - ) - else - sourceXPlayer.showNotification(TranslateCap("imp_invalid_amount")) - end - elseif itemType == "item_weapon" then - if sourceXPlayer.hasWeapon(itemName) then - local weaponLabel = ESX.GetWeaponLabel(itemName) - if not targetXPlayer.hasWeapon(itemName) then - local _, weapon = sourceXPlayer.getWeapon(itemName) - local _, weaponObject = ESX.GetWeapon(itemName) - itemCount = weapon.ammo - local weaponComponents = ESX.Table.Clone(weapon.components) - local weaponTint = weapon.tintIndex - if weaponTint then - targetXPlayer.setWeaponTint(itemName, weaponTint) - end - if weaponComponents then - for _, v in pairs(weaponComponents) do - targetXPlayer.addWeaponComponent(itemName, v) - end - end - sourceXPlayer.removeWeapon(itemName) - targetXPlayer.addWeapon(itemName, itemCount) - - if weaponObject.ammo and itemCount > 0 then - local ammoLabel = weaponObject.ammo.label - sourceXPlayer.showNotification( - TranslateCap("gave_weapon_withammo", weaponLabel, itemCount, ammoLabel, targetXPlayer.name) - ) - targetXPlayer.showNotification( - TranslateCap( - "received_weapon_withammo", - weaponLabel, - itemCount, - ammoLabel, - sourceXPlayer.name - ) - ) - else - sourceXPlayer.showNotification(TranslateCap("gave_weapon", weaponLabel, targetXPlayer.name)) - targetXPlayer.showNotification(TranslateCap("received_weapon", weaponLabel, sourceXPlayer.name)) - end - else - sourceXPlayer.showNotification( - TranslateCap("gave_weapon_hasalready", targetXPlayer.name, weaponLabel) - ) - targetXPlayer.showNotification( - TranslateCap("received_weapon_hasalready", sourceXPlayer.name, weaponLabel) - ) - end - end - elseif itemType == "item_ammo" then - if sourceXPlayer.hasWeapon(itemName) then - local _, weapon = sourceXPlayer.getWeapon(itemName) - - if targetXPlayer.hasWeapon(itemName) then - local _, weaponObject = ESX.GetWeapon(itemName) - - if weaponObject.ammo then - local ammoLabel = weaponObject.ammo.label - - if weapon.ammo >= itemCount then - sourceXPlayer.removeWeaponAmmo(itemName, itemCount) - targetXPlayer.addWeaponAmmo(itemName, itemCount) - - sourceXPlayer.showNotification( - TranslateCap("gave_weapon_ammo", itemCount, ammoLabel, weapon.label, targetXPlayer.name) - ) - targetXPlayer.showNotification( - TranslateCap( - "received_weapon_ammo", - itemCount, - ammoLabel, - weapon.label, - sourceXPlayer.name - ) - ) - end - end - else - sourceXPlayer.showNotification(TranslateCap("gave_weapon_noweapon", targetXPlayer.name)) - targetXPlayer.showNotification( - TranslateCap("received_weapon_noweapon", sourceXPlayer.name, weapon.label) - ) - end - end - end - end) - - RegisterNetEvent("esx:removeInventoryItem") - AddEventHandler("esx:removeInventoryItem", function(itemType, itemName, itemCount) - local playerId = source - local xPlayer = ESX.GetPlayerFromId(playerId) - - if itemType == "item_standard" then - if itemCount == nil or itemCount < 1 then - xPlayer.showNotification(TranslateCap("imp_invalid_quantity")) - else - local xItem = xPlayer.getInventoryItem(itemName) - - if itemCount > xItem.count or xItem.count < 1 then - xPlayer.showNotification(TranslateCap("imp_invalid_quantity")) - else - xPlayer.removeInventoryItem(itemName, itemCount) - local pickupLabel = ("%s [%s]"):format(xItem.label, itemCount) - ESX.CreatePickup("item_standard", itemName, itemCount, pickupLabel, playerId) - xPlayer.showNotification(TranslateCap("threw_standard", itemCount, xItem.label)) - end - end - elseif itemType == "item_account" then - if itemCount == nil or itemCount < 1 then - xPlayer.showNotification(TranslateCap("imp_invalid_amount")) - else - local account = xPlayer.getAccount(itemName) - - if itemCount > account.money or account.money < 1 then - xPlayer.showNotification(TranslateCap("imp_invalid_amount")) - else - xPlayer.removeAccountMoney(itemName, itemCount, "Threw away") - local pickupLabel = ("%s [%s]"):format( - account.label, - TranslateCap("locale_currency", ESX.Math.GroupDigits(itemCount)) - ) - ESX.CreatePickup("item_account", itemName, itemCount, pickupLabel, playerId) - xPlayer.showNotification( - TranslateCap("threw_account", ESX.Math.GroupDigits(itemCount), string.lower(account.label)) - ) - end - end - elseif itemType == "item_weapon" then - itemName = string.upper(itemName) - - if xPlayer.hasWeapon(itemName) then - local _, weapon = xPlayer.getWeapon(itemName) - local _, weaponObject = ESX.GetWeapon(itemName) - local components, pickupLabel = ESX.Table.Clone(weapon.components) - xPlayer.removeWeapon(itemName) - - if weaponObject.ammo and weapon.ammo > 0 then - local ammoLabel = weaponObject.ammo.label - pickupLabel = ("%s [%s %s]"):format(weapon.label, weapon.ammo, ammoLabel) - xPlayer.showNotification(TranslateCap("threw_weapon_ammo", weapon.label, weapon.ammo, ammoLabel)) - else - pickupLabel = ("%s"):format(weapon.label) - xPlayer.showNotification(TranslateCap("threw_weapon", weapon.label)) - end - - ESX.CreatePickup( - "item_weapon", - itemName, - weapon.ammo, - pickupLabel, - playerId, - components, - weapon.tintIndex - ) - end - end - end) - - RegisterNetEvent("esx:useItem") - AddEventHandler("esx:useItem", function(itemName) - local source = source - local xPlayer = ESX.GetPlayerFromId(source) - local count = xPlayer.getInventoryItem(itemName).count - - if count > 0 then - ESX.UseItem(source, itemName) - else - xPlayer.showNotification(TranslateCap("act_imp")) - end - end) - - RegisterNetEvent("esx:onPickup") - AddEventHandler("esx:onPickup", function(pickupId) - local pickup, xPlayer, success = Core.Pickups[pickupId], ESX.GetPlayerFromId(source) - - if pickup then - local playerPickupDistance = #(pickup.coords - xPlayer.getCoords(true)) - if playerPickupDistance > 5.0 then - print( - ("[^3WARNING^7] Player Detected Cheating (Out of range pickup): ^5%s^7"):format( - xPlayer.getIdentifier() - ) - ) - return - end - - if pickup.type == "item_standard" then - if xPlayer.canCarryItem(pickup.name, pickup.count) then - xPlayer.addInventoryItem(pickup.name, pickup.count) - success = true - else - xPlayer.showNotification(TranslateCap("threw_cannot_pickup")) - end - elseif pickup.type == "item_account" then - success = true - xPlayer.addAccountMoney(pickup.name, pickup.count, "Picked up") - elseif pickup.type == "item_weapon" then - if xPlayer.hasWeapon(pickup.name) then - xPlayer.showNotification(TranslateCap("threw_weapon_already")) - else - success = true - xPlayer.addWeapon(pickup.name, pickup.count) - xPlayer.setWeaponTint(pickup.name, pickup.tintIndex) - - for _, v in ipairs(pickup.components) do - xPlayer.addWeaponComponent(pickup.name, v) - end - end - end - - if success then - Core.Pickups[pickupId] = nil - TriggerClientEvent("esx:removePickup", -1, pickupId) - end - end - end) + RegisterNetEvent("esx:updateWeaponAmmo") + AddEventHandler("esx:updateWeaponAmmo", function(weaponName, ammoCount) + local xPlayer = ESX.GetPlayerFromId(source) + + if xPlayer then + xPlayer.updateWeaponAmmo(weaponName, ammoCount) + end + end) + + RegisterNetEvent("esx:giveInventoryItem") + AddEventHandler("esx:giveInventoryItem", function(target, itemType, itemName, itemCount) + local playerId = source + local sourceXPlayer = ESX.GetPlayerFromId(playerId) + local targetXPlayer = ESX.GetPlayerFromId(target) + local distance = #(GetEntityCoords(GetPlayerPed(playerId)) - GetEntityCoords(GetPlayerPed(target))) + if not sourceXPlayer or not targetXPlayer or distance > Config.DistanceGive then + print(("[^3WARNING^7] Player Detected Cheating: ^5%s^7"):format(GetPlayerName(playerId))) + return + end + + if itemType == "item_standard" then + local sourceItem = sourceXPlayer.getInventoryItem(itemName) + + if itemCount > 0 and sourceItem.count >= itemCount then + if targetXPlayer.canCarryItem(itemName, itemCount) then + sourceXPlayer.removeInventoryItem(itemName, itemCount) + targetXPlayer.addInventoryItem(itemName, itemCount) + + sourceXPlayer.showNotification(TranslateCap("gave_item", itemCount, sourceItem.label, targetXPlayer.name)) + targetXPlayer.showNotification(TranslateCap("received_item", itemCount, sourceItem.label, sourceXPlayer.name)) + else + sourceXPlayer.showNotification(TranslateCap("ex_inv_lim", targetXPlayer.name)) + end + else + sourceXPlayer.showNotification(TranslateCap("imp_invalid_quantity")) + end + elseif itemType == "item_account" then + if itemCount > 0 and sourceXPlayer.getAccount(itemName).money >= itemCount then + sourceXPlayer.removeAccountMoney(itemName, itemCount, "Gave to " .. targetXPlayer.name) + targetXPlayer.addAccountMoney(itemName, itemCount, "Received from " .. sourceXPlayer.name) + + sourceXPlayer.showNotification(TranslateCap("gave_account_money", ESX.Math.GroupDigits(itemCount), Config.Accounts[itemName].label, targetXPlayer.name)) + targetXPlayer.showNotification(TranslateCap("received_account_money", ESX.Math.GroupDigits(itemCount), Config.Accounts[itemName].label, sourceXPlayer.name)) + else + sourceXPlayer.showNotification(TranslateCap("imp_invalid_amount")) + end + elseif itemType == "item_weapon" then + if sourceXPlayer.hasWeapon(itemName) then + local weaponLabel = ESX.GetWeaponLabel(itemName) + if not targetXPlayer.hasWeapon(itemName) then + local _, weapon = sourceXPlayer.getWeapon(itemName) + local _, weaponObject = ESX.GetWeapon(itemName) + itemCount = weapon.ammo + local weaponComponents = ESX.Table.Clone(weapon.components) + local weaponTint = weapon.tintIndex + if weaponTint then + targetXPlayer.setWeaponTint(itemName, weaponTint) + end + if weaponComponents then + for _, v in pairs(weaponComponents) do + targetXPlayer.addWeaponComponent(itemName, v) + end + end + sourceXPlayer.removeWeapon(itemName) + targetXPlayer.addWeapon(itemName, itemCount) + + if weaponObject.ammo and itemCount > 0 then + local ammoLabel = weaponObject.ammo.label + sourceXPlayer.showNotification(TranslateCap("gave_weapon_withammo", weaponLabel, itemCount, ammoLabel, targetXPlayer.name)) + targetXPlayer.showNotification(TranslateCap("received_weapon_withammo", weaponLabel, itemCount, ammoLabel, sourceXPlayer.name)) + else + sourceXPlayer.showNotification(TranslateCap("gave_weapon", weaponLabel, targetXPlayer.name)) + targetXPlayer.showNotification(TranslateCap("received_weapon", weaponLabel, sourceXPlayer.name)) + end + else + sourceXPlayer.showNotification(TranslateCap("gave_weapon_hasalready", targetXPlayer.name, weaponLabel)) + targetXPlayer.showNotification(TranslateCap("received_weapon_hasalready", sourceXPlayer.name, weaponLabel)) + end + end + elseif itemType == "item_ammo" then + if sourceXPlayer.hasWeapon(itemName) then + local _, weapon = sourceXPlayer.getWeapon(itemName) + + if targetXPlayer.hasWeapon(itemName) then + local _, weaponObject = ESX.GetWeapon(itemName) + + if weaponObject.ammo then + local ammoLabel = weaponObject.ammo.label + + if weapon.ammo >= itemCount then + sourceXPlayer.removeWeaponAmmo(itemName, itemCount) + targetXPlayer.addWeaponAmmo(itemName, itemCount) + + sourceXPlayer.showNotification(TranslateCap("gave_weapon_ammo", itemCount, ammoLabel, weapon.label, targetXPlayer.name)) + targetXPlayer.showNotification(TranslateCap("received_weapon_ammo", itemCount, ammoLabel, weapon.label, sourceXPlayer.name)) + end + end + else + sourceXPlayer.showNotification(TranslateCap("gave_weapon_noweapon", targetXPlayer.name)) + targetXPlayer.showNotification(TranslateCap("received_weapon_noweapon", sourceXPlayer.name, weapon.label)) + end + end + end + end) + + RegisterNetEvent("esx:removeInventoryItem") + AddEventHandler("esx:removeInventoryItem", function(itemType, itemName, itemCount) + local playerId = source + local xPlayer = ESX.GetPlayerFromId(playerId) + + if itemType == "item_standard" then + if itemCount == nil or itemCount < 1 then + xPlayer.showNotification(TranslateCap("imp_invalid_quantity")) + else + local xItem = xPlayer.getInventoryItem(itemName) + + if itemCount > xItem.count or xItem.count < 1 then + xPlayer.showNotification(TranslateCap("imp_invalid_quantity")) + else + xPlayer.removeInventoryItem(itemName, itemCount) + local pickupLabel = ("%s [%s]"):format(xItem.label, itemCount) + ESX.CreatePickup("item_standard", itemName, itemCount, pickupLabel, playerId) + xPlayer.showNotification(TranslateCap("threw_standard", itemCount, xItem.label)) + end + end + elseif itemType == "item_account" then + if itemCount == nil or itemCount < 1 then + xPlayer.showNotification(TranslateCap("imp_invalid_amount")) + else + local account = xPlayer.getAccount(itemName) + + if itemCount > account.money or account.money < 1 then + xPlayer.showNotification(TranslateCap("imp_invalid_amount")) + else + xPlayer.removeAccountMoney(itemName, itemCount, "Threw away") + local pickupLabel = ("%s [%s]"):format(account.label, TranslateCap("locale_currency", ESX.Math.GroupDigits(itemCount))) + ESX.CreatePickup("item_account", itemName, itemCount, pickupLabel, playerId) + xPlayer.showNotification(TranslateCap("threw_account", ESX.Math.GroupDigits(itemCount), string.lower(account.label))) + end + end + elseif itemType == "item_weapon" then + itemName = string.upper(itemName) + + if xPlayer.hasWeapon(itemName) then + local _, weapon = xPlayer.getWeapon(itemName) + local _, weaponObject = ESX.GetWeapon(itemName) + local components, pickupLabel = ESX.Table.Clone(weapon.components) + xPlayer.removeWeapon(itemName) + + if weaponObject.ammo and weapon.ammo > 0 then + local ammoLabel = weaponObject.ammo.label + pickupLabel = ("%s [%s %s]"):format(weapon.label, weapon.ammo, ammoLabel) + xPlayer.showNotification(TranslateCap("threw_weapon_ammo", weapon.label, weapon.ammo, ammoLabel)) + else + pickupLabel = ("%s"):format(weapon.label) + xPlayer.showNotification(TranslateCap("threw_weapon", weapon.label)) + end + + ESX.CreatePickup("item_weapon", itemName, weapon.ammo, pickupLabel, playerId, components, weapon.tintIndex) + end + end + end) + + RegisterNetEvent("esx:useItem") + AddEventHandler("esx:useItem", function(itemName) + local source = source + local xPlayer = ESX.GetPlayerFromId(source) + local count = xPlayer.getInventoryItem(itemName).count + + if count > 0 then + ESX.UseItem(source, itemName) + else + xPlayer.showNotification(TranslateCap("act_imp")) + end + end) + + RegisterNetEvent("esx:onPickup") + AddEventHandler("esx:onPickup", function(pickupId) + local pickup, xPlayer, success = Core.Pickups[pickupId], ESX.GetPlayerFromId(source) + + if pickup then + local playerPickupDistance = #(pickup.coords - xPlayer.getCoords(true)) + if playerPickupDistance > 5.0 then + print(("[^3WARNING^7] Player Detected Cheating (Out of range pickup): ^5%s^7"):format(xPlayer.getIdentifier())) + return + end + + if pickup.type == "item_standard" then + if xPlayer.canCarryItem(pickup.name, pickup.count) then + xPlayer.addInventoryItem(pickup.name, pickup.count) + success = true + else + xPlayer.showNotification(TranslateCap("threw_cannot_pickup")) + end + elseif pickup.type == "item_account" then + success = true + xPlayer.addAccountMoney(pickup.name, pickup.count, "Picked up") + elseif pickup.type == "item_weapon" then + if xPlayer.hasWeapon(pickup.name) then + xPlayer.showNotification(TranslateCap("threw_weapon_already")) + else + success = true + xPlayer.addWeapon(pickup.name, pickup.count) + xPlayer.setWeaponTint(pickup.name, pickup.tintIndex) + + for _, v in ipairs(pickup.components) do + xPlayer.addWeaponComponent(pickup.name, v) + end + end + end + + if success then + Core.Pickups[pickupId] = nil + TriggerClientEvent("esx:removePickup", -1, pickupId) + end + end + end) end ESX.RegisterServerCallback("esx:getPlayerData", function(source, cb) - local xPlayer = ESX.GetPlayerFromId(source) - - cb({ - identifier = xPlayer.identifier, - accounts = xPlayer.getAccounts(), - inventory = xPlayer.getInventory(), - job = xPlayer.getJob(), - loadout = xPlayer.getLoadout(), - money = xPlayer.getMoney(), - position = xPlayer.getCoords(true), - metadata = xPlayer.getMeta(), - }) + local xPlayer = ESX.GetPlayerFromId(source) + + cb({ + identifier = xPlayer.identifier, + accounts = xPlayer.getAccounts(), + inventory = xPlayer.getInventory(), + job = xPlayer.getJob(), + loadout = xPlayer.getLoadout(), + money = xPlayer.getMoney(), + position = xPlayer.getCoords(true), + metadata = xPlayer.getMeta(), + }) end) ESX.RegisterServerCallback("esx:isUserAdmin", function(source, cb) - cb(Core.IsPlayerAdmin(source)) + cb(Core.IsPlayerAdmin(source)) end) ESX.RegisterServerCallback("esx:getGameBuild", function(_, cb) - cb(tonumber(GetConvar("sv_enforceGameBuild", 1604))) + cb(tonumber(GetConvar("sv_enforceGameBuild", 1604))) end) ESX.RegisterServerCallback("esx:getOtherPlayerData", function(_, cb, target) - local xPlayer = ESX.GetPlayerFromId(target) - - cb({ - identifier = xPlayer.identifier, - accounts = xPlayer.getAccounts(), - inventory = xPlayer.getInventory(), - job = xPlayer.getJob(), - loadout = xPlayer.getLoadout(), - money = xPlayer.getMoney(), - position = xPlayer.getCoords(true), - metadata = xPlayer.getMeta(), - }) + local xPlayer = ESX.GetPlayerFromId(target) + + cb({ + identifier = xPlayer.identifier, + accounts = xPlayer.getAccounts(), + inventory = xPlayer.getInventory(), + job = xPlayer.getJob(), + loadout = xPlayer.getLoadout(), + money = xPlayer.getMoney(), + position = xPlayer.getCoords(true), + metadata = xPlayer.getMeta(), + }) end) ESX.RegisterServerCallback("esx:getPlayerNames", function(source, cb, players) - players[source] = nil + players[source] = nil - for playerId, _ in pairs(players) do - local xPlayer = ESX.GetPlayerFromId(playerId) + for playerId, _ in pairs(players) do + local xPlayer = ESX.GetPlayerFromId(playerId) - if xPlayer then - players[playerId] = xPlayer.getName() - else - players[playerId] = nil - end - end + if xPlayer then + players[playerId] = xPlayer.getName() + else + players[playerId] = nil + end + end - cb(players) + cb(players) end) ESX.RegisterServerCallback("esx:spawnVehicle", function(source, cb, vehData) - local ped = GetPlayerPed(source) - ESX.OneSync.SpawnVehicle( - vehData.model or `ADDER`, - vehData.coords or GetEntityCoords(ped), - vehData.coords.w or 0.0, - vehData.props or {}, - function(id) - if vehData.warp then - local vehicle = NetworkGetEntityFromNetworkId(id) - local timeout = 0 - while GetVehiclePedIsIn(ped) ~= vehicle and timeout <= 15 do - Wait(0) - TaskWarpPedIntoVehicle(ped, vehicle, -1) - timeout += 1 - end - end - cb(id) - end - ) + local ped = GetPlayerPed(source) + ESX.OneSync.SpawnVehicle(vehData.model or `ADDER`, vehData.coords or GetEntityCoords(ped), vehData.coords.w or 0.0, vehData.props or {}, function(id) + if vehData.warp then + local vehicle = NetworkGetEntityFromNetworkId(id) + local timeout = 0 + while GetVehiclePedIsIn(ped) ~= vehicle and timeout <= 15 do + Wait(0) + TaskWarpPedIntoVehicle(ped, vehicle, -1) + timeout += 1 + end + end + cb(id) + end) end) AddEventHandler("txAdmin:events:scheduledRestart", function(eventData) - if eventData.secondsRemaining == 60 then - CreateThread(function() - Wait(50000) - Core.SavePlayers() - end) - end + if eventData.secondsRemaining == 60 then + CreateThread(function() + Wait(50000) + Core.SavePlayers() + end) + end end) AddEventHandler("txAdmin:events:serverShuttingDown", function() - Core.SavePlayers() + Core.SavePlayers() end) local DoNotUse = { - ["essentialmode"] = true, - ["es_admin2"] = true, - ["basic-gamemode"] = true, - ["mapmanager"] = true, - ["fivem-map-skater"] = true, - ["fivem-map-hipster"] = true, - ["qb-core"] = true, - ["default_spawnpoint"] = true, + ["essentialmode"] = true, + ["es_admin2"] = true, + ["basic-gamemode"] = true, + ["mapmanager"] = true, + ["fivem-map-skater"] = true, + ["fivem-map-hipster"] = true, + ["qb-core"] = true, + ["default_spawnpoint"] = true, } AddEventHandler("onResourceStart", function(key) - if DoNotUse[string.lower(key)] then - while GetResourceState(key) ~= "started" do - Wait(0) - end - - StopResource(key) - print(("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5%s^7"):format(key)) - end + if DoNotUse[string.lower(key)] then + while GetResourceState(key) ~= "started" do + Wait(0) + end + + StopResource(key) + print(("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5%s^7"):format(key)) + end end) for key in pairs(DoNotUse) do - if GetResourceState(key) == "started" or GetResourceState(key) == "starting" then - StopResource(key) - print(("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5%s^7"):format(key)) - end + if GetResourceState(key) == "started" or GetResourceState(key) == "starting" then + StopResource(key) + print(("[^1ERROR^7] WE STOPPED A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5%s^7"):format(key)) + end end diff --git a/server-data/resources/[esx]/es_extended/server/onesync.lua b/server-data/resources/[esx]/es_extended/server/onesync.lua index 737918c1d..ed2324bea 100644 --- a/server-data/resources/[esx]/es_extended/server/onesync.lua +++ b/server-data/resources/[esx]/es_extended/server/onesync.lua @@ -5,87 +5,77 @@ ESX.OneSync = {} ---@param distance? number ---@param ignore? table local function getNearbyPlayers(source, closest, distance, ignore) - local result = {} - local count = 0 - local playerPed - local playerCoords - - if not distance then - distance = 100 - end - - if type(source) == "number" then - playerPed = GetPlayerPed(source) - - if not source then - error("Received invalid first argument (source); should be playerId") - return result - end - - playerCoords = GetEntityCoords(playerPed) - - if not playerCoords then - error("Received nil value (playerCoords); perhaps source is nil at first place?") - return result - end - end - - if type(source) == "vector3" then - playerCoords = source - - if not playerCoords then - error("Received nil value (playerCoords); perhaps source is nil at first place?") - return result - end - end - - for _, xPlayer in pairs(ESX.Players) do - if not ignore or not ignore[xPlayer.source] then - local entity = GetPlayerPed(xPlayer.source) - local coords = GetEntityCoords(entity) - - if not closest then - local dist = #(playerCoords - coords) - if dist <= distance then - count = count + 1 - result[count] = { - id = xPlayer.source, - ped = NetworkGetNetworkIdFromEntity(entity), - coords = coords, - dist = dist, - } - end - else - if xPlayer.source ~= source then - local dist = #(playerCoords - coords) - if dist <= (result.dist or distance) then - result = { - id = xPlayer.source, - ped = NetworkGetNetworkIdFromEntity(entity), - coords = coords, - dist = dist, - } - end - end - end - end - end - - return result + local result = {} + local count = 0 + local playerPed + local playerCoords + + if not distance then + distance = 100 + end + + if type(source) == "number" then + playerPed = GetPlayerPed(source) + + if not source then + error("Received invalid first argument (source); should be playerId") + return result + end + + playerCoords = GetEntityCoords(playerPed) + + if not playerCoords then + error("Received nil value (playerCoords); perhaps source is nil at first place?") + return result + end + end + + if type(source) == "vector3" then + playerCoords = source + + if not playerCoords then + error("Received nil value (playerCoords); perhaps source is nil at first place?") + return result + end + end + + for _, xPlayer in pairs(ESX.Players) do + if not ignore or not ignore[xPlayer.source] then + local entity = GetPlayerPed(xPlayer.source) + local coords = GetEntityCoords(entity) + + if not closest then + local dist = #(playerCoords - coords) + if dist <= distance then + count = count + 1 + result[count] = { id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist } + end + else + if xPlayer.source ~= source then + local dist = #(playerCoords - coords) + if dist <= (result.dist or distance) then + result = { id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist } + end + end + end + end + end + + return result end ---@param source vector3|number playerId or vector3 coordinates ---@param maxDistance number ---@param ignore? table playerIds to ignore, where the key is playerId and value is true function ESX.OneSync.GetPlayersInArea(source, maxDistance, ignore) - return getNearbyPlayers(source, false, maxDistance, ignore) + return getNearbyPlayers(source, false, maxDistance, ignore) end ---@param source vector3|number playerId or vector3 coordinates ---@param maxDistance number ---@param ignore? table playerIds to ignore, where the key is playerId and value is true function ESX.OneSync.GetClosestPlayer(source, maxDistance, ignore) - return getNearbyPlayers(source, true, maxDistance, ignore) + return getNearbyPlayers(source, true, maxDistance, ignore) end ---@param model number|string @@ -94,26 +84,26 @@ end ---@param properties table ---@param cb function function ESX.OneSync.SpawnVehicle(model, coords, heading, properties, cb) - local vehicleModel = joaat(model) - local vehicleProperties = properties - - CreateThread(function() - local xPlayer = ESX.OneSync.GetClosestPlayer(coords, 300) - ESX.GetVehicleType(vehicleModel, xPlayer.id, function(vehicleType) - if vehicleType then - local createdVehicle = CreateVehicleServerSetter(vehicleModel, vehicleType, coords, heading) - if not DoesEntityExist(createdVehicle) then - return print("[^1ERROR^7] Unfortunately, this vehicle has not spawned") - end - - local networkId = NetworkGetNetworkIdFromEntity(createdVehicle) - Entity(createdVehicle).state:set("VehicleProperties", vehicleProperties, true) - cb(networkId) - else - print(("[^1ERROR^7] Tried to spawn invalid vehicle - ^5%s^7!"):format(model)) - end - end) - end) + local vehicleModel = joaat(model) + local vehicleProperties = properties + + CreateThread(function() + local xPlayer = ESX.OneSync.GetClosestPlayer(coords, 300) + ESX.GetVehicleType(vehicleModel, xPlayer.id, function(vehicleType) + if vehicleType then + local createdVehicle = CreateVehicleServerSetter(vehicleModel, vehicleType, coords, heading) + if not DoesEntityExist(createdVehicle) then + return print("[^1ERROR^7] Unfortunately, this vehicle has not spawned") + end + + local networkId = NetworkGetNetworkIdFromEntity(createdVehicle) + Entity(createdVehicle).state:set("VehicleProperties", vehicleProperties, true) + cb(networkId) + else + print(("[^1ERROR^7] Tried to spawn invalid vehicle - ^5%s^7!"):format(model)) + end + end) + end) end ---@param model number|string @@ -121,18 +111,18 @@ end ---@param heading number ---@param cb function function ESX.OneSync.SpawnObject(model, coords, heading, cb) - if type(model) == "string" then - model = joaat(model) - end - local objectCoords = type(coords) == "vector3" and coords or vector3(coords.x, coords.y, coords.z) - CreateThread(function() - local entity = CreateObject(model, objectCoords, true, true) - while not DoesEntityExist(entity) do - Wait(50) - end - SetEntityHeading(entity, heading) - cb(NetworkGetNetworkIdFromEntity(entity)) - end) + if type(model) == "string" then + model = joaat(model) + end + local objectCoords = type(coords) == "vector3" and coords or vector3(coords.x, coords.y, coords.z) + CreateThread(function() + local entity = CreateObject(model, objectCoords, true, true) + while not DoesEntityExist(entity) do + Wait(50) + end + SetEntityHeading(entity, heading) + cb(NetworkGetNetworkIdFromEntity(entity)) + end) end ---@param model number|string @@ -140,16 +130,16 @@ end ---@param heading number ---@param cb function function ESX.OneSync.SpawnPed(model, coords, heading, cb) - if type(model) == "string" then - model = joaat(model) - end - CreateThread(function() - local entity = CreatePed(0, model, coords.x, coords.y, coords.z, heading, true, true) - while not DoesEntityExist(entity) do - Wait(50) - end - cb(NetworkGetNetworkIdFromEntity(entity)) - end) + if type(model) == "string" then + model = joaat(model) + end + CreateThread(function() + local entity = CreatePed(0, model, coords.x, coords.y, coords.z, heading, true, true) + while not DoesEntityExist(entity) do + Wait(50) + end + cb(NetworkGetNetworkIdFromEntity(entity)) + end) end ---@param model number|string @@ -157,33 +147,33 @@ end ---@param seat number ---@param cb function function ESX.OneSync.SpawnPedInVehicle(model, vehicle, seat, cb) - if type(model) == "string" then - model = joaat(model) - end - CreateThread(function() - local entity = CreatePedInsideVehicle(vehicle, 1, model, seat, true, true) - while not DoesEntityExist(entity) do - Wait(50) - end - cb(NetworkGetNetworkIdFromEntity(entity)) - end) + if type(model) == "string" then + model = joaat(model) + end + CreateThread(function() + local entity = CreatePedInsideVehicle(vehicle, 1, model, seat, true, true) + while not DoesEntityExist(entity) do + Wait(50) + end + cb(NetworkGetNetworkIdFromEntity(entity)) + end) end local function getNearbyEntities(entities, coords, modelFilter, maxDistance, isPed) - local nearbyEntities = {} - coords = type(coords) == "number" and GetEntityCoords(GetPlayerPed(coords)) or vector3(coords.x, coords.y, coords.z) - for _, entity in pairs(entities) do - if not isPed or (isPed and not IsPedAPlayer(entity)) then - if not modelFilter or modelFilter[GetEntityModel(entity)] then - local entityCoords = GetEntityCoords(entity) - if not maxDistance or #(coords - entityCoords) <= maxDistance then - nearbyEntities[#nearbyEntities + 1] = NetworkGetNetworkIdFromEntity(entity) - end - end - end - end - - return nearbyEntities + local nearbyEntities = {} + coords = type(coords) == "number" and GetEntityCoords(GetPlayerPed(coords)) or vector3(coords.x, coords.y, coords.z) + for _, entity in pairs(entities) do + if not isPed or (isPed and not IsPedAPlayer(entity)) then + if not modelFilter or modelFilter[GetEntityModel(entity)] then + local entityCoords = GetEntityCoords(entity) + if not maxDistance or #(coords - entityCoords) <= maxDistance then + nearbyEntities[#nearbyEntities + 1] = NetworkGetNetworkIdFromEntity(entity) + end + end + end + end + + return nearbyEntities end ---@param coords vector3 @@ -191,7 +181,7 @@ end ---@param modelFilter table models to ignore, where the key is the model hash and the value is true ---@return table function ESX.OneSync.GetPedsInArea(coords, maxDistance, modelFilter) - return getNearbyEntities(GetAllPeds(), coords, modelFilter, maxDistance, true) + return getNearbyEntities(GetAllPeds(), coords, modelFilter, maxDistance, true) end ---@param coords vector3 @@ -199,7 +189,7 @@ end ---@param modelFilter table models to ignore, where the key is the model hash and the value is true ---@return table function ESX.OneSync.GetObjectsInArea(coords, maxDistance, modelFilter) - return getNearbyEntities(GetAllObjects(), coords, modelFilter, maxDistance) + return getNearbyEntities(GetAllObjects(), coords, modelFilter, maxDistance) end ---@param coords vector3 @@ -207,44 +197,44 @@ end ---@param modelFilter table models to ignore, where the key is the model hash and the value is true ---@return table function ESX.OneSync.GetVehiclesInArea(coords, maxDistance, modelFilter) - return getNearbyEntities(GetAllVehicles(), coords, modelFilter, maxDistance) + return getNearbyEntities(GetAllVehicles(), coords, modelFilter, maxDistance) end local function getClosestEntity(entities, coords, modelFilter, isPed) - local distance, closestEntity, closestCoords = 100, nil, nil - coords = type(coords) == "number" and GetEntityCoords(GetPlayerPed(coords)) or vector3(coords.x, coords.y, coords.z) - - for _, entity in pairs(entities) do - if not isPed or (isPed and not IsPedAPlayer(entity)) then - if not modelFilter or modelFilter[GetEntityModel(entity)] then - local entityCoords = GetEntityCoords(entity) - local dist = #(coords - entityCoords) - if dist < distance then - closestEntity, distance, closestCoords = entity, dist, entityCoords - end - end - end - end - return NetworkGetNetworkIdFromEntity(closestEntity), distance, closestCoords + local distance, closestEntity, closestCoords = 100, nil, nil + coords = type(coords) == "number" and GetEntityCoords(GetPlayerPed(coords)) or vector3(coords.x, coords.y, coords.z) + + for _, entity in pairs(entities) do + if not isPed or (isPed and not IsPedAPlayer(entity)) then + if not modelFilter or modelFilter[GetEntityModel(entity)] then + local entityCoords = GetEntityCoords(entity) + local dist = #(coords - entityCoords) + if dist < distance then + closestEntity, distance, closestCoords = entity, dist, entityCoords + end + end + end + end + return NetworkGetNetworkIdFromEntity(closestEntity), distance, closestCoords end ---@param coords vector3 ---@param modelFilter table models to ignore, where the key is the model hash and the value is true ---@return number entityId, number distance, vector3 coords function ESX.OneSync.GetClosestPed(coords, modelFilter) - return getClosestEntity(GetAllPeds(), coords, modelFilter, true) + return getClosestEntity(GetAllPeds(), coords, modelFilter, true) end ---@param coords vector3 ---@param modelFilter table models to ignore, where the key is the model hash and the value is true ---@return number entityId, number distance, vector3 coords function ESX.OneSync.GetClosestObject(coords, modelFilter) - return getClosestEntity(GetAllObjects(), coords, modelFilter) + return getClosestEntity(GetAllObjects(), coords, modelFilter) end ---@param coords vector3 ---@param modelFilter table models to ignore, where the key is the model hash and the value is true ---@return number entityId, number distance, vector3 coords function ESX.OneSync.GetClosestVehicle(coords, modelFilter) - return getClosestEntity(GetAllVehicles(), coords, modelFilter) + return getClosestEntity(GetAllVehicles(), coords, modelFilter) end diff --git a/server-data/resources/[esx]/es_extended/server/paycheck.lua b/server-data/resources/[esx]/es_extended/server/paycheck.lua index 47bb68110..ef317e5d0 100644 --- a/server-data/resources/[esx]/es_extended/server/paycheck.lua +++ b/server-data/resources/[esx]/es_extended/server/paycheck.lua @@ -1,108 +1,68 @@ function StartPayCheck() - CreateThread(function() - while true do - Wait(Config.PaycheckInterval) - for player, xPlayer in pairs(ESX.Players) do - local jobLabel = xPlayer.job.label - local job = xPlayer.job.grade_name - local salary = xPlayer.job.grade_salary + CreateThread(function() + while true do + Wait(Config.PaycheckInterval) + for player, xPlayer in pairs(ESX.Players) do + local jobLabel = xPlayer.job.label + local job = xPlayer.job.grade_name + local salary = xPlayer.job.grade_salary - if salary > 0 then - if job == "unemployed" then -- unemployed - xPlayer.addAccountMoney("bank", salary, "Welfare Check") - TriggerClientEvent( - "esx:showAdvancedNotification", - player, - TranslateCap("bank"), - TranslateCap("received_paycheck"), - TranslateCap("received_help", salary), - "CHAR_BANK_MAZE", - 9 - ) - if Config.LogPaycheck then - ESX.DiscordLogFields("Paycheck", "Paycheck - Unemployment Benefits", "green", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, - { name = "Amount", value = salary, inline = true }, - }) - end - elseif Config.EnableSocietyPayouts then -- possibly a society - TriggerEvent("esx_society:getSociety", xPlayer.job.name, function(society) - if society ~= nil then -- verified society - TriggerEvent("esx_addonaccount:getSharedAccount", society.account, function(account) - if account.money >= salary then -- does the society money to pay its employees? - xPlayer.addAccountMoney("bank", salary, "Paycheck") - account.removeMoney(salary) - if Config.LogPaycheck then - ESX.DiscordLogFields("Paycheck", "Paycheck - " .. jobLabel, "green", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, - { name = "Amount", value = salary, inline = true }, - }) - end + if salary > 0 then + if job == "unemployed" then -- unemployed + xPlayer.addAccountMoney("bank", salary, "Welfare Check") + TriggerClientEvent("esx:showAdvancedNotification", player, TranslateCap("bank"), TranslateCap("received_paycheck"), TranslateCap("received_help", salary), "CHAR_BANK_MAZE", 9) + if Config.LogPaycheck then + ESX.DiscordLogFields("Paycheck", "Paycheck - Unemployment Benefits", "green", { + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, + { name = "Amount", value = salary, inline = true }, + }) + end + elseif Config.EnableSocietyPayouts then -- possibly a society + TriggerEvent("esx_society:getSociety", xPlayer.job.name, function(society) + if society ~= nil then -- verified society + TriggerEvent("esx_addonaccount:getSharedAccount", society.account, function(account) + if account.money >= salary then -- does the society money to pay its employees? + xPlayer.addAccountMoney("bank", salary, "Paycheck") + account.removeMoney(salary) + if Config.LogPaycheck then + ESX.DiscordLogFields("Paycheck", "Paycheck - " .. jobLabel, "green", { + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, + { name = "Amount", value = salary, inline = true }, + }) + end - TriggerClientEvent( - "esx:showAdvancedNotification", - player, - TranslateCap("bank"), - TranslateCap("received_paycheck"), - TranslateCap("received_salary", salary), - "CHAR_BANK_MAZE", - 9 - ) - else - TriggerClientEvent( - "esx:showAdvancedNotification", - player, - TranslateCap("bank"), - "", - TranslateCap("company_nomoney"), - "CHAR_BANK_MAZE", - 1 - ) - end - end) - else -- not a society - xPlayer.addAccountMoney("bank", salary, "Paycheck") - if Config.LogPaycheck then - ESX.DiscordLogFields("Paycheck", "Paycheck - " .. jobLabel, "green", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, - { name = "Amount", value = salary, inline = true }, - }) - end - TriggerClientEvent( - "esx:showAdvancedNotification", - player, - TranslateCap("bank"), - TranslateCap("received_paycheck"), - TranslateCap("received_salary", salary), - "CHAR_BANK_MAZE", - 9 - ) - end - end) - else -- generic job - xPlayer.addAccountMoney("bank", salary, "Paycheck") - if Config.LogPaycheck then - ESX.DiscordLogFields("Paycheck", "Paycheck - Generic", "green", { - { name = "Player", value = xPlayer.name, inline = true }, - { name = "ID", value = xPlayer.source, inline = true }, - { name = "Amount", value = salary, inline = true }, - }) - end - TriggerClientEvent( - "esx:showAdvancedNotification", - player, - TranslateCap("bank"), - TranslateCap("received_paycheck"), - TranslateCap("received_salary", salary), - "CHAR_BANK_MAZE", - 9 - ) - end - end - end - end - end) + TriggerClientEvent("esx:showAdvancedNotification", player, TranslateCap("bank"), TranslateCap("received_paycheck"), TranslateCap("received_salary", salary), "CHAR_BANK_MAZE", 9) + else + TriggerClientEvent("esx:showAdvancedNotification", player, TranslateCap("bank"), "", TranslateCap("company_nomoney"), "CHAR_BANK_MAZE", 1) + end + end) + else -- not a society + xPlayer.addAccountMoney("bank", salary, "Paycheck") + if Config.LogPaycheck then + ESX.DiscordLogFields("Paycheck", "Paycheck - " .. jobLabel, "green", { + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, + { name = "Amount", value = salary, inline = true }, + }) + end + TriggerClientEvent("esx:showAdvancedNotification", player, TranslateCap("bank"), TranslateCap("received_paycheck"), TranslateCap("received_salary", salary), "CHAR_BANK_MAZE", 9) + end + end) + else -- generic job + xPlayer.addAccountMoney("bank", salary, "Paycheck") + if Config.LogPaycheck then + ESX.DiscordLogFields("Paycheck", "Paycheck - Generic", "green", { + { name = "Player", value = xPlayer.name, inline = true }, + { name = "ID", value = xPlayer.source, inline = true }, + { name = "Amount", value = salary, inline = true }, + }) + end + TriggerClientEvent("esx:showAdvancedNotification", player, TranslateCap("bank"), TranslateCap("received_paycheck"), TranslateCap("received_salary", salary), "CHAR_BANK_MAZE", 9) + end + end + end + end + end) end