diff --git a/[core]/es_extended/client/common.lua b/[core]/es_extended/client/common.lua
index e18f2884b..26020ace2 100644
--- a/[core]/es_extended/client/common.lua
+++ b/[core]/es_extended/client/common.lua
@@ -5,8 +5,3 @@ end)
if GetResourceState('ox_inventory') ~= 'missing' then
Config.OxInventory = true
end
-
-AddEventHandler("esx:getSharedObject", function()
- local Invoke = GetInvokingResource()
- print(("[^1ERROR^7] Resource ^5%s^7 Used the ^5getSharedObject^7 Event, this event ^1no longer exists!^7 Visit https://documentation.esx-framework.org/tutorials/tutorials-esx/sharedevent for how to fix!"):format(Invoke))
-end)
diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua
index 63955e737..c65c8c5f4 100644
--- a/[core]/es_extended/client/functions.lua
+++ b/[core]/es_extended/client/functions.lua
@@ -70,17 +70,18 @@ function ESX.Progressbar(message, length, Options)
print("[^1ERROR^7] ^5ESX Progressbar^7 is Missing!")
end
-function ESX.ShowNotification(message, notifyType, length)
+function ESX.ShowNotification(message, type, length)
if GetResourceState("esx_notify") ~= "missing" then
- return exports["esx_notify"]:Notify(notifyType, length, message)
+ message = message:gsub("~(.-)~", "")
+ return exports['okokNotify']:Alert('System', message, 10000, 'info')
end
print("[^1ERROR^7] ^5ESX Notify^7 is Missing!")
end
-function ESX.TextUI(message, notifyType)
+function ESX.TextUI(message, type)
if GetResourceState("esx_textui") ~= "missing" then
- return exports["esx_textui"]:TextUI(message, notifyType)
+ return exports['okokTextUI']:Open(message, 'darkgrey', 'right')
end
print("[^1ERROR^7] ^5ESX TextUI^7 is Missing!")
@@ -88,7 +89,7 @@ end
function ESX.HideUI()
if GetResourceState("esx_textui") ~= "missing" then
- return exports["esx_textui"]:HideUI()
+ return exports['okokTextUI']:Close()
end
print("[^1ERROR^7] ^5ESX TextUI^7 is Missing!")
@@ -140,24 +141,41 @@ ESX.HashString = function(str)
return input_map
end
-local contextAvailable = GetResourceState("esx_context") ~= "missing"
+if GetResourceState("esx_context") ~= "missing" then
+ function ESX.OpenContext(...)
+ exports["esx_context"]:Open(...)
+ end
-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!")
-end
+ function ESX.PreviewContext(...)
+ exports["esx_context"]:Preview(...)
+ 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!")
-end
+ function ESX.CloseContext(...)
+ exports["esx_context"]:Close(...)
+ 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!")
-end
+ function ESX.RefreshContext(...)
+ exports["esx_context"]:Refresh(...)
+ end
+else
+ function ESX.OpenContext()
+ print("[^1ERROR^7] Tried to ^5open^7 context menu, but ^5esx_context^7 is missing!")
+ end
+
+ function ESX.PreviewContext()
+ print("[^1ERROR^7] Tried to ^5preview^7 context menu, but ^5esx_context^7 is missing!")
+ end
+
+ function ESX.CloseContext()
+ 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!")
+ function ESX.RefreshContext()
+ print("[^1ERROR^7] Tried to ^5Refresh^7 context menu, but ^5esx_context^7 is missing!")
+ end
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)
@@ -167,19 +185,18 @@ ESX.RegisterInput = function(command_name, label, input_group, key, on_press, on
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] = {
+function ESX.UI.Menu.RegisterType(type, open, close)
+ ESX.UI.Menu.RegisteredTypes[type] = {
open = open,
close = close
}
end
-function ESX.UI.Menu.Open(menuType, namespace, name, data, submit, cancel, change, close)
+function ESX.UI.Menu.Open(type, namespace, name, data, submit, cancel, change, close)
local menu = {}
- menu.type = menuType
+ menu.type = type
menu.namespace = namespace
- menu.resourceName = (GetInvokingResource() or "Unknown")
menu.name = name
menu.data = data
menu.submit = submit
@@ -187,11 +204,11 @@ function ESX.UI.Menu.Open(menuType, namespace, name, data, submit, cancel, chang
menu.change = change
menu.close = function()
- ESX.UI.Menu.RegisteredTypes[menuType].close(namespace, name)
+ ESX.UI.Menu.RegisteredTypes[type].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
+ if ESX.UI.Menu.Opened[i].type == type and ESX.UI.Menu.Opened[i].namespace == namespace and
ESX.UI.Menu.Opened[i].name == name then
ESX.UI.Menu.Opened[i] = nil
end
@@ -222,7 +239,7 @@ function ESX.UI.Menu.Open(menuType, namespace, name, data, submit, cancel, chang
end
menu.refresh = function()
- ESX.UI.Menu.RegisteredTypes[menuType].open(namespace, name, menu.data)
+ ESX.UI.Menu.RegisteredTypes[type].open(namespace, name, menu.data)
end
menu.setElement = function(i, key, val)
@@ -251,15 +268,15 @@ function ESX.UI.Menu.Open(menuType, namespace, name, data, submit, cancel, chang
end
ESX.UI.Menu.Opened[#ESX.UI.Menu.Opened + 1] = menu
- ESX.UI.Menu.RegisteredTypes[menuType].open(namespace, name, data)
+ ESX.UI.Menu.RegisteredTypes[type].open(namespace, name, data)
return menu
end
-function ESX.UI.Menu.Close(menuType, namespace, name)
+function ESX.UI.Menu.Close(type, 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
+ if ESX.UI.Menu.Opened[i].type == type 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
@@ -277,10 +294,10 @@ function ESX.UI.Menu.CloseAll()
end
end
-function ESX.UI.Menu.GetOpened(menuType, namespace, name)
+function ESX.UI.Menu.GetOpened(type, 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
+ if ESX.UI.Menu.Opened[i].type == type and ESX.UI.Menu.Opened[i].namespace == namespace and
ESX.UI.Menu.Opened[i].name == name then
return ESX.UI.Menu.Opened[i]
end
@@ -292,8 +309,8 @@ function ESX.UI.Menu.GetOpenedMenus()
return ESX.UI.Menu.Opened
end
-function ESX.UI.Menu.IsOpen(menuType, namespace, name)
- return ESX.UI.Menu.GetOpened(menuType, namespace, name) ~= nil
+function ESX.UI.Menu.IsOpen(type, namespace, name)
+ return ESX.UI.Menu.GetOpened(type, namespace, name) ~= nil
end
function ESX.UI.ShowInventoryItemNotification(add, item, count)
@@ -604,13 +621,23 @@ function ESX.Game.GetVehicleProperties(vehicle)
end
end
+--[[ local modLivery = GetVehicleMod(vehicle, 48)
+ if GetVehicleMod(vehicle, 48) == -1 and GetVehicleLivery(vehicle) ~= 0 then
+ modLivery = GetVehicleLivery(vehicle)
+ end ]]
+
+ local driftTyresEnabled = false
+ if type(GetDriftTyresEnabled(vehicle) == "boolean") and GetDriftTyresEnabled(vehicle) then
+ driftTyresEnabled = true
+ 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.
+ 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.
}
@@ -632,6 +659,12 @@ function ESX.Game.GetVehicleProperties(vehicle)
end
end
+ local vState = Entity(vehicle).state
+ local flameThrower = false
+ if vState and vState.flameThrower then
+ flameThrower = vState.flameThrower
+ end
+
return {
model = GetEntityModel(vehicle),
doorsBroken = doorsBroken,
@@ -668,6 +701,7 @@ function ESX.Game.GetVehicleProperties(vehicle)
neonColor = table.pack(GetVehicleNeonLightsColour(vehicle)),
extras = extras,
+ driftTyresEnabled = driftTyresEnabled,
tyreSmokeColor = table.pack(GetVehicleTyreSmokeColor(vehicle)),
modSpoilers = GetVehicleMod(vehicle, 0),
@@ -722,7 +756,8 @@ function ESX.Game.GetVehicleProperties(vehicle)
modTank = GetVehicleMod(vehicle, 45),
modWindows = GetVehicleMod(vehicle, 46),
modLivery = GetVehicleMod(vehicle, 48) == -1 and GetVehicleLivery(vehicle) or GetVehicleMod(vehicle, 48),
- modLightbar = GetVehicleMod(vehicle, 49)
+ modLightbar = GetVehicleMod(vehicle, 49),
+ flameThrower = flameThrower,
}
end
@@ -808,6 +843,10 @@ function ESX.Game.SetVehicleProperties(vehicle, props)
end
end
+ if props.driftTyresEnabled then
+ SetDriftTyresEnabled(vehicle, true)
+ end
+
if props.neonColor ~= nil then
SetVehicleNeonLightsColour(vehicle, props.neonColor[1], props.neonColor[2], props.neonColor[3])
end
@@ -964,6 +1003,10 @@ function ESX.Game.SetVehicleProperties(vehicle, props)
SetVehicleLivery(vehicle, props.modLivery)
end
+ if props.flameThrower then
+ TriggerServerEvent('flametune:force', VehToNet(vehicle), props.flameThrower)
+ end
+
if props.windowsBroken ~= nil then
for k, v in pairs(props.windowsBroken) do
if v then
@@ -1006,7 +1049,7 @@ function ESX.Game.Utils.DrawText3D(coords, text, size, font)
local fov = (1 / GetGameplayCamFov()) * 100
scale = scale * fov
- SetTextScale(0.0, 0.55 * scale)
+ SetTextScale(0.0 * scale, 0.55 * scale)
SetTextFont(font)
SetTextProportional(1)
SetTextColour(255, 255, 255, 215)
@@ -1036,7 +1079,7 @@ function ESX.ShowInventory()
local playerPed = ESX.PlayerData.ped
local elements = {
- { unselectable = true, icon = 'fas fa-box' }
+ { unselectable = true, icon = 'fas fa-box', title = 'Player Inventory' }
}
local currentWeight = 0
@@ -1075,10 +1118,7 @@ function ESX.ShowInventory()
end
end
- elements[1].title = TranslateCap('inventory', currentWeight, Config.MaxWeight)
-
- for i = 1, #Config.Weapons do
- local v = Config.Weapons[i]
+ for _, v in ipairs(Config.Weapons) do
local weaponHash = joaat(v.name)
if HasPedGotWeapon(playerPed, weaponHash, false) then
@@ -1099,6 +1139,12 @@ function ESX.ShowInventory()
end
end
+ elements[#elements + 1] = {
+ unselectable = true,
+ icon = "fas fa-weight",
+ title = "Current Weight: " .. currentWeight
+ }
+
ESX.CloseContext()
ESX.OpenContext("right", elements, function(_, element)
@@ -1153,7 +1199,7 @@ function ESX.ShowInventory()
}
ESX.OpenContext("right", elements2, function(_, element2)
- local item, itemType = element2.value, element2.type
+ local item, type = element2.value, element2.type
if element2.action == "give" then
local playersNearby = ESX.Game.GetPlayersInArea(GetEntityCoords(playerPed), 3.0)
@@ -1186,8 +1232,8 @@ function ESX.ShowInventory()
local selectedPlayerPed = GetPlayerPed(selectedPlayer)
if IsPedOnFoot(selectedPlayerPed) and not IsPedFalling(selectedPlayerPed) then
- if itemType == 'item_weapon' then
- TriggerServerEvent('esx:giveInventoryItem', selectedPlayerId, itemType, item, nil)
+ if type == 'item_weapon' then
+ TriggerServerEvent('esx:giveInventoryItem', selectedPlayerId, type, item, nil)
ESX.CloseContext()
else
local elementsG = {
@@ -1200,7 +1246,7 @@ function ESX.ShowInventory()
local quantity = tonumber(menuG.eles[2].inputValue)
if quantity and quantity > 0 and element.count >= quantity then
- TriggerServerEvent('esx:giveInventoryItem', selectedPlayerId, itemType, item, quantity)
+ TriggerServerEvent('esx:giveInventoryItem', selectedPlayerId, type, item, quantity)
ESX.CloseContext()
else
ESX.ShowNotification(TranslateCap('amount_invalid'))
@@ -1222,12 +1268,12 @@ function ESX.ShowInventory()
local dict, anim = 'weapons@first_person@aim_rng@generic@projectile@sticky_bomb@', 'plant_floor'
ESX.Streaming.RequestAnimDict(dict)
- if itemType == 'item_weapon' then
+ if type == '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)
+ TriggerServerEvent('esx:removeInventoryItem', type, item)
else
local elementsR = {
{ unselectable = true, icon = "fas fa-trash", title = element.title },
@@ -1243,7 +1289,7 @@ function ESX.ShowInventory()
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)
+ TriggerServerEvent('esx:removeInventoryItem', type, item, quantity)
else
ESX.ShowNotification(TranslateCap('amount_invalid'))
end
@@ -1299,8 +1345,8 @@ function ESX.ShowInventory()
end
RegisterNetEvent('esx:showNotification')
-AddEventHandler('esx:showNotification', function(msg, notifyType, length)
- ESX.ShowNotification(msg, notifyType, length)
+AddEventHandler('esx:showNotification', function(msg, type, length)
+ ESX.ShowNotification(msg, type, length)
end)
RegisterNetEvent('esx:showAdvancedNotification')
@@ -1314,60 +1360,13 @@ AddEventHandler('esx:showHelpNotification', function(msg, thisFrame, beep, durat
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
-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
-}
-
---@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]
+
+ if model == `submersible` or model == `submersible2` then
+ return 'submarine'
end
local vehicleType = GetVehicleClassFromName(model)
diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua
index 3804cfc10..787465ba0 100644
--- a/[core]/es_extended/client/main.lua
+++ b/[core]/es_extended/client/main.lua
@@ -59,18 +59,10 @@ AddEventHandler('esx:playerLoaded', function(xPlayer, isNew, skin)
end
local playerId = PlayerId()
- 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
-
- -- RemoveHudComponents
- for i = 1, #(Config.RemoveHudComponents) do
- if Config.RemoveHudComponents[i] then
+
+ -- RemoveHudCommonents
+ for i = 1, #(Config.RemoveHudCommonents) do
+ if Config.RemoveHudCommonents[i] then
SetHudComponentPosition(i, 999999.0, 999999.0)
end
end
@@ -92,15 +84,11 @@ AddEventHandler('esx:playerLoaded', function(xPlayer, isNew, skin)
end)
end
- if Config.DisableHealthRegeneration then
- SetPlayerHealthRechargeMultiplier(playerId, 0.0)
- end
-
- if Config.DisableWeaponWheel or Config.DisableAimAssist or Config.DisableVehicleRewards then
+ if Config.DisableHealthRegeneration or Config.DisableWeaponWheel or Config.DisableAimAssist or Config.DisableVehicleRewards then
CreateThread(function()
while true do
- if Config.DisableDisplayAmmo then
- DisplayAmmoThisFrame(false)
+ if Config.DisableHealthRegeneration then
+ SetPlayerHealthRechargeMultiplier(playerId, 0.0)
end
if Config.DisableWeaponWheel then
@@ -343,7 +331,7 @@ if not Config.OxInventory then
end)
RegisterNetEvent('esx:removeWeapon')
- AddEventHandler('esx:removeWeapon', function()
+ AddEventHandler('esx:removeWeapon', function(weapon)
print("[^1ERROR^7] event ^5'esx:removeWeapon'^7 Has Been Removed. Please use ^5xPlayer.removeWeapon^7 Instead!")
end)
@@ -361,7 +349,7 @@ end)
if not Config.OxInventory then
RegisterNetEvent('esx:createPickup')
- AddEventHandler('esx:createPickup', function(pickupId, label, coords, itemType, name, components, tintIndex)
+ AddEventHandler('esx:createPickup', function(pickupId, label, coords, type, name, components, tintIndex)
local function setObjectProperties(object)
SetEntityAsMissionEntity(object, true, false)
PlaceObjectOnGroundProperly(object)
@@ -372,11 +360,11 @@ if not Config.OxInventory then
obj = object,
label = label,
inRange = false,
- coords = coords
+ coords = vector3(coords.x, coords.y, coords.z)
}
end
- if itemType == 'item_weapon' then
+ if type == '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)
@@ -396,7 +384,7 @@ if not Config.OxInventory then
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
+ TriggerEvent('esx:createPickup', pickupId, pickup.label, pickup.coords - vector3(0, 0, 1.0), pickup.type, pickup.name
, pickup.components, pickup.tintIndex)
end
end)
@@ -515,7 +503,7 @@ if not Config.OxInventory then
end)
end
------ Admin commands from esx_adminplus
+----- Admin commnads from esx_adminplus
RegisterNetEvent("esx:tpm")
AddEventHandler("esx:tpm", function()
@@ -667,7 +655,7 @@ AddEventHandler("esx:noclip", function()
CreateThread(noclipThread)
end
- ESX.ShowNotification(TranslateCap('noclip_message', noclip and Translate('enabled') or Translate('disabled')), true, false, 140)
+ ESX.ShowNotification(TranslateCap('noclip_message', noclip and "enabled" or "disabled"), true, false, 140)
end)
end)
@@ -676,16 +664,6 @@ AddEventHandler("esx:killPlayer", function()
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)
-end)
-
RegisterNetEvent("esx:freezePlayer")
AddEventHandler("esx:freezePlayer", function(input)
local player = PlayerId()
@@ -704,6 +682,27 @@ ESX.RegisterClientCallback("esx:GetVehicleType", function(cb, model)
cb(ESX.GetVehicleType(model))
end)
-AddStateBagChangeHandler('metadata', 'player:' .. tostring(GetPlayerServerId(PlayerId())), function(_, key, val)
+local DoNotUse = {
+ 'essentialmode',
+ 'es_admin2',
+ 'basic-gamemode',
+ 'mapmanager',
+ 'fivem-map-skater',
+ 'fivem-map-hipster',
+ 'qb-core',
+ 'default_spawnpoint',
+}
+
+for i = 1, #DoNotUse do
+ if GetResourceState(DoNotUse[i]) == 'started' or GetResourceState(DoNotUse[i]) == 'starting' then
+ print("[^1ERROR^7] YOU ARE USING A RESOURCE THAT WILL BREAK ^1ESX^7, PLEASE REMOVE ^5" .. DoNotUse[i] .. "^7")
+ end
+end
+
+RegisterNetEvent('esx:updatePlayerData', function(key, val)
ESX.SetPlayerData(key, val)
end)
+
+AddEventHandler("esx:getSharedObject", function(cb)
+ cb(ESX)
+end)
\ No newline at end of file
diff --git a/[core]/es_extended/client/modules/actions.lua b/[core]/es_extended/client/modules/actions.lua
index 2e4e0e675..219c35082 100644
--- a/[core]/es_extended/client/modules/actions.lua
+++ b/[core]/es_extended/client/modules/actions.lua
@@ -15,16 +15,12 @@ local function GetData(vehicle)
end
local model = GetEntityModel(vehicle)
local displayName = GetDisplayNameFromVehicleModel(model)
- local netId = vehicle
- if NetworkGetEntityIsNetworked(vehicle) then
- netId = VehToNet(vehicle)
- end
+ local netId = VehToNet(vehicle)
return displayName, netId
end
CreateThread(function()
while true do
- ESX.SetPlayerData('coords',GetEntityCoords(playerPed))
if playerPed ~= PlayerPedId() then
playerPed = PlayerPedId()
ESX.SetPlayerData('ped', playerPed)
diff --git a/[core]/es_extended/config.logs.lua b/[core]/es_extended/config.logs.lua
index 34f916418..147b278d4 100644
--- a/[core]/es_extended/config.logs.lua
+++ b/[core]/es_extended/config.logs.lua
@@ -3,9 +3,11 @@ Config.DiscordLogs = {
default = '',
test = '',
Chat = '',
- UserActions = '',
+ UserActions = 'https://discord.com/api/webhooks/1128002948014817450/nc068--kUU-sropH7XfcJUhz6Klj5YCm9klhGRLQepqaWlVgpRud6dqoysLQs_3valqy',
Resources = '',
- Paycheck = ''
+ Paycheck = '',
+ TXUnbans = 'https://discord.com/api/webhooks/1139944266047692860/AhwNRPrfs8lSpa3FB1kkG6UJTDdI_I8x0WE6cOFwDJkg8zWiV_Xt7I0h2ZlM3rfMDxoF',
+ Keys = 'https://discord.com/api/webhooks/937401687868604456/xEO7Hj_SEC_Q81Px6dlfQ9C-DNwjveJujzY8wRS0NAJ1nDTmMd6Uq4mZS2hCI_4rYuhx',
},
Colors = { -- https://www.spycolor.com/
diff --git a/[core]/es_extended/config.lua b/[core]/es_extended/config.lua
index 574876b3c..849570dd2 100644
--- a/[core]/es_extended/config.lua
+++ b/[core]/es_extended/config.lua
@@ -1,5 +1,5 @@
Config = {}
-Config.Locale = GetConvar('esx:locale', 'en')
+Config.Locale = GetConvar('esx:locale', 'de')
Config.Accounts = {
bank = {
@@ -18,10 +18,9 @@ Config.Accounts = {
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 = -269.4, y = -955.3, z = 31.2, heading = 205.8 },
--{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},
@@ -29,26 +28,28 @@ Config.DefaultSpawns = { -- If you want to have more spawn positions and select
}
Config.AdminGroups = {
- ['owner'] = true,
- ['admin'] = true
+ ['projektleitung'] = true,
+ ['entwickler'] = true,
+ ['super_admin'] = 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 = 200 -- the max inventory weight without backpack
+Config.PaycheckInterval = 60 * 60000 -- how often to recieve pay checks in milliseconds
Config.EnableDebug = false -- Use Debug options?
-Config.EnableDefaultInventory = true -- Display the default Inventory ( F2 )
+Config.EnableDefaultInventory = false -- 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.Multichar = true
Config.Identity = true -- Select a characters 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.AdminLogging = true -- 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
@@ -57,9 +58,8 @@ Config.DisableDispatchServices = false -- Disable Dispatch services
Config.DisableScenarios = false -- Disable Scenarios
Config.DisableWeaponWheel = false -- Disables default weapon wheel
Config.DisableAimAssist = false -- disables AIM assist (mainly on controllers)
-Config.DisableVehicleSeatShuff = false -- Disables vehicle seat shuff
-Config.DisableDisplayAmmo = false -- Disable ammunition display
-Config.RemoveHudComponents = {
+Config.DisableVehicleSeatShuff = true -- Disables vehicle seat shuff
+Config.RemoveHudCommonents = {
[1] = false, --WANTED_STARS,
[2] = false, --WEAPON_ICON
[3] = false, --CASH
@@ -68,7 +68,7 @@ Config.RemoveHudComponents = {
[6] = false, --VEHICLE_NAME
[7] = false, -- AREA_NAME
[8] = false, -- VEHICLE_CLASS
- [9] = false, --STREET_NAME
+ [9] = true, --STREET_NAME
[10] = false, --HELP_TEXT
[11] = false, --FLOATING_HELP_TEXT_1
[12] = false, --FLOATING_HELP_TEXT_2
@@ -84,8 +84,8 @@ Config.RemoveHudComponents = {
[22] = false, --HUD_WEAPONS
}
-Config.SpawnVehMaxUpgrades = true -- admin vehicles spawn with max vehcle settings
-Config.CustomAIPlates = '........' -- Custom plates for AI vehicles
+Config.SpawnVehMaxUpgrades = false -- admin vehicles spawn with max vehcle settings
+Config.CustomAIPlates = 'AAA 111' -- 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.
diff --git a/[core]/es_extended/config.weapons.lua b/[core]/es_extended/config.weapons.lua
index 89723d5c1..5e37ef4b6 100644
--- a/[core]/es_extended/config.weapons.lua
+++ b/[core]/es_extended/config.weapons.lua
@@ -42,6 +42,13 @@ Config.Weapons = {
{ 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 = {} },
+ --addons
+ { name = 'WEAPON_KATANA', label = "Katana", components = {} },
+ { name = 'WEAPON_KARAMBIT', label = "Karambit", components = {} },
+ { name = 'WEAPON_BRICK', label = "Stein", components = {} },
+ { name = 'WEAPON_COLTXM177', label = "COLT XM 177", components = {} },
+ { name = 'WEAPON_NAILGUN', label = "Nagelwaffe", components = {} },
+ { name = 'WEAPON_SHOES', label = "Schuhe", components = {} },
{
name = 'WEAPON_SWITCHBLADE',
label = TranslateCap('weapon_switchblade'),
@@ -51,6 +58,480 @@ Config.Weapons = {
{ name = 'handle_bodyguard', label = TranslateCap('component_handle_bodyguard'), hash = `COMPONENT_SWITCHBLADE_VARMOD_VAR2` }
}
},
+ {
+ name = 'WEAPON_AK74',
+ label = "AK 74",
+ components = {
+ { name = 'clip_01', label = "CLIP 1", hash = `COMPONENT_AK74_CLIP_01` },
+ { name = 'clip_02', label = "CLIP 2", hash = `COMPONENT_AK74_CLIP_02` },
+ { name = 'clip_03', label = "CLIP 3", hash = `COMPONENT_AK74_CLIP_03` },
+ { name = 'clip_04', label = "CLIP 4", hash = `COMPONENT_AK74_CLIP_04` },
+ { name = 'clip_05', label = "CLIP 5", hash = `COMPONENT_AK74_CLIP_05` },
+ { name = 'clip_06', label = "CLIP 6", hash = `COMPONENT_AK74_CLIP_06` },
+ { name = 'clip_07', label = "CLIP 7", hash = `COMPONENT_AK74_CLIP_07` },
+ { name = 'clip_08', label = "CLIP 8", hash = `COMPONENT_AK74_CLIP_08` },
+ { name = 'clip_09', label = "CLIP 9", hash = `COMPONENT_AK74_CLIP_09` },
+ { name = 'flash_01', label = "FLASH 1", hash = `COMPONENT_AK74_FLSH_01` },
+ { name = 'flash_02', label = "FLASH 2", hash = `COMPONENT_AK74_FLSH_02` },
+ { name = 'flash_03', label = "FLASH 3", hash = `COMPONENT_AK74_FLSH_03` },
+ { name = 'flash_04', label = "FLASH 4", hash = `COMPONENT_AK74_FLSH_04` },
+ { name = 'grip_01', label = "GRIP 1", hash = `COMPONENT_AK74_GRIP_01` },
+ { name = 'grip_02', label = "GRIP 2", hash = `COMPONENT_AK74_GRIP_02` },
+ { name = 'grip_03', label = "GRIP 3", hash = `COMPONENT_AK74_GRIP_03` },
+ { name = 'grip_04', label = "GRIP 4", hash = `COMPONENT_AK74_GRIP_04` },
+ { name = 'grip_05', label = "GRIP 5", hash = `COMPONENT_AK74_GRIP_05` },
+ { name = 'grip_06', label = "GRIP 6", hash = `COMPONENT_AK74_GRIP_06` },
+ { name = 'grip_07', label = "GRIP 7", hash = `COMPONENT_AK74_GRIP_07` },
+ { name = 'grip_08', label = "GRIP 8", hash = `COMPONENT_AK74_GRIP_08` },
+ { name = 'grip_09', label = "GRIP 9", hash = `COMPONENT_AK74_GRIP_09` },
+ { name = 'grip_10', label = "GRIP 10", hash = `COMPONENT_AK74_GRIP_10` },
+ { name = 'muz_01', label = "MUZZLE 1", hash = `COMPONENT_AK74_MUZ_01` },
+ { name = 'muz_02', label = "MUZZLE 2", hash = `COMPONENT_AK74_MUZ_02` },
+ { name = 'muz_03', label = "MUZZLE 3", hash = `COMPONENT_AK74_MUZ_03` },
+ { name = 'muz_04', label = "MUZZLE 4", hash = `COMPONENT_AK74_MUZ_04` },
+ { name = 'muz_05', label = "MUZZLE 5", hash = `COMPONENT_AK74_MUZ_05` },
+ { name = 'muz_06', label = "MUZZLE 6", hash = `COMPONENT_AK74_MUZ_06` },
+ { name = 'muz_07', label = "MUZZLE 7", hash = `COMPONENT_AK74_MUZ_07` },
+ { name = 'muz_08', label = "MUZZLE 8", hash = `COMPONENT_AK74_MUZ_08` },
+ { name = 'muz_09', label = "MUZZLE 9", hash = `COMPONENT_AK74_MUZ_09` },
+ { name = 'scope_01', label = "SCOPE 1", hash = `COMPONENT_AK74_SCOPE_01` },
+ { name = 'scope_02', label = "SCOPE 2", hash = `COMPONENT_AK74_SCOPE_02` },
+ { name = 'scope_03', label = "SCOPE 3", hash = `COMPONENT_AK74_SCOPE_03` },
+ { name = 'scope_04', label = "SCOPE 4", hash = `COMPONENT_AK74_SCOPE_04` },
+ { name = 'scope_05', label = "SCOPE 5", hash = `COMPONENT_AK74_SCOPE_05` },
+ { name = 'scope_06', label = "SCOPE 6", hash = `COMPONENT_AK74_SCOPE_06` },
+ { name = 'scope_07', label = "SCOPE 7", hash = `COMPONENT_AK74_SCOPE_07` },
+ { name = 'scope_08', label = "SCOPE 8", hash = `COMPONENT_AK74_SCOPE_08` },
+ { name = 'scope_09', label = "SCOPE 9", hash = `COMPONENT_AK74_SCOPE_09` },
+ { name = 'stock_01', label = "STOCK 1", hash = `COMPONENT_AK74_STOCK_01` },
+ { name = 'stock_02', label = "STOCK 2", hash = `COMPONENT_AK74_STOCK_02` },
+ { name = 'stock_03', label = "STOCK 3", hash = `COMPONENT_AK74_STOCK_03` },
+ { name = 'stock_04', label = "STOCK 4", hash = `COMPONENT_AK74_STOCK_04` },
+ { name = 'stock_05', label = "STOCK 5", hash = `COMPONENT_AK74_STOCK_05` },
+ { name = 'stock_06', label = "STOCK 6", hash = `COMPONENT_AK74_STOCK_06` },
+ { name = 'stock_07', label = "STOCK 7", hash = `COMPONENT_AK74_STOCK_07` },
+ { name = 'stock_08', label = "STOCK 8", hash = `COMPONENT_AK74_STOCK_08` },
+ }
+ },
+ {
+ name = 'WEAPON_AKS74U',
+ label = "AKs 74u",
+ components = {
+ { name = 'clip_01', label = "CLIP 1", hash = `COMPONENT_AKS74U_CLIP_01` },
+ { name = 'clip_02', label = "CLIP 2", hash = `COMPONENT_AKS74U_CLIP_02` },
+ { name = 'clip_03', label = "CLIP 3", hash = `COMPONENT_AKS74U_CLIP_03` },
+ { name = 'clip_04', label = "CLIP 4", hash = `COMPONENT_AKS74U_CLIP_04` },
+ { name = 'clip_05', label = "CLIP 5", hash = `COMPONENT_AKS74U_CLIP_05` },
+ { name = 'clip_06', label = "CLIP 6", hash = `COMPONENT_AKS74U_CLIP_06` },
+ { name = 'clip_07', label = "CLIP 7", hash = `COMPONENT_AKS74U_CLIP_07` },
+ { name = 'clip_08', label = "CLIP 8", hash = `COMPONENT_AKS74U_CLIP_08` },
+ { name = 'clip_09', label = "CLIP 9", hash = `COMPONENT_AKS74U_CLIP_09` },
+ { name = 'flash_01', label = "FLASH 1", hash = `COMPONENT_AKS74U_FLSH_01` },
+ { name = 'flash_02', label = "FLASH 2", hash = `COMPONENT_AKS74U_FLSH_02` },
+ { name = 'flash_03', label = "FLASH 3", hash = `COMPONENT_AKS74U_FLSH_03` },
+ { name = 'flash_04', label = "FLASH 4", hash = `COMPONENT_AKS74U_FLSH_04` },
+ { name = 'flash_05', label = "FLASH 5", hash = `COMPONENT_AKS74U_FLSH_05` },
+ { name = 'flash_06', label = "FLASH 6", hash = `COMPONENT_AKS74U_FLSH_06` },
+ { name = 'flash_07', label = "FLASH 7", hash = `COMPONENT_AKS74U_FLSH_07` },
+ { name = 'flash_08', label = "FLASH 8", hash = `COMPONENT_AKS74U_FLSH_08` },
+ { name = 'flash_09', label = "FLASH 9", hash = `COMPONENT_AKS74U_FLSH_09` },
+ { name = 'flash_10', label = "FLASH 10", hash = `COMPONENT_AKS74U_FLSH_10` },
+ { name = 'grip_01', label = "GRIP 1", hash = `COMPONENT_AKS74U_GRIP_01` },
+ { name = 'grip_02', label = "GRIP 2", hash = `COMPONENT_AKS74U_GRIP_02` },
+ { name = 'grip_03', label = "GRIP 3", hash = `COMPONENT_AKS74U_GRIP_03` },
+ { name = 'grip_04', label = "GRIP 4", hash = `COMPONENT_AKS74U_GRIP_04` },
+ { name = 'handguard_01', label = "HANDGUARD 1", hash = `COMPONENT_AKS74U_HANDGUARD_01` },
+ { name = 'handguard_02', label = "HANDGUARD 2", hash = `COMPONENT_AKS74U_HANDGUARD_02` },
+ { name = 'handguard_03', label = "HANDGUARD 3", hash = `COMPONENT_AKS74U_HANDGUARD_03` },
+ { name = 'handguard_04', label = "HANDGUARD 4", hash = `COMPONENT_AKS74U_HANDGUARD_04` },
+ { name = 'handguard_05', label = "HANDGUARD 5", hash = `COMPONENT_AKS74U_HANDGUARD_05` },
+ { name = 'handguard_06', label = "HANDGUARD 6", hash = `COMPONENT_AKS74U_HANDGUARD_06` },
+ { name = 'handguard_07', label = "HANDGUARD 7", hash = `COMPONENT_AKS74U_HANDGUARD_07` },
+ { name = 'handguard_08', label = "HANDGUARD 8", hash = `COMPONENT_AKS74U_HANDGUARD_08` },
+ { name = 'muz_01', label = "MUZZLE 1", hash = `COMPONENT_AKS74U_MUZ_01` },
+ { name = 'muz_02', label = "MUZZLE 2", hash = `COMPONENT_AKS74U_MUZ_02` },
+ { name = 'muz_03', label = "MUZZLE 3", hash = `COMPONENT_AKS74U_MUZ_03` },
+ { name = 'muz_04', label = "MUZZLE 4", hash = `COMPONENT_AKS74U_MUZ_04` },
+ { name = 'muz_05', label = "MUZZLE 5", hash = `COMPONENT_AKS74U_MUZ_05` },
+ { name = 'muz_06', label = "MUZZLE 6", hash = `COMPONENT_AKS74U_MUZ_06` },
+ { name = 'muz_07', label = "MUZZLE 7", hash = `COMPONENT_AKS74U_MUZ_07` },
+ { name = 'muz_08', label = "MUZZLE 8", hash = `COMPONENT_AKS74U_MUZ_08` },
+ { name = 'muz_09', label = "MUZZLE 9", hash = `COMPONENT_AKS74U_MUZ_09` },
+ { name = 'SCOPE_01', label = "SCOPE 1", hash = `COMPONENT_AKS74U_SCOPE_01` },
+ { name = 'SCOPE_02', label = "SCOPE 2", hash = `COMPONENT_AKS74U_SCOPE_02` },
+ { name = 'SCOPE_03', label = "SCOPE 3", hash = `COMPONENT_AKS74U_SCOPE_03` },
+ { name = 'SCOPE_04', label = "SCOPE 4", hash = `COMPONENT_AKS74U_SCOPE_04` },
+ { name = 'SCOPE_05', label = "SCOPE 5", hash = `COMPONENT_AKS74U_SCOPE_05` },
+ { name = 'SCOPE_06', label = "SCOPE 6", hash = `COMPONENT_AKS74U_SCOPE_06` },
+ { name = 'SCOPE_07', label = "SCOPE 7", hash = `COMPONENT_AKS74U_SCOPE_07` },
+ { name = 'SCOPE_08', label = "SCOPE 8", hash = `COMPONENT_AKS74U_SCOPE_08` },
+ { name = 'SCOPE_09', label = "SCOPE 9", hash = `COMPONENT_AKS74U_SCOPE_09` },
+ { name = 'SCOPE_10', label = "SCOPE 10", hash = `COMPONENT_AKS74U_SCOPE_10` },
+ { name = 'SCOPE_11', label = "SCOPE 11", hash = `COMPONENT_AKS74U_SCOPE_11` },
+ { name = 'SCOPE_12', label = "SCOPE 12", hash = `COMPONENT_AKS74U_SCOPE_12` },
+ { name = 'SCOPE_13', label = "SCOPE 13", hash = `COMPONENT_AKS74U_SCOPE_13` },
+ { name = 'SCOPE_14', label = "SCOPE 14", hash = `COMPONENT_AKS74U_SCOPE_14` },
+ { name = 'SCOPE_15', label = "SCOPE 15", hash = `COMPONENT_AKS74U_SCOPE_15` },
+ { name = 'SCOPE_16', label = "SCOPE 16", hash = `COMPONENT_AKS74U_SCOPE_16` },
+ { name = 'SCOPE_17', label = "SCOPE 17", hash = `COMPONENT_AKS74U_SCOPE_17` },
+ { name = 'STOCK_01', label = "STOCK 1", hash = `COMPONENT_AKS74U_STOCK_01` },
+ { name = 'STOCK_02', label = "STOCK 2", hash = `COMPONENT_AKS74U_STOCK_02` },
+ { name = 'STOCK_03', label = "STOCK 3", hash = `COMPONENT_AKS74U_STOCK_03` },
+ { name = 'STOCK_04', label = "STOCK 4", hash = `COMPONENT_AKS74U_STOCK_04` },
+ { name = 'STOCK_05', label = "STOCK 5", hash = `COMPONENT_AKS74U_STOCK_05` },
+ }
+ },
+ {
+ name = 'WEAPON_ASVAL',
+ label = "AS-VAL",
+ components = {
+ { name = 'clip_01', label = "CLIP 1", hash = `COMPONENT_ASVAL_CLIP_01` },
+ { name = 'clip_02', label = "CLIP 2", hash = `COMPONENT_ASVAL_CLIP_02` },
+ { name = 'clip_03', label = "CLIP 3", hash = `COMPONENT_ASVAL_CLIP_03` },
+ { name = 'clip_04', label = "CLIP 4", hash = `COMPONENT_ASVAL_CLIP_04` },
+ { name = 'flash_01', label = "FLASH 1", hash = `COMPONENT_ASVAL_FLSH_01` },
+ { name = 'flash_02', label = "FLASH 2", hash = `COMPONENT_ASVAL_FLSH_02` },
+ { name = 'flash_03', label = "FLASH 3", hash = `COMPONENT_ASVAL_FLSH_03` },
+ { name = 'flash_04', label = "FLASH 4", hash = `COMPONENT_ASVAL_FLSH_04` },
+ { name = 'grip_01', label = "GRIP 1", hash = `COMPONENT_ASVAL_GRIP_01` },
+ { name = 'grip_02', label = "GRIP 2", hash = `COMPONENT_ASVAL_GRIP_02` },
+ { name = 'grip_03', label = "GRIP 3", hash = `COMPONENT_ASVAL_GRIP_03` },
+ { name = 'grip_04', label = "GRIP 4", hash = `COMPONENT_ASVAL_GRIP_04` },
+ { name = 'grip_05', label = "GRIP 5", hash = `COMPONENT_ASVAL_GRIP_05` },
+ { name = 'grip_06', label = "GRIP 6", hash = `COMPONENT_ASVAL_GRIP_06` },
+ { name = 'grip_07', label = "GRIP 7", hash = `COMPONENT_ASVAL_GRIP_07` },
+ { name = 'grip_08', label = "GRIP 8", hash = `COMPONENT_ASVAL_GRIP_08` },
+ { name = 'grip_09', label = "GRIP 9", hash = `COMPONENT_ASVAL_GRIP_09` },
+ { name = 'grip_10', label = "GRIP 10", hash = `COMPONENT_ASVAL_GRIP_10` },
+ { name = 'mount_01', label = "MOUNT 1", hash = `COMPONENT_ASVAL_MOUNT` },
+ { name = 'SCOPE_01', label = "SCOPE 1", hash = `COMPONENT_ASVAL_SCOPE_01` },
+ { name = 'SCOPE_02', label = "SCOPE 2", hash = `COMPONENT_ASVAL_SCOPE_02` },
+ { name = 'SCOPE_03', label = "SCOPE 3", hash = `COMPONENT_ASVAL_SCOPE_03` },
+ { name = 'SCOPE_04', label = "SCOPE 4", hash = `COMPONENT_ASVAL_SCOPE_04` },
+ { name = 'SCOPE_05', label = "SCOPE 5", hash = `COMPONENT_ASVAL_SCOPE_05` },
+ { name = 'SCOPE_06', label = "SCOPE 6", hash = `COMPONENT_ASVAL_SCOPE_06` },
+ { name = 'SCOPE_07', label = "SCOPE 7", hash = `COMPONENT_ASVAL_SCOPE_07` },
+ { name = 'SCOPE_08', label = "SCOPE 8", hash = `COMPONENT_ASVAL_SCOPE_08` },
+ { name = 'SCOPE_09', label = "SCOPE 9", hash = `COMPONENT_ASVAL_SCOPE_09` },
+ { name = 'STOCK_01', label = "STOCK 1", hash = `COMPONENT_ASVAL_STOCK_10` },
+ { name = 'STOCK_02', label = "STOCK 2", hash = `COMPONENT_ASVAL_STOCK_10` },
+ { name = 'STOCK_03', label = "STOCK 3", hash = `COMPONENT_ASVAL_STOCK_10` },
+ { name = 'STOCK_04', label = "STOCK 4", hash = `COMPONENT_ASVAL_STOCK_10` },
+ { name = 'STOCK_05', label = "STOCK 5", hash = `COMPONENT_ASVAL_STOCK_10` },
+ { name = 'STOCK_06', label = "STOCK 6", hash = `COMPONENT_ASVAL_STOCK_10` },
+ { name = 'STOCK_07', label = "STOCK 7", hash = `COMPONENT_ASVAL_STOCK_10` },
+ { name = 'STOCK_08', label = "STOCK 8", hash = `COMPONENT_ASVAL_STOCK_10` },
+ { name = 'STOCK_09', label = "STOCK 9", hash = `COMPONENT_ASVAL_STOCK_10` },
+ { name = 'STOCK_10', label = "STOCK 10", hash = `COMPONENT_ASVAL_STOCK_10` },
+ }
+ },
+ {
+ name = 'WEAPON_FN509',
+ label = "FN 509",
+ components = {
+ { name = 'clip_01', label = "CLIP 1", hash = `COMPONENT_FN509_CLIP_01` },
+ { name = 'clip_02', label = "CLIP 2", hash = `COMPONENT_FN509_CLIP_02` },
+
+ { name = 'supp_01', label = "SUPP 1", hash = `COMPONENT_FN509_SUPP_01` },
+ { name = 'supp_02', label = "SUPP 2", hash = `COMPONENT_FN509_SUPP_02` },
+ { name = 'supp_03', label = "SUPP 3", hash = `COMPONENT_FN509_SUPP_03` },
+ { name = 'supp_04', label = "SUPP 4", hash = `COMPONENT_FN509_SUPP_04` },
+ { name = 'supp_05', label = "SUPP 5", hash = `COMPONENT_FN509_SUPP_05` },
+
+ { name = 'frame_01', label = "FRAME 1", hash = `COMPONENT_FN509_FRAME_01` },
+ { name = 'frame_02', label = "FRAME 2", hash = `COMPONENT_FN509_FRAME_02` },
+ { name = 'frame_03', label = "FRAME 3", hash = `COMPONENT_FN509_FRAME_03` },
+ { name = 'frame_04', label = "FRAME 4", hash = `COMPONENT_FN509_FRAME_04` },
+ { name = 'frame_05', label = "FRAME 5", hash = `COMPONENT_FN509_FRAME_05` },
+ { name = 'frame_01', label = "FRAME 6", hash = `COMPONENT_FN509_FRAME_06` },
+ { name = 'frame_02', label = "FRAME 7", hash = `COMPONENT_FN509_FRAME_07` },
+ { name = 'frame_03', label = "FRAME 8", hash = `COMPONENT_FN509_FRAME_08` },
+ { name = 'frame_04', label = "FRAME 9", hash = `COMPONENT_FN509_FRAME_09` },
+ { name = 'frame_05', label = "FRAME 10", hash = `COMPONENT_FN509_FRAME_10` },
+ { name = 'frame_05', label = "FRAME 11", hash = `COMPONENT_FN509_FRAME_11` },
+
+ { name = 'scope_01', label = "SCOPE 1", hash = `COMPONENT_FN509_SCOPE_01` },
+ { name = 'scope_02', label = "SCOPE 2", hash = `COMPONENT_FN509_SCOPE_02` },
+ { name = 'scope_03', label = "SCOPE 3", hash = `COMPONENT_FN509_SCOPE_03` },
+
+ { name = 'flash_01', label = "FLASH 1", hash = `COMPONENT_FN509_FLSH_01` },
+ { name = 'flash_02', label = "FLASH 2", hash = `COMPONENT_FN509_FLSH_02` },
+ { name = 'flash_03', label = "FLASH 3", hash = `COMPONENT_FN509_FLSH_03` },
+ { name = 'flash_04', label = "FLASH 4", hash = `COMPONENT_FN509_FLSH_04` },
+
+ }
+ },
+ {
+ name = 'WEAPON_HKUMP',
+ label = "HK UMP",
+ components = {
+ { name = 'clip_01', label = "CLIP 1", hash = `COMPONENT_UMP_CLIP_01` },
+ { name = 'clip_02', label = "CLIP 2", hash = `COMPONENT_UMP_CLIP_02` },
+
+ { name = 'mount_01', label = "MOUNT 1", hash = `COMPONENT_UMP_MOUNT_01` },
+ { name = 'mount_02', label = "MOUNT 2", hash = `COMPONENT_UMP_MOUNT_02` },
+
+ { name = 'grip_01', label = "GRIP 1", hash = `COMPONENT_UMP_GRIP_01` },
+ { name = 'grip_02', label = "GRIP 2", hash = `COMPONENT_UMP_GRIP_02` },
+ { name = 'grip_03', label = "GRIP 3", hash = `COMPONENT_UMP_GRIP_03` },
+ { name = 'grip_04', label = "GRIP 4", hash = `COMPONENT_UMP_GRIP_04` },
+ { name = 'grip_05', label = "GRIP 5", hash = `COMPONENT_UMP_GRIP_05` },
+ { name = 'grip_06', label = "GRIP 6", hash = `COMPONENT_UMP_GRIP_06` },
+ { name = 'grip_07', label = "GRIP 7", hash = `COMPONENT_UMP_GRIP_07` },
+ { name = 'grip_08', label = "GRIP 8", hash = `COMPONENT_UMP_GRIP_08` },
+ { name = 'grip_09', label = "GRIP 9", hash = `COMPONENT_UMP_GRIP_09` },
+ { name = 'grip_10', label = "GRIP 10", hash = `COMPONENT_UMP_GRIP_10` },
+
+ { name = 'stock_01', label = "STOCK 01", hash = `COMPONENT_UMP_STOCK_01` },
+ { name = 'stock_02', label = "STOCK 02", hash = `COMPONENT_UMP_STOCK_02` },
+
+ { name = 'supp_01', label = "SUPP 1", hash = `COMPONENT_UMP_SUPP_01` },
+ { name = 'supp_02', label = "SUPP 2", hash = `COMPONENT_UMP_SUPP_02` },
+ { name = 'supp_03', label = "SUPP 3", hash = `COMPONENT_UMP_SUPP_03` },
+ { name = 'supp_04', label = "SUPP 4", hash = `COMPONENT_UMP_SUPP_04` },
+ { name = 'supp_05', label = "SUPP 5", hash = `COMPONENT_UMP_SUPP_05` },
+ { name = 'supp_06', label = "SUPP 6", hash = `COMPONENT_UMP_SUPP_06` },
+
+ { name = 'scope_01', label = "SCOPE 1", hash = `COMPONENT_UMP_SCOPE_01` },
+ { name = 'scope_02', label = "SCOPE 2", hash = `COMPONENT_UMP_SCOPE_02` },
+ { name = 'scope_03', label = "SCOPE 3", hash = `COMPONENT_UMP_SCOPE_03` },
+ { name = 'scope_04', label = "SCOPE 4", hash = `COMPONENT_UMP_SCOPE_04` },
+ { name = 'scope_05', label = "SCOPE 5", hash = `COMPONENT_UMP_SCOPE_05` },
+ { name = 'scope_06', label = "SCOPE 6", hash = `COMPONENT_UMP_SCOPE_06` },
+ { name = 'scope_07', label = "SCOPE 7", hash = `COMPONENT_UMP_SCOPE_07` },
+ { name = 'scope_08', label = "SCOPE 8", hash = `COMPONENT_UMP_SCOPE_08` },
+ { name = 'scope_09', label = "SCOPE 9", hash = `COMPONENT_UMP_SCOPE_09` },
+ { name = 'scope_10', label = "SCOPE 10", hash = `COMPONENT_UMP_SCOPE_10` },
+
+ { name = 'flash_01', label = "FLASH 1", hash = `COMPONENT_UMP_FLSH_01` },
+ { name = 'flash_02', label = "FLASH 2", hash = `COMPONENT_UMP_FLSH_02` },
+ { name = 'flash_03', label = "FLASH 3", hash = `COMPONENT_UMP_FLSH_03` },
+ { name = 'flash_04', label = "FLASH 4", hash = `COMPONENT_UMP_FLSH_04` },
+ { name = 'flash_05', label = "FLASH 5", hash = `COMPONENT_UMP_FLSH_05` },
+ { name = 'flash_06', label = "FLASH 6", hash = `COMPONENT_UMP_FLSH_06` },
+ { name = 'flash_07', label = "FLASH 7", hash = `COMPONENT_UMP_FLSH_07` },
+
+ }
+ },
+ {
+ name = 'WEAPON_M110',
+ label = "M110",
+ components = {
+ { name = 'scope_01', label = "SCOPE 1", hash = `COMPONENT_M110_SCOPE_01` },
+ { name = 'scope_02', label = "SCOPE 2", hash = `COMPONENT_M110_SCOPE_02` },
+ { name = 'scope_03', label = "SCOPE 3", hash = `COMPONENT_M110_SCOPE_03` },
+ { name = 'scope_04', label = "SCOPE 4", hash = `COMPONENT_M110_SCOPE_04` },
+ { name = 'scope_05', label = "SCOPE 5", hash = `COMPONENT_M110_SCOPE_05` },
+ { name = 'scope_06', label = "SCOPE 6", hash = `COMPONENT_M110_SCOPE_06` },
+ { name = 'scope_07', label = "SCOPE 7", hash = `COMPONENT_M110_SCOPE_07` },
+ { name = 'scope_08', label = "SCOPE 8", hash = `COMPONENT_M110_SCOPE_08` },
+ { name = 'scope_09', label = "SCOPE 9", hash = `COMPONENT_M110_SCOPE_09` },
+ { name = 'scope_10', label = "SCOPE 10", hash = `COMPONENT_M110_SCOPE_10` },
+ { name = 'scope_11', label = "SCOPE 11", hash = `COMPONENT_M110_SCOPE_11` },
+
+ { name = 'grip_01', label = "GRIP 1", hash = `COMPONENT_M110_GRIP_01` },
+ { name = 'grip_02', label = "GRIP 2", hash = `COMPONENT_M110_GRIP_02` },
+ { name = 'grip_03', label = "GRIP 3", hash = `COMPONENT_M110_GRIP_03` },
+ { name = 'grip_04', label = "GRIP 4", hash = `COMPONENT_M110_GRIP_04` },
+ { name = 'grip_05', label = "GRIP 5", hash = `COMPONENT_M110_GRIP_05` },
+ { name = 'grip_06', label = "GRIP 6", hash = `COMPONENT_M110_GRIP_06` },
+
+ { name = 'cover_01', label = "COVER 1", hash = `COMPONENT_M110_COVER_01` },
+ { name = 'cover_02', label = "COVER 2", hash = `COMPONENT_M110_COVER_02` },
+
+ { name = 'bipod_01', label = "BIPOD 1", hash = `COMPONENT_M110_BIPOD_01` },
+ { name = 'bipod_02', label = "BIPOD 2", hash = `COMPONENT_M110_BIPOD_02` },
+
+ { name = 'clip_01', label = "CLIP 01", hash = `COMPONENT_M110_CLIP_01` },
+ { name = 'clip_02', label = "CLIP 02", hash = `COMPONENT_M110_CLIP_02` },
+ { name = 'clip_03', label = "CLIP 03", hash = `COMPONENT_M110_CLIP_03` },
+ { name = 'clip_04', label = "CLIP 04", hash = `COMPONENT_M110_CLIP_04` },
+ { name = 'clip_05', label = "CLIP 05", hash = `COMPONENT_M110_CLIP_05` },
+ { name = 'clip_06', label = "CLIP 06", hash = `COMPONENT_M110_CLIP_06` },
+ { name = 'clip_07', label = "CLIP 07", hash = `COMPONENT_M110_CLIP_07` },
+ { name = 'clip_08', label = "CLIP 08", hash = `COMPONENT_M110_CLIP_08` },
+ { name = 'clip_09', label = "CLIP 09", hash = `COMPONENT_M110_CLIP_09` },
+ { name = 'clip_10', label = "CLIP 10", hash = `COMPONENT_M110_CLIP_10` },
+
+ { name = 'supp_01', label = "SUPP 1", hash = `COMPONENT_M110_SUPP_01` },
+ { name = 'supp_02', label = "SUPP 2", hash = `COMPONENT_M110_SUPP_02` },
+ { name = 'supp_03', label = "SUPP 3", hash = `COMPONENT_M110_SUPP_03` },
+ { name = 'supp_04', label = "SUPP 4", hash = `COMPONENT_M110_SUPP_04` },
+ { name = 'supp_05', label = "SUPP 5", hash = `COMPONENT_M110_SUPP_05` },
+ { name = 'supp_06', label = "SUPP 6", hash = `COMPONENT_M110_SUPP_06` },
+ { name = 'supp_07', label = "SUPP 7", hash = `COMPONENT_M110_SUPP_07` },
+
+ { name = 'stock_01', label = "STOCK 1", hash = `COMPONENT_M110_STOCK_01` },
+ { name = 'stock_02', label = "STOCK 2", hash = `COMPONENT_M110_STOCK_02` },
+ { name = 'stock_03', label = "STOCK 3", hash = `COMPONENT_M110_STOCK_03` },
+ { name = 'stock_04', label = "STOCK 4", hash = `COMPONENT_M110_STOCK_04` },
+ { name = 'stock_05', label = "STOCK 5", hash = `COMPONENT_M110_STOCK_05` },
+ { name = 'stock_06', label = "STOCK 6", hash = `COMPONENT_M110_STOCK_06` },
+ { name = 'stock_07', label = "STOCK 7", hash = `COMPONENT_M110_STOCK_07` },
+ { name = 'stock_08', label = "STOCK 8", hash = `COMPONENT_M110_STOCK_08` },
+ { name = 'stock_09', label = "STOCK 9", hash = `COMPONENT_M110_STOCK_09` },
+
+
+ { name = 'flash_01', label = "FLASH 1", hash = `COMPONENT_M110_FLSH_01` },
+ { name = 'flash_02', label = "FLASH 2", hash = `COMPONENT_M110_FLSH_02` },
+ { name = 'flash_03', label = "FLASH 3", hash = `COMPONENT_M110_FLSH_03` },
+ { name = 'flash_04', label = "FLASH 4", hash = `COMPONENT_M110_FLSH_04` },
+ { name = 'flash_05', label = "FLASH 5", hash = `COMPONENT_M110_FLSH_05` },
+ { name = 'flash_06', label = "FLASH 6", hash = `COMPONENT_M110_FLSH_06` },
+ { name = 'flash_07', label = "FLASH 7", hash = `COMPONENT_M110_FLSH_07` },
+ { name = 'flash_08', label = "FLASH 8", hash = `COMPONENT_M110_FLSH_08` },
+ { name = 'flash_09', label = "FLASH 9", hash = `COMPONENT_M110_FLSH_09` },
+ { name = 'flash_10', label = "FLASH 10", hash = `COMPONENT_M110_FLSH_10` },
+ { name = 'flash_11', label = "FLASH 11", hash = `COMPONENT_M110_FLSH_11` },
+
+ }
+ },
+ {
+ name = 'WEAPON_M110_1',
+ label = "M110_1",
+ components = {
+ { name = 'scope_01', label = "SCOPE 1", hash = `COMPONENT_M110_SCOPE_01` },
+ { name = 'scope_02', label = "SCOPE 2", hash = `COMPONENT_M110_SCOPE_02` },
+ { name = 'scope_03', label = "SCOPE 3", hash = `COMPONENT_M110_SCOPE_03` },
+ { name = 'scope_04', label = "SCOPE 4", hash = `COMPONENT_M110_SCOPE_04` },
+ { name = 'scope_05', label = "SCOPE 5", hash = `COMPONENT_M110_SCOPE_05` },
+ { name = 'scope_06', label = "SCOPE 6", hash = `COMPONENT_M110_SCOPE_06` },
+ { name = 'scope_07', label = "SCOPE 7", hash = `COMPONENT_M110_SCOPE_07` },
+ { name = 'scope_08', label = "SCOPE 8", hash = `COMPONENT_M110_SCOPE_08` },
+ { name = 'scope_09', label = "SCOPE 9", hash = `COMPONENT_M110_SCOPE_09` },
+ { name = 'scope_10', label = "SCOPE 10", hash = `COMPONENT_M110_SCOPE_10` },
+ { name = 'scope_11', label = "SCOPE 11", hash = `COMPONENT_M110_SCOPE_11` },
+
+ { name = 'grip_01', label = "GRIP 1", hash = `COMPONENT_M110_GRIP_01` },
+ { name = 'grip_02', label = "GRIP 2", hash = `COMPONENT_M110_GRIP_02` },
+ { name = 'grip_03', label = "GRIP 3", hash = `COMPONENT_M110_GRIP_03` },
+ { name = 'grip_04', label = "GRIP 4", hash = `COMPONENT_M110_GRIP_04` },
+ { name = 'grip_05', label = "GRIP 5", hash = `COMPONENT_M110_GRIP_05` },
+ { name = 'grip_06', label = "GRIP 6", hash = `COMPONENT_M110_GRIP_06` },
+
+ { name = 'cover_01', label = "COVER 1", hash = `COMPONENT_M110_COVER_01` },
+ { name = 'cover_02', label = "COVER 2", hash = `COMPONENT_M110_COVER_02` },
+
+ { name = 'bipod_01', label = "BIPOD 1", hash = `COMPONENT_M110_BIPOD_01` },
+ { name = 'bipod_02', label = "BIPOD 2", hash = `COMPONENT_M110_BIPOD_02` },
+
+ { name = 'clip_01', label = "CLIP 01", hash = `COMPONENT_M110_CLIP_01` },
+ { name = 'clip_02', label = "CLIP 02", hash = `COMPONENT_M110_CLIP_02` },
+ { name = 'clip_03', label = "CLIP 03", hash = `COMPONENT_M110_CLIP_03` },
+ { name = 'clip_04', label = "CLIP 04", hash = `COMPONENT_M110_CLIP_04` },
+ { name = 'clip_05', label = "CLIP 05", hash = `COMPONENT_M110_CLIP_05` },
+ { name = 'clip_06', label = "CLIP 06", hash = `COMPONENT_M110_CLIP_06` },
+ { name = 'clip_07', label = "CLIP 07", hash = `COMPONENT_M110_CLIP_07` },
+ { name = 'clip_08', label = "CLIP 08", hash = `COMPONENT_M110_CLIP_08` },
+ { name = 'clip_09', label = "CLIP 09", hash = `COMPONENT_M110_CLIP_09` },
+ { name = 'clip_10', label = "CLIP 10", hash = `COMPONENT_M110_CLIP_10` },
+
+ { name = 'supp_01', label = "SUPP 1", hash = `COMPONENT_M110_SUPP_01` },
+ { name = 'supp_02', label = "SUPP 2", hash = `COMPONENT_M110_SUPP_02` },
+ { name = 'supp_03', label = "SUPP 3", hash = `COMPONENT_M110_SUPP_03` },
+ { name = 'supp_04', label = "SUPP 4", hash = `COMPONENT_M110_SUPP_04` },
+ { name = 'supp_05', label = "SUPP 5", hash = `COMPONENT_M110_SUPP_05` },
+ { name = 'supp_06', label = "SUPP 6", hash = `COMPONENT_M110_SUPP_06` },
+ { name = 'supp_07', label = "SUPP 7", hash = `COMPONENT_M110_SUPP_07` },
+
+ { name = 'stock_01', label = "STOCK 1", hash = `COMPONENT_M110_STOCK_01` },
+ { name = 'stock_02', label = "STOCK 2", hash = `COMPONENT_M110_STOCK_02` },
+ { name = 'stock_03', label = "STOCK 3", hash = `COMPONENT_M110_STOCK_03` },
+ { name = 'stock_04', label = "STOCK 4", hash = `COMPONENT_M110_STOCK_04` },
+ { name = 'stock_05', label = "STOCK 5", hash = `COMPONENT_M110_STOCK_05` },
+ { name = 'stock_06', label = "STOCK 6", hash = `COMPONENT_M110_STOCK_06` },
+ { name = 'stock_07', label = "STOCK 7", hash = `COMPONENT_M110_STOCK_07` },
+ { name = 'stock_08', label = "STOCK 8", hash = `COMPONENT_M110_STOCK_08` },
+ { name = 'stock_09', label = "STOCK 9", hash = `COMPONENT_M110_STOCK_09` },
+
+
+ { name = 'flash_01', label = "FLASH 1", hash = `COMPONENT_M110_FLSH_01` },
+ { name = 'flash_02', label = "FLASH 2", hash = `COMPONENT_M110_FLSH_02` },
+ { name = 'flash_03', label = "FLASH 3", hash = `COMPONENT_M110_FLSH_03` },
+ { name = 'flash_04', label = "FLASH 4", hash = `COMPONENT_M110_FLSH_04` },
+ { name = 'flash_05', label = "FLASH 5", hash = `COMPONENT_M110_FLSH_05` },
+ { name = 'flash_06', label = "FLASH 6", hash = `COMPONENT_M110_FLSH_06` },
+ { name = 'flash_07', label = "FLASH 7", hash = `COMPONENT_M110_FLSH_07` },
+ { name = 'flash_08', label = "FLASH 8", hash = `COMPONENT_M110_FLSH_08` },
+ { name = 'flash_09', label = "FLASH 9", hash = `COMPONENT_M110_FLSH_09` },
+ { name = 'flash_10', label = "FLASH 10", hash = `COMPONENT_M110_FLSH_10` },
+ { name = 'flash_11', label = "FLASH 11", hash = `COMPONENT_M110_FLSH_11` },
+
+ }
+ },
+ {
+ name = 'WEAPON_M110_2',
+ label = "M110_2",
+ components = {
+ { name = 'scope_01', label = "SCOPE 1", hash = `COMPONENT_M110_SCOPE_01` },
+ { name = 'scope_02', label = "SCOPE 2", hash = `COMPONENT_M110_SCOPE_02` },
+ { name = 'scope_03', label = "SCOPE 3", hash = `COMPONENT_M110_SCOPE_03` },
+ { name = 'scope_04', label = "SCOPE 4", hash = `COMPONENT_M110_SCOPE_04` },
+ { name = 'scope_05', label = "SCOPE 5", hash = `COMPONENT_M110_SCOPE_05` },
+ { name = 'scope_06', label = "SCOPE 6", hash = `COMPONENT_M110_SCOPE_06` },
+ { name = 'scope_07', label = "SCOPE 7", hash = `COMPONENT_M110_SCOPE_07` },
+ { name = 'scope_08', label = "SCOPE 8", hash = `COMPONENT_M110_SCOPE_08` },
+ { name = 'scope_09', label = "SCOPE 9", hash = `COMPONENT_M110_SCOPE_09` },
+ { name = 'scope_10', label = "SCOPE 10", hash = `COMPONENT_M110_SCOPE_10` },
+ { name = 'scope_11', label = "SCOPE 11", hash = `COMPONENT_M110_SCOPE_11` },
+
+ { name = 'grip_01', label = "GRIP 1", hash = `COMPONENT_M110_GRIP_01` },
+ { name = 'grip_02', label = "GRIP 2", hash = `COMPONENT_M110_GRIP_02` },
+ { name = 'grip_03', label = "GRIP 3", hash = `COMPONENT_M110_GRIP_03` },
+ { name = 'grip_04', label = "GRIP 4", hash = `COMPONENT_M110_GRIP_04` },
+ { name = 'grip_05', label = "GRIP 5", hash = `COMPONENT_M110_GRIP_05` },
+ { name = 'grip_06', label = "GRIP 6", hash = `COMPONENT_M110_GRIP_06` },
+
+ { name = 'cover_01', label = "COVER 1", hash = `COMPONENT_M110_COVER_01` },
+ { name = 'cover_02', label = "COVER 2", hash = `COMPONENT_M110_COVER_02` },
+
+ { name = 'bipod_01', label = "BIPOD 1", hash = `COMPONENT_M110_BIPOD_01` },
+ { name = 'bipod_02', label = "BIPOD 2", hash = `COMPONENT_M110_BIPOD_02` },
+
+ { name = 'clip_01', label = "CLIP 01", hash = `COMPONENT_M110_CLIP_01` },
+ { name = 'clip_02', label = "CLIP 02", hash = `COMPONENT_M110_CLIP_02` },
+ { name = 'clip_03', label = "CLIP 03", hash = `COMPONENT_M110_CLIP_03` },
+ { name = 'clip_04', label = "CLIP 04", hash = `COMPONENT_M110_CLIP_04` },
+ { name = 'clip_05', label = "CLIP 05", hash = `COMPONENT_M110_CLIP_05` },
+ { name = 'clip_06', label = "CLIP 06", hash = `COMPONENT_M110_CLIP_06` },
+ { name = 'clip_07', label = "CLIP 07", hash = `COMPONENT_M110_CLIP_07` },
+ { name = 'clip_08', label = "CLIP 08", hash = `COMPONENT_M110_CLIP_08` },
+ { name = 'clip_09', label = "CLIP 09", hash = `COMPONENT_M110_CLIP_09` },
+ { name = 'clip_10', label = "CLIP 10", hash = `COMPONENT_M110_CLIP_10` },
+
+ { name = 'supp_01', label = "SUPP 1", hash = `COMPONENT_M110_SUPP_01` },
+ { name = 'supp_02', label = "SUPP 2", hash = `COMPONENT_M110_SUPP_02` },
+ { name = 'supp_03', label = "SUPP 3", hash = `COMPONENT_M110_SUPP_03` },
+ { name = 'supp_04', label = "SUPP 4", hash = `COMPONENT_M110_SUPP_04` },
+ { name = 'supp_05', label = "SUPP 5", hash = `COMPONENT_M110_SUPP_05` },
+ { name = 'supp_06', label = "SUPP 6", hash = `COMPONENT_M110_SUPP_06` },
+ { name = 'supp_07', label = "SUPP 7", hash = `COMPONENT_M110_SUPP_07` },
+
+ { name = 'stock_01', label = "STOCK 1", hash = `COMPONENT_M110_STOCK_01` },
+ { name = 'stock_02', label = "STOCK 2", hash = `COMPONENT_M110_STOCK_02` },
+ { name = 'stock_03', label = "STOCK 3", hash = `COMPONENT_M110_STOCK_03` },
+ { name = 'stock_04', label = "STOCK 4", hash = `COMPONENT_M110_STOCK_04` },
+ { name = 'stock_05', label = "STOCK 5", hash = `COMPONENT_M110_STOCK_05` },
+ { name = 'stock_06', label = "STOCK 6", hash = `COMPONENT_M110_STOCK_06` },
+ { name = 'stock_07', label = "STOCK 7", hash = `COMPONENT_M110_STOCK_07` },
+ { name = 'stock_08', label = "STOCK 8", hash = `COMPONENT_M110_STOCK_08` },
+ { name = 'stock_09', label = "STOCK 9", hash = `COMPONENT_M110_STOCK_09` },
+
+
+ { name = 'flash_01', label = "FLASH 1", hash = `COMPONENT_M110_FLSH_01` },
+ { name = 'flash_02', label = "FLASH 2", hash = `COMPONENT_M110_FLSH_02` },
+ { name = 'flash_03', label = "FLASH 3", hash = `COMPONENT_M110_FLSH_03` },
+ { name = 'flash_04', label = "FLASH 4", hash = `COMPONENT_M110_FLSH_04` },
+ { name = 'flash_05', label = "FLASH 5", hash = `COMPONENT_M110_FLSH_05` },
+ { name = 'flash_06', label = "FLASH 6", hash = `COMPONENT_M110_FLSH_06` },
+ { name = 'flash_07', label = "FLASH 7", hash = `COMPONENT_M110_FLSH_07` },
+ { name = 'flash_08', label = "FLASH 8", hash = `COMPONENT_M110_FLSH_08` },
+ { name = 'flash_09', label = "FLASH 9", hash = `COMPONENT_M110_FLSH_09` },
+ { name = 'flash_10', label = "FLASH 10", hash = `COMPONENT_M110_FLSH_10` },
+ { name = 'flash_11', label = "FLASH 11", hash = `COMPONENT_M110_FLSH_11` },
+
+ }
+ },
-- Handguns
{
name = 'WEAPON_APPISTOL',
@@ -784,6 +1265,20 @@ Config.Weapons = {
{ name = 'luxary_finish', label = TranslateCap('component_luxary_finish'), hash = `COMPONENT_SPECIALCARBINE_VARMOD_LOWRIDER` }
}
},
+ {
+ name = 'WEAPON_HEAVYRIFLE',
+ label = "Heavy Rifle",
+ 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 = 'ironsights', label = TranslateCap('component_ironsights'), hash = `COMPONENT_HEAVYRIFLE_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_MK2',
label = TranslateCap('weapon_specialcarbine_mk2'),
@@ -824,21 +1319,6 @@ Config.Weapons = {
{ 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',
@@ -1021,4 +1501,4 @@ Config.Weapons = {
{ name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_RAILGUNXM3_CLIP_01` },
},
},
-}
\ No newline at end of file
+}
diff --git a/[core]/es_extended/fxmanifest.lua b/[core]/es_extended/fxmanifest.lua
index 8c7306869..e947f321a 100644
--- a/[core]/es_extended/fxmanifest.lua
+++ b/[core]/es_extended/fxmanifest.lua
@@ -1,9 +1,11 @@
-fx_version 'cerulean'
+
+
+fx_version 'adamant'
game 'gta5'
description 'ES Extended'
lua54 'yes'
-version '1.10.2'
+version '1.10.1'
shared_scripts {
'locale.lua',
@@ -76,3 +78,7 @@ dependencies {
'oxmysql',
'spawnmanager',
}
+
+provide {
+ "extendedmode"
+}
\ No newline at end of file
diff --git a/[core]/es_extended/locales/br.lua b/[core]/es_extended/locales/br.lua
new file mode 100644
index 000000000..a19f78be4
--- /dev/null
+++ b/[core]/es_extended/locales/br.lua
@@ -0,0 +1,228 @@
+Locales['br'] = {
+ -- Inventory
+ ['inventory'] = 'inventário %s / %s',
+ ['use'] = 'usar',
+ ['give'] = 'dar',
+ ['remove'] = 'remover',
+ ['return'] = 'voltar',
+ ['give_to'] = 'dar para',
+ ['amount'] = 'quantidade',
+ ['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',
+ ['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'] = '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/[core]/es_extended/locales/cs.lua b/[core]/es_extended/locales/cs.lua
index e658fc612..71bd3ea53 100644
--- a/[core]/es_extended/locales/cs.lua
+++ b/[core]/es_extended/locales/cs.lua
@@ -52,7 +52,6 @@ Locales["cs"] = {
["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ě',
@@ -60,9 +59,6 @@ Locales["cs"] = {
['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',
@@ -198,7 +194,6 @@ Locales["cs"] = {
["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",
diff --git a/[core]/es_extended/locales/da.lua b/[core]/es_extended/locales/da.lua
new file mode 100644
index 000000000..518778bf9
--- /dev/null
+++ b/[core]/es_extended/locales/da.lua
@@ -0,0 +1,372 @@
+Locales["da"] = {
+ -- Inventory
+ ["inventory"] = "Inventar ( Vægt %s / %s )",
+ ["use"] = "Brug",
+ ["give"] = "Giv",
+ ["remove"] = "Smid",
+ ["return"] = "Tilbage",
+ ["give_to"] = "Giv til",
+ ["amount"] = "Beløb",
+ ["giveammo"] = "Giv ammunition",
+ ["amountammo"] = "Ammunition beløb",
+ ["noammo"] = "Ikke nok!",
+ ["gave_item"] = "Giver %sx %s til %s",
+ ["received_item"] = "Modtog %sx %s fra %s",
+ ["gave_weapon"] = "Giver %s til %s",
+ ["gave_weapon_ammo"] = "Giver ~o~%sx %s for %s til %s",
+ ["gave_weapon_withammo"] = "Giver %s med ~o~%sx %s til %s",
+ ["gave_weapon_hasalready"] = "%s har allerede en %s",
+ ["gave_weapon_noweapon"] = "%s har ikke det våben",
+ ["received_weapon"] = "Modtog %s fra %s",
+ ["received_weapon_ammo"] = "Modtog ~o~%sx %s for din %s fra %s",
+ ["received_weapon_withammo"] = "Modtog %s med ~o~%sx %s fra %s",
+ ["received_weapon_hasalready"] = "%s har forsøgt at give dig en %s, men du allerede dette våben",
+ ["received_weapon_noweapon"] = "%s har forsøgt at give dig ammunition for en %s, men du har ikke dette våben",
+ ["gave_account_money"] = "Giver %s kr. (%s) til %s",
+ ["received_account_money"] = "Modtog %s kr. (%s) fra %s",
+ ["amount_invalid"] = "Ugyldig mængde",
+ ["players_nearby"] = "Ingen spillere i nærheden",
+ ["ex_inv_lim"] = "Kan ikke udføre handling, overskrider maks. vægt på %s",
+ ["imp_invalid_quantity"] = "Handlingen kan ikke udføres, mængden er ugyldig",
+ ["imp_invalid_amount"] = "Handlingen kan ikke udføres, beløbet er ugyldigt",
+ ["threw_standard"] = "Smider %sx %s",
+ ["threw_account"] = "Smider %s kr. %s",
+ ["threw_weapon"] = "Smider %s",
+ ["threw_weapon_ammo"] = "Smider %s med ~o~%sx %s",
+ ["threw_weapon_already"] = "Du har allerede dette våben",
+ ["threw_cannot_pickup"] = "Inventory er fyldt, Kan ikke tages!",
+ ["threw_pickup_prompt"] = "Tryk på E for at tage genstand",
+
+ -- Key mapping
+ ["keymap_showinventory"] = "Vis Inventory",
+
+ -- Salary related
+ ["received_salary"] = "Du er blevet betalt: %s kr.",
+ ["received_help"] = "Du har fået udbetalt din velfærdscheck: %s kr.",
+ ["company_nomoney"] = "den virksomhed, du er ansat i, er for fattig til at udbetale din løn",
+ ["received_paycheck"] = "modtaget lønseddel",
+ ["bank"] = "Maze Bank",
+ ["account_bank"] = "Bank",
+ ["account_black_money"] = "Beskidte penge",
+ ["account_money"] = "Penge",
+
+ ["act_imp"] = "Kan ikke udføre handling",
+ ["in_vehicle"] = "Kan ikke udføre handling, spilleren er i et køretøj",
+
+ -- Commands
+ ['command_bring'] = 'Tag en spiller til dig',
+ ['command_car'] = 'Spawn et køretøj',
+ ['command_car_car'] = 'Køretøjsmodel eller hash',
+ ['command_cardel'] = 'Fjern køretøjer i nærheden',
+ ['command_cardel_radius'] = 'Fjerner alle køretøjer inden for den specificerede radius',
+ ['command_clear'] = 'Ryd chatten',
+ ['command_clearall'] = 'Ryd chatten for alle spillere',
+ ['command_clearinventory'] = 'Fjern alle elementer fra spillernes inventar',
+ ['command_clearloadout'] = 'Fjern alle våben fra Players Loadout',
+ ['command_freeze'] = 'Frys en spiller',
+ ['command_unfreeze'] = 'Frigør en spiller',
+ ['command_giveaccountmoney'] = 'Giv penge til en bestemt konto',
+ ['command_giveaccountmoney_account'] = 'Konto at tilføje til',
+ ['command_giveaccountmoney_amount'] = 'Beløb at tilføje',
+ ['command_giveaccountmoney_invalid'] = 'Kontonavn ugyldigt',
+ ['command_giveitem'] = 'Giv spilleren en genstand',
+ ['command_giveitem_item'] = 'Genstands navn',
+ ['command_giveitem_count'] = 'Antal',
+ ['command_giveweapon'] = 'Giv spilleren et våben',
+ ['command_giveweapon_weapon'] = 'Navn på våben',
+ ['command_giveweapon_ammo'] = 'Ammunitions mængde',
+ ['command_giveweapon_hasalready'] = 'Spilleren har allerede dette våben',
+ ['command_giveweaponcomponent'] = 'Giv en våbenkomponent til spilleren',
+ ['command_giveweaponcomponent_component'] = 'Komponent navn',
+ ['command_giveweaponcomponent_invalid'] = 'Ugyldig våben-komponent',
+ ['command_giveweaponcomponent_hasalready'] = 'Spilleren har allerede denne våben-komponent',
+ ['command_giveweaponcomponent_missingweapon'] = 'Spilleren har ikke dette våben',
+ ['command_goto'] = 'Teleporter dig selv til en spiller',
+ ['command_kill'] = 'Dræb en spiller',
+ ['command_save'] = 'Force save en spillers data',
+ ['command_saveall'] = 'Force save alle spillers data',
+ ['command_setaccountmoney'] = 'Indstil pengene på en bestemt konto',
+ ['command_setaccountmoney_amount'] = 'Beløb',
+ ['command_setcoords'] = 'Teleporter til specificerede koordinater',
+ ['command_setcoords_x'] = 'X værdi',
+ ['command_setcoords_y'] = 'Y værdi',
+ ['command_setcoords_z'] = 'Z værdi',
+ ['command_setjob'] = 'Sæt en spillers job',
+ ['command_setjob_job'] = 'Navn',
+ ['command_setjob_grade'] = 'Job karakter',
+ ['command_setjob_invalid'] = 'jobbet, karakteren eller begge dele er ugyldige',
+ ['command_setgroup'] = 'Indstil en spillers tilladelsesgruppe',
+ ['command_setgroup_group'] = 'Navn på gruppe',
+ ['commanderror_argumentmismatch'] = 'Antal ugyldige argumenter (bestået %s, ønsket %s)',
+ ['commanderror_argumentmismatch_number'] = 'Ugyldigt argument #%s datatype (bestået streng, ønsket nummer)',
+ ['commanderror_argumentmismatch_string'] = 'Invalid Argument #%s data type (passed number, wanted string)',
+ ['commanderror_invaliditem'] = 'Ugyldig genstand',
+ ['commanderror_invalidweapon'] = 'Ugyldigt våben',
+ ['commanderror_console'] = 'Kommandoen kan ikke udføres fra konsollen',
+ ['commanderror_invalidcommand'] = 'Ugyldig kommando - /%s',
+ ['commanderror_invalidplayerid'] = 'Den angivne spiller er ikke online',
+ ['commandgeneric_playerid'] = 'Spillerens server-id',
+ ['command_giveammo_noweapon_found'] = '%s har ikke det våben',
+ ['command_giveammo_weapon'] = 'Våben navn',
+ ['command_giveammo_ammo'] = 'Ammunitions mængde',
+ ['tpm_nowaypoint'] = 'Ingen waypoint indstillet.',
+ ['tpm_success'] = 'Teleporteret med succes',
+
+ ['noclip_message'] = 'Noclip er blevet %s',
+ ['enabled'] = '~g~aktiveret~s~',
+ ['disabled'] = '~r~deaktiveret~s~',
+
+ -- Locale settings
+ ["locale_digit_grouping_symbol"] = ",",
+ ["locale_currency"] = "%s DKK",
+
+ -- Weapons
+
+ -- Melee
+ ["weapon_dagger"] = "Dolk",
+ ["weapon_bat"] = "Bat",
+ ["weapon_battleaxe"] = "Kampøkse",
+ ["weapon_bottle"] = "Flaske",
+ ["weapon_crowbar"] = "Koben",
+ ["weapon_flashlight"] = "Lommelygte",
+ ["weapon_golfclub"] = "Golf Club",
+ ["weapon_hammer"] = "Hammer",
+ ["weapon_hatchet"] = "Økse",
+ ["weapon_knife"] = "Kniv",
+ ["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"] = "Tung Pistol",
+ ["weapon_revolver"] = "Tung 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"] = "Kamp Haglgevær",
+ ["weapon_dbshotgun"] = "Dobbeltløbet gevær",
+ ["weapon_heavyshotgun"] = "Tungt haglgevær",
+ ["weapon_musket"] = "Musket",
+ ["weapon_pumpshotgun"] = "Pumpe haglgevær",
+ ["weapon_pumpshotgun_mk2"] = "Pumpe haglgevær MK2",
+ ["weapon_sawnoffshotgun"] = "Oversavet haglgevær",
+
+ -- 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"] = "Maskinpistol",
+ ["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"] = "Militær riffel",
+ ["weapon_specialcarbine"] = "Special Carbine",
+ ["weapon_specialcarbine_mk2"] = "Special Carbine MK2",
+
+ -- Sniper
+ ["weapon_heavysniper"] = "Tung snigskytte",
+ ["weapon_heavysniper_mk2"] = "Tung snigskytte MK2",
+ ["weapon_marksmanrifle"] = "Skytterifle",
+ ["weapon_marksmanrifle_mk2"] = "Skytterifle MK2",
+ ["weapon_sniperrifle"] = "Snigskytteriffel",
+
+ -- 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"] = "Granat",
+ ["weapon_petrolcan"] = "Benzindunk",
+ ["weapon_hazardcan"] = "Farlig Benzindunk",
+ ["weapon_molotov"] = "Molotov Cocktail",
+ ["weapon_proxmine"] = "Proximity Mine",
+ ["weapon_pipebomb"] = "Pipe Bomb",
+ ["weapon_snowball"] = "Snebold",
+ ["weapon_stickybomb"] = "Sticky Bomb",
+ ["weapon_smokegrenade"] = "Tåregas",
+
+ -- Special
+ ["weapon_fireextinguisher"] = "Brandslukker",
+ ["weapon_digiscanner"] = "Digital scanner",
+ ["weapon_garbagebag"] = "Skraldepose",
+ ["weapon_handcuffs"] = "Håndjern",
+ ["gadget_nightvision"] = "Night Vision",
+ ["gadget_parachute"] = "faldskæ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"] = "standardhåndtag",
+ ["component_handle_vip"] = "VIP håndtag",
+ ["component_handle_bodyguard"] = "livvagt håndtag",
+
+ ["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"] = "standard magasin",
+ ["component_clip_extended"] = "udvidet Magasin",
+ ["component_clip_drum"] = "drum Magasin",
+ ["component_clip_box"] = "box Magazine",
+
+ ["component_scope_holo"] = "rødpunktsigte",
+ ["component_scope_small"] = "lille sigte",
+ ["component_scope_medium"] = "medium sigte",
+ ["component_scope_large"] = "stort sigte",
+ ["component_scope"] = "mounted Scope",
+ ["component_scope_advanced"] = "avanceret sigte",
+ ["component_ironsights"] = "jernsigte",
+
+ ["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"] = "våbenlygte",
+ ["component_grip"] = "greb",
+
+ ["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/[core]/es_extended/locales/de.lua b/[core]/es_extended/locales/de.lua
index 52f4dd16c..c21f03ea4 100644
--- a/[core]/es_extended/locales/de.lua
+++ b/[core]/es_extended/locales/de.lua
@@ -52,7 +52,6 @@ Locales["de"] = {
["act_imp"] = "Du kannst diese Aktion nicht ausführen!",
["in_vehicle"] = "Du kannst diese Aktion nicht ausführen! Person ist in einem Fahrzeug",
- ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle",
-- Commands
['command_bring'] = 'Person zu dir bringen',
@@ -60,9 +59,6 @@ Locales["de"] = {
['command_car_car'] = 'Fahrzeug Model oder Hash',
['command_cardel'] = 'Fahrzeuge entfernen',
['command_cardel_radius'] = 'Entfernt alle Fahrzeuge in einem bestimmten Radius',
- ['command_repair'] = 'Repair your vehicle',
- ['command_repair_success'] = 'Successfully repaired vehicle',
- ['command_repair_success_target'] = 'An admin repaired your vehicle',
['command_clear'] = 'Textchat leeren',
['command_clearall'] = 'Textchat leeren für alle Spieler leeren',
['command_clearinventory'] = 'Alle Items von dem Inventar eines Spielers entfernen',
@@ -101,10 +97,6 @@ Locales["de"] = {
['command_setjob_invalid'] = 'Der Job Grad oder beides sind ungültig',
['command_setgroup'] = 'Setzt eine Berechtigungs Gruppe für einen User',
['command_setgroup_group'] = 'Name der Gruppe',
- ['command_removeaccountmoney'] = 'Entfernt Geld von einem bestimmten Account',
- ['command_removeaccountmoney_account'] = 'Account von wem es entfernt werden soll',
- ['command_removeaccountmoney_amount'] = 'Anzahl die Entfernt werden soll',
- ['command_removeaccountmoney_invalid'] = 'Name des Accounts Ungültig',
['commanderror_argumentmismatch'] = 'Ungültiger Argument (gegeben %s, gewollt %s)',
['commanderror_argumentmismatch_number'] = 'Ungültiges Argument #%s daten typ (string gegeben, gewollte nummer)',
['commanderror_argumentmismatch_string'] = 'Invalid Argument #%s data type (passed number, wanted string)',
@@ -208,7 +200,6 @@ Locales["de"] = {
["weapon_militaryrifle"] = "Militärgewehr",
["weapon_specialcarbine"] = "Spezialkarabiner",
["weapon_specialcarbine_mk2"] = "Spezialkarabiner MK2",
- ["weapon_heavyrifle"] = "Schweres Gewehr",
-- Sniper
["weapon_heavysniper"] = "Schwere Sniper",
@@ -233,10 +224,10 @@ Locales["de"] = {
["weapon_tactilerifle"] = "Service Karabiner",
-- Drug Wars DLC
- ['weapon_candycane'] = 'Zuckerstange',
- ['weapon_acidpackage'] = 'Säure Paket',
- ['weapon_pistolxm3'] = 'WM 29 Pistole',
- ['weapon_railgunxm3'] = 'Railgun',
+ ['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",
@@ -318,7 +309,7 @@ Locales["de"] = {
["component_scope_advanced"] = "Fortgeschrittenes Zielfernrohr",
["component_ironsights"] = "Ironsights",
- ["component_suppressor"] = "Entstörer",
+ ["component_suppressor"] = "Schalldämpfer",
["component_compensator"] = "Kompensator",
["component_muzzle_flat"] = "Flache Mündung",
diff --git a/[core]/es_extended/locales/el.lua b/[core]/es_extended/locales/el.lua
deleted file mode 100644
index 7bca2071a..000000000
--- a/[core]/es_extended/locales/el.lua
+++ /dev/null
@@ -1,381 +0,0 @@
-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"] = "πλατίνενο δέρμα",
-}
diff --git a/[core]/es_extended/locales/en.lua b/[core]/es_extended/locales/en.lua
index 81eb738b7..136819f5c 100644
--- a/[core]/es_extended/locales/en.lua
+++ b/[core]/es_extended/locales/en.lua
@@ -52,7 +52,6 @@ Locales["en"] = {
["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',
@@ -60,9 +59,6 @@ Locales["en"] = {
['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',
@@ -208,7 +204,6 @@ Locales["en"] = {
["weapon_militaryrifle"] = "Military Rifle",
["weapon_specialcarbine"] = "Special Carbine",
["weapon_specialcarbine_mk2"] = "Special Carbine MK2",
- ["weapon_heavyrifle"] = "Heavy Rifle",
-- Sniper
["weapon_heavysniper"] = "Heavy Sniper",
@@ -232,12 +227,6 @@ Locales["en"] = {
["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",
diff --git a/[core]/es_extended/locales/es.lua b/[core]/es_extended/locales/es.lua
index 9a3791a09..45bfb1d98 100644
--- a/[core]/es_extended/locales/es.lua
+++ b/[core]/es_extended/locales/es.lua
@@ -52,7 +52,6 @@ Locales["es"] = {
["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',
@@ -60,9 +59,6 @@ Locales["es"] = {
['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',
@@ -121,10 +117,10 @@ Locales["es"] = {
-- Weapons
-- Drug Wars DLC
- ['weapon_candycane'] = 'Hacha de Caramelo ',
- ['weapon_acidpackage'] = 'Paquete de Acido',
- ['weapon_pistolxm3'] = 'Pistola WM 29',
- ['weapon_railgunxm3'] = 'Fusil electromagnético',
+ ['weapon_candycane'] = 'Candy Cane', -- not translated
+ ['weapon_acidpackage'] = 'Acid Package', -- not translated
+ ['weapon_pistolxm3'] = 'WM 29 Pistol', -- not translated
+ ['weapon_railgunxm3'] = 'Railgun', -- not translated
-- Melee
["weapon_dagger"] = "Daga",
@@ -162,7 +158,7 @@ Locales["es"] = {
["weapon_pistol50"] = "Pistola .50",
["weapon_snspistol"] = "Pistola SNS",
["weapon_snspistol_mk2"] = "Pistola SNS MK2",
- ["weapon_stungun"] = "Taser",
+ ["weapon_stungun"] = "Tazer",
["weapon_raypistol"] = "Up-N-Atomizer",
["weapon_vintagepistol"] = "Pistola Vintage",
@@ -204,7 +200,6 @@ Locales["es"] = {
["weapon_militaryrifle"] = "Rifle Militar",
["weapon_specialcarbine"] = "Carabina Especial",
["weapon_specialcarbine_mk2"] = "Carabina Especial MK2",
- ["weapon_heavyrifle"] = "Rifle Pesado",
-- Sniper
["weapon_heavysniper"] = "Francotirador Pesado",
diff --git a/[core]/es_extended/locales/fi.lua b/[core]/es_extended/locales/fi.lua
index bd32d952d..9eff6471c 100644
--- a/[core]/es_extended/locales/fi.lua
+++ b/[core]/es_extended/locales/fi.lua
@@ -52,16 +52,12 @@ Locales["fi"] = {
["act_imp"] = "Toiminto mahdoton",
["in_vehicle"] = "Et voi antaa ajoneuvossa olevalle mitään",
- ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle",
-- 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',
@@ -194,7 +190,6 @@ Locales["fi"] = {
["gadget_parachute"] = "Laskuvarjo",
["weapon_flare"] = "Hätäraketti",
["weapon_doubleaction"] = "Double action revolveri",
- ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated
-- Weapon Components
["component_clip_default"] = "Oletus lipas",
diff --git a/[core]/es_extended/locales/fr.lua b/[core]/es_extended/locales/fr.lua
index 3dedf7928..bc5289d52 100644
--- a/[core]/es_extended/locales/fr.lua
+++ b/[core]/es_extended/locales/fr.lua
@@ -52,7 +52,6 @@ Locales["fr"] = {
["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",
@@ -60,9 +59,6 @@ Locales["fr"] = {
["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",
@@ -107,7 +103,6 @@ Locales["fr"] = {
["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",
@@ -208,7 +203,6 @@ Locales["fr"] = {
["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",
@@ -232,12 +226,6 @@ Locales["fr"] = {
["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",
diff --git a/[core]/es_extended/locales/he.lua b/[core]/es_extended/locales/he.lua
deleted file mode 100644
index c2bafc991..000000000
--- a/[core]/es_extended/locales/he.lua
+++ /dev/null
@@ -1,374 +0,0 @@
-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"] = "הצג מלאי",
-
- -- 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"] = "לא ניתן לבצע פעולה, השחקן נמצא ברכב",
-
- -- Commands
- ['command_bring'] = 'הבא שחקן אליך',
- ['command_car'] = 'צור רכב',
- ['command_car_car'] = 'דגם הרכב או הקוד',
- ['command_cardel'] = 'הסר רכבים בסביבה',
- ['command_cardel_radius'] = 'מסיר את כל הרכבים ברדיוס המצויין',
- ['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~',
-
- -- 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"] = "אקדח 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"] = "אקדח קרניים",
- ["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"] = "SMG תוקף",
- ["weapon_combatmg"] = "MG לחימה",
- ["weapon_combatmg_mk2"] = "MG לחימה MK2",
- ["weapon_combatpdw"] = "PDW לחימה",
- ["weapon_gusenberg"] = "גוזנברג מכשיר",
- ["weapon_machinepistol"] = "אקדח מכונה",
- ["weapon_mg"] = "MG",
- ["weapon_microsmg"] = "SMG מיקרו",
- ["weapon_minismg"] = "SMG מיני",
- ["weapon_smg"] = "SMG",
- ["weapon_smg_mk2"] = "SMG 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",
-
- -- 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"] = "רובה טקטי",
-
- -- 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"] = "צניחה",
-
- -- 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_vip_finish"] = "סיום VIP",
- ["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"] = "סיום פיצוץ",
- ["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"] = "סיום פיצוץ שקופה",
- ["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"] = "כדורי 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/[core]/es_extended/locales/hu.lua b/[core]/es_extended/locales/hu.lua
index 02feb4ed6..b5336610f 100644
--- a/[core]/es_extended/locales/hu.lua
+++ b/[core]/es_extended/locales/hu.lua
@@ -52,7 +52,6 @@ Locales["hu"] = {
["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",
@@ -60,9 +59,6 @@ Locales["hu"] = {
["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",
@@ -204,7 +200,6 @@ Locales["hu"] = {
["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",
diff --git a/[core]/es_extended/locales/it.lua b/[core]/es_extended/locales/it.lua
index 227978cc2..67b59bb74 100644
--- a/[core]/es_extended/locales/it.lua
+++ b/[core]/es_extended/locales/it.lua
@@ -52,7 +52,6 @@ Locales["it"] = {
["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',
@@ -60,9 +59,6 @@ Locales["it"] = {
['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',
@@ -73,10 +69,6 @@ Locales["it"] = {
['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à',
@@ -208,7 +200,6 @@ Locales["it"] = {
["weapon_militaryrifle"] = "Fucile militare",
["weapon_specialcarbine"] = "Carabina speciale",
["weapon_specialcarbine_mk2"] = "Carabina speciale MK2",
- ["weapon_heavyrifle"] = "Fucile pesante",
-- Sniper
["weapon_heavysniper"] = "Cecchino pesante",
@@ -233,10 +224,10 @@ Locales["it"] = {
["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',
+ ['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"] = "Palla",
diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua
index 938303f52..af4b920f3 100644
--- a/[core]/es_extended/locales/nl.lua
+++ b/[core]/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!",
+ ["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"] = "Inventoraris is vol, Kan 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"] = "Cash",
+
+ ["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'] = 'Ammo 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'] = 'Amount',
+ ['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 (passed number, wanted string)',
+ ['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'] = 'Ammo Hoeveelheid',
+ ['tpm_nowaypoint'] = 'Geen waypoint gezet.',
+ ['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"] = "Knuckledusters",
+ ["weapon_machete"] = "Machete",
+ ["weapon_nightstick"] = "Nightstick",
+ ["weapon_wrench"] = "Pijpsleutel",
+ ["weapon_poolcue"] = "Pool Cue",
+ ["weapon_stone_hatchet"] = "Steenbijl",
+ ["weapon_switchblade"] = "Switchblade",
+
+ -- Handguns
+ ["weapon_appistol"] = "AP-pistool",
+ ["weapon_ceramicpistol"] = "Keramische pistool",
+ ["weapon_combatpistol"] = "Gevechtspistool",
+ ["weapon_doubleaction"] = "Revolver met dubbele actie",
+ ["weapon_navyrevolver"] = "Marine Revolver",
+ ["weapon_flaregun"] = "Flaregun",
+ ["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"] = "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"] = "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/[core]/es_extended/locales/pl.lua b/[core]/es_extended/locales/pl.lua
index d738239a5..dbea4a260 100644
--- a/[core]/es_extended/locales/pl.lua
+++ b/[core]/es_extended/locales/pl.lua
@@ -51,16 +51,12 @@ Locales["pl"] = {
["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',
@@ -187,7 +183,6 @@ Locales["pl"] = {
["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",
diff --git a/[core]/es_extended/locales/sc.lua b/[core]/es_extended/locales/sc.lua
new file mode 100644
index 000000000..8c3d6598e
--- /dev/null
+++ b/[core]/es_extended/locales/sc.lua
@@ -0,0 +1,228 @@
+Locales['sc'] = {
+ -- 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'] = '请离开载具',
+
+ -- 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',
+ ['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',
+
+ -- 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/[core]/es_extended/locales/sl.lua b/[core]/es_extended/locales/sl.lua
index 0fe41be5d..0e5de6125 100644
--- a/[core]/es_extended/locales/sl.lua
+++ b/[core]/es_extended/locales/sl.lua
@@ -52,7 +52,6 @@ Locales["sl"] = {
["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',
@@ -60,9 +59,6 @@ Locales["sl"] = {
['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',
@@ -204,7 +200,6 @@ Locales["sl"] = {
["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",
diff --git a/[core]/es_extended/locales/sr.lua b/[core]/es_extended/locales/sr.lua
index 2813b8468..5a5e8b392 100644
--- a/[core]/es_extended/locales/sr.lua
+++ b/[core]/es_extended/locales/sr.lua
@@ -52,7 +52,6 @@ Locales["sr"] = {
["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',
@@ -60,9 +59,6 @@ Locales["sr"] = {
['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',
@@ -204,7 +200,6 @@ Locales["sr"] = {
["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",
diff --git a/[core]/es_extended/locales/sv.lua b/[core]/es_extended/locales/sv.lua
new file mode 100644
index 000000000..734752b11
--- /dev/null
+++ b/[core]/es_extended/locales/sv.lua
@@ -0,0 +1,349 @@
+Locales['sv'] = {
+ -- Inventory
+ ['inventory'] = 'Förråd ( Vikt %s / %s )',
+ ['use'] = 'Använd',
+ ['give'] = 'Ge',
+ ['remove'] = 'Kasta',
+ ['return'] = 'Gå tillbaka',
+ ['give_to'] = 'Ge till',
+ ['amount'] = 'Antal',
+ ['giveammo'] = 'Ge ammunition',
+ ['amountammo'] = 'Mängd ammunition',
+ ['noammo'] = 'Inte tillräckligt med ammunition!',
+ ['gave_item'] = 'Ge %sx %s till %s',
+ ['received_item'] = 'Fick %sx %s från %s',
+ ['gave_weapon'] = 'Ge %s till %s',
+ ['gave_weapon_ammo'] = 'Ge ~o~%sx %s för %s till %s',
+ ['gave_weapon_withammo'] = 'Ge %s med ~o~%sx %s till %s',
+ ['gave_weapon_hasalready'] = '%s har redan en %s',
+ ['gave_weapon_noweapon'] = '%s har inte det vapnet',
+ ['received_weapon'] = 'Mottog %s från %s',
+ ['received_weapon_ammo'] = 'Fick ~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 det här vapnet',
+ ['received_weapon_noweapon'] = '%s har försökt ge dig ammunition för en %s, men du har inte det här vapnet',
+ ['gave_account_money'] = 'Ge $%s (%s) till %s',
+ ['received_account_money'] = 'Mottog $%s (%s) från %s',
+ ['amount_invalid'] = 'Ogiltig mängd',
+ ['players_nearby'] = 'Inga spelare i närheten',
+ ['ex_inv_lim'] = 'Kan inte utföra åtgärden, överstiger maxvikten %s',
+ ['imp_invalid_quantity'] = 'Det går inte att utföra åtgärden, mängden är ogiltig',
+ ['imp_invalid_amount'] = 'Det går inte att utföra åtgärden, mängden är ogiltigt',
+ ['threw_standard'] = 'Kastade %sx %s',
+ ['threw_account'] = 'Kastade $%s %s',
+ ['threw_weapon'] = 'Kastade %s',
+ ['threw_weapon_ammo'] = 'Kastade %s med ~o~%sx %s',
+ ['threw_weapon_already'] = 'Du har redan det här vapnet',
+ ['threw_cannot_pickup'] = 'Förrådet är fullt, kan inte plocka upp!',
+ ['threw_pickup_prompt'] = 'Tryck E för att plocka upp',
+
+ -- Key mapping
+ ['keymap_showinventory'] = 'Visa förrådet',
+
+ -- Salary related
+ ['received_salary'] = 'Du har fått lön: $%s',
+ ['received_help'] = 'Du har fått bidrag: $%s',
+ ['company_nomoney'] = 'företaget du är anställt hos har inte råd att betala ut din lön',
+ ['received_paycheck'] = 'Mottagit lön',
+ ['bank'] = 'Bank',
+ ['account_bank'] = 'Bank',
+ ['account_black_money'] = 'Svarta pengar',
+ ['account_money'] = 'Kontanter',
+
+ ['act_imp'] = 'Kan inte utföra åtgärd',
+ ['in_vehicle'] = 'Kan inte utföra åtgärd, spelaren är i ett fordon',
+
+ -- Commands
+ ['command_car'] = 'Spawna ett fordon',
+ ['command_car_car'] = 'Fordonsmodell eller hash',
+ ['command_cardel'] = 'Ta bort fordon i närheten',
+ ['command_cardel_radius'] = 'Tar bort alla fordon inom angiven radie',
+ ['command_clear'] = 'Rensa chatttext',
+ ['command_clearall'] = 'Rensa chatttext för alla spelare',
+ ['command_clearinventory'] = 'Ta bort alla föremål från spelarens förråd',
+ ['command_clearloadout'] = 'Ta bort alla vapen från spelarens förråd',
+ ['command_giveaccountmoney'] = 'Ge pengar till ett specifikt konto',
+ ['command_giveaccountmoney_account'] = 'Konto att lägga till i',
+ ['command_giveaccountmoney_amount'] = 'Belopp att lägga till',
+ ['command_giveaccountmoney_invalid'] = 'Kontonamn ogiltigt',
+ ['command_giveitem'] = 'Ge spelaren ett föremål',
+ ['command_giveitem_item'] = 'Föremålsnamn',
+ ['command_giveitem_count'] = 'Mängd',
+ ['command_giveweapon'] = 'Ge spelaren ett vapen',
+ ['command_giveweapon_weapon'] = 'Vapennamn',
+ ['command_giveweapon_ammo'] = 'Ammunitionsmängd',
+ ['command_giveweapon_hasalready'] = 'Spelaren har redan det här vapnet',
+ ['command_giveweaponcomponent'] = 'Ge en vapenkomponent till spelaren',
+ ['command_giveweaponcomponent_component'] = 'Vapenkomponentnamn',
+ ['command_giveweaponcomponent_invalid'] = 'Ogiltig vapenkomponent',
+ ['command_giveweaponcomponent_hasalready'] = 'Spelaren har redan denna vapenkomponent',
+ ['command_giveweaponcomponent_missingweapon'] = 'Spelaren har inte det här vapnet',
+ ['command_save'] = 'Tvångspara en spelares data',
+ ['command_saveall'] = 'Tvångspara allas spelardata',
+ ['command_setaccountmoney'] = 'Ställ in pengarna på ett angivet konto',
+ ['command_setaccountmoney_amount'] = 'Ny Summa',
+ ['command_setcoords'] = 'Teleportera till specificerade koordinater',
+ ['command_setcoords_x'] = 'X-värde',
+ ['command_setcoords_y'] = 'Y-värde',
+ ['command_setcoords_z'] = 'Z-värde',
+ ['command_setjob'] = 'Ställ in en spelares jobb',
+ ['command_setjob_job'] = 'Jobbnamn',
+ ['command_setjob_grade'] = 'Jobbnivå',
+ ['command_setjob_invalid'] = 'jobbet, nivån eller båda är ogiltiga',
+ ['command_setgroup'] = 'Ställ in en spelares behörighetsgrupp',
+ ['command_setgroup_group'] = 'Gruppens namn',
+ ['commanderror_argumentmismatch'] = 'Ogiltigt antal argument (godkänt %s, önskat %s)',
+ ['commanderror_argumentmismatch_number'] = 'Ogiltigt argument #%s datatyp (godkänd sträng, önskat nummer)',
+ ['commanderror_invaliditem'] = 'Ogiltig artikel',
+ ['commanderror_invalidweapon'] = 'Ogiltigt vapen',
+ ['commanderror_console'] = 'Kommandot kan inte köras från konsolen',
+ ['commanderror_invalidcommand'] = 'Ogiltigt kommando - /%s',
+ ['commanderror_invalidplayerid'] = 'Angiven spelare är inte online',
+ ['commandgeneric_playerid'] = 'Spelarens server-id',
+ ['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 SEK',
+
+ -- Weapons
+
+ -- Melee
+ ['weapon_dagger'] = 'Dolk',
+ ['weapon_bat'] = 'Slagträ',
+ ['weapon_battleaxe'] = 'Stridsyxa',
+ ['weapon_bottle'] = 'Flaska',
+ ['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'] = 'Batong',
+ ['weapon_wrench'] = 'Rörtång',
+ ['weapon_poolcue'] = 'Biljardkö',
+ ['weapon_stone_hatchet'] = 'Stenyxa',
+ ['weapon_switchblade'] = 'Fällkniv',
+
+ -- 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',
+
+ -- 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',
+
+ -- 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'] = 'ammunition',
+ ['ammo_shells'] = 'hagel',
+ ['ammo_charge'] = 'laddning',
+ ['ammo_petrol'] = 'bensin',
+ ['ammo_firework'] = 'fyrverkeri(er)',
+ ['ammo_rockets'] = 'raket(er)',
+ ['ammo_grenadelauncher'] = 'grenat(er)',
+ ['ammo_grenade'] = 'grenat(er)',
+ ['ammo_stickybomb'] = 'bomb(er)',
+ ['ammo_pipebomb'] = 'bomb(er)',
+ ['ammo_smokebomb'] = 'bomb(er)',
+ ['ammo_molotov'] = 'cocktail(s)',
+ ['ammo_proxmine'] = 'bomb(er)',
+ ['ammo_bzgas'] = 'burk(ar)',
+ ['ammo_ball'] = 'boll(ar)',
+ ['ammo_snowball'] = 'snöboll(ar)',
+ ['ammo_flare'] = 'lysraket(er)',
+ ['ammo_flaregun'] = 'lysraket(er)',
+
+ -- Weapon Tints
+ ['tint_default'] = 'Standard färg',
+ ['tint_green'] = 'Grön färg',
+ ['tint_gold'] = 'Guld färg',
+ ['tint_pink'] = 'Rosa färg',
+ ['tint_army'] = 'Armé färg',
+ ['tint_lspd'] = 'Blå färg',
+ ['tint_orange'] = 'Orange färg',
+ ['tint_platinum'] = 'Platina färg',
+}
\ No newline at end of file
diff --git a/[core]/es_extended/locales/tc.lua b/[core]/es_extended/locales/tc.lua
new file mode 100644
index 000000000..59c269f1f
--- /dev/null
+++ b/[core]/es_extended/locales/tc.lua
@@ -0,0 +1,365 @@
+Locales['tc'] = {
+ -- 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'] = '請離開載具',
+
+ -- Commands
+ ['command_bring'] = '傳送玩家到你旁邊',
+ ['command_car'] = '生成載具',
+ ['command_car_car'] = '生成載具的模型名稱或希哈值',
+ ['command_cardel'] = '刪除附近的載具',
+ ['command_cardel_radius'] = '可選擇,刪除指定半徑內的所有車輛',
+ ['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'] = '傳送到座標上',
+ ['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',
+ ['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 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'] = '50 口徑手槍',
+ ['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'] = '衝鋒槍',
+ ['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',
+
+ -- 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'] = '制式卡賓步槍',
+
+ -- 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/[core]/es_extended/locales/zh-cn.lua b/[core]/es_extended/locales/zh-cn.lua
index e5093c258..e75009812 100644
--- a/[core]/es_extended/locales/zh-cn.lua
+++ b/[core]/es_extended/locales/zh-cn.lua
@@ -52,7 +52,6 @@ Locales["zh-cn"] = {
["act_imp"] = "操作失败",
["in_vehicle"] = "请离开当前载具",
- ["not_in_vehicle"] = "Cannot Perform Action, Player isn't in a vehicle",
-- Commands
['command_bring'] = '传送玩家到您身边',
@@ -60,9 +59,6 @@ Locales["zh-cn"] = {
['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'] = '清除玩家库存',
@@ -204,7 +200,6 @@ Locales["zh-cn"] = {
["weapon_militaryrifle"] = "军用步枪",
["weapon_specialcarbine"] = "特制卡宾步枪",
["weapon_specialcarbine_mk2"] = "特制卡宾步枪-MK2",
- ["weapon_heavyrifle"] = "Heavy Rifle", -- Not Translated
-- Sniper
["weapon_heavysniper"] = "重型狙击步枪",
diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua
index 49b600cf7..a6d3e6ac0 100644
--- a/[core]/es_extended/server/classes/player.lua
+++ b/[core]/es_extended/server/classes/player.lua
@@ -20,7 +20,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
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))
@@ -352,7 +352,6 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
function self.setJob(newJob, grade)
grade = tostring(grade)
local lastJob = json.decode(json.encode(self.job))
-
if ESX.DoesJobExist(newJob, grade) then
local jobObject, gradeObject = ESX.Jobs[newJob], ESX.Jobs[newJob].grades[grade]
@@ -360,6 +359,8 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
self.job.name = jobObject.name
self.job.label = jobObject.label
+ self.job.type = jobObject.type
+
self.job.grade = tonumber(grade)
self.job.grade_name = gradeObject.name
self.job.grade_label = gradeObject.label
@@ -379,7 +380,8 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
TriggerEvent('esx:setJob', self.source, self.job, lastJob)
self.triggerEvent('esx:setJob', self.job, lastJob)
- Player(self.source).state:set("job", self.job, true)
+ self.triggerEvent('RiP-Fraktion:reloadFraktion')
+ --Player(self.source).state:set("job", self.job, true)
else
print(('[es_extended] [^3WARNING^7] Ignoring invalid ^5.setJob()^7 usage for ID: ^5%s^7, Job: ^5%s^7'):format(self.source, job))
end
@@ -398,7 +400,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
})
GiveWeaponToPed(GetPlayerPed(self.source), joaat(weaponName), ammo, false, false)
- self.triggerEvent('esx:addInventoryItem', weaponLabel, false, true)
+ self.triggerEvent('esx:addInventoryItem', weaponLabel, false, true, weaponName)
end
end
@@ -463,7 +465,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
function self.removeWeapon(weaponName)
local weaponLabel, playerPed = nil, GetPlayerPed(self.source)
- if not playerPed then
+ if not playerPed then
return print("[^1ERROR^7] xPlayer.removeWeapon ^5invalid^7 player ped!")
end
@@ -474,7 +476,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
for _, v2 in ipairs(v.components) do
self.removeWeaponComponent(weaponName, v2)
end
-
+
local weaponHash = joaat(v.name)
RemoveWeaponFromPed(playerPed, weaponHash)
@@ -565,8 +567,8 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
end
end
- function self.showNotification(msg, notifyType, length)
- self.triggerEvent('esx:showNotification', msg, notifyType, length)
+ function self.showNotification(msg, type, length)
+ self.triggerEvent('esx:showNotification', msg, type, length)
end
function self.showAdvancedNotification(sender, subject, msg, textureDict, iconType, flash, saveToBrief, hudColorIndex)
@@ -644,59 +646,33 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
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
+
+ self.triggerEvent('esx:updatePlayerData', 'metadata', self.metadata)
Player(self.source).state:set('metadata', self.metadata, true)
end
- function self.clearMeta(index, subValues)
+ function self.clearMeta(index)
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!")
+ return print(("[^1ERROR^7] xPlayer.clearMeta ^5%s^7 is Missing!"):format(index))
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
+
+ if type(index) == 'table' then
+ for _, val in pairs(index) do
+ self.clearMeta(val)
end
- else
- return print(("[^1ERROR^7] xPlayer.clearMeta ^5subValues^7 should be ^5string^7 or ^5table^7, received ^5%s^7!"):format(type(subValues)))
+
+ return
end
-
+
+ if not self.metadata[index] then
+ return print(("[^1ERROR^7] xPlayer.clearMeta ^5%s^7 not exist!"):format(index))
+ end
+
+ self.metadata[index] = nil
+ self.triggerEvent('esx:updatePlayerData', 'metadata', self.metadata)
Player(self.source).state:set('metadata', self.metadata, true)
end
diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua
index 4bb0de60a..458e3e157 100644
--- a/[core]/es_extended/server/commands.lua
+++ b/[core]/es_extended/server/commands.lua
@@ -1,9 +1,9 @@
-ESX.RegisterCommand({'setcoords', 'tp'}, 'admin', function(xPlayer, args)
+ESX.RegisterCommand('setcoords', '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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, 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 },
@@ -13,27 +13,49 @@ 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' }
+ { name = 'x', help = TranslateCap('command_setcoords_x'), type = 'number' },
+ { name = 'y', help = TranslateCap('command_setcoords_y'), type = 'number' },
+ { name = 'z', help = TranslateCap('command_setcoords_z'), type = 'number' }
}
})
ESX.RegisterCommand('setjob', 'admin', function(xPlayer, args, showError)
- if not ESX.DoesJobExist(args.job, args.grade) then
- return showError(TranslateCap('command_setjob_invalid'))
- end
-
+ if not ESX.DoesJobExist(args.job, args.grade) then
+ if xPlayer ~= false then
+ return TriggerClientEvent('okokNotify:Alert', xPlayer.source, "System", "Job und oder Rang existiert nicht!", 5000, 'error')
+ else
+ return print("Job und oder Rang existiert nicht!")
+ end
+ 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 },
- })
+
+ if xPlayer ~= false then
+ TriggerClientEvent('okokNotify:Alert', args.playerId.source, "System", ""..GetPlayerName(xPlayer.source).." hat deinen Job auf "..args.playerId.getJob().label.." | "..args.playerId.getJob().grade_label.." gesetzt.", 10000, 'group')
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "System", "Du hast den Job von "..GetPlayerName(args.playerId.source).." auf "..args.playerId.getJob().label.." | "..args.playerId.getJob().grade_label.." gesetzt.", 10000, 'group')
+ if Config.AdminLogging then
+ ESX.DiscordLogFields("UserActions", "Set Job /setjob Triggered!", "pink", {
+ { name = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, 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
+ else
+ TriggerClientEvent('okokNotify:Alert', args.playerId.source, "System", "Das System hat deinen Job auf "..args.playerId.getJob().label.." | "..args.playerId.getJob().grade_label.." gesetzt.", 10000, 'group')
+ print("Du hast den Job von "..GetPlayerName(args.playerId.source).." auf "..args.playerId.getJob().label.." | "..args.playerId.getJob().grade_label.." gesetzt.")
+ if Config.AdminLogging then
+ ESX.DiscordLogFields("UserActions", "Set Job /setjob Triggered!", "pink", {
+ { name = "Player", value = "System", inline = true },
+ { name = "ID", value = "Console", 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
+
end, true, {
help = TranslateCap('command_setjob'),
validate = true,
@@ -75,8 +97,8 @@ ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError)
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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Vehicle", value = args.car, inline = true }
})
end
@@ -101,27 +123,31 @@ end, false, {
help = TranslateCap('command_car'),
validate = false,
arguments = {
- { name = 'car', validate = false, help = TranslateCap('command_car_car'), type = 'string' }
+ { name = 'car', validate = false, help = TranslateCap('command_car_car'), type = 'any' }
}
})
ESX.RegisterCommand({ 'cardel', 'dv' }, 'admin', function(xPlayer, args)
local PedVehicle = GetVehiclePedIsIn(GetPlayerPed(xPlayer.source), false)
if DoesEntityExist(PedVehicle) then
- DeleteEntity(PedVehicle)
+ exports["AdvancedParking"]:DeleteVehicle(PedVehicle)
+ end
+
+ if type(args.radius) == 'string' or type(args.radius) == string then
+ args.radius = 5.0
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)
+ exports["AdvancedParking"]:DeleteVehicle(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 },
+ { name = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
})
end
end, false, {
@@ -132,48 +158,48 @@ end, false, {
}
})
-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' }
- }
-})
-
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 },
- })
+
+ local accountText = nil
+
+ if args.account == 'money' then
+ accountText = "Bargeld"
+ elseif args.account == 'bank' then
+ accountText = "Kontostand"
+ else
+ accountText = "Geld"
end
+
+ if xPlayer ~= false then
+ TriggerClientEvent('okokNotify:Alert', args.playerId.source, "System", ""..GetPlayerName(xPlayer.source).." hat dein "..accountText.." auf "..args.amount.."$ gesetzt!", 10000, 'group')
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "System", "Du hast das Geld von "..GetPlayerName(args.playerId.source).." auf "..args.amount.."$ gesetzt!", 10000, 'group')
+ if Config.AdminLogging then
+ ESX.DiscordLogFields("UserActions", "Set Account Money /setaccountmoney Triggered!", "pink", {
+ { name = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, 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
+ else -- console
+ TriggerClientEvent('okokNotify:Alert', args.playerId.source, "System", "Das System hat dein "..accountText.." auf "..args.amount.."$ gesetzt!", 10000, 'group')
+ print("Du hast das Geld von "..GetPlayerName(args.playerId.source).." auf "..args.amount.."$ gesetzt.")
+ if Config.AdminLogging then
+ ESX.DiscordLogFields("UserActions", "Set Account Money /setaccountmoney Triggered!", "pink", {
+ { name = "Player", value = "System", inline = true },
+ { name = "ID", value = "Console", 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
+
end, true, {
help = TranslateCap('command_setaccountmoney'),
validate = true,
@@ -189,15 +215,42 @@ ESX.RegisterCommand('giveaccountmoney', 'admin', function(xPlayer, args, showErr
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 },
- })
+
+ local accountText = nil
+ if args.account == 'money' then
+ accountText = "Bargeld"
+ elseif args.account == 'bank' then
+ accountText = "auf dein Konto"
+ else
+ accountText = "Geld"
end
+
+ if xPlayer ~= false then
+ TriggerClientEvent('okokNotify:Alert', args.playerId.source, "System", "Du hast "..args.amount.."$ "..accountText.." von "..GetPlayerName(xPlayer.source).." erhalten!", 10000, 'group')
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "System", "Du hast "..args.amount.."$ an "..GetPlayerName(args.playerId.source).." gegeben!", 10000, 'group')
+ if Config.AdminLogging then
+ ESX.DiscordLogFields("UserActions", "Give Account Money /giveaccountmoney Triggered!", "pink", {
+ { name = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, 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
+ else -- console
+ TriggerClientEvent('okokNotify:Alert', args.playerId.source, "System", "Du hast "..args.amount.."$ "..accountText.." von dem System erhalten!", 10000, 'group')
+ print("Du hast "..GetPlayerName(args.playerId.source).." "..args.amount.."$ gegeben.")
+ if Config.AdminLogging then
+ ESX.DiscordLogFields("UserActions", "Give Account Money /giveaccountmoney Triggered!", "pink", {
+ { name = "Player", value = "System", inline = true },
+ { name = "ID", value = "Console", 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
+
end, true, {
help = TranslateCap('command_giveaccountmoney'),
validate = true,
@@ -215,8 +268,8 @@ ESX.RegisterCommand('removeaccountmoney', 'admin', function(xPlayer, args, showE
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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Target", value = args.playerId.name, inline = true },
{ name = "Account", value = args.account, inline = true },
{ name = "Amount", value = args.amount, inline = true },
@@ -237,8 +290,8 @@ if not Config.OxInventory then
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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Target", value = args.playerId.name, inline = true },
{ name = "Item", value = args.item, inline = true },
{ name = "Quantity", value = args.count, inline = true },
@@ -261,8 +314,8 @@ if not Config.OxInventory then
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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Target", value = args.playerId.name, inline = true },
{ name = "Weapon", value = args.weapon, inline = true },
{ name = "Ammo", value = args.ammo, inline = true },
@@ -285,8 +338,8 @@ if not Config.OxInventory then
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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Target", value = args.playerId.name, inline = true },
{ name = "Weapon", value = args.weapon, inline = true },
{ name = "Ammo", value = args.ammo, inline = true },
@@ -314,8 +367,8 @@ if not Config.OxInventory then
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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Target", value = args.playerId.name, inline = true },
{ name = "Weapon", value = args.weaponName, inline = true },
{ name = "Component", value = args.componentName, inline = true },
@@ -347,8 +400,8 @@ 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 },
+ { name = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
})
end
end, true, { help = TranslateCap('command_clearall') })
@@ -367,8 +420,8 @@ if not Config.OxInventory then
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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Target", value = args.playerId.name, inline = true },
})
end
@@ -387,8 +440,8 @@ if not Config.OxInventory then
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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Target", value = args.playerId.name, inline = true },
})
end
@@ -401,7 +454,7 @@ if not Config.OxInventory then
})
end
-ESX.RegisterCommand('setgroup', 'admin', function(xPlayer, args)
+--[[ 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"
@@ -410,8 +463,8 @@ ESX.RegisterCommand('setgroup', 'admin', function(xPlayer, args)
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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Target", value = args.playerId.name, inline = true },
{ name = "Group", value = args.group, inline = true },
})
@@ -423,7 +476,147 @@ end, true, {
{ name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player' },
{ name = 'group', help = TranslateCap('command_setgroup_group'), type = 'string' },
}
-})
+}) ]]
+
+ESX.RegisterCommand('setgroup', 'admin', function(xPlayer, args, showError)
+
+local targetId = tonumber(args.playerId)
+ local targetGroup = tostring(args.group)
+ local xTarget = ESX.GetPlayerFromId(targetId)
+ local targetOldGroup = "Nicht definiert"
+ local textPlayer = "FEHLER"
+ local textTarget = "FEHLER"
+ if xTarget ~= nil then
+
+ if xTarget.getGroup() == "user" then
+ targetOldGroup = "User"
+ end
+ if xTarget.getGroup() == "team" then
+ targetOldGroup = "Teammitglied"
+ end
+ if xTarget.getGroup() == "mod" then
+ targetOldGroup = "Moderator"
+ end
+ if xTarget.getGroup() == "fahrzeugmanager" then
+ targetOldGroup = "Fahrzeugmanager"
+ end
+ if xTarget.getGroup() == "support_leitung" then
+ targetOldGroup = "Supportleitung"
+ end
+ if xTarget.getGroup() == "admin" then
+ targetOldGroup = "Admin"
+ end
+ if xTarget.getGroup() == "super_admin" then
+ targetOldGroup = "Superadmin"
+ end
+ if xTarget.getGroup() == "entwickler" then
+ targetOldGroup = "Entwickler"
+ end
+ if xTarget.getGroup() == "projektleitung" then
+ targetOldGroup = "Projektleitung"
+ end
+
+ if targetGroup == "user" or targetGroup == "team" or targetGroup == "mod" or targetGroup == "fahrzeugmanager" or targetGroup == "support_leitung" or targetGroup == "admin" or targetGroup == "super_admin" or targetGroup == "entwickler" or targetGroup == "projektleitung" then
+ if targetId ~= "0" and xTarget ~= nil and xPlayer ~= false then
+ if targetGroup == "user" then
+ textPlayer = "Du hast die Gruppe von "..GetPlayerName(targetId).." von "..targetOldGroup.." auf User gesetzt."
+ textTarget = ""..GetPlayerName(xPlayer.source).." hat deine Gruppe von "..targetOldGroup.." auf User gesetzt."
+ end
+ if targetGroup == "team" then
+ textPlayer = "Du hast die Gruppe von "..GetPlayerName(targetId).." von "..targetOldGroup.." auf Teammitglied gesetzt."
+ textTarget = ""..GetPlayerName(xPlayer.source).." hat deine Gruppe von "..targetOldGroup.." auf Teammitglied gesetzt."
+ end
+ if targetGroup == "mod" then
+ textPlayer = "Du hast die Gruppe von "..GetPlayerName(targetId).." von "..targetOldGroup.." auf Moderator gesetzt."
+ textTarget = ""..GetPlayerName(xPlayer.source).." hat deine Gruppe von "..targetOldGroup.." auf Moderator gesetzt."
+ end
+ if targetGroup == "fahrzeugmanager" then
+ textPlayer = "Du hast die Gruppe von "..GetPlayerName(targetId).." von "..targetOldGroup.." auf Fahrzeugmanager gesetzt."
+ textTarget = ""..GetPlayerName(xPlayer.source).." hat deine Gruppe von "..targetOldGroup.." auf Fahrzeugmanager gesetzt."
+ end
+ if targetGroup == "support_leitung" then
+ textPlayer = "Du hast die Gruppe von "..GetPlayerName(targetId).." von "..targetOldGroup.." auf Supportleitung gesetzt."
+ textTarget = ""..GetPlayerName(xPlayer.source).." hat deine Gruppe von "..targetOldGroup.." auf Supportleitung gesetzt."
+ end
+ if targetGroup == "admin" then
+ textPlayer = "Du hast die Gruppe von "..GetPlayerName(targetId).." von "..targetOldGroup.." auf Admin gesetzt."
+ textTarget = ""..GetPlayerName(xPlayer.source).." hat deine Gruppe von "..targetOldGroup.." auf Admin gesetzt."
+ end
+ if targetGroup == "super_admin" then
+ textPlayer = "Du hast die Gruppe von "..GetPlayerName(targetId).." von "..targetOldGroup.." auf Superadmin gesetzt."
+ textTarget = ""..GetPlayerName(xPlayer.source).." hat deine Gruppe von "..targetOldGroup.." auf Superadmin gesetzt."
+ end
+ if targetGroup == "entwickler" then
+ textPlayer = "Du hast die Gruppe von "..GetPlayerName(targetId).." von "..targetOldGroup.." auf Entwickler gesetzt."
+ textTarget = ""..GetPlayerName(xPlayer.source).." hat deine Gruppe von "..targetOldGroup.." auf Entwickler gesetzt."
+ end
+ if targetGroup == "projektleitung" then
+ textPlayer = "Du hast die Gruppe von "..GetPlayerName(targetId).." von "..targetOldGroup.." auf Projektleitung gesetzt."
+ textTarget = ""..GetPlayerName(xPlayer.source).." hat deine Gruppe von "..targetOldGroup.." auf Projektleitung gesetzt."
+ end
+ end
+
+ if xPlayer == false then
+ textTarget = "Die Projektleitung hat deine Gruppe von "..xTarget.getGroup().." auf "..targetGroup.." gesetzt."
+ xTarget.setGroup(args.group)
+ exports['JD_logs']:createLog({
+ EmbedMessage = '**Die Projektleitung** hat **'..GetPlayerName(args.playerId).."**'s Gruppe auf **"..args.group.."** gesetzt.",
+ player_id = args.playerId,
+ color = '#000000',
+ channel = 'setgroup',
+ screenshot = false
+ })
+ TriggerClientEvent('okokNotify:Alert', args.playerId, "Berechtigung", textTarget, 5000, 'group')
+ print("Gruppe von "..GetPlayerName(targetId).." wurde von "..targetOldGroup.." auf "..targetGroup.." gesetzt.")
+ end
+
+
+ if xPlayer.getGroup() == "projektleitung" or xPlayer.getGroup() == "super_admin" then
+ if xPlayer.getGroup() == "projektleitung" then
+ if not args.playerId then args.playerId = xPlayer.source end
+ --args.playerId.setGroup(args.group)
+ xTarget.setGroup(args.group)
+ exports['JD_logs']:createLog({
+ EmbedMessage = '**'..GetPlayerName(xPlayer.source)..'** hat **'..GetPlayerName(args.playerId).."**'s Gruppe auf **"..args.group.."** gesetzt.",
+ player_id = xPlayer.source,
+ player_2_id = args.playerId,
+ color = '#000000',
+ channel = 'setgroup',
+ screenshot = false
+ })
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "Berechtigung", textPlayer, 5000, 'group')
+ TriggerClientEvent('okokNotify:Alert', args.playerId, "Berechtigung", textTarget, 5000, 'group')
+ elseif xPlayer.getGroup() == "super_admin" and xTarget.getGroup() ~= "projektleitung" and args.group ~= "projektleitung" and args.group ~= "super_admin" and args.group ~= "entwickler" then
+ if not args.playerId then args.playerId = xPlayer.source end
+ --args.playerId.setGroup(args.group)
+ xTarget.setGroup(args.group)
+ exports['JD_logs']:createLog({
+ EmbedMessage = '**'..GetPlayerName(xPlayer.source)..'** hat **'..GetPlayerName(args.playerId).."**'s Gruppe auf **"..args.group.."** gesetzt.",
+ player_id = xPlayer.source,
+ player_2_id = args.playerId,
+ color = '#000000',
+ channel = 'setgroup',
+ screenshot = false
+ })
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "Berechtigung", textPlayer, 5000, 'group')
+ TriggerClientEvent('okokNotify:Alert', args.playerId, "Berechtigung", textTarget, 5000, 'group')
+ else
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "System", "Du kannst als Superadmin nur die Gruppen user, team, support_leitung, mod, fahrzeugmanager und admin setzen. Projektleitung und Entwickler kannst du nicht ändern.", 5000, 'error')
+ end
+ else
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "System", "Nur die Projektleitung und Superadmins können Gruppen setzen.", 5000, 'error')
+ end
+ else
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "System", "Die eingegebene Gruppe existiert nicht!", 5000, 'error')
+ end
+ else
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "System", "Keinen Bürger gefunden!", 5000, 'error')
+ end
+end, true, {help = _U('command_setgroup'), validate = true, arguments = {
+ {name = 'playerId', help = _U('commandgeneric_playerid'), type = 'playerId'},
+ {name = 'group', help = _U('command_setgroup_group'), type = 'string'},
+}})
+
ESX.RegisterCommand('save', 'admin', function(_, args)
Core.SavePlayer(args.playerId)
@@ -447,13 +640,14 @@ 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))
-end, false)
+end, true)
ESX.RegisterCommand('info', { "user", "admin" }, function(xPlayer)
local job = xPlayer.getJob().name
+ local jobgrade = xPlayer.getJob().grade_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)
+end, true)
ESX.RegisterCommand('coords', "admin", function(xPlayer)
local ped = GetPlayerPed(xPlayer.source)
@@ -461,30 +655,30 @@ ESX.RegisterCommand('coords', "admin", function(xPlayer)
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)
+end, true)
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 },
+ { name = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
})
end
-end, false)
+end, true)
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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Target", value = args.playerId.name, inline = true },
{ name = "Target Coords", value = targetCoords, inline = true },
})
end
-end, false, {
+end, true, {
help = TranslateCap('command_goto'),
validate = true,
arguments = {
@@ -498,13 +692,13 @@ ESX.RegisterCommand('bring', "admin", function(xPlayer, args)
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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Target", value = args.playerId.name, inline = true },
{ name = "Target Coords", value = targetCoords, inline = true },
})
end
-end, false, {
+end, true, {
help = TranslateCap('command_bring'),
validate = true,
arguments = {
@@ -516,8 +710,8 @@ 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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Target", value = args.playerId.name, inline = true },
})
end
@@ -533,8 +727,8 @@ 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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Target", value = args.playerId.name, inline = true },
})
end
@@ -550,8 +744,8 @@ 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 = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
{ name = "Target", value = args.playerId.name, inline = true },
})
end
@@ -567,17 +761,18 @@ 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 },
+ { name = "Player", value = xPlayer.name, inline = true },
+ { name = "ID", value = xPlayer.source, inline = true },
})
end
end, false)
ESX.RegisterCommand('players', "admin", function()
- local xPlayers = ESX.GetExtendedPlayers() -- Returns all xPlayers
+ local xPlayers = ESX.GetExtendedPlayers() -- Returns all xPlayers
print(('^5%s^2 online player(s)^0'):format(#xPlayers))
- for i = 1, #(xPlayers) do
+ 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
+ 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/[core]/es_extended/server/common.lua b/[core]/es_extended/server/common.lua
index 1f87bf3b4..58bc5b8dd 100644
--- a/[core]/es_extended/server/common.lua
+++ b/[core]/es_extended/server/common.lua
@@ -1,7 +1,6 @@
ESX = {}
ESX.Players = {}
ESX.Jobs = {}
-ESX.JobsPlayerCount = {}
ESX.Items = {}
Core = {}
Core.UsableItemsCallbacks = {}
@@ -14,11 +13,6 @@ Core.playersByIdentifier = {}
Core.vehicleTypesByModel = {}
-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))
-end)
-
exports('getSharedObject', function()
return ESX
end)
@@ -32,9 +26,8 @@ end
local function StartDBSync()
CreateThread(function()
- local interval = 10 * 60 * 1000
while true do
- Wait(interval)
+ Wait(10 * 60 * 1000)
Core.SavePlayers()
end
end)
@@ -86,3 +79,73 @@ RegisterNetEvent("esx:ReturnVehicleType", function(Type, Request)
Core.ClientCallbacks[Request] = nil
end
end)
+
+
+-- Jobs Creator integration (jobs_creator)
+RegisterNetEvent('esx:refreshJobs')
+AddEventHandler('esx:refreshJobs', function()
+ MySQL.Async.fetchAll('SELECT * FROM jobs', {}, function(jobs)
+ for k,v in ipairs(jobs) do
+ ESX.Jobs[v.name] = v
+ ESX.Jobs[v.name].grades = {}
+ end
+
+ MySQL.Async.fetchAll('SELECT * FROM job_grades', {}, function(jobGrades)
+ for k,v in ipairs(jobGrades) do
+ if ESX.Jobs[v.job_name] then
+ ESX.Jobs[v.job_name].grades[tostring(v.grade)] = v
+ else
+ print(('[es_extended] [^3WARNING^7] Ignoring job grades for "%s" due to missing job'):format(v.job_name))
+ end
+ end
+
+ for k2,v2 in pairs(ESX.Jobs) do
+ if ESX.Table.SizeOf(v2.grades) == 0 then
+ ESX.Jobs[v2.name] = nil
+ print(('[es_extended] [^3WARNING^7] Ignoring job "%s" due to no job grades found'):format(v2.name))
+ end
+ end
+ end)
+ end)
+end)
+
+
+RegisterServerEvent('esx:addFraktion')
+AddEventHandler('esx:addFraktion', function(job, label, grade_name, grade_label)
+ if ESX.DoesJobExist(job, 0) then
+ print("^6[ERROR]^0 job (fracation) already exists")
+ return
+ else
+ ESX.Jobs[job] = {
+ name = job,
+ label = label,
+ type = 'fraktion',
+ whitelisted = 0,
+ grades = {
+ ['0'] = {
+ job_name = job,
+ grade = 0,
+ name = grade_name,
+ label = grade_label,
+ salary = 0,
+ skin_male = '{}',
+ skin_female = '{}',
+ }
+ }
+ }
+ return true
+ end
+end)
+
+RegisterServerEvent('esx:reloadFraktion')
+AddEventHandler('esx:reloadFraktion', function(fraktion, grades)
+ if not fraktion or not grades or not ESX.Jobs[fraktion] then
+ print("^6[ERROR:SERVER]^0 error while reloading fraction grades")
+ return false
+ end
+
+ ESX.Jobs[fraktion].grades = {}
+ for r,p in pairs(grades) do
+ ESX.Jobs[fraktion].grades[tostring(p.grade)] = p
+ end
+end)
\ No newline at end of file
diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua
index 49ee3a8e9..2b7389c6f 100644
--- a/[core]/es_extended/server/functions.lua
+++ b/[core]/es_extended/server/functions.lua
@@ -113,18 +113,11 @@ function ESX.RegisterCommand(name, group, cb, allowConsole, suggestion)
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
end
--backwards compatibility
- if v.validate ~= nil and not v.validate then
+ if not v.validate and not v.type then
error = nil
end
@@ -164,14 +157,7 @@ function ESX.RegisterCommand(name, group, cb, allowConsole, suggestion)
end
end
-local function updateHealthAndArmorInMetadata(xPlayer)
- local ped = GetPlayerPed(xPlayer.source)
- xPlayer.setMeta('health', GetEntityHealth(ped))
- xPlayer.setMeta('armor',GetPedArmour(ped))
-end
-
function Core.SavePlayer(xPlayer, cb)
- updateHealthAndArmorInMetadata(xPlayer)
local parameters = {
json.encode(xPlayer.getAccounts(true)),
xPlayer.job.name,
@@ -209,7 +195,6 @@ function Core.SavePlayers(cb)
local parameters = {}
for _, xPlayer in pairs(ESX.Players) do
- updateHealthAndArmorInMetadata(xPlayer)
parameters[#parameters + 1] = {
json.encode(xPlayer.getAccounts(true)),
xPlayer.job.name,
@@ -263,11 +248,7 @@ function ESX.GetExtendedPlayers(key, val)
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
+ if (key == 'job' and v.job.name == val) or v[key] == val then
xPlayers[#xPlayers + 1] = v
end
end
@@ -276,34 +257,6 @@ function ESX.GetExtendedPlayers(key, val)
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)
-end
-
function ESX.GetPlayerFromId(source)
return ESX.Players[tonumber(source)]
end
@@ -317,9 +270,12 @@ function ESX.GetIdentifier(playerId)
if fxDk == 1 then
return "ESX-DEBUG-LICENCE"
end
-
- local identifier = GetPlayerIdentifierByType(playerId, 'license')
- return identifier and identifier:gsub('license:', '')
+ for _, v in ipairs(GetPlayerIdentifiers(playerId)) do
+ if string.match(v, 'license:') then
+ local identifier = string.gsub(v, 'license:', '')
+ return identifier
+ end
+ end
end
---@param model string|number
@@ -511,19 +467,19 @@ function ESX.GetUsableItems()
end
if not Config.OxInventory then
- function ESX.CreatePickup(itemType, name, count, label, playerId, components, tintIndex, coords)
+ function ESX.CreatePickup(type, name, count, label, playerId, components, tintIndex)
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))
+ local coords = xPlayer.getCoords()
- Core.Pickups[pickupId] = { type = itemType, name = name, count = count, label = label, coords = coords }
+ Core.Pickups[pickupId] = { type = type, name = name, count = count, label = label, coords = coords }
- if itemType == 'item_weapon' then
+ if type == '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)
+ TriggerClientEvent('esx:createPickup', -1, pickupId, label, coords, type, name, components, tintIndex)
Core.PickupId = pickupId
end
end
diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua
index 91b25bc71..3d0a64334 100644
--- a/[core]/es_extended/server/main.lua
+++ b/[core]/es_extended/server/main.lua
@@ -9,10 +9,6 @@ if Config.Multichar then
newPlayer = newPlayer .. ', `firstname` = ?, `lastname` = ?, `dateofbirth` = ?, `sex` = ?, `height` = ?'
end
-if Config.StartingInventoryItems then
- newPlayer = newPlayer .. ', `inventory` = ?'
-end
-
if Config.Multichar or Config.Identity then
loadPlayer = loadPlayer .. ', `firstname`, `lastname`, `dateofbirth`, `sex`, `height`'
end
@@ -82,15 +78,16 @@ function createESXPlayer(identifier, playerId, data)
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))
+ if not Config.Multichar then
+ MySQL.prepare(newPlayer, { json.encode(accounts), identifier, defaultGroup }, function()
+ loadESXPlayer(identifier, playerId, true)
+ end)
+ else
+ MySQL.prepare(newPlayer,
+ { json.encode(accounts), identifier, defaultGroup, data.firstname, data.lastname, data.dateofbirth, data.sex, data.height }, function()
+ loadESXPlayer(identifier, playerId, true)
+ end)
end
-
- MySQL.prepare(newPlayer, parameters, function()
- loadESXPlayer(identifier, playerId, true)
- end)
end
if not Config.Multichar then
@@ -164,7 +161,7 @@ function loadESXPlayer(identifier, playerId, isNew)
jobObject, gradeObject = ESX.Jobs[job], ESX.Jobs[job].grades[grade]
else
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'
+ job, grade = 'arbeitslos', '0'
jobObject, gradeObject = ESX.Jobs[job], ESX.Jobs[job].grades[grade]
end
@@ -325,12 +322,6 @@ function loadESXPlayer(identifier, playerId, isNew)
xPlayer.set('height', userData.height)
end
end
- --saved player health and armor in metadata
- local ped = GetPlayerPed(xPlayer.source)
- if ped then
- xPlayer.setMeta('health', xPlayer.getMeta('health') or GetEntityHealth(ped))
- xPlayer.setMeta('armor', xPlayer.getMeta('armor') or GetPedArmour(ped))
- end
TriggerEvent('esx:playerLoaded', playerId, xPlayer, isNew)
@@ -368,17 +359,17 @@ function loadESXPlayer(identifier, playerId, isNew)
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))
+ print(('[^2INFO^0] Player ^5"%s"^0 - ^5"%s"^0 has connected to the server. ID: ^5%s^7'):format(GetPlayerName(playerId), xPlayer.getName(), playerId))
end
-AddEventHandler('chatMessage', function(playerId, _, message)
+--[[ 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
-end)
+end) ]]
AddEventHandler('playerDropped', function(reason)
local playerId = source
@@ -386,10 +377,7 @@ AddEventHandler('playerDropped', function(reason)
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
@@ -397,26 +385,6 @@ AddEventHandler('playerDropped', function(reason)
end
end)
-AddEventHandler("esx:playerLoaded", function(_, xPlayer)
- 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]
-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]
-
- 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]
-end)
-
AddEventHandler('esx:playerLogout', function(playerId, cb)
local xPlayer = ESX.GetPlayerFromId(playerId)
if xPlayer then
@@ -444,7 +412,7 @@ if not Config.OxInventory then
end)
RegisterNetEvent('esx:giveInventoryItem')
- AddEventHandler('esx:giveInventoryItem', function(target, itemType, itemName, itemCount)
+ AddEventHandler('esx:giveInventoryItem', function(target, type, itemName, itemCount)
local playerId = source
local sourceXPlayer = ESX.GetPlayerFromId(playerId)
local targetXPlayer = ESX.GetPlayerFromId(target)
@@ -454,7 +422,7 @@ if not Config.OxInventory then
return
end
- if itemType == 'item_standard' then
+ if type == 'item_standard' then
local sourceItem = sourceXPlayer.getInventoryItem(itemName)
if itemCount > 0 and sourceItem.count >= itemCount then
@@ -470,7 +438,7 @@ if not Config.OxInventory then
else
sourceXPlayer.showNotification(TranslateCap('imp_invalid_quantity'))
end
- elseif itemType == 'item_account' then
+ elseif type == '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)
@@ -481,7 +449,7 @@ if not Config.OxInventory then
else
sourceXPlayer.showNotification(TranslateCap('imp_invalid_amount'))
end
- elseif itemType == 'item_weapon' then
+ elseif type == 'item_weapon' then
if sourceXPlayer.hasWeapon(itemName) then
local weaponLabel = ESX.GetWeaponLabel(itemName)
if not targetXPlayer.hasWeapon(itemName) then
@@ -514,7 +482,7 @@ if not Config.OxInventory then
targetXPlayer.showNotification(TranslateCap('received_weapon_hasalready', sourceXPlayer.name, weaponLabel))
end
end
- elseif itemType == 'item_ammo' then
+ elseif type == 'item_ammo' then
if sourceXPlayer.hasWeapon(itemName) then
local _, weapon = sourceXPlayer.getWeapon(itemName)
@@ -541,11 +509,11 @@ if not Config.OxInventory then
end)
RegisterNetEvent('esx:removeInventoryItem')
- AddEventHandler('esx:removeInventoryItem', function(itemType, itemName, itemCount)
+ AddEventHandler('esx:removeInventoryItem', function(type, itemName, itemCount)
local playerId = source
local xPlayer = ESX.GetPlayerFromId(playerId)
- if itemType == 'item_standard' then
+ if type == 'item_standard' then
if itemCount == nil or itemCount < 1 then
xPlayer.showNotification(TranslateCap('imp_invalid_quantity'))
else
@@ -560,7 +528,7 @@ if not Config.OxInventory then
xPlayer.showNotification(TranslateCap('threw_standard', itemCount, xItem.label))
end
end
- elseif itemType == 'item_account' then
+ elseif type == 'item_account' then
if itemCount == nil or itemCount < 1 then
xPlayer.showNotification(TranslateCap('imp_invalid_amount'))
else
@@ -575,7 +543,7 @@ if not Config.OxInventory then
xPlayer.showNotification(TranslateCap('threw_account', ESX.Math.GroupDigits(itemCount), string.lower(account.label)))
end
end
- elseif itemType == 'item_weapon' then
+ elseif type == 'item_weapon' then
itemName = string.upper(itemName)
if xPlayer.hasWeapon(itemName) then
@@ -616,12 +584,6 @@ if not Config.OxInventory then
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)
@@ -737,31 +699,15 @@ AddEventHandler('txAdmin:events:serverShuttingDown', function()
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,
-}
-
-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
-end)
+AddEventHandler("esx:getSharedObject", function(cb)
+ cb(ESX)
+ 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))
+CreateThread(function()
+while true do
+ Wait(15 * 60000)
+ for _, xPlayer in pairs(ESX.GetExtendedPlayers()) do
+ exports['ak4y-battlepass']:battlepassAddXp(xPlayer, 50)
end
end
+end)
\ No newline at end of file
diff --git a/[core]/es_extended/server/modules/callback.lua b/[core]/es_extended/server/modules/callback.lua
index d78e9d4a7..d126c2393 100644
--- a/[core]/es_extended/server/modules/callback.lua
+++ b/[core]/es_extended/server/modules/callback.lua
@@ -41,3 +41,8 @@ RegisterNetEvent('esx:clientCallback', function(requestId, invoker, ...)
clientRequests[requestId](...)
clientRequests[requestId] = nil
end)
+
+
+ -- Jobs Creator integration (jobs_creator)
+ ESX.ServerCallbacks = serverCallbacks
+
\ No newline at end of file
diff --git a/[core]/es_extended/server/onesync.lua b/[core]/es_extended/server/onesync.lua
index 9fefaa744..515b51456 100644
--- a/[core]/es_extended/server/onesync.lua
+++ b/[core]/es_extended/server/onesync.lua
@@ -7,34 +7,15 @@ ESX.OneSync = {}
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)
-
+ source = GetPlayerPed(source)
+
if not source then
- error("Received invalid first argument (source); should be playerId")
- return result
+ error("Received invalid first argument (source); should be playerId or vector3 coordinates")
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
+ source = GetEntityCoords(GetPlayerPed(source))
end
for _, xPlayer in pairs(ESX.Players) do
@@ -43,18 +24,16 @@ local function getNearbyPlayers(source, closest, distance, ignore)
local coords = GetEntityCoords(entity)
if not closest then
- local dist = #(playerCoords - coords)
+ local dist = #(source - 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
+ local dist = #(source - coords)
+ if dist <= (result.dist or distance) then
+ result = { id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist }
+ end
end
end
end
diff --git a/[core]/es_extended/server/paycheck.lua b/[core]/es_extended/server/paycheck.lua
index 981382934..8e9f8b65a 100644
--- a/[core]/es_extended/server/paycheck.lua
+++ b/[core]/es_extended/server/paycheck.lua
@@ -7,11 +7,11 @@ function StartPayCheck()
local job = xPlayer.job.grade_name
local salary = xPlayer.job.grade_salary
- if salary > 0 then
- if job == 'unemployed' then -- unemployed
+ if salary > 0 and xPlayer.job.type ~= 'fraktion' then
+ if job == 'arbeitslos' 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)
+ TriggerEvent('okokBanking:AddTransferTransactionFromSocietyToP', salary, "salary", "Salary", xPlayer.identifier, xPlayer.getName())
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "Bürgergeld", "Du hast dein Bürgergeld in höhe von "..salary.."$ bekommen. Du kannst jetzt wieder Zigaretten und Alkohol kaufen!", 8000, 'harz4')
if Config.LogPaycheck then
ESX.DiscordLogFields("Paycheck", "Paycheck - Unemployment Benefits", "green", {
{ name = "Player", value = xPlayer.name, inline = true },
@@ -34,10 +34,10 @@ function StartPayCheck()
})
end
- TriggerClientEvent('esx:showAdvancedNotification', player, TranslateCap('bank'), TranslateCap('received_paycheck'),
- TranslateCap('received_salary', salary), 'CHAR_BANK_MAZE', 9)
+ TriggerEvent('okokBanking:AddTransferTransactionFromSocietyToP', salary, "salary", "Salary", xPlayer.identifier, xPlayer.getName())
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "Gehalt", "Du hast dein Gehalt in höhe von "..salary.."$ erhalten.", 8000, 'payment')
else
- TriggerClientEvent('esx:showAdvancedNotification', player, TranslateCap('bank'), '', TranslateCap('company_nomoney'), 'CHAR_BANK_MAZE', 1)
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "Gehalt", "Deine Firma hat nicht genug Geld um dich zu bezahlen.", 8000, 'paymentdenied')
end
end)
else -- not a society
@@ -49,8 +49,8 @@ function StartPayCheck()
{ name = "Amount", value = salary, inline = true }
})
end
- TriggerClientEvent('esx:showAdvancedNotification', player, TranslateCap('bank'), TranslateCap('received_paycheck'), TranslateCap('received_salary', salary),
- 'CHAR_BANK_MAZE', 9)
+ TriggerEvent('okokBanking:AddTransferTransactionFromSocietyToP', salary, "salary", "Salary", xPlayer.identifier, xPlayer.getName())
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "Gehalt", "Du hast dein Gehalt in höhe von "..salary.."$ erhalten.", 8000, 'payment')
end
end)
else -- generic job
@@ -62,8 +62,8 @@ function StartPayCheck()
{ name = "Amount", value = salary, inline = true }
})
end
- TriggerClientEvent('esx:showAdvancedNotification', player, TranslateCap('bank'), TranslateCap('received_paycheck'), TranslateCap('received_salary', salary),
- 'CHAR_BANK_MAZE', 9)
+ TriggerEvent('okokBanking:AddTransferTransactionFromSocietyToP', salary, "salary", "Salary", xPlayer.identifier, xPlayer.getName())
+ TriggerClientEvent('okokNotify:Alert', xPlayer.source, "Gehalt", "Du hast dein Gehalt in höhe von "..salary.."$ erhalten.", 8000, 'payment')
end
end
end
diff --git a/[core]/es_extended/version.json b/[core]/es_extended/version.json
new file mode 100644
index 000000000..ed35a3e9d
--- /dev/null
+++ b/[core]/es_extended/version.json
@@ -0,0 +1,5 @@
+{
+ "version": "legacy",
+ "commit" : "1.9.0",
+ "changelog": "\n- Add PlayerOveride System, ESX Notify, ESX Progressbar and ESX TextUI"
+}