diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 7e7e0f1e..2fb4d83b 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -5,7 +5,7 @@ jobs: name: Lint Resource runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Lint uses: iLLeniumStudios/fivem-lua-lint-action@v2 with: diff --git a/[core]/cron/server/main.lua b/[core]/cron/server/main.lua index 4228f089..e517d10e 100644 --- a/[core]/cron/server/main.lua +++ b/[core]/cron/server/main.lua @@ -20,7 +20,7 @@ end function OnTime(d, h, m) - for i=1, #Jobs, 1 do + for i = 1, #Jobs, 1 do if Jobs[i].h == h and Jobs[i].m == m then Jobs[i].cb(d, h, m) end diff --git a/[core]/es_extended/.editorconfig b/[core]/es_extended/.editorconfig deleted file mode 100644 index 9b425256..00000000 --- a/[core]/es_extended/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -root = true - -[*] -indent_size = 4 -indent_style = tab -end_of_line = crlf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true \ No newline at end of file diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index 90191138..f56e53fe 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -77,8 +77,7 @@ function ESX.ShowNotification(message, type, length) print("[^1ERROR^7] ^5ESX Notify^7 is Missing!") end - - + function ESX.TextUI(message, type) if GetResourceState("esx_textui") ~= "missing" then return exports["esx_textui"]:TextUI(message, type) @@ -155,9 +154,9 @@ if GetResourceState("esx_context") ~= "missing" then end function ESX.RefreshContext(...) - exports["esx_context"]:Refresh(...) + exports["esx_context"]:Refresh(...) end -else +else function ESX.OpenContext() print("[^1ERROR^7] Tried to ^5open^7 context menu, but ^5esx_context^7 is missing!") end @@ -358,7 +357,7 @@ end function ESX.Game.SpawnObject(object, coords, cb, networked) networked = networked == nil and true or networked - if networked then + if networked then ESX.TriggerServerCallback('esx:Onesync:SpawnObject', function(NetworkID) if cb then local obj = NetworkGetEntityFromNetworkId(NetworkID) @@ -366,7 +365,7 @@ function ESX.Game.SpawnObject(object, coords, cb, networked) while not DoesEntityExist(obj) do obj = NetworkGetEntityFromNetworkId(NetworkID) Wait(0) - Tries += 1 + Tries = Tries + 1 if Tries > 250 then break end @@ -374,7 +373,7 @@ function ESX.Game.SpawnObject(object, coords, cb, networked) cb(obj) end end, object, coords, 0.0) - else + else local model = type(object) == 'number' and object or joaat(object) local vector = type(coords) == "vector3" and coords or vec(coords.x, coords.y, coords.z) CreateThread(function() @@ -402,19 +401,19 @@ function ESX.Game.DeleteObject(object) DeleteObject(object) end -function ESX.Game.SpawnVehicle(vehicle, coords, heading, cb, networked) - local model = type(vehicle) == 'number' and vehicle or joaat(vehicle) +function ESX.Game.SpawnVehicle(vehicleModel, coords, heading, cb, networked) + local model = type(vehicleModel) == 'number' and vehicleModel or joaat(vehicleModel) local vector = type(coords) == "vector3" and coords or vec(coords.x, coords.y, coords.z) networked = networked == nil and true or networked local playerCoords = GetEntityCoords(ESX.PlayerData.ped) - if not vector or not playerCoords then + if not vector or not playerCoords then return end local dist = #(playerCoords - vector) if dist > 424 then -- Onesync infinity Range (https://docs.fivem.net/docs/scripting-reference/onesync/) local executingResource = GetInvokingResource() or "Unknown" - return print(("[^1ERROR^7] Resource ^5%s^7 Tried to spawn vehicle on the client but the position is too far away (Out of onesync range)."):format(executing_resource)) + return print(("[^1ERROR^7] Resource ^5%s^7 Tried to spawn vehicle on the client but the position is too far away (Out of onesync range)."):format(executingResource)) end CreateThread(function() @@ -482,7 +481,7 @@ end function ESX.Game.GetPlayers(onlyOtherPlayers, returnKeyValue, returnPeds) local players, myPlayer = {}, PlayerId() - for k, player in ipairs(GetActivePlayers()) do + for _, player in ipairs(GetActivePlayers()) do local ped = GetPlayerPed(player) if DoesEntityExist(ped) and ((onlyOtherPlayers and player ~= myPlayer) or not onlyOtherPlayers) then @@ -560,7 +559,7 @@ function ESX.Game.GetClosestEntity(entities, isPlayerEntities, coords, modelFilt if modelFilter then filteredEntities = {} - for k, entity in pairs(entities) do + for _, entity in pairs(entities) do if modelFilter[GetEntityModel(entity)] then filteredEntities[#filteredEntities + 1] = entity end @@ -583,7 +582,7 @@ function ESX.Game.GetVehicleInDirection() local playerCoords = GetEntityCoords(playerPed) local inDirection = GetOffsetFromEntityInWorldCoords(playerPed, 0.0, 5.0, 0.0) local rayHandle = StartExpensiveSynchronousShapeTestLosProbe(playerCoords, inDirection, 10, playerPed, 0) - local numRayHandle, hit, endCoords, surfaceNormal, entityHit = GetShapeTestResult(rayHandle) + local _, hit, _, _, entityHit = GetShapeTestResult(rayHandle) if hit == 1 and GetEntityType(entityHit) == 2 then local entityCoords = GetEntityCoords(entityHit) @@ -610,10 +609,10 @@ function ESX.Game.GetVehicleProperties(vehicle) local hasCustomXenonColor, customXenonColorR, customXenonColorG, customXenonColorB = GetVehicleXenonLightsCustomColor(vehicle) local customXenonColor = nil - if hasCustomXenonColor then + if hasCustomXenonColor then customXenonColor = {customXenonColorR, customXenonColorG, customXenonColorB} end - + local hasCustomSecondaryColor = GetIsVehicleSecondaryColourCustom(vehicle) local customSecondaryColor = nil if hasCustomSecondaryColor then @@ -627,6 +626,11 @@ function ESX.Game.GetVehicleProperties(vehicle) end 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)) @@ -638,7 +642,7 @@ function ESX.Game.GetVehicleProperties(vehicle) } if TyresIndex[numWheels] then - for tyre, idx in pairs(TyresIndex[numWheels]) do + for _, idx in pairs(TyresIndex[numWheels]) do tyreBurst[tostring(idx)] = IsVehicleTyreBurst(vehicle, idx, false) end end @@ -675,7 +679,7 @@ function ESX.Game.GetVehicleProperties(vehicle) pearlescentColor = pearlescentColor, wheelColor = wheelColor, - + dashboardColor = dashboardColor, interiorColor = interiorColor, @@ -689,6 +693,7 @@ function ESX.Game.GetVehicleProperties(vehicle) neonColor = table.pack(GetVehicleNeonLightsColour(vehicle)), extras = extras, + dirftTyresEnabled = driftTyresEnabled, tyreSmokeColor = table.pack(GetVehicleTyreSmokeColor(vehicle)), modSpoilers = GetVehicleMod(vehicle, 0), @@ -715,7 +720,9 @@ function ESX.Game.GetVehicleProperties(vehicle) modXenon = IsToggleModOn(vehicle, 22), modFrontWheels = GetVehicleMod(vehicle, 23), + modCustomFrontWheels = GetVehicleModVariation(vehicle, 23), modBackWheels = GetVehicleMod(vehicle, 24), + modCustomBackWheels = GetVehicleModVariation(vehicle, 24), modPlateHolder = GetVehicleMod(vehicle, 25), modVanityPlate = GetVehicleMod(vehicle, 26), @@ -822,6 +829,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 @@ -897,10 +908,16 @@ function ESX.Game.SetVehicleProperties(vehicle, props) end if props.modFrontWheels ~= nil then SetVehicleMod(vehicle, 23, props.modFrontWheels, false) + end + if props.modCustomFrontWheels ~= nil then + SetVehicleMod(vehicle, 23, props.modCustomFrontWheels, false) end if props.modBackWheels ~= nil then SetVehicleMod(vehicle, 24, props.modBackWheels, false) end + if props.modCustomBackWheels ~= nil then + SetVehicleMod(vehicle, 24, props.modCustomBackWheels, false) + end if props.modPlateHolder ~= nil then SetVehicleMod(vehicle, 25, props.modPlateHolder, false) end @@ -1027,6 +1044,17 @@ function ESX.Game.Utils.DrawText3D(coords, text, size, font) ClearDrawOrigin() end +---@param account string Account name (money/bank/black_money) +---@return table|nil +function ESX.GetAccount(account) + for i = 1, #ESX.PlayerData.accounts, 1 do + if ESX.PlayerData.accounts[i].name == account then + return ESX.PlayerData.accounts[i] + end + end + return nil +end + function ESX.ShowInventory() if not Config.EnableDefaultInventory then return @@ -1038,7 +1066,7 @@ function ESX.ShowInventory() } local currentWeight = 0 - for i=1, #(ESX.PlayerData.accounts) do + for i = 1, #(ESX.PlayerData.accounts) do if ESX.PlayerData.accounts[i].money > 0 then local formattedMoney = TranslateCap('locale_currency', ESX.Math.GroupDigits(ESX.PlayerData.accounts[i].money)) local canDrop = ESX.PlayerData.accounts[i].name ~= 'bank' @@ -1056,7 +1084,7 @@ function ESX.ShowInventory() end end - for k, v in ipairs(ESX.PlayerData.inventory) do + for _, v in ipairs(ESX.PlayerData.inventory) do if v.count > 0 then currentWeight = currentWeight + (v.weight * v.count) @@ -1073,21 +1101,15 @@ function ESX.ShowInventory() end end - for k, v in ipairs(Config.Weapons) do + for _, v in ipairs(Config.Weapons) do local weaponHash = joaat(v.name) if HasPedGotWeapon(playerPed, weaponHash, false) then - local ammo, label = GetAmmoInPedWeapon(playerPed, weaponHash) - - if v.ammo then - label = ('%s - %s %s'):format(v.label, ammo, v.ammo.label) - else - label = v.label - end + local ammo = GetAmmoInPedWeapon(playerPed, weaponHash) elements[#elements+1] = { icon = 'fas fa-gun', - title = label, + title = v.ammo and ('%s - %s %s'):format(v.label, ammo, v.ammo.label) or v.label, count = 1, type = 'item_weapon', value = v.name, @@ -1105,13 +1127,13 @@ function ESX.ShowInventory() icon = "fas fa-weight", title = "Current Weight: "..currentWeight } - + ESX.CloseContext() - ESX.OpenContext("right", elements, function(menu,element) + ESX.OpenContext("right", elements, function(_, element) local player, distance = ESX.Game.GetClosestPlayer() - elements2 = {} + local elements2 = {} if element.usable then elements2[#elements2+1] = { @@ -1159,7 +1181,7 @@ function ESX.ShowInventory() action = 'return' } - ESX.OpenContext("right", elements2, function(menu2,element2) + ESX.OpenContext("right", elements2, function(_, element2) local item, type = element2.value, element2.type if element2.action == "give" then @@ -1167,11 +1189,11 @@ function ESX.ShowInventory() if #playersNearby > 0 then local players = {} - elements3 = { + local elements3 = { {unselectable = true, icon = "fas fa-users", title = "Nearby Players"} } - for k, playerNearby in ipairs(playersNearby) do + for _, playerNearby in ipairs(playersNearby) do players[GetPlayerServerId(playerNearby)] = true end @@ -1184,7 +1206,7 @@ function ESX.ShowInventory() } end - ESX.OpenContext("right", elements3, function(menu3,element3) + ESX.OpenContext("right", elements3, function(_, element3) local selectedPlayer, selectedPlayerId = GetPlayerFromServerId(element3.playerId), element3.playerId playersNearby = ESX.Game.GetPlayersInArea(GetEntityCoords(playerPed), 3.0) playersNearby = ESX.Table.Set(playersNearby) @@ -1203,7 +1225,7 @@ function ESX.ShowInventory() {icon = "fas fa-check-double", title = "Confirm", val = "confirm"} } - ESX.OpenContext("right", elementsG, function(menuG,elementG) + ESX.OpenContext("right", elementsG, function(menuG, _) local quantity = tonumber(menuG.eles[2].inputValue) if quantity and quantity > 0 and element.count >= quantity then @@ -1242,7 +1264,7 @@ function ESX.ShowInventory() {icon = "fas fa-check-double", title = "Confirm", val = "confirm"} } - ESX.OpenContext("right", elementsR, function(menuR,elementR) + ESX.OpenContext("right", elementsR, function(menuR, _) local quantity = tonumber(menuR.eles[2].inputValue) if quantity and quantity > 0 and element.count >= quantity then @@ -1277,7 +1299,7 @@ function ESX.ShowInventory() {icon = "fas fa-check-double", title = "Confirm", val = "confirm"} } - ESX.OpenContext("right", elementsGA, function(menuGA,elementGA) + ESX.OpenContext("right", elementsGA, function(menuGA, _) local quantity = tonumber(menuGA.eles[2].inputValue) if quantity and quantity > 0 then @@ -1342,4 +1364,4 @@ function ESX.GetVehicleType(model) } return types[vehicleType] or "automobile" -end \ No newline at end of file +end diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 0c851b5f..3fe61e8e 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -76,11 +76,11 @@ AddEventHandler('esx:playerLoaded', function(xPlayer, isNew, skin) end if Config.DisableVehicleSeatShuff then - AddEventHandler('esx:enteredVehicle', function(vehicle, plate, seat) + AddEventHandler('esx:enteredVehicle', function(vehicle, _, seat) if seat == 0 then SetPedIntoVehicle(ESX.PlayerData.ped, vehicle, 0) SetPedConfigFlag(ESX.PlayerData.ped, 184, true) - end + end end) end @@ -174,7 +174,7 @@ AddEventHandler('esx:playerLoaded', function(xPlayer, isNew, skin) 'WORLD_HUMAN_PAPARAZZI' } - for i, v in pairs(scenarios) do + for _, v in pairs(scenarios) do SetScenarioTypeEnabled(v, false) end end @@ -218,7 +218,7 @@ AddEventHandler('esx:restoreLoadout', function() local ammoTypes = {} RemoveAllPedWeapons(ESX.PlayerData.ped, true) - for k, v in ipairs(ESX.PlayerData.loadout) do + for _, v in ipairs(ESX.PlayerData.loadout) do local weaponName = v.name local weaponHash = joaat(weaponName) @@ -227,7 +227,7 @@ AddEventHandler('esx:restoreLoadout', function() local ammoType = GetPedAmmoTypeFromWeapon(ESX.PlayerData.ped, weaponHash) - for k2, v2 in ipairs(v.components) do + for _, v2 in ipairs(v.components) do local componentHash = ESX.GetWeaponComponent(weaponName, v2).hash GiveWeaponComponentToPed(ESX.PlayerData.ped, weaponHash, componentHash) end @@ -241,9 +241,9 @@ AddEventHandler('esx:restoreLoadout', function() end) -- Credit: https://github.com/LukeWasTakenn, https://github.com/LukeWasTakenn/luke_garages/blob/master/client/client.lua#L331-L352 -AddStateBagChangeHandler('VehicleProperties', nil, function(bagName, key, value) - if not value then - return +AddStateBagChangeHandler('VehicleProperties', nil, function(bagName, _, value) + if not value then + return end local netId = bagName:gsub('entity:', '') @@ -254,12 +254,12 @@ AddStateBagChangeHandler('VehicleProperties', nil, function(bagName, key, value) return end end - + local vehicle = NetToVeh(tonumber(netId)) - local timer = GetGameTimer() + local timer2 = GetGameTimer() while NetworkGetEntityOwner(vehicle) ~= PlayerId() do Wait(0) - if GetGameTimer() - timer > 10000 then + if GetGameTimer() - timer2 > 10000 then return end end @@ -315,17 +315,17 @@ if not Config.OxInventory then end) RegisterNetEvent('esx:addWeapon') - AddEventHandler('esx:addWeapon', function(weapon, ammo) + AddEventHandler('esx:addWeapon', function() print("[^1ERROR^7] event ^5'esx:addWeapon'^7 Has Been Removed. Please use ^5xPlayer.addWeapon^7 Instead!") end) RegisterNetEvent('esx:addWeaponComponent') - AddEventHandler('esx:addWeaponComponent', function(weapon, weaponComponent) + AddEventHandler('esx:addWeaponComponent', function() print("[^1ERROR^7] event ^5'esx:addWeaponComponent'^7 Has Been Removed. Please use ^5xPlayer.addWeaponComponent^7 Instead!") end) RegisterNetEvent('esx:setWeaponAmmo') - AddEventHandler('esx:setWeaponAmmo', function(weapon, weaponAmmo) + AddEventHandler('esx:setWeaponAmmo', function() print("[^1ERROR^7] event ^5'esx:setWeaponAmmo'^7 Has Been Removed. Please use ^5xPlayer.addWeaponAmmo^7 Instead!") end) @@ -338,7 +338,7 @@ if not Config.OxInventory then RegisterNetEvent('esx:removeWeapon') AddEventHandler('esx:removeWeapon', function(weapon) local playerPed = ESX.PlayerData.ped - RemoveWeaponFromPed(ESX.PlayerData.ped, joaat(weapon)) + RemoveWeaponFromPed(playerPed, joaat(weapon)) SetPedAmmo(ESX.PlayerData.ped, joaat(weapon), 0) end) @@ -377,7 +377,7 @@ if not Config.OxInventory then local pickupObject = CreateWeaponObject(weaponHash, 50, coords.x, coords.y, coords.z, true, 1.0, 0) SetWeaponObjectTintIndex(pickupObject, tintIndex) - for k, v in ipairs(components) do + for _, v in ipairs(components) do local component = ESX.GetWeaponComponent(name, v) GiveWeaponComponentToWeaponObject(pickupObject, component.hash) end @@ -468,7 +468,7 @@ if not Config.OxInventory then while true do local Sleep = 1500 local playerCoords = GetEntityCoords(ESX.PlayerData.ped) - local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer(playerCoords) + local _, closestDistance = ESX.Game.GetClosestPlayer(playerCoords) for pickupId, pickup in pairs(pickups) do local distance = #(playerCoords - pickup.coords) @@ -708,4 +708,4 @@ end RegisterNetEvent('esx:updatePlayerData', function(key, val) ESX.SetPlayerData(key, val) -end) \ No newline at end of file +end) diff --git a/[core]/es_extended/client/modules/callback.lua b/[core]/es_extended/client/modules/callback.lua index 180c9216..dfeae8fa 100644 --- a/[core]/es_extended/client/modules/callback.lua +++ b/[core]/es_extended/client/modules/callback.lua @@ -7,34 +7,34 @@ local clientCallbacks = {} ---@param callback function ---@param ... any ESX.TriggerServerCallback = function(eventName, callback, ...) - serverRequests[RequestId] = callback + serverRequests[RequestId] = callback - TriggerServerEvent('esx:triggerServerCallback', eventName, RequestId, GetInvokingResource() or "unknown", ...) + TriggerServerEvent('esx:triggerServerCallback', eventName, RequestId, GetInvokingResource() or "unknown", ...) - RequestId = RequestId + 1 + RequestId = RequestId + 1 end RegisterNetEvent('esx:serverCallback', function(requestId, invoker, ...) - if not serverRequests[requestId] then - return print(('[^1ERROR^7] Server Callback with requestId ^5%s^7 Was Called by ^5%s^7 but does not exist.'):format(requestId, invoker)) - end + if not serverRequests[requestId] then + return print(('[^1ERROR^7] Server Callback with requestId ^5%s^7 Was Called by ^5%s^7 but does not exist.'):format(requestId, invoker)) + end - serverRequests[requestId](...) - serverRequests[requestId] = nil + serverRequests[requestId](...) + serverRequests[requestId] = nil end) ---@param eventName string ---@param callback function ESX.RegisterClientCallback = function(eventName, callback) - clientCallbacks[eventName] = callback + clientCallbacks[eventName] = callback end RegisterNetEvent('esx:triggerClientCallback', function(eventName, requestId, invoker, ...) - if not clientCallbacks[eventName] then - return print(('[^1ERROR^7] Client Callback not registered, name: ^5%s^7, invoker resource: ^5%s^7'):format(eventName, invoker)) - end + if not clientCallbacks[eventName] then + return print(('[^1ERROR^7] Client Callback not registered, name: ^5%s^7, invoker resource: ^5%s^7'):format(eventName, invoker)) + end - clientCallbacks[eventName](function(...) - TriggerServerEvent('esx:clientCallback', requestId, invoker, ...) - end, ...) -end) \ No newline at end of file + clientCallbacks[eventName](function(...) + TriggerServerEvent('esx:clientCallback', requestId, invoker, ...) + end, ...) +end) diff --git a/[core]/es_extended/client/modules/npwd.lua b/[core]/es_extended/client/modules/npwd.lua index b8de8dab..b6c7ac75 100644 --- a/[core]/es_extended/client/modules/npwd.lua +++ b/[core]/es_extended/client/modules/npwd.lua @@ -1,56 +1,57 @@ local npwd = GetResourceState('npwd'):find('start') and exports.npwd or nil local function checkPhone() - if not npwd then - return - end + if not npwd then + return + end - local phoneItem = ESX.SearchInventory('phone') - npwd:setPhoneDisabled((phoneItem and phoneItem.count or 0) <= 0) + local phoneItem = ESX.SearchInventory('phone') + npwd:setPhoneDisabled((phoneItem and phoneItem.count or 0) <= 0) end + RegisterNetEvent('esx:playerLoaded', checkPhone) AddEventHandler('onClientResourceStart', function(resource) - if resource ~= 'npwd' then - return - end + if resource ~= 'npwd' then + return + end - npwd = GetResourceState('npwd'):find('start') and exports.npwd or nil + npwd = GetResourceState('npwd'):find('start') and exports.npwd or nil - if ESX.PlayerLoaded then - checkPhone() - end + if ESX.PlayerLoaded then + checkPhone() + end end) AddEventHandler('onClientResourceStop', function(resource) - if resource == 'npwd' then - npwd = nil - end + if resource == 'npwd' then + npwd = nil + end end) RegisterNetEvent('esx:onPlayerLogout', function() - if not npwd then - return - end + if not npwd then + return + end npwd:setPhoneVisible(false) npwd:setPhoneDisabled(true) end) RegisterNetEvent('esx:removeInventoryItem', function(item, count) - if not npwd then - return - end + if not npwd then + return + end - if item == 'phone' and count == 0 then - npwd:setPhoneDisabled(true) - end + if item == 'phone' and count == 0 then + npwd:setPhoneDisabled(true) + end end) RegisterNetEvent('esx:addInventoryItem', function(item) - if not npwd or item ~= 'phone' then - return - end + if not npwd or item ~= 'phone' then + return + end - npwd:setPhoneDisabled(false) -end) \ No newline at end of file + npwd:setPhoneDisabled(false) +end) diff --git a/[core]/es_extended/common/functions.lua b/[core]/es_extended/common/functions.lua index f8d65bde..afee79b8 100644 --- a/[core]/es_extended/common/functions.lua +++ b/[core]/es_extended/common/functions.lua @@ -77,7 +77,7 @@ function ESX.DumpTable(table, nb) end s = '{\n' - for k,v in pairs(table) do + for k, v in pairs(table) do if type(k) ~= 'number' then k = '"'..k..'"' end for i = 1, nb, 1 do s = s .. " " diff --git a/[core]/es_extended/common/modules/table.lua b/[core]/es_extended/common/modules/table.lua index b2800c57..c582d59b 100644 --- a/[core]/es_extended/common/modules/table.lua +++ b/[core]/es_extended/common/modules/table.lua @@ -13,12 +13,12 @@ end function ESX.Table.Set(t) local set = {} - for k,v in ipairs(t) do set[v] = true end + for _, v in ipairs(t) do set[v] = true end return set end function ESX.Table.IndexOf(t, value) - for i=1, #t, 1 do + for i = 1, #t, 1 do if t[i] == value then return i end @@ -38,7 +38,7 @@ function ESX.Table.LastIndexOf(t, value) end function ESX.Table.Find(t, cb) - for i=1, #t, 1 do + for i = 1, #t, 1 do if cb(t[i]) then return t[i] end @@ -48,7 +48,7 @@ function ESX.Table.Find(t, cb) end function ESX.Table.FindIndex(t, cb) - for i=1, #t, 1 do + for i = 1, #t, 1 do if cb(t[i]) then return i end @@ -60,7 +60,7 @@ end function ESX.Table.Filter(t, cb) local newTable = {} - for i=1, #t, 1 do + for i = 1, #t, 1 do if cb(t[i]) then table.insert(newTable, t[i]) end @@ -72,7 +72,7 @@ end function ESX.Table.Map(t, cb) local newTable = {} - for i=1, #t, 1 do + for i = 1, #t, 1 do newTable[i] = cb(t[i], i) end @@ -95,7 +95,7 @@ function ESX.Table.Clone(t) local meta = getmetatable(t) local target = {} - for k,v in pairs(t) do + for k, v in pairs(t) do if type(v) == 'table' then target[k] = ESX.Table.Clone(v) else @@ -111,7 +111,7 @@ end function ESX.Table.Concat(t1, t2) local t3 = ESX.Table.Clone(t1) - for i=1, #t2, 1 do + for i = 1, #t2, 1 do table.insert(t3, t2[i]) end @@ -119,12 +119,11 @@ function ESX.Table.Concat(t1, t2) end function ESX.Table.Join(t, sep) - local sep = sep or ',' local str = '' - for i=1, #t, 1 do + for i = 1, #t, 1 do if i > 1 then - str = str .. sep + str = str .. (sep or ',') end str = str .. t[i] diff --git a/[core]/es_extended/common/modules/timeout.lua b/[core]/es_extended/common/modules/timeout.lua index cb56de7b..419fff1a 100644 --- a/[core]/es_extended/common/modules/timeout.lua +++ b/[core]/es_extended/common/modules/timeout.lua @@ -2,22 +2,22 @@ local TimeoutCount = 0 local CancelledTimeouts = {} ESX.SetTimeout = function(msec, cb) - local id = TimeoutCount + 1 + local id = TimeoutCount + 1 - SetTimeout(msec, function() - if CancelledTimeouts[id] then - CancelledTimeouts[id] = nil - return - end - - cb() - end) + SetTimeout(msec, function() + if CancelledTimeouts[id] then + CancelledTimeouts[id] = nil + return + end - TimeoutCount = id + cb() + end) - return id + TimeoutCount = id + + return id end ESX.ClearTimeout = function(id) - CancelledTimeouts[id] = true -end \ No newline at end of file + CancelledTimeouts[id] = true +end diff --git a/[core]/es_extended/config.logs.lua b/[core]/es_extended/config.logs.lua index b58a8fed..34f91641 100644 --- a/[core]/es_extended/config.logs.lua +++ b/[core]/es_extended/config.logs.lua @@ -4,7 +4,8 @@ Config.DiscordLogs = { test = '', Chat = '', UserActions = '', - Resources = '' + Resources = '', + Paycheck = '' }, Colors = { -- https://www.spycolor.com/ diff --git a/[core]/es_extended/config.lua b/[core]/es_extended/config.lua index cb13fb33..a4245685 100644 --- a/[core]/es_extended/config.lua +++ b/[core]/es_extended/config.lua @@ -18,9 +18,23 @@ Config.Accounts = { Config.StartingAccountMoney = {bank = 50000} -Config.DefaultSpawn = {x = -269.4, y = -955.3, z = 31.2, heading = 205.8} + +Config.DefaultSpawns = { -- If you want to have more spawn positions and select them randomly uncomment commented code or add more locations + {x = 222.2027, y = -864.0162, z = 30.2922, heading = 1.0}, + --{x = 224.9865, y = -865.0871, z = 30.2922, heading = 1.0}, + --{x = 227.8436, y = -866.0400, z = 30.2922, heading = 1.0}, + --{x = 230.6051, y = -867.1450, z = 30.2922, heading = 1.0}, + --{x = 233.5459, y = -868.2626, z = 30.2922, heading = 1.0} +} + +Config.AdminGroups = { + ['owner'] = true, + ['admin'] = true +} + 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 @@ -33,6 +47,8 @@ Config.Multichar = GetResourceState("esx_multicharacter") ~= "mis 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.DisableHealthRegeneration = false -- Player will no longer regenerate health Config.DisableVehicleRewards = false -- Disables Player Recieving weapons from vehicles Config.DisableNPCDrops = false -- stops NPCs from dropping weapons on death diff --git a/[core]/es_extended/config.weapons.lua b/[core]/es_extended/config.weapons.lua index 8b89e3da..aef2af7d 100644 --- a/[core]/es_extended/config.weapons.lua +++ b/[core]/es_extended/config.weapons.lua @@ -976,5 +976,18 @@ Config.Weapons = { {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PRECISIONRIFLE_CLIP_01`}, } }, - {name = 'WEAPON_METALDETECTOR', label = TranslateCap('weapon_metaldetector'), components = {}} + {name = 'WEAPON_METALDETECTOR', label = TranslateCap('weapon_metaldetector'), components = {}}, + {name = 'WEAPON_PISTOLXM3', label = TranslateCap('weapon_pistolxm3'), ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_PISTOL`}, tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_PISTOLXM3_CLIP_01`}, + {name = 'suppressor', label = TranslateCap('component_suppressor'), hash = `COMPONENT_PISTOLXM3_SUPP`} + } + }, + {name = 'WEAPON_ACIDPACKAGE', label = TranslateCap('weapon_acidpackage'), components = {}}, + {name = 'WEAPON_CANDYCANE', label = TranslateCap('weapon_candycane'), components = {}}, + {name = 'WEAPON_RAILGUNXM3', label = TranslateCap('weapon_railgunxm3'), ammo = {label = TranslateCap('ammo_rounds'), hash = `AMMO_RAILGUN`}, tints = Config.DefaultWeaponTints, + components = { + {name = 'clip_default', label = TranslateCap('component_clip_default'), hash = `COMPONENT_RAILGUNXM3_CLIP_01`}, + }, + }, } diff --git a/[core]/es_extended/es_extended.sql b/[core]/es_extended/es_extended.sql index c3ef1d54..c6108928 100644 --- a/[core]/es_extended/es_extended.sql +++ b/[core]/es_extended/es_extended.sql @@ -1,12 +1,13 @@ CREATE DATABASE IF NOT EXISTS `es_extended`; - ALTER DATABASE `es_extended` DEFAULT CHARACTER SET UTF8MB4; ALTER DATABASE `es_extended` DEFAULT COLLATE UTF8MB4_UNICODE_CI; +USE `es_extended`; + CREATE TABLE `users` ( `identifier` VARCHAR(60) NOT NULL, `accounts` LONGTEXT NULL DEFAULT NULL, @@ -21,7 +22,6 @@ CREATE TABLE `users` ( PRIMARY KEY (`identifier`) ) ENGINE=InnoDB; - CREATE TABLE `items` ( `name` VARCHAR(50) NOT NULL, `label` VARCHAR(50) NOT NULL, @@ -32,7 +32,6 @@ CREATE TABLE `items` ( PRIMARY KEY (`name`) ) ENGINE=InnoDB; - CREATE TABLE `job_grades` ( `id` INT NOT NULL AUTO_INCREMENT, `job_name` VARCHAR(50) DEFAULT NULL, @@ -46,7 +45,6 @@ CREATE TABLE `job_grades` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB; - INSERT INTO `job_grades` VALUES (1,'unemployed',0,'unemployed','Unemployed',200,'{}','{}'); CREATE TABLE `jobs` ( @@ -56,5 +54,4 @@ CREATE TABLE `jobs` ( PRIMARY KEY (`name`) ) ENGINE=InnoDB; - INSERT INTO `jobs` VALUES ('unemployed','Unemployed'); diff --git a/[core]/es_extended/html/js/wrapper.js b/[core]/es_extended/html/js/wrapper.js index 92ee2785..e4c47650 100644 --- a/[core]/es_extended/html/js/wrapper.js +++ b/[core]/es_extended/html/js/wrapper.js @@ -27,7 +27,7 @@ chunk: chunk, }; - if (i == str.length - 1) data.end = true; + if (i === str.length - 1) data.end = true; $.post("http://" + namespace + "/__chunk", JSON.stringify(data)); } diff --git a/[core]/es_extended/locale.js b/[core]/es_extended/locale.js index 4b5390f8..e47e4345 100644 --- a/[core]/es_extended/locale.js +++ b/[core]/es_extended/locale.js @@ -20,7 +20,7 @@ function _U() { } // Has the locale file been set? - if (locale.length == 0) { + if (locale.length === 0) { console.log('locale.js: no locale has been set'); return 'locale.js: no locale has been set'; } @@ -32,7 +32,7 @@ function _U() { } // Do we need to format the string? - if (args.length == 1) { + if (args.length === 1) { return capitalize(locale[string]); } else { return formatString(args); diff --git a/[core]/es_extended/locale.lua b/[core]/es_extended/locale.lua index c093979e..18120067 100644 --- a/[core]/es_extended/locale.lua +++ b/[core]/es_extended/locale.lua @@ -1,6 +1,11 @@ Locales = {} function Translate(str, ...) -- Translate string + if not str then + local currentResourceName = GetCurrentResourceName() + print(("[^1ERROR^7] Resource ^5%s^7 You did not specify a parameter for the Translate function or the value is nil!"):format(currentResourceName)) + return 'Given translate function parameter is nil!' + end if Locales[Config.Locale] then if Locales[Config.Locale][str] then return string.format(Locales[Config.Locale][str], ...) diff --git a/[core]/es_extended/locales/br.lua b/[core]/es_extended/locales/br.lua deleted file mode 100644 index a19f78be..00000000 --- a/[core]/es_extended/locales/br.lua +++ /dev/null @@ -1,228 +0,0 @@ -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 7186ef8b..67744f15 100644 --- a/[core]/es_extended/locales/cs.lua +++ b/[core]/es_extended/locales/cs.lua @@ -1,359 +1,365 @@ Locales['cs'] = { - -- Inventory - ['inventory'] = 'Inventář ( Váha %s / %s )', - ['use'] = 'Použít', - ['give'] = 'Darovat', - ['remove'] = 'Odhodit', - ['return'] = 'Vrátit', - ['give_to'] = 'Darováno', - ['amount'] = 'Počet', - ['giveammo'] = 'Podat náboje', - ['amountammo'] = 'Počet nábojů', - ['noammo'] = 'Nedostatek!', - ['gave_item'] = 'Daroval %sx %s pro %s', - ['received_item'] = 'Získáno %sx %s od %s', - ['gave_weapon'] = 'Předání %s pro %s', - ['gave_weapon_ammo'] = 'Darování ~o~%sx %s do %s pro %s', - ['gave_weapon_withammo'] = 'Darování %s s ~o~%sx %s pro %s', - ['gave_weapon_hasalready'] = '%s již vlastní %s', - ['gave_weapon_noweapon'] = '%s nemá tuto zbraň', - ['received_weapon'] = 'Obdrženo %s od %s', - ['received_weapon_ammo'] = 'Obdrženo ~o~%sx %s pro zbraň %s od %s', - ['received_weapon_withammo'] = 'Obdrženo %s s ~o~%sx %s od %s', - ['received_weapon_hasalready'] = '%s se snažil darovat %s, ale již tuto zbraň máš', - ['received_weapon_noweapon'] = '%s se snažil ti dát náboje %s, ale nemáš potřebnou zbrań', - ['gave_account_money'] = 'Darováno $%s (%s) pro %s', - ['received_account_money'] = 'Získáno $%s (%s) od %s', - ['amount_invalid'] = 'Špatné množství', - ['players_nearby'] = 'Žádný hráč není poblíž', - ['ex_inv_lim'] = 'Nelze sebrat,protože máš plné kapsy %s', - ['imp_invalid_quantity'] = 'Neplatné množství', - ['imp_invalid_amount'] = 'Nelze provést, neplatné množství', - ['threw_standard'] = 'Zahozeno %sx %s', - ['threw_account'] = 'Zahozeno $%s %s', - ['threw_weapon'] = 'Zahozeno %s', - ['threw_weapon_ammo'] = 'Zahozeno %s s ~o~%sx %s', - ['threw_weapon_already'] = 'Již vlastníš tuto zbraň', - ['threw_cannot_pickup'] = 'Kapsy máš plné, nemůžeš sebrat!', - ['threw_pickup_prompt'] = 'Zmáčkni E pro sebrání!', + -- Inventory + ['inventory'] = 'Inventář ( Váha %s / %s )', + ['use'] = 'Použít', + ['give'] = 'Darovat', + ['remove'] = 'Odhodit', + ['return'] = 'Vrátit', + ['give_to'] = 'Darováno', + ['amount'] = 'Počet', + ['giveammo'] = 'Podat náboje', + ['amountammo'] = 'Počet nábojů', + ['noammo'] = 'Nedostatek!', + ['gave_item'] = 'Daroval %sx %s pro %s', + ['received_item'] = 'Získáno %sx %s od %s', + ['gave_weapon'] = 'Předání %s pro %s', + ['gave_weapon_ammo'] = 'Darování ~o~%sx %s do %s pro %s', + ['gave_weapon_withammo'] = 'Darování %s s ~o~%sx %s pro %s', + ['gave_weapon_hasalready'] = '%s již vlastní %s', + ['gave_weapon_noweapon'] = '%s nemá tuto zbraň', + ['received_weapon'] = 'Obdrženo %s od %s', + ['received_weapon_ammo'] = 'Obdrženo ~o~%sx %s pro zbraň %s od %s', + ['received_weapon_withammo'] = 'Obdrženo %s s ~o~%sx %s od %s', + ['received_weapon_hasalready'] = '%s se snažil darovat %s, ale již tuto zbraň máš', + ['received_weapon_noweapon'] = '%s se snažil ti dát náboje %s, ale nemáš potřebnou zbrań', + ['gave_account_money'] = 'Darováno $%s (%s) pro %s', + ['received_account_money'] = 'Získáno $%s (%s) od %s', + ['amount_invalid'] = 'Špatné množství', + ['players_nearby'] = 'Žádný hráč není poblíž', + ['ex_inv_lim'] = 'Nelze sebrat,protože máš plné kapsy %s', + ['imp_invalid_quantity'] = 'Neplatné množství', + ['imp_invalid_amount'] = 'Nelze provést, neplatné množství', + ['threw_standard'] = 'Zahozeno %sx %s', + ['threw_account'] = 'Zahozeno $%s %s', + ['threw_weapon'] = 'Zahozeno %s', + ['threw_weapon_ammo'] = 'Zahozeno %s s ~o~%sx %s', + ['threw_weapon_already'] = 'Již vlastníš tuto zbraň', + ['threw_cannot_pickup'] = 'Kapsy máš plné, nemůžeš sebrat!', + ['threw_pickup_prompt'] = 'Zmáčkni E pro sebrání!', - -- Key mapping - ['keymap_showinventory'] = 'Otevřít inventář', + -- Key mapping + ['keymap_showinventory'] = 'Otevřít inventář', - -- Salary related - ['received_salary'] = 'Obdržel jsi: $%s', - ['received_help'] = 'Obdržel jsi svůj podíl: $%s', - ['company_nomoney'] = 'Firma kde pracujete je příliš chudá, aby vám zaplatila', - ['received_paycheck'] = 'Obdržena platba', - ['bank'] = 'Banka', - ['account_bank'] = 'V bance', - ['account_black_money'] = 'Špináve peníze', - ['account_money'] = 'V kapse', + -- Salary related + ['received_salary'] = 'Obdržel jsi: $%s', + ['received_help'] = 'Obdržel jsi svůj podíl: $%s', + ['company_nomoney'] = 'Firma kde pracujete je příliš chudá, aby vám zaplatila', + ['received_paycheck'] = 'Obdržena platba', + ['bank'] = 'Banka', + ['account_bank'] = 'V bance', + ['account_black_money'] = 'Špináve peníze', + ['account_money'] = 'V kapse', - ['act_imp'] = 'Nelze provést', - ['in_vehicle'] = 'Nelze provést, hráč je v autě', + ['act_imp'] = 'Nelze provést', + ['in_vehicle'] = 'Nelze provést, hráč je v autě', - -- Commands - ['command_bring'] = 'Přivolat si hráče k sobě', - ['command_car'] = 'Spawnout vozidlo', - ['command_car_car'] = 'Zadej jméno vozidla nebo spawnname', - ['command_cardel'] = 'Odstranění vozidla v okolí', - ['command_cardel_radius'] = 'Odstranění vozidla v určeném dosahu', - ['command_clear'] = 'Vymazat text v chatu', - ['command_clearall'] = 'Vymazat chet pro všechny hráče', - ['command_clearinventory'] = 'Vymazat všechny věci z invetáře hráče', - ['command_clearloadout'] = 'Vymazat všechny zbraně z inventáře hráče', - ['command_freeze'] = 'Zmrazit hráče', - ['command_unfreeze'] = 'Odmrazit hráče', - ['command_giveaccountmoney'] = 'Poslat peníze na účet ', - ['command_giveaccountmoney_account'] = 'Převést peníze na účet', - ['command_giveaccountmoney_amount'] = 'Částka k poslání', - ['command_giveaccountmoney_invalid'] = 'Neplátné jméno', - ['command_giveitem'] = 'Darovat věc hráči', - ['command_giveitem_item'] = 'Název věci', - ['command_giveitem_count'] = 'Množství', - ['command_giveweapon'] = 'Dát zbraň hráči', - ['command_giveweapon_weapon'] = 'Název zbraně', - ['command_giveweapon_ammo'] = 'Množství náboje', - ['command_giveweapon_hasalready'] = 'Hráč již má tuto zbraň', - ['command_giveweaponcomponent'] = 'Darovat přídavek na zbraň', - ['command_giveweaponcomponent_component'] = 'Název zbraně', - ['command_giveweaponcomponent_invalid'] = 'Špatné jméno přídavku', - ['command_giveweaponcomponent_hasalready'] = 'Hráč již má tento přídavek', - ['command_giveweaponcomponent_missingweapon'] = 'Hráč nemá tuto zbrań', - ['command_goto'] = 'Teleportování sebe k hráči', - ['command_kill'] = 'Zabití hráče', - ['command_save'] = 'Uložení dat hráče', - ['command_saveall'] = 'Uložení veškerých dat hráče', - ['command_setaccountmoney'] = 'Nastavení určeného počtu peněz', - ['command_setaccountmoney_amount'] = 'Počet peněz', - ['command_setcoords'] = 'Teleportování na určené souřadnice', - ['command_setcoords_x'] = 'Hodnota X', - ['command_setcoords_y'] = 'Hodnota Y', - ['command_setcoords_z'] = 'Hodnota Z', - ['command_setjob'] = 'Nastavit práci hráči', - ['command_setjob_job'] = 'Název práce', - ['command_setjob_grade'] = 'Pozice ve firmě', - ['command_setjob_invalid'] = 'Špatné zadání práce,hodnosti nebo i obou hodnot', - ['command_setgroup'] = 'Nastavení práv hráči', - ['command_setgroup_group'] = 'Název skupiny', - ['commanderror_argumentmismatch'] = 'Chybný počet hodnot (správně %s, potřebných %s)', - ['commanderror_argumentmismatch_number'] = 'Chybně zadaná hodnot #%s (správně, špatně)', - ['commanderror_invaliditem'] = 'Špatný předmět', - ['commanderror_invalidweapon'] = 'Špatná zbraň', - ['commanderror_console'] = 'příkaz nelze být zpracován v konzoli', - ['commanderror_invalidcommand'] = 'Špatný příakz - /%s', - ['commanderror_invalidplayerid'] = 'Hráč není dostupný', - ['commandgeneric_playerid'] = 'Id hráče', - ['command_giveammo_noweapon_found'] = '%s nemá tuto zbraň', - ['command_giveammo_weapon'] = 'Název zbraně', - ['command_giveammo_ammo'] = 'Počet nábojů', + -- Commands + ['command_bring'] = 'Přivolat si hráče k sobě', + ['command_car'] = 'Spawnout vozidlo', + ['command_car_car'] = 'Zadej jméno vozidla nebo spawnname', + ['command_cardel'] = 'Odstranění vozidla v okolí', + ['command_cardel_radius'] = 'Odstranění vozidla v určeném dosahu', + ['command_clear'] = 'Vymazat text v chatu', + ['command_clearall'] = 'Vymazat chet pro všechny hráče', + ['command_clearinventory'] = 'Vymazat všechny věci z invetáře hráče', + ['command_clearloadout'] = 'Vymazat všechny zbraně z inventáře hráče', + ['command_freeze'] = 'Zmrazit hráče', + ['command_unfreeze'] = 'Odmrazit hráče', + ['command_giveaccountmoney'] = 'Poslat peníze na účet ', + ['command_giveaccountmoney_account'] = 'Převést peníze na účet', + ['command_giveaccountmoney_amount'] = 'Částka k poslání', + ['command_giveaccountmoney_invalid'] = 'Neplátné jméno', + ['command_giveitem'] = 'Darovat věc hráči', + ['command_giveitem_item'] = 'Název věci', + ['command_giveitem_count'] = 'Množství', + ['command_giveweapon'] = 'Dát zbraň hráči', + ['command_giveweapon_weapon'] = 'Název zbraně', + ['command_giveweapon_ammo'] = 'Množství náboje', + ['command_giveweapon_hasalready'] = 'Hráč již má tuto zbraň', + ['command_giveweaponcomponent'] = 'Darovat přídavek na zbraň', + ['command_giveweaponcomponent_component'] = 'Název zbraně', + ['command_giveweaponcomponent_invalid'] = 'Špatné jméno přídavku', + ['command_giveweaponcomponent_hasalready'] = 'Hráč již má tento přídavek', + ['command_giveweaponcomponent_missingweapon'] = 'Hráč nemá tuto zbrań', + ['command_goto'] = 'Teleportování sebe k hráči', + ['command_kill'] = 'Zabití hráče', + ['command_save'] = 'Uložení dat hráče', + ['command_saveall'] = 'Uložení veškerých dat hráče', + ['command_setaccountmoney'] = 'Nastavení určeného počtu peněz', + ['command_setaccountmoney_amount'] = 'Počet peněz', + ['command_setcoords'] = 'Teleportování na určené souřadnice', + ['command_setcoords_x'] = 'Hodnota X', + ['command_setcoords_y'] = 'Hodnota Y', + ['command_setcoords_z'] = 'Hodnota Z', + ['command_setjob'] = 'Nastavit práci hráči', + ['command_setjob_job'] = 'Název práce', + ['command_setjob_grade'] = 'Pozice ve firmě', + ['command_setjob_invalid'] = 'Špatné zadání práce,hodnosti nebo i obou hodnot', + ['command_setgroup'] = 'Nastavení práv hráči', + ['command_setgroup_group'] = 'Název skupiny', + ['commanderror_argumentmismatch'] = 'Chybný počet hodnot (správně %s, potřebných %s)', + ['commanderror_argumentmismatch_number'] = 'Chybně zadaná hodnot #%s (správně, špatně)', + ['commanderror_invaliditem'] = 'Špatný předmět', + ['commanderror_invalidweapon'] = 'Špatná zbraň', + ['commanderror_console'] = 'příkaz nelze být zpracován v konzoli', + ['commanderror_invalidcommand'] = 'Špatný příakz - /%s', + ['commanderror_invalidplayerid'] = 'Hráč není dostupný', + ['commandgeneric_playerid'] = 'Id hráče', + ['command_giveammo_noweapon_found'] = '%s nemá tuto zbraň', + ['command_giveammo_weapon'] = 'Název zbraně', + ['command_giveammo_ammo'] = 'Počet nábojů', - -- Locale settings - ['locale_digit_grouping_symbol'] = ',', - ['locale_currency'] = '£%s', + -- Locale settings + ['locale_digit_grouping_symbol'] = ',', + ['locale_currency'] = '£%s', - -- Weapons + -- Weapons - -- Melee - ['weapon_dagger'] = 'Dýka', - ['weapon_bat'] = 'Baseballová pálka', - ['weapon_battleaxe'] = 'Bitevní sekera', - ['weapon_bottle'] = 'Rozbitá lahve', - ['weapon_crowbar'] = 'Páčidlo', - ['weapon_flashlight'] = 'Baterka', - ['weapon_golfclub'] = 'Golfová hůl', - ['weapon_hammer'] = 'Kladivo', - ['weapon_hatchet'] = 'Sekera', - ['weapon_knife'] = 'Nůž', - ['weapon_knuckle'] = 'Boxer', - ['weapon_machete'] = 'Mačeta', - ['weapon_nightstick'] = 'Policejní obušek', - ['weapon_wrench'] = 'Francouzský klíč', - ['weapon_poolcue'] = 'Kulečníkové tágo', - ['weapon_stone_hatchet'] = 'Kamenná sekera', - ['weapon_switchblade'] = 'Vystřelovací nůž', + -- Melee + ['weapon_dagger'] = 'Dýka', + ['weapon_bat'] = 'Baseballová pálka', + ['weapon_battleaxe'] = 'Bitevní sekera', + ['weapon_bottle'] = 'Rozbitá lahve', + ['weapon_crowbar'] = 'Páčidlo', + ['weapon_flashlight'] = 'Baterka', + ['weapon_golfclub'] = 'Golfová hůl', + ['weapon_hammer'] = 'Kladivo', + ['weapon_hatchet'] = 'Sekera', + ['weapon_knife'] = 'Nůž', + ['weapon_knuckle'] = 'Boxer', + ['weapon_machete'] = 'Mačeta', + ['weapon_nightstick'] = 'Policejní obušek', + ['weapon_wrench'] = 'Francouzský klíč', + ['weapon_poolcue'] = 'Kulečníkové tágo', + ['weapon_stone_hatchet'] = 'Kamenná sekera', + ['weapon_switchblade'] = 'Vystřelovací nůž', - -- Handguns - ['weapon_appistol'] = 'AP pistol', - ['weapon_ceramicpistol'] = 'Ceramic pistol', - ['weapon_combatpistol'] = 'Combat pistol', - ['weapon_doubleaction'] = 'Double-Action Revolver', - ['weapon_navyrevolver'] = 'Navy Revolver', - ['weapon_flaregun'] = 'Flaregun', - ['weapon_gadgetpistol'] = 'Gadget Pistol', - ['weapon_heavypistol'] = 'Heavy Pistol', - ['weapon_revolver'] = 'Heavy Revolver', - ['weapon_revolver_mk2'] = 'Heavy Revolver MK2', - ['weapon_marksmanpistol'] = 'Marksman Pistol', - ['weapon_pistol'] = 'Pistol', - ['weapon_pistol_mk2'] = 'Pistol MK2', - ['weapon_pistol50'] = 'Pistol .50', - ['weapon_snspistol'] = 'SNS Pistol', - ['weapon_snspistol_mk2'] = 'SNS Pistol MK2', - ['weapon_stungun'] = 'Taser', - ['weapon_raypistol'] = 'Up-N-Atomizer', - ['weapon_vintagepistol'] = 'Vintage Pistol', + -- 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', + -- 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', + -- 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', + -- 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', + -- 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', + -- Heavy / Launchers + ['weapon_compactlauncher'] = 'Compact Launcher', + ['weapon_firework'] = 'Firework Launcher', + ['weapon_grenadelauncher'] = 'Grenade Launcher', + ['weapon_hominglauncher'] = 'Homing Launcher', + ['weapon_minigun'] = 'Minigun', + ['weapon_railgun'] = 'Railgun', + ['weapon_rpg'] = 'Rocket Launcher', + ['weapon_rayminigun'] = 'Widowmaker', - -- Criminal Enterprises DLC - ['weapon_metaldetector'] = 'Detektor kovu', - ['weapon_precisionrifle'] = 'Precision Rifle', - ['weapon_tactilerifle'] = 'Service Carbine', + -- Criminal Enterprises DLC + ['weapon_metaldetector'] = 'Detektor kovu', + ['weapon_precisionrifle'] = 'Precision Rifle', + ['weapon_tactilerifle'] = 'Service Carbine', - -- Thrown - ['weapon_ball'] = 'Míček', - ['weapon_bzgas'] = 'Smrtící slzný plyn', - ['weapon_flare'] = 'Světlice', - ['weapon_grenade'] = 'Granát', - ['weapon_petrolcan'] = 'Kanistr', - ['weapon_hazardcan'] = 'Hazardous Jerrycan', - ['weapon_molotov'] = 'Molotův koktejl', - ['weapon_proxmine'] = 'Pohybová mina', - ['weapon_pipebomb'] = 'Trubková bomba', - ['weapon_snowball'] = 'Sněhová koule', - ['weapon_stickybomb'] = 'C4', - ['weapon_smokegrenade'] = 'Slzný plyn', + -- 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 - -- Special - ['weapon_fireextinguisher'] = 'Hasící přístroj', - ['weapon_digiscanner'] = 'Skener', - ['weapon_garbagebag'] = 'Odpadkový pytel', - ['weapon_handcuffs'] = 'Pouta', - ['gadget_nightvision'] = 'Noční vidění', - ['gadget_parachute'] = 'Padák', + -- Thrown + ['weapon_ball'] = 'Míček', + ['weapon_bzgas'] = 'Smrtící slzný plyn', + ['weapon_flare'] = 'Světlice', + ['weapon_grenade'] = 'Granát', + ['weapon_petrolcan'] = 'Kanistr', + ['weapon_hazardcan'] = 'Hazardous Jerrycan', + ['weapon_molotov'] = 'Molotův koktejl', + ['weapon_proxmine'] = 'Pohybová mina', + ['weapon_pipebomb'] = 'Trubková bomba', + ['weapon_snowball'] = 'Sněhová koule', + ['weapon_stickybomb'] = 'C4', + ['weapon_smokegrenade'] = 'Slzný plyn', - -- 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', + -- Special + ['weapon_fireextinguisher'] = 'Hasící přístroj', + ['weapon_digiscanner'] = 'Skener', + ['weapon_garbagebag'] = 'Odpadkový pytel', + ['weapon_handcuffs'] = 'Pouta', + ['gadget_nightvision'] = 'Noční vidění', + ['gadget_parachute'] = 'Padák', - ['component_luxary_finish'] = 'luxary Weapon Finish', + -- 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_handle_default'] = 'default Handle', - ['component_handle_vip'] = 'vIP Handle', - ['component_handle_bodyguard'] = 'bodyguard Handle', + ['component_luxary_finish'] = 'luxary Weapon Finish', - ['component_vip_finish'] = 'vIP Finish', - ['component_bodyguard_finish'] = 'bodyguard Finish', + ['component_handle_default'] = 'default Handle', + ['component_handle_vip'] = 'vIP Handle', + ['component_handle_bodyguard'] = 'bodyguard Handle', - ['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_vip_finish'] = 'vIP Finish', + ['component_bodyguard_finish'] = 'bodyguard Finish', - ['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_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_clip_default'] = 'default Magazine', - ['component_clip_extended'] = 'extended Magazine', - ['component_clip_drum'] = 'drum Magazine', - ['component_clip_box'] = 'box Magazine', + ['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_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_clip_default'] = 'default Magazine', + ['component_clip_extended'] = 'extended Magazine', + ['component_clip_drum'] = 'drum Magazine', + ['component_clip_box'] = 'box Magazine', - ['component_suppressor'] = 'suppressor', - ['component_compensator'] = 'compensator', + ['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_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_suppressor'] = 'suppressor', + ['component_compensator'] = 'compensator', - ['component_flashlight'] = 'flashlight', - ['component_grip'] = 'grip', + ['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_barrel_default'] = 'default Barrel', - ['component_barrel_heavy'] = 'heavy Barrel', + ['component_flashlight'] = 'flashlight', + ['component_grip'] = 'grip', - ['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_barrel_default'] = 'default Barrel', + ['component_barrel_heavy'] = 'heavy Barrel', - ['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', + ['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', - -- 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)', + ['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 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', + -- 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/da.lua b/[core]/es_extended/locales/da.lua index 5340a7aa..c5a7a771 100644 --- a/[core]/es_extended/locales/da.lua +++ b/[core]/es_extended/locales/da.lua @@ -1,366 +1,371 @@ 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_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'] = 'DKK%s', - - -- Weapons - - -- Melee - ['weapon_dagger'] = 'Dagger', - ['weapon_bat'] = 'Bat', - ['weapon_battleaxe'] = 'Battle Axe', - ['weapon_bottle'] = 'Bottle', - ['weapon_crowbar'] = 'Crowbar', - ['weapon_flashlight'] = 'Flashlight', - ['weapon_golfclub'] = 'Golf Club', - ['weapon_hammer'] = 'Hammer', - ['weapon_hatchet'] = 'Hatchet', - ['weapon_knife'] = 'Knife', - ['weapon_knuckle'] = 'Knuckledusters', - ['weapon_machete'] = 'Machete', - ['weapon_nightstick'] = 'Nightstick', - ['weapon_wrench'] = 'Pipe Wrench', - ['weapon_poolcue'] = 'Pool Cue', - ['weapon_stone_hatchet'] = 'Stone Hatchet', - ['weapon_switchblade'] = 'Switchblade', - - -- Handguns - ['weapon_appistol'] = 'AP Pistol', - ['weapon_ceramicpistol'] = 'Ceramic Pistol', - ['weapon_combatpistol'] = 'Combat Pistol', - ['weapon_doubleaction'] = 'Double-Action Revolver', - ['weapon_navyrevolver'] = 'Navy Revolver', - ['weapon_flaregun'] = 'Flaregun', - ['weapon_gadgetpistol'] = 'Gadget Pistol', - ['weapon_heavypistol'] = 'Heavy Pistol', - ['weapon_revolver'] = 'Heavy Revolver', - ['weapon_revolver_mk2'] = 'Heavy Revolver MK2', - ['weapon_marksmanpistol'] = 'Marksman Pistol', - ['weapon_pistol'] = 'Pistol', - ['weapon_pistol_mk2'] = 'Pistol MK2', - ['weapon_pistol50'] = 'Pistol .50', - ['weapon_snspistol'] = 'SNS Pistol', - ['weapon_snspistol_mk2'] = 'SNS Pistol MK2', - ['weapon_stungun'] = 'Taser', - ['weapon_raypistol'] = 'Up-N-Atomizer', - ['weapon_vintagepistol'] = 'Vintage Pistol', - - -- Shotguns - ['weapon_assaultshotgun'] = 'Assault Shotgun', - ['weapon_autoshotgun'] = 'Auto Shotgun', - ['weapon_bullpupshotgun'] = 'Bullpup Shotgun', - ['weapon_combatshotgun'] = 'Combat Shotgun', - ['weapon_dbshotgun'] = 'Double Barrel Shotgun', - ['weapon_heavyshotgun'] = 'Heavy Shotgun', - ['weapon_musket'] = 'Musket', - ['weapon_pumpshotgun'] = 'Pump Shotgun', - ['weapon_pumpshotgun_mk2'] = 'Pump Shotgun MK2', - ['weapon_sawnoffshotgun'] = 'Sawed Off Shotgun', - - -- SMG & LMG - ['weapon_assaultsmg'] = 'Assault SMG', - ['weapon_combatmg'] = 'Combat MG', - ['weapon_combatmg_mk2'] = 'Combat MG MK2', - ['weapon_combatpdw'] = 'Combat PDW', - ['weapon_gusenberg'] = 'Gusenberg Sweeper', - ['weapon_machinepistol'] = 'Machine Pistol', - ['weapon_mg'] = 'MG', - ['weapon_microsmg'] = 'Micro SMG', - ['weapon_minismg'] = 'Mini SMG', - ['weapon_smg'] = 'SMG', - ['weapon_smg_mk2'] = 'SMG MK2', - ['weapon_raycarbine'] = 'Unholy Hellbringer', - - -- Rifles - ['weapon_advancedrifle'] = 'Advanced Rifle', - ['weapon_assaultrifle'] = 'Assault Rifle', - ['weapon_assaultrifle_mk2'] = 'Assault Rifle MK2', - ['weapon_bullpuprifle'] = 'Bullpup Rifle', - ['weapon_bullpuprifle_mk2'] = 'Bullpup Rifle MK2', - ['weapon_carbinerifle'] = 'Carbine Rifle', - ['weapon_carbinerifle_mk2'] = 'Carbine Rifle MK2', - ['weapon_compactrifle'] = 'Compact Rifle', - ['weapon_militaryrifle'] = 'Military Rifle', - ['weapon_specialcarbine'] = 'Special Carbine', - ['weapon_specialcarbine_mk2'] = 'Special Carbine MK2', - - -- Sniper - ['weapon_heavysniper'] = 'Heavy Sniper', - ['weapon_heavysniper_mk2'] = 'Heavy Sniper MK2', - ['weapon_marksmanrifle'] = 'Marksman Rifle', - ['weapon_marksmanrifle_mk2'] = 'Marksman Rifle MK2', - ['weapon_sniperrifle'] = 'Sniper Rifle', - - -- Heavy / Launchers - ['weapon_compactlauncher'] = 'Compact Launcher', - ['weapon_firework'] = 'Firework Launcher', - ['weapon_grenadelauncher'] = 'Grenade Launcher', - ['weapon_hominglauncher'] = 'Homing Launcher', - ['weapon_minigun'] = 'Minigun', - ['weapon_railgun'] = 'Railgun', - ['weapon_rpg'] = 'Rocket Launcher', - ['weapon_rayminigun'] = 'Widowmaker', - - -- Criminal Enterprises DLC - ['weapon_metaldetector'] = 'Metal Detector', - ['weapon_precisionrifle'] = 'Precision Rifle', - ['weapon_tactilerifle'] = 'Service Carbine', - - -- Thrown - ['weapon_ball'] = 'Baseball', - ['weapon_bzgas'] = 'BZ Gas', - ['weapon_flare'] = 'Flare', - ['weapon_grenade'] = 'Grenade', - ['weapon_petrolcan'] = 'Jerrycan', - ['weapon_hazardcan'] = 'Hazardous Jerrycan', - ['weapon_molotov'] = 'Molotov Cocktail', - ['weapon_proxmine'] = 'Proximity Mine', - ['weapon_pipebomb'] = 'Pipe Bomb', - ['weapon_snowball'] = 'Snowball', - ['weapon_stickybomb'] = 'Sticky Bomb', - ['weapon_smokegrenade'] = 'Tear Gas', - - -- Special - ['weapon_fireextinguisher'] = 'Fire Extinguisher', - ['weapon_digiscanner'] = 'Digital Scanner', - ['weapon_garbagebag'] = 'Garbage Bag', - ['weapon_handcuffs'] = 'Handcuffs', - ['gadget_nightvision'] = 'Night Vision', - ['gadget_parachute'] = 'parachute', - - -- Weapon Components - ['component_knuckle_base'] = 'base Model', - ['component_knuckle_pimp'] = 'the Pimp', - ['component_knuckle_ballas'] = 'the Ballas', - ['component_knuckle_dollar'] = 'the Hustler', - ['component_knuckle_diamond'] = 'the Rock', - ['component_knuckle_hate'] = 'the Hater', - ['component_knuckle_love'] = 'the Lover', - ['component_knuckle_player'] = 'the Player', - ['component_knuckle_king'] = 'the King', - ['component_knuckle_vagos'] = 'the Vagos', - - ['component_luxary_finish'] = 'luxary Weapon Finish', - - ['component_handle_default'] = 'default Handle', - ['component_handle_vip'] = 'vIP Handle', - ['component_handle_bodyguard'] = 'bodyguard Handle', - - ['component_vip_finish'] = 'vIP Finish', - ['component_bodyguard_finish'] = 'bodyguard Finish', - - ['component_camo_finish'] = 'digital Camo', - ['component_camo_finish2'] = 'brushstroke Camo', - ['component_camo_finish3'] = 'woodland Camo', - ['component_camo_finish4'] = 'skull Camo', - ['component_camo_finish5'] = 'sessanta Nove Camo', - ['component_camo_finish6'] = 'perseus Camo', - ['component_camo_finish7'] = 'leopard Camo', - ['component_camo_finish8'] = 'zebra Camo', - ['component_camo_finish9'] = 'geometric Camo', - ['component_camo_finish10'] = 'boom Camo', - ['component_camo_finish11'] = 'patriotic Camo', - - ['component_camo_slide_finish'] = 'digital Slide Camo', - ['component_camo_slide_finish2'] = 'brushstroke Slide Camo', - ['component_camo_slide_finish3'] = 'woodland Slide Camo', - ['component_camo_slide_finish4'] = 'skull Slide Camo', - ['component_camo_slide_finish5'] = 'sessanta Nove Slide Camo', - ['component_camo_slide_finish6'] = 'perseus Slide Camo', - ['component_camo_slide_finish7'] = 'leopard Slide Camo', - ['component_camo_slide_finish8'] = 'zebra Slide Camo', - ['component_camo_slide_finish9'] = 'geometric Slide Camo', - ['component_camo_slide_finish10'] = 'boom Slide Camo', - ['component_camo_slide_finish11'] = 'patriotic Slide Camo', - - ['component_clip_default'] = 'default Magazine', - ['component_clip_extended'] = 'extended Magazine', - ['component_clip_drum'] = 'drum Magazine', - ['component_clip_box'] = 'box Magazine', - - ['component_scope_holo'] = 'holographic Scope', - ['component_scope_small'] = 'small Scope', - ['component_scope_medium'] = 'medium Scope', - ['component_scope_large'] = 'large Scope', - ['component_scope'] = 'mounted Scope', - ['component_scope_advanced'] = 'advanced Scope', - ['component_ironsights'] = 'ironsights', - - ['component_suppressor'] = 'suppressor', - ['component_compensator'] = 'compensator', - - ['component_muzzle_flat'] = 'flat Muzzle Brake', - ['component_muzzle_tactical'] = 'tactical Muzzle Brake', - ['component_muzzle_fat'] = 'fat-End Muzzle Brake', - ['component_muzzle_precision'] = 'precision Muzzle Brake', - ['component_muzzle_heavy'] = 'heavy Duty Muzzle Brake', - ['component_muzzle_slanted'] = 'slanted Muzzle Brake', - ['component_muzzle_split'] = 'split-End Muzzle Brake', - ['component_muzzle_squared'] = 'squared Muzzle Brake', - - ['component_flashlight'] = 'flashlight', - ['component_grip'] = 'grip', - - ['component_barrel_default'] = 'default Barrel', - ['component_barrel_heavy'] = 'heavy Barrel', - - ['component_ammo_tracer'] = 'tracer Ammo', - ['component_ammo_incendiary'] = 'incendiary Ammo', - ['component_ammo_hollowpoint'] = 'hollowpoint Ammo', - ['component_ammo_fmj'] = 'fMJ Ammo', - ['component_ammo_armor'] = 'armor Piercing Ammo', - ['component_ammo_explosive'] = 'armor Piercing Incendiary Ammo', - - ['component_shells_default'] = 'default Shells', - ['component_shells_incendiary'] = 'dragons Breath Shells', - ['component_shells_armor'] = 'steel Buckshot Shells', - ['component_shells_hollowpoint'] = 'flechette Shells', - ['component_shells_explosive'] = 'explosive Slug Shells', - - -- Weapon Ammo - ['ammo_rounds'] = 'round(s)', - ['ammo_shells'] = 'shell(s)', - ['ammo_charge'] = 'charge', - ['ammo_petrol'] = 'gallons of fuel', - ['ammo_firework'] = 'firework(s)', - ['ammo_rockets'] = 'rocket(s)', - ['ammo_grenadelauncher'] = 'grenade(s)', - ['ammo_grenade'] = 'grenade(s)', - ['ammo_stickybomb'] = 'bomb(s)', - ['ammo_pipebomb'] = 'bomb(s)', - ['ammo_smokebomb'] = 'bomb(s)', - ['ammo_molotov'] = 'cocktail(s)', - ['ammo_proxmine'] = 'mine(s)', - ['ammo_bzgas'] = 'can(s)', - ['ammo_ball'] = 'ball(s)', - ['ammo_snowball'] = 'snowball(s)', - ['ammo_flare'] = 'flare(s)', - ['ammo_flaregun'] = 'flare(s)', - - -- Weapon Tints - ['tint_default'] = 'default skin', - ['tint_green'] = 'green skin', - ['tint_gold'] = 'gold skin', - ['tint_pink'] = 'pink skin', - ['tint_army'] = 'army skin', - ['tint_lspd'] = 'blue skin', - ['tint_orange'] = 'orange skin', - ['tint_platinum'] = 'platinum skin', - } - + -- Inventory + ['inventory'] = 'Inventar ( 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_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 9a6ea35c..635d9a75 100644 --- a/[core]/es_extended/locales/de.lua +++ b/[core]/es_extended/locales/de.lua @@ -1,228 +1,371 @@ Locales['de'] = { - -- Inventory - ['inventory'] = 'Inventar %s / %s', - ['use'] = 'benutzen', - ['give'] = 'geben', - ['remove'] = 'entfernen', - ['return'] = 'zurück', - ['give_to'] = 'geben an', - ['amount'] = 'Betrag', - ['giveammo'] = 'Munition geben', - ['amountammo'] = 'Anzahl der Munition', - ['noammo'] = 'du hast keine Munition!', - ['gave_item'] = 'du gibst %sx %s an %s', - ['received_item'] = 'du empfängst %sx %s von %s', - ['gave_weapon'] = 'du gibst %s an %s', - ['gave_weapon_ammo'] = 'du gibst ~o~%sx %s von %s an %s', - ['gave_weapon_withammo'] = 'du gibst %s mit ~o~%sx %s an %s', - ['gave_weapon_hasalready'] = '%s hat bereits eine(n) %s', - ['gave_weapon_noweapon'] = '%s hat diese Waffe nicht', - ['received_weapon'] = 'du erhälst %s von %s', - ['received_weapon_ammo'] = 'du erhälst %sx %s für dein %s von %s', - ['received_weapon_withammo'] = 'du erhälst %s mit %sx %s von %s', - ['received_weapon_hasalready'] = '%s hat versucht dir eine(n) %s zu geben, aber du hast bereits eine(n)', - ['received_weapon_noweapon'] = '%s hat versucht dir Munition für eine(n) %s, aber du besitzt diese Waffe nicht', - ['gave_account_money'] = 'du gibst $%s (%s) an %s', - ['received_account_money'] = 'du empfängst $%s (%s) von %s', - ['amount_invalid'] = 'ungültiger Betrag', - ['players_nearby'] = 'keine Spieler in der Nähe', - ['ex_inv_lim'] = 'Aktion nicht möglich, Inventarlimit überschritten für %s', - ['imp_invalid_quantity'] = 'Aktion nicht möglich, ungültige Anzahl', - ['imp_invalid_amount'] = 'Aktion nicht möglich, ungültiger Betrag', - ['threw_standard'] = 'du wirfst %sx %s', - ['threw_account'] = 'du wirfst $%s %s weg', - ['threw_weapon'] = 'du wirfst %s weg', - ['threw_weapon_ammo'] = 'du wirfst %s mit %sx %s weg', - ['threw_weapon_already'] = 'Du hast bereits diese Waffe', - ['threw_cannot_pickup'] = 'Du kannst das nicht aufheben, da dein Inventar voll ist', - ['threw_pickup_prompt'] = 'drücke E um aufzuheben', + -- Inventory + ['inventory'] = 'Inventar ( Gewicht %s / %s )', + ['use'] = 'Benutzen', + ['give'] = 'Geben', + ['remove'] = 'Entsorgen', + ['return'] = 'Zurück', + ['give_to'] = 'Geben an', + ['amount'] = 'Anzahl', + ['giveammo'] = 'Munition geben', + ['amountammo'] = 'Munitions Anzahl', + ['noammo'] = 'Nicht Genug!', + ['gave_item'] = 'Du gibst %sx %s an %s', + ['received_item'] = 'Du bekommst %sx %s von %s', + ['gave_weapon'] = 'Du gibst %s an %s', + ['gave_weapon_ammo'] = 'Du gibst ~o~%sx %s für %s an %s', + ['gave_weapon_withammo'] = 'Du gibst %s mit ~o~%sx %s an %s', + ['gave_weapon_hasalready'] = '%s hat bereits %s', + ['gave_weapon_noweapon'] = '%s hat diese Waffe nicht', + ['received_weapon'] = 'Du bekommst %s von %s', + ['received_weapon_ammo'] = 'Du bekommst ~o~%sx %s für deine %s von %s', + ['received_weapon_withammo'] = 'Du bekommst %s mit ~o~%sx %s von %s', + ['received_weapon_hasalready'] = '%s hat versucht dir eine %s zu geben, jedoch hast du diese Waffe bereits!', + ['received_weapon_noweapon'] = '%s hat versucht dir Munition für eine %s zu geben, jedoch hast du diese Waffe bereits!', + ['gave_account_money'] = 'Du gibst %s€ (%s) an %s', + ['received_account_money'] = 'Du bekommst %s€ (%s) von %s', + ['amount_invalid'] = 'Ungültige Anzahl', + ['players_nearby'] = 'Keine Personen in der Nähe!', + ['ex_inv_lim'] = 'Du kannst diese Aktion nicht ausführen!, Inventarlimit für %s überschritten.', + ['imp_invalid_quantity'] = 'Du kannst diese Aktion nicht ausführen!, Ungültige Anzahl!', + ['imp_invalid_amount'] = 'Du kannst diese Aktion nicht ausführen!, Ungültige Anzahl', + ['threw_standard'] = 'Du entsorgst %sx %s', + ['threw_account'] = 'Du Entsorgst %s€ %s', + ['threw_weapon'] = 'Du entsorgst %s', + ['threw_weapon_ammo'] = 'Du entsorgst %s mit ~o~%sx %s', + ['threw_weapon_already'] = 'Du hast diese Waffe bereits!', + ['threw_cannot_pickup'] = 'Inventar ist voll! Du kannst dies nicht aufheben', + ['threw_pickup_prompt'] = 'Drücke [E] zum aufheben', - -- Key mapping - ['keymap_showinventory'] = 'Inventar anzeigen', + -- Key mapping + ['keymap_showinventory'] = 'Inventar Anzeigen', - -- Salary related - ['received_salary'] = 'du hast dein Gehalt erhalten: $%s', - ['received_help'] = 'du hast deine Sozialhilfe erhalten: $%s', - ['company_nomoney'] = 'die Firma in der du angestellt bist, ist zu arm um dir dein Gehalt zu zahlen', - ['received_paycheck'] = 'erhaltener Gehaltsscheck', - ['bank'] = 'Bank', - ['account_bank'] = 'Bank', - ['account_black_money'] = 'Schwarzgeld', - ['account_money'] = 'Geld', + -- Salary related + ['received_salary'] = 'Dein Gehaltscheck ist angekommen!: %s€', + ['received_help'] = 'Deine Sozialhilfe ist angekommen: %s€', + ['company_nomoney'] = 'Die Firma an der du Angestellt bist, ist leider Arm und kann dich nicht bezahlen :(', + ['received_paycheck'] = 'Gehaltscheck erhalten', + ['bank'] = 'Maze Bank', + ['account_bank'] = 'Bank', + ['account_black_money'] = 'Schwarzgeld', + ['account_money'] = 'Bargeld', - ['act_imp'] = 'Aktion nicht möglich', - ['in_vehicle'] = 'du kannst keine Items in einem Fahrzeug weitergeben', + ['act_imp'] = 'Du kannst diese Aktion nicht ausführen!', + ['in_vehicle'] = 'Du kannst diese Aktion nicht ausführen! Person ist in einem Fahrzeug', - -- Commands - ['command_car'] = 'Fahrzeug spawnen', - ['command_car_car'] = 'Fahrzeug spawnname oder hash', - ['command_cardel'] = 'Fahrzeuge in der nähe löschen', - ['command_cardel_radius'] = 'Optional, jedes Fahrzeug innerhalb des angegebenen Radius löschen', - ['command_clear'] = 'Chat leeren', - ['command_clearall'] = 'Chat leeren für alle spieler', - ['command_clearinventory'] = 'Spielerinventar leeren', - ['command_clearloadout'] = 'Spielerausstattung löschen', - ['command_giveaccountmoney'] = 'Geld aufs Konto laden', - ['command_giveaccountmoney_account'] = 'gültiger Kontoname', - ['command_giveaccountmoney_amount'] = 'Anzahl zum hinzufügen', - ['command_giveaccountmoney_invalid'] = 'Ungültiger Kontoname', - ['command_giveitem'] = 'Item an Spieler geben', - ['command_giveitem_item'] = 'Itemname', - ['command_giveitem_count'] = 'item Anzahl', - ['command_giveweapon'] = 'Spieler eine Waffe geben', - ['command_giveweapon_weapon'] = 'Waffenname', - ['command_giveweapon_ammo'] = 'Munitionsanzahl', - ['command_giveweapon_hasalready'] = 'Spieler bereits im Besitz dieser Waffe', - ['command_giveweaponcomponent'] = 'Spieler Waffenaufsatz geben', - ['command_giveweaponcomponent_component'] = 'Waffenaufsatz Name', - ['command_giveweaponcomponent_invalid'] = 'ungültiger Waffenaufsatz', - ['command_giveweaponcomponent_hasalready'] = 'Spieler hat bereits diesen Waffenaufsatz', - ['command_giveweaponcomponent_missingweapon'] = 'Der Spieler besitzt diese Waffe nicht', - ['command_save'] = 'Spieler in der Datenbank sichern', - ['command_saveall'] = 'Sichern von allen Spielern auf der Datenbank', - ['command_setaccountmoney'] = 'Kontosumme des Spielers setzen', - ['command_setaccountmoney_amount'] = 'Summe', - ['command_setcoords'] = 'Zu den Koordinaten Teleportieren', - ['command_setcoords_x'] = 'x Position', - ['command_setcoords_y'] = 'y Position', - ['command_setcoords_z'] = 'z Position', - ['command_setjob'] = 'Dem Spieler einen Job setzen', - ['command_setjob_job'] = 'Name des Jobs', - ['command_setjob_grade'] = 'Rang des Jobs', - ['command_setjob_invalid'] = 'Der Rang oder der Job ist nicht gültigt.', - ['command_setgroup'] = 'Spielergruppe setzen', - ['command_setgroup_group'] = 'Gruppenname', - ['commanderror_argumentmismatch'] = 'Die Anzahl der Argumente stimmen nicht überein (übergeben %s, gesucht %s)', - ['commanderror_argumentmismatch_number'] = 'argument #%s typ stimmt nicht überein (übergeben string, gewünscht zahl)', - ['commanderror_invaliditem'] = 'falscher Itemname', - ['commanderror_invalidweapon'] = 'ungültige Waffe', - ['commanderror_console'] = 'Der Befehl kann nicht in der Konsole genutzt werden', - ['commanderror_invalidcommand'] = '/%s ist kein verfügbarer Befehl!', - ['commanderror_invalidplayerid'] = 'Kein Spieler mit dieser ID scheint online zu sein', - ['commandgeneric_playerid'] = 'Spieler ID', - ['command_giveammo_noweapon_found'] = '%s besitzt diese Waffe nicht', - ['command_giveammo_weapon'] = 'Waffenname', - ['command_giveammo_ammo'] = 'Munitionsanzahl', + -- Commands + ['command_bring'] = 'Person zu dir bringen', + ['command_car'] = 'Fahrzeug Spawnen', + ['command_car_car'] = 'Fahrzeug Model oder Hash', + ['command_cardel'] = 'Fahrzeuge entfernen', + ['command_cardel_radius'] = 'Entfernt alle Fahrzeuge in einem bestimmten Radius', + ['command_clear'] = 'Textchat leeren', + ['command_clearall'] = 'Textchat leeren für alle Spieler leeren', + ['command_clearinventory'] = 'Alle Items von dem Inventar eines Spielers entfernen', + ['command_clearloadout'] = 'Alle waffen von dem Spieler Loadout entfernen', + ['command_freeze'] = 'Spieler Freezen', + ['command_unfreeze'] = 'Spieler Entfreezen', + ['command_giveaccountmoney'] = 'Geld an einen bestimmten Account geben', + ['command_giveaccountmoney_account'] = 'Account wohin das Geld hinzugefügt werden soll', + ['command_giveaccountmoney_amount'] = 'Anzahl zum hinzufügen', + ['command_giveaccountmoney_invalid'] = 'Accountname Ungültig', + ['command_giveitem'] = 'Spieler ein item geben', + ['command_giveitem_item'] = 'Item Name', + ['command_giveitem_count'] = 'Anzahl', + ['command_giveweapon'] = 'Spieler eine Waffe geben', + ['command_giveweapon_weapon'] = 'Waffenname', + ['command_giveweapon_ammo'] = 'Munitionsanzahl', + ['command_giveweapon_hasalready'] = 'Spieler hat bereits diese Waffe', + ['command_giveweaponcomponent'] = 'Waffenkomponent an einen Spieler geben', + ['command_giveweaponcomponent_component'] = 'Komponent Name', + ['command_giveweaponcomponent_invalid'] = 'Ungültiger Komponent Name', + ['command_giveweaponcomponent_hasalready'] = 'Spieler hat bereits diesen Komponent', + ['command_giveweaponcomponent_missingweapon'] = 'Spieler hat diese Waffe nicht', + ['command_goto'] = 'Teleportiere dich zu einem Spieler', + ['command_kill'] = 'Spieler Töten', + ['command_save'] = 'Von einem bestimmten Spieler die Spielerdaten Speichern', + ['command_saveall'] = 'Von allen Spielern die Spielerdaten Speichern', + ['command_setaccountmoney'] = 'Geld auf einem bestimmten Account setzen', + ['command_setaccountmoney_amount'] = 'Anzahl', + ['command_setcoords'] = 'Zu den bestimmten Koordinaten teleportieren', + ['command_setcoords_x'] = 'X Koordinate', + ['command_setcoords_y'] = 'Y Koordinate', + ['command_setcoords_z'] = 'Z Koordinate', + ['command_setjob'] = 'Job eines Spielers setzen', + ['command_setjob_job'] = 'Name', + ['command_setjob_grade'] = 'Job Grad', + ['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', + ['commanderror_argumentmismatch'] = 'Ungültiger Argument (gegeben %s, gewollt %s)', + ['commanderror_argumentmismatch_number'] = 'Ungültiges Argument #%s daten typ (string gegeben, gewollte nummer)', + ['commanderror_invaliditem'] = 'Ungültiges Item', + ['commanderror_invalidweapon'] = 'Ungültige Waffe', + ['commanderror_console'] = 'Befehl kann nicht von der Konsole aus ausgeführt werden', + ['commanderror_invalidcommand'] = 'Ungültiger Befehl - /%s', + ['commanderror_invalidplayerid'] = 'Angegebener Spieler ist nicht online!', + ['commandgeneric_playerid'] = 'Spieler`s ID', + ['command_giveammo_noweapon_found'] = '%s besitzt diese Waffe nicht', + ['command_giveammo_weapon'] = 'Waffenname', + ['command_giveammo_ammo'] = 'Munitionsanzahl', + ['tpm_nowaypoint'] = 'Kein Wegpunkt gesetzt.', + ['tpm_success'] = 'Erfolgreich teleportiert', - -- Locale settings - ['locale_digit_grouping_symbol'] = ' ', - ['locale_currency'] = '$%s', + ['noclip_message'] = 'Noclip wurde %s', + ['enabled'] = '~g~Aktiviert~s~', + ['disabled'] = '~r~Deaktiviert~s~', - -- Weapons - ['weapon_knife'] = 'Messer', - ['weapon_nightstick'] = 'Schlagstock', - ['weapon_hammer'] = 'Hammer', - ['weapon_bat'] = 'Schläger', - ['weapon_golfclub'] = 'Golfschläger', - ['weapon_crowbar'] = 'Brecheisen', - ['weapon_pistol'] = 'Pistole', - ['weapon_combatpistol'] = 'Kampfpistole', - ['weapon_appistol'] = 'AP Pistole', - ['weapon_pistol50'] = 'Pistole .50', - ['weapon_microsmg'] = 'Mikro SMG', - ['weapon_smg'] = 'SMG', - ['weapon_assaultsmg'] = 'Kampf SMG', - ['weapon_assaultrifle'] = 'Kampfgewehr', - ['weapon_carbinerifle'] = 'Karabinergewehr', - ['weapon_advancedrifle'] = 'Advancedgewehr', - ['weapon_mg'] = 'MG', - ['weapon_combatmg'] = 'Kampf MG', - ['weapon_pumpshotgun'] = 'Pumpgun', - ['weapon_sawnoffshotgun'] = 'Abgesägte Schrotflinte', - ['weapon_assaultshotgun'] = 'Kampf Schrotflinte', - ['weapon_bullpupshotgun'] = 'Bullpup Schrotflinte', - ['weapon_stungun'] = 'Tazer', - ['weapon_sniperrifle'] = 'Scharfschützengewehr', - ['weapon_heavysniper'] = 'Schweres Sniper', - ['weapon_grenadelauncher'] = 'Granatwerfer', - ['weapon_rpg'] = 'RPG', - ['weapon_minigun'] = 'Minigun', - ['weapon_grenade'] = 'Granate', - ['weapon_stickybomb'] = 'Haftbombe', - ['weapon_smokegrenade'] = 'Rauchgranate', - ['weapon_bzgas'] = 'BZ Gas', - ['weapon_molotov'] = 'Molotov Cocktail', - ['weapon_fireextinguisher'] = 'Feuerlöscher', - ['weapon_petrolcan'] = 'Benzinkanister', - ['weapon_ball'] = 'Ball', - ['weapon_snspistol'] = 'SNS Pistole', - ['weapon_bottle'] = 'Flasche', - ['weapon_gusenberg'] = 'Gusenberg', - ['weapon_specialcarbine'] = 'Spezialkarabiner', - ['weapon_heavypistol'] = 'Schwere Pistole', - ['weapon_bullpuprifle'] = 'Bullpupgewehr', - ['weapon_dagger'] = 'Dolch', - ['weapon_vintagepistol'] = 'Vintage Pistole', - ['weapon_firework'] = 'Feuerwerk', - ['weapon_musket'] = 'Muskete', - ['weapon_heavyshotgun'] = 'Schwere Schrotflinte', - ['weapon_marksmanrifle'] = 'Marksmangewehr', - ['weapon_hominglauncher'] = 'Homing Launcher', - ['weapon_proxmine'] = 'Annäherungsmine', - ['weapon_snowball'] = 'Schneeball', - ['weapon_flaregun'] = 'Leuchtpistole', - ['weapon_combatpdw'] = 'Kampf PDW', - ['weapon_marksmanpistol'] = 'Marksman Pistole', - ['weapon_knuckle'] = 'Schlagring', - ['weapon_hatchet'] = 'Axt', - ['weapon_railgun'] = 'Railgun', - ['weapon_machete'] = 'Machete', - ['weapon_machinepistol'] = 'Maschinenpistole', - ['weapon_switchblade'] = 'Klappmesser', - ['weapon_revolver'] = 'Schwerer Revolver', - ['weapon_dbshotgun'] = 'Doppelläufige Schrotflinte', - ['weapon_compactrifle'] = 'Kampfgewehr', - ['weapon_autoshotgun'] = 'Auto Schrotflinte', - ['weapon_battleaxe'] = 'Kampfaxt', - ['weapon_compactlauncher'] = 'Kompakt Granatwerfer', - ['weapon_minismg'] = 'Mini SMG', - ['weapon_pipebomb'] = 'Rohrbombe', - ['weapon_poolcue'] = 'Billiard-Kö', - ['weapon_wrench'] = 'Rohrzange', - ['weapon_flashlight'] = 'Taschenlampe', - ['gadget_parachute'] = 'Fallschirm', - ['weapon_flare'] = 'Leuchtpistole', - ['weapon_doubleaction'] = 'double-Action Revolver', + -- Locale settings + ['locale_digit_grouping_symbol'] = ',', + ['locale_currency'] = '%s€', - -- Weapon Components - ['component_clip_default'] = 'standart Magazin', - ['component_clip_extended'] = 'erweiterters Magazin', - ['component_clip_drum'] = 'Trommelmagazin', - ['component_clip_box'] = 'Kastenmagazin', - ['component_flashlight'] = 'Taschenlampe', - ['component_scope'] = 'Zielfernrohr', - ['component_scope_advanced'] = 'erweitertes Zielfernrohr', - ['component_suppressor'] = 'Schalldämpfer', - ['component_grip'] = 'Griff', - ['component_luxary_finish'] = 'luxus Waffendesign', + -- Weapons - -- Weapon Ammo - ['ammo_rounds'] = 'Kugel(n)', - ['ammo_shells'] = 'Schrotpatrone(n)', - ['ammo_charge'] = 'Ladung', - ['ammo_petrol'] = 'Benzinkanister', - ['ammo_firework'] = 'Feuerwerksrakete(n)', - ['ammo_rockets'] = 'Rakete(n)', - ['ammo_grenadelauncher'] = 'Granate(n)', - ['ammo_grenade'] = 'Granate(n)', - ['ammo_stickybomb'] = 'C4(s)', - ['ammo_pipebomb'] = 'Rohrbombe(n)', - ['ammo_smokebomb'] = 'Rauchgranate(n)', - ['ammo_molotov'] = 'Molotovcocktail(s)', - ['ammo_proxmine'] = 'Annäherungsmine(n)', - ['ammo_bzgas'] = 'Bzgas', - ['ammo_ball'] = 'Ball', - ['ammo_snowball'] = 'Schneebälle', - ['ammo_flare'] = 'Signalfackel(n)', - ['ammo_flaregun'] = 'Signalfackeln(munition)', + -- Melee + ['weapon_dagger'] = 'Dolch', + ['weapon_bat'] = 'Baseballschläger', + ['weapon_battleaxe'] = 'Kampfaxt', + ['weapon_bottle'] = 'Flasche', + ['weapon_crowbar'] = 'Brechstange', + ['weapon_flashlight'] = 'Taschenlampe', + ['weapon_golfclub'] = 'Golfschläger', + ['weapon_hammer'] = 'Hammer', + ['weapon_hatchet'] = 'Beil', + ['weapon_knife'] = 'Messer', + ['weapon_knuckle'] = 'Schlagring', + ['weapon_machete'] = 'Machete', + ['weapon_nightstick'] = 'Schlagstock', + ['weapon_wrench'] = 'Rohrzange', + ['weapon_poolcue'] = 'Billiardstange', + ['weapon_stone_hatchet'] = 'Steinbeil', + ['weapon_switchblade'] = 'Springmesser', - -- Weapon Tints - ['tint_default'] = 'standard', - ['tint_green'] = 'grün', - ['tint_gold'] = 'gold', - ['tint_pink'] = 'pink', - ['tint_army'] = 'camouflage', - ['tint_lspd'] = 'blau', - ['tint_orange'] = 'orange', - ['tint_platinum'] = 'platin', + -- Handguns + ['weapon_appistol'] = 'AP Pistole', + ['weapon_ceramicpistol'] = 'Keramikpistole', + ['weapon_combatpistol'] = 'Kampfpistole', + ['weapon_doubleaction'] = 'Double-Action Revolver', + ['weapon_navyrevolver'] = 'Navy Revolver', + ['weapon_flaregun'] = 'Flaregun', + ['weapon_gadgetpistol'] = 'Gadgetpistole', + ['weapon_heavypistol'] = 'Schwere Pistole', + ['weapon_revolver'] = 'Schwerer Revolver', + ['weapon_revolver_mk2'] = 'Schwerer Revolver MK2', + ['weapon_marksmanpistol'] = 'Scharfschützen Pistole', + ['weapon_pistol'] = 'Pistole', + ['weapon_pistol_mk2'] = 'Pistole MK2', + ['weapon_pistol50'] = 'Pistole 50 Kaliber', + ['weapon_snspistol'] = 'SNS Pistol', + ['weapon_snspistol_mk2'] = 'SNS Pistol MK2', + ['weapon_stungun'] = 'Taser', + ['weapon_raypistol'] = 'Up-N-Atomizer', + ['weapon_vintagepistol'] = 'Vintagepistole', + + -- Shotguns + ['weapon_assaultshotgun'] = 'Sturmschrotflinte', + ['weapon_autoshotgun'] = 'Automatische Schrotflinte', + ['weapon_bullpupshotgun'] = 'Bullpup-Schrotflinte', + ['weapon_combatshotgun'] = 'Kampfschrotfline', + ['weapon_dbshotgun'] = 'Doppelbarrel Schrotflinte', + ['weapon_heavyshotgun'] = 'Schwere Schrotflinte', + ['weapon_musket'] = 'Muskete', + ['weapon_pumpshotgun'] = 'Pump Schrotflinte', + ['weapon_pumpshotgun_mk2'] = 'Pump Schrotflinte MK2', + ['weapon_sawnoffshotgun'] = 'Abgesägte Schrotflinte', + + -- SMG & LMG + ['weapon_assaultsmg'] = 'Sturm SMG', + ['weapon_combatmg'] = 'Kampf MG', + ['weapon_combatmg_mk2'] = 'Kampf MG MK2', + ['weapon_combatpdw'] = 'Kampf PDW', + ['weapon_gusenberg'] = 'Gusenberg Sweeper', + ['weapon_machinepistol'] = 'Maschinenpistole', + ['weapon_mg'] = 'MG', + ['weapon_microsmg'] = 'Mikro SMG', + ['weapon_minismg'] = 'Mini SMG', + ['weapon_smg'] = 'SMG', + ['weapon_smg_mk2'] = 'SMG MK2', + ['weapon_raycarbine'] = 'Unheiliger Höllenbringer', + + -- Rifles + ['weapon_advancedrifle'] = 'Fortgeschrittenes Gewehr', + ['weapon_assaultrifle'] = 'Sturmgewehr', + ['weapon_assaultrifle_mk2'] = 'Sturmgewehr MK2', + ['weapon_bullpuprifle'] = 'Bullpup Gewehr', + ['weapon_bullpuprifle_mk2'] = 'Bullpup Gewehr MK2', + ['weapon_carbinerifle'] = 'Karabinergewehr', + ['weapon_carbinerifle_mk2'] = 'Karabinergewehr MK2', + ['weapon_compactrifle'] = 'Kompaktesgewehr', + ['weapon_militaryrifle'] = 'Militärgewehr', + ['weapon_specialcarbine'] = 'Spezialkarabiner', + ['weapon_specialcarbine_mk2'] = 'Spezialkarabiner MK2', + + -- Sniper + ['weapon_heavysniper'] = 'Schwere Sniper', + ['weapon_heavysniper_mk2'] = 'Schwere Sniper MK2', + ['weapon_marksmanrifle'] = 'Scharfschützengewehr', + ['weapon_marksmanrifle_mk2'] = 'Scharfschützengewehr MK2', + ['weapon_sniperrifle'] = 'Sniper', + + -- Heavy / Launchers + ['weapon_compactlauncher'] = 'Kompaktlauncher', + ['weapon_firework'] = 'Feuerwerklauncher', + ['weapon_grenadelauncher'] = 'Granatwerfer', + ['weapon_hominglauncher'] = 'Lenkraketenwerfer', + ['weapon_minigun'] = 'Minigun', + ['weapon_railgun'] = 'Railgun', + ['weapon_rpg'] = 'Raketenwerfer', + ['weapon_rayminigun'] = 'Witwenmacher', + + -- Criminal Enterprises DLC + ['weapon_metaldetector'] = 'Metalldetektor', + ['weapon_precisionrifle'] = 'Präzisionsgewehr', + ['weapon_tactilerifle'] = 'Service Karabiner', + + -- Drug Wars DLC + ['weapon_candycane'] = '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'] = 'Leuchtfackel', + ['weapon_grenade'] = 'Granate', + ['weapon_petrolcan'] = 'Benzinkanister', + ['weapon_hazardcan'] = 'Gefährliche Kanister', + ['weapon_molotov'] = 'Molotov Cocktail', + ['weapon_proxmine'] = 'Annährungsmine', + ['weapon_pipebomb'] = 'Rohrbombe', + ['weapon_snowball'] = 'Schneeball', + ['weapon_stickybomb'] = 'Haftbombe', + ['weapon_smokegrenade'] = 'Tränengas', + + -- Special + ['weapon_fireextinguisher'] = 'Feuerlöscher', + ['weapon_digiscanner'] = 'Digitalscanner', + ['weapon_garbagebag'] = 'Müllsack', + ['weapon_handcuffs'] = 'Handschelle', + ['gadget_nightvision'] = 'Nachtsicht', + ['gadget_parachute'] = 'Fallschirm', + + -- Weapon Components + ['component_knuckle_base'] = 'Basismodell', + ['component_knuckle_pimp'] = 'Der Pimp', + ['component_knuckle_ballas'] = 'Die Ballas', + ['component_knuckle_dollar'] = 'Der Hustler', + ['component_knuckle_diamond'] = 'Der Stein', + ['component_knuckle_hate'] = 'Der Hater', + ['component_knuckle_love'] = 'Der Lover', + ['component_knuckle_player'] = 'Der Player', + ['component_knuckle_king'] = 'Der King', + ['component_knuckle_vagos'] = 'Die Vagos', + + ['component_luxary_finish'] = 'Luxuswaffenlackierung', + + ['component_handle_default'] = 'Normaler Handgriff', + ['component_handle_vip'] = 'VIP Handgriff', + ['component_handle_bodyguard'] = 'Bodyguard Handgriff', + + ['component_vip_finish'] = 'VIP Lackierung', + ['component_bodyguard_finish'] = 'Bodyguard Lackierung', + + ['component_camo_finish'] = 'Digitales Camouflage', + ['component_camo_finish2'] = 'Pinselstrich Camouflage', + ['component_camo_finish3'] = 'Holzland Camouflage', + ['component_camo_finish4'] = 'Kopf Camouflage', + ['component_camo_finish5'] = 'Sessebta-Nove Camouflage', + ['component_camo_finish6'] = 'Perseus Camouflage', + ['component_camo_finish7'] = 'Leopard Camouflage', + ['component_camo_finish8'] = 'Zebra Camouflage', + ['component_camo_finish9'] = 'Geometrisch Camouflage', + ['component_camo_finish10'] = 'BOOM Camouflage', + ['component_camo_finish11'] = 'Patriotisch Camouflage', + + ['component_camo_slide_finish'] = 'Digital Rutschen Camouflage', + ['component_camo_slide_finish2'] = 'Pinselstrich Rutschen Camouflage', + ['component_camo_slide_finish3'] = 'Holzland Rutschen Camouflage', + ['component_camo_slide_finish4'] = 'Kopf Rutschen Camouflage', + ['component_camo_slide_finish5'] = 'Sessebta-Nove Nove Rutschen Camouflage', + ['component_camo_slide_finish6'] = 'Perseus Rutschen Camouflage', + ['component_camo_slide_finish7'] = 'Leopard Rutschen Camouflage', + ['component_camo_slide_finish8'] = 'Zebra Rutschen Camouflage', + ['component_camo_slide_finish9'] = 'Geometrisch Rutschen Camouflage', + ['component_camo_slide_finish10'] = 'BOOM Rutschen Camouflage', + ['component_camo_slide_finish11'] = 'Patriotisch Rutschen Camouflage', + + ['component_clip_default'] = 'Standart Magazin', + ['component_clip_extended'] = 'Erweiterters Magazin', + ['component_clip_drum'] = 'Trommelmagazin', + ['component_clip_box'] = 'Kastenmagazin', + + ['component_scope_holo'] = 'Holographisches Zielfernrohr', + ['component_scope_small'] = 'Kleines Zielfernrohr', + ['component_scope_medium'] = 'Mittleres Zielfernrohr', + ['component_scope_large'] = 'Großes Zielfernrohr', + ['component_scope'] = 'Montiertes Zielfernrohr', + ['component_scope_advanced'] = 'Fortgeschrittenes Zielfernrohr', + ['component_ironsights'] = 'Ironsights', + + ['component_suppressor'] = 'Entstörer', + ['component_compensator'] = 'Kompensator', + + ['component_muzzle_flat'] = 'Flache Mündung', + ['component_muzzle_tactical'] = 'Taktische Mündung', + ['component_muzzle_fat'] = 'Fettes-Ende Mündung', + ['component_muzzle_precision'] = 'Präzision Mündung', + ['component_muzzle_heavy'] = 'Schwere Mündung', + ['component_muzzle_slanted'] = 'Schräge Mündung', + ['component_muzzle_split'] = 'Geteiletes-Ende Mündung', + ['component_muzzle_squared'] = 'Quadratische Mündung', + + ['component_flashlight'] = 'Taschenlampe', + ['component_grip'] = 'Grip', + + ['component_barrel_default'] = 'Normales Fass', + ['component_barrel_heavy'] = 'Schweres Fass', + + ['component_ammo_tracer'] = 'Tracer Munition', + ['component_ammo_incendiary'] = 'Aufruhr Munition', + ['component_ammo_hollowpoint'] = 'Hohlspitze Munition', + ['component_ammo_fmj'] = 'FMJ Munition', + ['component_ammo_armor'] = 'Panzerbrechende Munition', + ['component_ammo_explosive'] = 'Panzerbrechende brennende Munition', + + ['component_shells_default'] = 'Normale Hülsen', + ['component_shells_incendiary'] = 'Drachenatem Hülsen', + ['component_shells_armor'] = 'Stahlschrot Hülsen', + ['component_shells_hollowpoint'] = 'Flechette Hülsen', + ['component_shells_explosive'] = 'Explosives Geschoss Hülsen', + + -- Weapon Ammo + ['ammo_rounds'] = 'Kugel(n)', + ['ammo_shells'] = 'Schrotpatrone(n)', + ['ammo_charge'] = 'Nachladen', + ['ammo_petrol'] = 'Benzinkanister', + ['ammo_firework'] = 'Feuerwerksrakete(n)', + ['ammo_rockets'] = 'Rakete(n)', + ['ammo_grenadelauncher'] = 'Granate(n)', + ['ammo_grenade'] = 'Granate(n)', + ['ammo_stickybomb'] = 'C4(s)', + ['ammo_pipebomb'] = 'Rohrbombe(n)', + ['ammo_smokebomb'] = 'Rauchgranate(n)', + ['ammo_molotov'] = 'Molotovcocktail(s)', + ['ammo_proxmine'] = 'Annäherungsmine(n)', + ['ammo_bzgas'] = 'Bzgas', + ['ammo_ball'] = 'Ball', + ['ammo_snowball'] = 'Schneebälle', + ['ammo_flare'] = 'Signalfackel(n)', + ['ammo_flaregun'] = 'Signalfackeln(munition)', + + -- Weapon Tints + ['tint_default'] = 'Standard', + ['tint_green'] = 'Grün', + ['tint_gold'] = 'Gold', + ['tint_pink'] = 'Pink', + ['tint_army'] = 'Camouflage', + ['tint_lspd'] = 'Blau', + ['tint_orange'] = 'Orange', + ['tint_platinum'] = 'Platin', } diff --git a/[core]/es_extended/locales/en.lua b/[core]/es_extended/locales/en.lua index e480153f..50de5d0e 100644 --- a/[core]/es_extended/locales/en.lua +++ b/[core]/es_extended/locales/en.lua @@ -69,6 +69,10 @@ Locales['en'] = { ['command_giveaccountmoney_account'] = 'Account to add to', ['command_giveaccountmoney_amount'] = 'Amount to add', ['command_giveaccountmoney_invalid'] = 'Account Name Invalid', + ['command_removeaccountmoney'] = 'Remove Money from a specified Account', + ['command_removeaccountmoney_account'] = 'Account to remove from', + ['command_removeaccountmoney_amount'] = 'Amount to remove', + ['command_removeaccountmoney_invalid'] = 'Account Name Invalid', ['command_giveitem'] = 'Give Player an item', ['command_giveitem_item'] = 'Item name', ['command_giveitem_count'] = 'Quantity', diff --git a/[core]/es_extended/locales/es.lua b/[core]/es_extended/locales/es.lua index 0d47efb2..efd3d1c6 100644 --- a/[core]/es_extended/locales/es.lua +++ b/[core]/es_extended/locales/es.lua @@ -1,358 +1,364 @@ Locales['es'] = { - -- Inventory - ['inventory'] = 'Inventario %s / %s', - ['use'] = 'Usar', - ['give'] = 'Dar', - ['remove'] = 'Tirar', - ['return'] = 'Volver', - ['give_to'] = 'Dar a', - ['amount'] = 'Cantidad', - ['giveammo'] = 'Dar munición', - ['amountammo'] = 'Cantidad de munición', - ['noammo'] = 'No tienes suficiente munición!', - ['gave_item'] = 'Has dado %sx %s a %s', - ['received_item'] = 'Has recibido %sx %s de %s', - ['gave_weapon'] = 'Has dado %s a %s', - ['gave_weapon_ammo'] = 'Has dado ~o~%sx %s para %s a %s', - ['gave_weapon_withammo'] = 'Has dado %s con ~o~%sx %s a %s', - ['gave_weapon_hasalready'] = '%s ya tiene un/a %s', - ['gave_weapon_noweapon'] = '%s no tiene ese arma', - ['received_weapon'] = 'Has recibido %s de %s', - ['received_weapon_ammo'] = 'Has recibido ~o~%sx %s para su %s de %s', - ['received_weapon_withammo'] = 'Has recibido %s con ~o~%sx %s de %s', - ['received_weapon_hasalready'] = '%s intentó darle un/a %s, pero ya tienes uno', - ['received_weapon_noweapon'] = '%s intentó darles munición para un %s, pero no tiene uno', - ['gave_account_money'] = 'Has dado $%s (%s) a %s', - ['received_account_money'] = 'Has recibido $%s (%s) de %s', - ['amount_invalid'] = 'Cantidad inválida', - ['players_nearby'] = 'No hay jugadores cerca', - ['ex_inv_lim'] = 'Acción no posible, excediendo el límite de inventario para %s', - ['imp_invalid_quantity'] = 'Acción imposible, cantidad inválida', - ['imp_invalid_amount'] = 'Acción imposible, cantidad inválida', - ['threw_standard'] = 'Has tirado %sx %s', - ['threw_account'] = 'Has tirado $%s %s', - ['threw_weapon'] = 'Has tirado %s', - ['threw_weapon_ammo'] = 'Has tirado %s con ~o~%sx %s', - ['threw_weapon_already'] = 'Ya llevas el mismo arma', - ['threw_cannot_pickup'] = 'No puedes recogerlo porque tu inventario está lleno!', - ['threw_pickup_prompt'] = 'Pulsa E para recoger', + -- Inventory + ['inventory'] = 'Inventario %s / %s', + ['use'] = 'Usar', + ['give'] = 'Dar', + ['remove'] = 'Tirar', + ['return'] = 'Volver', + ['give_to'] = 'Dar a', + ['amount'] = 'Cantidad', + ['giveammo'] = 'Dar munición', + ['amountammo'] = 'Cantidad de munición', + ['noammo'] = 'No tienes suficiente munición!', + ['gave_item'] = 'Has dado %sx %s a %s', + ['received_item'] = 'Has recibido %sx %s de %s', + ['gave_weapon'] = 'Has dado %s a %s', + ['gave_weapon_ammo'] = 'Has dado ~o~%sx %s para %s a %s', + ['gave_weapon_withammo'] = 'Has dado %s con ~o~%sx %s a %s', + ['gave_weapon_hasalready'] = '%s ya tiene un/a %s', + ['gave_weapon_noweapon'] = '%s no tiene ese arma', + ['received_weapon'] = 'Has recibido %s de %s', + ['received_weapon_ammo'] = 'Has recibido ~o~%sx %s para su %s de %s', + ['received_weapon_withammo'] = 'Has recibido %s con ~o~%sx %s de %s', + ['received_weapon_hasalready'] = '%s intentó darle un/a %s, pero ya tienes uno', + ['received_weapon_noweapon'] = '%s intentó darles munición para un %s, pero no tiene uno', + ['gave_account_money'] = 'Has dado $%s (%s) a %s', + ['received_account_money'] = 'Has recibido $%s (%s) de %s', + ['amount_invalid'] = 'Cantidad inválida', + ['players_nearby'] = 'No hay jugadores cerca', + ['ex_inv_lim'] = 'Acción no posible, excediendo el límite de inventario para %s', + ['imp_invalid_quantity'] = 'Acción imposible, cantidad inválida', + ['imp_invalid_amount'] = 'Acción imposible, cantidad inválida', + ['threw_standard'] = 'Has tirado %sx %s', + ['threw_account'] = 'Has tirado $%s %s', + ['threw_weapon'] = 'Has tirado %s', + ['threw_weapon_ammo'] = 'Has tirado %s con ~o~%sx %s', + ['threw_weapon_already'] = 'Ya llevas el mismo arma', + ['threw_cannot_pickup'] = 'No puedes recogerlo porque tu inventario está lleno!', + ['threw_pickup_prompt'] = 'Pulsa E para recoger', - -- Key mapping - ['keymap_showinventory'] = 'Ver Inventario', + -- Key mapping + ['keymap_showinventory'] = 'Ver Inventario', - -- Salary related - ['received_salary'] = 'Has recibido tu sueldo: $%s', - ['received_help'] = 'Has recibido su cheque de bienestar: $%s', - ['company_nomoney'] = 'La empresa en la que trabajas no tiene dinero para pagar tu sueldo', - ['received_paycheck'] = 'Recibió su paga', - ['bank'] = 'Banco', - ['account_bank'] = 'Banco', - ['account_black_money'] = 'Dinero Negro', - ['account_money'] = 'Efectivo', + -- Salary related + ['received_salary'] = 'Has recibido tu sueldo: $%s', + ['received_help'] = 'Has recibido su cheque de bienestar: $%s', + ['company_nomoney'] = 'La empresa en la que trabajas no tiene dinero para pagar tu sueldo', + ['received_paycheck'] = 'Recibió su paga', + ['bank'] = 'Banco', + ['account_bank'] = 'Banco', + ['account_black_money'] = 'Dinero Negro', + ['account_money'] = 'Efectivo', - ['act_imp'] = 'Acción imposible', - ['in_vehicle'] = 'No se puede dar nada a alguien en un vehículo', + ['act_imp'] = 'No se pudo realizar la acción.', + ['in_vehicle'] = 'Acción rechazada. El jugador se encuentra en un vehículo', - -- Commands - ['command_bring'] = 'Traer un jugador hacia ti', - ['command_car'] = 'Generar un vehiculo', - ['command_car_car'] = 'Nombre o hash del vehículo', - ['command_cardel'] = 'Eliminar vehículos cercanos', - ['command_cardel_radius'] = 'Opcional, eliminar todos los vehículos en el radio especificado', - ['command_clear'] = 'Limpiar chat', - ['command_clearall'] = 'Limpiar chat para todos los jugadores', - ['command_clearinventory'] = 'Limpiar el inventario del jugador', - ['command_clearloadout'] = 'Limpiar inventario de un jugador', - ['command_freeze'] = 'Congelar un jugador', - ['command_unfreeze'] = 'Descongelar un jugador', - ['command_giveaccountmoney'] = 'Dar dinero', - ['command_giveaccountmoney_account'] = 'Nombre de cuenta válido', - ['command_giveaccountmoney_amount'] = 'Cantidad a añadir', - ['command_giveaccountmoney_invalid'] = 'Nombre de cuenta inválido', - ['command_giveitem'] = 'Dar un objeto a un jugador', - ['command_giveitem_item'] = 'Nombre del artículo', - ['command_giveitem_count'] = 'Cantidad de articulos', - ['command_giveweapon'] = 'Dar un arma a un jugador', - ['command_giveweapon_weapon'] = 'Nombre del arma', - ['command_giveweapon_ammo'] = 'Cantidad de municion', - ['command_giveweapon_hasalready'] = 'El jugador ya tiene esa arma', - ['command_giveweaponcomponent'] = 'Dar el componente del arma', - ['command_giveweaponcomponent_component'] = 'Nombre del componente', - ['command_giveweaponcomponent_invalid'] = 'Componente del arma no válido', - ['command_giveweaponcomponent_hasalready'] = 'El jugador ya tiene ese componente del arma', - ['command_giveweaponcomponent_missingweapon'] = 'El jugador no tiene esa arma', - ['command_goto'] = 'Teletransporte hacia un jugador', - ['command_kill'] = 'Matar un jugador', - ['command_save'] = 'Guardar un jugador en la base de datos', - ['command_saveall'] = 'Guardar todos los jugadores en la base de datos', - ['command_setaccountmoney'] = 'Establecer el dinero de la cuenta para un jugador', - ['command_setaccountmoney_amount'] = 'Cantidad de dinero para fijar', - ['command_setcoords'] = 'Teletransporte a coordenadas', - ['command_setcoords_x'] = 'Eje X', - ['command_setcoords_y'] = 'Eje Y', - ['command_setcoords_z'] = 'Eje Z', - ['command_setjob'] = 'Dar un trabajo a un jugador', - ['command_setjob_job'] = 'Nombre del trabajo', - ['command_setjob_grade'] = 'Rango del trabajo', - ['command_setjob_invalid'] = 'El trabajo, el rango o ambos no son válidos', - ['command_setgroup'] = 'Establecer el grupo de un jugador', - ['command_setgroup_group'] = 'Nombre del grupo', - ['commanderror_argumentmismatch'] = 'error en el recuento de argumentos (pasado %s, deseado %s)', - ['commanderror_argumentmismatch_number'] = 'argumento #%s tipo no coincide (cadena pasada, número deseado)', - ['commanderror_invaliditem'] = 'Nombre del artículo no válido', - ['commanderror_invalidweapon'] = 'Arma inválida', - ['commanderror_console'] = 'Ese comando no se puede ejecutar desde la consola', - ['commanderror_invalidcommand'] = '/%s ¡No es un comando válido!', - ['commanderror_invalidplayerid'] = 'No hay ningún jugador en línea que coincida con la ID del servidor', - ['commandgeneric_playerid'] = 'ID del jugador', - ['command_giveammo_noweapon_found'] = '%s does not have that weapon', - ['command_giveammo_weapon'] = 'Weapon name', - ['command_giveammo_ammo'] = 'Ammo Quantity', + -- Commands + ['command_bring'] = 'Traer un jugador hacia ti', + ['command_car'] = 'Spawnear un vehículo', + ['command_car_car'] = 'Nombre del vehículo', + ['command_cardel'] = 'Eliminar vehículos cercanos', + ['command_cardel_radius'] = 'Opcional, eliminar todos los vehículos en el radio especificado', + ['command_clear'] = 'Limpiar chat para ti', + ['command_clearall'] = 'Limpiar chat para todos los jugadores', + ['command_clearinventory'] = 'Limpiar el inventario del jugador', + ['command_clearloadout'] = 'Limpiar inventario de un jugador', + ['command_freeze'] = 'Congelar un jugador', + ['command_unfreeze'] = 'Descongelar un jugador', + ['command_giveaccountmoney'] = 'Dar dinero', + ['command_giveaccountmoney_account'] = 'Nombre de cuenta válido', + ['command_giveaccountmoney_amount'] = 'Cantidad a añadir', + ['command_giveaccountmoney_invalid'] = 'Nombre de cuenta no existente. [bank, money, black_money]', + ['command_giveitem'] = 'Dar un objeto a un jugador', + ['command_giveitem_item'] = 'Nombre del artículo', + ['command_giveitem_count'] = 'Cantidad de articulos', + ['command_giveweapon'] = 'Dar un arma a un jugador', + ['command_giveweapon_weapon'] = 'Nombre del arma', + ['command_giveweapon_ammo'] = 'Cantidad de municion', + ['command_giveweapon_hasalready'] = 'El jugador ya tiene esa arma', + ['command_giveweaponcomponent'] = 'Dar el componente del arma', + ['command_giveweaponcomponent_component'] = 'Nombre del componente', + ['command_giveweaponcomponent_invalid'] = 'Componente del arma no válido', + ['command_giveweaponcomponent_hasalready'] = 'El jugador ya tiene ese componente del arma', + ['command_giveweaponcomponent_missingweapon'] = 'El jugador no tiene esa arma', + ['command_goto'] = 'Teletransportarte hacia un jugador', + ['command_kill'] = 'Matar un jugador', + ['command_save'] = 'Guardar la informacion de un jugador en la base de datos.', + ['command_saveall'] = 'Guardar toda la informacion de jugadores en la base de datos.', + ['command_setaccountmoney'] = 'Establecer el dinero de la cuenta para un jugador', + ['command_setaccountmoney_amount'] = 'Cantidad de dinero a establecer', + ['command_setcoords'] = 'Teletransporte a coordenadas', + ['command_setcoords_x'] = 'Eje X', + ['command_setcoords_y'] = 'Eje Y', + ['command_setcoords_z'] = 'Eje Z', + ['command_setjob'] = 'Dar un trabajo a un jugador', + ['command_setjob_job'] = 'Nombre del trabajo', + ['command_setjob_grade'] = 'Rango del trabajo', + ['command_setjob_invalid'] = 'El trabajo o el rango no son válidos', + ['command_setgroup'] = 'Establecer el grupo de un jugador', + ['command_setgroup_group'] = 'Nombre del grupo', + ['commanderror_argumentmismatch'] = 'Error en el recuento de argumentos (pasado %s, deseado %s)', + ['commanderror_argumentmismatch_number'] = 'Argumento #%s tipo no coincide (cadena pasada, número deseado)', + ['commanderror_invaliditem'] = 'Nombre del artículo no válido', + ['commanderror_invalidweapon'] = 'Arma inválida', + ['commanderror_console'] = 'Ese comando no se puede ejecutar desde la consola', + ['commanderror_invalidcommand'] = '/%s ¡No es un comando válido!', + ['commanderror_invalidplayerid'] = 'No hay ningún jugador online con la ID especificada', + ['commandgeneric_playerid'] = 'ID del jugador', + ['command_giveammo_noweapon_found'] = '%s no posee esa arma', + ['command_giveammo_weapon'] = 'Nombre del arma', + ['command_giveammo_ammo'] = 'Cantidad de municion', - -- Locale settings - ['locale_digit_grouping_symbol'] = ',', - ['locale_currency'] = '$%s', + -- Locale settings + ['locale_digit_grouping_symbol'] = ',', + ['locale_currency'] = '$%s', - -- Weapons + -- Weapons - -- Melee - ['weapon_dagger'] = 'Daga', - ['weapon_bat'] = 'Bate', - ['weapon_battleaxe'] = 'Hacha de combate', - ['weapon_bottle'] = 'Botella', - ['weapon_crowbar'] = 'Palanca', - ['weapon_flashlight'] = 'Linterna', - ['weapon_golfclub'] = 'Palos de Golf', - ['weapon_hammer'] = 'Martillo', - ['weapon_hatchet'] = 'Hacha', - ['weapon_knife'] = 'Cuchillo', - ['weapon_knuckle'] = 'Puños Americanos', - ['weapon_machete'] = 'Machete', - ['weapon_nightstick'] = 'Porra', - ['weapon_wrench'] = 'Llave Inglesa', - ['weapon_poolcue'] = 'Taco de Billar', - ['weapon_stone_hatchet'] = 'Hacha de Piedra', - ['weapon_switchblade'] = 'Navaja', + -- 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 - -- Handguns - ['weapon_appistol'] = 'Pistola AP ', - ['weapon_ceramicpistol'] = 'Pistola Corta', - ['weapon_combatpistol'] = 'Pistola Combate', - ['weapon_doubleaction'] = 'Revólver de Doble Acción', - ['weapon_navyrevolver'] = 'Revólver de la Armada', - ['weapon_flaregun'] = 'Pistola de Bengalas', - ['weapon_gadgetpistol'] = 'Pistola de Perico', - ['weapon_heavypistol'] = 'Pistola Pesada', - ['weapon_revolver'] = 'Revólver Pesado', - ['weapon_revolver_mk2'] = 'Revólver Pesado MK2', - ['weapon_marksmanpistol'] = 'Pistola Marksman', - ['weapon_pistol'] = 'Pistola', - ['weapon_pistol_mk2'] = 'Pistola MK2', - ['weapon_pistol50'] = 'Pistola .50', - ['weapon_snspistol'] = 'Pistola SNS', - ['weapon_snspistol_mk2'] = 'Pistola SNS MK2', - ['weapon_stungun'] = 'Tazer', - ['weapon_raypistol'] = 'Up-N-Atomizer', - ['weapon_vintagepistol'] = 'Pistola Vintage', + -- Melee + ['weapon_dagger'] = 'Daga', + ['weapon_bat'] = 'Bate', + ['weapon_battleaxe'] = 'Hacha de combate', + ['weapon_bottle'] = 'Botella', + ['weapon_crowbar'] = 'Palanca', + ['weapon_flashlight'] = 'Linterna', + ['weapon_golfclub'] = 'Palo de Golf', + ['weapon_hammer'] = 'Martillo', + ['weapon_hatchet'] = 'Hacha', + ['weapon_knife'] = 'Cuchillo', + ['weapon_knuckle'] = 'Puño Americano', + ['weapon_machete'] = 'Machete', + ['weapon_nightstick'] = 'Porra', + ['weapon_wrench'] = 'Llave Inglesa', + ['weapon_poolcue'] = 'Taco de Billar', + ['weapon_stone_hatchet'] = 'Hacha de Piedra', + ['weapon_switchblade'] = 'Navaja', - -- Shotguns - ['weapon_assaultshotgun'] = 'Escopeta de Asalto', - ['weapon_autoshotgun'] = 'Escopeta Automática', - ['weapon_bullpupshotgun'] = 'Escopeta Bullpup', - ['weapon_combatshotgun'] = 'Escopeta Combate', - ['weapon_dbshotgun'] = 'Escopeta de Doble Barril', - ['weapon_heavyshotgun'] = 'Escopeta Pesada', - ['weapon_musket'] = 'Mosquete', - ['weapon_pumpshotgun'] = 'Escopeta de Bombeo', - ['weapon_pumpshotgun_mk2'] = 'Escopeta de Bombeo MK2', - ['weapon_sawnoffshotgun'] = 'Escopeta Recortada', + -- Handguns + ['weapon_appistol'] = 'Pistola AP', + ['weapon_ceramicpistol'] = 'Pistola de Ceramica', + ['weapon_combatpistol'] = 'Pistola de Combate', + ['weapon_doubleaction'] = 'Revólver de Doble Acción', + ['weapon_navyrevolver'] = 'Revólver de la Armada', + ['weapon_flaregun'] = 'Pistola de Bengalas', + ['weapon_gadgetpistol'] = 'Pistola de Perico', + ['weapon_heavypistol'] = 'Pistola Pesada', + ['weapon_revolver'] = 'Revólver Pesado', + ['weapon_revolver_mk2'] = 'Revólver Pesado MK2', + ['weapon_marksmanpistol'] = 'Pistola Marksman', + ['weapon_pistol'] = 'Pistola 9mm', + ['weapon_pistol_mk2'] = 'Pistola MK2', + ['weapon_pistol50'] = 'Pistola .50', + ['weapon_snspistol'] = 'Pistola SNS', + ['weapon_snspistol_mk2'] = 'Pistola SNS MK2', + ['weapon_stungun'] = 'Tazer', + ['weapon_raypistol'] = 'Up-N-Atomizer', + ['weapon_vintagepistol'] = 'Pistola Vintage', - -- SMG & LMG - ['weapon_assaultsmg'] = 'Subfusil de Asalto', - ['weapon_combatmg'] = 'Ametralladora de Combate', - ['weapon_combatmg_mk2'] = 'Ametralladora MK2', - ['weapon_combatpdw'] = 'Subfusil PDW', - ['weapon_gusenberg'] = 'Subfusil de Barril', - ['weapon_machinepistol'] = 'Pistola Ametralladora', - ['weapon_mg'] = 'Ametralladora', - ['weapon_microsmg'] = 'Micro Subfusil', - ['weapon_minismg'] = 'Mini Subfusil', - ['weapon_smg'] = 'Subfusil', - ['weapon_smg_mk2'] = 'Subfusil MK2', - ['weapon_raycarbine'] = 'Ametralladora de Rayos', + -- Shotguns + ['weapon_assaultshotgun'] = 'Escopeta de Asalto', + ['weapon_autoshotgun'] = 'Escopeta Automática', + ['weapon_bullpupshotgun'] = 'Escopeta Bullpup', + ['weapon_combatshotgun'] = 'Escopeta Combate', + ['weapon_dbshotgun'] = 'Escopeta de Doble Barril', + ['weapon_heavyshotgun'] = 'Escopeta Pesada', + ['weapon_musket'] = 'Mosquete', + ['weapon_pumpshotgun'] = 'Escopeta de Bombeo', + ['weapon_pumpshotgun_mk2'] = 'Escopeta de Bombeo MK2', + ['weapon_sawnoffshotgun'] = 'Escopeta Recortada', - -- Rifles - ['weapon_advancedrifle'] = 'Rifle Avanzado', - ['weapon_assaultrifle'] = 'Rifle de Asalto', - ['weapon_assaultrifle_mk2'] = 'Rifle de Asalto MK2', - ['weapon_bullpuprifle'] = 'Rifle Bullpup', - ['weapon_bullpuprifle_mk2'] = 'Rifle Bullpup MK2', - ['weapon_carbinerifle'] = 'Carabina', - ['weapon_carbinerifle_mk2'] = 'Carabina MK2', - ['weapon_compactrifle'] = 'Rifle Compacto', - ['weapon_militaryrifle'] = 'Rifle Militar', - ['weapon_specialcarbine'] = 'Carabina Especial', - ['weapon_specialcarbine_mk2'] = 'Carabina Especial MK2', + -- SMG & LMG + ['weapon_assaultsmg'] = 'Subfusil de Asalto', + ['weapon_combatmg'] = 'Ametralladora de Combate', + ['weapon_combatmg_mk2'] = 'Ametralladora MK2', + ['weapon_combatpdw'] = 'Subfusil PDW', + ['weapon_gusenberg'] = 'Subfusil de Barril', + ['weapon_machinepistol'] = 'Pistola Ametralladora', + ['weapon_mg'] = 'Ametralladora', + ['weapon_microsmg'] = 'Micro Subfusil', + ['weapon_minismg'] = 'Mini Subfusil', + ['weapon_smg'] = 'Subfusil', + ['weapon_smg_mk2'] = 'Subfusil MK2', + ['weapon_raycarbine'] = 'Ametralladora de Rayos', - -- Sniper - ['weapon_heavysniper'] = 'Francotirador Pesado', - ['weapon_heavysniper_mk2'] = 'Francotirador Pesado MK2', - ['weapon_marksmanrifle'] = 'Rifle Marksman', - ['weapon_marksmanrifle_mk2'] = 'Rifle Marksman MK2', - ['weapon_sniperrifle'] = 'Rifle de Francotirador', + -- Rifles + ['weapon_advancedrifle'] = 'Rifle Avanzado', + ['weapon_assaultrifle'] = 'Rifle de Asalto', + ['weapon_assaultrifle_mk2'] = 'Rifle de Asalto MK2', + ['weapon_bullpuprifle'] = 'Rifle Bullpup', + ['weapon_bullpuprifle_mk2'] = 'Rifle Bullpup MK2', + ['weapon_carbinerifle'] = 'Carabina', + ['weapon_carbinerifle_mk2'] = 'Carabina MK2', + ['weapon_compactrifle'] = 'Rifle Compacto', + ['weapon_militaryrifle'] = 'Rifle Militar', + ['weapon_specialcarbine'] = 'Carabina Especial', + ['weapon_specialcarbine_mk2'] = 'Carabina Especial MK2', - -- Heavy / Launchers - ['weapon_compactlauncher'] = 'Lanzador Compacto', - ['weapon_firework'] = 'Lanzador de Fuegos Artificiales', - ['weapon_grenadelauncher'] = 'Lanzagranadas', - ['weapon_hominglauncher'] = 'Lanzacohetes Guiado', - ['weapon_minigun'] = 'Minigun', - ['weapon_railgun'] = 'Cañón de riel', - ['weapon_rpg'] = 'Lanzador de cohetes', - ['weapon_rayminigun'] = 'Minigun de Rayos', + -- Sniper + ['weapon_heavysniper'] = 'Francotirador Pesado', + ['weapon_heavysniper_mk2'] = 'Francotirador Pesado MK2', + ['weapon_marksmanrifle'] = 'Rifle Marksman', + ['weapon_marksmanrifle_mk2'] = 'Rifle Marksman MK2', + ['weapon_sniperrifle'] = 'Rifle de Francotirador', - -- Thrown - ['weapon_ball'] = 'Pelota de Beisbol', - ['weapon_bzgas'] = 'Gas Pimienta', - ['weapon_flare'] = 'Bengala', - ['weapon_grenade'] = 'Granada', - ['weapon_petrolcan'] = 'Bidon de Gasolina', - ['weapon_hazardcan'] = 'Bidón de Gasolina Peligroso', - ['weapon_molotov'] = 'Molotov', - ['weapon_proxmine'] = 'Mina de Proximidad ', - ['weapon_pipebomb'] = 'Bomba de Tubo', - ['weapon_snowball'] = 'Bola de nieve', - ['weapon_stickybomb'] = 'Bomba Pegajosa', - ['weapon_smokegrenade'] = 'Granada de Humo', + -- Heavy / Launchers + ['weapon_compactlauncher'] = 'Lanzador Compacto', + ['weapon_firework'] = 'Lanzador de Fuegos Artificiales', + ['weapon_grenadelauncher'] = 'Lanzagranadas', + ['weapon_hominglauncher'] = 'Lanzacohetes Guiado', + ['weapon_minigun'] = 'Minigun', + ['weapon_railgun'] = 'Cañón de riel', + ['weapon_rpg'] = 'Lanzador de cohetes', + ['weapon_rayminigun'] = 'Minigun de Rayos', - -- Special - ['weapon_fireextinguisher'] = 'Extintor', - ['weapon_digiscanner'] = 'Escaner Digital', - ['weapon_garbagebag'] = 'Bolsa de Basura', - ['weapon_handcuffs'] = 'Grilletes', - ['gadget_nightvision'] = 'Vision Nocturna', - ['gadget_parachute'] = 'Paracaidas', + -- Thrown + ['weapon_ball'] = 'Pelota de Beisbol', + ['weapon_bzgas'] = 'Gas Pimienta', + ['weapon_flare'] = 'Bengala', + ['weapon_grenade'] = 'Granada', + ['weapon_petrolcan'] = 'Bidon de Gasolina', + ['weapon_hazardcan'] = 'Bidón de Gasolina Peligroso', + ['weapon_molotov'] = 'Molotov', + ['weapon_proxmine'] = 'Mina de Proximidad ', + ['weapon_pipebomb'] = 'Bomba casera', + ['weapon_snowball'] = 'Bola de nieve', + ['weapon_stickybomb'] = 'C4', + ['weapon_smokegrenade'] = 'Granada de Humo', - -- Weapon Components - ['component_knuckle_base'] = 'Modelo Basico', - ['component_knuckle_pimp'] = 'el Proxeneta', - ['component_knuckle_ballas'] = 'los Ballas', - ['component_knuckle_dollar'] = 'el Buscavidas', - ['component_knuckle_diamond'] = 'la Roca', - ['component_knuckle_hate'] = 'el Hater', - ['component_knuckle_love'] = 'el Amante', - ['component_knuckle_player'] = 'el Jugador', - ['component_knuckle_king'] = 'el Rey', - ['component_knuckle_vagos'] = 'los Vagos', + -- Special + ['weapon_fireextinguisher'] = 'Extintor', + ['weapon_digiscanner'] = 'Escaner Digital', + ['weapon_garbagebag'] = 'Bolsa de Basura', + ['weapon_handcuffs'] = 'Grilletes', + ['gadget_nightvision'] = 'Vision Nocturna', + ['gadget_parachute'] = 'Paracaidas', - ['component_luxary_finish'] = 'Acabado de Armas de Lujo', + -- Weapon Components + ['component_knuckle_base'] = 'Modelo Basico', + ['component_knuckle_pimp'] = 'el Proxeneta', + ['component_knuckle_ballas'] = 'los Ballas', + ['component_knuckle_dollar'] = 'el Buscavidas', + ['component_knuckle_diamond'] = 'la Roca', + ['component_knuckle_hate'] = 'el Hater', + ['component_knuckle_love'] = 'el Amante', + ['component_knuckle_player'] = 'el Jugador', + ['component_knuckle_king'] = 'el Rey', + ['component_knuckle_vagos'] = 'los Vagos', - ['component_handle_default'] = 'Mango Default', - ['component_handle_vip'] = 'Mango VIP', - ['component_handle_bodyguard'] = 'Mango de Guardaespaldas', + ['component_luxary_finish'] = 'Acabado de Armas de Lujo', - ['component_vip_finish'] = 'Acabado VIP', - ['component_bodyguard_finish'] = 'Acabado Guardaespaldas', + ['component_handle_default'] = 'Mango Default', + ['component_handle_vip'] = 'Mango VIP', + ['component_handle_bodyguard'] = 'Mango de Guardaespaldas', - ['component_camo_finish'] = 'Camuflaje Digital', - ['component_camo_finish2'] = 'Camuflaje Pincelada', - ['component_camo_finish3'] = 'Camuflaje Bosque', - ['component_camo_finish4'] = 'Camuflaje Calavera', - ['component_camo_finish5'] = 'Camuflaje Sessanta Nove', - ['component_camo_finish6'] = 'Camuflaje Perseo', - ['component_camo_finish7'] = 'Camuflaje Leopardo', - ['component_camo_finish8'] = 'Camuflaje Zebra', - ['component_camo_finish9'] = 'Camuflaje Geométrico', - ['component_camo_finish10'] = 'Camuflaje Boom', - ['component_camo_finish11'] = 'Camuflaje Patriotico', + ['component_vip_finish'] = 'Acabado VIP', + ['component_bodyguard_finish'] = 'Acabado Guardaespaldas', - ['component_camo_slide_finish'] = 'Camuflaje Digital Deslizante', - ['component_camo_slide_finish2'] = 'Camuflaje Pincelada Deslizante', - ['component_camo_slide_finish3'] = 'Camuflaje Bosque Deslizante', - ['component_camo_slide_finish4'] = 'Camuflaje Calavera Deslizante', - ['component_camo_slide_finish5'] = 'Camuflaje Sessanta Nove Deslizante', - ['component_camo_slide_finish6'] = 'Camuflaje Perseo Deslizante', - ['component_camo_slide_finish7'] = 'Camuflaje Leopardo Deslizante', - ['component_camo_slide_finish8'] = 'Camuflaje Zebra Deslizante', - ['component_camo_slide_finish9'] = 'Camuflaje Geométrico Deslizante', - ['component_camo_slide_finish10'] = 'Camuflaje Boom Deslizante', - ['component_camo_slide_finish11'] = 'Camuflaje Patriotico Deslizante', + ['component_camo_finish'] = 'Camuflaje Digital', + ['component_camo_finish2'] = 'Camuflaje Pincelada', + ['component_camo_finish3'] = 'Camuflaje Bosque', + ['component_camo_finish4'] = 'Camuflaje Calavera', + ['component_camo_finish5'] = 'Camuflaje Sessanta Nove', + ['component_camo_finish6'] = 'Camuflaje Perseo', + ['component_camo_finish7'] = 'Camuflaje Leopardo', + ['component_camo_finish8'] = 'Camuflaje Zebra', + ['component_camo_finish9'] = 'Camuflaje Geométrico', + ['component_camo_finish10'] = 'Camuflaje Boom', + ['component_camo_finish11'] = 'Camuflaje Patriotico', - ['component_clip_default'] = 'Cargador Default', - ['component_clip_extended'] = 'Cargador Extendido', - ['component_clip_drum'] = 'Cargador Barril', - ['component_clip_box'] = 'Caja de Cargador', + ['component_camo_slide_finish'] = 'Camuflaje Digital Deslizante', + ['component_camo_slide_finish2'] = 'Camuflaje Pincelada Deslizante', + ['component_camo_slide_finish3'] = 'Camuflaje Bosque Deslizante', + ['component_camo_slide_finish4'] = 'Camuflaje Calavera Deslizante', + ['component_camo_slide_finish5'] = 'Camuflaje Sessanta Nove Deslizante', + ['component_camo_slide_finish6'] = 'Camuflaje Perseo Deslizante', + ['component_camo_slide_finish7'] = 'Camuflaje Leopardo Deslizante', + ['component_camo_slide_finish8'] = 'Camuflaje Zebra Deslizante', + ['component_camo_slide_finish9'] = 'Camuflaje Geométrico Deslizante', + ['component_camo_slide_finish10'] = 'Camuflaje Boom Deslizante', + ['component_camo_slide_finish11'] = 'Camuflaje Patriotico Deslizante', - ['component_scope_holo'] = 'Mira Holográfico', - ['component_scope_small'] = 'Mira Pequeña', - ['component_scope_medium'] = 'Mira Mediana', - ['component_scope_large'] = 'Mira Larga', - ['component_scope'] = 'Mira', - ['component_scope_advanced'] = 'Mira Avanzada', - ['component_ironsights'] = 'Mira de Hierro', + ['component_clip_default'] = 'Cargador Default', + ['component_clip_extended'] = 'Cargador Extendido', + ['component_clip_drum'] = 'Cargador Barril', + ['component_clip_box'] = 'Caja de Cargador', - ['component_suppressor'] = 'Supresor', - ['component_compensator'] = 'Compensador', + ['component_scope_holo'] = 'Mira Holográfica', + ['component_scope_small'] = 'Mira Pequeña', + ['component_scope_medium'] = 'Mira Mediana', + ['component_scope_large'] = 'Mira Larga', + ['component_scope'] = 'Mira', + ['component_scope_advanced'] = 'Mira Avanzada', + ['component_ironsights'] = 'Mira de Hierro', - ['component_muzzle_flat'] = 'Boquilla de Freno Plana', - ['component_muzzle_tactical'] = 'Boquilla de Freno Tactica', - ['component_muzzle_fat'] = 'Boquilla de Freno Punta Gorda', - ['component_muzzle_precision'] = 'Boquilla de Freno de Precision', - ['component_muzzle_heavy'] = 'Boquilla de Freno Pesada', - ['component_muzzle_slanted'] = 'Boquilla de Freno inclinada', - ['component_muzzle_split'] = 'Boquilla de Freno de Puntas Abiertas', - ['component_muzzle_squared'] = 'Boquilla de Freno Cuadrada', + ['component_suppressor'] = 'Silenciador', + ['component_compensator'] = 'Estabilizador', - ['component_flashlight'] = 'Linterna', - ['component_grip'] = 'Agarre', + ['component_muzzle_flat'] = 'Boquilla de Freno Plana', + ['component_muzzle_tactical'] = 'Boquilla de Freno Tactica', + ['component_muzzle_fat'] = 'Boquilla de Freno Punta Gorda', + ['component_muzzle_precision'] = 'Boquilla de Freno de Precision', + ['component_muzzle_heavy'] = 'Boquilla de Freno Pesada', + ['component_muzzle_slanted'] = 'Boquilla de Freno inclinada', + ['component_muzzle_split'] = 'Boquilla de Freno de Puntas Abiertas', + ['component_muzzle_squared'] = 'Boquilla de Freno Cuadrada', - ['component_barrel_default'] = 'Barril Por Defecto', - ['component_barrel_heavy'] = 'Barril Pesado', + ['component_flashlight'] = 'Linterna', + ['component_grip'] = 'Agarre', - ['component_ammo_tracer'] = 'Munición de Rastreo', - ['component_ammo_incendiary'] = 'Munición Incendiaria', - ['component_ammo_hollowpoint'] = 'Munición de Punta Hueca', - ['component_ammo_fmj'] = 'Munición fMJ', - ['component_ammo_armor'] = 'Munición Perforante para Blindaje', - ['component_ammo_explosive'] = 'Munición Incendiaria Perforadora de Blindajes', + ['component_barrel_default'] = 'Barril Por Defecto', + ['component_barrel_heavy'] = 'Barril Pesado', - ['component_shells_default'] = 'Casquillos Por Defecto', - ['component_shells_incendiary'] = 'Casquillos Aliento de Dragón', - ['component_shells_armor'] = 'Casquillos Perdigones de Acero', - ['component_shells_hollowpoint'] = 'Casquillos Punta Hueca', - ['component_shells_explosive'] = 'Casquillos Posta Explosiva', + ['component_ammo_tracer'] = 'Munición de Rastreo', + ['component_ammo_incendiary'] = 'Munición Incendiaria', + ['component_ammo_hollowpoint'] = 'Munición de Punta Hueca', + ['component_ammo_fmj'] = 'Munición fMJ', + ['component_ammo_armor'] = 'Munición Perforante para Blindaje', + ['component_ammo_explosive'] = 'Munición Incendiaria Perforadora de Blindajes', - -- Weapon Ammo - ['ammo_rounds'] = 'Redonda/s', - ['ammo_shells'] = 'Casquillo/s', - ['ammo_charge'] = 'Carga', - ['ammo_petrol'] = 'Galones de Combustible', - ['ammo_firework'] = 'Fuegos Artificiale/s', - ['ammo_rockets'] = 'Cohete/s', - ['ammo_grenadelauncher'] = 'Granada/s', - ['ammo_grenade'] = 'Granada/s', - ['ammo_stickybomb'] = 'Bomba/s', - ['ammo_pipebomb'] = 'Bomba/s', - ['ammo_smokebomb'] = 'Bomba/s', - ['ammo_molotov'] = 'Molotov/s', - ['ammo_proxmine'] = 'Mina(s)', - ['ammo_bzgas'] = 'Lata(s)', - ['ammo_ball'] = 'Bola(s)', - ['ammo_snowball'] = 'Bola(s)', - ['ammo_flare'] = 'Bengala(s)', - ['ammo_flaregun'] = 'Bengala(s)', + ['component_shells_default'] = 'Casquillos Por Defecto', + ['component_shells_incendiary'] = 'Casquillos Aliento de Dragón', + ['component_shells_armor'] = 'Casquillos Perdigones de Acero', + ['component_shells_hollowpoint'] = 'Casquillos Punta Hueca', + ['component_shells_explosive'] = 'Casquillos Posta Explosiva', - -- Weapon Tints - ['tint_default'] = 'Skin Por Defecto', - ['tint_green'] = 'Skin Verde', - ['tint_gold'] = 'Skin Oro', - ['tint_pink'] = 'Skin Rosa', - ['tint_army'] = 'Skin Militar', - ['tint_lspd'] = 'Skin Azul', - ['tint_orange'] = 'Skin Naranja', - ['tint_platinum'] = 'Skin Plata', - - -- Duty related - ['stopped_duty'] = 'Has salido de servicio.', - ['started_duty'] = 'Has entrado de servicio.', + -- Weapon Ammo + ['ammo_rounds'] = 'Redonda/s', + ['ammo_shells'] = 'Casquillo/s', + ['ammo_charge'] = 'Carga', + ['ammo_petrol'] = 'Galones de Combustible', + ['ammo_firework'] = 'Fuegos Artificiale/s', + ['ammo_rockets'] = 'Cohete/s', + ['ammo_grenadelauncher'] = 'Granada/s', + ['ammo_grenade'] = 'Granada/s', + ['ammo_stickybomb'] = 'Bomba/s', + ['ammo_pipebomb'] = 'Bomba/s', + ['ammo_smokebomb'] = 'Bomba/s', + ['ammo_molotov'] = 'Molotov/s', + ['ammo_proxmine'] = 'Mina(s)', + ['ammo_bzgas'] = 'Lata(s)', + ['ammo_ball'] = 'Bola(s)', + ['ammo_snowball'] = 'Bola(s)', + ['ammo_flare'] = 'Bengala(s)', + ['ammo_flaregun'] = 'Bengala(s)', + + -- Weapon Tints + ['tint_default'] = 'Skin común', + ['tint_green'] = 'Skin Verde', + ['tint_gold'] = 'Skin Oro', + ['tint_pink'] = 'Skin Rosa', + ['tint_army'] = 'Skin Militar', + ['tint_lspd'] = 'Skin Azul', + ['tint_orange'] = 'Skin Naranja', + ['tint_platinum'] = 'Skin Plata', + + -- Duty related + ['stopped_duty'] = 'Has salido de servicio.', + ['started_duty'] = 'Has entrado de servicio.', } diff --git a/[core]/es_extended/locales/fi.lua b/[core]/es_extended/locales/fi.lua index cec26e6c..1a8e8e09 100644 --- a/[core]/es_extended/locales/fi.lua +++ b/[core]/es_extended/locales/fi.lua @@ -1,228 +1,234 @@ Locales['fi'] = { - -- Inventory - ['inventory'] = 'reppu %s / %s', - ['use'] = 'käytä', - ['give'] = 'anna', - ['remove'] = 'poista', - ['return'] = 'takaisin', - ['give_to'] = 'give to', - ['amount'] = 'määrä', - ['giveammo'] = 'anna ammuksia', - ['amountammo'] = 'ammusten määrä', - ['noammo'] = 'sinulla ei ole ammuksia!', - ['gave_item'] = 'sinä annoit %sx %s henkilölle %s', - ['received_item'] = 'sinä sait %sx %s henkilöltä %s', - ['gave_weapon'] = 'you gave 1x %s to %s', - ['gave_weapon_ammo'] = 'you gave ~o~%sx %s for %s to %s', - ['gave_weapon_withammo'] = 'you gave 1x %s with ~o~%sx %s to %s', - ['gave_weapon_hasalready'] = '%s already have an %s', - ['gave_weapon_noweapon'] = '%s does not have that weapon', - ['received_weapon'] = 'you received 1x %s from %s', - ['received_weapon_ammo'] = 'you received ~o~%sx %s for your %s from %s', - ['received_weapon_withammo'] = 'you received 1x %s with ~o~%sx %s from %s', - ['received_weapon_hasalready'] = '%s attempted to give you an %s, but you already have one', - ['received_weapon_noweapon'] = '%s attempted to give you ammo for an %s, but you don\'t have one', - ['gave_account_money'] = 'sinä annoit $%s (%s) henkilölle %s', - ['received_account_money'] = 'sinä sait $%s (%s) henkilöltä %s', - ['amount_invalid'] = 'virheellinen määrä', - ['players_nearby'] = 'ei pelaajia lähettyvillä', - ['ex_inv_lim'] = 'toiminto mahdoton, reppu alkaa olla täysi %s', - ['imp_invalid_quantity'] = 'toiminto mahdoton, virheellinen määrä', - ['imp_invalid_amount'] = 'toiminto mahdoton, virhellinen summa', - ['threw_standard'] = 'you threw %sx %s', - ['threw_account'] = 'you threw $%s %s', - ['threw_weapon'] = 'you threw 1x %s', - ['threw_weapon_ammo'] = 'you threw 1x %s with ~o~%sx %s', - ['threw_weapon_already'] = 'you already carry the same weapon', - ['threw_cannot_pickup'] = 'you cannot pickup that because your inventory is full!', - ['threw_pickup_prompt'] = 'press E to pickup', + -- Inventory + ['inventory'] = 'Reppu %s / %s', + ['use'] = 'Käytä', + ['give'] = 'Anna', + ['remove'] = 'Poista', + ['return'] = 'Takaisin', + ['give_to'] = 'Anna henkilölle', + ['amount'] = 'Määrä', + ['giveammo'] = 'Anna ammuksia', + ['amountammo'] = 'Ammusten määrä', + ['noammo'] = 'Sinulla ei ole ammuksia!', + ['gave_item'] = 'Sinä annoit %sx %s henkilölle %s', + ['received_item'] = 'Sinä sait %sx %s henkilöltä %s', + ['gave_weapon'] = 'Sinä annoit 1x %s henkilölle %s', + ['gave_weapon_ammo'] = 'Annoit ~o~%sx %s kohteelle %s henkilölle %s', + ['gave_weapon_withammo'] = 'Sinä annoit 1x %s ammuksella ~o~%sx %s henkilölle %s', + ['gave_weapon_hasalready'] = '%s omistaa jo %s', + ['gave_weapon_noweapon'] = '%s ei ole kyseistä asetta', + ['received_weapon'] = 'Vastaanotit 1x %s henkilöltä %s', + ['received_weapon_ammo'] = 'Sinä sait ~o~%sx %s sinun %s varten henkilöltä %s', + ['received_weapon_withammo'] = 'Sinä sait 1x %s ammuksella ~o~%sx %s henkilöltä %s', + ['received_weapon_hasalready'] = '%s yritti antaa sinulle %s, mutta sinulla on jo sellainen', + ['received_weapon_noweapon'] = '%s yritti antaa sinulle ammuksia %s:lle, mutta sinulla ei ole sellaista', + ['gave_account_money'] = 'Sinä annoit $%s (%s) henkilölle %s', + ['received_account_money'] = 'Sinä sait $%s (%s) henkilöltä %s', + ['amount_invalid'] = 'Virheellinen määrä', + ['players_nearby'] = 'Ei pelaajia lähettyvillä', + ['ex_inv_lim'] = 'Toiminto mahdoton, reppu alkaa olla täysi %s', + ['imp_invalid_quantity'] = 'Toiminto mahdoton, virheellinen määrä', + ['imp_invalid_amount'] = 'Toiminto mahdoton, virhellinen summa', + ['threw_standard'] = 'Sinä heitit %sx %s', + ['threw_account'] = 'Sinä heitit $%s %s', + ['threw_weapon'] = 'Sinä heitit 1x %s', + ['threw_weapon_ammo'] = 'Heitit 1x %s ammuksella ~o~%sx %s', + ['threw_weapon_already'] = 'Sinulla on jo sama ase', + ['threw_cannot_pickup'] = 'Et voi kerätä sitä, koska reppusi on täynnä', + ['threw_pickup_prompt'] = 'Paina E kerätäksesi', - -- Key mapping - ['keymap_showinventory'] = 'show Inventory', + -- Key mapping + ['keymap_showinventory'] = 'Avaa reppu', - -- Salary related - ['received_salary'] = 'sinä vastaanotit palkkaa: $%s', - ['received_help'] = 'sinä vastaanotit valtion tukea: $%s', - ['company_nomoney'] = 'yritys jolle teet töitä on köyhä eikä voi maksaa palkkaasi', - ['received_paycheck'] = 'sait palkan', - ['bank'] = 'pankki', - ['account_bank'] = 'bank', - ['account_black_money'] = 'dirty Money', - ['account_money'] = 'cash', + -- Salary related + ['received_salary'] = 'Vastaanotit palkkaa: $%s', + ['received_help'] = 'Vastaanotit valtion tukea: $%s', + ['company_nomoney'] = 'Yrityksellä jolle teet töitä ei ole varaa maksaa palkkaasi', + ['received_paycheck'] = 'Sait palkan', + ['bank'] = 'Pankki', + ['account_bank'] = 'Pankki', + ['account_black_money'] = 'Likainen raha', + ['account_money'] = 'Käteinen', - ['act_imp'] = 'toiminto mahdoton', - ['in_vehicle'] = 'et voi antaa ajoneuvossa olevalle mitään', + ['act_imp'] = 'Toiminto mahdoton', + ['in_vehicle'] = 'Et voi antaa ajoneuvossa olevalle mitään', - -- Commands - ['command_car'] = 'spawn an vehicle', - ['command_car_car'] = 'vehicle spawn name or hash', - ['command_cardel'] = 'delete vehicle in proximity', - ['command_cardel_radius'] = 'optional, delete every vehicle within the specified radius', - ['command_clear'] = 'clear chat', - ['command_clearall'] = 'clear chat for all players', - ['command_clearinventory'] = 'clear player inventory', - ['command_clearloadout'] = 'clear a player loadout', - ['command_giveaccountmoney'] = 'give account money', - ['command_giveaccountmoney_account'] = 'valid account name', - ['command_giveaccountmoney_amount'] = 'amount to add', - ['command_giveaccountmoney_invalid'] = 'invalid account name', - ['command_giveitem'] = 'give an item to a player', - ['command_giveitem_item'] = 'item name', - ['command_giveitem_count'] = 'item count', - ['command_giveweapon'] = 'give a weapon to a player', - ['command_giveweapon_weapon'] = 'weapon name', - ['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'] = 'set job for a player', - ['command_setjob_job'] = 'job name', - ['command_setjob_grade'] = 'job grade', - ['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'] = 'invalid item name', - ['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'] = 'player id', - ['command_giveammo_noweapon_found'] = '%s does not have that weapon', - ['command_giveammo_weapon'] = 'Weapon name', - ['command_giveammo_ammo'] = 'Ammo Quantity', + -- 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_clear'] = 'Tyhjennä keskustelu', + ['command_clearall'] = 'Tyhjennä keskustelu kaikilta pelaajilta', + ['command_clearinventory'] = 'Tyhjennä pelaajan reppu', + ['command_clearloadout'] = 'Tyhjennä pelaajan varustus', + ['command_giveaccountmoney'] = 'Anna tilirahaa', + ['command_giveaccountmoney_account'] = 'Kelvollinen tilin nimi', + ['command_giveaccountmoney_amount'] = 'Lisättävä määrä', + ['command_giveaccountmoney_invalid'] = 'Virheellinen tili nimi', + ['command_giveitem'] = 'Anna pelaajalle esine', + ['command_giveitem_item'] = 'Esineen nimi', + ['command_giveitem_count'] = 'Esineiden määrä', + ['command_giveweapon'] = 'Anna pelaajalle ase', + ['command_giveweapon_weapon'] = 'Aseen nimi', + ['command_giveweapon_ammo'] = 'Ammusten määrä', + ['command_giveweapon_hasalready'] = 'Pelaajalla on jo kyseinen ase', + ['command_giveweaponcomponent'] = 'Anna aseen komponentti', + ['command_giveweaponcomponent_component'] = 'Komponentin nimi', + ['command_giveweaponcomponent_invalid'] = 'Virheellinen aseen komponentti', + ['command_giveweaponcomponent_hasalready'] = 'Pelaajalla on jo kyseinen asekomponentti', + ['command_giveweaponcomponent_missingweapon'] = 'Pelaajalla ei ole kyseistä asetta', + ['command_save'] = 'Talenna pelaaja tietokantaan', + ['command_saveall'] = 'Tallenna kaikki pelaajat tietokantaan', + ['command_setaccountmoney'] = 'Aseta tilirahaa pelaajalle', + ['command_setaccountmoney_amount'] = 'Asetettava rahamäärä', + ['command_setcoords'] = 'Teleporttaa koordinaatteihin', + ['command_setcoords_x'] = 'x akseli', + ['command_setcoords_y'] = 'y akseli', + ['command_setcoords_z'] = 'z akseli', + ['command_setjob'] = 'Aseta pelaajalle työ', + ['command_setjob_job'] = 'Työ', + ['command_setjob_grade'] = 'Arvo', + ['command_setjob_invalid'] = 'Työ ja arvo tai molemmat ovat virheellisiä', + ['command_setgroup'] = 'Aseta pelaajan ryhmä', + ['command_setgroup_group'] = 'Ryhmän nimi', + ['commanderror_argumentmismatch'] = 'Argumenttien määrä ei täsmää (hyväksytty %s, haluttu %s)', + ['commanderror_argumentmismatch_number'] = 'Argumentin #%s tyyppi ei täsmää (syötetty merkkijono, haluttu numero)', + ['commanderror_invaliditem'] = 'Virheellinen esineen nimi', + ['commanderror_invalidweapon'] = 'Virheellinen ase', + ['commanderror_console'] = 'Komentoa ei voi suorittaa konsolissa', + ['commanderror_invalidcommand'] = '/%s ei ole kelvollinen komento!', + ['commanderror_invalidplayerid'] = 'Palvelimella ei ole pelaajaa, joka vastaa annetua ID', + ['commandgeneric_playerid'] = 'Pelaajan ID', + ['command_giveammo_noweapon_found'] = '%s ei ole sitä asetta', + ['command_giveammo_weapon'] = 'Aseen nimi', + ['command_giveammo_ammo'] = 'Ammusten määrä', - -- Locale settings - ['locale_digit_grouping_symbol'] = ' ', - ['locale_currency'] = '$%s', + -- Locale settings + ['locale_digit_grouping_symbol'] = '', + ['locale_currency'] = '$%s', - -- Weapons - ['weapon_knife'] = 'veitsi', - ['weapon_nightstick'] = 'pamppu', - ['weapon_hammer'] = 'vasara', - ['weapon_bat'] = 'pesäpallomaila', - ['weapon_golfclub'] = 'golf maila', - ['weapon_crowbar'] = 'sorkkarauta', - ['weapon_pistol'] = 'pistooli', - ['weapon_combatpistol'] = 'taistelu pistooli', - ['weapon_appistol'] = 'automaatti pistooli', - ['weapon_pistol50'] = '50 kaliiperinen pistooli', - ['weapon_microsmg'] = 'mikro konepistooli', - ['weapon_smg'] = 'konepistooli', - ['weapon_assaultsmg'] = 'rynnäkkö konepistooli', - ['weapon_assaultrifle'] = 'rynnäkkökivääri', - ['weapon_carbinerifle'] = 'karbiini kivääri', - ['weapon_advancedrifle'] = 'edistynyt kivääri', - ['weapon_mg'] = 'konekivääri', - ['weapon_combatmg'] = 'rynnäkkö konekivääri', - ['weapon_pumpshotgun'] = 'pumppu haulikko', - ['weapon_sawnoffshotgun'] = 'katkaistuhaulikko', - ['weapon_assaultshotgun'] = 'hyökkäyshaulikko', - ['weapon_bullpupshotgun'] = 'bullpup haulikko', - ['weapon_stungun'] = 'tainutusase', - ['weapon_sniperrifle'] = 'tarkkuuskivääri', - ['weapon_heavysniper'] = 'raskas tarkkuuskivääri', - ['weapon_grenadelauncher'] = 'kranaatinheitin', - ['weapon_rpg'] = 'raketinheitin', - ['weapon_minigun'] = 'minigun', - ['weapon_grenade'] = 'kranaatti', - ['weapon_stickybomb'] = 'tahma pommi', - ['weapon_smokegrenade'] = 'savu kranaatti', - ['weapon_bzgas'] = 'bz-kaasu', - ['weapon_molotov'] = 'polttopullo', - ['weapon_fireextinguisher'] = 'palosammutin', - ['weapon_petrolcan'] = 'jerrykannu', - ['weapon_ball'] = 'pallo', - ['weapon_snspistol'] = 'pienpistooli', - ['weapon_bottle'] = 'pullo', - ['weapon_gusenberg'] = 'tommy gun', - ['weapon_specialcarbine'] = 'G86C', - ['weapon_heavypistol'] = 'raskas pistooli', - ['weapon_bullpuprifle'] = 'bullpup kivääri', - ['weapon_dagger'] = 'tikari', - ['weapon_vintagepistol'] = 'vanha pistooli', - ['weapon_firework'] = 'ilotulitus', - ['weapon_musket'] = 'musketti', - ['weapon_heavyshotgun'] = 'raskas haulikko', - ['weapon_marksmanrifle'] = 'marksman kivääri', - ['weapon_hominglauncher'] = 'ohjautuva raketinheitin', - ['weapon_proxmine'] = 'lähellä räjähtävä miina', - ['weapon_snowball'] = 'lumipallo', - ['weapon_flaregun'] = 'valopyssy', - ['weapon_combatpdw'] = 'rynnäkkö pdw', - ['weapon_marksmanpistol'] = 'marksman pistooli', - ['weapon_knuckle'] = 'nyrkkirauta', - ['weapon_hatchet'] = 'kirves', - ['weapon_railgun'] = 'raidetykki', - ['weapon_machete'] = 'viidakkoveitsi', - ['weapon_machinepistol'] = 'konepistooli', - ['weapon_switchblade'] = 'stiletti', - ['weapon_revolver'] = 'raskas revolveri', - ['weapon_dbshotgun'] = 'kakspiippunen haulikko', - ['weapon_compactrifle'] = 'pikku AK', - ['weapon_autoshotgun'] = 'automaattinen haulikko', - ['weapon_battleaxe'] = 'Taistelukirves', - ['weapon_compactlauncher'] = 'pien kranaatinheitin', - ['weapon_minismg'] = 'mini konepistooli', - ['weapon_pipebomb'] = 'putkipommi', - ['weapon_poolcue'] = 'biljardimaila', - ['weapon_wrench'] = 'putkipihdit', - ['weapon_flashlight'] = 'taskulamppu', - ['gadget_parachute'] = 'laskuvarjo', - ['weapon_flare'] = 'hätäraketti', - ['weapon_doubleaction'] = 'double-Action Revolver', + -- Drug Wars DLC + ['weapon_candycane'] = 'Candy Cane', -- not translated + ['weapon_acidpackage'] = 'Acid Package', -- not translated + ['weapon_pistolxm3'] = 'WM 29 Pistol', -- not translated + ['weapon_railgunxm3'] = 'Railgun', -- not translated - -- Weapon Components - ['component_clip_default'] = 'default Clip', - ['component_clip_extended'] = 'extended Clip', - ['component_clip_drum'] = 'drum Magazine', - ['component_clip_box'] = 'box Magazine', - ['component_flashlight'] = 'flashlight', - ['component_scope'] = 'scope', - ['component_scope_advanced'] = 'advanced Scope', - ['component_suppressor'] = 'suppressor', - ['component_grip'] = 'grip', - ['component_luxary_finish'] = 'luxary Weapon Finish', + -- Weapons + ['weapon_knife'] = 'Veitsi', + ['weapon_nightstick'] = 'Pamppu', + ['weapon_hammer'] = 'Vasara', + ['weapon_bat'] = 'Pesäpallomaila', + ['weapon_golfclub'] = 'Golf maila', + ['weapon_crowbar'] = 'Sorkkarauta', + ['weapon_pistol'] = 'Pistooli', + ['weapon_combatpistol'] = 'Taistelu pistooli', + ['weapon_appistol'] = 'Automaatti pistooli', + ['weapon_pistol50'] = '50 kaliiperinen pistooli', + ['weapon_microsmg'] = 'Mikro konepistooli', + ['weapon_smg'] = 'Konepistooli', + ['weapon_assaultsmg'] = 'Rynnäkkö konepistooli', + ['weapon_assaultrifle'] = 'Rynnäkkökivääri', + ['weapon_carbinerifle'] = 'Karbiini kivääri', + ['weapon_advancedrifle'] = 'Edistynyt kivääri', + ['weapon_mg'] = 'Konekivääri', + ['weapon_combatmg'] = 'Rynnäkkö konekivääri', + ['weapon_pumpshotgun'] = 'Pumppu haulikko', + ['weapon_sawnoffshotgun'] = 'Katkaistuhaulikko', + ['weapon_assaultshotgun'] = 'Hyökkäyshaulikko', + ['weapon_bullpupshotgun'] = 'Bullpup haulikko', + ['weapon_stungun'] = 'Tainutusase', + ['weapon_sniperrifle'] = 'Tarkkuuskivääri', + ['weapon_heavysniper'] = 'Raskas tarkkuuskivääri', + ['weapon_grenadelauncher'] = 'Kranaatinheitin', + ['weapon_rpg'] = 'Raketinheitin', + ['weapon_minigun'] = 'Minigun', + ['weapon_grenade'] = 'Kranaatti', + ['weapon_stickybomb'] = 'Tahma pommi', + ['weapon_smokegrenade'] = 'Savukranaatti', + ['weapon_bzgas'] = 'Bz-kaasu', + ['weapon_molotov'] = 'Polttopullo', + ['weapon_fireextinguisher'] = 'Palosammutin', + ['weapon_petrolcan'] = 'Jerrykannu', + ['weapon_ball'] = 'Pallo', + ['weapon_snspistol'] = 'Pienpistooli', + ['weapon_bottle'] = 'Pullo', + ['weapon_gusenberg'] = 'Thompson-konepistooli', + ['weapon_specialcarbine'] = 'G86C', + ['weapon_heavypistol'] = 'Raskas pistooli', + ['weapon_bullpuprifle'] = 'Bullpup kivääri', + ['weapon_dagger'] = 'Tikari', + ['weapon_vintagepistol'] = 'Vanha pistooli', + ['weapon_firework'] = 'Ilotulite', + ['weapon_musket'] = 'Musketti', + ['weapon_heavyshotgun'] = 'Raskas haulikko', + ['weapon_marksmanrifle'] = 'Marksman kivääri', + ['weapon_hominglauncher'] = 'Ohjautuva raketinheitin', + ['weapon_proxmine'] = 'Lähellä räjähtävä miina', + ['weapon_snowball'] = 'Lumipallo', + ['weapon_flaregun'] = 'Valopistooli', + ['weapon_combatpdw'] = 'Rynnäkkö pdw', + ['weapon_marksmanpistol'] = 'Marksman pistooli', + ['weapon_knuckle'] = 'Nyrkkirauta', + ['weapon_hatchet'] = 'Kirves', + ['weapon_railgun'] = 'Raidetykki', + ['weapon_machete'] = 'Viidakkoveitsi', + ['weapon_machinepistol'] = 'Konepistooli', + ['weapon_switchblade'] = 'Stiletti', + ['weapon_revolver'] = 'Raskas revolveri', + ['weapon_dbshotgun'] = 'Kaksipiippunen haulikko', + ['weapon_compactrifle'] = 'Pikku AK', + ['weapon_autoshotgun'] = 'Automaattinen haulikko', + ['weapon_battleaxe'] = 'Taistelukirves', + ['weapon_compactlauncher'] = 'Pien kranaatinheitin', + ['weapon_minismg'] = 'Mini konepistooli', + ['weapon_pipebomb'] = 'Putkipommi', + ['weapon_poolcue'] = 'Biljardimaila', + ['weapon_wrench'] = 'Putkipihdit', + ['weapon_flashlight'] = 'Taskulamppu', + ['gadget_parachute'] = 'Laskuvarjo', + ['weapon_flare'] = 'Hätäraketti', + ['weapon_doubleaction'] = 'Double action revolveri', - -- Weapon 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 Components + ['component_clip_default'] = 'Oletus lipas', + ['component_clip_extended'] = 'Paranneltu lipas', + ['component_clip_drum'] = 'Rumpulipas', + ['component_clip_box'] = 'Laatikkolipas', + ['component_flashlight'] = 'Taskulamppu', + ['component_scope'] = 'Tähtäin', + ['component_scope_advanced'] = 'Paranneltu tähtäin', + ['component_suppressor'] = 'Äänenvaimennin', + ['component_grip'] = 'Kahva', + ['component_luxary_finish'] = 'Luksus ulkokuori', - -- Weapon 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', + -- Weapon Ammo + ['ammo_rounds'] = 'Ammukset(s)', + ['ammo_shells'] = 'Hylsy(s)', + ['ammo_charge'] = 'Lataa', + ['ammo_petrol'] = 'Gallonaa polttoainetta', + ['ammo_firework'] = 'Ilotulite(s)', + ['ammo_rockets'] = 'Raketti(s)', + ['ammo_grenadelauncher'] = 'Kranaatti(s)', + ['ammo_grenade'] = 'Kranaatti(s)', + ['ammo_stickybomb'] = 'Pommi(s)', + ['ammo_pipebomb'] = 'Pommi(s)', + ['ammo_smokebomb'] = 'Pommi(s)', + ['ammo_molotov'] = 'Polttopullo(s)', + ['ammo_proxmine'] = 'Miina(s)', + ['ammo_bzgas'] = 'Tölkki(s)', + ['ammo_ball'] = 'Pallo(s)', + ['ammo_snowball'] = 'Lumipallo(s)', + ['ammo_flare'] = 'Valoraketti(s)', + ['ammo_flaregun'] = 'Valoraketti(s)', + + -- Weapon Tints + ['tint_default'] = 'Oletus ulkokuori', + ['tint_green'] = 'Vihreä ulkokuori', + ['tint_gold'] = 'Kultainen ulkokuori', + ['tint_pink'] = 'Vaaleanpunainen ulkokuori', + ['tint_army'] = 'Armeija ulkokuori', + ['tint_lspd'] = 'Sininen ulkokuori', + ['tint_orange'] = 'Oranssi ulkokuori', + ['tint_platinum'] = 'Platina ulkokuori', } diff --git a/[core]/es_extended/locales/fr.lua b/[core]/es_extended/locales/fr.lua index 8285116e..74e105a8 100644 --- a/[core]/es_extended/locales/fr.lua +++ b/[core]/es_extended/locales/fr.lua @@ -1,232 +1,238 @@ Locales['fr'] = { - -- Inventory - ['inventory'] = 'inventaire %s / %s', - ['use'] = 'utiliser', - ['give'] = 'donner', - ['remove'] = 'jeter', - ['return'] = 'retour', - ['give_to'] = 'donner à', - ['amount'] = 'quantité', - ['giveammo'] = 'donner munitions', - ['amountammo'] = 'nombre de munitions', - ['noammo'] = 'tu n\'as pas toutes ces munitions!', - ['gave_item'] = 'vous avez donné %sx %s à %s', - ['received_item'] = 'vous avez reçu %sx %s par %s', - ['gave_weapon'] = 'vous avez donné 1x %s à %s', - ['gave_weapon_ammo'] = 'vous avez donné ~o~%sx %s pour %s à %s', - ['gave_weapon_withammo'] = 'vous avez donné 1x %s avec ~o~%sx %s à %s', - ['gave_weapon_hasalready'] = '%s a déjà %s', - ['gave_weapon_noweapon'] = '%s n\'a pas cette arme', - ['received_weapon'] = 'vous recevez 1x %s de %s', - ['received_weapon_ammo'] = 'vous avez reçu ~o~%sx %s pour votre %s de %s', - ['received_weapon_withammo'] = 'vous avez reçu 1x %s avec ~o~%sx %s de %s', - ['received_weapon_hasalready'] = '%s a tenté de vous donner %s, mais vous en aviez déjà un exemplaire', - ['received_weapon_noweapon'] = '%s tente de vous donner des munitions pour %s, mais vous n\'en avez pas', - ['gave_account_money'] = 'vous avez donné $%s (%s) à %s', - ['received_account_money'] = 'vous avez reçu $%s (%s) par %s', - ['amount_invalid'] = 'montant invalide', - ['players_nearby'] = 'aucun joueur à proximité', - ['ex_inv_lim'] = 'action impossible, depassement de la limite d\'inventaire pour %s', - ['imp_invalid_quantity'] = 'action impossible, ~r~quantité invalide', - ['imp_invalid_amount'] = 'action impossible, ~r~montant invalide', - ['threw_standard'] = 'vous avez jeté %sx %s', - ['threw_account'] = 'vous avez jeté $%s %s', - ['threw_weapon'] = 'vous avez jeté 1x %s', - ['threw_weapon_ammo'] = 'vous avez jeté 1x %s avec ~o~%sx %s', - ['threw_weapon_already'] = 'vous portez déjà cette arme', - ['threw_cannot_pickup'] = 'vous ne pouvez pas ramasser ça votre inventaire est plein !', - ['threw_pickup_prompt'] = 'appuyez sur E pour ramasser', + -- Inventory + ['inventory'] = 'inventaire %s / %s', + ['use'] = 'utiliser', + ['give'] = 'donner', + ['remove'] = 'jeter', + ['return'] = 'retour', + ['give_to'] = 'donner à', + ['amount'] = 'quantité', + ['giveammo'] = 'donner munitions', + ['amountammo'] = 'nombre de munitions', + ['noammo'] = 'tu n\'as pas toutes ces munitions!', + ['gave_item'] = 'vous avez donné %sx %s à %s', + ['received_item'] = 'vous avez reçu %sx %s par %s', + ['gave_weapon'] = 'vous avez donné 1x %s à %s', + ['gave_weapon_ammo'] = 'vous avez donné ~o~%sx %s pour %s à %s', + ['gave_weapon_withammo'] = 'vous avez donné 1x %s avec ~o~%sx %s à %s', + ['gave_weapon_hasalready'] = '%s a déjà %s', + ['gave_weapon_noweapon'] = '%s n\'a pas cette arme', + ['received_weapon'] = 'vous recevez 1x %s de %s', + ['received_weapon_ammo'] = 'vous avez reçu ~o~%sx %s pour votre %s de %s', + ['received_weapon_withammo'] = 'vous avez reçu 1x %s avec ~o~%sx %s de %s', + ['received_weapon_hasalready'] = '%s a tenté de vous donner %s, mais vous en aviez déjà un exemplaire', + ['received_weapon_noweapon'] = '%s tente de vous donner des munitions pour %s, mais vous n\'en avez pas', + ['gave_account_money'] = 'vous avez donné $%s (%s) à %s', + ['received_account_money'] = 'vous avez reçu $%s (%s) par %s', + ['amount_invalid'] = 'montant invalide', + ['players_nearby'] = 'aucun joueur à proximité', + ['ex_inv_lim'] = 'action impossible, depassement de la limite d\'inventaire pour %s', + ['imp_invalid_quantity'] = 'action impossible, ~r~quantité invalide', + ['imp_invalid_amount'] = 'action impossible, ~r~montant invalide', + ['threw_standard'] = 'vous avez jeté %sx %s', + ['threw_account'] = 'vous avez jeté $%s %s', + ['threw_weapon'] = 'vous avez jeté 1x %s', + ['threw_weapon_ammo'] = 'vous avez jeté 1x %s avec ~o~%sx %s', + ['threw_weapon_already'] = 'vous portez déjà cette arme', + ['threw_cannot_pickup'] = 'vous ne pouvez pas ramasser ça votre inventaire est plein !', + ['threw_pickup_prompt'] = 'appuyez sur E pour ramasser', - -- Key mapping - ['keymap_showinventory'] = 'montrer l\'inventaire', + -- Key mapping + ['keymap_showinventory'] = 'montrer l\'inventaire', - -- Salary related - ['received_salary'] = 'vous avez reçu votre salaire: $%s', - ['received_help'] = 'vous avez reçu une aide de l\'état: $%s', - ['company_nomoney'] = 'votre entreprise n\'a plus d\'argent pour vous payer!', - ['received_paycheck'] = 'paiement reçu', - ['bank'] = 'banque', - ['account_bank'] = 'banque', - ['account_black_money'] = 'argent sale', - ['account_money'] = 'espèces', + -- Salary related + ['received_salary'] = 'vous avez reçu votre salaire: $%s', + ['received_help'] = 'vous avez reçu une aide de l\'état: $%s', + ['company_nomoney'] = 'votre entreprise n\'a plus d\'argent pour vous payer!', + ['received_paycheck'] = 'paiement reçu', + ['bank'] = 'banque', + ['account_bank'] = 'banque', + ['account_black_money'] = 'argent sale', + ['account_money'] = 'espèces', - ['act_imp'] = 'action impossible', - ['in_vehicle'] = 'Vous ne pouvez rien donner à quelqu\'un dans un véhicule', + ['act_imp'] = 'action impossible', + ['in_vehicle'] = 'Vous ne pouvez rien donner à quelqu\'un dans un véhicule', - -- Commands - ['command_car'] = 'faire appaitre un véhicule', - ['command_car_car'] = 'nom ou hash du véhicule', - ['command_cardel'] = 'supprimer le véhicule à proximité', - ['command_cardel_radius'] = 'optionnel, supprime les véhicules dans un rayon spécifié', - ['command_clear'] = 'vider le chat', - ['command_clearall'] = 'vider le chat pour tous', - ['command_clearinventory'] = 'vider l\'inventaire d\'un joueur', - ['command_clearloadout'] = 'vider le loadout d\'un joueur', - ['command_giveaccountmoney'] = 'donner de l\'argent sur un compte', - ['command_giveaccountmoney_account'] = 'nom de compte valide', - ['command_giveaccountmoney_amount'] = 'quantité à ajouter', - ['command_giveaccountmoney_invalid'] = 'nom de compte invalide', - ['command_giveitem'] = 'donner un objet à un joueur', - ['command_giveitem_item'] = 'nom de l\'objet', - ['command_giveitem_count'] = 'quantité de l\'objet', - ['command_giveweapon'] = 'donner une arme à un joueur', - ['command_giveweapon_weapon'] = 'nom de l\'arme', - ['command_giveweapon_ammo'] = 'quantité de munitions', - ['command_giveweapon_hasalready'] = 'le joueur a déjà cette arme', - ['command_giveweaponcomponent'] = 'donner un accessoire d\'arme', - ['command_giveweaponcomponent_component'] = 'nom de l\'accessoire', - ['command_giveweaponcomponent_invalid'] = 'accessoire invalide', - ['command_giveweaponcomponent_hasalready'] = 'le joueur a déjà cet accessoire', - ['command_giveweaponcomponent_missingweapon'] = 'le joueur n\'a pas cette arme', - ['command_save'] = 'sauvegarder un joueur dans la base de données', - ['command_saveall'] = 'sauvegarder tous les joueurs dans la base de données', - ['command_setaccountmoney'] = 'définir la somme d\'argent pour un joueur', - ['command_setaccountmoney_amount'] = 'quantité d\'argent à définir', - ['command_setcoords'] = 'se téléporter aux coordonnées', - ['command_setcoords_x'] = 'axe X', - ['command_setcoords_y'] = 'axe Y', - ['command_setcoords_z'] = 'axe Z', - ['command_setjob'] = 'assigner job à un joueur', - ['command_setjob_job'] = 'nom du job', - ['command_setjob_grade'] = 'grade du job', - ['command_setjob_invalid'] = 'le job, le grade ou les deux sont invalides', - ['command_setgroup'] = 'assigner un groupe à un joueur', - ['command_setgroup_group'] = 'nom du groupe', - ['commanderror_argumentmismatch'] = 'argument count mismatch (passed %s, wanted %s)', - ['commanderror_argumentmismatch_number'] = 'argument #%s type mismatch (passed string, wanted number)', - ['commanderror_invaliditem'] = 'nom de l\'objet invalide', - ['commanderror_invalidweapon'] = 'arme invalide', - ['commanderror_console'] = 'cette commande ne peut pas être utilisée dans la console', - ['commanderror_invalidcommand'] = '/%s n\'est pas une commande valide!', - ['commanderror_invalidplayerid'] = 'il n\'ya aucun joueur avec cet ID en jeu', - ['commandgeneric_playerid'] = 'id joueur', - ['command_giveammo_noweapon_found'] = '%s does not have that weapon', - ['command_giveammo_weapon'] = 'Weapon name', - ['command_giveammo_ammo'] = 'Ammo Quantity', + -- Commands + ['command_car'] = 'faire appaitre un véhicule', + ['command_car_car'] = 'nom ou hash du véhicule', + ['command_cardel'] = 'supprimer le véhicule à proximité', + ['command_cardel_radius'] = 'optionnel, supprime les véhicules dans un rayon spécifié', + ['command_clear'] = 'vider le chat', + ['command_clearall'] = 'vider le chat pour tous', + ['command_clearinventory'] = 'vider l\'inventaire d\'un joueur', + ['command_clearloadout'] = 'vider le loadout d\'un joueur', + ['command_giveaccountmoney'] = 'donner de l\'argent sur un compte', + ['command_giveaccountmoney_account'] = 'nom de compte valide', + ['command_giveaccountmoney_amount'] = 'quantité à ajouter', + ['command_giveaccountmoney_invalid'] = 'nom de compte invalide', + ['command_giveitem'] = 'donner un objet à un joueur', + ['command_giveitem_item'] = 'nom de l\'objet', + ['command_giveitem_count'] = 'quantité de l\'objet', + ['command_giveweapon'] = 'donner une arme à un joueur', + ['command_giveweapon_weapon'] = 'nom de l\'arme', + ['command_giveweapon_ammo'] = 'quantité de munitions', + ['command_giveweapon_hasalready'] = 'le joueur a déjà cette arme', + ['command_giveweaponcomponent'] = 'donner un accessoire d\'arme', + ['command_giveweaponcomponent_component'] = 'nom de l\'accessoire', + ['command_giveweaponcomponent_invalid'] = 'accessoire invalide', + ['command_giveweaponcomponent_hasalready'] = 'le joueur a déjà cet accessoire', + ['command_giveweaponcomponent_missingweapon'] = 'le joueur n\'a pas cette arme', + ['command_save'] = 'sauvegarder un joueur dans la base de données', + ['command_saveall'] = 'sauvegarder tous les joueurs dans la base de données', + ['command_setaccountmoney'] = 'définir la somme d\'argent pour un joueur', + ['command_setaccountmoney_amount'] = 'quantité d\'argent à définir', + ['command_setcoords'] = 'se téléporter aux coordonnées', + ['command_setcoords_x'] = 'axe X', + ['command_setcoords_y'] = 'axe Y', + ['command_setcoords_z'] = 'axe Z', + ['command_setjob'] = 'assigner job à un joueur', + ['command_setjob_job'] = 'nom du job', + ['command_setjob_grade'] = 'grade du job', + ['command_setjob_invalid'] = 'le job, le grade ou les deux sont invalides', + ['command_setgroup'] = 'assigner un groupe à un joueur', + ['command_setgroup_group'] = 'nom du groupe', + ['commanderror_argumentmismatch'] = 'argument count mismatch (passed %s, wanted %s)', + ['commanderror_argumentmismatch_number'] = 'argument #%s type mismatch (passed string, wanted number)', + ['commanderror_invaliditem'] = 'nom de l\'objet invalide', + ['commanderror_invalidweapon'] = 'arme invalide', + ['commanderror_console'] = 'cette commande ne peut pas être utilisée dans la console', + ['commanderror_invalidcommand'] = '/%s n\'est pas une commande valide!', + ['commanderror_invalidplayerid'] = 'il n\'ya aucun joueur avec cet ID en jeu', + ['commandgeneric_playerid'] = 'id joueur', + ['command_giveammo_noweapon_found'] = '%s n\'a pas cette arme', + ['command_giveammo_weapon'] = 'Nom de l\'arme', + ['command_giveammo_ammo'] = 'Quantité de munitions', - -- Locale settings - ['locale_digit_grouping_symbol'] = ' ', - ['locale_currency'] = '$%s', + -- Locale settings + ['locale_digit_grouping_symbol'] = ' ', + ['locale_currency'] = '$%s', - -- Weapons - ['weapon_knife'] = 'couteau', - ['weapon_nightstick'] = 'matraque', - ['weapon_hammer'] = 'marteau', - ['weapon_bat'] = 'batte', - ['weapon_golfclub'] = 'club de golf', - ['weapon_crowbar'] = 'pied de biche', - ['weapon_pistol'] = 'pistolet', - ['weapon_combatpistol'] = 'pistolet de combat', - ['weapon_appistol'] = 'pistolet automatique', - ['weapon_pistol50'] = 'pistolet calibre 50', - ['weapon_microsmg'] = 'micro smg', - ['weapon_smg'] = 'smg', - ['weapon_assaultsmg'] = 'smg d\'assaut', - ['weapon_assaultrifle'] = 'fusil d\'assaut', - ['weapon_carbinerifle'] = 'carabine d\'assaut', - ['weapon_advancedrifle'] = 'fusil avancé', - ['weapon_mg'] = 'mitrailleuse', - ['weapon_combatmg'] = 'mitrailleuse de combat', - ['weapon_pumpshotgun'] = 'fusil à pompe', - ['weapon_sawnoffshotgun'] = 'carabine à canon scié', - ['weapon_assaultshotgun'] = 'carabine d\'assaut', - ['weapon_bullpupshotgun'] = 'carabine bullpup', - ['weapon_stungun'] = 'tazer', - ['weapon_sniperrifle'] = 'fusil de sniper', - ['weapon_heavysniper'] = 'fusil de sniper lourd', - ['weapon_grenadelauncher'] = 'lance-grenade', - ['weapon_rpg'] = 'lance-rocket', - ['weapon_minigun'] = 'minigun', - ['weapon_grenade'] = 'grenade', - ['weapon_stickybomb'] = 'bombe collante', - ['weapon_smokegrenade'] = 'grenade fumigène', - ['weapon_bzgas'] = 'grenade à gaz bz', - ['weapon_molotov'] = 'cocktail molotov', - ['weapon_fireextinguisher'] = 'extincteur', - ['weapon_petrolcan'] = 'jerrican d\'essence', - ['weapon_ball'] = 'balle', - ['weapon_snspistol'] = 'pistolet sns', - ['weapon_bottle'] = 'bouteille', - ['weapon_gusenberg'] = 'balayeuse gusenberg', - ['weapon_specialcarbine'] = 'carabine spéciale', - ['weapon_heavypistol'] = 'pistolet lourd', - ['weapon_bullpuprifle'] = 'fusil bullpup', - ['weapon_dagger'] = 'poignard', - ['weapon_vintagepistol'] = 'pistolet vintage', - ['weapon_firework'] = 'feu d\'artifice', - ['weapon_musket'] = 'mousquet', - ['weapon_heavyshotgun'] = 'fusil à pompe lourd', - ['weapon_marksmanrifle'] = 'fusil marksman', - ['weapon_hominglauncher'] = 'lance tête-chercheuse', - ['weapon_proxmine'] = 'mine de proximité', - ['weapon_snowball'] = 'boule de neige', - ['weapon_flaregun'] = 'lance fusée de détresse', - ['weapon_combatpdw'] = 'arme de défense personnelle', - ['weapon_marksmanpistol'] = 'pistolet marksman', - ['weapon_knuckle'] = 'poing américain', - ['weapon_hatchet'] = 'hachette', - ['weapon_railgun'] = 'canon éléctrique', - ['weapon_machete'] = 'machette', - ['weapon_machinepistol'] = 'pistolet mitrailleur', - ['weapon_switchblade'] = 'couteau à cran d\'arrêt', - ['weapon_revolver'] = 'revolver', - ['weapon_dbshotgun'] = 'fusil à pompe double canon', - ['weapon_compactrifle'] = 'fusil compact', - ['weapon_autoshotgun'] = 'fusil à pompe automatique', - ['weapon_battleaxe'] = 'hache de combat', - ['weapon_compactlauncher'] = 'lanceur compact', - ['weapon_minismg'] = 'mini smg', - ['weapon_pipebomb'] = 'bombe tuyau', - ['weapon_poolcue'] = 'queue de billard', - ['weapon_wrench'] = 'clé', - ['weapon_flashlight'] = 'lampe torche', - ['gadget_parachute'] = 'parachute', - ['weapon_flare'] = 'fusée de détresse', - ['weapon_doubleaction'] = 'revolver double action', + -- Weapons + ['weapon_knife'] = 'couteau', + ['weapon_nightstick'] = 'matraque', + ['weapon_hammer'] = 'marteau', + ['weapon_bat'] = 'batte', + ['weapon_golfclub'] = 'club de golf', + ['weapon_crowbar'] = 'pied de biche', + ['weapon_pistol'] = 'pistolet', + ['weapon_combatpistol'] = 'pistolet de combat', + ['weapon_appistol'] = 'pistolet automatique', + ['weapon_pistol50'] = 'pistolet calibre 50', + ['weapon_microsmg'] = 'micro smg', + ['weapon_smg'] = 'smg', + ['weapon_assaultsmg'] = 'smg d\'assaut', + ['weapon_assaultrifle'] = 'fusil d\'assaut', + ['weapon_carbinerifle'] = 'carabine d\'assaut', + ['weapon_advancedrifle'] = 'fusil avancé', + ['weapon_mg'] = 'mitrailleuse', + ['weapon_combatmg'] = 'mitrailleuse de combat', + ['weapon_pumpshotgun'] = 'fusil à pompe', + ['weapon_sawnoffshotgun'] = 'carabine à canon scié', + ['weapon_assaultshotgun'] = 'carabine d\'assaut', + ['weapon_bullpupshotgun'] = 'carabine bullpup', + ['weapon_stungun'] = 'tazer', + ['weapon_sniperrifle'] = 'fusil de sniper', + ['weapon_heavysniper'] = 'fusil de sniper lourd', + ['weapon_grenadelauncher'] = 'lance-grenade', + ['weapon_rpg'] = 'lance-rocket', + ['weapon_minigun'] = 'minigun', + ['weapon_grenade'] = 'grenade', + ['weapon_stickybomb'] = 'bombe collante', + ['weapon_smokegrenade'] = 'grenade fumigène', + ['weapon_bzgas'] = 'grenade à gaz bz', + ['weapon_molotov'] = 'cocktail molotov', + ['weapon_fireextinguisher'] = 'extincteur', + ['weapon_petrolcan'] = 'jerrican d\'essence', + ['weapon_ball'] = 'balle', + ['weapon_snspistol'] = 'pistolet sns', + ['weapon_bottle'] = 'bouteille', + ['weapon_gusenberg'] = 'balayeuse gusenberg', + ['weapon_specialcarbine'] = 'carabine spéciale', + ['weapon_heavypistol'] = 'pistolet lourd', + ['weapon_bullpuprifle'] = 'fusil bullpup', + ['weapon_dagger'] = 'poignard', + ['weapon_vintagepistol'] = 'pistolet vintage', + ['weapon_firework'] = 'feu d\'artifice', + ['weapon_musket'] = 'mousquet', + ['weapon_heavyshotgun'] = 'fusil à pompe lourd', + ['weapon_marksmanrifle'] = 'fusil marksman', + ['weapon_hominglauncher'] = 'lance tête-chercheuse', + ['weapon_proxmine'] = 'mine de proximité', + ['weapon_snowball'] = 'boule de neige', + ['weapon_flaregun'] = 'lance fusée de détresse', + ['weapon_combatpdw'] = 'arme de défense personnelle', + ['weapon_marksmanpistol'] = 'pistolet marksman', + ['weapon_knuckle'] = 'poing américain', + ['weapon_hatchet'] = 'hachette', + ['weapon_railgun'] = 'canon éléctrique', + ['weapon_machete'] = 'machette', + ['weapon_machinepistol'] = 'pistolet mitrailleur', + ['weapon_switchblade'] = 'couteau à cran d\'arrêt', + ['weapon_revolver'] = 'revolver', + ['weapon_dbshotgun'] = 'fusil à pompe double canon', + ['weapon_compactrifle'] = 'fusil compact', + ['weapon_autoshotgun'] = 'fusil à pompe automatique', + ['weapon_battleaxe'] = 'hache de combat', + ['weapon_compactlauncher'] = 'lanceur compact', + ['weapon_minismg'] = 'mini smg', + ['weapon_pipebomb'] = 'bombe tuyau', + ['weapon_poolcue'] = 'queue de billard', + ['weapon_wrench'] = 'clé', + ['weapon_flashlight'] = 'lampe torche', + ['gadget_parachute'] = 'parachute', + ['weapon_flare'] = 'fusée de détresse', + ['weapon_doubleaction'] = 'revolver double action', - -- Weapon Components - ['component_clip_default'] = 'chargeur par défaut', - ['component_clip_extended'] = 'chargeur grande capacité', - ['component_clip_drum'] = 'chargeur tambour', - ['component_clip_box'] = 'chargeur très grande capacité', - ['component_flashlight'] = 'torche', - ['component_scope'] = 'viseur', - ['component_scope_advanced'] = 'lunette', - ['component_suppressor'] = 'réducteur de son', - ['component_grip'] = 'poignée', - ['component_luxary_finish'] = 'finition de luxe', + -- Weapon Components + ['component_clip_default'] = 'chargeur par défaut', + ['component_clip_extended'] = 'chargeur grande capacité', + ['component_clip_drum'] = 'chargeur tambour', + ['component_clip_box'] = 'chargeur très grande capacité', + ['component_flashlight'] = 'torche', + ['component_scope'] = 'viseur', + ['component_scope_advanced'] = 'lunette', + ['component_suppressor'] = 'réducteur de son', + ['component_grip'] = 'poignée', + ['component_luxary_finish'] = 'finition de luxe', - -- Weapon Ammo - ['ammo_rounds'] = 'cartouche(s)', - ['ammo_shells'] = 'obus', - ['ammo_charge'] = 'charge(s)', - ['ammo_petrol'] = 'jerrican d\'essence', - ['ammo_firework'] = 'feu(x) d\'artifice', - ['ammo_rockets'] = 'roquette(s)', - ['ammo_grenadelauncher'] = 'grenade(s)', - ['ammo_grenade'] = 'grenade(s)', - ['ammo_stickybomb'] = 'bombe(s)', - ['ammo_pipebomb'] = 'bombe(s)', - ['ammo_smokebomb'] = 'bombe(s)', - ['ammo_molotov'] = 'cocktail(s)', - ['ammo_proxmine'] = 'mine(s)', - ['ammo_bzgas'] = 'grenade(s)', - ['ammo_ball'] = 'balle(s)', - ['ammo_snowball'] = 'boule(s) de neige', - ['ammo_flare'] = 'fusée(s) éclairante(s)', - ['ammo_flaregun'] = 'fusée(s)', + -- Drug Wars DLC + ['weapon_candycane'] = 'Candy Cane', -- not translated + ['weapon_acidpackage'] = 'Acid Package', -- not translated + ['weapon_pistolxm3'] = 'WM 29 Pistol', -- not translated + ['weapon_railgunxm3'] = 'Railgun', -- not translated - -- Weapon Tints - ['tint_default'] = 'skin par défaut', - ['tint_green'] = 'skin vert', - ['tint_gold'] = 'skin doré', - ['tint_pink'] = 'skin rose', - ['tint_army'] = 'skin militaire', - ['tint_lspd'] = 'skin bleu', - ['tint_orange'] = 'skin orange', - ['tint_platinum'] = 'skin platine', - - -- Duty related - ['stopped_duty'] = 'Vous êtes maintenant hors-service.', - ['started_duty'] = 'Vous êtes maintenant en-service.', + -- Weapon Ammo + ['ammo_rounds'] = 'cartouche(s)', + ['ammo_shells'] = 'obus', + ['ammo_charge'] = 'charge(s)', + ['ammo_petrol'] = 'jerrican d\'essence', + ['ammo_firework'] = 'feu(x) d\'artifice', + ['ammo_rockets'] = 'roquette(s)', + ['ammo_grenadelauncher'] = 'grenade(s)', + ['ammo_grenade'] = 'grenade(s)', + ['ammo_stickybomb'] = 'bombe(s)', + ['ammo_pipebomb'] = 'bombe(s)', + ['ammo_smokebomb'] = 'bombe(s)', + ['ammo_molotov'] = 'cocktail(s)', + ['ammo_proxmine'] = 'mine(s)', + ['ammo_bzgas'] = 'grenade(s)', + ['ammo_ball'] = 'balle(s)', + ['ammo_snowball'] = 'boule(s) de neige', + ['ammo_flare'] = 'fusée(s) éclairante(s)', + ['ammo_flaregun'] = 'fusée(s)', + + -- Weapon Tints + ['tint_default'] = 'skin par défaut', + ['tint_green'] = 'skin vert', + ['tint_gold'] = 'skin doré', + ['tint_pink'] = 'skin rose', + ['tint_army'] = 'skin militaire', + ['tint_lspd'] = 'skin bleu', + ['tint_orange'] = 'skin orange', + ['tint_platinum'] = 'skin platine', + + -- Duty related + ['stopped_duty'] = 'Vous êtes maintenant hors-service.', + ['started_duty'] = 'Vous êtes maintenant en-service.', } diff --git a/[core]/es_extended/locales/hu.lua b/[core]/es_extended/locales/hu.lua index f909601a..da859972 100644 --- a/[core]/es_extended/locales/hu.lua +++ b/[core]/es_extended/locales/hu.lua @@ -222,6 +222,12 @@ Locales["hu"] = { ["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", diff --git a/[core]/es_extended/locales/it.lua b/[core]/es_extended/locales/it.lua index 0bdc015e..daff7efd 100644 --- a/[core]/es_extended/locales/it.lua +++ b/[core]/es_extended/locales/it.lua @@ -1,365 +1,371 @@ Locales['it'] = { - -- Inventory - ['inventory'] = 'Inventario ( Peso %s / %s )', - ['use'] = 'Usa', - ['give'] = 'Dai', - ['remove'] = 'Butta', - ['return'] = 'Ritorna', - ['give_to'] = 'Dai a', - ['amount'] = 'Quantità', - ['giveammo'] = 'Dai munizioni', - ['amountammo'] = 'Quantità munizioni', - ['noammo'] = 'Non abbastanza!', - ['gave_item'] = 'Dando %sx %s a %s', - ['received_item'] = 'Ricevuto %sx %s da %s', - ['gave_weapon'] = 'Dando %s a %s', - ['gave_weapon_ammo'] = 'Dando ~o~%sx %s for %s to %s', - ['gave_weapon_withammo'] = 'Dando %s con ~o~%sx %s a %s', - ['gave_weapon_hasalready'] = '%s possiede già %s', - ['gave_weapon_noweapon'] = '%s non ha quell\' arma', - ['received_weapon'] = 'Ricevuto %s da %s', - ['received_weapon_ammo'] = 'Ricevuto ~o~%sx %s per il tuo %s da %s', - ['received_weapon_withammo'] = 'Ricevuto %s con ~o~%sx %s per %s', - ['received_weapon_hasalready'] = '%s ha tentato di darti %s, ma hai già l\'arma', - ['received_weapon_noweapon'] = '%s ha tentato di darti munizioni per %s, ma non hai l\'arma', - ['gave_account_money'] = 'Dando $%s (%s) a %s', - ['received_account_money'] = 'Ricevuto $%s (%s) da %s', - ['amount_invalid'] = 'Quantità non valida', - ['players_nearby'] = 'Nessun giocatore vicino', - ['ex_inv_lim'] = 'Non puoi farlo, eccedi il peso di %s', - ['imp_invalid_quantity'] = 'Non puoi farlo, quantità non valida', - ['imp_invalid_amount'] = 'Non puoi farlo, importo non valido', - ['threw_standard'] = 'Gettando %sx %s', - ['threw_account'] = 'Gettando $%s %s', - ['threw_weapon'] = 'Gettando %s', - ['threw_weapon_ammo'] = 'Gettando %s con ~o~%sx %s', - ['threw_weapon_already'] = 'Hai gia quest\' arma', - ['threw_cannot_pickup'] = 'Inventario pieno, non puoi raccogliere!', - ['threw_pickup_prompt'] = 'Premi E per raccogliere', + -- Inventory + ['inventory'] = 'Inventario ( Peso %s / %s )', + ['use'] = 'Usa', + ['give'] = 'Dai', + ['remove'] = 'Butta', + ['return'] = 'Ritorna', + ['give_to'] = 'Dai a', + ['amount'] = 'Quantità', + ['giveammo'] = 'Dai munizioni', + ['amountammo'] = 'Quantità munizioni', + ['noammo'] = 'Non abbastanza!', + ['gave_item'] = 'Dando %sx %s a %s', + ['received_item'] = 'Ricevuto %sx %s da %s', + ['gave_weapon'] = 'Dando %s a %s', + ['gave_weapon_ammo'] = 'Dando ~o~%sx %s for %s to %s', + ['gave_weapon_withammo'] = 'Dando %s con ~o~%sx %s a %s', + ['gave_weapon_hasalready'] = '%s possiede già %s', + ['gave_weapon_noweapon'] = '%s non ha quell\' arma', + ['received_weapon'] = 'Ricevuto %s da %s', + ['received_weapon_ammo'] = 'Ricevuto ~o~%sx %s per il tuo %s da %s', + ['received_weapon_withammo'] = 'Ricevuto %s con ~o~%sx %s per %s', + ['received_weapon_hasalready'] = '%s ha tentato di darti %s, ma hai già l\'arma', + ['received_weapon_noweapon'] = '%s ha tentato di darti munizioni per %s, ma non hai l\'arma', + ['gave_account_money'] = 'Dando $%s (%s) a %s', + ['received_account_money'] = 'Ricevuto $%s (%s) da %s', + ['amount_invalid'] = 'Quantità non valida', + ['players_nearby'] = 'Nessun giocatore vicino', + ['ex_inv_lim'] = 'Non puoi farlo, eccedi il peso di %s', + ['imp_invalid_quantity'] = 'Non puoi farlo, quantità non valida', + ['imp_invalid_amount'] = 'Non puoi farlo, importo non valido', + ['threw_standard'] = 'Gettando %sx %s', + ['threw_account'] = 'Gettando $%s %s', + ['threw_weapon'] = 'Gettando %s', + ['threw_weapon_ammo'] = 'Gettando %s con ~o~%sx %s', + ['threw_weapon_already'] = 'Hai gia quest\' arma', + ['threw_cannot_pickup'] = 'Inventario pieno, non puoi raccogliere!', + ['threw_pickup_prompt'] = 'Premi E per raccogliere', - -- Key mapping - ['keymap_showinventory'] = 'Apri inventario', + -- Key mapping + ['keymap_showinventory'] = 'Apri inventario', - -- Salary related - ['received_salary'] = 'Sei stato pagato: $%s', - ['received_help'] = 'Hai ricevuto il reddito di cittadinanza: $%s', - ['company_nomoney'] = 'La tua compagnia è troppo povera per pagarti', - ['received_paycheck'] = 'Ricveuto stipendio', - ['bank'] = 'Banca', - ['account_bank'] = 'Conto', - ['account_black_money'] = 'Soldi sporchi', - ['account_money'] = 'Contanti', + -- Salary related + ['received_salary'] = 'Sei stato pagato: $%s', + ['received_help'] = 'Hai ricevuto il reddito di cittadinanza: $%s', + ['company_nomoney'] = 'La tua compagnia è troppo povera per pagarti', + ['received_paycheck'] = 'Ricveuto stipendio', + ['bank'] = 'Banca', + ['account_bank'] = 'Conto', + ['account_black_money'] = 'Soldi sporchi', + ['account_money'] = 'Contanti', - ['act_imp'] = 'Non puoi farlo', - ['in_vehicle'] = 'Non puoi farlo, il giocatore è in un veicolo', + ['act_imp'] = 'Non puoi farlo', + ['in_vehicle'] = 'Non puoi farlo, il giocatore è in un veicolo', - -- Commands - ['command_bring'] = 'Porta il giocatore da te', - ['command_car'] = 'Spawna un veicolo', - ['command_car_car'] = 'Modello o hash veicolo', - ['command_cardel'] = 'Rimuovi i veicoli nelle prossimità', - ['command_cardel_radius'] = 'Rimuovi i veicoli nel raggio specificato', - ['command_clear'] = 'Pulisci la chat testuale', - ['command_clearall'] = 'Pulisci la chat testuale per tutti i giocatori', - ['command_clearinventory'] = 'Rimuovi tutti gli oggetti dall\' inventario del giocatore', - ['command_clearloadout'] = 'Rimuovi tutte le armi dal loadout del giocatore', - ['command_freeze'] = 'Blocca un giocatore', - ['command_unfreeze'] = 'Sblocca un giocatore', - ['command_giveaccountmoney'] = 'Dai soldi a un\' account specifico', - ['command_giveaccountmoney_account'] = 'Account a cui aggiungere', - ['command_giveaccountmoney_amount'] = 'Quantità da aggiungere', - ['command_giveaccountmoney_invalid'] = 'Nome account non valido', - ['command_giveitem'] = 'Dai un oggetto ad un giocatore', - ['command_giveitem_item'] = 'Nome oggetto', - ['command_giveitem_count'] = 'Quantità', - ['command_giveweapon'] = 'Dai un\' arma ad un giocatore', - ['command_giveweapon_weapon'] = 'Nome arma', - ['command_giveweapon_ammo'] = 'Quantità munizioni', - ['command_giveweapon_hasalready'] = 'Il giocatore ha già l\'arma', - ['command_giveweaponcomponent'] = 'Dai un componente arma ad un giocatore', - ['command_giveweaponcomponent_component'] = 'Nome componente', - ['command_giveweaponcomponent_invalid'] = 'Componente arma non valido', - ['command_giveweaponcomponent_hasalready'] = 'Il giocatore ha già questo componente arma', - ['command_giveweaponcomponent_missingweapon'] = 'Il giocatore non ha l\'arma', - ['command_goto'] = 'Teletrasportati da un giocatore', - ['command_kill'] = 'Uccidi un giocatore', - ['command_save'] = 'Salva forzatamente i dati di un giocatore', - ['command_saveall'] = 'Salva forzatamente i dati di tutti igiocatoria', - ['command_setaccountmoney'] = 'Aggiorna i soldi dentro un account specifico', - ['command_setaccountmoney_amount'] = 'Quantità', - ['command_setcoords'] = 'Teletrasportati a delle coordinate specifiche', - ['command_setcoords_x'] = 'Valore X', - ['command_setcoords_y'] = 'Valore Y', - ['command_setcoords_z'] = 'Valore Z', - ['command_setjob'] = 'Setta lavoro ad un giocatore', - ['command_setjob_job'] = 'Nome', - ['command_setjob_grade'] = 'Grado lavoro', - ['command_setjob_invalid'] = 'Il lavoro, grado o entrambi sono errati', - ['command_setgroup'] = 'Setta un gruppo di permessi ad un giocatore', - ['command_setgroup_group'] = 'Nome del gruppo', - ['commanderror_argumentmismatch'] = 'Conta argomenti non valida (passati %s, richiesti %s)', - ['commanderror_argumentmismatch_number'] = 'Argomento #%s di tipologia errata (passato testo, richiesto numero)', - ['commanderror_invaliditem'] = 'Oggetto non valido', - ['commanderror_invalidweapon'] = 'Arma non valida', - ['commanderror_console'] = 'Comando non eseguibile dalla console', - ['commanderror_invalidcommand'] = 'Comando non valido - /%s', - ['commanderror_invalidplayerid'] = 'Il giocatore specificato non è online', - ['commandgeneric_playerid'] = 'Id server del giocatore', - ['command_giveammo_noweapon_found'] = '%s non ha quell\' arma', - ['command_giveammo_weapon'] = 'Nome arma', - ['command_giveammo_ammo'] = 'Quantità munizioni', - ['tpm_nowaypoint'] = 'Nessuna meta impostata', - ['tpm_success'] = 'Teletrasportato con successo', + -- Commands + ['command_bring'] = 'Porta il giocatore da te', + ['command_car'] = 'Spawna un veicolo', + ['command_car_car'] = 'Modello o hash veicolo', + ['command_cardel'] = 'Rimuovi i veicoli nelle prossimità', + ['command_cardel_radius'] = 'Rimuovi i veicoli nel raggio specificato', + ['command_clear'] = 'Pulisci la chat testuale', + ['command_clearall'] = 'Pulisci la chat testuale per tutti i giocatori', + ['command_clearinventory'] = 'Rimuovi tutti gli oggetti dall\' inventario del giocatore', + ['command_clearloadout'] = 'Rimuovi tutte le armi dal loadout del giocatore', + ['command_freeze'] = 'Blocca un giocatore', + ['command_unfreeze'] = 'Sblocca un giocatore', + ['command_giveaccountmoney'] = 'Dai soldi a un\' account specifico', + ['command_giveaccountmoney_account'] = 'Account a cui aggiungere', + ['command_giveaccountmoney_amount'] = 'Quantità da aggiungere', + ['command_giveaccountmoney_invalid'] = 'Nome account non valido', + ['command_giveitem'] = 'Dai un oggetto ad un giocatore', + ['command_giveitem_item'] = 'Nome oggetto', + ['command_giveitem_count'] = 'Quantità', + ['command_giveweapon'] = 'Dai un\' arma ad un giocatore', + ['command_giveweapon_weapon'] = 'Nome arma', + ['command_giveweapon_ammo'] = 'Quantità munizioni', + ['command_giveweapon_hasalready'] = 'Il giocatore ha già l\'arma', + ['command_giveweaponcomponent'] = 'Dai un componente arma ad un giocatore', + ['command_giveweaponcomponent_component'] = 'Nome componente', + ['command_giveweaponcomponent_invalid'] = 'Componente arma non valido', + ['command_giveweaponcomponent_hasalready'] = 'Il giocatore ha già questo componente arma', + ['command_giveweaponcomponent_missingweapon'] = 'Il giocatore non ha l\'arma', + ['command_goto'] = 'Teletrasportati da un giocatore', + ['command_kill'] = 'Uccidi un giocatore', + ['command_save'] = 'Salva forzatamente i dati di un giocatore', + ['command_saveall'] = 'Salva forzatamente i dati di tutti igiocatoria', + ['command_setaccountmoney'] = 'Aggiorna i soldi dentro un account specifico', + ['command_setaccountmoney_amount'] = 'Quantità', + ['command_setcoords'] = 'Teletrasportati a delle coordinate specifiche', + ['command_setcoords_x'] = 'Valore X', + ['command_setcoords_y'] = 'Valore Y', + ['command_setcoords_z'] = 'Valore Z', + ['command_setjob'] = 'Setta lavoro ad un giocatore', + ['command_setjob_job'] = 'Nome', + ['command_setjob_grade'] = 'Grado lavoro', + ['command_setjob_invalid'] = 'Il lavoro, grado o entrambi sono errati', + ['command_setgroup'] = 'Setta un gruppo di permessi ad un giocatore', + ['command_setgroup_group'] = 'Nome del gruppo', + ['commanderror_argumentmismatch'] = 'Conta argomenti non valida (passati %s, richiesti %s)', + ['commanderror_argumentmismatch_number'] = 'Argomento #%s di tipologia errata (passato testo, richiesto numero)', + ['commanderror_invaliditem'] = 'Oggetto non valido', + ['commanderror_invalidweapon'] = 'Arma non valida', + ['commanderror_console'] = 'Comando non eseguibile dalla console', + ['commanderror_invalidcommand'] = 'Comando non valido - /%s', + ['commanderror_invalidplayerid'] = 'Il giocatore specificato non è online', + ['commandgeneric_playerid'] = 'Id server del giocatore', + ['command_giveammo_noweapon_found'] = '%s non ha quell\' arma', + ['command_giveammo_weapon'] = 'Nome arma', + ['command_giveammo_ammo'] = 'Quantità munizioni', + ['tpm_nowaypoint'] = 'Nessuna meta impostata', + ['tpm_success'] = 'Teletrasportato con successo', - ['noclip_message'] = 'Noclip %s', - ['enabled'] = '~g~abilitato~s~', - ['disabled'] = '~r~disabilitato~s~', + ['noclip_message'] = 'Noclip %s', + ['enabled'] = '~g~abilitato~s~', + ['disabled'] = '~r~disabilitato~s~', - -- Locale settings - ['locale_digit_grouping_symbol'] = ',', - ['locale_currency'] = '$%s', + -- Locale settings + ['locale_digit_grouping_symbol'] = ',', + ['locale_currency'] = '$%s', - -- Weapons + -- Weapons - -- Melee - ['weapon_dagger'] = 'Pugnale Antico', - ['weapon_bat'] = 'Mazza', - ['weapon_battleaxe'] = 'Ascia', - ['weapon_bottle'] = 'Bottiglia', - ['weapon_crowbar'] = 'Piede di porco', - ['weapon_flashlight'] = 'Torcia', - ['weapon_golfclub'] = 'Mazza da golf', - ['weapon_hammer'] = 'Martello', - ['weapon_hatchet'] = 'Accetta', - ['weapon_knife'] = 'Coltello', - ['weapon_knuckle'] = 'Tirapugni', - ['weapon_machete'] = 'Machete', - ['weapon_nightstick'] = 'Manganello', - ['weapon_wrench'] = 'Tubo', - ['weapon_poolcue'] = 'Stecca', - ['weapon_stone_hatchet'] = 'Accetta di pietra', - ['weapon_switchblade'] = 'Coltello a serramanico', + -- Melee + ['weapon_dagger'] = 'Pugnale Antico', + ['weapon_bat'] = 'Mazza', + ['weapon_battleaxe'] = 'Ascia', + ['weapon_bottle'] = 'Bottiglia', + ['weapon_crowbar'] = 'Piede di porco', + ['weapon_flashlight'] = 'Torcia', + ['weapon_golfclub'] = 'Mazza da golf', + ['weapon_hammer'] = 'Martello', + ['weapon_hatchet'] = 'Accetta', + ['weapon_knife'] = 'Coltello', + ['weapon_knuckle'] = 'Tirapugni', + ['weapon_machete'] = 'Machete', + ['weapon_nightstick'] = 'Manganello', + ['weapon_wrench'] = 'Tubo', + ['weapon_poolcue'] = 'Stecca', + ['weapon_stone_hatchet'] = 'Accetta di pietra', + ['weapon_switchblade'] = 'Coltello a serramanico', - -- Handguns - ['weapon_appistol'] = 'Pistola AP', - ['weapon_ceramicpistol'] = 'Pistola di ceramica', - ['weapon_combatpistol'] = 'Pistola da combattimento', - ['weapon_doubleaction'] = 'Revolver doppia azione', - ['weapon_navyrevolver'] = 'Revolver Marina', - ['weapon_flaregun'] = 'Pistola lanciarazzi', - ['weapon_gadgetpistol'] = 'Pistola Gadget', - ['weapon_heavypistol'] = 'Pistola pesante', - ['weapon_revolver'] = 'Revolver pesante', - ['weapon_revolver_mk2'] = 'Revolver pesante MK2', - ['weapon_marksmanpistol'] = 'Pistola da tiratore', - ['weapon_pistol'] = 'Pistola', - ['weapon_pistol_mk2'] = 'Pistola MK2', - ['weapon_pistol50'] = 'Pistola .50', - ['weapon_snspistol'] = 'Pistola SNS', - ['weapon_snspistol_mk2'] = 'Pistola SNS MK2', - ['weapon_stungun'] = 'Taser', - ['weapon_raypistol'] = 'Up-N-Atomizzatore', - ['weapon_vintagepistol'] = 'Pistola Vintage', + -- Handguns + ['weapon_appistol'] = 'Pistola AP', + ['weapon_ceramicpistol'] = 'Pistola di ceramica', + ['weapon_combatpistol'] = 'Pistola da combattimento', + ['weapon_doubleaction'] = 'Revolver doppia azione', + ['weapon_navyrevolver'] = 'Revolver Marina', + ['weapon_flaregun'] = 'Pistola lanciarazzi', + ['weapon_gadgetpistol'] = 'Pistola Gadget', + ['weapon_heavypistol'] = 'Pistola pesante', + ['weapon_revolver'] = 'Revolver pesante', + ['weapon_revolver_mk2'] = 'Revolver pesante MK2', + ['weapon_marksmanpistol'] = 'Pistola da tiratore', + ['weapon_pistol'] = 'Pistola', + ['weapon_pistol_mk2'] = 'Pistola MK2', + ['weapon_pistol50'] = 'Pistola .50', + ['weapon_snspistol'] = 'Pistola SNS', + ['weapon_snspistol_mk2'] = 'Pistola SNS MK2', + ['weapon_stungun'] = 'Taser', + ['weapon_raypistol'] = 'Up-N-Atomizzatore', + ['weapon_vintagepistol'] = 'Pistola Vintage', - -- Shotguns - ['weapon_assaultshotgun'] = 'Fucile a pompa d\'assalto', - ['weapon_autoshotgun'] = 'Fucile a pompa automatico', - ['weapon_bullpupshotgun'] = 'Fucile a pompa Bullup', - ['weapon_combatshotgun'] = 'Fucile a pompa da combattimento', - ['weapon_dbshotgun'] = 'Fucile a pompa doppia canna', - ['weapon_heavyshotgun'] = 'Fucile a pompa pesante', - ['weapon_musket'] = 'Moschetto', - ['weapon_pumpshotgun'] = 'Fucile a pompa', - ['weapon_pumpshotgun_mk2'] = 'Fucile a pompa MK2', - ['weapon_sawnoffshotgun'] = 'Fucile a canne mozza', + -- Shotguns + ['weapon_assaultshotgun'] = 'Fucile a pompa d\'assalto', + ['weapon_autoshotgun'] = 'Fucile a pompa automatico', + ['weapon_bullpupshotgun'] = 'Fucile a pompa Bullup', + ['weapon_combatshotgun'] = 'Fucile a pompa da combattimento', + ['weapon_dbshotgun'] = 'Fucile a pompa doppia canna', + ['weapon_heavyshotgun'] = 'Fucile a pompa pesante', + ['weapon_musket'] = 'Moschetto', + ['weapon_pumpshotgun'] = 'Fucile a pompa', + ['weapon_pumpshotgun_mk2'] = 'Fucile a pompa MK2', + ['weapon_sawnoffshotgun'] = 'Fucile a canne mozza', - -- SMG & LMG - ['weapon_assaultsmg'] = 'SMG d\'assalto', - ['weapon_combatmg'] = 'MG da combattimento', - ['weapon_combatmg_mk2'] = 'MG da combattimento MK2', - ['weapon_combatpdw'] = 'PDW da combattimento', - ['weapon_gusenberg'] = 'Mitragliatrice Gusenberg', - ['weapon_machinepistol'] = 'Pistola mitragliatrice', - ['weapon_mg'] = 'MG', - ['weapon_microsmg'] = 'Micro SMG', - ['weapon_minismg'] = 'Mini SMG', - ['weapon_smg'] = 'SMG', - ['weapon_smg_mk2'] = 'SMG MK2', - ['weapon_raycarbine'] = 'Hellbringer infernale', + -- SMG & LMG + ['weapon_assaultsmg'] = 'SMG d\'assalto', + ['weapon_combatmg'] = 'MG da combattimento', + ['weapon_combatmg_mk2'] = 'MG da combattimento MK2', + ['weapon_combatpdw'] = 'PDW da combattimento', + ['weapon_gusenberg'] = 'Mitragliatrice Gusenberg', + ['weapon_machinepistol'] = 'Pistola mitragliatrice', + ['weapon_mg'] = 'MG', + ['weapon_microsmg'] = 'Micro SMG', + ['weapon_minismg'] = 'Mini SMG', + ['weapon_smg'] = 'SMG', + ['weapon_smg_mk2'] = 'SMG MK2', + ['weapon_raycarbine'] = 'Hellbringer infernale', - -- Rifles - ['weapon_advancedrifle'] = 'Fucile avanzato', - ['weapon_assaultrifle'] = 'Fucile d\'assalto', - ['weapon_assaultrifle_mk2'] = 'Fucile d\' assalto MK2', - ['weapon_bullpuprifle'] = 'Fucile Bullpup', - ['weapon_bullpuprifle_mk2'] = 'Fucile Bullpup MK2', - ['weapon_carbinerifle'] = 'Carabina', - ['weapon_carbinerifle_mk2'] = 'Carbine MK2', - ['weapon_compactrifle'] = 'Fucile compatto', - ['weapon_militaryrifle'] = 'Fucile militare', - ['weapon_specialcarbine'] = 'Carabina speciale', - ['weapon_specialcarbine_mk2'] = 'Carabina speciale MK2', + -- Rifles + ['weapon_advancedrifle'] = 'Fucile avanzato', + ['weapon_assaultrifle'] = 'Fucile d\'assalto', + ['weapon_assaultrifle_mk2'] = 'Fucile d\' assalto MK2', + ['weapon_bullpuprifle'] = 'Fucile Bullpup', + ['weapon_bullpuprifle_mk2'] = 'Fucile Bullpup MK2', + ['weapon_carbinerifle'] = 'Carabina', + ['weapon_carbinerifle_mk2'] = 'Carbine MK2', + ['weapon_compactrifle'] = 'Fucile compatto', + ['weapon_militaryrifle'] = 'Fucile militare', + ['weapon_specialcarbine'] = 'Carabina speciale', + ['weapon_specialcarbine_mk2'] = 'Carabina speciale MK2', - -- Sniper - ['weapon_heavysniper'] = 'Cecchino pesante', - ['weapon_heavysniper_mk2'] = 'Cecchino pesante MK2', - ['weapon_marksmanrifle'] = 'Fucile da tiratore', - ['weapon_marksmanrifle_mk2'] = 'Fucile da tiratore MK2', - ['weapon_sniperrifle'] = 'Cecchino', + -- Sniper + ['weapon_heavysniper'] = 'Cecchino pesante', + ['weapon_heavysniper_mk2'] = 'Cecchino pesante MK2', + ['weapon_marksmanrifle'] = 'Fucile da tiratore', + ['weapon_marksmanrifle_mk2'] = 'Fucile da tiratore MK2', + ['weapon_sniperrifle'] = 'Cecchino', - -- Heavy / Launchers - ['weapon_compactlauncher'] = 'Lanciagranate compatto', - ['weapon_firework'] = 'Cannone pirotecnico', - ['weapon_grenadelauncher'] = 'Lanciagranate', - ['weapon_hominglauncher'] = 'Lanciarazzi a tracciamento', - ['weapon_minigun'] = 'Minigun', - ['weapon_railgun'] = 'Railgun', - ['weapon_rpg'] = 'Lanciarazzi', - ['weapon_rayminigun'] = 'Widowmaker', + -- Heavy / Launchers + ['weapon_compactlauncher'] = 'Lanciagranate compatto', + ['weapon_firework'] = 'Cannone pirotecnico', + ['weapon_grenadelauncher'] = 'Lanciagranate', + ['weapon_hominglauncher'] = 'Lanciarazzi a tracciamento', + ['weapon_minigun'] = 'Minigun', + ['weapon_railgun'] = 'Railgun', + ['weapon_rpg'] = 'Lanciarazzi', + ['weapon_rayminigun'] = 'Widowmaker', - -- Criminal Enterprises DLC - ['weapon_metaldetector'] = 'Metal Detector', - ['weapon_precisionrifle'] = 'Fucile di precisione', - ['weapon_tactilerifle'] = 'Carabina di servizio', + -- Criminal Enterprises DLC + ['weapon_metaldetector'] = 'Metal Detector', + ['weapon_precisionrifle'] = 'Fucile di precisione', + ['weapon_tactilerifle'] = 'Carabina di servizio', - -- Thrown - ['weapon_ball'] = 'Palla', - ['weapon_bzgas'] = 'BZ Gas', - ['weapon_flare'] = 'Flare', - ['weapon_grenade'] = 'Granata', - ['weapon_petrolcan'] = 'Tanica', - ['weapon_hazardcan'] = 'Tanica pericolosa', - ['weapon_molotov'] = 'Molotov', - ['weapon_proxmine'] = 'Mina di prossimità', - ['weapon_pipebomb'] = 'Esplosivo plastico', - ['weapon_snowball'] = 'Palla di neve', - ['weapon_stickybomb'] = 'Bomba adesiva', - ['weapon_smokegrenade'] = 'Gas lacrimogeno', + -- 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 - -- Special - ['weapon_fireextinguisher'] = 'Estintore', - ['weapon_digiscanner'] = 'Scanner digitale', - ['weapon_garbagebag'] = 'Sacco della spazzatura', - ['weapon_handcuffs'] = 'Manette', - ['gadget_nightvision'] = 'Visore termico', - ['gadget_parachute'] = 'Paracadute', + -- Thrown + ['weapon_ball'] = 'Palla', + ['weapon_bzgas'] = 'BZ Gas', + ['weapon_flare'] = 'Flare', + ['weapon_grenade'] = 'Granata', + ['weapon_petrolcan'] = 'Tanica', + ['weapon_hazardcan'] = 'Tanica pericolosa', + ['weapon_molotov'] = 'Molotov', + ['weapon_proxmine'] = 'Mina di prossimità', + ['weapon_pipebomb'] = 'Esplosivo plastico', + ['weapon_snowball'] = 'Palla di neve', + ['weapon_stickybomb'] = 'Bomba adesiva', + ['weapon_smokegrenade'] = 'Gas lacrimogeno', - -- Weapon Components - ['component_knuckle_base'] = 'Modello basa', - ['component_knuckle_pimp'] = 'il Pappone', - ['component_knuckle_ballas'] = 'i Ballas', - ['component_knuckle_dollar'] = 'il Riccone', - ['component_knuckle_diamond'] = 'la Roccia', - ['component_knuckle_hate'] = 'l\' Hater', - ['component_knuckle_love'] = 'l\' Amante', - ['component_knuckle_player'] = 'il Giocatore', - ['component_knuckle_king'] = 'il Re', - ['component_knuckle_vagos'] = 'i Vagos', + -- Special + ['weapon_fireextinguisher'] = 'Estintore', + ['weapon_digiscanner'] = 'Scanner digitale', + ['weapon_garbagebag'] = 'Sacco della spazzatura', + ['weapon_handcuffs'] = 'Manette', + ['gadget_nightvision'] = 'Visore termico', + ['gadget_parachute'] = 'Paracadute', - ['component_luxary_finish'] = 'rifinitura di lusso', + -- Weapon Components + ['component_knuckle_base'] = 'Modello basa', + ['component_knuckle_pimp'] = 'il Pappone', + ['component_knuckle_ballas'] = 'i Ballas', + ['component_knuckle_dollar'] = 'il Riccone', + ['component_knuckle_diamond'] = 'la Roccia', + ['component_knuckle_hate'] = 'l\' Hater', + ['component_knuckle_love'] = 'l\' Amante', + ['component_knuckle_player'] = 'il Giocatore', + ['component_knuckle_king'] = 'il Re', + ['component_knuckle_vagos'] = 'i Vagos', - ['component_handle_default'] = 'impugnatura base', - ['component_handle_vip'] = 'impugnatura VIP', - ['component_handle_bodyguard'] = 'impugnatura guardia del corpo', + ['component_luxary_finish'] = 'rifinitura di lusso', - ['component_vip_finish'] = 'rifinitura VIP', - ['component_bodyguard_finish'] = 'rifinitura Guardia del corpo', + ['component_handle_default'] = 'impugnatura base', + ['component_handle_vip'] = 'impugnatura VIP', + ['component_handle_bodyguard'] = 'impugnatura guardia del corpo', - ['component_camo_finish'] = 'mimetica Digitale', - ['component_camo_finish2'] = 'mimetica Cespuglio', - ['component_camo_finish3'] = 'mimetica Legnosa', - ['component_camo_finish4'] = 'mimetica Teschio', - ['component_camo_finish5'] = 'mimetica Sessanta Nove', - ['component_camo_finish6'] = 'mimetica Perseo', - ['component_camo_finish7'] = 'mimetica Leopardata', - ['component_camo_finish8'] = 'mimetica Zebra', - ['component_camo_finish9'] = 'mimetica Geometrica', - ['component_camo_finish10'] = 'mimetica Boom', - ['component_camo_finish11'] = 'mimetica Patriottica', + ['component_vip_finish'] = 'rifinitura VIP', + ['component_bodyguard_finish'] = 'rifinitura Guardia del corpo', - ['component_camo_slide_finish'] = 'mimetica Digitale Slide', - ['component_camo_slide_finish2'] = 'mimetica Cespuglio Slide', - ['component_camo_slide_finish3'] = 'mimetica Legnosa Slide', - ['component_camo_slide_finish4'] = 'mimetica Teschio Slide', - ['component_camo_slide_finish5'] = 'mimetica Sessanta Nove Slide', - ['component_camo_slide_finish6'] = 'mimetica Perseo Slide', - ['component_camo_slide_finish7'] = 'mimetica Leopardata Slide', - ['component_camo_slide_finish8'] = 'mimetica Zebra Slide', - ['component_camo_slide_finish9'] = 'mimetica Geometrica Slide', - ['component_camo_slide_finish10'] = 'mimetica Boom Slide', - ['component_camo_slide_finish11'] = 'mimetica Patriottica Slide', + ['component_camo_finish'] = 'mimetica Digitale', + ['component_camo_finish2'] = 'mimetica Cespuglio', + ['component_camo_finish3'] = 'mimetica Legnosa', + ['component_camo_finish4'] = 'mimetica Teschio', + ['component_camo_finish5'] = 'mimetica Sessanta Nove', + ['component_camo_finish6'] = 'mimetica Perseo', + ['component_camo_finish7'] = 'mimetica Leopardata', + ['component_camo_finish8'] = 'mimetica Zebra', + ['component_camo_finish9'] = 'mimetica Geometrica', + ['component_camo_finish10'] = 'mimetica Boom', + ['component_camo_finish11'] = 'mimetica Patriottica', - ['component_clip_default'] = 'caricatore Standard', - ['component_clip_extended'] = 'caricatore Esteso', - ['component_clip_drum'] = 'caricatore A Batteria', - ['component_clip_box'] = 'caricatore A Scatola', + ['component_camo_slide_finish'] = 'mimetica Digitale Slide', + ['component_camo_slide_finish2'] = 'mimetica Cespuglio Slide', + ['component_camo_slide_finish3'] = 'mimetica Legnosa Slide', + ['component_camo_slide_finish4'] = 'mimetica Teschio Slide', + ['component_camo_slide_finish5'] = 'mimetica Sessanta Nove Slide', + ['component_camo_slide_finish6'] = 'mimetica Perseo Slide', + ['component_camo_slide_finish7'] = 'mimetica Leopardata Slide', + ['component_camo_slide_finish8'] = 'mimetica Zebra Slide', + ['component_camo_slide_finish9'] = 'mimetica Geometrica Slide', + ['component_camo_slide_finish10'] = 'mimetica Boom Slide', + ['component_camo_slide_finish11'] = 'mimetica Patriottica Slide', - ['component_scope_holo'] = 'mirino Olografico', - ['component_scope_small'] = 'mirino Piccolo', - ['component_scope_medium'] = 'mirino Medio', - ['component_scope_large'] = 'mirino Largo', - ['component_scope'] = 'mirino Montato', - ['component_scope_advanced'] = 'mirino Avanzato', - ['component_ironsights'] = 'integrato', + ['component_clip_default'] = 'caricatore Standard', + ['component_clip_extended'] = 'caricatore Esteso', + ['component_clip_drum'] = 'caricatore A Batteria', + ['component_clip_box'] = 'caricatore A Scatola', - ['component_suppressor'] = 'silenziatore', - ['component_compensator'] = 'compensatore', + ['component_scope_holo'] = 'mirino Olografico', + ['component_scope_small'] = 'mirino Piccolo', + ['component_scope_medium'] = 'mirino Medio', + ['component_scope_large'] = 'mirino Largo', + ['component_scope'] = 'mirino Montato', + ['component_scope_advanced'] = 'mirino Avanzato', + ['component_ironsights'] = 'integrato', - ['component_muzzle_flat'] = 'freno Di Bocca Piatto', - ['component_muzzle_tactical'] = 'freno Di Bocca Tattico', - ['component_muzzle_fat'] = 'freno Di Bocca Grosso', - ['component_muzzle_precision'] = 'freno Di Bocca Di Precisione', - ['component_muzzle_heavy'] = 'freno Di Bocca Pesante', - ['component_muzzle_slanted'] = 'freno Di Bocca Inclinato', - ['component_muzzle_split'] = 'freno Di Bocca Diviso', - ['component_muzzle_squared'] = 'freno Di Bocca Quadrato', + ['component_suppressor'] = 'silenziatore', + ['component_compensator'] = 'compensatore', - ['component_flashlight'] = 'torcia', - ['component_grip'] = 'impugnatura', + ['component_muzzle_flat'] = 'freno Di Bocca Piatto', + ['component_muzzle_tactical'] = 'freno Di Bocca Tattico', + ['component_muzzle_fat'] = 'freno Di Bocca Grosso', + ['component_muzzle_precision'] = 'freno Di Bocca Di Precisione', + ['component_muzzle_heavy'] = 'freno Di Bocca Pesante', + ['component_muzzle_slanted'] = 'freno Di Bocca Inclinato', + ['component_muzzle_split'] = 'freno Di Bocca Diviso', + ['component_muzzle_squared'] = 'freno Di Bocca Quadrato', - ['component_barrel_default'] = 'canna Standard', - ['component_barrel_heavy'] = 'canna Pesante', + ['component_flashlight'] = 'torcia', + ['component_grip'] = 'impugnatura', - ['component_ammo_tracer'] = 'munizioni Traccianti', - ['component_ammo_incendiary'] = 'munizioni Incendiarie', - ['component_ammo_hollowpoint'] = 'munizioni a Punta Cava', - ['component_ammo_fmj'] = 'munizioni fMj', - ['component_ammo_armor'] = 'munizioni penetranti', - ['component_ammo_explosive'] = 'munizioni penetranti incendiarie', + ['component_barrel_default'] = 'canna Standard', + ['component_barrel_heavy'] = 'canna Pesante', - ['component_shells_default'] = 'cartucce Standard', - ['component_shells_incendiary'] = 'cartucce alito di Drago', - ['component_shells_armor'] = 'cartucce a pallettoni', - ['component_shells_hollowpoint'] = 'cartucce a freccette', - ['component_shells_explosive'] = 'cartucce esplosive', + ['component_ammo_tracer'] = 'munizioni Traccianti', + ['component_ammo_incendiary'] = 'munizioni Incendiarie', + ['component_ammo_hollowpoint'] = 'munizioni a Punta Cava', + ['component_ammo_fmj'] = 'munizioni fMj', + ['component_ammo_armor'] = 'munizioni penetranti', + ['component_ammo_explosive'] = 'munizioni penetranti incendiarie', - -- Weapon Ammo - ['ammo_rounds'] = 'colpo(i)', - ['ammo_shells'] = 'cartuccia(e)', - ['ammo_charge'] = 'carica', - ['ammo_petrol'] = 'Litri di carburante', - ['ammo_firework'] = 'fuochi d\'artificio', - ['ammo_rockets'] = 'razzo(i)', - ['ammo_grenadelauncher'] = 'granata(e)', - ['ammo_grenade'] = 'granata(e)', - ['ammo_stickybomb'] = 'bomba(e)', - ['ammo_pipebomb'] = 'bomba(e)', - ['ammo_smokebomb'] = 'bomba(e)', - ['ammo_molotov'] = 'bottiglia(e)', - ['ammo_proxmine'] = 'mina(e)', - ['ammo_bzgas'] = 'latta(e)', - ['ammo_ball'] = 'palla(e)', - ['ammo_snowball'] = 'palle di neve', - ['ammo_flare'] = 'razzo(i)', - ['ammo_flaregun'] = 'razzo(i)', + ['component_shells_default'] = 'cartucce Standard', + ['component_shells_incendiary'] = 'cartucce alito di Drago', + ['component_shells_armor'] = 'cartucce a pallettoni', + ['component_shells_hollowpoint'] = 'cartucce a freccette', + ['component_shells_explosive'] = 'cartucce esplosive', - -- Weapon Tints - ['tint_default'] = 'Colore standard', - ['tint_green'] = 'color verde', - ['tint_gold'] = 'color oro', - ['tint_pink'] = 'color rosa', - ['tint_army'] = 'color army', - ['tint_lspd'] = 'color blu', - ['tint_orange'] = 'color arancio', - ['tint_platinum'] = 'color platino', + -- Weapon Ammo + ['ammo_rounds'] = 'colpo(i)', + ['ammo_shells'] = 'cartuccia(e)', + ['ammo_charge'] = 'carica', + ['ammo_petrol'] = 'Litri di carburante', + ['ammo_firework'] = 'fuochi d\'artificio', + ['ammo_rockets'] = 'razzo(i)', + ['ammo_grenadelauncher'] = 'granata(e)', + ['ammo_grenade'] = 'granata(e)', + ['ammo_stickybomb'] = 'bomba(e)', + ['ammo_pipebomb'] = 'bomba(e)', + ['ammo_smokebomb'] = 'bomba(e)', + ['ammo_molotov'] = 'bottiglia(e)', + ['ammo_proxmine'] = 'mina(e)', + ['ammo_bzgas'] = 'latta(e)', + ['ammo_ball'] = 'palla(e)', + ['ammo_snowball'] = 'palle di neve', + ['ammo_flare'] = 'razzo(i)', + ['ammo_flaregun'] = 'razzo(i)', + + -- Weapon Tints + ['tint_default'] = 'Colore standard', + ['tint_green'] = 'color verde', + ['tint_gold'] = 'color oro', + ['tint_pink'] = 'color rosa', + ['tint_army'] = 'color army', + ['tint_lspd'] = 'color blu', + ['tint_orange'] = 'color arancio', + ['tint_platinum'] = 'color platino', } diff --git a/[core]/es_extended/locales/nl.lua b/[core]/es_extended/locales/nl.lua index 86e8ed34..85998877 100644 --- a/[core]/es_extended/locales/nl.lua +++ b/[core]/es_extended/locales/nl.lua @@ -221,6 +221,12 @@ Locales['nl'] = { ['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', diff --git a/[core]/es_extended/locales/pl.lua b/[core]/es_extended/locales/pl.lua index 235b2d89..96e543c5 100644 --- a/[core]/es_extended/locales/pl.lua +++ b/[core]/es_extended/locales/pl.lua @@ -1,227 +1,233 @@ Locales['pl'] = { - -- Inventory - ['inventory'] = 'ekwipunek %s / %s', - ['use'] = 'użyj', - ['give'] = 'daj', - ['remove'] = 'usuń', - ['return'] = 'wróć', - ['give_to'] = 'daj dla', - ['amount'] = 'ilość', - ['giveammo'] = 'daj amunicje', - ['amountammo'] = 'ilość amunicji', - ['noammo'] = 'nie posiadasz wystarczającej ilości amunicji!', - ['gave_item'] = 'dałeś/aś %sx %s dla %s', - ['received_item'] = 'otrzymałeś/aś %sx %s od %s', - ['gave_weapon'] = 'dałeś/aś %s dla %s', - ['gave_weapon_ammo'] = 'dałeś/aś ~o~%sx %s do %s dla %s', - ['gave_weapon_withammo'] = 'dałeś/aś %s z ~o~%sx %s dla %s', - ['gave_weapon_hasalready'] = '%s już posiada %s', - ['gave_weapon_noweapon'] = '%s nie posiada tej broni', - ['received_weapon'] = 'otrzymałeś/aś %s od %s', - ['received_weapon_ammo'] = 'otrzymałeś/aś ~o~%sx %s do twojego %s od %s', - ['received_weapon_withammo'] = 'otrzymałeś/aś %s z ~o~%sx %s od %s', - ['received_weapon_hasalready'] = '%s próbował/a przekazać ci %s, lecz już posiadasz jedno', - ['received_weapon_noweapon'] = '%s próbował/a przekazać ci amunicje do %s, lecz nie posiadasz tej broni', - ['gave_account_money'] = 'dałeś/aś %s$ (%s) dla %s', - ['received_account_money'] = 'otrzymałeś/aś %s$ (%s) od %s', - ['amount_invalid'] = 'nieprawidłowa ilość', - ['players_nearby'] = 'brak graczy w pobliżu', - ['ex_inv_lim'] = 'akcja nie jest możliwa, nie możesz mieć więcej %s', - ['imp_invalid_quantity'] = 'akcja jest niemożliwa, nieprawidłowa ilość', - ['imp_invalid_amount'] = 'akcja jest niemożliwa, nieprawidłowa kwota', - ['threw_standard'] = 'wyrzuciłeś/aś %sx %s', - ['threw_account'] = 'wyrzuciłeś/aś $%s %s', - ['threw_weapon'] = 'wyrzuciłeś/aś %s', - ['threw_weapon_ammo'] = 'wyrzuciłeś/aś %s z ~o~%sx %s', - ['threw_weapon_already'] = 'już posiadasz taką samą broń', - ['threw_cannot_pickup'] = 'nie możesz tego podnieść, gdyż masz pełny ekwipunek!', - ['threw_pickup_prompt'] = 'naciśnij E aby podnieść', + -- Inventory + ['inventory'] = 'ekwipunek %s / %s', + ['use'] = 'użyj', + ['give'] = 'daj', + ['remove'] = 'usuń', + ['return'] = 'wróć', + ['give_to'] = 'daj dla', + ['amount'] = 'ilość', + ['giveammo'] = 'daj amunicje', + ['amountammo'] = 'ilość amunicji', + ['noammo'] = 'nie posiadasz wystarczającej ilości amunicji!', + ['gave_item'] = 'dałeś/aś %sx %s dla %s', + ['received_item'] = 'otrzymałeś/aś %sx %s od %s', + ['gave_weapon'] = 'dałeś/aś %s dla %s', + ['gave_weapon_ammo'] = 'dałeś/aś ~o~%sx %s do %s dla %s', + ['gave_weapon_withammo'] = 'dałeś/aś %s z ~o~%sx %s dla %s', + ['gave_weapon_hasalready'] = '%s już posiada %s', + ['gave_weapon_noweapon'] = '%s nie posiada tej broni', + ['received_weapon'] = 'otrzymałeś/aś %s od %s', + ['received_weapon_ammo'] = 'otrzymałeś/aś ~o~%sx %s do twojego %s od %s', + ['received_weapon_withammo'] = 'otrzymałeś/aś %s z ~o~%sx %s od %s', + ['received_weapon_hasalready'] = '%s próbował/a przekazać ci %s, lecz już posiadasz jedno', + ['received_weapon_noweapon'] = '%s próbował/a przekazać ci amunicje do %s, lecz nie posiadasz tej broni', + ['gave_account_money'] = 'dałeś/aś %s$ (%s) dla %s', + ['received_account_money'] = 'otrzymałeś/aś %s$ (%s) od %s', + ['amount_invalid'] = 'nieprawidłowa ilość', + ['players_nearby'] = 'brak graczy w pobliżu', + ['ex_inv_lim'] = 'akcja nie jest możliwa, nie możesz mieć więcej %s', + ['imp_invalid_quantity'] = 'akcja jest niemożliwa, nieprawidłowa ilość', + ['imp_invalid_amount'] = 'akcja jest niemożliwa, nieprawidłowa kwota', + ['threw_standard'] = 'wyrzuciłeś/aś %sx %s', + ['threw_account'] = 'wyrzuciłeś/aś $%s %s', + ['threw_weapon'] = 'wyrzuciłeś/aś %s', + ['threw_weapon_ammo'] = 'wyrzuciłeś/aś %s z ~o~%sx %s', + ['threw_weapon_already'] = 'już posiadasz taką samą broń', + ['threw_cannot_pickup'] = 'nie możesz tego podnieść, gdyż masz pełny ekwipunek!', + ['threw_pickup_prompt'] = 'naciśnij E aby podnieść', - -- Key mapping - ['keymap_showinventory'] = 'pokaż ekwipunek', + -- Key mapping + ['keymap_showinventory'] = 'pokaż ekwipunek', - -- Salary related - ['received_salary'] = 'otrzymałeś/aś wynagrodzenie: %s$', - ['received_help'] = 'otrzymałeś/aś zapomogę: $%s', - ['company_nomoney'] = 'firma, w której pracujesz, jest zbyt biedna, by wypłacić twoją pensję', - ['received_paycheck'] = 'otrzymano wypłate', - ['bank'] = 'bank', - ['account_bank'] = 'bank', - ['account_black_money'] = 'brudne pieniądze', - ['account_money'] = 'pieniądze', - ['act_imp'] = 'działanie niemożliwe', - ['in_vehicle'] = 'nie możesz przekazywać przedmiotów w pojeździe', + -- Salary related + ['received_salary'] = 'otrzymałeś/aś wynagrodzenie: %s$', + ['received_help'] = 'otrzymałeś/aś zapomogę: $%s', + ['company_nomoney'] = 'firma, w której pracujesz, jest zbyt biedna, by wypłacić twoją pensję', + ['received_paycheck'] = 'otrzymano wypłate', + ['bank'] = 'bank', + ['account_bank'] = 'bank', + ['account_black_money'] = 'brudne pieniądze', + ['account_money'] = 'pieniądze', + ['act_imp'] = 'działanie niemożliwe', + ['in_vehicle'] = 'nie możesz przekazywać przedmiotów w pojeździe', - -- 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_clear'] = 'wyczyść czat', - ['command_clearall'] = 'wyczyść czat dla wszystkich graczy', - ['command_clearinventory'] = 'wyczyść ekwipunek gracza', - ['command_clearloadout'] = 'wyczyść wyposarzenie gracza', - ['command_giveaccountmoney'] = 'daj pieniądze na podany typ konta', - ['command_giveaccountmoney_account'] = 'prawidłowy typ konta', - ['command_giveaccountmoney_amount'] = 'ilość do dodania', - ['command_giveaccountmoney_invalid'] = 'nieprawidłowy typ konta', - ['command_giveitem'] = 'daj przedmiot graczowi', - ['command_giveitem_item'] = 'nazwa przedmiotu', - ['command_giveitem_count'] = 'ilość przedimotu', - ['command_giveweapon'] = 'daj broń graczowi', - ['command_giveweapon_weapon'] = 'nazwa broni', - ['command_giveweapon_ammo'] = 'ilość amunicji', - ['command_giveweapon_hasalready'] = 'gracz już posiada tą broń', - ['command_giveweaponcomponent'] = 'daj komponent do broni graczowi', - ['command_giveweaponcomponent_component'] = 'nazwa komponentu', - ['command_giveweaponcomponent_invalid'] = 'nieprawidłowy komponent do broni', - ['command_giveweaponcomponent_hasalready'] = 'gracz już posiada ten komponent do tej broni', - ['command_giveweaponcomponent_missingweapon'] = 'gracz nie posiada tej broni', - ['command_save'] = 'zapisz gracza w bazie danych', - ['command_saveall'] = 'zapisz wszystkich graczy w bazie danych', - ['command_setaccountmoney'] = 'ustaw ilość pieniędzy danego konta dla gracza', - ['command_setaccountmoney_amount'] = 'ilość pieniędzy do ustawienia', - ['command_setcoords'] = 'teleportuj na koordynaty', - ['command_setcoords_x'] = 'x axis', - ['command_setcoords_y'] = 'y axis', - ['command_setcoords_z'] = 'z axis', - ['command_setjob'] = 'ustaw prace dla gracza', - ['command_setjob_job'] = 'nazwa pracy', - ['command_setjob_grade'] = 'stanowisko w pracy', - ['command_setjob_invalid'] = 'praca, stanowisko lub obydwa są nieprawidłowe', - ['command_setgroup'] = 'ustaw grupe gracza', - ['command_setgroup_group'] = 'nazwa grupy', - ['commanderror_argumentmismatch'] = 'nieprawiłowa ilość argumentów (przeszło %s, wymagane %s)', - ['commanderror_argumentmismatch_number'] = 'nieprawidłowy typ argumentu #%s (przeszedł tekst, wymagany numer)', - ['commanderror_invaliditem'] = 'nieprawidłowa nazwa przedmiotu', - ['commanderror_invalidweapon'] = 'nieprawidłowa broń', - ['commanderror_console'] = 'podana komenda nie może zostać uruchomiona przez konsole', - ['commanderror_invalidcommand'] = '/%s nie jest poprawną komendą!', - ['commanderror_invalidplayerid'] = 'brak dostepnego gracza pasującego do podanego id serwerowego', - ['commandgeneric_playerid'] = 'id gracza', - ['command_giveammo_noweapon_found'] = '%s does not have that weapon', - ['command_giveammo_weapon'] = 'Weapon name', - ['command_giveammo_ammo'] = 'Ammo Quantity', + -- Commands + ['command_car'] = 'przywołaj pojazd', + ['command_car_car'] = 'nazwa lub hash przywołanego pojazdu', + ['command_cardel'] = 'usuń pojazd w pobliżu', + ['command_cardel_radius'] = 'opcjonalnie usuń każdy pojazd w obszarze', + ['command_clear'] = 'wyczyść czat', + ['command_clearall'] = 'wyczyść czat dla wszystkich graczy', + ['command_clearinventory'] = 'wyczyść ekwipunek gracza', + ['command_clearloadout'] = 'wyczyść wyposarzenie gracza', + ['command_giveaccountmoney'] = 'daj pieniądze na podany typ konta', + ['command_giveaccountmoney_account'] = 'prawidłowy typ konta', + ['command_giveaccountmoney_amount'] = 'ilość do dodania', + ['command_giveaccountmoney_invalid'] = 'nieprawidłowy typ konta', + ['command_giveitem'] = 'daj przedmiot graczowi', + ['command_giveitem_item'] = 'nazwa przedmiotu', + ['command_giveitem_count'] = 'ilość przedimotu', + ['command_giveweapon'] = 'daj broń graczowi', + ['command_giveweapon_weapon'] = 'nazwa broni', + ['command_giveweapon_ammo'] = 'ilość amunicji', + ['command_giveweapon_hasalready'] = 'gracz już posiada tą broń', + ['command_giveweaponcomponent'] = 'daj komponent do broni graczowi', + ['command_giveweaponcomponent_component'] = 'nazwa komponentu', + ['command_giveweaponcomponent_invalid'] = 'nieprawidłowy komponent do broni', + ['command_giveweaponcomponent_hasalready'] = 'gracz już posiada ten komponent do tej broni', + ['command_giveweaponcomponent_missingweapon'] = 'gracz nie posiada tej broni', + ['command_save'] = 'zapisz gracza w bazie danych', + ['command_saveall'] = 'zapisz wszystkich graczy w bazie danych', + ['command_setaccountmoney'] = 'ustaw ilość pieniędzy danego konta dla gracza', + ['command_setaccountmoney_amount'] = 'ilość pieniędzy do ustawienia', + ['command_setcoords'] = 'teleportuj na koordynaty', + ['command_setcoords_x'] = 'x axis', + ['command_setcoords_y'] = 'y axis', + ['command_setcoords_z'] = 'z axis', + ['command_setjob'] = 'ustaw prace dla gracza', + ['command_setjob_job'] = 'nazwa pracy', + ['command_setjob_grade'] = 'stanowisko w pracy', + ['command_setjob_invalid'] = 'praca, stanowisko lub obydwa są nieprawidłowe', + ['command_setgroup'] = 'ustaw grupe gracza', + ['command_setgroup_group'] = 'nazwa grupy', + ['commanderror_argumentmismatch'] = 'nieprawiłowa ilość argumentów (przeszło %s, wymagane %s)', + ['commanderror_argumentmismatch_number'] = 'nieprawidłowy typ argumentu #%s (przeszedł tekst, wymagany numer)', + ['commanderror_invaliditem'] = 'nieprawidłowa nazwa przedmiotu', + ['commanderror_invalidweapon'] = 'nieprawidłowa broń', + ['commanderror_console'] = 'podana komenda nie może zostać uruchomiona przez konsole', + ['commanderror_invalidcommand'] = '/%s nie jest poprawną komendą!', + ['commanderror_invalidplayerid'] = 'brak dostepnego gracza pasującego do podanego id serwerowego', + ['commandgeneric_playerid'] = 'id gracza', + ['command_giveammo_noweapon_found'] = '%s does not have that weapon', + ['command_giveammo_weapon'] = 'Weapon name', + ['command_giveammo_ammo'] = 'Ammo Quantity', - -- Locale settings - ['locale_digit_grouping_symbol'] = ',', - ['locale_currency'] = '$%s', + -- Locale settings + ['locale_digit_grouping_symbol'] = ',', + ['locale_currency'] = '$%s', - -- Weapons - ['weapon_knife'] = 'nóż', - ['weapon_nightstick'] = 'pałka', - ['weapon_hammer'] = 'młotek', - ['weapon_bat'] = 'kij', - ['weapon_golfclub'] = 'kij golfowy', - ['weapon_crowbar'] = 'łom', - ['weapon_pistol'] = 'pistolet', - ['weapon_combatpistol'] = 'pistolet bojowy', - ['weapon_appistol'] = 'ap pistol', - ['weapon_pistol50'] = 'pistol .50', - ['weapon_microsmg'] = 'micro smg', - ['weapon_smg'] = 'smg', - ['weapon_assaultsmg'] = 'assault smg', - ['weapon_assaultrifle'] = 'assault rifle', - ['weapon_carbinerifle'] = 'carbine rifle', - ['weapon_advancedrifle'] = 'advanced rifle', - ['weapon_mg'] = 'mg', - ['weapon_combatmg'] = 'combat mg', - ['weapon_pumpshotgun'] = 'pump shotgun', - ['weapon_sawnoffshotgun'] = 'sawed off shotgun', - ['weapon_assaultshotgun'] = 'assault shotgun', - ['weapon_bullpupshotgun'] = 'bullpup shotgun', - ['weapon_stungun'] = 'tazer', - ['weapon_sniperrifle'] = 'karabin snajperski', - ['weapon_heavysniper'] = 'ciężki karabin snajperski', - ['weapon_grenadelauncher'] = 'granatnik', - ['weapon_rpg'] = 'wyrzutnia rakiet', - ['weapon_minigun'] = 'minigun', - ['weapon_grenade'] = 'granat', - ['weapon_stickybomb'] = 'ładunek przylepny', - ['weapon_smokegrenade'] = 'granat dymny', - ['weapon_bzgas'] = 'bz gas', - ['weapon_molotov'] = 'koktajl Mołotowa', - ['weapon_fireextinguisher'] = 'gaśnica', - ['weapon_petrolcan'] = 'kanister', - ['weapon_ball'] = 'piłka', - ['weapon_snspistol'] = 'sns pistolet', - ['weapon_bottle'] = 'butelka', - ['weapon_gusenberg'] = 'gusenberg sweeper', - ['weapon_specialcarbine'] = 'special carbine', - ['weapon_heavypistol'] = 'heavy pistol', - ['weapon_bullpuprifle'] = 'karabin wyborowy', - ['weapon_dagger'] = 'sztylet', - ['weapon_vintagepistol'] = 'vintage pistol', - ['weapon_firework'] = 'fajerwerki', - ['weapon_musket'] = 'muszkiet', - ['weapon_heavyshotgun'] = 'ciężki shotgun', - ['weapon_marksmanrifle'] = 'marksman rifle', - ['weapon_hominglauncher'] = 'program uruchamiający', - ['weapon_proxmine'] = 'mina zbliżeniowa', - ['weapon_snowball'] = 'śnieżka', - ['weapon_flaregun'] = 'flara', - ['weapon_combatpdw'] = 'combat pdw', - ['weapon_marksmanpistol'] = 'marksman pistol', - ['weapon_knuckle'] = 'kastety', - ['weapon_hatchet'] = 'toporek', - ['weapon_railgun'] = 'karabin', - ['weapon_machete'] = 'meczeta', - ['weapon_machinepistol'] = 'pistolet maszynowy', - ['weapon_switchblade'] = 'scyzoryk', - ['weapon_revolver'] = 'ciężki rewolwer', - ['weapon_dbshotgun'] = 'dwururka', - ['weapon_compactrifle'] = 'compact rifle', - ['weapon_autoshotgun'] = 'auto shotgun', - ['weapon_battleaxe'] = 'topór bitewny', - ['weapon_compactlauncher'] = 'compact launcher', - ['weapon_minismg'] = 'mini smg', - ['weapon_pipebomb'] = 'bomba rurowa', - ['weapon_poolcue'] = 'kij bilardowy', - ['weapon_wrench'] = 'klucz do rur', - ['weapon_flashlight'] = 'latarka', - ['gadget_parachute'] = 'spadochron', - ['weapon_flare'] = 'pistolet sygnałowy', - ['weapon_doubleaction'] = 'double-Action Revolver', + -- Weapons + ['weapon_knife'] = 'nóż', + ['weapon_nightstick'] = 'pałka', + ['weapon_hammer'] = 'młotek', + ['weapon_bat'] = 'kij', + ['weapon_golfclub'] = 'kij golfowy', + ['weapon_crowbar'] = 'łom', + ['weapon_pistol'] = 'pistolet', + ['weapon_combatpistol'] = 'pistolet bojowy', + ['weapon_appistol'] = 'ap pistol', + ['weapon_pistol50'] = 'pistol .50', + ['weapon_microsmg'] = 'micro smg', + ['weapon_smg'] = 'smg', + ['weapon_assaultsmg'] = 'assault smg', + ['weapon_assaultrifle'] = 'assault rifle', + ['weapon_carbinerifle'] = 'carbine rifle', + ['weapon_advancedrifle'] = 'advanced rifle', + ['weapon_mg'] = 'mg', + ['weapon_combatmg'] = 'combat mg', + ['weapon_pumpshotgun'] = 'pump shotgun', + ['weapon_sawnoffshotgun'] = 'sawed off shotgun', + ['weapon_assaultshotgun'] = 'assault shotgun', + ['weapon_bullpupshotgun'] = 'bullpup shotgun', + ['weapon_stungun'] = 'tazer', + ['weapon_sniperrifle'] = 'karabin snajperski', + ['weapon_heavysniper'] = 'ciężki karabin snajperski', + ['weapon_grenadelauncher'] = 'granatnik', + ['weapon_rpg'] = 'wyrzutnia rakiet', + ['weapon_minigun'] = 'minigun', + ['weapon_grenade'] = 'granat', + ['weapon_stickybomb'] = 'ładunek przylepny', + ['weapon_smokegrenade'] = 'granat dymny', + ['weapon_bzgas'] = 'bz gas', + ['weapon_molotov'] = 'koktajl Mołotowa', + ['weapon_fireextinguisher'] = 'gaśnica', + ['weapon_petrolcan'] = 'kanister', + ['weapon_ball'] = 'piłka', + ['weapon_snspistol'] = 'sns pistolet', + ['weapon_bottle'] = 'butelka', + ['weapon_gusenberg'] = 'gusenberg sweeper', + ['weapon_specialcarbine'] = 'special carbine', + ['weapon_heavypistol'] = 'heavy pistol', + ['weapon_bullpuprifle'] = 'karabin wyborowy', + ['weapon_dagger'] = 'sztylet', + ['weapon_vintagepistol'] = 'vintage pistol', + ['weapon_firework'] = 'fajerwerki', + ['weapon_musket'] = 'muszkiet', + ['weapon_heavyshotgun'] = 'ciężki shotgun', + ['weapon_marksmanrifle'] = 'marksman rifle', + ['weapon_hominglauncher'] = 'program uruchamiający', + ['weapon_proxmine'] = 'mina zbliżeniowa', + ['weapon_snowball'] = 'śnieżka', + ['weapon_flaregun'] = 'flara', + ['weapon_combatpdw'] = 'combat pdw', + ['weapon_marksmanpistol'] = 'marksman pistol', + ['weapon_knuckle'] = 'kastety', + ['weapon_hatchet'] = 'toporek', + ['weapon_railgun'] = 'karabin', + ['weapon_machete'] = 'meczeta', + ['weapon_machinepistol'] = 'pistolet maszynowy', + ['weapon_switchblade'] = 'scyzoryk', + ['weapon_revolver'] = 'ciężki rewolwer', + ['weapon_dbshotgun'] = 'dwururka', + ['weapon_compactrifle'] = 'compact rifle', + ['weapon_autoshotgun'] = 'auto shotgun', + ['weapon_battleaxe'] = 'topór bitewny', + ['weapon_compactlauncher'] = 'compact launcher', + ['weapon_minismg'] = 'mini smg', + ['weapon_pipebomb'] = 'bomba rurowa', + ['weapon_poolcue'] = 'kij bilardowy', + ['weapon_wrench'] = 'klucz do rur', + ['weapon_flashlight'] = 'latarka', + ['gadget_parachute'] = 'spadochron', + ['weapon_flare'] = 'pistolet sygnałowy', + ['weapon_doubleaction'] = 'double-Action Revolver', - -- Weapon Components - ['component_clip_default'] = 'domyślny tłumik', - ['component_clip_extended'] = 'rozszerzony tłumik', - ['component_clip_drum'] = 'magazynek bębnowy', - ['component_clip_box'] = 'magazynek', - ['component_flashlight'] = 'latarka', - ['component_scope'] = 'luneta', - ['component_scope_advanced'] = 'zaawansowana luneta', - ['component_suppressor'] = 'tłumik', - ['component_grip'] = 'uchwyt', - ['component_luxary_finish'] = 'luksusowe wykończenie broni', + -- Weapon Components + ['component_clip_default'] = 'domyślny tłumik', + ['component_clip_extended'] = 'rozszerzony tłumik', + ['component_clip_drum'] = 'magazynek bębnowy', + ['component_clip_box'] = 'magazynek', + ['component_flashlight'] = 'latarka', + ['component_scope'] = 'luneta', + ['component_scope_advanced'] = 'zaawansowana luneta', + ['component_suppressor'] = 'tłumik', + ['component_grip'] = 'uchwyt', + ['component_luxary_finish'] = 'luksusowe wykończenie broni', - -- Weapon Ammo - ['ammo_rounds'] = 'nabój/oi', - ['ammo_shells'] = 'pocisk(ów)', - ['ammo_charge'] = 'naładowania', - ['ammo_petrol'] = 'galon(y) paliwa', - ['ammo_firework'] = 'fajerwerka/i', - ['ammo_rockets'] = 'rakieta/y', - ['ammo_grenadelauncher'] = 'granat(y)', - ['ammo_grenade'] = 'granat(y)', - ['ammo_stickybomb'] = 'bomba/y', - ['ammo_pipebomb'] = 'bomba/y', - ['ammo_smokebomb'] = 'bomba/y', - ['ammo_molotov'] = 'kontail(e)', - ['ammo_proxmine'] = 'mina/y', - ['ammo_bzgas'] = 'puszka/ek', - ['ammo_ball'] = 'kula/e', - ['ammo_snowball'] = 'snieżka/i', - ['ammo_flare'] = 'flara/y', - ['ammo_flaregun'] = 'flara/y', + -- Drug Wars DLC + ['weapon_candycane'] = 'Candy Cane', -- not translated + ['weapon_acidpackage'] = 'Acid Package', -- not translated + ['weapon_pistolxm3'] = 'WM 29 Pistol', -- not translated + ['weapon_railgunxm3'] = 'Railgun', -- not translated - -- Weapon Tints - ['tint_default'] = 'domyślny skin', - ['tint_green'] = 'zielony skin', - ['tint_gold'] = 'złoty skin', - ['tint_pink'] = 'różowy skin', - ['tint_army'] = 'wojskowy skin', - ['tint_lspd'] = 'niebieski skin', - ['tint_orange'] = 'pomarańczowy skin', - ['tint_platinum'] = 'platynowy skin', + -- Weapon Ammo + ['ammo_rounds'] = 'nabój/oi', + ['ammo_shells'] = 'pocisk(ów)', + ['ammo_charge'] = 'naładowania', + ['ammo_petrol'] = 'galon(y) paliwa', + ['ammo_firework'] = 'fajerwerka/i', + ['ammo_rockets'] = 'rakieta/y', + ['ammo_grenadelauncher'] = 'granat(y)', + ['ammo_grenade'] = 'granat(y)', + ['ammo_stickybomb'] = 'bomba/y', + ['ammo_pipebomb'] = 'bomba/y', + ['ammo_smokebomb'] = 'bomba/y', + ['ammo_molotov'] = 'kontail(e)', + ['ammo_proxmine'] = 'mina/y', + ['ammo_bzgas'] = 'puszka/ek', + ['ammo_ball'] = 'kula/e', + ['ammo_snowball'] = 'snieżka/i', + ['ammo_flare'] = 'flara/y', + ['ammo_flaregun'] = 'flara/y', + + -- Weapon Tints + ['tint_default'] = 'domyślny skin', + ['tint_green'] = 'zielony skin', + ['tint_gold'] = 'złoty skin', + ['tint_pink'] = 'różowy skin', + ['tint_army'] = 'wojskowy skin', + ['tint_lspd'] = 'niebieski skin', + ['tint_orange'] = 'pomarańczowy skin', + ['tint_platinum'] = 'platynowy skin', } diff --git a/[core]/es_extended/locales/sc.lua b/[core]/es_extended/locales/sc.lua deleted file mode 100644 index 8c3d6598..00000000 --- a/[core]/es_extended/locales/sc.lua +++ /dev/null @@ -1,228 +0,0 @@ -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 new file mode 100644 index 00000000..880ef536 --- /dev/null +++ b/[core]/es_extended/locales/sl.lua @@ -0,0 +1,372 @@ +Locales['sl'] = { + -- Inventory + ['inventory'] = 'Shramba ( Teza %s / %s )', + ['use'] = 'Uporabi', + ['give'] = 'Daj', + ['remove'] = 'Vrzi', + ['return'] = 'Povratek', + ['give_to'] = 'Daj', + ['amount'] = 'Vsota', + ['giveammo'] = 'Daj Strelivo', + ['amountammo'] = 'Količina streliva', + ['noammo'] = 'Ni dovolj!', + ['gave_item'] = 'Dal si %sx %s k %s', + ['received_item'] = 'Dobil si %sx %s od %s', + ['gave_weapon'] = 'Dajanje %s do %s', + ['gave_weapon_ammo'] = 'Dajanje ~o~%sx %s za %s do %s', + ['gave_weapon_withammo'] = 'Dajanje %s z ~o~%sx %s do %s', + ['gave_weapon_hasalready'] = '%s ze ima %s', + ['gave_weapon_noweapon'] = '%s se nima tega orozja', + ['received_weapon'] = 'Dobil si %s od %s', + ['received_weapon_ammo'] = 'Dobil ~o~%sx %s za tvoj/o %s od %s', + ['received_weapon_withammo'] = 'Dobil si %s z ~o~%sx %s od %s', + ['received_weapon_hasalready'] = '%s vam je poskušal dati %s, vendar že imate to orožje', + ['received_weapon_noweapon'] = '%s vam je poskušal dati strelivo za %s, vendar nimate tega orožja', + ['gave_account_money'] = 'Dajanje $%s (%s) do %s', + ['received_account_money'] = 'Dobil $%s (%s) od %s', + ['amount_invalid'] = 'Neveljavna količina', + ['players_nearby'] = 'V blizini ni ljudi', + ['ex_inv_lim'] = 'Dejanja ni mogoče izvesti, saj presega največjo težo %s', + ['imp_invalid_quantity'] = 'Dejanja ni mogoče izvesti, količina je neveljavna', + ['imp_invalid_amount'] = 'Dejanja ni mogoče izvesti, znesek je neveljaven', + ['threw_standard'] = 'Metanje %sx %s', + ['threw_account'] = 'Metanje $%s %s', + ['threw_weapon'] = 'Metanje %s', + ['threw_weapon_ammo'] = 'Metanje %s z ~o~%sx %s', + ['threw_weapon_already'] = 'Ti ze imas to orozje', + ['threw_cannot_pickup'] = 'Shramba je poln, nemorem pobrati!', + ['threw_pickup_prompt'] = 'Pritisni E da poberes', + + -- Key mapping + ['keymap_showinventory'] = 'Pokazi Shrambo', + + -- Salary related + ['received_salary'] = 'Vi ste plačali: $%s', + ['received_help'] = 'Vi ste placali svoj CEK v vrednosti: $%s', + ['company_nomoney'] = 'podjetje, v katerem ste zaposleni, je prerevno, da bi vam izplačevalo plačo', + ['received_paycheck'] = 'Prejel si Placilo', + ['bank'] = 'NLB', + ['account_bank'] = 'Banka', + ['account_black_money'] = 'Umazan Denar', + ['account_money'] = 'Denar', + + ['act_imp'] = 'Dejanja ni mogoče izvesti', + ['in_vehicle'] = 'Dejanja ni mogoče izvesti, Oseba je v vozilu', + + -- Commands + ['command_bring'] = 'Teleportiraj osebo do sebe', + ['command_car'] = 'Spawnaj si vozilo', + ['command_car_car'] = 'Koda vozila', + ['command_cardel'] = 'Odstranite vozila v bližini', + ['command_cardel_radius'] = 'Odstrani vsa vozila v določenem radiju', + ['command_clear'] = 'Odstrani vsa sporocila v CHATU', + ['command_clearall'] = 'Počisti besedilo klepeta za vse igralce', + ['command_clearinventory'] = 'Vzemi vse stvari iz osebove shrambe', + ['command_clearloadout'] = 'Odstranite vse orožje iz nalaganja igralcev', + ['command_freeze'] = 'Zmrzni osebno', + ['command_unfreeze'] = 'Odmrzni osebo', + ['command_giveaccountmoney'] = 'Poslji denar na dolocen Bancni racun', + ['command_giveaccountmoney_account'] = 'Račun za dodajanje', + ['command_giveaccountmoney_amount'] = 'Znesek za dodajanje', + ['command_giveaccountmoney_invalid'] = 'Ime računa je neveljavno', + ['command_giveitem'] = 'Daj osebi neko stvar', + ['command_giveitem_item'] = 'Ime Stvari', + ['command_giveitem_count'] = 'Kolicina', + ['command_giveweapon'] = 'Daj osebi orozje', + ['command_giveweapon_weapon'] = 'Ime orozja', + ['command_giveweapon_ammo'] = 'Kolicina', + ['command_giveweapon_hasalready'] = 'Oseba ze ima to orozje!', + ['command_giveweaponcomponent'] = 'Daj komponento orožja igralcu', + ['command_giveweaponcomponent_component'] = 'Ime Komponente', + ['command_giveweaponcomponent_invalid'] = 'Neveljavna komponenta orožja', + ['command_giveweaponcomponent_hasalready'] = 'Oseba ze ima to komponento', + ['command_giveweaponcomponent_missingweapon'] = 'Oseba nima tega orozja!', + ['command_goto'] = 'Teleportirajte se k igralcu', + ['command_kill'] = 'Ubij igralca', + ['command_save'] = 'Prisilno shrani podatke igralca!', + ['command_saveall'] = 'Prisilno shrani vse podatke igralca', + ['command_setaccountmoney'] = 'Nastavite denar znotraj dolocenega racuna', + ['command_setaccountmoney_amount'] = 'Znesek', + ['command_setcoords'] = 'Teleport na dolocene koordinate', + ['command_setcoords_x'] = 'Vrednost X', + ['command_setcoords_y'] = 'Vrednost Y', + ['command_setcoords_z'] = 'Z vrednost', + ['command_setjob'] = 'Nastavi opravilo igralca', + ['command_setjob_job'] = 'Ime', + ['command_setjob_grade'] = 'Delovna ocena', + ['command_setjob_invalid'] = 'delovno mesto, ocena ali oboje ni veljavno', + ['command_setgroup'] = 'Nastavi skupino dovoljenj igralcev', + ['command_setgroup_group'] = 'Ime skupine', + ['commanderror_argumentmismatch'] = 'Neveljavno stetje argumentov (podano %s, zeleno %s)', + ['commanderror_argumentmismatch_number'] = 'Neveljaven podatkovni tip argumenta #%s (posredovan niz, zeleno stevilo)', + ['commanderror_invaliditem'] = 'Neveljaven element', + ['commanderror_invalidweapon'] = 'Neveljavno orozje', + ['commanderror_console'] = 'Ukaza ni mogoce izvesti s konzole', + ['commanderror_invalidcommand'] = 'Neveljaven ukaz - /%s', + ['commanderror_invalidplayerid'] = 'Naveden igralec ni na spletu', + ['commandgeneric_playerid'] = 'Id streznika igralca', + ['command_giveammo_noweapon_found'] = '%s nima tega orozja', + ['command_giveammo_weapon'] = 'Ime orozja', + ['command_giveammo_ammo'] = 'Kolicina streliva', + ['tpm_nowaypoint'] = 'Ni nastavljene poti!.', + ['tpm_success'] = 'Uspesno teleportiran', + + ['noclip_message'] = 'Noclip je bil %s', + ['enabled'] = '~g~Vkljucen~s~', + ['disabled'] = '~r~Izkljucen~s~', + + -- Locale settings + ['locale_digit_grouping_symbol'] = ',', + ['locale_currency'] = '€%s', + + -- Weapons + + -- Melee + ['weapon_dagger'] = 'Dagger', + ['weapon_bat'] = 'Bat', + ['weapon_battleaxe'] = 'Battle Axe', + ['weapon_bottle'] = 'Bottle', + ['weapon_crowbar'] = 'Crowbar', + ['weapon_flashlight'] = 'Flashlight', + ['weapon_golfclub'] = 'Golf Club', + ['weapon_hammer'] = 'Hammer', + ['weapon_hatchet'] = 'Hatchet', + ['weapon_knife'] = 'Knife', + ['weapon_knuckle'] = 'Knuckledusters', + ['weapon_machete'] = 'Machete', + ['weapon_nightstick'] = 'Nightstick', + ['weapon_wrench'] = 'Pipe Wrench', + ['weapon_poolcue'] = 'Pool Cue', + ['weapon_stone_hatchet'] = 'Stone Hatchet', + ['weapon_switchblade'] = 'Switchblade', + + -- Handguns + ['weapon_appistol'] = 'AP Pistol', + ['weapon_ceramicpistol'] = 'Ceramic Pistol', + ['weapon_combatpistol'] = 'Combat Pistol', + ['weapon_doubleaction'] = 'Double-Action Revolver', + ['weapon_navyrevolver'] = 'Navy Revolver', + ['weapon_flaregun'] = 'Flaregun', + ['weapon_gadgetpistol'] = 'Gadget Pistol', + ['weapon_heavypistol'] = 'Heavy Pistol', + ['weapon_revolver'] = 'Heavy Revolver', + ['weapon_revolver_mk2'] = 'Heavy Revolver MK2', + ['weapon_marksmanpistol'] = 'Marksman Pistol', + ['weapon_pistol'] = 'Pistol', + ['weapon_pistol_mk2'] = 'Pistol MK2', + ['weapon_pistol50'] = 'Pistol .50', + ['weapon_snspistol'] = 'SNS Pistol', + ['weapon_snspistol_mk2'] = 'SNS Pistol MK2', + ['weapon_stungun'] = 'Taser', + ['weapon_raypistol'] = 'Up-N-Atomizer', + ['weapon_vintagepistol'] = 'Vintage Pistol', + + -- Shotguns + ['weapon_assaultshotgun'] = 'Assault Shotgun', + ['weapon_autoshotgun'] = 'Auto Shotgun', + ['weapon_bullpupshotgun'] = 'Bullpup Shotgun', + ['weapon_combatshotgun'] = 'Combat Shotgun', + ['weapon_dbshotgun'] = 'Double Barrel Shotgun', + ['weapon_heavyshotgun'] = 'Heavy Shotgun', + ['weapon_musket'] = 'Musket', + ['weapon_pumpshotgun'] = 'Pump Shotgun', + ['weapon_pumpshotgun_mk2'] = 'Pump Shotgun MK2', + ['weapon_sawnoffshotgun'] = 'Sawed Off Shotgun', + + -- SMG & LMG + ['weapon_assaultsmg'] = 'Assault SMG', + ['weapon_combatmg'] = 'Combat MG', + ['weapon_combatmg_mk2'] = 'Combat MG MK2', + ['weapon_combatpdw'] = 'Combat PDW', + ['weapon_gusenberg'] = 'Gusenberg Sweeper', + ['weapon_machinepistol'] = 'Machine Pistol', + ['weapon_mg'] = 'MG', + ['weapon_microsmg'] = 'Micro SMG', + ['weapon_minismg'] = 'Mini SMG', + ['weapon_smg'] = 'SMG', + ['weapon_smg_mk2'] = 'SMG MK2', + ['weapon_raycarbine'] = 'Unholy Hellbringer', + + -- Rifles + ['weapon_advancedrifle'] = 'Advanced Rifle', + ['weapon_assaultrifle'] = 'Assault Rifle', + ['weapon_assaultrifle_mk2'] = 'Assault Rifle MK2', + ['weapon_bullpuprifle'] = 'Bullpup Rifle', + ['weapon_bullpuprifle_mk2'] = 'Bullpup Rifle MK2', + ['weapon_carbinerifle'] = 'Carbine Rifle', + ['weapon_carbinerifle_mk2'] = 'Carbine Rifle MK2', + ['weapon_compactrifle'] = 'Compact Rifle', + ['weapon_militaryrifle'] = 'Military Rifle', + ['weapon_specialcarbine'] = 'Special Carbine', + ['weapon_specialcarbine_mk2'] = 'Special Carbine MK2', + + -- Sniper + ['weapon_heavysniper'] = 'Heavy Sniper', + ['weapon_heavysniper_mk2'] = 'Heavy Sniper MK2', + ['weapon_marksmanrifle'] = 'Marksman Rifle', + ['weapon_marksmanrifle_mk2'] = 'Marksman Rifle MK2', + ['weapon_sniperrifle'] = 'Sniper Rifle', + + -- Heavy / Launchers + ['weapon_compactlauncher'] = 'Compact Launcher', + ['weapon_firework'] = 'Firework Launcher', + ['weapon_grenadelauncher'] = 'Grenade Launcher', + ['weapon_hominglauncher'] = 'Homing Launcher', + ['weapon_minigun'] = 'Minigun', + ['weapon_railgun'] = 'Railgun', + ['weapon_rpg'] = 'Rocket Launcher', + ['weapon_rayminigun'] = 'Widowmaker', + + -- Criminal Enterprises DLC + ['weapon_metaldetector'] = 'Metal Detector', + ['weapon_precisionrifle'] = 'Precision Rifle', + ['weapon_tactilerifle'] = 'Service Carbine', + + -- Drug Wars DLC + ['weapon_candycane'] = 'Candy Cane', -- not translated + ['weapon_acidpackage'] = 'Acid Package', -- not translated + ['weapon_pistolxm3'] = 'WM 29 Pistol', -- not translated + ['weapon_railgunxm3'] = 'Railgun', -- not translated + + -- Thrown + ['weapon_ball'] = 'Baseball', + ['weapon_bzgas'] = 'BZ Gas', + ['weapon_flare'] = 'Flare', + ['weapon_grenade'] = 'Grenade', + ['weapon_petrolcan'] = 'Jerrycan', + ['weapon_hazardcan'] = 'Hazardous Jerrycan', + ['weapon_molotov'] = 'Molotov Cocktail', + ['weapon_proxmine'] = 'Proximity Mine', + ['weapon_pipebomb'] = 'Pipe Bomb', + ['weapon_snowball'] = 'Snowball', + ['weapon_stickybomb'] = 'Sticky Bomb', + ['weapon_smokegrenade'] = 'Tear Gas', + + -- Special + ['weapon_fireextinguisher'] = 'Fire Extinguisher', + ['weapon_digiscanner'] = 'Digital Scanner', + ['weapon_garbagebag'] = 'Garbage Bag', + ['weapon_handcuffs'] = 'Handcuffs', + ['gadget_nightvision'] = 'Night Vision', + ['gadget_parachute'] = 'parachute', + + -- Weapon Components + ['component_knuckle_base'] = 'base Model', + ['component_knuckle_pimp'] = 'the Pimp', + ['component_knuckle_ballas'] = 'the Ballas', + ['component_knuckle_dollar'] = 'the Hustler', + ['component_knuckle_diamond'] = 'the Rock', + ['component_knuckle_hate'] = 'the Hater', + ['component_knuckle_love'] = 'the Lover', + ['component_knuckle_player'] = 'the Player', + ['component_knuckle_king'] = 'the King', + ['component_knuckle_vagos'] = 'the Vagos', + + ['component_luxary_finish'] = 'luxary Weapon Finish', + + ['component_handle_default'] = 'default Handle', + ['component_handle_vip'] = 'vIP Handle', + ['component_handle_bodyguard'] = 'bodyguard Handle', + + ['component_vip_finish'] = 'vIP Finish', + ['component_bodyguard_finish'] = 'bodyguard Finish', + + ['component_camo_finish'] = 'digital Camo', + ['component_camo_finish2'] = 'brushstroke Camo', + ['component_camo_finish3'] = 'woodland Camo', + ['component_camo_finish4'] = 'skull Camo', + ['component_camo_finish5'] = 'sessanta Nove Camo', + ['component_camo_finish6'] = 'perseus Camo', + ['component_camo_finish7'] = 'leopard Camo', + ['component_camo_finish8'] = 'zebra Camo', + ['component_camo_finish9'] = 'geometric Camo', + ['component_camo_finish10'] = 'boom Camo', + ['component_camo_finish11'] = 'patriotic Camo', + + ['component_camo_slide_finish'] = 'digital Slide Camo', + ['component_camo_slide_finish2'] = 'brushstroke Slide Camo', + ['component_camo_slide_finish3'] = 'woodland Slide Camo', + ['component_camo_slide_finish4'] = 'skull Slide Camo', + ['component_camo_slide_finish5'] = 'sessanta Nove Slide Camo', + ['component_camo_slide_finish6'] = 'perseus Slide Camo', + ['component_camo_slide_finish7'] = 'leopard Slide Camo', + ['component_camo_slide_finish8'] = 'zebra Slide Camo', + ['component_camo_slide_finish9'] = 'geometric Slide Camo', + ['component_camo_slide_finish10'] = 'boom Slide Camo', + ['component_camo_slide_finish11'] = 'patriotic Slide Camo', + + ['component_clip_default'] = 'default Magazine', + ['component_clip_extended'] = 'extended Magazine', + ['component_clip_drum'] = 'drum Magazine', + ['component_clip_box'] = 'box Magazine', + + ['component_scope_holo'] = 'holographic Scope', + ['component_scope_small'] = 'small Scope', + ['component_scope_medium'] = 'medium Scope', + ['component_scope_large'] = 'large Scope', + ['component_scope'] = 'mounted Scope', + ['component_scope_advanced'] = 'advanced Scope', + ['component_ironsights'] = 'ironsights', + + ['component_suppressor'] = 'suppressor', + ['component_compensator'] = 'compensator', + + ['component_muzzle_flat'] = 'flat Muzzle Brake', + ['component_muzzle_tactical'] = 'tactical Muzzle Brake', + ['component_muzzle_fat'] = 'fat-End Muzzle Brake', + ['component_muzzle_precision'] = 'precision Muzzle Brake', + ['component_muzzle_heavy'] = 'heavy Duty Muzzle Brake', + ['component_muzzle_slanted'] = 'slanted Muzzle Brake', + ['component_muzzle_split'] = 'split-End Muzzle Brake', + ['component_muzzle_squared'] = 'squared Muzzle Brake', + + ['component_flashlight'] = 'flashlight', + ['component_grip'] = 'grip', + + ['component_barrel_default'] = 'default Barrel', + ['component_barrel_heavy'] = 'heavy Barrel', + + ['component_ammo_tracer'] = 'tracer Ammo', + ['component_ammo_incendiary'] = 'incendiary Ammo', + ['component_ammo_hollowpoint'] = 'hollowpoint Ammo', + ['component_ammo_fmj'] = 'fMJ Ammo', + ['component_ammo_armor'] = 'armor Piercing Ammo', + ['component_ammo_explosive'] = 'armor Piercing Incendiary Ammo', + + ['component_shells_default'] = 'default Shells', + ['component_shells_incendiary'] = 'dragons Breath Shells', + ['component_shells_armor'] = 'steel Buckshot Shells', + ['component_shells_hollowpoint'] = 'flechette Shells', + ['component_shells_explosive'] = 'explosive Slug Shells', + + -- Weapon Ammo + ['ammo_rounds'] = 'round(s)', + ['ammo_shells'] = 'shell(s)', + ['ammo_charge'] = 'charge', + ['ammo_petrol'] = 'gallons of fuel', + ['ammo_firework'] = 'firework(s)', + ['ammo_rockets'] = 'rocket(s)', + ['ammo_grenadelauncher'] = 'grenade(s)', + ['ammo_grenade'] = 'grenade(s)', + ['ammo_stickybomb'] = 'bomb(s)', + ['ammo_pipebomb'] = 'bomb(s)', + ['ammo_smokebomb'] = 'bomb(s)', + ['ammo_molotov'] = 'cocktail(s)', + ['ammo_proxmine'] = 'mine(s)', + ['ammo_bzgas'] = 'can(s)', + ['ammo_ball'] = 'ball(s)', + ['ammo_snowball'] = 'snowball(s)', + ['ammo_flare'] = 'flare(s)', + ['ammo_flaregun'] = 'flare(s)', + + -- Weapon Tints + ['tint_default'] = 'default skin', + ['tint_green'] = 'green skin', + ['tint_gold'] = 'gold skin', + ['tint_pink'] = 'pink skin', + ['tint_army'] = 'army skin', + ['tint_lspd'] = 'blue skin', + ['tint_orange'] = 'orange skin', + ['tint_platinum'] = 'platinum skin', + } + \ No newline at end of file diff --git a/[core]/es_extended/locales/sr.lua b/[core]/es_extended/locales/sr.lua new file mode 100644 index 00000000..e3fe777c --- /dev/null +++ b/[core]/es_extended/locales/sr.lua @@ -0,0 +1,371 @@ +Locales['sr'] = { + -- Inventory + ['inventory'] = 'Inventar ( Težina %s / %s )', + ['use'] = 'Koristi', + ['give'] = 'Daj', + ['remove'] = 'Baci', + ['return'] = 'Nazad', + ['give_to'] = 'Daj', + ['amount'] = 'Količina', + ['giveammo'] = 'Daj municiju', + ['amountammo'] = 'Količina municije', + ['noammo'] = 'Nemate dovoljno!', + ['gave_item'] = 'Davanje %sx %s igraču %s', + ['received_item'] = 'Dobijeno %sx %s od %s', + ['gave_weapon'] = 'Davanje %s igraču %s', + ['gave_weapon_ammo'] = 'Davanje ~o~%sx %s za %s igraču %s', + ['gave_weapon_withammo'] = 'Davanje %s sa ~o~%sx %s igraču %s', + ['gave_weapon_hasalready'] = '%s već ima %s', + ['gave_weapon_noweapon'] = '%s nema to oružje', + ['received_weapon'] = 'Dobijeno %s od %s', + ['received_weapon_ammo'] = 'Dobijeno ~o~%sx %s za vaš %s od %s', + ['received_weapon_withammo'] = 'Dobijeno %s sa ~o~%sx %s od %s', + ['received_weapon_hasalready'] = '%s je pokušao da Vam da %s, ali vi već imate to oružje', + ['received_weapon_noweapon'] = '%s je pokušao da Vam da municiju za %s, ali vi nemate to oružje', + ['gave_account_money'] = 'Davanje $%s (%s) igraču %s', + ['received_account_money'] = 'Dobijeno $%s (%s) od %s', + ['amount_invalid'] = 'Nevažeća količina', + ['players_nearby'] = 'Nema igrača u blizini', + ['ex_inv_lim'] = 'Ne možete uraditi to, premašuje max težinu od %s', + ['imp_invalid_quantity'] = 'Nevažeća količina', + ['imp_invalid_amount'] = 'Nevažeći iznos', + ['threw_standard'] = 'Bacanje %sx %s', + ['threw_account'] = 'Bacanje $%s %s', + ['threw_weapon'] = 'Bacanje %s', + ['threw_weapon_ammo'] = 'Bacanje %s sa ~o~%sx %s', + ['threw_weapon_already'] = 'Vi već imate to oružje', + ['threw_cannot_pickup'] = 'Inventar je pun, ne možete pokupiti to!', + ['threw_pickup_prompt'] = 'Pritisni E da pokupiš', + + -- Key mapping + ['keymap_showinventory'] = 'Otvaranje inventara', + + -- Salary related + ['received_salary'] = 'Plaćeno Vam je: $%s', + ['received_help'] = 'Isplaćen Vam je ček: $%s', + ['company_nomoney'] = 'Kompanija u kojoj ste zapošljeni nema više novca', + ['received_paycheck'] = 'primili ste platu', + ['bank'] = 'Maze Banka', + ['account_bank'] = 'Banka', + ['account_black_money'] = 'Prljav novac', + ['account_money'] = 'Novac', + + ['act_imp'] = 'Ne možete izvršiti radnju', + ['in_vehicle'] = 'Ne možete uraditi to dok je igrač u vozilu', + + -- Commands + ['command_bring'] = 'TP-ajte igrača do Vas', + ['command_car'] = 'Stvorite vozilo', + ['command_car_car'] = 'Model ili hash vozila', + ['command_cardel'] = 'Obrišite vozilo u blizini', + ['command_cardel_radius'] = 'Obrišite sva vozila unutar navedenog radiusa', + ['command_clear'] = 'Obrišite chat', + ['command_clearall'] = 'Obrišite chat za sve igrače', + ['command_clearinventory'] = 'Obrišite sve stvari iz inventara igrača', + ['command_clearloadout'] = 'Obrišite sva oružja iz inventara igrača', + ['command_freeze'] = 'Zaledite igrača', + ['command_unfreeze'] = 'Odledite igrača', + ['command_giveaccountmoney'] = 'Dajte novac na odredjeni nalog', + ['command_giveaccountmoney_account'] = 'Nalog za slanje', + ['command_giveaccountmoney_amount'] = 'Količina', + ['command_giveaccountmoney_invalid'] = 'Nalog nepostojeći', + ['command_giveitem'] = 'Dajte item igraču', + ['command_giveitem_item'] = 'Ime item-a', + ['command_giveitem_count'] = 'Količina', + ['command_giveweapon'] = 'Dajte oružje igraču', + ['command_giveweapon_weapon'] = 'Ime oružja', + ['command_giveweapon_ammo'] = 'Količina municije', + ['command_giveweapon_hasalready'] = 'Igrač već ima to oružje', + ['command_giveweaponcomponent'] = 'Dajte dodatak za oružje igraču', + ['command_giveweaponcomponent_component'] = 'Ime dodatka', + ['command_giveweaponcomponent_invalid'] = 'Nevažeći dodatak', + ['command_giveweaponcomponent_hasalready'] = 'Igrač već ima taj dodatak', + ['command_giveweaponcomponent_missingweapon'] = 'Igrač nema oružje', + ['command_goto'] = 'Idite do igrača', + ['command_kill'] = 'Ubijte igrača', + ['command_save'] = 'Forsirajte čuvanje date igrača', + ['command_saveall'] = 'Forsirajte čuvanje date svih igrača', + ['command_setaccountmoney'] = 'Postavite novac na određeni račun', + ['command_setaccountmoney_amount'] = 'Količina', + ['command_setcoords'] = 'Teleportujte se na koordinate', + ['command_setcoords_x'] = 'X', + ['command_setcoords_y'] = 'Y', + ['command_setcoords_z'] = 'Z', + ['command_setjob'] = 'Postavite posao igraču', + ['command_setjob_job'] = 'Ime', + ['command_setjob_grade'] = 'Stepen posla', + ['command_setjob_invalid'] = 'posao, stepen ili oba nisu validna', + ['command_setgroup'] = 'Postavite permisiju', + ['command_setgroup_group'] = 'Ime grupe', + ['commanderror_argumentmismatch'] = 'Nevazeci broj argumenata (položio %s, željeno %s)', + ['commanderror_argumentmismatch_number'] = 'Nevažeći argument #%s tip podataka (položeno, željeno)', + ['commanderror_invaliditem'] = 'Nevažeći item', + ['commanderror_invalidweapon'] = 'Nevažeće oružje', + ['commanderror_console'] = 'Komanda se ne može izvršiti iz konzole', + ['commanderror_invalidcommand'] = 'Nevažeća komanda - /%s', + ['commanderror_invalidplayerid'] = 'Igrač nije online', + ['commandgeneric_playerid'] = 'Igračev server ID', + ['command_giveammo_noweapon_found'] = '%s nema to oružje', + ['command_giveammo_weapon'] = 'Ime oružja', + ['command_giveammo_ammo'] = 'Količina municije', + ['tpm_nowaypoint'] = 'Morate označiti lokaciju.', + ['tpm_success'] = 'Teleportovani ste na lokaciju', + + ['noclip_message'] = 'Noclip %s', + ['enabled'] = '~g~upaljen~s~', + ['disabled'] = '~r~ugašen~s~', + + -- Locale settings + ['locale_digit_grouping_symbol'] = ',', + ['locale_currency'] = '£%s', + + -- Weapons + + -- Melee + ['weapon_dagger'] = 'Dagger', + ['weapon_bat'] = 'Bat', + ['weapon_battleaxe'] = 'Battle Axe', + ['weapon_bottle'] = 'Bottle', + ['weapon_crowbar'] = 'Crowbar', + ['weapon_flashlight'] = 'Flashlight', + ['weapon_golfclub'] = 'Golf Club', + ['weapon_hammer'] = 'Hammer', + ['weapon_hatchet'] = 'Hatchet', + ['weapon_knife'] = 'Knife', + ['weapon_knuckle'] = 'Knuckledusters', + ['weapon_machete'] = 'Machete', + ['weapon_nightstick'] = 'Nightstick', + ['weapon_wrench'] = 'Pipe Wrench', + ['weapon_poolcue'] = 'Pool Cue', + ['weapon_stone_hatchet'] = 'Stone Hatchet', + ['weapon_switchblade'] = 'Switchblade', + + -- Handguns + ['weapon_appistol'] = 'AP Pistol', + ['weapon_ceramicpistol'] = 'Ceramic Pistol', + ['weapon_combatpistol'] = 'Combat Pistol', + ['weapon_doubleaction'] = 'Double-Action Revolver', + ['weapon_navyrevolver'] = 'Navy Revolver', + ['weapon_flaregun'] = 'Flaregun', + ['weapon_gadgetpistol'] = 'Gadget Pistol', + ['weapon_heavypistol'] = 'Heavy Pistol', + ['weapon_revolver'] = 'Heavy Revolver', + ['weapon_revolver_mk2'] = 'Heavy Revolver MK2', + ['weapon_marksmanpistol'] = 'Marksman Pistol', + ['weapon_pistol'] = 'Pistol', + ['weapon_pistol_mk2'] = 'Pistol MK2', + ['weapon_pistol50'] = 'Pistol .50', + ['weapon_snspistol'] = 'SNS Pistol', + ['weapon_snspistol_mk2'] = 'SNS Pistol MK2', + ['weapon_stungun'] = 'Taser', + ['weapon_raypistol'] = 'Up-N-Atomizer', + ['weapon_vintagepistol'] = 'Vintage Pistol', + + -- Shotguns + ['weapon_assaultshotgun'] = 'Assault Shotgun', + ['weapon_autoshotgun'] = 'Auto Shotgun', + ['weapon_bullpupshotgun'] = 'Bullpup Shotgun', + ['weapon_combatshotgun'] = 'Combat Shotgun', + ['weapon_dbshotgun'] = 'Double Barrel Shotgun', + ['weapon_heavyshotgun'] = 'Heavy Shotgun', + ['weapon_musket'] = 'Musket', + ['weapon_pumpshotgun'] = 'Pump Shotgun', + ['weapon_pumpshotgun_mk2'] = 'Pump Shotgun MK2', + ['weapon_sawnoffshotgun'] = 'Sawed Off Shotgun', + + -- SMG & LMG + ['weapon_assaultsmg'] = 'Assault SMG', + ['weapon_combatmg'] = 'Combat MG', + ['weapon_combatmg_mk2'] = 'Combat MG MK2', + ['weapon_combatpdw'] = 'Combat PDW', + ['weapon_gusenberg'] = 'Gusenberg Sweeper', + ['weapon_machinepistol'] = 'Machine Pistol', + ['weapon_mg'] = 'MG', + ['weapon_microsmg'] = 'Micro SMG', + ['weapon_minismg'] = 'Mini SMG', + ['weapon_smg'] = 'SMG', + ['weapon_smg_mk2'] = 'SMG MK2', + ['weapon_raycarbine'] = 'Unholy Hellbringer', + + -- Rifles + ['weapon_advancedrifle'] = 'Advanced Rifle', + ['weapon_assaultrifle'] = 'Assault Rifle', + ['weapon_assaultrifle_mk2'] = 'Assault Rifle MK2', + ['weapon_bullpuprifle'] = 'Bullpup Rifle', + ['weapon_bullpuprifle_mk2'] = 'Bullpup Rifle MK2', + ['weapon_carbinerifle'] = 'Carbine Rifle', + ['weapon_carbinerifle_mk2'] = 'Carbine Rifle MK2', + ['weapon_compactrifle'] = 'Compact Rifle', + ['weapon_militaryrifle'] = 'Military Rifle', + ['weapon_specialcarbine'] = 'Special Carbine', + ['weapon_specialcarbine_mk2'] = 'Special Carbine MK2', + + -- Sniper + ['weapon_heavysniper'] = 'Heavy Sniper', + ['weapon_heavysniper_mk2'] = 'Heavy Sniper MK2', + ['weapon_marksmanrifle'] = 'Marksman Rifle', + ['weapon_marksmanrifle_mk2'] = 'Marksman Rifle MK2', + ['weapon_sniperrifle'] = 'Sniper Rifle', + + -- Heavy / Launchers + ['weapon_compactlauncher'] = 'Compact Launcher', + ['weapon_firework'] = 'Firework Launcher', + ['weapon_grenadelauncher'] = 'Grenade Launcher', + ['weapon_hominglauncher'] = 'Homing Launcher', + ['weapon_minigun'] = 'Minigun', + ['weapon_railgun'] = 'Railgun', + ['weapon_rpg'] = 'Rocket Launcher', + ['weapon_rayminigun'] = 'Widowmaker', + + -- Criminal Enterprises DLC + ['weapon_metaldetector'] = 'Metal Detector', + ['weapon_precisionrifle'] = 'Precision Rifle', + ['weapon_tactilerifle'] = 'Service Carbine', + + -- Drug Wars DLC + ['weapon_candycane'] = 'Candy Cane', -- not translated + ['weapon_acidpackage'] = 'Acid Package', -- not translated + ['weapon_pistolxm3'] = 'WM 29 Pistol', -- not translated + ['weapon_railgunxm3'] = 'Railgun', -- not translated + + -- Thrown + ['weapon_ball'] = 'Baseball', + ['weapon_bzgas'] = 'BZ Gas', + ['weapon_flare'] = 'Flare', + ['weapon_grenade'] = 'Grenade', + ['weapon_petrolcan'] = 'Jerrycan', + ['weapon_hazardcan'] = 'Hazardous Jerrycan', + ['weapon_molotov'] = 'Molotov Cocktail', + ['weapon_proxmine'] = 'Proximity Mine', + ['weapon_pipebomb'] = 'Pipe Bomb', + ['weapon_snowball'] = 'Snowball', + ['weapon_stickybomb'] = 'Sticky Bomb', + ['weapon_smokegrenade'] = 'Tear Gas', + + -- Special + ['weapon_fireextinguisher'] = 'Fire Extinguisher', + ['weapon_digiscanner'] = 'Digital Scanner', + ['weapon_garbagebag'] = 'Garbage Bag', + ['weapon_handcuffs'] = 'Handcuffs', + ['gadget_nightvision'] = 'Night Vision', + ['gadget_parachute'] = 'parachute', + + -- Weapon Components + ['component_knuckle_base'] = 'base Model', + ['component_knuckle_pimp'] = 'the Pimp', + ['component_knuckle_ballas'] = 'the Ballas', + ['component_knuckle_dollar'] = 'the Hustler', + ['component_knuckle_diamond'] = 'the Rock', + ['component_knuckle_hate'] = 'the Hater', + ['component_knuckle_love'] = 'the Lover', + ['component_knuckle_player'] = 'the Player', + ['component_knuckle_king'] = 'the King', + ['component_knuckle_vagos'] = 'the Vagos', + + ['component_luxary_finish'] = 'luxary Weapon Finish', + + ['component_handle_default'] = 'default Handle', + ['component_handle_vip'] = 'vIP Handle', + ['component_handle_bodyguard'] = 'bodyguard Handle', + + ['component_vip_finish'] = 'vIP Finish', + ['component_bodyguard_finish'] = 'bodyguard Finish', + + ['component_camo_finish'] = 'digital Camo', + ['component_camo_finish2'] = 'brushstroke Camo', + ['component_camo_finish3'] = 'woodland Camo', + ['component_camo_finish4'] = 'skull Camo', + ['component_camo_finish5'] = 'sessanta Nove Camo', + ['component_camo_finish6'] = 'perseus Camo', + ['component_camo_finish7'] = 'leopard Camo', + ['component_camo_finish8'] = 'zebra Camo', + ['component_camo_finish9'] = 'geometric Camo', + ['component_camo_finish10'] = 'boom Camo', + ['component_camo_finish11'] = 'patriotic Camo', + + ['component_camo_slide_finish'] = 'digital Slide Camo', + ['component_camo_slide_finish2'] = 'brushstroke Slide Camo', + ['component_camo_slide_finish3'] = 'woodland Slide Camo', + ['component_camo_slide_finish4'] = 'skull Slide Camo', + ['component_camo_slide_finish5'] = 'sessanta Nove Slide Camo', + ['component_camo_slide_finish6'] = 'perseus Slide Camo', + ['component_camo_slide_finish7'] = 'leopard Slide Camo', + ['component_camo_slide_finish8'] = 'zebra Slide Camo', + ['component_camo_slide_finish9'] = 'geometric Slide Camo', + ['component_camo_slide_finish10'] = 'boom Slide Camo', + ['component_camo_slide_finish11'] = 'patriotic Slide Camo', + + ['component_clip_default'] = 'default Magazine', + ['component_clip_extended'] = 'extended Magazine', + ['component_clip_drum'] = 'drum Magazine', + ['component_clip_box'] = 'box Magazine', + + ['component_scope_holo'] = 'holographic Scope', + ['component_scope_small'] = 'small Scope', + ['component_scope_medium'] = 'medium Scope', + ['component_scope_large'] = 'large Scope', + ['component_scope'] = 'mounted Scope', + ['component_scope_advanced'] = 'advanced Scope', + ['component_ironsights'] = 'ironsights', + + ['component_suppressor'] = 'suppressor', + ['component_compensator'] = 'compensator', + + ['component_muzzle_flat'] = 'flat Muzzle Brake', + ['component_muzzle_tactical'] = 'tactical Muzzle Brake', + ['component_muzzle_fat'] = 'fat-End Muzzle Brake', + ['component_muzzle_precision'] = 'precision Muzzle Brake', + ['component_muzzle_heavy'] = 'heavy Duty Muzzle Brake', + ['component_muzzle_slanted'] = 'slanted Muzzle Brake', + ['component_muzzle_split'] = 'split-End Muzzle Brake', + ['component_muzzle_squared'] = 'squared Muzzle Brake', + + ['component_flashlight'] = 'flashlight', + ['component_grip'] = 'grip', + + ['component_barrel_default'] = 'default Barrel', + ['component_barrel_heavy'] = 'heavy Barrel', + + ['component_ammo_tracer'] = 'tracer Ammo', + ['component_ammo_incendiary'] = 'incendiary Ammo', + ['component_ammo_hollowpoint'] = 'hollowpoint Ammo', + ['component_ammo_fmj'] = 'fMJ Ammo', + ['component_ammo_armor'] = 'armor Piercing Ammo', + ['component_ammo_explosive'] = 'armor Piercing Incendiary Ammo', + + ['component_shells_default'] = 'default Shells', + ['component_shells_incendiary'] = 'dragons Breath Shells', + ['component_shells_armor'] = 'steel Buckshot Shells', + ['component_shells_hollowpoint'] = 'flechette Shells', + ['component_shells_explosive'] = 'explosive Slug Shells', + + -- Weapon Ammo + ['ammo_rounds'] = 'round(s)', + ['ammo_shells'] = 'shell(s)', + ['ammo_charge'] = 'charge', + ['ammo_petrol'] = 'gallons of fuel', + ['ammo_firework'] = 'firework(s)', + ['ammo_rockets'] = 'rocket(s)', + ['ammo_grenadelauncher'] = 'grenade(s)', + ['ammo_grenade'] = 'grenade(s)', + ['ammo_stickybomb'] = 'bomb(s)', + ['ammo_pipebomb'] = 'bomb(s)', + ['ammo_smokebomb'] = 'bomb(s)', + ['ammo_molotov'] = 'cocktail(s)', + ['ammo_proxmine'] = 'mine(s)', + ['ammo_bzgas'] = 'can(s)', + ['ammo_ball'] = 'ball(s)', + ['ammo_snowball'] = 'snowball(s)', + ['ammo_flare'] = 'flare(s)', + ['ammo_flaregun'] = 'flare(s)', + + -- Weapon Tints + ['tint_default'] = 'default skin', + ['tint_green'] = 'green skin', + ['tint_gold'] = 'gold skin', + ['tint_pink'] = 'pink skin', + ['tint_army'] = 'army skin', + ['tint_lspd'] = 'blue skin', + ['tint_orange'] = 'orange skin', + ['tint_platinum'] = 'platinum skin', +} diff --git a/[core]/es_extended/locales/sv.lua b/[core]/es_extended/locales/sv.lua deleted file mode 100644 index 734752b1..00000000 --- a/[core]/es_extended/locales/sv.lua +++ /dev/null @@ -1,349 +0,0 @@ -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 deleted file mode 100644 index 59c269f1..00000000 --- a/[core]/es_extended/locales/tc.lua +++ /dev/null @@ -1,365 +0,0 @@ -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 new file mode 100644 index 00000000..c9951bc7 --- /dev/null +++ b/[core]/es_extended/locales/zh-cn.lua @@ -0,0 +1,371 @@ +Locales['zh-cn'] = { + -- Inventory + ['inventory'] = '背包 %s / %s', + ['use'] = '使用', + ['give'] = '给予', + ['remove'] = '赠送', + ['return'] = '返回', + ['give_to'] = '赠给', + ['amount'] = '数量', + ['giveammo'] = '赠送弹药', + ['amountammo'] = '弹药量', + ['noammo'] = '您没有足够的弹药!', + ['gave_item'] = '您将 %sx %s 赠送给 %s', + ['received_item'] = '您收到 %sx %s, 来自于 %s 的赠送', + ['gave_weapon'] = '您把 %s 赠送给 %s', + ['gave_weapon_ammo'] = '您把 ~o~%sx %s %s 赠送给 %s', + ['gave_weapon_withammo'] = '您把 %s 和 ~o~%sx %s 赠送给 %s', + ['gave_weapon_hasalready'] = '%s 已持有 %s', + ['gave_weapon_noweapon'] = '%s 暂无该类型武器', + ['received_weapon'] = '您收到了 %s, 来自于 %s 的赠送', + ['received_weapon_ammo'] = '您收到了 ~o~%sx %s (%s),来自于%s的赠送', + ['received_weapon_withammo'] = '您收到了 %s 和~o~%sx %s,来自于%s的赠送', + ['received_weapon_hasalready'] = '%s 试图给您 %s,但您已持有', + ['received_weapon_noweapon'] = '%s 试图给您 %s 发子弹,但是您沒有该类型武器', + ['gave_account_money'] = '您将 $%s (%s) 赠送给 %s', + ['received_account_money'] = '您收到了 $%s (%s) 来自 %s 的赠送', + ['amount_invalid'] = '无效数量', + ['players_nearby'] = '附近没有玩家', + ['ex_inv_lim'] = '操作失败, 超过 %s 背包物品的上限', + ['imp_invalid_quantity'] = '操作失败,无效数量输入', + ['imp_invalid_amount'] = '操作失败,无效金额输入', + ['threw_standard'] = '您丢弃了 %sx %s', + ['threw_account'] = '您丢弃了 $%s %s', + ['threw_weapon'] = '您丢弃了 %s', + ['threw_weapon_ammo'] = '您丢弃了 %s 和 ~o~%sx %s', + ['threw_weapon_already'] = '您已持有相同武器!', + ['threw_cannot_pickup'] = '背包容量已满, 无法持有更多该物品!', + ['threw_pickup_prompt'] = '键下 [E] 捡起', + + -- Key mapping + ['keymap_showinventory'] = '显示背包', + + -- Salary related + ['received_salary'] = '您收到了您的工资: $%s', + ['received_help'] = '您领取到了您的无业性低保: $%s', + ['company_nomoney'] = '您受雇的公司太穷了,无法清算您的工资.', + ['received_paycheck'] = '收到转账', + ['bank'] = '花园银行', + ['account_bank'] = '银行', + ['account_black_money'] = '赃款', + ['account_money'] = '现金', + + ['act_imp'] = '操作失败', + ['in_vehicle'] = '请离开当前载具', + + -- 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'] = '传送至XYZ坐标', + ['command_setcoords_x'] = 'X 轴', + ['command_setcoords_y'] = 'Y 轴', + ['command_setcoords_z'] = 'Z 轴', + ['command_setjob'] = '配置该玩家职业', + ['command_setjob_job'] = '职业代码', + ['command_setjob_grade'] = '职业等级', + ['command_setjob_invalid'] = '职业代码、等级或输入数据无效!', + ['command_setgroup'] = '设置玩家用户组', + ['command_setgroup_group'] = '用户组代码', + ['commanderror_argumentmismatch'] = '参数计数不匹配 (该类型为 %s, 需要传输 %s)', + ['commanderror_argumentmismatch_number'] = '参数 #%s 类型不匹配 (该类型为字符串,需要传递数字类型)', + ['commanderror_invaliditem'] = '无效的物品代码', + ['commanderror_invalidweapon'] = '无效的武器代码', + ['commanderror_console'] = '控制台无法执行此命令!', + ['commanderror_invalidcommand'] = '/%s 不是有效的命令!', + ['commanderror_invalidplayerid'] = '无效的玩家服务器ID', + ['commandgeneric_playerid'] = '玩家服务器ID', + ['command_giveammo_noweapon_found'] = '%s 为无效的武器代码!', + ['command_giveammo_weapon'] = '武器代码', + ['command_giveammo_ammo'] = '弹药数量', + ['tpm_nowaypoint'] = '尚未配置导航点!', + ['tpm_success'] = '已传送至该导航点', + + ['noclip_message'] = '飞行模式已被激活 %s', + ['enabled'] = '~g~已开启~s~', + ['disabled'] = '~r~已关闭~s~', + + -- Locale settings + ['locale_digit_grouping_symbol'] = ',', + ['locale_currency'] = '$%s', + + -- Weapons + + -- Melee + ['weapon_dagger'] = '古骑兵匕首', + ['weapon_bat'] = '棒球棍', + ['weapon_battleaxe'] = '战斧', + ['weapon_bottle'] = '碎酒瓶', + ['weapon_crowbar'] = '撬棍', + ['weapon_flashlight'] = '手电筒', + ['weapon_golfclub'] = '高尔夫球杆', + ['weapon_hammer'] = '铁锤', + ['weapon_hatchet'] = '手斧', + ['weapon_knife'] = '小刀', + ['weapon_knuckle'] = '手指虎', + ['weapon_machete'] = '开山刀', + ['weapon_nightstick'] = '警棍', + ['weapon_wrench'] = '管钳扳手', + ['weapon_poolcue'] = '台球杆', + ['weapon_stone_hatchet'] = '石斧', + ['weapon_switchblade'] = '弹簧刀', + + -- Handguns + ['weapon_appistol'] = '穿甲手枪', + ['weapon_ceramicpistol'] = '陶瓷手枪', + ['weapon_combatpistol'] = '战斗手枪', + ['weapon_doubleaction'] = '双动式左轮手枪', + ['weapon_navyrevolver'] = '海军左轮手枪', + ['weapon_flaregun'] = '信号枪', + ['weapon_gadgetpistol'] = '佩里克手枪', + ['weapon_heavypistol'] = '重型手枪', + ['weapon_revolver'] = '重型左轮手枪', + ['weapon_revolver_mk2'] = '重型左轮手枪-MK2', + ['weapon_marksmanpistol'] = '射手手枪', + ['weapon_pistol'] = '手枪', + ['weapon_pistol_mk2'] = '手枪-MK2', + ['weapon_pistol50'] = '0.5-口径手枪', + ['weapon_snspistol'] = '劣质手枪', + ['weapon_snspistol_mk2'] = '劣质手枪-MK2', + ['weapon_stungun'] = '电击枪', + ['weapon_raypistol'] = '原子堡手枪', + ['weapon_vintagepistol'] = '老式手枪', + + -- Shotguns + ['weapon_assaultshotgun'] = '突击霰弹枪', + ['weapon_autoshotgun'] = '半自动霰弹枪', + ['weapon_bullpupshotgun'] = '无托式霰弹枪', + ['weapon_combatshotgun'] = '战斗霰弹枪', + ['weapon_dbshotgun'] = '双管霰弹枪', + ['weapon_heavyshotgun'] = '重型霰弹枪', + ['weapon_musket'] = '老式火枪', + ['weapon_pumpshotgun'] = '泵动式霰弹枪', + ['weapon_pumpshotgun_mk2'] = '泵动式霰弹枪-MK2', + ['weapon_sawnoffshotgun'] = '短管霰弹枪', + + -- SMG & LMG + ['weapon_assaultsmg'] = '突击冲锋枪', + ['weapon_combatmg'] = '战斗机枪', + ['weapon_combatmg_mk2'] = '战斗机枪-MK2', + ['weapon_combatpdw'] = '作战自卫冲锋枪', + ['weapon_gusenberg'] = '古森柏冲锋枪', + ['weapon_machinepistol'] = '冲锋手枪', + ['weapon_mg'] = '机枪', + ['weapon_microsmg'] = '微型冲锋枪', + ['weapon_minismg'] = '迷你冲锋枪', + ['weapon_smg'] = '冲锋枪', + ['weapon_smg_mk2'] = '冲锋枪-MK2', + ['weapon_raycarbine'] = '不洁使者', + + -- Rifles + ['weapon_advancedrifle'] = '高级步枪', + ['weapon_assaultrifle'] = '突击步枪', + ['weapon_assaultrifle_mk2'] = '突击步枪-MK2', + ['weapon_bullpuprifle'] = '无托式步枪', + ['weapon_bullpuprifle_mk2'] = '无托式步枪-MK2', + ['weapon_carbinerifle'] = '卡宾步枪', + ['weapon_carbinerifle_mk2'] = '卡宾步枪-MK2', + ['weapon_compactrifle'] = '紧凑型步枪', + ['weapon_militaryrifle'] = '军用步枪', + ['weapon_specialcarbine'] = '特制卡宾步枪', + ['weapon_specialcarbine_mk2'] = '特制卡宾步枪-MK2', + + -- Sniper + ['weapon_heavysniper'] = '重型狙击步枪', + ['weapon_heavysniper_mk2'] = '重型狙击步枪-MK2', + ['weapon_marksmanrifle'] = '射手步枪', + ['weapon_marksmanrifle_mk2'] = '射手步枪-MK2', + ['weapon_sniperrifle'] = '狙击步枪', + + -- Heavy / Launchers + ['weapon_compactlauncher'] = '紧凑型榴弹发射器', + ['weapon_firework'] = '烟花发射器', + ['weapon_grenadelauncher'] = '榴弹发射器', + ['weapon_hominglauncher'] = '制导火箭发射器', + ['weapon_minigun'] = '火神机枪', + ['weapon_railgun'] = '电磁轨道炮', + ['weapon_rpg'] = '火箭炮', + ['weapon_rayminigun'] = '寡妇制造者', + + -- Criminal Enterprises DLC + ['weapon_metaldetector'] = '金属探测器', + ['weapon_precisionrifle'] = '精确步枪', + ['weapon_tactilerifle'] = '制式卡宾步枪', + + -- Drug Wars DLC + ['weapon_candycane'] = 'Candy Cane', -- not translated + ['weapon_acidpackage'] = 'Acid Package', -- not translated + ['weapon_pistolxm3'] = 'WM 29 Pistol', -- not translated + ['weapon_railgunxm3'] = 'Railgun', -- not translated + + -- Thrown + ['weapon_ball'] = '棒球', + ['weapon_bzgas'] = '毒气弹', + ['weapon_flare'] = '信号棒', + ['weapon_grenade'] = '手榴弹', + ['weapon_petrolcan'] = '汽油桶', + ['weapon_hazardcan'] = '有害汽油桶', + ['weapon_molotov'] = '汽油弹', + ['weapon_proxmine'] = '感应式地雷', + ['weapon_pipebomb'] = '土製炸彈', + ['weapon_snowball'] = '雪球', + ['weapon_stickybomb'] = '黏弹', + ['weapon_smokegrenade'] = '烟雾弹', + + -- Special + ['weapon_fireextinguisher'] = '灭火器', + ['weapon_digiscanner'] = '数位扫描仪', + ['weapon_garbagebag'] = '垃圾袋', + ['weapon_handcuffs'] = '手铐', + ['gadget_nightvision'] = '夜视仪', + ['gadget_parachute'] = '降落伞', + + -- Weapon Components + ['component_knuckle_base'] = '基本样式', + ['component_knuckle_pimp'] = '皮条客', + ['component_knuckle_ballas'] = '巴拉斯帮', + ['component_knuckle_dollar'] = '江湖骗子', + ['component_knuckle_diamond'] = '摇滚朋克', + ['component_knuckle_hate'] = '怨气冤家', + ['component_knuckle_love'] = '甜蜜情人', + ['component_knuckle_player'] = '花花公子', + ['component_knuckle_king'] = '霸者之风', + ['component_knuckle_vagos'] = '维戈斯帮', + + ['component_luxary_finish'] = '奢华涂饰', + + ['component_handle_default'] = '默认刀柄', + ['component_handle_vip'] = '贵宾样式', + ['component_handle_bodyguard'] = '保镖款式', + + ['component_vip_finish'] = '贵宾样式', + ['component_bodyguard_finish'] = '保镖款式', + + ['component_camo_finish'] = '数码迷彩', + ['component_camo_finish2'] = '笔刷迷彩', + ['component_camo_finish3'] = '林地迷彩', + ['component_camo_finish4'] = '骷髅头', + ['component_camo_finish5'] = '希斯提·耐', + ['component_camo_finish6'] = '神之子', + ['component_camo_finish7'] = '猎豹纹理', + ['component_camo_finish8'] = '斑马纹理', + ['component_camo_finish9'] = '几何图形', + ['component_camo_finish10'] = 'BOOM!', + ['component_camo_finish11'] = '爱国者', + + ['component_camo_slide_finish'] = '数码迷涂装', + ['component_camo_slide_finish2'] = '笔刷迷彩涂装', + ['component_camo_slide_finish3'] = '林地迷彩涂装', + ['component_camo_slide_finish4'] = '骷髅头涂装', + ['component_camo_slide_finish5'] = '希斯提·耐涂装', + ['component_camo_slide_finish6'] = '神之子涂装', + ['component_camo_slide_finish7'] = '猎豹纹理涂装', + ['component_camo_slide_finish8'] = '斑马纹理涂装', + ['component_camo_slide_finish9'] = '几何图形涂装', + ['component_camo_slide_finish10'] = 'BOOM涂装', + ['component_camo_slide_finish11'] = '爱国者涂装', + + ['component_clip_default'] = '默认弹夹', + ['component_clip_extended'] = '扩容弹夹', + ['component_clip_drum'] = '鼓式弹夹', + ['component_clip_box'] = '盒型弹匣', + + ['component_scope_holo'] = '全息式瞄准镜', + ['component_scope_small'] = '小型瞄准镜', + ['component_scope_medium'] = '中型瞄准镜', + ['component_scope_large'] = '大型瞄准镜', + ['component_scope'] = '瞄准镜', + ['component_scope_advanced'] = '高级瞄准镜', + ['component_ironsights'] = '铁式瞄具', + + ['component_suppressor'] = '消音器', + ['component_compensator'] = '补偿器', + + ['component_muzzle_flat'] = '扁型枪口制动器', + ['component_muzzle_tactical'] = '战术枪口制动器', + ['component_muzzle_fat'] = '宽尾型枪口制动器', + ['component_muzzle_precision'] = '精準枪口制动器', + ['component_muzzle_heavy'] = '耐用型枪口制动器', + ['component_muzzle_slanted'] = '倾斜型枪口制动器', + ['component_muzzle_split'] = '分岔型枪口制动器', + ['component_muzzle_squared'] = '方形枪口制动器', + + ['component_flashlight'] = '手电筒', + ['component_grip'] = '握把', + + ['component_barrel_default'] = '默认枪管', + ['component_barrel_heavy'] = '重型枪管', + + ['component_ammo_tracer'] = '曳光弹', + ['component_ammo_incendiary'] = '燃烧弹', + ['component_ammo_hollowpoint'] = '被甲空尖弹', + ['component_ammo_fmj'] = '全金属包裹弹', + ['component_ammo_armor'] = '穿甲弹', + ['component_ammo_explosive'] = '爆炸蛋弹', + + ['component_shells_default'] = '默认弹药', + ['component_shells_incendiary'] = '燃烧弹', + ['component_shells_armor'] = '钢式猎鹿蛋', + ['component_shells_hollowpoint'] = '被甲空尖弹', + ['component_shells_explosive'] = '爆裂弹', + + -- Weapon Ammo + ['ammo_rounds'] = '发(子弹)', + ['ammo_shells'] = '发(子弹)', + ['ammo_charge'] = '喷', + ['ammo_petrol'] = '加仑(燃料)', + ['ammo_firework'] = '发(烟花弹)', + ['ammo_rockets'] = '枚(火箭弹)', + ['ammo_grenadelauncher'] = '发(榴弹)', + ['ammo_grenade'] = '枚(手榴弹)', + ['ammo_stickybomb'] = '枚(炸弹)', + ['ammo_pipebomb'] = '枚(炸弹)', + ['ammo_smokebomb'] = '枚(炸彈)', + ['ammo_molotov'] = '瓶(燃烧瓶)', + ['ammo_proxmine'] = '个(地雷)', + ['ammo_bzgas'] = '罐', + ['ammo_ball'] = '个(棒球)', + ['ammo_snowball'] = '个(雪球)', + ['ammo_flare'] = '根(信号棒)', + ['ammo_flaregun'] = '发(信号弹)', + + -- Weapon Tints + ['tint_default'] = '默认色调', + ['tint_green'] = '绿色调', + ['tint_gold'] = '金色调', + ['tint_pink'] = '粉色调', + ['tint_army'] = '军用色调', + ['tint_lspd'] = '洛圣都警局色调', + ['tint_orange'] = '橙色调', + ['tint_platinum'] = '铂金色调', +} diff --git a/[core]/es_extended/server/classes/overrides/oxinventory.lua b/[core]/es_extended/server/classes/overrides/oxinventory.lua index d983b714..4b4aa349 100644 --- a/[core]/es_extended/server/classes/overrides/oxinventory.lua +++ b/[core]/es_extended/server/classes/overrides/oxinventory.lua @@ -1,221 +1,223 @@ local Inventory if Config.OxInventory then - AddEventHandler('ox_inventory:loadInventory', function(module) - Inventory = module - end) + AddEventHandler('ox_inventory:loadInventory', function(module) + Inventory = module + end) end Core.PlayerFunctionOverrides.OxInventory = { - getInventory = function(self) - return function(minimal) - if minimal then - local minimalInventory = {} + getInventory = function(self) + return function(minimal) + if minimal then + local minimalInventory = {} - for k, v in pairs(self.inventory) do - if v.count and v.count > 0 then - local metadata = v.metadata + for k, v in pairs(self.inventory) do + if v.count and v.count > 0 then + local metadata = v.metadata - if v.metadata and next(v.metadata) == nil then - metadata = nil - end + if v.metadata and next(v.metadata) == nil then + metadata = nil + end - minimalInventory[#minimalInventory+1] = { - name = v.name, - count = v.count, - slot = k, - metadata = metadata - } - end - end + minimalInventory[#minimalInventory+1] = { + name = v.name, + count = v.count, + slot = k, + metadata = metadata + } + end + end - return minimalInventory - end + return minimalInventory + end - return self.inventory - end - end, + return self.inventory + end + end, - getLoadout = function(self) - return function() - return {} - end - end, + getLoadout = function(_) + return function() + return {} + end + end, - setAccountMoney = function(self) - return function(accountName,money, reason) - reason = reason or 'unknown' - if money >= 0 then - local account = self.getAccount(accountName) + setAccountMoney = function(self) + return function(accountName,money, reason) + reason = reason or 'unknown' + if money >= 0 then + local account = self.getAccount(accountName) - if account then - money = account.round and ESX.Math.Round(money) or money - self.accounts[account.index].money = money + if account then + money = account.round and ESX.Math.Round(money) or money + self.accounts[account.index].money = money - self.triggerEvent('esx:setAccountMoney', account) - TriggerEvent('esx:setAccountMoney', self.source, accountName, money, reason) - if Inventory.accounts[accountName] then - Inventory.SetItem(self.source, accountName, money) - end - end - end - end - end, + self.triggerEvent('esx:setAccountMoney', account) + TriggerEvent('esx:setAccountMoney', self.source, accountName, money, reason) + if Inventory.accounts[accountName] then + Inventory.SetItem(self.source, accountName, money) + end + end + end + end + end, - addAccountMoney = function(self) - return function(accountName,money, reason) - reason = reason or 'unknown' - if money > 0 then - local account = self.getAccount(accountName) + addAccountMoney = function(self) + return function(accountName,money, reason) + reason = reason or 'unknown' + if money > 0 then + local account = self.getAccount(accountName) - if account then + if account then money = account.round and ESX.Math.Round(money) or money - self.accounts[account.index].money += money - self.triggerEvent('esx:setAccountMoney', account) - TriggerEvent('esx:addAccountMoney', self.source, accountName, money, reason) - if Inventory.accounts[accountName] then - Inventory.AddItem(self.source, accountName, money) - end - end - end - end - end, + self.accounts[account.index].money = self.accounts[account.index].money + money + self.triggerEvent('esx:setAccountMoney', account) + TriggerEvent('esx:addAccountMoney', self.source, accountName, money, reason) + if Inventory.accounts[accountName] then + Inventory.AddItem(self.source, accountName, money) + end + end + end + end + end, - removeAccountMoney = function(self) - return function(accountName,money, reason) - reason = reason or 'unknown' - if money > 0 then - local account = self.getAccount(accountName) + removeAccountMoney = function(self) + return function(accountName,money, reason) + reason = reason or 'unknown' + if money > 0 then + local account = self.getAccount(accountName) - if account then - money = account.round and ESX.Math.Round(money) or money - self.accounts[account.index].money -= money - self.triggerEvent('esx:setAccountMoney', account) - TriggerEvent('esx:removeAccountMoney', self.source, accountName, money, reason) - if Inventory.accounts[accountName] then - Inventory.RemoveItem(self.source, accountName, money) - end - end - end - end - end, + if account then + money = account.round and ESX.Math.Round(money) or money + self.accounts[account.index].money = self.accounts[account.index].mone - money + self.triggerEvent('esx:setAccountMoney', account) + TriggerEvent('esx:removeAccountMoney', self.source, accountName, money, reason) + if Inventory.accounts[accountName] then + Inventory.RemoveItem(self.source, accountName, money) + end + end + end + end + end, - getInventoryItem = function(self) - return function(name,metadata) - return Inventory.GetItem(self.source, name, metadata) - end - end, + getInventoryItem = function(self) + return function(name,metadata) + return Inventory.GetItem(self.source, name, metadata) + end + end, - addInventoryItem = function(self) - return function(name,count,metadata,slot) - return Inventory.AddItem(self.source, name, count or 1, metadata, slot) - end - end, + addInventoryItem = function(self) + return function(name,count,metadata,slot) + return Inventory.AddItem(self.source, name, count or 1, metadata, slot) + end + end, - removeInventoryItem = function(self) - return function(name,count,metadata,slot) - return Inventory.RemoveItem(self.source, name, count or 1, metadata, slot) - end - end, + removeInventoryItem = function(self) + return function(name,count,metadata,slot) + return Inventory.RemoveItem(self.source, name, count or 1, metadata, slot) + end + end, - setInventoryItem = function(self) - return function(name,count,metadata) - return Inventory.SetItem(self.source, name, count, metadata) - end - end, + setInventoryItem = function(self) + return function(name,count,metadata) + return Inventory.SetItem(self.source, name, count, metadata) + end + end, - canCarryItem = function(self) - return function(name,count,metadata) - return Inventory.CanCarryItem(self.source, name, count, metadata) - end - end, + canCarryItem = function(self) + return function(name,count,metadata) + return Inventory.CanCarryItem(self.source, name, count, metadata) + end + end, - canSwapItem = function(self) - return function(firstItem, firstItemCount, testItem, testItemCount) - return Inventory.CanSwapItem(self.source, firstItem, firstItemCount, testItem, testItemCount) - end - end, + canSwapItem = function(self) + return function(firstItem, firstItemCount, testItem, testItemCount) + return Inventory.CanSwapItem(self.source, firstItem, firstItemCount, testItem, testItemCount) + end + end, - setMaxWeight = function(self) - return function(newWeight) - self.maxWeight = newWeight - self.triggerEvent('esx:setMaxWeight', self.maxWeight) - return Inventory.Set(self.source, 'maxWeight', newWeight) - end - end, + setMaxWeight = function(self) + return function(newWeight) + self.maxWeight = newWeight + self.triggerEvent('esx:setMaxWeight', self.maxWeight) + return Inventory.Set(self.source, 'maxWeight', newWeight) + end + end, - addWeapon = function(self) - return function() end - end, + addWeapon = function(_) + return function() end + end, - addWeaponComponent = function(self) - return function() end - end, + addWeaponComponent = function(_) + return function() end + end, - addWeaponAmmo = function(self) - return function() end - end, + addWeaponAmmo = function(_) + return function() end + end, - updateWeaponAmmo = function(self) - return function() end - end, + updateWeaponAmmo = function(_) + return function() end + end, - setWeaponTint = function(self) - return function() end - end, + setWeaponTint = function(_) + return function() end + end, - getWeaponTint = function(self) - return function() end - end, + getWeaponTint = function(_) + return function() end + end, - removeWeapon = function(self) - return function() end - end, + removeWeapon = function(_) + return function() end + end, - removeWeaponComponent = function(self) - return function() end - end, + removeWeaponComponent = function(_) + return function() end + end, - removeWeaponAmmo = function(self) - return function() end - end, + removeWeaponAmmo = function(_) + return function() end + end, - hasWeaponComponent = function(self) - return function() - return false - end - end, + hasWeaponComponent = function(_) + return function() + return false + end + end, - hasWeapon = function(self) - return function() - return false - end - end, + hasWeapon = function(_) + return function() + return false + end + end, - hasItem = function(self) - return function(name,metadata) - return Inventory.GetItem(self.source, name, metadata) - end - end, + hasItem = function(self) + return function(name,metadata) + return Inventory.GetItem(self.source, name, metadata) + end + end, - getWeapon = function(self) - return function() end - end, + getWeapon = function(_) + return function() end + end, - syncInventory = function(self) - return function(weight, maxWeight, items, money) - self.weight, self.maxWeight = weight, maxWeight - self.inventory = items + syncInventory = function(self) + return function(weight, maxWeight, items, money) + self.weight, self.maxWeight = weight, maxWeight + self.inventory = items - if money then - for k, v in pairs(money) do - local account = self.getAccount(k) - if ESX.Math.Round(account.money) ~= v then - account.money = v - self.triggerEvent('esx:setAccountMoney', account) - end - end - end - end - end -} \ No newline at end of file + if money then + for accountName, amount in pairs(money) do + local account = self.getAccount(accountName) + + if account and ESX.Math.Round(account.money) ~= amount then + account.money = amount + self.triggerEvent('esx:setAccountMoney', account) + TriggerEvent('esx:setAccountMoney', self.source, accountName, amount, 'Sync account with item') + end + end + end + end + end +} diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index e0788424..6d9b2b48 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -47,31 +47,18 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, SetEntityHeading(Ped, vector.w) end - function self.updateCoords() - SetTimeout(1000,function() - local Ped = GetPlayerPed(self.source) - if DoesEntityExist(Ped) then - local coords = GetEntityCoords(Ped) - local distance = #(coords - vector3(self.coords.x, self.coords.y, self.coords.z)) - if distance > 1.5 then - local heading = GetEntityHeading(Ped) - self.coords = { - x = coords.x, - y = coords.y, - z = coords.z, - heading = heading or 0.0 - } - end - end - self.updateCoords() - end) - end - function self.getCoords(vector) + local ped = GetPlayerPed(self.source) + local coords = GetEntityCoords(ped) + if vector then - return vector3(self.coords.x, self.coords.y, self.coords.z) + return coords else - return self.coords + return { + x = coords.x, + y = coords.y, + z = coords.z, + } end end @@ -129,7 +116,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, local minimalAccounts = {} - for i=1, #self.accounts do + for i = 1, #self.accounts do minimalAccounts[self.accounts[i].name] = self.accounts[i].money end @@ -137,18 +124,19 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, end function self.getAccount(account) - for i=1, #self.accounts do + for i = 1, #self.accounts do if self.accounts[i].name == account then return self.accounts[i] end end + return nil end function self.getInventory(minimal) if minimal then local minimalInventory = {} - for k, v in ipairs(self.inventory) do + for _, v in ipairs(self.inventory) do if v.count > 0 then minimalInventory[v.name] = v.count end @@ -170,7 +158,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, end local minimalLoadout = {} - for k,v in ipairs(self.loadout) do + for _, v in ipairs(self.loadout) do minimalLoadout[v.name] = {ammo = v.ammo} if v.tintIndex > 0 then minimalLoadout[v.name].tintIndex = v.tintIndex end @@ -203,7 +191,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, function self.setAccountMoney(accountName, money, reason) reason = reason or 'unknown' - if not tonumber(money) then + if not tonumber(money) then print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7'):format(accountName, self.playerId, money)) return end @@ -216,17 +204,17 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, self.triggerEvent('esx:setAccountMoney', account) TriggerEvent('esx:setAccountMoney', self.source, accountName, money, reason) - else + else print(('[^1ERROR^7] Tried To Set Invalid Account ^5%s^0 For Player ^5%s^0!'):format(accountName, self.playerId)) end - else + else print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7'):format(accountName, self.playerId, money)) end end function self.addAccountMoney(accountName, money, reason) reason = reason or 'Unknown' - if not tonumber(money) then + if not tonumber(money) then print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7'):format(accountName, self.playerId, money)) return end @@ -234,21 +222,21 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, local account = self.getAccount(accountName) if account then money = account.round and ESX.Math.Round(money) or money - self.accounts[account.index].money += money + self.accounts[account.index].money = self.accounts[account.index].money + money self.triggerEvent('esx:setAccountMoney', account) TriggerEvent('esx:addAccountMoney', self.source, accountName, money, reason) - else + else print(('[^1ERROR^7] Tried To Set Add To Invalid Account ^5%s^0 For Player ^5%s^0!'):format(accountName, self.playerId)) end - else + else print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7'):format(accountName, self.playerId, money)) end end function self.removeAccountMoney(accountName, money, reason) reason = reason or 'Unknown' - if not tonumber(money) then + if not tonumber(money) then print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7'):format(accountName, self.playerId, money)) return end @@ -257,20 +245,20 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, if account then money = account.round and ESX.Math.Round(money) or money - self.accounts[account.index].money -= money + self.accounts[account.index].money = self.accounts[account.index].money - money self.triggerEvent('esx:setAccountMoney', account) TriggerEvent('esx:removeAccountMoney', self.source, accountName, money, reason) - else + else print(('[^1ERROR^7] Tried To Set Add To Invalid Account ^5%s^0 For Player ^5%s^0!'):format(accountName, self.playerId)) end - else + else print(('[^1ERROR^7] Tried To Set Account ^5%s^0 For Player ^5%s^0 To An Invalid Number -> ^5%s^7'):format(accountName, self.playerId, money)) end end function self.getInventoryItem(name, metadata) - for k,v in ipairs(self.inventory) do + for _, v in ipairs(self.inventory) do if v.name == name then return v end @@ -477,7 +465,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, function self.removeWeapon(weaponName) local weaponLabel - for k,v in ipairs(self.loadout) do + for k, v in ipairs(self.loadout) do if v.name == weaponName then weaponLabel = v.label @@ -504,7 +492,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, if component then if self.hasWeaponComponent(weaponName, weaponComponent) then - for k,v in ipairs(self.loadout[loadoutNum].components) do + for k, v in ipairs(self.loadout[loadoutNum].components) do if v == weaponComponent then table.remove(self.loadout[loadoutNum].components, k) break @@ -531,7 +519,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, local loadoutNum, weapon = self.getWeapon(weaponName) if weapon then - for k,v in ipairs(weapon.components) do + for _, v in ipairs(weapon.components) do if v == weaponComponent then return true end @@ -544,7 +532,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, end function self.hasWeapon(weaponName) - for k,v in ipairs(self.loadout) do + for _, v in ipairs(self.loadout) do if v.name == weaponName then return true end @@ -554,7 +542,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, end function self.hasItem(item, metadata) - for k,v in ipairs(self.inventory) do + for _, v in ipairs(self.inventory) do if (v.name == item) and (v.count >= 1) then return v, v.count end @@ -564,64 +552,66 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, end function self.getWeapon(weaponName) - for k,v in ipairs(self.loadout) do + for k, v in ipairs(self.loadout) do if v.name == weaponName then return k, v end end end - function self.showNotification(msg) - self.triggerEvent('esx:showNotification', msg) + 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) + self.triggerEvent('esx:showAdvancedNotification', sender, subject, msg, textureDict, iconType, flash, saveToBrief, hudColorIndex) end function self.showHelpNotification(msg, thisFrame, beep, duration) self.triggerEvent('esx:showHelpNotification', msg, thisFrame, beep, duration) end - function self.getMeta(index, subIndex) - if index then + function self.getMeta(index, subIndex) + if not (index) then return self.metadata end - if type(index) ~= "string" then - return print("[^1ERROR^7] xPlayer.getMeta ^5index^7 should be ^5string^7!") - end + if type(index) ~= "string" then + return print("[^1ERROR^7] xPlayer.getMeta ^5index^7 should be ^5string^7!") + end - if self.metadata[index] then + local metadata = self.metadata[index] + if (metadata == nil) then + return Config.EnableDebug and print(("[^1ERROR^7] xPlayer.getMeta ^5%s^7 not exist!"):format(index)) or nil + end - if subIndex and type(self.metadata[index]) == "table" then - local _type = type(subIndex) + if (subIndex and type(metadata) == "table") then + local _type = type(subIndex) - if _type == "string" then - if self.metadata[index][subIndex] then - return self.metadata[index][subIndex] - end - return - end + if (_type == "string") then + local value = metadata[subIndex] + return value + end - if _type == "table" then - local returnValues = {} - for i = 1, #subIndex do - if self.metadata[index][subIndex[i]] then - returnValues[subIndex[i]] = self.metadata[index][subIndex[i]] - else - print(("[^1ERROR^7] xPlayer.getMeta ^5%s^7 not esxist on ^5%s^7!"):format(subIndex[i], index)) - end - end + if (_type == "table") then + local returnValues = {} - return returnValues - end + for i = 1, #subIndex do + local key = subIndex[i] + if (type(key) == "string") then + returnValues[key] = self.getMeta(index, key) + else + print(("[^1ERROR^7] xPlayer.getMeta subIndex should be ^5string^7 or ^5table^7! that contains ^5string^7, received ^5%s^7!, skipping..."):format(type(key))) + end + end - end + return returnValues + end - return self.metadata[index] - else - return print(("[^1ERROR^7] xPlayer.getMeta ^5%s^7 not exist!"):format(index)) - end + return print(("[^1ERROR^7] xPlayer.getMeta subIndex should be ^5string^7 or ^5table^7!, received ^5%s^7!"):format(_type)) + end - end + return metadata + end - return self.metadata - end function self.setMeta(index, value, subValue) if not index then diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index b89ae36a..c20edf68 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -1,5 +1,14 @@ -ESX.RegisterCommand('setcoords', 'admin', function(xPlayer, args, showError) +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.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}, + }) + end end, false, {help = TranslateCap('command_setcoords'), validate = true, arguments = { {name = 'x', help = TranslateCap('command_setcoords_x'), type = 'number'}, {name = 'y', help = TranslateCap('command_setcoords_y'), type = 'number'}, @@ -7,16 +16,20 @@ end, false, {help = TranslateCap('command_setcoords'), validate = true, argument }}) ESX.RegisterCommand('setjob', 'admin', function(xPlayer, args, showError) - if ESX.DoesJobExist(args.job, args.grade) then - args.playerId.setJob(args.job, args.grade) - else - showError(TranslateCap('command_setjob_invalid')) + if not ESX.DoesJobExist(args.job, args.grade) then + return showError(TranslateCap('command_setjob_invalid')) + end + + args.playerId.setJob(args.job, args.grade) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Set Job /setjob Triggered!", "pink", { + {name = "Player", value = xPlayer.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Target", value = args.playerId.name, inline = true}, + {name = "Job", value = args.playerId, inline = true}, + {name = "Grade", value = args.playerId, inline = true}, + }) end - ESX.DiscordLogFields("UserActions", "/setjob Triggered", "pink", { - {name = "Player", value = xPlayer.name, inline = true}, - {name = "Job", value = args.job, inline = true}, - {name = "Grade", value = args.grade, inline = true} - }) end, true, {help = TranslateCap('command_setjob'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'}, {name = 'job', help = TranslateCap('command_setjob_job'), type = 'string'}, @@ -36,7 +49,7 @@ local upgrades = Config.SpawnVehMaxUpgrades and ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError) if not xPlayer then - return print('[^1ERROR^7] The xPlayer value is nil') + return showError('[^1ERROR^7] The xPlayer value is nil') end local playerPed = GetPlayerPed(xPlayer.source) @@ -52,11 +65,13 @@ ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError) DeleteEntity(playerVehicle) end - ESX.DiscordLogFields("UserActions", "/car Triggered", "pink", { - {name = "Player", value = xPlayer.name, inline = true}, - {name = "ID", value = xPlayer.source, inline = true}, - {name = "Vehicle", value = args.car, inline = true} - }) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Spawn Car /car Triggered!", "pink", { + {name = "Player", value = xPlayer.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Vehicle", value = args.car, inline = true} + }) + end ESX.OneSync.SpawnVehicle(args.car, playerCoords, playerHeading, upgrades, function(networkId) if networkId then @@ -70,35 +85,49 @@ ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError) end end if GetVehiclePedIsIn(playerPed, false) ~= vehicle then - print('[^1ERROR^7] The player could not be seated in the vehicle') + showError('[^1ERROR^7] The player could not be seated in the vehicle') end end end) end, false, {help = TranslateCap('command_car'), validate = false, arguments = { {name = 'car',validate = false, help = TranslateCap('command_car_car'), type = 'string'} -}}) +}}) -ESX.RegisterCommand({'cardel', 'dv'}, 'admin', function(xPlayer, args, showError) +ESX.RegisterCommand({'cardel', 'dv'}, 'admin', function(xPlayer, args, _) local PedVehicle = GetVehiclePedIsIn(GetPlayerPed(xPlayer.source), false) if DoesEntityExist(PedVehicle) then DeleteEntity(PedVehicle) end local Vehicles = ESX.OneSync.GetVehiclesInArea(GetEntityCoords(GetPlayerPed(xPlayer.source)), tonumber(args.radius) or 5.0) - for i=1, #Vehicles do + for i = 1, #Vehicles do local Vehicle = NetworkGetEntityFromNetworkId(Vehicles[i]) if DoesEntityExist(Vehicle) then DeleteEntity(Vehicle) end end + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Delete Vehicle /dv Triggered!", "pink", { + {name = "Player", value = xPlayer.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + }) + end end, false, {help = TranslateCap('command_cardel'), validate = false, arguments = { {name = 'radius',validate = false, help = TranslateCap('command_cardel_radius'), type = 'number'} }}) ESX.RegisterCommand('setaccountmoney', 'admin', function(xPlayer, args, showError) - if args.playerId.getAccount(args.account) then - args.playerId.setAccountMoney(args.account, args.amount, "Government Grant") - else - showError(TranslateCap('command_giveaccountmoney_invalid')) + 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.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 end, true, {help = TranslateCap('command_setaccountmoney'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'}, @@ -107,10 +136,18 @@ end, true, {help = TranslateCap('command_setaccountmoney'), validate = true, arg }}) ESX.RegisterCommand('giveaccountmoney', 'admin', function(xPlayer, args, showError) - if args.playerId.getAccount(args.account) then - args.playerId.addAccountMoney(args.account, args.amount, "Government Grant") - else - showError(TranslateCap('command_giveaccountmoney_invalid')) + if not args.playerId.getAccount(args.account) then + return showError(TranslateCap('command_giveaccountmoney_invalid')) + end + args.playerId.addAccountMoney(args.account, args.amount, "Government Grant") + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Give Account Money /giveaccountmoney Triggered!", "pink", { + {name = "Player", value = xPlayer.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 end, true, {help = TranslateCap('command_giveaccountmoney'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'}, @@ -118,9 +155,38 @@ end, true, {help = TranslateCap('command_giveaccountmoney'), validate = true, ar {name = 'amount', help = TranslateCap('command_giveaccountmoney_amount'), type = 'number'} }}) +ESX.RegisterCommand('removeaccountmoney', 'admin', function(xPlayer, args, showError) + if not args.playerId.getAccount(args.account) then + return showError(TranslateCap('command_removeaccountmoney_invalid')) + end + args.playerId.removeAccountMoney(args.account, args.amount, "Government Tax") + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Remove Account Money /removeaccountmoney Triggered!", "pink", { + {name = "Player", value = xPlayer.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 +end, true, {help = TranslateCap('command_removeaccountmoney'), validate = true, arguments = { + {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'}, + {name = 'account', help = TranslateCap('command_removeaccountmoney_account'), type = 'string'}, + {name = 'amount', help = TranslateCap('command_removeaccountmoney_amount'), type = 'number'} +}}) + if not Config.OxInventory then - ESX.RegisterCommand('giveitem', 'admin', function(xPlayer, args, showError) + ESX.RegisterCommand('giveitem', 'admin', function(xPlayer, args, _) args.playerId.addInventoryItem(args.item, args.count) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Give Item /giveitem Triggered!", "pink", { + {name = "Player", value = xPlayer.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}, + }) + end end, true, {help = TranslateCap('command_giveitem'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'}, {name = 'item', help = TranslateCap('command_giveitem_item'), type = 'item'}, @@ -129,9 +195,17 @@ if not Config.OxInventory then ESX.RegisterCommand('giveweapon', 'admin', function(xPlayer, args, showError) if args.playerId.hasWeapon(args.weapon) then - showError(TranslateCap('command_giveweapon_hasalready')) - else - args.playerId.addWeapon(args.weapon, args.ammo) + return showError(TranslateCap('command_giveweapon_hasalready')) + end + args.playerId.addWeapon(args.weapon, args.ammo) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Give Weapon /giveweapon Triggered!", "pink", { + {name = "Player", value = xPlayer.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}, + }) end end, true, {help = TranslateCap('command_giveweapon'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'}, @@ -140,10 +214,18 @@ if not Config.OxInventory then }}) ESX.RegisterCommand('giveammo', 'admin', function(xPlayer, args, showError) - if args.playerId.hasWeapon(args.weapon) then - args.playerId.addWeaponAmmo(args.weapon, args.ammo) - else - showError(TranslateCap("command_giveammo_noweapon_found")) + if not args.playerId.hasWeapon(args.weapon) then + return showError(TranslateCap("command_giveammo_noweapon_found")) + end + args.playerId.addWeaponAmmo(args.weapon, args.ammo) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Give Ammunition /giveammo Triggered!", "pink", { + {name = "Player", value = xPlayer.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}, + }) end end, true, {help = TranslateCap('command_giveweapon'), validate = false, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'}, @@ -160,6 +242,15 @@ if not Config.OxInventory then showError(TranslateCap('command_giveweaponcomponent_hasalready')) else args.playerId.addWeaponComponent(args.weaponName, args.componentName) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Give Weapon Component /giveweaponcomponent Triggered!", "pink", { + {name = "Player", value = xPlayer.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}, + }) + end end else showError(TranslateCap('command_giveweaponcomponent_invalid')) @@ -174,75 +265,103 @@ if not Config.OxInventory then }}) end -ESX.RegisterCommand({'clear', 'cls'}, 'user', function(xPlayer, args, showError) +ESX.RegisterCommand({'clear', 'cls'}, 'user', function(xPlayer, _, _) xPlayer.triggerEvent('chat:clear') end, false, {help = TranslateCap('command_clear')}) -ESX.RegisterCommand({'clearall', 'clsall'}, 'admin', function(xPlayer, args, showError) +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.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + }) + end end, true, {help = TranslateCap('command_clearall')}) -ESX.RegisterCommand("refreshjobs", 'admin', function(xPlayer, args, showError) +ESX.RegisterCommand("refreshjobs", 'admin', function(xPlayer, _, _) ESX.RefreshJobs() end, true, {help = TranslateCap('command_clearall')}) if not Config.OxInventory then - ESX.RegisterCommand('clearinventory', 'admin', function(xPlayer, args, showError) - for k,v in ipairs(args.playerId.inventory) do + ESX.RegisterCommand('clearinventory', 'admin', function(xPlayer, args, _) + for k, v in ipairs(args.playerId.inventory) do if v.count > 0 then args.playerId.setInventoryItem(v.name, 0) end end TriggerEvent('esx:playerInventoryCleared',args.playerId) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Clear Inventory /clearinventory Triggered!", "pink", { + {name = "Player", value = xPlayer.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Target", value = args.playerId.name, inline = true}, + }) + end end, true, {help = TranslateCap('command_clearinventory'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'} }}) - ESX.RegisterCommand('clearloadout', 'admin', function(xPlayer, args, showError) + ESX.RegisterCommand('clearloadout', 'admin', function(xPlayer, args, _) for i=#args.playerId.loadout, 1, -1 do args.playerId.removeWeapon(args.playerId.loadout[i].name) end TriggerEvent('esx:playerLoadoutCleared',args.playerId) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "/clearloadout Triggered!", "pink", { + {name = "Player", value = xPlayer.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Target", value = args.playerId.name, inline = true}, + }) + end end, true, {help = TranslateCap('command_clearloadout'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'} }}) end -ESX.RegisterCommand('setgroup', 'admin', function(xPlayer, args, showError) +ESX.RegisterCommand('setgroup', 'admin', function(xPlayer, args, _) if not args.playerId then args.playerId = xPlayer.source end if args.group == "superadmin" then args.group = "admin" print("[^3WARNING^7] ^5Superadmin^7 detected, setting group to ^5admin^7") end args.playerId.setGroup(args.group) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "/setgroup Triggered!", "pink", { + {name = "Player", value = xPlayer.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}, + }) + end end, true, {help = TranslateCap('command_setgroup'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'}, {name = 'group', help = TranslateCap('command_setgroup_group'), type = 'string'}, }}) -ESX.RegisterCommand('save', 'admin', function(xPlayer, args, showError) +ESX.RegisterCommand('save', 'admin', function(xPlayer, args, _) Core.SavePlayer(args.playerId) print("[^2Info^0] Saved Player - ^5".. args.playerId.source .. "^0") end, true, {help = TranslateCap('command_save'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'} }}) -ESX.RegisterCommand('saveall', 'admin', function(xPlayer, args, showError) +ESX.RegisterCommand('saveall', 'admin', function(xPlayer, args, _) Core.SavePlayers() end, true, {help = TranslateCap('command_saveall')}) -ESX.RegisterCommand('group', {"user", "admin"}, function(xPlayer, args, showError) +ESX.RegisterCommand('group', {"user", "admin"}, function(xPlayer, _, _) print(xPlayer.getName()..", You are currently: ^5".. xPlayer.getGroup() .. "^0") end, true) -ESX.RegisterCommand('job', {"user", "admin"}, function(xPlayer, args, showError) +ESX.RegisterCommand('job', {"user", "admin"}, function(xPlayer, _, _) print(xPlayer.getName()..", You are currently: ^5".. xPlayer.getJob().name.. "^0 - ^5".. xPlayer.getJob().grade_label .. "^0") end, true) -ESX.RegisterCommand('info', {"user", "admin"}, function(xPlayer, args, showError) +ESX.RegisterCommand('info', {"user", "admin"}, function(xPlayer, _, _) local job = xPlayer.getJob().name local jobgrade = xPlayer.getJob().grade_name print("^2ID : ^5"..xPlayer.source.." ^0| ^2Name:^5"..xPlayer.getName().." ^0 | ^2Group:^5"..xPlayer.getGroup().."^0 | ^2Job:^5".. job.."^0") end, true) -ESX.RegisterCommand('coords', "admin", function(xPlayer, args, showError) +ESX.RegisterCommand('coords', "admin", function(xPlayer, _, _) local ped = GetPlayerPed(xPlayer.source) local coords = GetEntityCoords(ped, false) local heading = GetEntityHeading(ped) @@ -250,50 +369,99 @@ ESX.RegisterCommand('coords', "admin", function(xPlayer, args, showError) print("Coords - Vector4: ^5".. vector4(coords.x, coords.y, coords.z, heading) .. "^0") end, true) -ESX.RegisterCommand('tpm', "admin", function(xPlayer, args, showError) +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.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + }) + end end, true) -ESX.RegisterCommand('goto', "admin", function(xPlayer, args, showError) +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.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, true, {help = TranslateCap('command_goto'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'} }}) -ESX.RegisterCommand('bring', "admin", function(xPlayer, args, showError) +ESX.RegisterCommand('bring', "admin", function(xPlayer, args, _) local playerCoords = xPlayer.getCoords() args.playerId.setCoords(playerCoords) + if Config.AdminLogging then + ESX.DiscordLogFields("UserActions", "Admin Teleport /bring 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 = "Target Coords", value = targetCoords, inline = true}, + }) + end end, true, {help = TranslateCap('command_bring'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'} }}) -ESX.RegisterCommand('kill', "admin", function(xPlayer, args, showError) +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.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Target", value = args.playerId.name, inline = true}, + }) + end end, true, {help = TranslateCap('command_kill'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'} }}) -ESX.RegisterCommand('freeze', "admin", function(xPlayer, args, showError) +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.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Target", value = args.playerId.name, inline = true}, + }) + end end, true, {help = TranslateCap('command_freeze'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'} }}) -ESX.RegisterCommand('unfreeze', "admin", function(xPlayer, args, showError) +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.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Target", value = args.playerId.name, inline = true}, + }) + end end, true, {help = TranslateCap('command_unfreeze'), validate = true, arguments = { {name = 'playerId', help = TranslateCap('commandgeneric_playerid'), type = 'player'} }}) -ESX.RegisterCommand("noclip", 'admin', function(xPlayer, args, showError) +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.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + }) + end end, false) -ESX.RegisterCommand('players', "admin", function(xPlayer, args, showError) +ESX.RegisterCommand('players', "admin", function(xPlayer, _, _) local xPlayers = ESX.GetExtendedPlayers() -- Returns all xPlayers print("^5"..#xPlayers.." ^2online player(s)^0") - for i=1, #(xPlayers) do + for i = 1, #(xPlayers) do local xPlayer = xPlayers[i] print("^1[ ^2ID : ^5"..xPlayer.source.." ^0| ^2Name : ^5"..xPlayer.getName().." ^0 | ^2Group : ^5"..xPlayer.getGroup().." ^0 | ^2Identifier : ^5".. xPlayer.identifier .."^1]^0\n") end diff --git a/[core]/es_extended/server/common.lua b/[core]/es_extended/server/common.lua index 57f1479e..7e3d3ebb 100644 --- a/[core]/es_extended/server/common.lua +++ b/[core]/es_extended/server/common.lua @@ -19,68 +19,68 @@ AddEventHandler("esx:getSharedObject", function() end) exports('getSharedObject', function() - return ESX + return ESX end) if GetResourceState('ox_inventory') ~= 'missing' then - Config.OxInventory = true - Config.PlayerFunctionOverride = 'OxInventory' - SetConvarReplicated('inventory:framework', 'esx') - SetConvarReplicated('inventory:weight', Config.MaxWeight * 1000) + Config.OxInventory = true + Config.PlayerFunctionOverride = 'OxInventory' + SetConvarReplicated('inventory:framework', 'esx') + SetConvarReplicated('inventory:weight', Config.MaxWeight * 1000) end local function StartDBSync() - CreateThread(function() - while true do - Wait(10 * 60 * 1000) - Core.SavePlayers() - end - end) + CreateThread(function() + while true do + Wait(10 * 60 * 1000) + Core.SavePlayers() + end + end) end MySQL.ready(function() - Core.DatabaseConnected = true - if not Config.OxInventory then - local items = MySQL.query.await('SELECT * FROM items') - for k, v in ipairs(items) do - ESX.Items[v.name] = {label = v.label, weight = v.weight, rare = v.rare, canRemove = v.can_remove} - end - else - TriggerEvent('__cfx_export_ox_inventory_Items', function(ref) - if ref then - ESX.Items = ref() - end - end) + Core.DatabaseConnected = true + if not Config.OxInventory then + local items = MySQL.query.await('SELECT * FROM items') + for k, v in ipairs(items) do + ESX.Items[v.name] = {label = v.label, weight = v.weight, rare = v.rare, canRemove = v.can_remove} + end + else + TriggerEvent('__cfx_export_ox_inventory_Items', function(ref) + if ref then + ESX.Items = ref() + end + end) - AddEventHandler('ox_inventory:itemList', function(items) - ESX.Items = items - end) + AddEventHandler('ox_inventory:itemList', function(items) + ESX.Items = items + end) - while not next(ESX.Items) do - Wait(0) - end - end + while not next(ESX.Items) do + Wait(0) + end + end - ESX.RefreshJobs() + ESX.RefreshJobs() - print(('[^2INFO^7] ESX ^5Legacy %s^0 initialized!'):format(GetResourceMetadata(GetCurrentResourceName(), "version", 0))) - - StartDBSync() - if Config.EnablePaycheck then + print(('[^2INFO^7] ESX ^5Legacy %s^0 initialized!'):format(GetResourceMetadata(GetCurrentResourceName(), "version", 0))) + + StartDBSync() + if Config.EnablePaycheck then StartPayCheck() end end) RegisterServerEvent('esx:clientLog') AddEventHandler('esx:clientLog', function(msg) - if Config.EnableDebug then - print(('[^2TRACE^7] %s^7'):format(msg)) - end + if Config.EnableDebug then + print(('[^2TRACE^7] %s^7'):format(msg)) + end end) RegisterNetEvent("esx:ReturnVehicleType", function(Type, Request) - if Core.ClientCallbacks[Request] then - Core.ClientCallbacks[Request](Type) - Core.ClientCallbacks[Request] = nil - end + if Core.ClientCallbacks[Request] then + Core.ClientCallbacks[Request](Type) + Core.ClientCallbacks[Request] = nil + end end) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index 202e1b5e..973ca661 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -1,251 +1,259 @@ function ESX.Trace(msg) - if Config.EnableDebug then - print(('[^2TRACE^7] %s^7'):format(msg)) - end + if Config.EnableDebug then + print(('[^2TRACE^7] %s^7'):format(msg)) + end end function ESX.RegisterCommand(name, group, cb, allowConsole, suggestion) - if type(name) == 'table' then - for k, v in ipairs(name) do - ESX.RegisterCommand(v, group, cb, allowConsole, suggestion) - end + if type(name) == 'table' then + for k, v in ipairs(name) do + ESX.RegisterCommand(v, group, cb, allowConsole, suggestion) + end - return - end + return + end - if Core.RegisteredCommands[name] then - print(('[^3WARNING^7] Command ^5"%s" ^7already registered, overriding command'):format(name)) + if Core.RegisteredCommands[name] then + print(('[^3WARNING^7] Command ^5"%s" ^7already registered, overriding command'):format(name)) - if Core.RegisteredCommands[name].suggestion then - TriggerClientEvent('chat:removeSuggestion', -1, ('/%s'):format(name)) - end - end + if Core.RegisteredCommands[name].suggestion then + TriggerClientEvent('chat:removeSuggestion', -1, ('/%s'):format(name)) + end + end - if suggestion then - if not suggestion.arguments then - suggestion.arguments = {} - end - if not suggestion.help then - suggestion.help = '' - end + if suggestion then + if not suggestion.arguments then + suggestion.arguments = {} + end + if not suggestion.help then + suggestion.help = '' + end - TriggerClientEvent('chat:addSuggestion', -1, ('/%s'):format(name), suggestion.help, suggestion.arguments) - end + TriggerClientEvent('chat:addSuggestion', -1, ('/%s'):format(name), suggestion.help, suggestion.arguments) + end - Core.RegisteredCommands[name] = {group = group, cb = cb, allowConsole = allowConsole, suggestion = suggestion} + Core.RegisteredCommands[name] = {group = group, cb = cb, allowConsole = allowConsole, suggestion = suggestion} - RegisterCommand(name, function(playerId, args, rawCommand) - local command = Core.RegisteredCommands[name] + RegisterCommand(name, function(playerId, args, rawCommand) + local command = Core.RegisteredCommands[name] - if not command.allowConsole and playerId == 0 then - print(('[^3WARNING^7] ^5%s'):format(TranslateCap('commanderror_console'))) - else - local xPlayer, error = ESX.Players[playerId], nil + if not command.allowConsole and playerId == 0 then + print(('[^3WARNING^7] ^5%s'):format(TranslateCap('commanderror_console'))) + else + local xPlayer, error = ESX.Players[playerId], nil - if command.suggestion then - if command.suggestion.validate then - if #args ~= #command.suggestion.arguments then - error = TranslateCap('commanderror_argumentmismatch', #args, #command.suggestion.arguments) - end - end + if command.suggestion then + if command.suggestion.validate then + if #args ~= #command.suggestion.arguments then + error = TranslateCap('commanderror_argumentmismatch', #args, #command.suggestion.arguments) + end + end - if not error and command.suggestion.arguments then - local newArgs = {} + if not error and command.suggestion.arguments then + local newArgs = {} - for k, v in ipairs(command.suggestion.arguments) do - if v.type then - if v.type == 'number' then - local newArg = tonumber(args[k]) + for k, v in ipairs(command.suggestion.arguments) do + if v.type then + if v.type == 'number' then + local newArg = tonumber(args[k]) - if newArg then - newArgs[v.name] = newArg - else - error = TranslateCap('commanderror_argumentmismatch_number', k) - end - elseif v.type == 'player' or v.type == 'playerId' then - local targetPlayer = tonumber(args[k]) + if newArg then + newArgs[v.name] = newArg + else + error = TranslateCap('commanderror_argumentmismatch_number', k) + end + elseif v.type == 'player' or v.type == 'playerId' then + local targetPlayer = tonumber(args[k]) - if args[k] == 'me' then - targetPlayer = playerId - end + if args[k] == 'me' then + targetPlayer = playerId + end - if targetPlayer then - local xTargetPlayer = ESX.GetPlayerFromId(targetPlayer) + if targetPlayer then + local xTargetPlayer = ESX.GetPlayerFromId(targetPlayer) - if xTargetPlayer then - if v.type == 'player' then - newArgs[v.name] = xTargetPlayer - else - newArgs[v.name] = targetPlayer - end - else - error = TranslateCap('commanderror_invalidplayerid') - end - else - error = TranslateCap('commanderror_argumentmismatch_number', k) - end - elseif v.type == 'string' then - newArgs[v.name] = args[k] - elseif v.type == 'item' then - if ESX.Items[args[k]] then - newArgs[v.name] = args[k] - else - error = TranslateCap('commanderror_invaliditem') - end - elseif v.type == 'weapon' then - if ESX.GetWeapon(args[k]) then - newArgs[v.name] = string.upper(args[k]) - else - error = TranslateCap('commanderror_invalidweapon') - end - elseif v.type == 'any' then - newArgs[v.name] = args[k] - end - end + if xTargetPlayer then + if v.type == 'player' then + newArgs[v.name] = xTargetPlayer + else + newArgs[v.name] = targetPlayer + end + else + error = TranslateCap('commanderror_invalidplayerid') + end + else + error = TranslateCap('commanderror_argumentmismatch_number', k) + end + elseif v.type == 'string' then + newArgs[v.name] = args[k] + elseif v.type == 'item' then + if ESX.Items[args[k]] then + newArgs[v.name] = args[k] + else + error = TranslateCap('commanderror_invaliditem') + end + elseif v.type == 'weapon' then + if ESX.GetWeapon(args[k]) then + newArgs[v.name] = string.upper(args[k]) + else + error = TranslateCap('commanderror_invalidweapon') + end + elseif v.type == 'any' then + newArgs[v.name] = args[k] + elseif v.type == 'merge' then + local lenght = 0 + for i = 1, k-1 do + lenght = lenght + string.len(args[i]) +1 + end + local merge = table.concat(args, " ") - if not v.validate then - error = nil - end + newArgs[v.name] = string.sub(merge, lenght) + end + end - if error then - break - end - end + if not v.validate then + error = nil + end - args = newArgs - end - end + if error then + break + end + end - if error then - if playerId == 0 then - print(('[^3WARNING^7] %s^7'):format(error)) - else - xPlayer.showNotification(error) - end - else - cb(xPlayer or false, args, function(msg) - if playerId == 0 then - print(('[^3WARNING^7] %s^7'):format(msg)) - else - xPlayer.showNotification(msg) - end - end) - end - end - end, true) + args = newArgs + end + end - if type(group) == 'table' then - for k, v in ipairs(group) do - ExecuteCommand(('add_ace group.%s command.%s allow'):format(v, name)) - end - else - ExecuteCommand(('add_ace group.%s command.%s allow'):format(group, name)) - end + if error then + if playerId == 0 then + print(('[^3WARNING^7] %s^7'):format(error)) + else + xPlayer.showNotification(error) + end + else + cb(xPlayer or false, args, function(msg) + if playerId == 0 then + print(('[^3WARNING^7] %s^7'):format(msg)) + else + xPlayer.showNotification(msg) + end + end) + end + end + end, true) + + if type(group) == 'table' then + for k, v in ipairs(group) do + ExecuteCommand(('add_ace group.%s command.%s allow'):format(v, name)) + end + else + ExecuteCommand(('add_ace group.%s command.%s allow'):format(group, name)) + end end function Core.SavePlayer(xPlayer, cb) - local parameters = { - json.encode(xPlayer.getAccounts(true)), - xPlayer.job.name, - xPlayer.job.grade, - xPlayer.group, - json.encode(xPlayer.getCoords()), - json.encode(xPlayer.getInventory(true)), - json.encode(xPlayer.getLoadout(true)), - json.encode(xPlayer.getMeta()), - xPlayer.identifier - } + local parameters = { + json.encode(xPlayer.getAccounts(true)), + xPlayer.job.name, + xPlayer.job.grade, + xPlayer.group, + json.encode(xPlayer.getCoords()), + json.encode(xPlayer.getInventory(true)), + json.encode(xPlayer.getLoadout(true)), + json.encode(xPlayer.getMeta()), + xPlayer.identifier + } - MySQL.prepare( - 'UPDATE `users` SET `accounts` = ?, `job` = ?, `job_grade` = ?, `group` = ?, `position` = ?, `inventory` = ?, `loadout` = ?, `metadata` = ? WHERE `identifier` = ?', - parameters, - function(affectedRows) - if affectedRows == 1 then - print(('[^2INFO^7] Saved player ^5"%s^7"'):format(xPlayer.name)) - TriggerEvent('esx:playerSaved', xPlayer.playerId, xPlayer) - end - if cb then - cb() - end - end - ) + MySQL.prepare( + 'UPDATE `users` SET `accounts` = ?, `job` = ?, `job_grade` = ?, `group` = ?, `position` = ?, `inventory` = ?, `loadout` = ?, `metadata` = ? WHERE `identifier` = ?', + parameters, + function(affectedRows) + if affectedRows == 1 then + print(('[^2INFO^7] Saved player ^5"%s^7"'):format(xPlayer.name)) + TriggerEvent('esx:playerSaved', xPlayer.playerId, xPlayer) + end + if cb then + cb() + end + end + ) end function Core.SavePlayers(cb) - local xPlayers = ESX.Players - if not next(xPlayers) then - return - end - - local startTime = os.time() - local parameters = {} + local xPlayers = ESX.Players + if not next(xPlayers) then + return + end + + local startTime = os.time() + local parameters = {} - for _, xPlayer in pairs(ESX.Players) do - parameters[#parameters + 1] = { - json.encode(xPlayer.getAccounts(true)), - xPlayer.job.name, - xPlayer.job.grade, - xPlayer.group, - json.encode(xPlayer.getCoords()), - json.encode(xPlayer.getInventory(true)), - json.encode(xPlayer.getLoadout(true)), - json.encode(xPlayer.getMeta()), - xPlayer.identifier - } - end + for _, xPlayer in pairs(ESX.Players) do + parameters[#parameters + 1] = { + json.encode(xPlayer.getAccounts(true)), + xPlayer.job.name, + xPlayer.job.grade, + xPlayer.group, + json.encode(xPlayer.getCoords()), + json.encode(xPlayer.getInventory(true)), + json.encode(xPlayer.getLoadout(true)), + json.encode(xPlayer.getMeta()), + xPlayer.identifier + } + end - MySQL.prepare( - "UPDATE `users` SET `accounts` = ?, `job` = ?, `job_grade` = ?, `group` = ?, `position` = ?, `inventory` = ?, `loadout` = ?, `metadata` = ? WHERE `identifier` = ?", - parameters, - function(results) - if not results then - return - end + MySQL.prepare( + "UPDATE `users` SET `accounts` = ?, `job` = ?, `job_grade` = ?, `group` = ?, `position` = ?, `inventory` = ?, `loadout` = ?, `metadata` = ? WHERE `identifier` = ?", + parameters, + function(results) + if not results then + return + end - if type(cb) == 'function' then - return cb() - end - - print(('[^2INFO^7] Saved ^5%s^7 %s over ^5%s^7 ms'):format(#parameters, #parameters > 1 and 'players' or 'player', ESX.Math.Round((os.time() - startTime) / 1000000, 2))) - end - ) + if type(cb) == 'function' then + return cb() + end + + print(('[^2INFO^7] Saved ^5%s^7 %s over ^5%s^7 ms'):format(#parameters, #parameters > 1 and 'players' or 'player', ESX.Math.Round((os.time() - startTime) / 1000000, 2))) + end + ) end ESX.GetPlayers = GetPlayers function ESX.GetExtendedPlayers(key, val) - local xPlayers = {} - for k, v in pairs(ESX.Players) do - if key then - if (key == 'job' and v.job.name == val) or v[key] == val then - xPlayers[#xPlayers + 1] = v - end - else - xPlayers[#xPlayers + 1] = v - end - end - return xPlayers + local xPlayers = {} + for k, v in pairs(ESX.Players) do + if key then + if (key == 'job' and v.job.name == val) or v[key] == val then + xPlayers[#xPlayers + 1] = v + end + else + xPlayers[#xPlayers + 1] = v + end + end + return xPlayers end function ESX.GetPlayerFromId(source) - return ESX.Players[tonumber(source)] + return ESX.Players[tonumber(source)] end function ESX.GetPlayerFromIdentifier(identifier) - return Core.playersByIdentifier[identifier] + return Core.playersByIdentifier[identifier] end function ESX.GetIdentifier(playerId) - local fxDk = GetConvarInt('sv_fxdkMode', 0) - if fxDk == 1 then - return "ESX-DEBUG-LICENCE" - end - for k, v in ipairs(GetPlayerIdentifiers(playerId)) do - if string.match(v, 'license:') then - local identifier = string.gsub(v, 'license:', '') - return identifier - end - end + local fxDk = GetConvarInt('sv_fxdkMode', 0) + if fxDk == 1 then + return "ESX-DEBUG-LICENCE" + end + for k, 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 @@ -253,203 +261,234 @@ end ---@param cb function function ESX.GetVehicleType(model, player, cb) - model = type(model) == 'string' and joaat(model) or model - - if Core.vehicleTypesByModel[model] then - return cb(Core.vehicleTypesByModel[model]) - end + model = type(model) == 'string' and joaat(model) or model + + if Core.vehicleTypesByModel[model] then + return cb(Core.vehicleTypesByModel[model]) + end - ESX.TriggerClientCallback(player, "esx:GetVehicleType", function(vehicleType) - Core.vehicleTypesByModel[model] = vehicleType - cb(vehicleType) - end, model) + ESX.TriggerClientCallback(player, "esx:GetVehicleType", function(vehicleType) + Core.vehicleTypesByModel[model] = vehicleType + cb(vehicleType) + end, model) end function ESX.DiscordLog(name, title, color, message) - local webHook = Config.DiscordLogs.Webhooks[name] or Config.DiscordLogs.Webhooks.default - local embedData = {{ - ['title'] = title, - ['color'] = Config.DiscordLogs.Colors[color] or Config.DiscordLogs.Colors.default, - ['footer'] = { - ['text'] = "| ESX Logs | " .. os.date(), - ['icon_url'] = "https://cdn.discordapp.com/attachments/944789399852417096/1020099828266586193/blanc-800x800.png" - }, - ['description'] = message, - ['author'] = { - ['name'] = "ESX Framework", - ['icon_url'] = "https://cdn.discordapp.com/emojis/939245183621558362.webp?size=128&quality=lossless" - } - }} - PerformHttpRequest(webHook, nil, 'POST', json.encode({ - username = 'Logs', - embeds = embedData - }), { - ['Content-Type'] = 'application/json' - }) + local webHook = Config.DiscordLogs.Webhooks[name] or Config.DiscordLogs.Webhooks.default + local embedData = {{ + ['title'] = title, + ['color'] = Config.DiscordLogs.Colors[color] or Config.DiscordLogs.Colors.default, + ['footer'] = { + ['text'] = "| ESX Logs | " .. os.date(), + ['icon_url'] = "https://cdn.discordapp.com/attachments/944789399852417096/1020099828266586193/blanc-800x800.png" + }, + ['description'] = message, + ['author'] = { + ['name'] = "ESX Framework", + ['icon_url'] = "https://cdn.discordapp.com/emojis/939245183621558362.webp?size=128&quality=lossless" + } + }} + PerformHttpRequest(webHook, nil, 'POST', json.encode({ + username = 'Logs', + embeds = embedData + }), { + ['Content-Type'] = 'application/json' + }) end function ESX.DiscordLogFields(name, title, color, fields) - local webHook = Config.DiscordLogs.Webhooks[name] or Config.DiscordLogs.Webhooks.default - local embedData = {{ - ['title'] = title, - ['color'] = Config.DiscordLogs.Colors[color] or Config.DiscordLogs.Colors.default, - ['footer'] = { - ['text'] = "| ESX Logs | " .. os.date(), - ['icon_url'] = "https://cdn.discordapp.com/attachments/944789399852417096/1020099828266586193/blanc-800x800.png" - }, - ['fields'] = fields, - ['description'] = "", - ['author'] = { - ['name'] = "ESX Framework", - ['icon_url'] = "https://cdn.discordapp.com/emojis/939245183621558362.webp?size=128&quality=lossless" - } - }} - PerformHttpRequest(webHook, nil, 'POST', json.encode({ - username = 'Logs', - embeds = embedData - }), { - ['Content-Type'] = 'application/json' - }) + local webHook = Config.DiscordLogs.Webhooks[name] or Config.DiscordLogs.Webhooks.default + local embedData = {{ + ['title'] = title, + ['color'] = Config.DiscordLogs.Colors[color] or Config.DiscordLogs.Colors.default, + ['footer'] = { + ['text'] = "| ESX Logs | " .. os.date(), + ['icon_url'] = "https://cdn.discordapp.com/attachments/944789399852417096/1020099828266586193/blanc-800x800.png" + }, + ['fields'] = fields, + ['description'] = "", + ['author'] = { + ['name'] = "ESX Framework", + ['icon_url'] = "https://cdn.discordapp.com/emojis/939245183621558362.webp?size=128&quality=lossless" + } + }} + PerformHttpRequest(webHook, nil, 'POST', json.encode({ + username = 'Logs', + embeds = embedData + }), { + ['Content-Type'] = 'application/json' + }) +end + +--- Create Job at Runtime +--- @param name string +--- @param label string +--- @param grades table +function ESX.CreateJob(name, label, grades) + if not name then + return print('[^3WARNING^7] missing argument `name(string)` while creating a job') + end + + if not label then + return print('[^3WARNING^7] missing argument `label(string)` while creating a job') + end + + if not grades or not next(grades) then + return print('[^3WARNING^7] missing argument `grades(table)` while creating a job!') + end + + local parameters = {} + local job = {name = name, label = label, grades = {}} + + for k,v in pairs(grades) do + job.grades[tostring(v.grade)] = {job_name = name, grade = v.grade, name = v.name, label = v.label, salary = v.salary, skin_male = {}, skin_female = {}} + parameters[#parameters + 1] = { name, v.grade, v.name, v.label, v.salary} + end + + MySQL.insert('INSERT IGNORE INTO jobs (name, label) VALUES (?, ?)', {name, label}) + MySQL.prepare('INSERT INTO job_grades (job_name, grade, name, label, salary) VALUES (?, ?, ?, ?, ?)', parameters) + + ESX.Jobs[name] = job end function ESX.RefreshJobs() - local Jobs = {} - local jobs = MySQL.query.await('SELECT * FROM jobs') + local Jobs = {} + local jobs = MySQL.query.await('SELECT * FROM jobs') - for _, v in ipairs(jobs) do - Jobs[v.name] = v - Jobs[v.name].grades = {} - end + for _, v in ipairs(jobs) do + Jobs[v.name] = v + Jobs[v.name].grades = {} + end - local jobGrades = MySQL.query.await('SELECT * FROM job_grades') + local jobGrades = MySQL.query.await('SELECT * FROM job_grades') - for _, v in ipairs(jobGrades) do - if Jobs[v.job_name] then - Jobs[v.job_name].grades[tostring(v.grade)] = v - else - print(('[^3WARNING^7] Ignoring job grades for ^5"%s"^0 due to missing job'):format(v.job_name)) - end - end + for _, v in ipairs(jobGrades) do + if Jobs[v.job_name] then + Jobs[v.job_name].grades[tostring(v.grade)] = v + else + print(('[^3WARNING^7] Ignoring job grades for ^5"%s"^0 due to missing job'):format(v.job_name)) + end + end - for _, v in pairs(Jobs) do - if ESX.Table.SizeOf(v.grades) == 0 then - Jobs[v.name] = nil - print(('[^3WARNING^7] Ignoring job ^5"%s"^0 due to no job grades found'):format(v.name)) - end - end + for _, v in pairs(Jobs) do + if ESX.Table.SizeOf(v.grades) == 0 then + Jobs[v.name] = nil + print(('[^3WARNING^7] Ignoring job ^5"%s"^0 due to no job grades found'):format(v.name)) + end + end - if not Jobs then - -- Fallback data, if no jobs exist - ESX.Jobs['unemployed'] = {label = 'Unemployed', - grades = {['0'] = {grade = 0, label = 'Unemployed', salary = 200, skin_male = {}, skin_female = {}}}} - else - ESX.Jobs = Jobs - end + if not Jobs then + -- Fallback data, if no jobs exist + ESX.Jobs['unemployed'] = {label = 'Unemployed', + grades = {['0'] = {grade = 0, label = 'Unemployed', salary = 200, skin_male = {}, skin_female = {}}}} + else + ESX.Jobs = Jobs + end end function ESX.RegisterUsableItem(item, cb) - Core.UsableItemsCallbacks[item] = cb + Core.UsableItemsCallbacks[item] = cb end function ESX.UseItem(source, item, ...) - if ESX.Items[item] then - local itemCallback = Core.UsableItemsCallbacks[item] + if ESX.Items[item] then + local itemCallback = Core.UsableItemsCallbacks[item] - if itemCallback then - local success, result = pcall(itemCallback, source, item, ...) + if itemCallback then + local success, result = pcall(itemCallback, source, item, ...) - if not success then - return result and print(result) or - print(('[^3WARNING^7] An error occured when using item ^5"%s"^7! This was not caused by ESX.'):format(item)) - end - end - else - print(('[^3WARNING^7] Item ^5"%s"^7 was used but does not exist!'):format(item)) - end + if not success then + return result and print(result) or + print(('[^3WARNING^7] An error occured when using item ^5"%s"^7! This was not caused by ESX.'):format(item)) + end + end + else + print(('[^3WARNING^7] Item ^5"%s"^7 was used but does not exist!'):format(item)) + end end function ESX.RegisterPlayerFunctionOverrides(index, overrides) - Core.PlayerFunctionOverrides[index] = overrides + Core.PlayerFunctionOverrides[index] = overrides end function ESX.SetPlayerFunctionOverride(index) - if not index or not Core.PlayerFunctionOverrides[index] then - return print('[^3WARNING^7] No valid index provided.') - end + if not index or not Core.PlayerFunctionOverrides[index] then + return print('[^3WARNING^7] No valid index provided.') + end - Config.PlayerFunctionOverride = index + Config.PlayerFunctionOverride = index end function ESX.GetItemLabel(item) - if Config.OxInventory then - item = exports.ox_inventory:Items(item) - if item then - return item.label - end - end + if Config.OxInventory then + item = exports.ox_inventory:Items(item) + if item then + return item.label + end + end - if ESX.Items[item] then - return ESX.Items[item].label - else - print('[^3WARNING^7] Attemting to get invalid Item -> ^5' .. item .. "^7") - end + if ESX.Items[item] then + return ESX.Items[item].label + else + print('[^3WARNING^7] Attemting to get invalid Item -> ^5' .. item .. "^7") + end end function ESX.GetJobs() - return ESX.Jobs + return ESX.Jobs end function ESX.GetUsableItems() - local Usables = {} - for k in pairs(Core.UsableItemsCallbacks) do - Usables[k] = true - end - return Usables + local Usables = {} + for k in pairs(Core.UsableItemsCallbacks) do + Usables[k] = true + end + return Usables end if not Config.OxInventory then - function ESX.CreatePickup(type, name, count, label, playerId, components, tintIndex) - local pickupId = (Core.PickupId == 65635 and 0 or Core.PickupId + 1) - local xPlayer = ESX.Players[playerId] - local coords = xPlayer.getCoords() + 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] + local coords = xPlayer.getCoords() - Core.Pickups[pickupId] = {type = type, name = name, count = count, label = label, coords = coords} + Core.Pickups[pickupId] = {type = type, name = name, count = count, label = label, coords = coords} - if type == 'item_weapon' then - Core.Pickups[pickupId].components = components - Core.Pickups[pickupId].tintIndex = tintIndex - end + if type == 'item_weapon' then + Core.Pickups[pickupId].components = components + Core.Pickups[pickupId].tintIndex = tintIndex + end - TriggerClientEvent('esx:createPickup', -1, pickupId, label, coords, type, name, components, tintIndex) - Core.PickupId = pickupId - end + TriggerClientEvent('esx:createPickup', -1, pickupId, label, coords, type, name, components, tintIndex) + Core.PickupId = pickupId + end end function ESX.DoesJobExist(job, grade) - grade = tostring(grade) + grade = tostring(grade) - if job and grade then - if ESX.Jobs[job] and ESX.Jobs[job].grades[grade] then - return true - end - end + if job and grade then + if ESX.Jobs[job] and ESX.Jobs[job].grades[grade] then + return true + end + end - return false + return false end function Core.IsPlayerAdmin(playerId) - if (IsPlayerAceAllowed(playerId, 'command') or GetConvar('sv_lan', '') == 'true') and true or false then - return true - end + if (IsPlayerAceAllowed(playerId, 'command') or GetConvar('sv_lan', '') == 'true') and true or false then + return true + end - local xPlayer = ESX.Players[playerId] + local xPlayer = ESX.Players[playerId] - if xPlayer then - if xPlayer.group == 'admin' then - return true - end - end + if xPlayer then + if Config.AdminGroups[xPlayer.group] then + return true + end + end - return false + return false end diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 892b5a5e..14105ce7 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -6,638 +6,666 @@ local newPlayer = 'INSERT INTO `users` SET `accounts` = ?, `identifier` = ?, `gr local loadPlayer = 'SELECT `accounts`, `job`, `job_grade`, `group`, `position`, `inventory`, `skin`, `loadout`, `metadata`' if Config.Multichar then - newPlayer = newPlayer .. ', `firstname` = ?, `lastname` = ?, `dateofbirth` = ?, `sex` = ?, `height` = ?' + newPlayer = newPlayer .. ', `firstname` = ?, `lastname` = ?, `dateofbirth` = ?, `sex` = ?, `height` = ?' end if Config.Multichar or Config.Identity then - loadPlayer = loadPlayer .. ', `firstname`, `lastname`, `dateofbirth`, `sex`, `height`' + loadPlayer = loadPlayer .. ', `firstname`, `lastname`, `dateofbirth`, `sex`, `height`' end loadPlayer = loadPlayer .. ' FROM `users` WHERE identifier = ?' if Config.Multichar then - AddEventHandler('esx:onPlayerJoined', function(src, char, data) - while not next(ESX.Jobs) do - Wait(50) - end + AddEventHandler('esx:onPlayerJoined', function(src, char, data) + while not next(ESX.Jobs) do + Wait(50) + end - if not ESX.Players[src] then - local identifier = char .. ':' .. ESX.GetIdentifier(src) - if data then - createESXPlayer(identifier, src, data) - else - loadESXPlayer(identifier, src, false) - end - end - end) + if not ESX.Players[src] then + local identifier = char .. ':' .. ESX.GetIdentifier(src) + if data then + createESXPlayer(identifier, src, data) + else + loadESXPlayer(identifier, src, false) + end + end + end) else - RegisterNetEvent('esx:onPlayerJoined') - AddEventHandler('esx:onPlayerJoined', function() - local _source = source - while not next(ESX.Jobs) do - Wait(50) - end + RegisterNetEvent('esx:onPlayerJoined') + AddEventHandler('esx:onPlayerJoined', function() + local _source = source + while not next(ESX.Jobs) do + Wait(50) + end - if not ESX.Players[_source] then - onPlayerJoined(_source) - end - end) + if not ESX.Players[_source] then + onPlayerJoined(_source) + end + end) end function onPlayerJoined(playerId) - local identifier = ESX.GetIdentifier(playerId) - if identifier then - if ESX.GetPlayerFromIdentifier(identifier) then - DropPlayer(playerId, - ('there was an error loading your character!\nError code: identifier-active-ingame\n\nThis error is caused by a player on this server who has the same identifier as you have. Make sure you are not playing on the same Rockstar account.\n\nYour Rockstar identifier: %s'):format( - identifier)) - else - local result = MySQL.scalar.await('SELECT 1 FROM users WHERE identifier = ?', {identifier}) - if result then - loadESXPlayer(identifier, playerId, false) - else - - createESXPlayer(identifier, playerId) - end - end - else - DropPlayer(playerId, - 'there was an error loading your character!\nError code: identifier-missing-ingame\n\nThe cause of this error is not known, your identifier could not be found. Please come back later or report this problem to the server administration team.') - end + local identifier = ESX.GetIdentifier(playerId) + if identifier then + if ESX.GetPlayerFromIdentifier(identifier) then + DropPlayer(playerId, + ('there was an error loading your character!\nError code: identifier-active-ingame\n\nThis error is caused by a player on this server who has the same identifier as you have. Make sure you are not playing on the same Rockstar account.\n\nYour Rockstar identifier: %s'):format( + identifier)) + else + local result = MySQL.scalar.await('SELECT 1 FROM users WHERE identifier = ?', {identifier}) + if result then + loadESXPlayer(identifier, playerId, false) + else + + createESXPlayer(identifier, playerId) + end + end + else + DropPlayer(playerId, + 'there was an error loading your character!\nError code: identifier-missing-ingame\n\nThe cause of this error is not known, your identifier could not be found. Please come back later or report this problem to the server administration team.') + end end function createESXPlayer(identifier, playerId, data) - local accounts = {} + local accounts = {} - for account, money in pairs(Config.StartingAccountMoney) do - accounts[account] = money - end + for account, money in pairs(Config.StartingAccountMoney) do + accounts[account] = money + end - local defaultGroup = "user" - if Core.IsPlayerAdmin(playerId) then - print(('[^2INFO^0] Player ^5%s^0 Has been granted admin permissions via ^5Ace Perms^7.'):format(playerId)) - defaultGroup = "admin" - end + local defaultGroup = "user" + if Core.IsPlayerAdmin(playerId) then + print(('[^2INFO^0] Player ^5%s^0 Has been granted admin permissions via ^5Ace Perms^7.'):format(playerId)) + defaultGroup = "admin" + end - 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 + 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 end if not Config.Multichar then - AddEventHandler('playerConnecting', function(name, setCallback, deferrals) - deferrals.defer() - local playerId = source - local identifier = ESX.GetIdentifier(playerId) + AddEventHandler('playerConnecting', function(name, setCallback, deferrals) + deferrals.defer() + local playerId = source + local identifier = ESX.GetIdentifier(playerId) - if oneSyncState == "off" or oneSyncState == "legacy" then - return deferrals.done(('[ESX] ESX Requires Onesync Infinity to work. This server currently has Onesync set to: %s'):format(oneSyncState)) - end + if oneSyncState == "off" or oneSyncState == "legacy" then + return deferrals.done(('[ESX] ESX Requires Onesync Infinity to work. This server currently has Onesync set to: %s'):format(oneSyncState)) + end - if not Core.DatabaseConnected then - return deferrals.done(('[ESX] ESX Cannot Connect to your database. Please make sure it is correctly configured in your server.cfg'):format(oneSyncState)) - end - - if identifier then - if ESX.GetPlayerFromIdentifier(identifier) then - return deferrals.done( - ('[ESX] There was an error loading your character!\nError code: identifier-active\n\nThis error is caused by a player on this server who has the same identifier as you have. Make sure you are not playing on the same account.\n\nYour identifier: %s'):format( - identifier)) - else - return deferrals.done() - end - else - return deferrals.done( - '[ESX] There was an error loading your character!\nError code: identifier-missing\n\nThe cause of this error is not known, your identifier could not be found. Please come back later or report this problem to the server administration team.') - end - end) + if not Core.DatabaseConnected then + return deferrals.done('[ESX] OxMySQL Was Unable To Connect to your database. Please make sure it is turned on and correctly configured in your server.cfg') + end + + if identifier then + if ESX.GetPlayerFromIdentifier(identifier) then + return deferrals.done( + ('[ESX] There was an error loading your character!\nError code: identifier-active\n\nThis error is caused by a player on this server who has the same identifier as you have. Make sure you are not playing on the same account.\n\nYour identifier: %s'):format( + identifier)) + else + return deferrals.done() + end + else + return deferrals.done( + '[ESX] There was an error loading your character!\nError code: identifier-missing\n\nThe cause of this error is not known, your identifier could not be found. Please come back later or report this problem to the server administration team.') + end + end) end function loadESXPlayer(identifier, playerId, isNew) - local userData = {accounts = {}, inventory = {}, job = {}, loadout = {}, playerName = GetPlayerName(playerId), weight = 0, metadata = {}} - local result = MySQL.prepare.await(loadPlayer, {identifier}) - local job, grade, jobObject, gradeObject = result.job, tostring(result.job_grade) - local foundAccounts, foundItems = {}, {} - - -- Accounts - if result.accounts and result.accounts ~= '' then - local accounts = json.decode(result.accounts) - - for account, money in pairs(accounts) do - foundAccounts[account] = money - end - end - - for account, data in pairs(Config.Accounts) do - if data.round == nil then - data.round = true - end - local index = #userData.accounts + 1 - userData.accounts[index] = { - name = account, - money = foundAccounts[account] or Config.StartingAccountMoney[account] or 0, - label = data.label, - round = data.round, - index = index + local userData = { + accounts = {}, + inventory = {}, + job = {}, + loadout = {}, + playerName = GetPlayerName(playerId), + weight = 0, + metadata = {} } - end + local result = MySQL.prepare.await(loadPlayer, { identifier }) + local job, grade, jobObject, gradeObject = result.job, tostring(result.job_grade) + local foundAccounts, foundItems = {}, {} - -- Job - if ESX.DoesJobExist(job, grade) then - 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' - jobObject, gradeObject = ESX.Jobs[job], ESX.Jobs[job].grades[grade] - end + -- Accounts + if result.accounts and result.accounts ~= '' then + local accounts = json.decode(result.accounts) - userData.job.id = jobObject.id - userData.job.name = jobObject.name - userData.job.label = jobObject.label + for account, money in pairs(accounts) do + foundAccounts[account] = money + end + end - userData.job.grade = tonumber(grade) - userData.job.grade_name = gradeObject.name - userData.job.grade_label = gradeObject.label - userData.job.grade_salary = gradeObject.salary + for account, data in pairs(Config.Accounts) do + if data.round == nil then + data.round = true + end + local index = #userData.accounts + 1 + userData.accounts[index] = { + name = account, + money = foundAccounts[account] or Config.StartingAccountMoney[account] or 0, + label = data.label, + round = data.round, + index = index + } + end - userData.job.skin_male = {} - userData.job.skin_female = {} + -- Job + if ESX.DoesJobExist(job, grade) then + 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' + jobObject, gradeObject = ESX.Jobs[job], ESX.Jobs[job].grades[grade] + end - if gradeObject.skin_male then - userData.job.skin_male = json.decode(gradeObject.skin_male) - end - if gradeObject.skin_female then - userData.job.skin_female = json.decode(gradeObject.skin_female) - end + userData.job.id = jobObject.id + userData.job.name = jobObject.name + userData.job.label = jobObject.label - -- Inventory - if not Config.OxInventory then - if result.inventory and result.inventory ~= '' then - local inventory = json.decode(result.inventory) + userData.job.grade = tonumber(grade) + userData.job.grade_name = gradeObject.name + userData.job.grade_label = gradeObject.label + userData.job.grade_salary = gradeObject.salary - for name, count in pairs(inventory) do - local item = ESX.Items[name] + userData.job.skin_male = {} + userData.job.skin_female = {} - if item then - foundItems[name] = count + if gradeObject.skin_male then + userData.job.skin_male = json.decode(gradeObject.skin_male) + end + if gradeObject.skin_female then + userData.job.skin_female = json.decode(gradeObject.skin_female) + end + + -- Inventory + if not Config.OxInventory then + if result.inventory and result.inventory ~= '' then + local inventory = json.decode(result.inventory) + + for name, count in pairs(inventory) do + local item = ESX.Items[name] + + if item then + foundItems[name] = count + else + print(('[^3WARNING^7] Ignoring invalid item ^5"%s"^7 for ^5"%s^7"'):format(name, identifier)) + end + end + end + + for name, item in pairs(ESX.Items) do + local count = foundItems[name] or 0 + if count > 0 then + userData.weight = userData.weight + (item.weight * count) + end + + table.insert(userData.inventory, + { + name = name, + count = count, + label = item.label, + weight = item.weight, + usable = Core.UsableItemsCallbacks[name] ~= nil, + rare = item.rare, + canRemove = item.canRemove + }) + end + + table.sort(userData.inventory, function(a, b) + return a.label < b.label + end) + else + if result.inventory and result.inventory ~= '' then + userData.inventory = json.decode(result.inventory) else - print(('[^3WARNING^7] Ignoring invalid item ^5"%s"^7 for ^5"%s^7"'):format(name, identifier)) + userData.inventory = {} end - end end - for name, item in pairs(ESX.Items) do - local count = foundItems[name] or 0 - if count > 0 then - userData.weight = userData.weight + (item.weight * count) - end - - table.insert(userData.inventory, - {name = name, count = count, label = item.label, weight = item.weight, usable = Core.UsableItemsCallbacks[name] ~= nil, rare = item.rare, - canRemove = item.canRemove}) - end - - table.sort(userData.inventory, function(a, b) - return a.label < b.label - end) - else - if result.inventory and result.inventory ~= '' then - userData.inventory = json.decode(result.inventory) - else - userData.inventory = {} - end - end - - -- Group - if result.group then - if result.group == "superadmin" then - userData.group = "admin" - print("[^3WARNING^7] ^5Superadmin^7 detected, setting group to ^5admin^7") - else - userData.group = result.group - end - else - userData.group = 'user' - end - - -- Loadout - if not Config.OxInventory then - if result.loadout and result.loadout ~= '' then - local loadout = json.decode(result.loadout) - - for name, weapon in pairs(loadout) do - local label = ESX.GetWeaponLabel(name) - - if label then - if not weapon.components then - weapon.components = {} - end - if not weapon.tintIndex then - weapon.tintIndex = 0 - end - - table.insert(userData.loadout, - {name = name, ammo = weapon.ammo, label = label, components = weapon.components, tintIndex = weapon.tintIndex}) + -- Group + if result.group then + if result.group == "superadmin" then + userData.group = "admin" + print("[^3WARNING^7] ^5Superadmin^7 detected, setting group to ^5admin^7") + else + userData.group = result.group end - end - end - end - - -- Position - userData.coords = json.decode(result.position) or Config.DefaultSpawn - - -- Skin - if result.skin and result.skin ~= '' then - userData.skin = json.decode(result.skin) - else - if userData.sex == 'f' then - userData.skin = {sex = 1} else - userData.skin = {sex = 0} + userData.group = 'user' end - end - -- Identity - if result.firstname and result.firstname ~= '' then - userData.firstname = result.firstname - userData.lastname = result.lastname - userData.playerName = userData.firstname .. ' ' .. userData.lastname - if result.dateofbirth then - userData.dateofbirth = result.dateofbirth + -- Loadout + if not Config.OxInventory then + if result.loadout and result.loadout ~= '' then + local loadout = json.decode(result.loadout) + + for name, weapon in pairs(loadout) do + local label = ESX.GetWeaponLabel(name) + + if label then + if not weapon.components then + weapon.components = {} + end + if not weapon.tintIndex then + weapon.tintIndex = 0 + end + + table.insert(userData.loadout, + { + name = name, + ammo = weapon.ammo, + label = label, + components = weapon.components, + tintIndex = weapon.tintIndex + }) + end + end + end end - if result.sex then - userData.sex = result.sex + + -- Position + userData.coords = json.decode(result.position) or Config.DefaultSpawns[math.random(#Config.DefaultSpawns)] + + -- Skin + if result.skin and result.skin ~= '' then + userData.skin = json.decode(result.skin) + else + if userData.sex == 'f' then + userData.skin = { sex = 1 } + else + userData.skin = { sex = 0 } + end end - if result.height then - userData.height = result.height + + -- Identity + if result.firstname and result.firstname ~= '' then + userData.firstname = result.firstname + userData.lastname = result.lastname + userData.playerName = userData.firstname .. ' ' .. userData.lastname + if result.dateofbirth then + userData.dateofbirth = result.dateofbirth + end + if result.sex then + userData.sex = result.sex + end + if result.height then + userData.height = result.height + end end - end - if result.metadata and result.metadata ~= '' then - local metadata = json.decode(result.metadata) - userData.metadata = metadata - end - - local xPlayer = CreateExtendedPlayer(playerId, identifier, userData.group, userData.accounts, userData.inventory, userData.weight, userData.job, - userData.loadout, userData.playerName, userData.coords, userData.metadata) - ESX.Players[playerId] = xPlayer - Core.playersByIdentifier[identifier] = xPlayer - - if userData.firstname then - xPlayer.set('firstName', userData.firstname) - xPlayer.set('lastName', userData.lastname) - if userData.dateofbirth then - xPlayer.set('dateofbirth', userData.dateofbirth) + if result.metadata and result.metadata ~= '' then + local metadata = json.decode(result.metadata) + userData.metadata = metadata end - if userData.sex then - xPlayer.set('sex', userData.sex) + + local xPlayer = CreateExtendedPlayer(playerId, identifier, userData.group, userData.accounts, userData.inventory, userData.weight, userData.job, userData.loadout, userData.playerName, userData.coords, userData.metadata) + ESX.Players[playerId] = xPlayer + Core.playersByIdentifier[identifier] = xPlayer + + if userData.firstname then + xPlayer.set('firstName', userData.firstname) + xPlayer.set('lastName', userData.lastname) + if userData.dateofbirth then + xPlayer.set('dateofbirth', userData.dateofbirth) + end + if userData.sex then + xPlayer.set('sex', userData.sex) + end + if userData.height then + xPlayer.set('height', userData.height) + end end - if userData.height then - xPlayer.set('height', userData.height) + + TriggerEvent('esx:playerLoaded', playerId, xPlayer, isNew) + + xPlayer.triggerEvent('esx:playerLoaded', + { + accounts = xPlayer.getAccounts(), + coords = userData.coords, + identifier = xPlayer.getIdentifier(), + inventory = xPlayer.getInventory(), + job = xPlayer.getJob(), + loadout = xPlayer.getLoadout(), + maxWeight = xPlayer.getMaxWeight(), + money = xPlayer.getMoney(), + sex = xPlayer.get("sex") or "m", + firstName = xPlayer.get("firstName") or "John", + lastName = xPlayer.get("lastName") or "Doe", + dateofbirth = xPlayer.get("dateofbirth") or "01/01/2000", + height = xPlayer.get("height") or 120, + dead = false, + metadata = xPlayer.getMeta() + }, isNew, + userData.skin) + + if not Config.OxInventory then + xPlayer.triggerEvent('esx:createMissingPickups', Core.Pickups) + else + exports.ox_inventory:setPlayerInventory(xPlayer, userData.inventory) + + if isNew then + for account, money in pairs(Config.StartingAccountMoney) do + if account == 'money' or account == 'black_money' then + exports.ox_inventory:AddItem(playerId, account, money) + end + end + end end - end - - TriggerEvent('esx:playerLoaded', playerId, xPlayer, isNew) - - xPlayer.triggerEvent('esx:playerLoaded', - { - accounts = xPlayer.getAccounts(), - coords = xPlayer.getCoords(), - identifier = xPlayer.getIdentifier(), - inventory = xPlayer.getInventory(), - job = xPlayer.getJob(), - loadout = xPlayer.getLoadout(), - maxWeight = xPlayer.getMaxWeight(), - money = xPlayer.getMoney(), - sex = xPlayer.get("sex") or "m", - firstName = xPlayer.get("firstName") or "John", - lastName = xPlayer.get("lastName") or "Doe", - dateofbirth = xPlayer.get("dateofbirth") or "01/01/2000", - height = xPlayer.get("height") or 120, - dead = false, - metadata = xPlayer.getMeta() - }, isNew, - userData.skin) - - if not Config.OxInventory then - xPlayer.triggerEvent('esx:createMissingPickups', Core.Pickups) - else - exports.ox_inventory:setPlayerInventory(xPlayer, userData.inventory) - end - xPlayer.updateCoords() - 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)) + xPlayer.triggerEvent('esx:registerSuggestions', Core.RegisteredCommands) + print(('[^2INFO^0] Player ^5"%s"^0 has connected to the server. ID: ^5%s^7'):format(xPlayer.getName(), playerId)) end + AddEventHandler('chatMessage', function(playerId, author, message) - local xPlayer = ESX.GetPlayerFromId(playerId) - if message:sub(1, 1) == '/' and playerId > 0 then - CancelEvent() - local commandName = message:sub(1):gmatch("%w+")() - xPlayer.showNotification(TranslateCap('commanderror_invalidcommand', commandName)) - end + local xPlayer = ESX.GetPlayerFromId(playerId) + if message:sub(1, 1) == '/' and playerId > 0 then + CancelEvent() + local commandName = message:sub(1):gmatch("%w+")() + xPlayer.showNotification(TranslateCap('commanderror_invalidcommand', commandName)) + end end) AddEventHandler('playerDropped', function(reason) - local playerId = source - local xPlayer = ESX.GetPlayerFromId(playerId) + local playerId = source + local xPlayer = ESX.GetPlayerFromId(playerId) - if xPlayer then - TriggerEvent('esx:playerDropped', playerId, reason) + if xPlayer then + TriggerEvent('esx:playerDropped', playerId, reason) - Core.playersByIdentifier[xPlayer.identifier] = nil - Core.SavePlayer(xPlayer, function() - ESX.Players[playerId] = nil - end) - end + Core.playersByIdentifier[xPlayer.identifier] = nil + Core.SavePlayer(xPlayer, function() + ESX.Players[playerId] = nil + end) + end end) AddEventHandler('esx:playerLogout', function(playerId, cb) - local xPlayer = ESX.GetPlayerFromId(playerId) - if xPlayer then - TriggerEvent('esx:playerDropped', playerId) + local xPlayer = ESX.GetPlayerFromId(playerId) + if xPlayer then + TriggerEvent('esx:playerDropped', playerId) - Core.playersByIdentifier[xPlayer.identifier] = nil - Core.SavePlayer(xPlayer, function() - ESX.Players[playerId] = nil - if cb then - cb() - end - end) - end - TriggerClientEvent("esx:onPlayerLogout", playerId) + Core.playersByIdentifier[xPlayer.identifier] = nil + Core.SavePlayer(xPlayer, function() + ESX.Players[playerId] = nil + if cb then + cb() + end + end) + end + TriggerClientEvent("esx:onPlayerLogout", playerId) end) if not Config.OxInventory then - RegisterNetEvent('esx:updateWeaponAmmo') - AddEventHandler('esx:updateWeaponAmmo', function(weaponName, ammoCount) - local xPlayer = ESX.GetPlayerFromId(source) + RegisterNetEvent('esx:updateWeaponAmmo') + AddEventHandler('esx:updateWeaponAmmo', function(weaponName, ammoCount) + local xPlayer = ESX.GetPlayerFromId(source) - if xPlayer then - xPlayer.updateWeaponAmmo(weaponName, ammoCount) - end - end) + if xPlayer then + xPlayer.updateWeaponAmmo(weaponName, ammoCount) + end + end) - RegisterNetEvent('esx:giveInventoryItem') - AddEventHandler('esx:giveInventoryItem', function(target, type, itemName, itemCount) - local playerId = source - local sourceXPlayer = ESX.GetPlayerFromId(playerId) - local targetXPlayer = ESX.GetPlayerFromId(target) - local distance = #(GetEntityCoords(GetPlayerPed(playerId)) - GetEntityCoords(GetPlayerPed(target))) - if not sourceXPlayer or not targetXPlayer or distance > Config.DistanceGive then - print("[^3WARNING^7] Player Detected Cheating: ^5" .. GetPlayerName(playerId) .. "^7") - return - end + RegisterNetEvent('esx:giveInventoryItem') + AddEventHandler('esx:giveInventoryItem', function(target, type, itemName, itemCount) + local playerId = source + local sourceXPlayer = ESX.GetPlayerFromId(playerId) + local targetXPlayer = ESX.GetPlayerFromId(target) + local distance = #(GetEntityCoords(GetPlayerPed(playerId)) - GetEntityCoords(GetPlayerPed(target))) + if not sourceXPlayer or not targetXPlayer or distance > Config.DistanceGive then + print("[^3WARNING^7] Player Detected Cheating: ^5" .. GetPlayerName(playerId) .. "^7") + return + end - if type == 'item_standard' then - local sourceItem = sourceXPlayer.getInventoryItem(itemName) + if type == 'item_standard' then + local sourceItem = sourceXPlayer.getInventoryItem(itemName) - if itemCount > 0 and sourceItem.count >= itemCount then - if targetXPlayer.canCarryItem(itemName, itemCount) then - sourceXPlayer.removeInventoryItem(itemName, itemCount) - targetXPlayer.addInventoryItem(itemName, itemCount) + if itemCount > 0 and sourceItem.count >= itemCount then + if targetXPlayer.canCarryItem(itemName, itemCount) then + sourceXPlayer.removeInventoryItem(itemName, itemCount) + targetXPlayer.addInventoryItem(itemName, itemCount) - sourceXPlayer.showNotification(TranslateCap('gave_item', itemCount, sourceItem.label, targetXPlayer.name)) - targetXPlayer.showNotification(TranslateCap('received_item', itemCount, sourceItem.label, sourceXPlayer.name)) - else - sourceXPlayer.showNotification(TranslateCap('ex_inv_lim', targetXPlayer.name)) - end - else - sourceXPlayer.showNotification(TranslateCap('imp_invalid_quantity')) - end - elseif 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) + sourceXPlayer.showNotification(TranslateCap('gave_item', itemCount, sourceItem.label, targetXPlayer.name)) + targetXPlayer.showNotification(TranslateCap('received_item', itemCount, sourceItem.label, sourceXPlayer.name)) + else + sourceXPlayer.showNotification(TranslateCap('ex_inv_lim', targetXPlayer.name)) + end + else + sourceXPlayer.showNotification(TranslateCap('imp_invalid_quantity')) + end + elseif 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) - sourceXPlayer.showNotification(TranslateCap('gave_account_money', ESX.Math.GroupDigits(itemCount), Config.Accounts[itemName].label, targetXPlayer.name)) - targetXPlayer.showNotification(TranslateCap('received_account_money', ESX.Math.GroupDigits(itemCount), Config.Accounts[itemName].label, - sourceXPlayer.name)) - else - sourceXPlayer.showNotification(TranslateCap('imp_invalid_amount')) - end - elseif type == 'item_weapon' then - if sourceXPlayer.hasWeapon(itemName) then - local weaponLabel = ESX.GetWeaponLabel(itemName) - if not targetXPlayer.hasWeapon(itemName) then - local _, weapon = sourceXPlayer.getWeapon(itemName) - local _, weaponObject = ESX.GetWeapon(itemName) - itemCount = weapon.ammo - local weaponComponents = ESX.Table.Clone(weapon.components) - local weaponTint = weapon.tintIndex - if weaponTint then - targetXPlayer.setWeaponTint(itemName, weaponTint) - end - if weaponComponents then - for k, v in pairs(weaponComponents) do - targetXPlayer.addWeaponComponent(itemName, v) - end - end - sourceXPlayer.removeWeapon(itemName) - targetXPlayer.addWeapon(itemName, itemCount) + sourceXPlayer.showNotification(TranslateCap('gave_account_money', ESX.Math.GroupDigits(itemCount), Config.Accounts[itemName].label, targetXPlayer.name)) + targetXPlayer.showNotification(TranslateCap('received_account_money', ESX.Math.GroupDigits(itemCount), Config.Accounts[itemName].label, + sourceXPlayer.name)) + else + sourceXPlayer.showNotification(TranslateCap('imp_invalid_amount')) + end + elseif type == 'item_weapon' then + if sourceXPlayer.hasWeapon(itemName) then + local weaponLabel = ESX.GetWeaponLabel(itemName) + if not targetXPlayer.hasWeapon(itemName) then + local _, weapon = sourceXPlayer.getWeapon(itemName) + local _, weaponObject = ESX.GetWeapon(itemName) + itemCount = weapon.ammo + local weaponComponents = ESX.Table.Clone(weapon.components) + local weaponTint = weapon.tintIndex + if weaponTint then + targetXPlayer.setWeaponTint(itemName, weaponTint) + end + if weaponComponents then + for k, v in pairs(weaponComponents) do + targetXPlayer.addWeaponComponent(itemName, v) + end + end + sourceXPlayer.removeWeapon(itemName) + targetXPlayer.addWeapon(itemName, itemCount) - if weaponObject.ammo and itemCount > 0 then - local ammoLabel = weaponObject.ammo.label - sourceXPlayer.showNotification(TranslateCap('gave_weapon_withammo', weaponLabel, itemCount, ammoLabel, targetXPlayer.name)) - targetXPlayer.showNotification(TranslateCap('received_weapon_withammo', weaponLabel, itemCount, ammoLabel, sourceXPlayer.name)) - else - sourceXPlayer.showNotification(TranslateCap('gave_weapon', weaponLabel, targetXPlayer.name)) - targetXPlayer.showNotification(TranslateCap('received_weapon', weaponLabel, sourceXPlayer.name)) - end - else - sourceXPlayer.showNotification(TranslateCap('gave_weapon_hasalready', targetXPlayer.name, weaponLabel)) - targetXPlayer.showNotification(TranslateCap('received_weapon_hasalready', sourceXPlayer.name, weaponLabel)) - end - end - elseif type == 'item_ammo' then - if sourceXPlayer.hasWeapon(itemName) then - local weaponNum, weapon = sourceXPlayer.getWeapon(itemName) + if weaponObject.ammo and itemCount > 0 then + local ammoLabel = weaponObject.ammo.label + sourceXPlayer.showNotification(TranslateCap('gave_weapon_withammo', weaponLabel, itemCount, ammoLabel, targetXPlayer.name)) + targetXPlayer.showNotification(TranslateCap('received_weapon_withammo', weaponLabel, itemCount, ammoLabel, sourceXPlayer.name)) + else + sourceXPlayer.showNotification(TranslateCap('gave_weapon', weaponLabel, targetXPlayer.name)) + targetXPlayer.showNotification(TranslateCap('received_weapon', weaponLabel, sourceXPlayer.name)) + end + else + sourceXPlayer.showNotification(TranslateCap('gave_weapon_hasalready', targetXPlayer.name, weaponLabel)) + targetXPlayer.showNotification(TranslateCap('received_weapon_hasalready', sourceXPlayer.name, weaponLabel)) + end + end + elseif type == 'item_ammo' then + if sourceXPlayer.hasWeapon(itemName) then + local weaponNum, weapon = sourceXPlayer.getWeapon(itemName) - if targetXPlayer.hasWeapon(itemName) then - local _, weaponObject = ESX.GetWeapon(itemName) + if targetXPlayer.hasWeapon(itemName) then + local _, weaponObject = ESX.GetWeapon(itemName) - if weaponObject.ammo then - local ammoLabel = weaponObject.ammo.label + if weaponObject.ammo then + local ammoLabel = weaponObject.ammo.label - if weapon.ammo >= itemCount then - sourceXPlayer.removeWeaponAmmo(itemName, itemCount) - targetXPlayer.addWeaponAmmo(itemName, itemCount) + if weapon.ammo >= itemCount then + sourceXPlayer.removeWeaponAmmo(itemName, itemCount) + targetXPlayer.addWeaponAmmo(itemName, itemCount) - sourceXPlayer.showNotification(TranslateCap('gave_weapon_ammo', itemCount, ammoLabel, weapon.label, targetXPlayer.name)) - targetXPlayer.showNotification(TranslateCap('received_weapon_ammo', itemCount, ammoLabel, weapon.label, sourceXPlayer.name)) - end - end - else - sourceXPlayer.showNotification(TranslateCap('gave_weapon_noweapon', targetXPlayer.name)) - targetXPlayer.showNotification(TranslateCap('received_weapon_noweapon', sourceXPlayer.name, weapon.label)) - end - end - end - end) + sourceXPlayer.showNotification(TranslateCap('gave_weapon_ammo', itemCount, ammoLabel, weapon.label, targetXPlayer.name)) + targetXPlayer.showNotification(TranslateCap('received_weapon_ammo', itemCount, ammoLabel, weapon.label, sourceXPlayer.name)) + end + end + else + sourceXPlayer.showNotification(TranslateCap('gave_weapon_noweapon', targetXPlayer.name)) + targetXPlayer.showNotification(TranslateCap('received_weapon_noweapon', sourceXPlayer.name, weapon.label)) + end + end + end + end) - RegisterNetEvent('esx:removeInventoryItem') - AddEventHandler('esx:removeInventoryItem', function(type, itemName, itemCount) - local playerId = source - local xPlayer = ESX.GetPlayerFromId(playerId) + RegisterNetEvent('esx:removeInventoryItem') + AddEventHandler('esx:removeInventoryItem', function(type, itemName, itemCount) + local playerId = source + local xPlayer = ESX.GetPlayerFromId(playerId) - if type == 'item_standard' then - if itemCount == nil or itemCount < 1 then - xPlayer.showNotification(TranslateCap('imp_invalid_quantity')) - else - local xItem = xPlayer.getInventoryItem(itemName) + if type == 'item_standard' then + if itemCount == nil or itemCount < 1 then + xPlayer.showNotification(TranslateCap('imp_invalid_quantity')) + else + local xItem = xPlayer.getInventoryItem(itemName) - if (itemCount > xItem.count or xItem.count < 1) then - xPlayer.showNotification(TranslateCap('imp_invalid_quantity')) - else - xPlayer.removeInventoryItem(itemName, itemCount) - local pickupLabel = ('%s [%s]'):format(xItem.label, itemCount) - ESX.CreatePickup('item_standard', itemName, itemCount, pickupLabel, playerId) - xPlayer.showNotification(TranslateCap('threw_standard', itemCount, xItem.label)) - end - end - elseif type == 'item_account' then - if itemCount == nil or itemCount < 1 then - xPlayer.showNotification(TranslateCap('imp_invalid_amount')) - else - local account = xPlayer.getAccount(itemName) + if (itemCount > xItem.count or xItem.count < 1) then + xPlayer.showNotification(TranslateCap('imp_invalid_quantity')) + else + xPlayer.removeInventoryItem(itemName, itemCount) + local pickupLabel = ('%s [%s]'):format(xItem.label, itemCount) + ESX.CreatePickup('item_standard', itemName, itemCount, pickupLabel, playerId) + xPlayer.showNotification(TranslateCap('threw_standard', itemCount, xItem.label)) + end + end + elseif type == 'item_account' then + if itemCount == nil or itemCount < 1 then + xPlayer.showNotification(TranslateCap('imp_invalid_amount')) + else + local account = xPlayer.getAccount(itemName) - if (itemCount > account.money or account.money < 1) then - xPlayer.showNotification(TranslateCap('imp_invalid_amount')) - else - xPlayer.removeAccountMoney(itemName, itemCount, "Threw away") - local pickupLabel = ('%s [%s]'):format(account.label, TranslateCap('locale_currency', ESX.Math.GroupDigits(itemCount))) - ESX.CreatePickup('item_account', itemName, itemCount, pickupLabel, playerId) - xPlayer.showNotification(TranslateCap('threw_account', ESX.Math.GroupDigits(itemCount), string.lower(account.label))) - end - end - elseif type == 'item_weapon' then - itemName = string.upper(itemName) + if (itemCount > account.money or account.money < 1) then + xPlayer.showNotification(TranslateCap('imp_invalid_amount')) + else + xPlayer.removeAccountMoney(itemName, itemCount, "Threw away") + local pickupLabel = ('%s [%s]'):format(account.label, TranslateCap('locale_currency', ESX.Math.GroupDigits(itemCount))) + ESX.CreatePickup('item_account', itemName, itemCount, pickupLabel, playerId) + xPlayer.showNotification(TranslateCap('threw_account', ESX.Math.GroupDigits(itemCount), string.lower(account.label))) + end + end + elseif type == 'item_weapon' then + itemName = string.upper(itemName) - if xPlayer.hasWeapon(itemName) then - local _, weapon = xPlayer.getWeapon(itemName) - local _, weaponObject = ESX.GetWeapon(itemName) - local components, pickupLabel = ESX.Table.Clone(weapon.components) - xPlayer.removeWeapon(itemName) + if xPlayer.hasWeapon(itemName) then + local _, weapon = xPlayer.getWeapon(itemName) + local _, weaponObject = ESX.GetWeapon(itemName) + local components, pickupLabel = ESX.Table.Clone(weapon.components) + xPlayer.removeWeapon(itemName) - if weaponObject.ammo and weapon.ammo > 0 then - local ammoLabel = weaponObject.ammo.label - pickupLabel = ('%s [%s %s]'):format(weapon.label, weapon.ammo, ammoLabel) - xPlayer.showNotification(TranslateCap('threw_weapon_ammo', weapon.label, weapon.ammo, ammoLabel)) - else - pickupLabel = ('%s'):format(weapon.label) - xPlayer.showNotification(TranslateCap('threw_weapon', weapon.label)) - end + if weaponObject.ammo and weapon.ammo > 0 then + local ammoLabel = weaponObject.ammo.label + pickupLabel = ('%s [%s %s]'):format(weapon.label, weapon.ammo, ammoLabel) + xPlayer.showNotification(TranslateCap('threw_weapon_ammo', weapon.label, weapon.ammo, ammoLabel)) + else + pickupLabel = ('%s'):format(weapon.label) + xPlayer.showNotification(TranslateCap('threw_weapon', weapon.label)) + end - ESX.CreatePickup('item_weapon', itemName, weapon.ammo, pickupLabel, playerId, components, weapon.tintIndex) - end - end - end) + ESX.CreatePickup('item_weapon', itemName, weapon.ammo, pickupLabel, playerId, components, weapon.tintIndex) + end + end + end) - RegisterNetEvent('esx:useItem') - AddEventHandler('esx:useItem', function(itemName) - local source = source - local xPlayer = ESX.GetPlayerFromId(source) - local count = xPlayer.getInventoryItem(itemName).count + RegisterNetEvent('esx:useItem') + AddEventHandler('esx:useItem', function(itemName) + local source = source + local xPlayer = ESX.GetPlayerFromId(source) + local count = xPlayer.getInventoryItem(itemName).count - if count > 0 then - ESX.UseItem(source, itemName) - else - xPlayer.showNotification(TranslateCap('act_imp')) - end - end) + if count > 0 then + ESX.UseItem(source, itemName) + else + xPlayer.showNotification(TranslateCap('act_imp')) + end + end) - RegisterNetEvent('esx:onPickup') - AddEventHandler('esx:onPickup', function(pickupId) - local pickup, xPlayer, success = Core.Pickups[pickupId], ESX.GetPlayerFromId(source) + RegisterNetEvent('esx:onPickup') + AddEventHandler('esx:onPickup', function(pickupId) + local pickup, xPlayer, success = Core.Pickups[pickupId], ESX.GetPlayerFromId(source) - if pickup then - if pickup.type == 'item_standard' then - if xPlayer.canCarryItem(pickup.name, pickup.count) then - xPlayer.addInventoryItem(pickup.name, pickup.count) - success = true - else - xPlayer.showNotification(TranslateCap('threw_cannot_pickup')) - end - elseif pickup.type == 'item_account' then - success = true - xPlayer.addAccountMoney(pickup.name, pickup.count, "Picked up") - elseif pickup.type == 'item_weapon' then - if xPlayer.hasWeapon(pickup.name) then - xPlayer.showNotification(TranslateCap('threw_weapon_already')) - else - success = true - xPlayer.addWeapon(pickup.name, pickup.count) - xPlayer.setWeaponTint(pickup.name, pickup.tintIndex) + if pickup then + if pickup.type == 'item_standard' then + if xPlayer.canCarryItem(pickup.name, pickup.count) then + xPlayer.addInventoryItem(pickup.name, pickup.count) + success = true + else + xPlayer.showNotification(TranslateCap('threw_cannot_pickup')) + end + elseif pickup.type == 'item_account' then + success = true + xPlayer.addAccountMoney(pickup.name, pickup.count, "Picked up") + elseif pickup.type == 'item_weapon' then + if xPlayer.hasWeapon(pickup.name) then + xPlayer.showNotification(TranslateCap('threw_weapon_already')) + else + success = true + xPlayer.addWeapon(pickup.name, pickup.count) + xPlayer.setWeaponTint(pickup.name, pickup.tintIndex) - for k, v in ipairs(pickup.components) do - xPlayer.addWeaponComponent(pickup.name, v) - end - end - end + for k, v in ipairs(pickup.components) do + xPlayer.addWeaponComponent(pickup.name, v) + end + end + end - if success then - Core.Pickups[pickupId] = nil - TriggerClientEvent('esx:removePickup', -1, pickupId) - end - end - end) + if success then + Core.Pickups[pickupId] = nil + TriggerClientEvent('esx:removePickup', -1, pickupId) + end + end + end) end ESX.RegisterServerCallback('esx:getPlayerData', function(source, cb) - local xPlayer = ESX.GetPlayerFromId(source) + local xPlayer = ESX.GetPlayerFromId(source) - cb({identifier = xPlayer.identifier, accounts = xPlayer.getAccounts(), inventory = xPlayer.getInventory(), job = xPlayer.getJob(), - loadout = xPlayer.getLoadout(), money = xPlayer.getMoney(), position = xPlayer.getCoords(true), metadata = xPlayer.getMeta()}) + cb({identifier = xPlayer.identifier, accounts = xPlayer.getAccounts(), inventory = xPlayer.getInventory(), job = xPlayer.getJob(), + loadout = xPlayer.getLoadout(), money = xPlayer.getMoney(), position = xPlayer.getCoords(true), metadata = xPlayer.getMeta()}) end) ESX.RegisterServerCallback('esx:isUserAdmin', function(source, cb) - cb(Core.IsPlayerAdmin(source)) + cb(Core.IsPlayerAdmin(source)) end) ESX.RegisterServerCallback('esx:getGameBuild', function(source, cb) - cb(tonumber(GetConvar("sv_enforceGameBuild", 1604))) + cb(tonumber(GetConvar("sv_enforceGameBuild", 1604))) end) ESX.RegisterServerCallback('esx:getOtherPlayerData', function(source, cb, target) - local xPlayer = ESX.GetPlayerFromId(target) + local xPlayer = ESX.GetPlayerFromId(target) - cb({identifier = xPlayer.identifier, accounts = xPlayer.getAccounts(), inventory = xPlayer.getInventory(), job = xPlayer.getJob(), - loadout = xPlayer.getLoadout(), money = xPlayer.getMoney(), position = xPlayer.getCoords(true), metadata = xPlayer.getMeta()}) + cb({identifier = xPlayer.identifier, accounts = xPlayer.getAccounts(), inventory = xPlayer.getInventory(), job = xPlayer.getJob(), + loadout = xPlayer.getLoadout(), money = xPlayer.getMoney(), position = xPlayer.getCoords(true), metadata = xPlayer.getMeta()}) end) ESX.RegisterServerCallback('esx:getPlayerNames', function(source, cb, players) - players[source] = nil + players[source] = nil - for playerId, v in pairs(players) do - local xPlayer = ESX.GetPlayerFromId(playerId) + for playerId, v in pairs(players) do + local xPlayer = ESX.GetPlayerFromId(playerId) - if xPlayer then - players[playerId] = xPlayer.getName() - else - players[playerId] = nil - end - end + if xPlayer then + players[playerId] = xPlayer.getName() + else + players[playerId] = nil + end + end - cb(players) + cb(players) end) AddEventHandler('txAdmin:events:scheduledRestart', function(eventData) - if eventData.secondsRemaining == 60 then - CreateThread(function() - Wait(50000) - Core.SavePlayers() - end) - end + if eventData.secondsRemaining == 60 then + CreateThread(function() + Wait(50000) + Core.SavePlayers() + end) + end end) AddEventHandler('txAdmin:events:serverShuttingDown', function() - Core.SavePlayers() + Core.SavePlayers() end) diff --git a/[core]/es_extended/server/modules/callback.lua b/[core]/es_extended/server/modules/callback.lua index 4c7e17fd..f517531e 100644 --- a/[core]/es_extended/server/modules/callback.lua +++ b/[core]/es_extended/server/modules/callback.lua @@ -6,19 +6,19 @@ local RequestId = 0 ---@param eventName string ---@param callback function ESX.RegisterServerCallback = function(eventName, callback) - serverCallbacks[eventName] = callback + serverCallbacks[eventName] = callback end RegisterNetEvent('esx:triggerServerCallback', function(eventName, requestId, invoker, ...) - if not serverCallbacks[eventName] then - return print(('[^1ERROR^7] Server Callback not registered, name: ^5%s^7, invoker resource: ^5%s^7'):format(eventName, invoker)) - end + if not serverCallbacks[eventName] then + return print(('[^1ERROR^7] Server Callback not registered, name: ^5%s^7, invoker resource: ^5%s^7'):format(eventName, invoker)) + end - local source = source + local source = source - serverCallbacks[eventName](source, function(...) - TriggerClientEvent('esx:serverCallback', source, requestId, invoker, ...) - end, ...) + serverCallbacks[eventName](source, function(...) + TriggerClientEvent('esx:serverCallback', source, requestId, invoker, ...) + end, ...) end) ---@param player number playerId @@ -26,18 +26,18 @@ end) ---@param callback function ---@param ... any ESX.TriggerClientCallback = function(player, eventName, callback, ...) - clientRequests[RequestId] = callback + clientRequests[RequestId] = callback - TriggerClientEvent('esx:triggerClientCallback', player, eventName, RequestId, GetInvokingResource() or "unknown", ...) + TriggerClientEvent('esx:triggerClientCallback', player, eventName, RequestId, GetInvokingResource() or "unknown", ...) - RequestId = RequestId + 1 + RequestId = RequestId + 1 end RegisterNetEvent('esx:clientCallback', function(requestId, invoker, ...) - if not clientRequests[requestId] then - return print(('[^1ERROR^7] Client Callback with requestId ^5%s^7 Was Called by ^5%s^7 but does not exist.'):format(requestId, invoker)) - end + if not clientRequests[requestId] then + return print(('[^1ERROR^7] Client Callback with requestId ^5%s^7 Was Called by ^5%s^7 but does not exist.'):format(requestId, invoker)) + end - clientRequests[requestId](...) - clientRequests[requestId] = nil -end) \ No newline at end of file + clientRequests[requestId](...) + clientRequests[requestId] = nil +end) diff --git a/[core]/es_extended/server/modules/npwd.lua b/[core]/es_extended/server/modules/npwd.lua index 3e0c1ffc..c4712b01 100644 --- a/[core]/es_extended/server/modules/npwd.lua +++ b/[core]/es_extended/server/modules/npwd.lua @@ -1,32 +1,32 @@ local npwd = GetResourceState('npwd'):find('start') and exports.npwd or nil AddEventHandler('onServerResourceStart', function(resource) - if resource ~= 'npwd' then - return - end + if resource ~= 'npwd' then + return + end - npwd = GetResourceState('npwd'):find('start') and exports.npwd or nil + npwd = GetResourceState('npwd'):find('start') and exports.npwd or nil - for _, xPlayer in pairs(ESX.Players) do - npwd:newPlayer({ - source = xPlayer.source, - identifier = xPlayer.identifier, - firstname = xPlayer.get('firstName'), - lastname = xPlayer.get('lastName') - }) - end + for _, xPlayer in pairs(ESX.Players) do + npwd:newPlayer({ + source = xPlayer.source, + identifier = xPlayer.identifier, + firstname = xPlayer.get('firstName'), + lastname = xPlayer.get('lastName') + }) + end end) AddEventHandler('onServerResourceStop', function(resource) - if resource == 'npwd' then - npwd = nil - end + if resource == 'npwd' then + npwd = nil + end end) AddEventHandler('esx:playerLoaded', function(playerId, xPlayer) - if not npwd then - return - end + if not npwd then + return + end if not xPlayer then xPlayer = ESX.GetPlayerFromId(playerId) @@ -41,9 +41,9 @@ AddEventHandler('esx:playerLoaded', function(playerId, xPlayer) end) AddEventHandler('esx:playerLogout', function(playerId) - if not npwd then - return - end + if not npwd then + return + end npwd:unloadPlayer(playerId) -end) \ No newline at end of file +end) diff --git a/[core]/es_extended/server/onesync.lua b/[core]/es_extended/server/onesync.lua index f43acdd7..bcb694a7 100644 --- a/[core]/es_extended/server/onesync.lua +++ b/[core]/es_extended/server/onesync.lua @@ -26,7 +26,7 @@ local function getNearbyPlayers(source, closest, distance, ignore) if not closest then local dist = #(source - coords) if dist <= distance then - count += 1 + count = count + 1 result[count] = {id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist} end else @@ -76,7 +76,7 @@ function ESX.OneSync.SpawnVehicle(model, coords, heading, properties, cb) local networkId = NetworkGetNetworkIdFromEntity(createdVehicle) Entity(createdVehicle).state:set('VehicleProperties', vehicleProperties, true) cb(networkId) - else + else print(('[^1ERROR^7] Tried to spawn invalid vehicle - ^5%s^7!'):format(model)) end end) diff --git a/[core]/es_extended/server/paycheck.lua b/[core]/es_extended/server/paycheck.lua index 1f234a57..1ef999de 100644 --- a/[core]/es_extended/server/paycheck.lua +++ b/[core]/es_extended/server/paycheck.lua @@ -1,9 +1,9 @@ function StartPayCheck() - CreateThread(function() - while true do - Wait(Config.PaycheckInterval) - + CreateThread(function() + while true do + Wait(Config.PaycheckInterval) for player, xPlayer in pairs(ESX.Players) do + local jobLabel = xPlayer.job.label local job = xPlayer.job.grade_name local salary = xPlayer.job.grade_salary @@ -12,6 +12,13 @@ function StartPayCheck() xPlayer.addAccountMoney('bank', salary, "Welfare Check") TriggerClientEvent('esx:showAdvancedNotification', player, TranslateCap('bank'), TranslateCap('received_paycheck'), TranslateCap('received_help', salary), 'CHAR_BANK_MAZE', 9) + if Config.LogPaycheck then + ESX.DiscordLogFields("Paycheck", "Paycheck - Unemployment Benefits", "green", { + {name = "Player", value = xPlayer.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Amount", value = salary, inline = true} + }) + end elseif Config.EnableSocietyPayouts then -- possibly a society TriggerEvent('esx_society:getSociety', xPlayer.job.name, function(society) if society ~= nil then -- verified society @@ -19,6 +26,13 @@ function StartPayCheck() if account.money >= salary then -- does the society money to pay its employees? xPlayer.addAccountMoney('bank', salary, "Paycheck") account.removeMoney(salary) + if Config.LogPaycheck then + ESX.DiscordLogFields("Paycheck", "Paycheck - "..jobLabel, "green", { + {name = "Player", value = xPlayer.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Amount", value = salary, inline = true} + }) + end TriggerClientEvent('esx:showAdvancedNotification', player, TranslateCap('bank'), TranslateCap('received_paycheck'), TranslateCap('received_salary', salary), 'CHAR_BANK_MAZE', 9) @@ -28,12 +42,26 @@ function StartPayCheck() end) else -- not a society xPlayer.addAccountMoney('bank', salary, "Paycheck") + if Config.LogPaycheck then + ESX.DiscordLogFields("Paycheck", "Paycheck - "..jobLabel, "green", { + {name = "Player", value = xPlayer.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Amount", value = salary, inline = true} + }) + end TriggerClientEvent('esx:showAdvancedNotification', player, TranslateCap('bank'), TranslateCap('received_paycheck'), TranslateCap('received_salary', salary), 'CHAR_BANK_MAZE', 9) end end) else -- generic job xPlayer.addAccountMoney('bank', salary, "Paycheck") + if Config.LogPaycheck then + ESX.DiscordLogFields("Paycheck", "Paycheck - Generic", "green", { + {name = "Player", value = xPlayer.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Amount", value = salary, inline = true} + }) + end TriggerClientEvent('esx:showAdvancedNotification', player, TranslateCap('bank'), TranslateCap('received_paycheck'), TranslateCap('received_salary', salary), 'CHAR_BANK_MAZE', 9) end diff --git a/[core]/esx_context/index.html b/[core]/esx_context/index.html index 67670963..cd967955 100644 --- a/[core]/esx_context/index.html +++ b/[core]/esx_context/index.html @@ -269,7 +269,7 @@ } if (ele.input) { - if (ele.inputType == "radio") { + if (ele.inputType === "radio") { for (let j = 0; j < ele.inputValues.length; j++) { let v = ele.inputValues[j]; let container = CreateElement("label", "container", div); @@ -279,7 +279,7 @@ input.type = "radio"; input.name = i + 1; input.checked = - (ele.inputValue || ele.inputPlaceholder || -1) == v.value; + (ele.inputValue || ele.inputPlaceholder || -1) === v.value; let span = CreateElement("SPAN", "checkmark", container); @@ -390,8 +390,8 @@ }); window.addEventListener("keydown", (e) => { - if (e.key == "Escape" || e.key == "Backspace") { - if (e.target.tagName.toLowerCase() == "input") { + if (e.key === "Escape" || e.key === "Backspace") { + if (e.target.tagName.toLowerCase() === "input") { return; } diff --git a/[core]/esx_context/main.lua b/[core]/esx_context/main.lua index 55bfad9c..a71ea8f8 100644 --- a/[core]/esx_context/main.lua +++ b/[core]/esx_context/main.lua @@ -87,7 +87,7 @@ end) RegisterNUICallback("selected",function(data,cb) if not activeMenu or not activeMenu.onSelect - or not data.index + or not data.index then return end @@ -96,7 +96,7 @@ RegisterNUICallback("selected",function(data,cb) local ele = activeMenu.eles[index] if not ele - or ele.input + or ele.input then return end @@ -107,7 +107,7 @@ end) RegisterNUICallback("changed",function(data,cb) if not activeMenu - or not data.index + or not data.index or not data.value then return @@ -117,7 +117,7 @@ RegisterNUICallback("changed",function(data,cb) local ele = activeMenu.eles[index] if not ele - or not ele.input + or not ele.input then return end @@ -144,7 +144,7 @@ end) local function focusPreview() if not activeMenu - or not activeMenu.onSelect + or not activeMenu.onSelect then return end diff --git a/[core]/esx_identity/html/index.html b/[core]/esx_identity/html/index.html index 0e38d430..aee90298 100644 --- a/[core]/esx_identity/html/index.html +++ b/[core]/esx_identity/html/index.html @@ -110,7 +110,7 @@ function TriggeredKey(e) { var keycode; if (window.event) keycode = window.event.keyCode; - if (window.event.keyCode == 13 || window.event.keyCode == 27) + if (window.event.keyCode === 13 || window.event.keyCode === 27) return false; } diff --git a/[core]/esx_identity/locales/de.lua b/[core]/esx_identity/locales/de.lua deleted file mode 100644 index e8e5c897..00000000 --- a/[core]/esx_identity/locales/de.lua +++ /dev/null @@ -1,39 +0,0 @@ -Locales['de'] = { - ['show_active_character'] = 'Zeige aktiven Charakter', - ['active_character'] = 'Aktiver Charackter: %s', - ['error_active_character'] = "Wir konnten deinen Namen nicht auslesen. Bitte kontaktiere einen Admin.", - ['delete_character'] = 'Lösche deinen Charackter und erstelle einen neuen', - ['deleted_character'] = 'Dein Charakter wurde gelöscht.', - ['error_delete_character'] = "Wir konnten deinen Charakter nicht löschen. Bitte kontaktiere einen Admin.", - ['thank_you_for_registering'] = "Danke fürs Registrieren. Viel Spaß.", - ['registration_error'] = "Es gab einen Fehler während der Registration. Bitte kontaktiere einen Admin.", - ['debug_xPlayer_get_first_name'] = "Gibt deinen Vornamen zurück", - ['debug_xPlayer_get_last_name'] = "Gibt deinen Nachnamen zurück", - ['debug_xPlayer_get_full_name'] = "Gibt deinen vollen Namen zurück", - ['debug_xPlayer_get_sex'] = "Gibt dein Geschlecht zurück", - ['debug_xPlayer_get_dob'] = "Gibt deinen Geburtstag zurück", - ['debug_xPlayer_get_height'] = "Gibt deine Größe zurück", - ['error_debug_xPlayer_get_first_name'] = "Ein Fehler entstand dabei, deinen Vornamen auszulesen.", - ['error_debug_xPlayer_get_last_name'] = "Ein Fehler entstand dabei, deinen Nachnamen auszulesen.", - ['error_debug_xPlayer_get_full_name'] = "Ein Fehler entstand dabei, deinen vollen Namen auszulesen.", - ['error_debug_xPlayer_get_sex'] = "Ein Fehler entstand dabei, dein Geschlecht auszulesen.", - ['error_debug_xPlayer_get_dob'] = "Ein Fehler entstand dabei, dein Geburtsdatum auszulesen.", - ['error_debug_xPlayer_get_height'] = "Ein Fehler entstand dabei, deine Größe auszulesen.", - ['return_debug_xPlayer_get_first_name'] = "Vornmame: %s", - ['return_debug_xPlayer_get_last_name'] = "Nachname: %s", - ['return_debug_xPlayer_get_full_name'] = "Voller Name: %s", - ['return_debug_xPlayer_get_sex'] = "Geschlecht: %s", - ['return_debug_xPlayer_get_dob'] = "Geburtsdatum: %s", - ['return_debug_xPlayer_get_height'] = "Höhe: %s Meter", - ['data_incorrect'] = 'Daten sind fehlerhaft. Versuche es erneut.', - ['invalid_format'] = 'Daten falsch formatiert. Versuche es erneut.', - ['no_identifier'] = 'Es gab einen Fehler beim Laden deines Charackters!\nFehler Code: identifier-missing\n\nDie Ursache des Fehlers ist nicht bekannt, dein Identifier konnte nicht gefunden werden. Bitte versuche es später erneut oder kontaktiere einen Admin.', - ['missing_identity'] = 'Es gab einen Fehler beim Laden deines Charackters!\nError code: identity-missing\n\nEs scheint, keine Identität zu geben. Bitte versuche, erneut zu verbinden.', - ['deleted_identity'] = 'Dein Charakter wurde gelöscht. Bitte logge neu ein, um einen neuen zu erstellen.', - ['invalid_firstname_format'] = 'Ungültiges Format (Vorname): Bitte überprüfe deine Eingabe', - ['invalid_lastname_format'] = 'Ungültiges Format (Nachname): Bitte überprüfe deine Eingabe', - ['invalid_dob_format'] = 'Ungültiges Format (Geburtsdatum): Bitte überprüfe deine Eingabe', - ['invalid_sex_format'] = 'Ungültiges Format (Geschlecht): Bitte überprüfe deine Eingabe', - ['invalid_height_format'] = 'Ungültiges Format (Größe): Bitte überprüfe deine Eingabe.' -} - diff --git a/[core]/esx_identity/locales/es.lua b/[core]/esx_identity/locales/es.lua index cb68c9f3..8533e5fc 100644 --- a/[core]/esx_identity/locales/es.lua +++ b/[core]/esx_identity/locales/es.lua @@ -1,38 +1,38 @@ Locales['es'] = { - ['show_active_character'] = 'Mostrar personaje activo', - ['active_character'] = 'Personaje activo: %s', - ['error_active_character'] = "Se produjo un error al recuperar tu nombre. Por favor contacta con un administrador", - ['delete_character'] = 'Elimina tu personaje y crea uno nuevo', - ['deleted_character'] = 'Tu personaje ha sido eliminado', - ['error_delete_character'] = "Se produjo un error al eliminar tu personaje. Por favor contacta con un administrador", - ['thank_you_for_registering'] = "Gracias por registrarte. Que te diviertas", - ['debug_xPlayer_get_first_name'] = "Devuelve tu nombre", - ['debug_xPlayer_get_last_name'] = "Devuelve tu apellido", - ['debug_xPlayer_get_full_name'] = "Devuelve tu nombre completo", - ['debug_xPlayer_get_sex'] = "Devuelve tu sexo", - ['debug_xPlayer_get_dob'] = "Devuelve tu fecha de nacimiento", - ['debug_xPlayer_get_height'] = "Devuelve tu altura", - ['error_debug_xPlayer_get_first_name'] = "Se produjo un error al recuperar tu nombre", - ['error_debug_xPlayer_get_last_name'] = "Se produjo un error al recuperar tu apellido", - ['error_debug_xPlayer_get_full_name'] = "Se produjo un error al recuperar tu nombre completo", - ['error_debug_xPlayer_get_sex'] = "Se produjo un error al recuperar tu sexo", - ['error_debug_xPlayer_get_dob'] = "Se produjo un error al recuperar tu fecha de nacimiento", - ['error_debug_xPlayer_get_height'] = "Se produjo un error al recuperar tu altura", - ['return_debug_xPlayer_get_first_name'] = "Nombre: %s", - ['return_debug_xPlayer_get_last_name'] = "Apellido: %s", - ['return_debug_xPlayer_get_full_name'] = "Nombre completo: %s", - ['return_debug_xPlayer_get_sex'] = "Sexo: %s", - ['return_debug_xPlayer_get_dob'] = "Fecha de nacimiento: %s", - ['return_debug_xPlayer_get_height'] = "Altura: %s centímetros", - ['data_incorrect'] = 'Datos introducidos de forma incorrecta. Inténtalo de nuevo', - ['invalid_format'] = 'Datos con formato incorrecto. Inténtalo de nuevo', - ['no_identifier'] = '¡Se ha producido un error al cargar tu personaje!\nCódigo de error: identifier-missing\n\nSe desconoce la causa de este error, no se pudo encontrar su identificador. Regrese más tarde o informe este problema al equipo de administración del servidor', - ['missing_identity'] = '¡Se ha producido un error al cargar tu personaje!\nCódigo de error: identity-missing\n\nParece que falta su identidad, intente conectarse nuevamente', - ['deleted_identity'] = 'Tu personaje ha sido borrado. Vuelva a iniciar sesión para crear un nuevo personaje', - ['already_registered'] = 'Ya estás registrado.', - ['invalid_firstname_format'] = 'Formato Inválido (Nombre): Inténtalo de nuevo.', - ['invalid_lastname_format'] = 'Formato Inválido (Apellido): Inténtalo de nuevo.', - ['invalid_dob_format'] = 'Formato Inválido (Fec. Nac.): Inténtalo de nuevo.', - ['invalid_sex_format'] = 'Formato Inválido (Sexo): Inténtalo de nuevo.', - ['invalid_height_format'] = 'Formato Inválido (Altura): Inténtalo de nuevo.' +['show_active_character'] = 'Mostrar personaje actual', +['active_character'] = 'Personaje actual: %s', +['error_active_character'] = "Se produjo un error al recuperar tu nombre. Por favor contacta con un administrador", +['delete_character'] = 'Elimina tu personaje y crea uno nuevo', +['deleted_character'] = 'Tu personaje ha sido eliminado', +['error_delete_character'] = "Se produjo un error al eliminar tu personaje. Por favor contacta con un administrador", +['thank_you_for_registering'] = "Gracias por registrarte. Bienvenido a la ciudad", +['debug_xPlayer_get_first_name'] = "Devuelve tu nombre", +['debug_xPlayer_get_last_name'] = "Devuelve tu apellido", +['debug_xPlayer_get_full_name'] = "Devuelve tu nombre completo", +['debug_xPlayer_get_sex'] = "Devuelve tu sexo", +['debug_xPlayer_get_dob'] = "Devuelve tu fecha de nacimiento", +['debug_xPlayer_get_height'] = "Devuelve tu altura", +['error_debug_xPlayer_get_first_name'] = "Se produjo un error al recuperar tu nombre", +['error_debug_xPlayer_get_last_name'] = "Se produjo un error al recuperar tu apellido", +['error_debug_xPlayer_get_full_name'] = "Se produjo un error al recuperar tu nombre completo", +['error_debug_xPlayer_get_sex'] = "Se produjo un error al recuperar tu sexo", +['error_debug_xPlayer_get_dob'] = "Se produjo un error al recuperar tu fecha de nacimiento", +['error_debug_xPlayer_get_height'] = "Se produjo un error al recuperar tu altura", +['return_debug_xPlayer_get_first_name'] = "Nombre: %s", +['return_debug_xPlayer_get_last_name'] = "Apellido: %s", +['return_debug_xPlayer_get_full_name'] = "Nombre completo: %s", +['return_debug_xPlayer_get_sex'] = "Sexo: %s", +['return_debug_xPlayer_get_dob'] = "Fecha de nacimiento: %s", +['return_debug_xPlayer_get_height'] = "Altura: %s centímetros", +['data_incorrect'] = 'Datos introducidos de forma incorrecta. Inténtalo de nuevo', +['invalid_format'] = 'Datos con formato incorrecto. Inténtalo de nuevo', +['no_identifier'] = '¡Se ha producido un error al cargar tu personaje!\nCódigo de error: identifier-missing\n\nSe desconoce la causa de este error, no se pudo encontrar su identificador. Intentalo más tarde o informa de este problema al equipo administrativo del servidor', +['missing_identity'] = '¡Se ha producido un error al cargar tu personaje!\nCódigo de error: identity-missing\n\nParece que falta su identidad, intenta conectarte nuevamente', +['deleted_identity'] = 'Tu personaje ha sido borrado. Vuelva a iniciar sesión para crear un nuevo personaje', +['already_registered'] = 'Ya estás registrado.', +['invalid_firstname_format'] = 'Formato Inválido (Nombre): Inténtalo de nuevo.', +['invalid_lastname_format'] = 'Formato Inválido (Apellido): Inténtalo de nuevo.', +['invalid_dob_format'] = 'Formato Inválido (Fec. Nac.): Inténtalo de nuevo.', +['invalid_sex_format'] = 'Formato Inválido (Sexo): Inténtalo de nuevo.', +['invalid_height_format'] = 'Formato Inválido (Altura): Inténtalo de nuevo.' } diff --git a/[core]/esx_identity/locales/fi.lua b/[core]/esx_identity/locales/fi.lua index 0f384b50..98454f4e 100644 --- a/[core]/esx_identity/locales/fi.lua +++ b/[core]/esx_identity/locales/fi.lua @@ -28,6 +28,6 @@ Locales['fi'] = { ['data_incorrect'] = 'Data syötetty väärin. Yritä uudelleen.', ['invalid_format'] = 'Data syötetty väärässä muodossa. Yritä uudelleen.', ['no_identifier'] = 'Hahmosi lataamisessa ilmeni ongelma!\nVirhekoodi: identifier-missing\n\nVirhekoodin syytä ei tiedetä, joten ota yhteyttä ylläpitoon.', - ['missing_identity'] = 'Hahmosi lataamisessa ilmeni ongelma!\nError code: identity-missing\n\nNäyttää että hahmoasi ei ole olemassa. Kokeile yhdistää uudelleen tai ota yhteyttä ylläpitoon', - ['deleted_identity'] = 'Hahmosi on poistetu. Yhdistä uudestaan palvelimelle luodaksesi uuden hahmosi.' + ['missing_identity'] = 'Hahmosi lataamisessa ilmeni ongelma!\nVirhekoodi: identity-missing\n\nNäyttää siltä että hahmoasi ei ole olemassa. Kokeile yhdistää uudelleen tai ota yhteyttä ylläpitoon', + ['deleted_identity'] = 'Hahmosi on poistetu. Yhdistä palvelimelle uudestaan luodaksesi uusi hahmo.' } diff --git a/[core]/esx_identity/locales/fr.lua b/[core]/esx_identity/locales/fr.lua new file mode 100644 index 00000000..2286ba4f --- /dev/null +++ b/[core]/esx_identity/locales/fr.lua @@ -0,0 +1,38 @@ +Locales['fr'] = { + ['show_active_character'] = 'Afficher le personnage actif', + ['active_character'] = 'Personnage actif: %s', + ['error_active_character'] = 'Une erreur s\'est produite lors de l\'obtention de vos données.', + ['delete_character'] = 'Supprimez votre personnage actuel.', + ['deleted_character'] = 'Caractère supprimé', + ['error_delete_character'] = 'Un problème est survenu lors de la suppression de votre personnage.', + ['thank_you_for_registering'] = 'Inscription réussi. Profitez!', + ['debug_xPlayer_get_first_name'] = 'Renvoie votre prénom', + ['debug_xPlayer_get_last_name'] = 'Renvoie votre nom de famille', + ['debug_xPlayer_get_full_name'] = 'Renvoie votre nom complet', + ['debug_xPlayer_get_sex'] = 'Renvoie votre sexe', + ['debug_xPlayer_get_dob'] = 'Renvoie votre date de naissance', + ['debug_xPlayer_get_height'] = 'Renvoie votre taille', + ['error_debug_xPlayer_get_first_name'] = 'Un problème est survenu lors de l\'obtention de votre prénom.', + ['error_debug_xPlayer_get_last_name'] = 'Un problème est survenu lors de l\'obtention de votre nom de famille.', + ['error_debug_xPlayer_get_full_name'] = 'Un problème est survenu lors de l\'obtention de votre nom complet.', + ['error_debug_xPlayer_get_sex'] = 'Il y a eu un problème lors de l\'obtention de votre sexe.', + ['error_debug_xPlayer_get_dob'] = 'Un problème est survenu lors de l\'obtention de votre date de naissance.', + ['error_debug_xPlayer_get_height'] = 'Un problème est survenu lors de l\'obtention de votre taille.', + ['return_debug_xPlayer_get_first_name'] = 'Prénom: %s', + ['return_debug_xPlayer_get_last_name'] = 'Nom de famille: %s', + ['return_debug_xPlayer_get_full_name'] = 'Nom: %s', + ['return_debug_xPlayer_get_sex'] = 'Sexe: %s', + ['return_debug_xPlayer_get_dob'] = 'Date de naissance: %s', + ['return_debug_xPlayer_get_height'] = 'Hauteur: %s pouces', + ['data_incorrect'] = 'Données non valides, veuillez réessayer.', + ['invalid_format'] = 'Format de données non valide, veuillez réessayer.', + ['no_identifier'] = '[ESX Identity]\nIl y a eu un problème lors du chargement de votre personnage !\nCode d\'erreur : identifiant manquant\n\nCela est dû au fait que votre identifiant est manquant. Veuillez revenir plus tard ou signaler ce problème au propriétaire du serveur.', + ['missing_identity'] = '[ESX Identity]Un problème est survenu lors du chargement de votre personnage !Code d\'erreur : identité manquante\n\nIl semble que votre identité soit manquante, essayez de vous reconnecter.', + ['deleted_identity'] = 'Personnage supprimé. Veuillez vous réinscrire pour créer un nouveau personnage.', + ['already_registered'] = 'Vous êtes déjà inscrit.', + ['invalid_firstname_format'] = 'Format non valide (prénom) : veuillez réessayer.', + ['invalid_lastname_format'] = 'Format non valide (nom de famille) : veuillez réessayer.', + ['invalid_dob_format'] = 'Format non valide (DDN) : veuillez réessayer.', + ['invalid_sex_format'] = 'Format non valide (sexe) : veuillez réessayer.', + ['invalid_height_format'] = 'Format non valide (hauteur) : veuillez réessayer.' + } diff --git a/[core]/esx_identity/locales/hu.lua b/[core]/esx_identity/locales/hu.lua index b7ef6580..6e5f9e9a 100644 --- a/[core]/esx_identity/locales/hu.lua +++ b/[core]/esx_identity/locales/hu.lua @@ -1,7 +1,7 @@ Locales["hu"] = { - ["show_active_character"] = "Aktiv karakterek mutatása", - ["active_character"] = "Aktiv karakter: %s", - ["error_active_character"] = "A név nem felel meg", + ["show_active_character"] = "Aktív karakterek mutatása", + ["active_character"] = "Aktív karakter: %s", + ["error_active_character"] = "A név nem megfelelő", ["delete_character"] = "Töröld a karaktered és csinálj újat", ["deleted_character"] = "A karaktered törölve", ["error_delete_character"] = "Hiba történt a karakter törlésekor. Kérjük, lépjen kapcsolatba egy Adminisztrátorral.", @@ -21,18 +21,18 @@ Locales["hu"] = { ["return_debug_xPlayer_get_first_name"] = "Vezetéknév: %s", ["return_debug_xPlayer_get_last_name"] = "Keresztnév: %s", ["return_debug_xPlayer_get_full_name"] = "Teljes név: %s", - ["return_debug_xPlayer_get_sex"] = "Sex: %s", - ["return_debug_xPlayer_get_dob"] = "DOB: %s", - ["return_debug_xPlayer_get_height"] = "Magasság: %s Inches", + ["return_debug_xPlayer_get_sex"] = "Nem: %s", + ["return_debug_xPlayer_get_dob"] = "Születési dátum: %s", + ["return_debug_xPlayer_get_height"] = "Magasság: %s hüvelyk", ["data_incorrect"] = "Hibásan megadott adatok. Kérlek próbáld újra.", ["invalid_format"] = "Az adatok helytelen formázása. Kérlek próbáld újra.", ["no_identifier"] = "Hiba történt a karakter betöltésekor! \nHibakód: hiányzó azonosító \n\nA hiba oka nem ismert, az azonosító nem található. Kérjük, gyere vissza később, vagy jelentsd a problémát a szerver adminisztrációs csapatának.", ["missing_identity"] = "Hiba történt a karaktered betöltésekor! \n Hibakód: hiányzik az identitás \n és \nNem úgy tűnik, hogy hiányzik a személyazonosságod, próbálkozz újra.", ["deleted_identity"] = "A karaktered törölve", ["already_registered"] = "Már regisztráltál.", - ["invalid_firstname_format"] = "Érvénytelen formátum (Keresztnév): Próbáld újra.", - ["invalid_lastname_format"] = "Érvénytelen formátum (Vezetéknév): Próbáld újra.", - ["invalid_dob_format"] = "Érvénytelen formátum (Születési Idő): Próbáld újra.", - ["invalid_sex_format"] = "Érvénytelen formátum (Nem): Próbáld újra.", - ["invalid_height_format"] = "Érvénytelen formátum (Magasság): Próbáld újra." + ["invalid_firstname_format"] = "Érvénytelen formátum (Keresztnév): Próbáld újra.", + ["invalid_lastname_format"] = "Érvénytelen formátum (Vezetéknév): Próbáld újra.", + ["invalid_dob_format"] = "Érvénytelen formátum (Születési Idő): Próbáld újra.", + ["invalid_sex_format"] = "Érvénytelen formátum (Nem): Próbáld újra.", + ["invalid_height_format"] = "Érvénytelen formátum (Magasság): Próbáld újra." } diff --git a/[core]/esx_identity/locales/it.lua b/[core]/esx_identity/locales/it.lua new file mode 100644 index 00000000..70323cca --- /dev/null +++ b/[core]/esx_identity/locales/it.lua @@ -0,0 +1,38 @@ +Locales['it'] = { + ['show_active_character'] = 'Mostra Personaggio Attivo', + ['active_character'] = 'Personaggio Attivo: %s', + ['error_active_character'] = 'Errore nel recuperare i tuoi dati.', + ['delete_character'] = 'Elimina Personaggio Attuale.', + ['deleted_character'] = 'Personaggio Eliminato', + ['error_delete_character'] = 'Errore nell\' eliminazione del personaggio.', + ['thank_you_for_registering'] = 'Registrazione effettuata. Divertiti!', + ['debug_xPlayer_get_first_name'] = 'Ritorna il tuo nome', + ['debug_xPlayer_get_last_name'] = 'Ritorna il tuo cognome', + ['debug_xPlayer_get_full_name'] = 'Ritorna il tuo nome completo', + ['debug_xPlayer_get_sex'] = 'Ritorna il tuo sesso', + ['debug_xPlayer_get_dob'] = 'Ritorna la tua data di nascita', + ['debug_xPlayer_get_height'] = 'Ritorna la tua altezza', + ['error_debug_xPlayer_get_first_name'] = 'Errore nell\' ottenere il tuo nome.', + ['error_debug_xPlayer_get_last_name'] = 'Errore nell\' ottenere il tuo cognome.', + ['error_debug_xPlayer_get_full_name'] = 'Errore nell\' ottenere il tuo nome completo.', + ['error_debug_xPlayer_get_sex'] = 'Errore nell\' ottenere il tuo sesso.', + ['error_debug_xPlayer_get_dob'] = 'Errore nell\' ottenere la tua data di nascita.', + ['error_debug_xPlayer_get_height'] = 'Errore nell\' ottenere la tua altezza.', + ['return_debug_xPlayer_get_first_name'] = 'Nome: %s', + ['return_debug_xPlayer_get_last_name'] = 'Cognome: %s', + ['return_debug_xPlayer_get_full_name'] = 'Nome Completo: %s', + ['return_debug_xPlayer_get_sex'] = 'Sesso: %s', + ['return_debug_xPlayer_get_dob'] = 'Data di nascita: %s', + ['return_debug_xPlayer_get_height'] = 'Altezza: %s Pollici', + ['data_incorrect'] = 'Dati errati, riprova.', + ['invalid_format'] = 'Formato dati errato, riprova.', + ['no_identifier'] = '[ESX Identity]\nErrore nel caricare il tuo personaggio!\nCodice Errore: identificativo-mancante\n\nQuesto è causato dalla mancanza del tuo identificativo. Riprova più tardi o segnalalo al proprietario del server.', + ['missing_identity'] = '[ESX Identity]\nErrore nel caricare il tuo personaggio!!\nCodice Errore: identità-mancante\n\nSembra che la tua identità sia mancante, prova a riconnetterti.', + ['deleted_identity'] = 'Personaggio eliminato, Rientra per crearne uno nuovo.', + ['already_registered'] = 'Sei già registrato.', + ['invalid_firstname_format'] = 'Formato non valido (Nome): Riprova.', + ['invalid_lastname_format'] = 'Formato non valido (Cognome): Riprova.', + ['invalid_dob_format'] = 'Formato non valido (Data di nascita): Riprova.', + ['invalid_sex_format'] = 'Formato non valido (Sesso): Riprova.', + ['invalid_height_format'] = 'Formato non valido (Altezza): Riprova.' +} diff --git a/[core]/esx_identity/locales/pt.lua b/[core]/esx_identity/locales/pt.lua new file mode 100644 index 00000000..f4f7fdc5 --- /dev/null +++ b/[core]/esx_identity/locales/pt.lua @@ -0,0 +1,38 @@ +Locales['pt'] = { + ['show_active_character'] = 'Mostrar personagem ativa', + ['active_character'] = 'Personagem ativa: %s', + ['error_active_character'] = 'Houve um erro a obter os teus dados.', + ['delete_character'] = 'Apagar a tua personagem atual.', + ['deleted_character'] = 'Personagem apagada!', + ['error_delete_character'] = 'Houve um problema ao apagar a tua personagem.', + ['thank_you_for_registering'] = 'Registo concluído. Diverte-te!', + ['debug_xPlayer_get_first_name'] = 'Retorna o teu primeiro nome', + ['debug_xPlayer_get_last_name'] = 'Retorna o teu último nome', + ['debug_xPlayer_get_full_name'] = 'Retorna o teu nome completo', + ['debug_xPlayer_get_sex'] = 'Retorna o teu sexo', + ['debug_xPlayer_get_dob'] = 'Retorna a tua data de nascimento', + ['debug_xPlayer_get_height'] = 'Retorna a tua altura', + ['error_debug_xPlayer_get_first_name'] = 'Houve um problema ao obter o teu primeiro nome.', + ['error_debug_xPlayer_get_last_name'] = 'Houve um problema ao obter o teu último nome.', + ['error_debug_xPlayer_get_full_name'] = 'Houve um problema ao obter o teu nome completo.', + ['error_debug_xPlayer_get_sex'] = 'Houve um problema ao obter o teu sexo.', + ['error_debug_xPlayer_get_dob'] = 'Houve um problema ao obter a tua data de nascimento.', + ['error_debug_xPlayer_get_height'] = 'Houve um problema ao obter a tua altura.', + ['return_debug_xPlayer_get_first_name'] = 'Primeiro nome: %s', + ['return_debug_xPlayer_get_last_name'] = 'Último nome: %s', + ['return_debug_xPlayer_get_full_name'] = 'Nome: %s', + ['return_debug_xPlayer_get_sex'] = 'Sexo: %s', + ['return_debug_xPlayer_get_dob'] = 'Data de nascimento: %s', + ['return_debug_xPlayer_get_height'] = 'Altura: %s cm', + ['data_incorrect'] = 'Dados inválidos, tenta novamente.', + ['invalid_format'] = 'Formato dos dados inválido, tenta novamente.', + ['no_identifier'] = '[ESX Identity]\nHouve um erro ao carregar a tua personagem!\nCódigo do erro: identifier-missing\n\nEste erro é devido à falta do teu identificador. Porfavor volta mais tarde ou reporta este problema a um Administrador.', + ['missing_identity'] = '[ESX Identity]\nHouve um erro ao carregar a tua personagem!\nCódigo do erro: identity-missing\n\nParece que a tua identidade está em falta, experimenta reentrar no servidor!', + ['deleted_identity'] = 'Personagem apagada. Porfavor reentra para criar uma nova personagem.', + ['already_registered'] = 'Tu já estás registado.', + ['invalid_firstname_format'] = 'Formato inválido (Primeiro nome): Porfavor tenta novamente!', + ['invalid_lastname_format'] = 'Formato inválido (Último nome): Porfavor tenta novamente!', + ['invalid_dob_format'] = 'Formato inválido (Data de nascimento): Porfavor tenta novamente!', + ['invalid_sex_format'] = 'Formato inválido (Sexo): Porfavor tenta novamente!', + ['invalid_height_format'] = 'Formato inválido (Altura): Porfavor tenta novamente!' + } diff --git a/[core]/esx_identity/locales/sl.lua b/[core]/esx_identity/locales/sl.lua new file mode 100644 index 00000000..d66dc981 --- /dev/null +++ b/[core]/esx_identity/locales/sl.lua @@ -0,0 +1,38 @@ +Locales['sl'] = { + ['show_active_character'] = 'Prikazi aktivni Karakter', + ['active_character'] = 'Aktivni Karakter: %s', + ['error_active_character'] = 'Pri pridobivanju vasih podatkov je prislo do napake.', + ['delete_character'] = 'Izbrisi vas trenutni Karakter.', + ['deleted_character'] = 'Karakter izbrisan', + ['error_delete_character'] = 'Pri brisanju vasega lika je prislo do tezave.', + ['thank_you_for_registering'] = 'Registracija uspesna. Uzivajte!', + ['debug_xPlayer_get_first_name'] = 'Vrne vase ime', + ['debug_xPlayer_get_last_name'] = 'Vrne vas priimek', + ['debug_xPlayer_get_full_name'] = 'Vrne vase polno ime', + ['debug_xPlayer_get_sex'] = 'Vrne vas spol', + ['debug_xPlayer_get_dob'] = 'Vrne vas DOB', + ['debug_xPlayer_get_height'] = 'Vrne vaso visino', + ['error_debug_xPlayer_get_first_name'] = 'Pri pridobivanju vasega imena je prislo do tezave.', + ['error_debug_xPlayer_get_last_name'] = 'Pri pridobivanju vasega priimka je prislo do tezave.', + ['error_debug_xPlayer_get_full_name'] = 'Pri pridobivanju vasega polnega imena je prislo do tezave.', + ['error_debug_xPlayer_get_sex'] = 'Pri pridobivanju vasega spola je prislo do tezave.', + ['error_debug_xPlayer_get_dob'] = 'Pri pridobivanju vasega datuma rojstva je prislo do tezave.', + ['error_debug_xPlayer_get_height'] = 'Pri pridobivanju vase visine je prislo do tezave.', + ['return_debug_xPlayer_get_first_name'] = 'Ime: %s', + ['return_debug_xPlayer_get_last_name'] = 'Priimek: %s', + ['return_debug_xPlayer_get_full_name'] = 'Ime: %s', + ['return_debug_xPlayer_get_sex'] = 'Spol: %s', + ['return_debug_xPlayer_get_dob'] = 'DOB: %s', + ['return_debug_xPlayer_get_height'] = 'Visina: %s palcev', + ['data_incorrect'] = 'Neveljavni podatki, poskusite znova.', + ['invalid_format'] = 'Neveljavna oblika podatkov, poskusite znova.', + ['no_identifier'] = '[ESX Identiteta]\nPri nalaganju vasega lika je prislo do tezave!\nKoda napake: identifikator-manjka\n\nTo je posledica tega, da manjka vas identifikator. Vrnite se pozneje ali prijavite to tezavo lastniku streznika.', + ['missing_identity'] = '[ESX Identity]\nPri nalaganju vasega lika je prislo do tezave!\nKoda napake: identity-missing\n\nVideti je, da vasa identiteta manjka, poskusite znova vzpostaviti povezavo.', + ['deleted_identity'] = 'Karakter izbrisan. Ponovno se pridruzite, da ustvarite nov lik.', + ['already_registered'] = 'Registrirali ste se ze.', + ['invalid_firstname_format'] = 'Neveljavna oblika (ime): Prosimo, poskusite znova.', + ['invalid_lastname_format'] = 'Neveljavna oblika (priimek): Poskusite ponovno.', + ['invalid_dob_format'] = 'Neveljavna oblika (DOB): Prosimo, poskusite znova.', + ['invalid_sex_format'] = 'Neveljavna oblika (spol): Poskusite ponovno.', + ['invalid_height_format'] = 'Neveljavna oblika (visina): Prosimo, poskusite znova.' + } \ No newline at end of file diff --git a/[core]/esx_identity/locales/sr.lua b/[core]/esx_identity/locales/sr.lua new file mode 100644 index 00000000..746b6efb --- /dev/null +++ b/[core]/esx_identity/locales/sr.lua @@ -0,0 +1,38 @@ +Locales['sr'] = { + ['show_active_character'] = 'Prikazi karaktere', + ['active_character'] = 'Karakteri: %s', + ['error_active_character'] = 'Imamo problem sa ucitavanjem karaktera.', + ['delete_character'] = 'Obrisite karaktera.', + ['deleted_character'] = 'Karakter obrisan', + ['error_delete_character'] = 'Doslo je do greske pri brisanju karaktera.', + ['thank_you_for_registering'] = 'Registracija uspesna. Uzivajte!', + ['debug_xPlayer_get_first_name'] = 'Vraca vase ime', + ['debug_xPlayer_get_last_name'] = 'Vraca vase prezime', + ['debug_xPlayer_get_full_name'] = 'Vraca vase puno ime', + ['debug_xPlayer_get_sex'] = 'Vraca vas pol', + ['debug_xPlayer_get_dob'] = 'Vraca vas datum rodjenja', + ['debug_xPlayer_get_height'] = 'Vraca vasu visinu', + ['error_debug_xPlayer_get_first_name'] = 'Doslo je do greske pri pronalazenju vaseg imena.', + ['error_debug_xPlayer_get_last_name'] = 'Doslo je do greske pri pronalazenju vaseg prezimena.', + ['error_debug_xPlayer_get_full_name'] = 'Doslo je do greske pri pronalazenju vaseg punog imena.', + ['error_debug_xPlayer_get_sex'] = 'Doslo je do greske pri pronalazenju vaseg pola.', + ['error_debug_xPlayer_get_dob'] = 'Doslo je do greske pri pronalazenju vaseg datuma rodjenja.', + ['error_debug_xPlayer_get_height'] = 'Doslo je do greske pri pronalazenju vase visine.', + ['return_debug_xPlayer_get_first_name'] = 'Ime: %s', + ['return_debug_xPlayer_get_last_name'] = 'Prezime: %s', + ['return_debug_xPlayer_get_full_name'] = 'Ime: %s', + ['return_debug_xPlayer_get_sex'] = 'Pol: %s', + ['return_debug_xPlayer_get_dob'] = 'Datum rodjenja: %s', + ['return_debug_xPlayer_get_height'] = 'Visina: %s', + ['data_incorrect'] = 'Nevazeci podatci, pokusajte ponovo.', + ['invalid_format'] = 'Nevazeci format podataka, pokusajte ponovo.', + ['no_identifier'] = '[ESX Identity]\nDoslo je do greske pri ucitavanju vaseg karaktera!\nError Code: identifier-missing\n\nUpalite steam pa pokusajte ponovo.', + ['missing_identity'] = '[ESX Identity]\nDoslo je do greske pri ucitavanju vaseg karaktera!\nError Code: identity-missing\n\nIzgleda da je vas steam nepostojeci. Pokusajte ponovo.', + ['deleted_identity'] = 'Karakter obrisan. Uradite relog kako bi napravili novog karaktera.', + ['already_registered'] = 'Vi ste vec registrovani.', + ['invalid_firstname_format'] = 'Nevazeci Format (Ime): Pokusajte ponovo.', + ['invalid_lastname_format'] = 'Nevazeci Format (Prezime): Pokusajte ponovo.', + ['invalid_dob_format'] = 'Nevazeci Format (Datum Rodjenja): Pokusajte ponovo.', + ['invalid_sex_format'] = 'Nevazeci Format (Pol): Pokusajte ponovo.', + ['invalid_height_format'] = 'Nevazeci Format (Visina): Pokusajte ponovo.' +} diff --git a/[core]/esx_identity/locales/sv.lua b/[core]/esx_identity/locales/sv.lua deleted file mode 100644 index 0b74e289..00000000 --- a/[core]/esx_identity/locales/sv.lua +++ /dev/null @@ -1,38 +0,0 @@ -Locales['sv'] = { - ['show_active_character'] = 'Visa aktiva karaktär', - ['active_character'] = 'Aktiv karaktär: %s', - ['error_active_character'] = "Det gick inte att hämta din data.", - ['delete_character'] = 'Ta bort nuvarande karaktär och skapa en ny.', - ['deleted_character'] = 'Karaktär raderad.', - ['error_delete_character'] = "Det gick inte att ta bort din karaktär.", - ['thank_you_for_registering'] = "Registrering lyckades, Ha så kul!", - ['registration_error'] = "Det uppstod ett problem när du registrerade din karaktär, se till att informationen är korrekt.", - ['debug_xPlayer_get_first_name'] = "Returnerar ditt förnamn", - ['debug_xPlayer_get_last_name'] = "Returnerar ditt efternamn", - ['debug_xPlayer_get_full_name'] = "Returnerar ditt fullständiga namn", - ['debug_xPlayer_get_sex'] = "Returnerar ditt kön", - ['debug_xPlayer_get_dob'] = "Returnerar ditt födelsedatum", - ['debug_xPlayer_get_height'] = "Returnerar din längd", - ['error_debug_xPlayer_get_first_name'] = "Det uppstod ett problem när du fick ditt förnamn.", - ['error_debug_xPlayer_get_last_name'] = "Det uppstod ett problem när du fick ditt efternamn.", - ['error_debug_xPlayer_get_full_name'] = "Det uppstod ett problem när du fick ditt fullständiga namn.", - ['error_debug_xPlayer_get_sex'] = "Det uppstod ett problem när du skaffade ditt kön.", - ['error_debug_xPlayer_get_dob'] = "Det uppstod ett problem när du skaffade ditt födelsedatum.", - ['error_debug_xPlayer_get_height'] = "Det uppstod ett problem när du fick din längd.", - ['return_debug_xPlayer_get_first_name'] = "Förnamn: %s", - ['return_debug_xPlayer_get_last_name'] = "Efternamn: %s", - ['return_debug_xPlayer_get_full_name'] = "Fullständiga namn: %s", - ['return_debug_xPlayer_get_sex'] = "Kön: %s", - ['return_debug_xPlayer_get_dob'] = "Födelsedatum: %s", - ['return_debug_xPlayer_get_height'] = "Längd: %s Centimeter", - ['data_incorrect'] = 'Uppgifterna har angetts felaktigt. Var god försök igen.', - ['invalid_format'] = 'Data är felaktigt formaterade. Var god försök igen.', - ['no_identifier'] = 'Det uppstod ett fel när din karaktär skulle laddas!\nError code: identifier-missing\n\nOrsaken till detta fel är inte känd, din identifierare kunde inte hittas. Kom tillbaka senare eller rapportera det här problemet till en administratör.', - ['missing_identity'] = 'Det uppstod ett fel när din karaktär skulle laddas!\nError code: identity-missing\n\nDet verkar som om din identitet saknas, försök ansluta igen.', - ['deleted_identity'] = 'Din karaktär har tagits bort. Logga in igen för att skapa en ny karaktär.', - ['invalid_firstname_format'] = 'Ogiltigt format (Namn): Försök igen.', - ['invalid_lastname_format'] = 'Ogiltigt format (Efternamn): Försök igen.', - ['invalid_dob_format'] = 'Ogiltigt format (DOB): Please try again.', - ['invalid_sex_format'] = 'Ogiltigt formatOgiltigt format (Kön): Försök igen.', - ['invalid_height_format'] = 'Ogiltigt format (Längd): Försök igen.' -} diff --git a/[core]/esx_identity/locales/tc.lua b/[core]/esx_identity/locales/tc.lua deleted file mode 100644 index 65f210b7..00000000 --- a/[core]/esx_identity/locales/tc.lua +++ /dev/null @@ -1,33 +0,0 @@ -Locales['tc'] = { - ['show_active_character'] = '顯示已啟用的人物', - ['active_character'] = '已啟用的人物: %s', - ['error_active_character'] = "獲取您的數據時出現錯誤", - ['delete_character'] = '刪除當前的人物並創建一個新的人物', - ['deleted_character'] = '人物已刪除', - ['error_delete_character'] = "刪除您的人物時出現錯誤", - ['thank_you_for_registering'] = "註冊成功, 歡迎遊玩!", - ['registration_error'] = "您的資料不正確", - ['debug_xPlayer_get_first_name'] = "回呼你的名稱", - ['debug_xPlayer_get_last_name'] = "回呼您的姓氏", - ['debug_xPlayer_get_full_name'] = "回呼你的姓名", - ['debug_xPlayer_get_sex'] = "回呼你的性別", - ['debug_xPlayer_get_dob'] = "回呼你的出生日期", - ['debug_xPlayer_get_height'] = "回呼你的身高", - ['error_debug_xPlayer_get_first_name'] = "獲取您的名稱時出現錯誤", - ['error_debug_xPlayer_get_last_name'] = "獲取您的姓氏時出現錯誤", - ['error_debug_xPlayer_get_full_name'] = "獲取您的姓名時出現錯誤", - ['error_debug_xPlayer_get_sex'] = "獲取您的性別時出現錯誤", - ['error_debug_xPlayer_get_dob'] = "獲取您的出生日期時出現錯誤", - ['error_debug_xPlayer_get_height'] = "獲取您的身高時出現錯誤", - ['return_debug_xPlayer_get_first_name'] = "名稱: %s", - ['return_debug_xPlayer_get_last_name'] = "姓氏: %s", - ['return_debug_xPlayer_get_full_name'] = "姓名: %s", - ['return_debug_xPlayer_get_sex'] = "性別: %s", - ['return_debug_xPlayer_get_dob'] = "出生日期: %s", - ['return_debug_xPlayer_get_height'] = "身高: %s cm", - ['data_incorrect'] = '您輸入的資料無效, 請重試', - ['invalid_format'] = '您輸入的資料格式無效, 請重試', - ['no_identifier'] = '[ESX Identity]\n加載人物時出現錯誤!\n錯誤代碼: identifier-missing\n\n這是由於您的標識符丟失造成的, 請稍後再回來或將此問題報告給伺服器所有者', - ['missing_identity'] = '[ESX Identity]\n加載人物時出現錯誤!\n錯誤代碼: identity-missing\n\n您的人物似乎丟失了, 請嘗試重新連接', - ['deleted_identity'] = '人物已刪除, 請重新加入以創建新人物' -} diff --git a/[core]/esx_identity/server/main.lua b/[core]/esx_identity/server/main.lua index b9513cee..86ef7150 100644 --- a/[core]/esx_identity/server/main.lua +++ b/[core]/esx_identity/server/main.lua @@ -301,7 +301,7 @@ else if not identifier then return deferrals.done(TranslateCap('no_identifier')) end - MySQL.single('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?', {identifier}, + MySQL.single('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?', {identifier}, function(result) if not result then playerIdentity[identifier] = nil @@ -338,7 +338,7 @@ else local xPlayers = ESX.GetExtendedPlayers() - for i=1, #(xPlayers) do + for i = 1, #(xPlayers) do if xPlayers[i] then checkIdentity(xPlayers[i]) end @@ -393,7 +393,7 @@ else TriggerClientEvent('esx:showNotification',source,TranslateCap('invalid_height_format'), "error") return cb(false) end - if xPlayer then + if xPlayer then if alreadyRegistered[xPlayer.identifier] then xPlayer.showNotification(TranslateCap('already_registered'), "error") return cb(false) diff --git a/[core]/esx_menu_default/client/main.lua b/[core]/esx_menu_default/client/main.lua index 65d62d09..463a1cd9 100644 --- a/[core]/esx_menu_default/client/main.lua +++ b/[core]/esx_menu_default/client/main.lua @@ -3,7 +3,7 @@ GUI.Time = 0 local function openMenu(namespace, name, data) CurrentNameSpace = namespace - OpenedMenus += 1 + OpenedMenus = OpenedMenus + 1 SendNUIMessage({ action = 'openMenu', namespace = namespace, @@ -14,7 +14,8 @@ end local function closeMenu(namespace, name) CurrentNameSpace = namespace - OpenedMenus -= 1 + if OpenedMenus < 1 then return end + OpenedMenus = OpenedMenus - 1 SendNUIMessage({ action = 'closeMenu', namespace = namespace, @@ -126,4 +127,4 @@ ESX.RegisterInput('menu_default_right', 'Change menu slider to right', 'keyboard }) GUI.Time = GetGameTimer() end -end) \ No newline at end of file +end) diff --git a/[core]/esx_menu_default/html/js/app.js b/[core]/esx_menu_default/html/js/app.js index d53e3de8..24db7603 100644 --- a/[core]/esx_menu_default/html/js/app.js +++ b/[core]/esx_menu_default/html/js/app.js @@ -18,7 +18,7 @@ ESX_MENU.pos = {}; ESX_MENU.open = function (namespace, name, data) { - if (typeof ESX_MENU.opened[namespace] == "undefined") { + if (typeof ESX_MENU.opened[namespace] === "undefined") { ESX_MENU.opened[namespace] = {}; } @@ -26,12 +26,12 @@ ESX_MENU.close(namespace, name); } - if (typeof ESX_MENU.pos[namespace] == "undefined") { + if (typeof ESX_MENU.pos[namespace] === "undefined") { ESX_MENU.pos[namespace] = {}; } for (let i = 0; i < data.elements.length; i++) { - if (typeof data.elements[i].type == "undefined") { + if (typeof data.elements[i].type === "undefined") { data.elements[i].type = "default"; } } @@ -72,8 +72,8 @@ for (let i = 0; i < ESX_MENU.focus.length; i++) { if ( - ESX_MENU.focus[i].namespace == namespace && - ESX_MENU.focus[i].name == name + ESX_MENU.focus[i].namespace === namespace && + ESX_MENU.focus[i].name === name ) { ESX_MENU.focus.splice(i, 1); break; @@ -104,7 +104,7 @@ case "slider": { element.isSlider = true; element.sliderLabel = - typeof element.options == "undefined" + typeof element.options === "undefined" ? element.value : element.options[element.value]; @@ -115,7 +115,7 @@ break; } - if (i == ESX_MENU.pos[namespace][name]) { + if (i === ESX_MENU.pos[namespace][name]) { element.selected = true; } } @@ -229,7 +229,7 @@ menu.elements[ESX_MENU.pos[focused.namespace][focused.name]]; for (let i = 0; i < menu.elements.length; i++) { - if (i == ESX_MENU.pos[focused.namespace][focused.name]) { + if (i === ESX_MENU.pos[focused.namespace][focused.name]) { menu.elements[i].selected = true; } else { menu.elements[i].selected = false; @@ -265,7 +265,7 @@ menu.elements[ESX_MENU.pos[focused.namespace][focused.name]]; for (let i = 0; i < menu.elements.length; i++) { - if (i == ESX_MENU.pos[focused.namespace][focused.name]) { + if (i === ESX_MENU.pos[focused.namespace][focused.name]) { menu.elements[i].selected = true; } else { menu.elements[i].selected = false; @@ -296,7 +296,7 @@ break; case "slider": { - let min = typeof elem.min == "undefined" ? 0 : elem.min; + let min = typeof elem.min === "undefined" ? 0 : elem.min; if (elem.value > min) { elem.value--; diff --git a/[core]/esx_menu_dialog/.editorconfig b/[core]/esx_menu_dialog/.editorconfig deleted file mode 100644 index 9b425256..00000000 --- a/[core]/esx_menu_dialog/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -root = true - -[*] -indent_size = 4 -indent_style = tab -end_of_line = crlf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true \ No newline at end of file diff --git a/[core]/esx_menu_dialog/client/main.lua b/[core]/esx_menu_dialog/client/main.lua index 2720c412..2d5bfd0d 100644 --- a/[core]/esx_menu_dialog/client/main.lua +++ b/[core]/esx_menu_dialog/client/main.lua @@ -1,7 +1,7 @@ local Timeouts, OpenedMenus, MenuType = {}, {}, 'dialog' local function openMenu(namespace, name, data) - for i=1, #Timeouts, 1 do + for i = 1, #Timeouts, 1 do ESX.ClearTimeout(Timeouts[i]) end diff --git a/[core]/esx_menu_dialog/html/js/app.js b/[core]/esx_menu_dialog/html/js/app.js index 5186bcf7..bcbd97fc 100644 --- a/[core]/esx_menu_dialog/html/js/app.js +++ b/[core]/esx_menu_dialog/html/js/app.js @@ -15,7 +15,7 @@ ESX_MENU.pos = {}; ESX_MENU.open = function (namespace, name, data) { - if (typeof ESX_MENU.opened[namespace] == "undefined") { + if (typeof ESX_MENU.opened[namespace] === "undefined") { ESX_MENU.opened[namespace] = {}; } @@ -23,15 +23,15 @@ ESX_MENU.close(namespace, name); } - if (typeof ESX_MENU.pos[namespace] == "undefined") { + if (typeof ESX_MENU.pos[namespace] === "undefined") { ESX_MENU.pos[namespace] = {}; } - if (typeof data.type == "undefined") { + if (typeof data.type === "undefined") { data.type = "default"; } - if (typeof data.align == "undefined") { + if (typeof data.align === "undefined") { data.align = "top-left"; } @@ -48,10 +48,10 @@ }); document.onkeyup = function (key) { - if (key.which == 27) { + if (key.which === 27) { // Escape key SendMessage(ESX_MENU.ResourceName, "menu_cancel", data); - } else if (key.which == 13) { + } else if (key.which === 13) { // Enter key SendMessage(ESX_MENU.ResourceName, "menu_submit", data); } @@ -65,8 +65,8 @@ for (let i = 0; i < ESX_MENU.focus.length; i++) { if ( - ESX_MENU.focus[i].namespace == namespace && - ESX_MENU.focus[i].name == name + ESX_MENU.focus[i].namespace === namespace && + ESX_MENU.focus[i].name === name ) { ESX_MENU.focus.splice(i, 1); break; diff --git a/[core]/esx_menu_list/.editorconfig b/[core]/esx_menu_list/.editorconfig deleted file mode 100644 index 9b425256..00000000 --- a/[core]/esx_menu_list/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -root = true - -[*] -indent_size = 4 -indent_style = tab -end_of_line = crlf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true \ No newline at end of file diff --git a/[core]/esx_menu_list/client/main.lua b/[core]/esx_menu_list/client/main.lua index 4d0af0c9..d4c45483 100644 --- a/[core]/esx_menu_list/client/main.lua +++ b/[core]/esx_menu_list/client/main.lua @@ -28,7 +28,7 @@ CreateThread(function() name = name, }) - for k,v in pairs(OpenedMenus) do + for k, v in pairs(OpenedMenus) do if v then OpenedMenuCount = OpenedMenuCount + 1 end diff --git a/[core]/esx_menu_list/html/js/app.js b/[core]/esx_menu_list/html/js/app.js index 72e0e3ee..699185e6 100644 --- a/[core]/esx_menu_list/html/js/app.js +++ b/[core]/esx_menu_list/html/js/app.js @@ -23,7 +23,7 @@ ESX_MENU.data = {}; ESX_MENU.open = function (namespace, name, data) { - if (typeof ESX_MENU.opened[namespace] == "undefined") { + if (typeof ESX_MENU.opened[namespace] === "undefined") { ESX_MENU.opened[namespace] = {}; } @@ -49,8 +49,8 @@ for (let i = 0; i < ESX_MENU.focus.length; i++) { if ( - ESX_MENU.focus[i].namespace == namespace && - ESX_MENU.focus[i].name == name + ESX_MENU.focus[i].namespace === namespace && + ESX_MENU.focus[i].name === name ) { ESX_MENU.focus.splice(i, 1); break; @@ -68,7 +68,7 @@ $(menuContainer).hide(); for (let namespace in ESX_MENU.opened) { - if (typeof ESX_MENU.data[namespace] == "undefined") { + if (typeof ESX_MENU.data[namespace] === "undefined") { ESX_MENU.data[namespace] = {}; } @@ -201,7 +201,7 @@ }; document.onkeyup = function (data) { - if (data.which == 27) { + if (data.which === 27) { let focused = ESX_MENU.getFocused(); ESX_MENU.cancel(focused.namespace, focused.name); } diff --git a/[core]/esx_multicharacter/client/main.lua b/[core]/esx_multicharacter/client/main.lua index 4cb35486..90677046 100644 --- a/[core]/esx_multicharacter/client/main.lua +++ b/[core]/esx_multicharacter/client/main.lua @@ -1,5 +1,8 @@ local mp_m_freemode_01 = `mp_m_freemode_01` local mp_f_freemode_01 = `mp_f_freemode_01` + +local SpawnCoords = Config.Spawn[math.random(#Config.Spawn)] + if ESX.GetConfig().Multichar then CreateThread(function() @@ -28,14 +31,14 @@ if ESX.GetConfig().Multichar then spawned = false cam = CreateCam("DEFAULT_SCRIPTED_CAMERA", true) local playerPed = PlayerPedId() - SetEntityCoords(playerPed, Config.Spawn.x, Config.Spawn.y, Config.Spawn.z, true, false, false, false) - SetEntityHeading(playerPed, Config.Spawn.w) + SetEntityCoords(playerPed, SpawnCoords.x, SpawnCoords.y, SpawnCoords.z, true, false, false, false) + SetEntityHeading(playerPed, SpawnCoords.w) local offset = GetOffsetFromEntityInWorldCoords(playerPed, 0, 1.7, 0.4) DoScreenFadeOut(0) SetCamActive(cam, true) RenderScriptCams(true, false, 1, true, true) SetCamCoord(cam, offset.x, offset.y, offset.z) - PointCamAtCoord(cam, Config.Spawn.x, Config.Spawn.y, Config.Spawn.z + 1.3) + PointCamAtCoord(cam, SpawnCoords.x, SpawnCoords.y, SpawnCoords.z + 1.3) StartLoop() ShutdownLoadingScreen() ShutdownLoadingScreenNui() @@ -98,10 +101,10 @@ if ESX.GetConfig().Multichar then SetupCharacter = function(index) if not spawned then exports.spawnmanager:spawnPlayer({ - x = Config.Spawn.x, - y = Config.Spawn.y, - z = Config.Spawn.z, - heading = Config.Spawn.w, + x = SpawnCoords.x, + y = SpawnCoords.y, + z = SpawnCoords.z, + heading = SpawnCoords.w, model = Characters[index].model or mp_m_freemode_01, skipFade = true }, function() @@ -159,9 +162,9 @@ if ESX.GetConfig().Multichar then end function CharacterOptions(Characters, slots, SelectedCharacter) - local elements = {{title = TranslateCap('character', Characters[SelectedCharacter.value].firstname .. " ".. Characters[SelectedCharacter.value].lastname),icon = "fa-regular fa-user", unselectable = true}, + local elements = {{title = TranslateCap('character', Characters[SelectedCharacter.value].firstname .. " ".. Characters[SelectedCharacter.value].lastname),icon = "fa-regular fa-user", unselectable = true}, {title = TranslateCap('return'), unselectable = false,icon = "fa-solid fa-arrow-left",description = TranslateCap('return_description'), action = "return"}} - if not Characters[SelectedCharacter.value].disabled then + if not Characters[SelectedCharacter.value].disabled then elements[3] = {title = TranslateCap('char_play'), description = TranslateCap('char_play_description'), icon ="fa-solid fa-play",action = 'play', value = SelectedCharacter.value} else elements[3] = {title = TranslateCap('char_disabled'), value = SelectedCharacter.value, icon ="fa-solid fa-xmark", description = TranslateCap('char_disabled_description'),} @@ -185,7 +188,7 @@ if ESX.GetConfig().Multichar then function SelectCharacterMenu(Characters, slots) local Character = next(Characters) local elements = {{title = TranslateCap('select_char') , icon = "fa-solid fa-users", description = TranslateCap('select_char_description') , unselectable = true}} - for k,v in pairs(Characters) do + for k, v in pairs(Characters) do if not v.model and v.skin then if v.skin.model then v.model = v.skin.model elseif v.skin.sex == 1 then v.model = mp_f_freemode_01 else v.model = mp_m_freemode_01 end end @@ -242,10 +245,10 @@ if ESX.GetConfig().Multichar then action = "closeui" }) exports.spawnmanager:spawnPlayer({ - x = Config.Spawn.x, - y = Config.Spawn.y, - z = Config.Spawn.z, - heading = Config.Spawn.w, + x = SpawnCoords.x, + y = SpawnCoords.y, + z = SpawnCoords.z, + heading = SpawnCoords.w, model = mp_m_freemode_01, skipFade = true }, function() diff --git a/[core]/esx_multicharacter/config.lua b/[core]/esx_multicharacter/config.lua index 9a2cb18f..f8256d38 100644 --- a/[core]/esx_multicharacter/config.lua +++ b/[core]/esx_multicharacter/config.lua @@ -16,7 +16,9 @@ if IsDuplicityVersion() then else -- Sets the location for the character selection scene -- To set the spawn location for new characters, modify the default value in the users SQL table - Config.Spawn = vector4(-284.2856, 562.4627, 172.9182, 19.9895) + Config.Spawn = { + {x = -284.2856, y = 562.4627, z = 172.9182, heading = 19.9895}, + } -------------------- -- Do not use unless you are prepared to adjust your resources to correctly reset data diff --git a/[core]/esx_multicharacter/html/locales/fi.js b/[core]/esx_multicharacter/html/locales/fi.js new file mode 100644 index 00000000..2daf5ea3 --- /dev/null +++ b/[core]/esx_multicharacter/html/locales/fi.js @@ -0,0 +1,8 @@ +const translate = new Object(); + +translate.name = "Nimi"; +translate.job = "Työ"; +translate.bank = "Pankki"; +translate.money = "Käteinen"; +translate.gender = "Sukupuoli"; +translate.dob = "Syntymäaika"; diff --git a/[core]/esx_multicharacter/html/locales/sr.js b/[core]/esx_multicharacter/html/locales/sr.js new file mode 100644 index 00000000..79ecfbc2 --- /dev/null +++ b/[core]/esx_multicharacter/html/locales/sr.js @@ -0,0 +1,8 @@ +const translate = new Object(); + +translate.name = "Ime"; +translate.job = "Posao"; +translate.bank = "Banka"; +translate.money = "Novac"; +translate.gender = "Pol"; +translate.dob = "Datum rodjenja"; diff --git a/[core]/esx_multicharacter/html/locales/tr.js b/[core]/esx_multicharacter/html/locales/tr.js deleted file mode 100644 index ab820732..00000000 --- a/[core]/esx_multicharacter/html/locales/tr.js +++ /dev/null @@ -1,8 +0,0 @@ -const translate = new Object(); - -translate.name = "İsim"; -translate.job = "Meslek"; -translate.bank = "Banka"; -translate.money = "Nakit"; -translate.gender = "Cinsiyet"; -translate.dob = "Doğum Tarihi"; diff --git a/[core]/esx_multicharacter/html/locales/zh-cn.js b/[core]/esx_multicharacter/html/locales/zh-cn.js new file mode 100644 index 00000000..8bbf9ffc --- /dev/null +++ b/[core]/esx_multicharacter/html/locales/zh-cn.js @@ -0,0 +1,8 @@ +const translate = new Object(); + +translate.name = "我的姓名"; +translate.job = "我的职业"; +translate.bank = "银行存款"; +translate.money = "手持现金"; +translate.gender = "我的性别"; +translate.dob = "出生日期"; \ No newline at end of file diff --git a/[core]/esx_multicharacter/locales/da.lua b/[core]/esx_multicharacter/locales/da.lua index 648138cf..7fefe818 100644 --- a/[core]/esx_multicharacter/locales/da.lua +++ b/[core]/esx_multicharacter/locales/da.lua @@ -22,7 +22,7 @@ Locales["da"] = { ["command_enablechar"] = "Aktiver en valgt karakter af en spiller", ["command_disablechar"] = "Deaktiver en valgt karakter af en spiller", ["command_charslot"] = "Karakterens plads nummer", - ["command_identifier"] = "Spiller-id", + ["command_identifier"] = "Spiller identifikator", ["command_slots"] = "# af slots", ["slotsadd"] = "Du føjede %s slots til %s", ["slotsedit"] = "Du indstillerde %s slots til %s", diff --git a/[core]/esx_multicharacter/locales/de.lua b/[core]/esx_multicharacter/locales/de.lua deleted file mode 100644 index ab90e3b9..00000000 --- a/[core]/esx_multicharacter/locales/de.lua +++ /dev/null @@ -1,11 +0,0 @@ -Locales['de'] = { - ['male'] = "Männlich", - ['female'] = "Weiblich", - ['delete_label'] = "Lösche %s %s?", - ['select_char'] = "Charakter auswählen", - ['create_char'] = "Neuen Charakter erstellen", - ['char_play'] = "Diesen Charakter auswählen", - ['char_delete'] = "Diesen Charakter löschen", - ['cancel'] = "Abbrechen", - ['confirm'] = "Bestätigen", -} diff --git a/[core]/esx_multicharacter/locales/es.lua b/[core]/esx_multicharacter/locales/es.lua index 4bef70ed..1edf97e8 100644 --- a/[core]/esx_multicharacter/locales/es.lua +++ b/[core]/esx_multicharacter/locales/es.lua @@ -1,29 +1,29 @@ -Locales["es"] = { - ["male"] = "Hombre", - ["female"] = "Mujer", - ["select_char"] = "Seleccionar personaje", - ["select_char_description"] = "Selecciona un personaje para jugar.", - ["create_char"] = "Crear nuevo personaje", - ["char_play"] = "Jugar este personaje", - ["char_play_description"] = "Continúe hacia la ciudad.", - ["char_disabled"] = "Este personaje está deshabilitado", - ["char_disabled_description"] = "Este personaje es inutilizable.", - ["char_delete"] = "Borrar este personaje", - ["char_delete_description"] = "Eliminar permanentemente este personaje.", - ["character"] = "Personaje: %s", - ["return"] = "Volver", - ["return_description"] = "Volver a la selección de personajes.", - ["command_setslots"] = "Establecer el numero de espacios de un jugador", - ["command_remslots"] = "Elimina espacios multipersonaje de un jugador", - ["command_enablechar"] = "Habilita el personaje de un jugador", - ["command_disablechar"] = "Deshabilita el personaje de un jugador", - ["command_charslot"] = "Número de espacio del personaje", - ["command_identifier"] = "Identificador del jugador", - ["command_slots"] = "Nº de espacios", - ["slotsadd"] = "Has añadido %s espacios a %s", - ["slotsedit"] = "Has establecido los espacios de %s a %s", - ["slotsrem"] = "Has eliminado espacios a %s", - ["charenabled"] = "Has habilitado el personaje Nº%s de %s", - ["chardisabled"] = "Has deshabilitado el personaje Nº%s de %s", - ["charnotfound"] = "Personaje Nº%s de %s no existe", -} +Locales['es']={ + ['male'] = 'Masculino', + ['female'] = 'Femenino', + ['select_char'] = 'Seleccionar personaje', + ['select_char_description'] = 'Selecciona un personaje para jugar.', + ['create_char'] = 'Crear nuevo personaje', + ['char_play'] = 'Seleccionar personaje', + ['char_play_description'] = 'Ingresar a la ciudad.', + ['char_disabled'] = 'Este personaje está deshabilitado', + ['char_disabled_description'] = 'Este personaje no se encuentra disponible.', + ['char_delete'] = 'Borrar el personaje seleccionado', + ['char_delete_description'] = 'Eliminar este personaje.', + ['character'] = 'Personaje: %s', + ['return'] = 'Volver', + ['return_description'] = 'Volver a la selección de personajes.', + ['command_setslots'] = 'Establecer el numero de slots de un jugador', + ['command_remslots'] = 'Elimina slots de un jugador.', + ['command_enablechar'] = 'Activar el personaje de un jugador', + ['command_disablechar'] = 'Deshabilitar personaje al jugador.', + ['command_charslot'] = 'Número de slot del personaje', + ['command_identifier'] = 'Identificador del jugador', + ['command_slots'] = 'Nº de slots', + ['slotsadd'] = 'Has añadido %s slots a %s', + ['slotsedit'] = 'Has establecido los slots de %s a %s', + ['slotsrem'] = 'Has eliminado un slot a %s', + ['charenabled'] = 'Has habilitado el personaje Nº%s de %s', + ['chardisabled'] = 'Has deshabilitado el personaje Nº%s de %s', + ['charnotfound'] = 'Personaje Nº%s de %s no existe', + } diff --git a/[core]/esx_multicharacter/locales/fi.lua b/[core]/esx_multicharacter/locales/fi.lua new file mode 100644 index 00000000..a5beae2d --- /dev/null +++ b/[core]/esx_multicharacter/locales/fi.lua @@ -0,0 +1,33 @@ +Locales["fi"] = { + ["male"] = "Mies", + ["female"] = "Nainen", + ["select_char"] = "Valitse hahmo", + ["select_char_description"] = "Valitse hahmo, jolla haluat pelata.", + ["create_char"] = "Uusi hahmo", + ["char_play"] = "Pelaa", + ["char_play_description"] = "Jatka kaupunkiin.", + ["char_disabled"] = "Ei käytössä", + ["char_disabled_description"] = "Tämä hahmo on käyttökelvoton.", + ["char_delete"] = "Poista", + ["char_delete_description"] = "Poista tämä hahmo pysyvästi.", + ["char_delete_confirmation"] = "Vahvista poistaminen.", + ["char_delete_confirmation_description"] = "Oletko varma, että poistat valitun hahmon?", + ["char_delete_yes_description"] = "Kyllä, olen varma, että poistan valitun hahmon", + ["char_delete_no_description"] = "Ei, Palaa hahmojen valintaan", + ["character"] = "Hahmo: %s", + ["return"] = "Takaisin", + ["return_description"] = "Palaa hahmojen valintaan.", + ["command_setslots"] = "Määritä pelaajan multicharacter paikkojen määrä", + ["command_remslots"] = "Vähennä pelaajan multicharacter paikkojen määrää", + ["command_enablechar"] = "Muuta pelaajan tietty hahmo käyttöön", + ["command_disablechar"] = "Muuta pelaajan tietty hahmo pois käytöstä", + ["command_charslot"] = "Hahmon paikan numero", + ["command_identifier"] = "Pelaajan tunniste", + ["command_slots"] = "# paikoista", + ["slotsadd"] = "Lisäsit %s paikkaa kohteeseen %s", + ["slotsedit"] = "Olet määrittänyt %s kohteeseen %s", + ["slotsrem"] = "Poistit paikat kohteesta %s", + ["charenabled"] = "Otit käyttöön hahmon #%s / %s", + ["chardisabled"] = "Poistit hahmon #%s / %s käytöstä", + ["charnotfound"] = "Hahmoa #%s / %s ei ole olemassa", +} diff --git a/[core]/esx_multicharacter/locales/it.lua b/[core]/esx_multicharacter/locales/it.lua index 384fcf4f..c64ca82c 100644 --- a/[core]/esx_multicharacter/locales/it.lua +++ b/[core]/esx_multicharacter/locales/it.lua @@ -1,26 +1,33 @@ -Locales['it'] = { - ['male'] = "Maschio", - ['female'] = "Femmina", - ['delete_label'] = "Cancella %s %s?", - ['select_char'] = "Seleziona Personaggio", - ["select_char_description"] = "Selezione il personaggio con cui vuoi giocare.", - ['create_char'] = "Crea un nuovo personaggio", - ['char_play'] = "Gioca questo personaggio", - ['char_disabled'] = "Questo personaggio è disabilitato", - ['char_delete'] = "Cancella questo personaggio", - ['cancel'] = "Annulla", - ['confirm'] = "Conferma", - ['command_setslots'] = "Imposta il numero di slot di personaggi di un giocatore", - ['command_remslots'] = "Rimuovi il numero di slot di personaggi di un giocatore", - ['command_enablechar'] = "Abilita un personaggio di un giocatore", - ['command_disablechar'] = "Disabilita un personaggio di un giocatore", - ['command_charslot'] = "Numero dello slot del personaggio", - ['command_identifier'] = "Identifier del giocatore", - ['command_slots'] = "# di slot", - ['slotsadd'] = "Hai aggiunto %s slot a %s", - ['slotsedit'] = "Hai impostato %s slot a %s", - ['slotsrem'] = "Hai rimosso gli slot a %s", - ['charenabled'] = "Hai abilitato il %s° personaggio di %s", - ['chardisabled'] = "Hai disabilitato il %s° personaggio di %s", - ['charnotfound'] = "Il personaggio %s di %s non esiste", +Locales["it"] = { + ["male"] = "Uomo", + ["female"] = "Donna", + ["select_char"] = "Seleziona personaggio", + ["select_char_description"] = "Seleziona un personaggio con cui giocare.", + ["create_char"] = "Nuovo personaggio", + ["char_play"] = "Inizia", + ["char_play_description"] = "Continua in città.", + ["char_disabled"] = "Disabilitato", + ["char_disabled_description"] = "Questo personaggio è inutilizzabile.", + ["char_delete"] = "Elimina", + ["char_delete_description"] = "Rimuovi permanentemente questo personaggio..", + ["char_delete_confirmation"] = "Conferma eliminazione", + ["char_delete_confirmation_description"] = "Sei sicuro di voler rimuovere il personaggio selezionato?", + ["char_delete_yes_description"] = "Si, sono sicuro di voler rimuovere il personaggio", + ["char_delete_no_description"] = "No, ritorna alle opzioni", + ["character"] = "Personaggio: %s", + ["return"] = "Ritorno", + ["return_description"] = "Ritorna alla selezione dei personaggi.", + ["command_setslots"] = "imposta il numero di slot per il giocatore", + ["command_remslots"] = "Rimuovi slot per il giocatore", + ["command_enablechar"] = "Abilita un determinato personaggio di un giocatore", + ["command_disablechar"] = "Disabilita un determinato personaggio per i giocatore", + ["command_charslot"] = "Numero di slot", + ["command_identifier"] = "Identificativo del giocatore", + ["command_slots"] = "# di slot", + ["slotsadd"] = "Hai aggiunto %s slots a %s", + ["slotsedit"] = "Hai impostato %s slots a %s", + ["slotsrem"] = "Hai rimosso gli slot in %s", + ["charenabled"] = "Hai abilitato il personaggio #%s di %s", + ["chardisabled"] = "hai disabilitato il personaggio #%s di %s", + ["charnotfound"] = "Il personaggio #%s di %s non esiste", } diff --git a/[core]/esx_multicharacter/locales/sl.lua b/[core]/esx_multicharacter/locales/sl.lua new file mode 100644 index 00000000..aa203105 --- /dev/null +++ b/[core]/esx_multicharacter/locales/sl.lua @@ -0,0 +1,33 @@ +Locales["sl"] = { + ["male"] = "Moški", + ["female"] = "Ženska", + ["select_char"] = "Izberi znak", + ["select_char_description"] = "Izberite lik za igranje.", + ["create_char"] = "Nov lik", + ["char_play"] = "Predvajaj", + ["char_play_description"] = "Nadaljujte v mesto.", + ["char_disabled"] = "Onemogočeno", + ["char_disabled_description"] = "Ta znak je neuporaben.", + ["char_delete"] = "Izbriši", + ["char_delete_description"] = "Trajno odstrani ta znak.", + ["char_delete_confirmation"] = "Potrditev brisanja", + ["char_delete_confirmation_description"] = "Ali ste prepicani da hocete zbrisati svoj karakter*", + ["char_delete_yes_description"] = "Da", + ["char_delete_no_description"] = "Ne", + ["character"] = "Znak: %s", + ["return"] = "Vrni se", + ["return_description"] = "Nazaj na izbiro znakov.", + ["command_setslots"] = "Nastavi število večznakovnih mest za igralca", + ["command_remslots"] = "Odstrani večznakovno število rež igralca", + ["command_enablechar"] = "Omogoči določen lik igralca", + ["command_disablechar"] = "Onemogoči določen lik igralca", + ["command_charslot"] = "Številka reže znaka", + ["command_identifier"] = "Identifikator igralca", + ["command_slots"] = "Št. rež", + ["slotsadd"] = "Dodali ste %s rež v %s", + ["slotsedit"] = "%s rež ste nastavili na %s", + ["slotsrem"] = "Odstranili ste reže za %s", + ["charenabled"] = "Omogočili ste znak #%s od %s", + ["chardisabled"] = "Onemogočili ste znak #%s od %s", + ["charnotfound"] = "Znak #%s od %s ne obstaja", +} \ No newline at end of file diff --git a/[core]/esx_multicharacter/locales/sr.lua b/[core]/esx_multicharacter/locales/sr.lua new file mode 100644 index 00000000..e99474ae --- /dev/null +++ b/[core]/esx_multicharacter/locales/sr.lua @@ -0,0 +1,33 @@ +Locales["sr"] = { + ["male"] = "Muško", + ["female"] = "Žensko", + ["select_char"] = "Izaberi Karakter", + ["select_char_description"] = "Izaberi karakter kojim ćeš igrati", + ["create_char"] = "Novi Karakter", + ["char_play"] = "Igraj", + ["char_play_description"] = "Nastavi u grad.", + ["char_disabled"] = "Onemogućeno", + ["char_disabled_description"] = "Taj karakter je onemogućen", + ["char_delete"] = "Izbriši", + ["char_delete_description"] = "Nepovratno obrišite karakter", + ["char_delete_confirmation"] = "Potvrda brisanja", + ["char_delete_confirmation_description"] = "Da li ste sigurni da želite da obrišete karakter?", + ["char_delete_yes_description"] = "Da, siguran sam da želim obrisati karakter", + ["char_delete_no_description"] = "Ne, vrati se nazad", + ["character"] = "Karakter: %s", + ["return"] = "Nazad", + ["return_description"] = "Povratak na biranje karaktera.", + ["command_setslots"] = "Postavi broj slotova karaktera igraču", + ["command_remslots"] = "Izbriši slotove igraču", + ["command_enablechar"] = "Dozvoli karakter igraču", + ["command_disablechar"] = "Zabrani karakter igraču", + ["command_charslot"] = "Broj slotova", + ["command_identifier"] = "Identifikator Igrača", + ["command_slots"] = "# slotova", + ["slotsadd"] = "Dodali ste %s slotova %s", + ["slotsedit"] = "Postavili ste %s slotova %s", + ["slotsrem"] = "Oduzeli ste slotove %s", + ["charenabled"] = "Dozvolili ste karakter #%s od %s", + ["chardisabled"] = "Zabranili ste karakter #%s od %s", + ["charnotfound"] = "Karakter #%s od %s ne postoji", +} \ No newline at end of file diff --git a/[core]/esx_multicharacter/locales/tr.lua b/[core]/esx_multicharacter/locales/tr.lua deleted file mode 100644 index 8a3aa060..00000000 --- a/[core]/esx_multicharacter/locales/tr.lua +++ /dev/null @@ -1,11 +0,0 @@ -Locales['tr'] = { - ['male'] = "Erkek", - ['female'] = "Kadın", - ['delete_label'] = "Sil %s %s?", - ['select_char'] = "Karakter Seç", - ['create_char'] = "Yeni Karakter Oluştur", - ['char_play'] = "Bu Karakterle Oyna", - ['char_delete'] = "Bu Karakteri Sil", - ['cancel'] = "İptal", - ['confirm'] = "Onayla", -} diff --git a/[core]/esx_multicharacter/locales/zh-cn.lua b/[core]/esx_multicharacter/locales/zh-cn.lua new file mode 100644 index 00000000..2b1caca5 --- /dev/null +++ b/[core]/esx_multicharacter/locales/zh-cn.lua @@ -0,0 +1,33 @@ +Locales["zh-cn"] = { + ["male"] = "男性", + ["female"] = "女性", + ["select_char"] = "选择角色", + ["select_char_description"] = "请选择已存在的游戏角色进入.", + ["create_char"] = "创建新角色", + ["char_play"] = "游玩", + ["char_play_description"] = "继而进入城镇.", + ["char_disabled"] = "不可用", + ["char_disabled_description"] = "此角色无法使用.", + ["char_delete"] = "移除", + ["char_delete_description"] = "永久删除此角色.", + ["char_delete_confirmation"] = "删除确认", + ["char_delete_confirmation_description"] = "您确定要删除选定的角色吗?", + ["char_delete_yes_description"] = "是的,我确定删除选定的角色", + ["char_delete_no_description"] = "取消,并返回至角色选项", + ["character"] = "游戏角色: %s", + ["return"] = "返回", + ["return_description"] = "返回至角色选择.", + ["command_setslots"] = "设置玩家多玩家插槽数量", + ["command_remslots"] = "移除玩家多角色位置数量", + ["command_enablechar"] = "启用玩家游玩某个角色", + ["command_disablechar"] = "禁用玩家游玩某个角色", + ["command_charslot"] = "玩家的角色数量上限", + ["command_identifier"] = "玩家标识符", + ["command_slots"] = "# 插槽数量", + ["slotsadd"] = "增加: %s 角色插槽至 %s", + ["slotsedit"] = "成功配置 %s 角色插槽至 %s", + ["slotsrem"] = "成功移除角色插槽 %s", + ["charenabled"] = "您开启了角色: #%s使用权, 拥有人%s", + ["chardisabled"] = "您关闭了角色: #%s使用权, 拥有人%s", + ["charnotfound"] = "角色信息: #%s ,拥有人:%s 并不存在", +} diff --git a/[core]/esx_multicharacter/server/main.lua b/[core]/esx_multicharacter/server/main.lua index 12864d99..e07debe4 100644 --- a/[core]/esx_multicharacter/server/main.lua +++ b/[core]/esx_multicharacter/server/main.lua @@ -29,6 +29,10 @@ end local PRIMARY_IDENTIFIER = ESX.GetConfig().Identifier or GetConvar('sv_lan', '') == 'true' and 'ip' or "license" local function GetIdentifier(source) + local fxDk = GetConvarInt('sv_fxdkMode', 0) + if fxDk == 1 then + return "ESX-DEBUG-LICENCE" + end local identifier = PRIMARY_IDENTIFIER..':' for _, v in pairs(GetPlayerIdentifiers(source)) do if string.match(v, identifier) then @@ -100,11 +104,11 @@ end end if not databaseFound then - deferrals.done(('[ESX Multicharacter] Cannot Find the servers mysql_connection_string. Please make sure it is correctly configured in your server.cfg'):format(oneSyncState)) + deferrals.done('[ESX] Cannot Find the servers mysql_connection_string. Please make sure it is correctly configured in your server.cfg') end if not databaseConnected then - deferrals.done(('[ESX Multicharacter] ESX Cannot Connect to your database. Please make sure it is correctly configured in your server.cfg'):format(oneSyncState)) + deferrals.done('[ESX] OxMySQL Was Unable To Connect to your database. Please make sure it is turned on and correctly configured in your server.cfg') end if identifier then @@ -130,7 +134,7 @@ end local count = 0 for table, column in pairs(DB_TABLES) do - count += 1 + count = count + 1 queries[count] = {query = query:format(table, column), values = {identifier}} end @@ -160,7 +164,7 @@ end DB_TABLES[column.TABLE_NAME] = column.COLUMN_NAME if column?.CHARACTER_MAXIMUM_LENGTH ~= length then - count += 1 + count = count + 1 columns[column.TABLE_NAME] = column.COLUMN_NAME end end @@ -236,4 +240,4 @@ end RegisterNetEvent('esx_multicharacter:relog', function() local source = source TriggerEvent('esx:playerLogout', source) - end) \ No newline at end of file + end) diff --git a/[core]/esx_progressbar/Progress.lua b/[core]/esx_progressbar/Progress.lua index 96a638fb..ab11bd24 100644 --- a/[core]/esx_progressbar/Progress.lua +++ b/[core]/esx_progressbar/Progress.lua @@ -1,10 +1,11 @@ local CurrentProgress = nil + local function Progressbar(message,length,Options) if CurrentProgress then return false end CurrentProgress = Options or {} - if CurrentProgress.animation then + if CurrentProgress.animation then if CurrentProgress.animation.type == "anim" then ESX.Streaming.RequestAnimDict(CurrentProgress.animation.dict, function() TaskPlayAnim(ESX.PlayerData.ped, CurrentProgress.animation.dict, CurrentProgress.animation.lib, 1.0, 1.0, length, 1, 1.0, false,false,false) @@ -22,8 +23,8 @@ local function Progressbar(message,length,Options) }) CurrentProgress.length = length or 3000 while CurrentProgress ~= nil do - if CurrentProgress.length > 0 then - CurrentProgress.length -= 1000 + if CurrentProgress.length > 0 then + CurrentProgress.length = CurrentProgress.length - 1000 else ClearPedTasks(ESX.PlayerData.ped) if CurrentProgress.FreezePlayer then FreezeEntityPosition(PlayerPedId(), false) end @@ -34,9 +35,8 @@ local function Progressbar(message,length,Options) end end -ESX.RegisterInput("cancelprog", "[ProgressBar] Cancel Progressbar", "keyboard", "BACK", function() +local function CancelProgressbar() if not CurrentProgress then return end - if not CurrentProgress.onCancel then return end SendNUIMessage({ type = "Close" }) @@ -44,7 +44,10 @@ ESX.RegisterInput("cancelprog", "[ProgressBar] Cancel Progressbar", "keyboard", if CurrentProgress.FreezePlayer then FreezeEntityPosition(PlayerPedId(), false) end CurrentProgress.canceled = true CurrentProgress.length = 0 - CurrentProgress.onCancel() CurrentProgress = nil -end) +end + +ESX.RegisterInput("cancelprog", "[ProgressBar] Cancel Progressbar", "keyboard", "BACK", CancelProgressbar) + exports('Progressbar', Progressbar) +exports('CancelProgressbar', CancelProgressbar) diff --git a/[core]/esx_skin/.editorconfig b/[core]/esx_skin/.editorconfig deleted file mode 100644 index 9b425256..00000000 --- a/[core]/esx_skin/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -root = true - -[*] -indent_size = 4 -indent_style = tab -end_of_line = crlf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true \ No newline at end of file diff --git a/[core]/esx_skin/client/main.lua b/[core]/esx_skin/client/main.lua index 086a8cdf..367e27a6 100644 --- a/[core]/esx_skin/client/main.lua +++ b/[core]/esx_skin/client/main.lua @@ -16,11 +16,11 @@ function OpenMenu(submitCb, cancelCb, restrict) -- Restrict menu if restrict == nil then - for i=1, #components, 1 do + for i = 1, #components, 1 do _components[i] = components[i] end else - for i=1, #components, 1 do + for i = 1, #components, 1 do local found = false for j=1, #restrict, 1 do @@ -35,7 +35,7 @@ function OpenMenu(submitCb, cancelCb, restrict) end end -- Insert elements - for i=1, #_components, 1 do + for i = 1, #_components, 1 do local value = _components[i].value local componentId = _components[i].componentId @@ -54,7 +54,7 @@ function OpenMenu(submitCb, cancelCb, restrict) type = 'slider' } - for k,v in pairs(maxVals) do + for k, v in pairs(maxVals) do if k == _components[i].name then data.max = v break @@ -104,7 +104,7 @@ function OpenMenu(submitCb, cancelCb, restrict) local newData = {} - for i=1, #elements, 1 do + for i = 1, #elements, 1 do newData = {} newData.max = maxVals[elements[i].name] diff --git a/[core]/esx_skin/config.lua b/[core]/esx_skin/config.lua index 0c547956..448182ce 100644 --- a/[core]/esx_skin/config.lua +++ b/[core]/esx_skin/config.lua @@ -3,8 +3,8 @@ Config = {} Config.Locale = GetConvar('esx:locale', 'en') Config.BackpackWeight = { - [40] = 16, - [41] = 20, - [44] = 25, + [40] = 16, + [41] = 20, + [44] = 25, [45] = 23 } diff --git a/[core]/esx_skin/esx_skin.sql b/[core]/esx_skin/esx_skin.sql index 79218d02..055cb184 100644 --- a/[core]/esx_skin/esx_skin.sql +++ b/[core]/esx_skin/esx_skin.sql @@ -1,3 +1 @@ - - ALTER TABLE `users` ADD COLUMN `skin` LONGTEXT NULL DEFAULT NULL; diff --git a/[core]/esx_skin/locales/br.lua b/[core]/esx_skin/locales/br.lua deleted file mode 100644 index 3e773cef..00000000 --- a/[core]/esx_skin/locales/br.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['br'] = { - ['skin_menu'] = 'Skin Menu', - ['use_rotate_view'] = 'Use ~INPUT_FRONTEND_LS~ e ~INPUT_CHARACTER_WHEEL~ para girar a visão.', - ['skin'] = 'Trocar', - ['saveskin'] = 'Salvar', -} diff --git a/[core]/esx_skin/locales/da.lua b/[core]/esx_skin/locales/da.lua new file mode 100644 index 00000000..4c52dd35 --- /dev/null +++ b/[core]/esx_skin/locales/da.lua @@ -0,0 +1,6 @@ +Locales['da'] = { + ['skin_menu'] = 'Udseende Menu', + ['use_rotate_view'] = 'brug ~INPUT_FRONTEND_LS~ og ~INPUT_CHARACTER_WHEEL~ for at dreje kameraet.', + ['skin'] = 'skift udseende', + ['saveskin'] = 'gem udseende til en fil', +} \ No newline at end of file diff --git a/[core]/esx_skin/locales/de.lua b/[core]/esx_skin/locales/de.lua deleted file mode 100644 index 5f0c1442..00000000 --- a/[core]/esx_skin/locales/de.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['de'] = { - ['skin_menu'] = 'Skin Menü', - ['use_rotate_view'] = 'Nutze ~INPUT_FRONTEND_LS~ und ~INPUT_CHARACTER_WHEEL~ um dich umzuschauen.', - ['skin'] = 'Skin ändern', - ['saveskin'] = 'Skin in Datei speichern', -} diff --git a/[core]/esx_skin/locales/es.lua b/[core]/esx_skin/locales/es.lua index b5d4f4a0..11cfab4d 100644 --- a/[core]/esx_skin/locales/es.lua +++ b/[core]/esx_skin/locales/es.lua @@ -1,6 +1,6 @@ Locales['es'] = { - ['skin_menu'] = 'Menú Aspecto', + ['skin_menu'] = 'Menú de apariencia', ['use_rotate_view'] = 'Utiliza ~INPUT_FRONTEND_LS~ y ~INPUT_CHARACTER_WHEEL~ para rotar la vista.', - ['skin'] = 'cambiar aspecto', - ['saveskin'] = 'guardar aspecto en un archivo', + ['skin'] = 'Cambiar aspecto', + ['saveskin'] = 'Guarda tu aspecto actual', } diff --git a/[core]/esx_skin/locales/fi.lua b/[core]/esx_skin/locales/fi.lua index a7f6164b..30865ba0 100644 --- a/[core]/esx_skin/locales/fi.lua +++ b/[core]/esx_skin/locales/fi.lua @@ -1,6 +1,6 @@ Locales['fi'] = { - ['skin_menu'] = 'ulkonäkö', - ['use_rotate_view'] = 'paina ~INPUT_FRONTEND_LS~ tai ~INPUT_CHARACTER_WHEEL~ liikutaaksesi kameraa.', - ['skin'] = 'vaihda ulkonäköä', - ['saveskin'] = 'talleta ulkonäkö tiedostoon', + ['skin_menu'] = 'Ulkonäkö', + ['use_rotate_view'] = 'Paina ~INPUT_FRONTEND_LS~ tai ~INPUT_CHARACTER_WHEEL~ liikutaaksesi kameraa.', + ['skin'] = 'Muokkaa ulkonäköä', + ['saveskin'] = 'Tallenna', } diff --git a/[core]/esx_skin/locales/pt.lua b/[core]/esx_skin/locales/pt.lua new file mode 100644 index 00000000..0c693768 --- /dev/null +++ b/[core]/esx_skin/locales/pt.lua @@ -0,0 +1,6 @@ +Locales['pt'] = { + ['skin_menu'] = 'Menu de Skin', + ['use_rotate_view'] = 'Usa ~INPUT_FRONTEND_LS~ e ~INPUT_CHARACTER_WHEEL~ para rodar a câmara.', + ['skin'] = 'alterar skin', + ['saveskin'] = 'salvar a skin num ficheiro', + } diff --git a/[core]/esx_skin/locales/sl.lua b/[core]/esx_skin/locales/sl.lua new file mode 100644 index 00000000..2a326fd2 --- /dev/null +++ b/[core]/esx_skin/locales/sl.lua @@ -0,0 +1,6 @@ +Locales['sl'] = { + ['skin_menu'] = 'Oblacilni menu.', + ['use_rotate_view'] = 'Pritisni ~INPUT_FRONTEND_LS~ in ~INPUT_CHARACTER_WHEEL~ da se obracas s pogledom.', + ['skin'] = 'Zamenjaj Skin.', + ['saveskin'] = 'Shrani skin.', +} diff --git a/[core]/esx_skin/locales/sr.lua b/[core]/esx_skin/locales/sr.lua new file mode 100644 index 00000000..5022e1aa --- /dev/null +++ b/[core]/esx_skin/locales/sr.lua @@ -0,0 +1,6 @@ +Locales['sr'] = { + ['skin_menu'] = 'Skin Meni', + ['use_rotate_view'] = 'koristi ~INPUT_FRONTEND_LS~ i ~INPUT_CHARACTER_WHEEL~ da rotiras kameru.', + ['skin'] = 'promeni skin', + ['saveskin'] = 'sacuvaj skin u file', +} diff --git a/[core]/esx_skin/locales/sv.lua b/[core]/esx_skin/locales/sv.lua deleted file mode 100644 index b728903a..00000000 --- a/[core]/esx_skin/locales/sv.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['sv'] = { - ['skin_menu'] = 'Skin meny', - ['use_rotate_view'] = 'Använd ~INPUT_FRONTEND_LS~ och ~INPUT_CHARACTER_WHEEL~ för att rotera vyn.', - ['skin'] = 'Ändra skin', - ['saveskin'] = 'Spara skin till en fil', -} diff --git a/[core]/esx_skin/locales/tr.lua b/[core]/esx_skin/locales/tr.lua deleted file mode 100644 index ca53e487..00000000 --- a/[core]/esx_skin/locales/tr.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['tr'] = { - ['skin_menu'] = 'Karakter Menüsü', - ['use_rotate_view'] = '~INPUT_FRONTEND_LS~ ve ~INPUT_CHARACTER_WHEEL~ ile kamera açısını değiştirebilirsiniz.', - ['skin'] = 'Karakter Değiştir', - ['saveskin'] = 'Karakteri bir dosyaya kaydet', -} diff --git a/[core]/esx_skin/locales/zh-cn.lua b/[core]/esx_skin/locales/zh-cn.lua new file mode 100644 index 00000000..f1d715a3 --- /dev/null +++ b/[core]/esx_skin/locales/zh-cn.lua @@ -0,0 +1,6 @@ +Locales['zh-cn'] = { + ['skin_menu'] = '皮肤选单', + ['use_rotate_view'] = '使用 ~INPUT_FRONTEND_LS~ 和 ~INPUT_CHARACTER_WHEEL~ 旋转镜头视角.', + ['skin'] = '更换皮肤数据', + ['saveskin'] = '保存皮肤数据', + } diff --git a/[core]/skinchanger/locales/br.lua b/[core]/skinchanger/locales/br.lua deleted file mode 100644 index 355e9664..00000000 --- a/[core]/skinchanger/locales/br.lua +++ /dev/null @@ -1,76 +0,0 @@ -Locales['br'] = { - ['sex'] = 'sexo', - ['face'] = 'rosto', - ['skin'] = 'pele', - ['wrinkles'] = 'rugas', - ['wrinkle_thickness'] = 'espessura das rugas', - ['beard_type'] = 'tipo de barba', - ['beard_size'] = 'tamanho da barba', - ['beard_color_1'] = 'cor da barba 1', - ['beard_color_2'] = 'cor da barba 2', - ['hair_1'] = 'cabelo 1', - ['hair_2'] = 'cabelo 2', - ['hair_color_1'] = 'cor do cabelo 1', - ['hair_color_2'] = 'cor do cabelo 2', - ['eyebrow_type'] = 'tipo de sobrancelha', - ['eye_color'] = 'cor dos olhos', - ['eyebrow_size'] = 'tamanho da sobrancelha', - ['eyebrow_color_1'] = 'cor da sobrancelha 1', - ['eyebrow_color_2'] = 'cor da sobrancelha 2', - ['makeup_type'] = 'tipo de maquiagem', - ['makeup_thickness'] = 'espessura da maquiagem', - ['makeup_color_1'] = 'cor da maquiagem 1', - ['makeup_color_2'] = 'cor da maquiagem 2', - ['lipstick_type'] = 'tipo de batom', - ['lipstick_thickness'] = 'espessura do batom', - ['lipstick_color_1'] = 'cor do batom 1', - ['lipstick_color_2'] = 'cor do batom 2', - ['ear_accessories'] = 'acessorios para orelha', - ['ear_accessories_color'] = 'cor dos acessorios', - ['tshirt_1'] = 'camiseta 1', - ['tshirt_2'] = 'camiseta 2', - ['torso_1'] = 'tronco 1', - ['torso_2'] = 'tronco 2', - ['decals_1'] = 'adesivos 1', - ['decals_2'] = 'adesivos 2', - ['arms'] = 'braços', - ['arms_2'] = 'braços 2', - ['pants_1'] = 'calça 1', - ['pants_2'] = 'calça 2', - ['shoes_1'] = 'calçados 1', - ['shoes_2'] = 'calçados 2', - ['mask_1'] = 'máscara 1', - ['mask_2'] = 'máscara 2', - ['bproof_1'] = 'colete 1', - ['bproof_2'] = 'colete 2', - ['chain_1'] = 'acessórios pescoço 1', - ['chain_2'] = 'acessórios pescoço 2', - ['helmet_1'] = 'capacete 1', - ['helmet_2'] = 'capacete 2', - ['watches_1'] = 'relógios 1', - ['watches_2'] = 'relógios 2', - ['bracelets_1'] = 'bracelets 1', - ['bracelets_2'] = 'bracelets 2', - ['glasses_1'] = 'óculos 1', - ['glasses_2'] = 'óculos 2', - ['bag'] = 'mochilas', - ['bag_color'] = 'cor das mochilas', - ['blemishes'] = 'manchas', - ['blemishes_size']= 'espessura das manchas', - ['ageing'] = 'envelhecimento', - ['ageing_1'] = 'espessura do envelhecimento', - ['blush'] = 'blush', - ['blush_1'] = 'espessura do blush', - ['blush_color'] = 'cor do blush', - ['complexion'] = 'pele', - ['complexion_1'] = 'pele espessura', - ['sun'] = 'bronzeado', - ['sun_1'] = 'quantidade do bronzeamento', - ['freckles'] = 'sardas', - ['freckles_1'] = 'sardas quantidade', - ['chest_hair'] = 'cabelo no peito', - ['chest_hair_1'] = 'quantidade de cabelo no peito', - ['chest_color'] = 'cor do cabelo no peito', - ['bodyb'] = 'manchas no corpo', - ['bodyb_size'] = 'espessura de manchas do corpo', -} diff --git a/[core]/skinchanger/locales/da.lua b/[core]/skinchanger/locales/da.lua new file mode 100644 index 00000000..d20323f5 --- /dev/null +++ b/[core]/skinchanger/locales/da.lua @@ -0,0 +1,100 @@ +Locales['da'] = { + ['sex'] = 'køn', + ['mom'] = 'mors ansigt', + ['dad'] = 'fars ansigt', + ['resemblance'] = 'lighed', + ['skin_tone'] = 'hudfarve', + ['nose_1'] = 'næse bredde', + ['nose_2'] = 'næsespidshøjde', + ['nose_3'] = 'næsespidslængde', + ['nose_4'] = 'næseknoglehøjde', + ['nose_5'] = 'næsespidssænkning', + ['nose_6'] = 'nose bone twist', + ['cheeks_1'] = 'kindbens højde', + ['cheeks_2'] = 'kindbens bredde', + ['cheeks_3'] = 'kind bredde', + ['lip_fullness'] = 'læbe fylde', + ['jaw_bone_width'] = 'kæbeknoglebredde', + ['jaw_bone_length'] = 'kæbebens længde', + ['chin_height'] = 'hagehøjde', + ['chin_length'] = 'hagelængde', + ['chin_width'] = 'hagebredde', + ['chin_hole'] = 'chin hole size', + ['neck_thickness'] = 'nakke tykkelse', + ['wrinkles'] = 'rynker', + ['wrinkle_thickness'] = 'rynke tykkelse', + ['beard_type'] = 'skæg type', + ['beard_size'] = 'skæg størrelse', + ['beard_color_1'] = 'skæg farve 1', + ['beard_color_2'] = 'skæg farve 2', + ['hair_1'] = 'hår 1', + ['hair_2'] = 'hår 2', + ['hair_color_1'] = 'hårfarve 1', + ['hair_color_2'] = 'hårfarve 2', + ['eye_color'] = 'øjenfarve', + ['eye_squint'] = 'øjet skele', + ['eyebrow_type'] = 'øjenbryns type', + ['eyebrow_size'] = 'øjenbryns størrelse', + ['eyebrow_color_1'] = 'øjenbryn farve 1', + ['eyebrow_color_2'] = 'øjenbryn farve 2', + ['eyebrow_depth'] = 'øjenbryns dybde', + ['eyebrow_height'] = 'øjenbryns højde', + ['makeup_type'] = 'makeup type', + ['makeup_thickness'] = 'makeup tykkelse', + ['makeup_color_1'] = 'makeup farve 1', + ['makeup_color_2'] = 'makeup farve 2', + ['lipstick_type'] = 'læbestifts type', + ['lipstick_thickness'] = 'læbestifts tykkelse', + ['lipstick_color_1'] = 'læbestifts farve 1', + ['lipstick_color_2'] = 'læbestifts farve 2', + ['ear_accessories'] = 'øretilbehør', + ['ear_accessories_color'] = 'øretilbehør farve', + ['tshirt_1'] = 't-shirt 1', + ['tshirt_2'] = 't-shirt 2', + ['torso_1'] = 'overkrop 1', + ['torso_2'] = 'overkrop 2', + ['decals_1'] = 'mærkater 1', + ['decals_2'] = 'mærkater 2', + ['arms'] = 'arme', + ['arms_2'] = 'arme 2', + ['pants_1'] = 'bukser 1', + ['pants_2'] = 'bukser 2', + ['shoes_1'] = 'sko 1', + ['shoes_2'] = 'sko 2', + ['mask_1'] = 'maske 1', + ['mask_2'] = 'maske 2', + ['bproof_1'] = 'skudsikker vest 1', + ['bproof_2'] = 'skudsikker vest 2', + ['chain_1'] = 'kæde 1', + ['chain_2'] = 'kæde 2', + ['helmet_1'] = 'hjelm 1', + ['helmet_2'] = 'hjelm 2', + ['watches_1'] = 'ure 1', + ['watches_2'] = 'ure 2', + ['bracelets_1'] = 'armbånd 1', + ['bracelets_2'] = 'armbånd 2', + ['glasses_1'] = 'briller 1', + ['glasses_2'] = 'briller 2', + ['bag'] = 'taske', + ['bag_color'] = 'taske farve', + ['blemishes'] = 'bumser', + ['blemishes_size'] = 'bumser tykkelse', + ['ageing'] = 'aldring', + ['ageing_1'] = 'aldring tykkelse', + ['blush'] = 'rødme', + ['blush_1'] = 'rødme tykkelse', + ['blush_color'] = 'rødme farve', + ['complexion'] = 'teint', + ['complexion_1'] = 'teint tykkelse', + ['sun'] = 'sol', + ['sun_1'] = 'soltykkelse', + ['freckles'] = 'fregner', + ['freckles_1'] = 'fregnernes tykkelse', + ['chest_hair'] = 'brysthår', + ['chest_hair_1'] = 'brysthårtykkelse', + ['chest_color'] = 'brysthårfarve', + ['bodyb'] = 'krops pletter', + ['bodyb_size'] = 'krops pletter tykkelse', + ['bodyb_extra'] = 'pletter kropseffekt', + ['bodyb_extra_thickness'] = 'pletter kropseffekt tykkelse', +} \ No newline at end of file diff --git a/[core]/skinchanger/locales/de.lua b/[core]/skinchanger/locales/de.lua deleted file mode 100644 index 59bca2f8..00000000 --- a/[core]/skinchanger/locales/de.lua +++ /dev/null @@ -1,104 +0,0 @@ -Locales['de'] = { - ['sex'] = 'Geschlecht', - ['mom'] = 'Gesicht der Mutter', - ['dad'] = 'Gesicht des Vaters', - ['resemblance'] = 'Wiederspiegelung', - ['skin_tone'] = 'Hautfarbe', - ['nose_1'] = 'Nasen Dicke', - ['nose_2'] = 'Nasen Spitzenlänge', - ['nose_3'] = 'Nasen Spitzenlänge', - ['nose_4'] = 'Nasen Knochen Höhe', - ['nose_5'] = 'Nasen Spitzen Erhöhung', - ['nose_6'] = 'Nasen Knochen Drehung', - ['cheeks_1'] = 'Wangenknochen Höhe', - ['cheeks_2'] = 'Wangenknochen Breite', - ['cheeks_3'] = 'Wangen Breite', - ['lip_fullness'] = 'Lippen Volle', - ['jaw_bone_width'] = 'Kiefer Breite', - ['jaw_bone_length'] = 'Kiefer Länge', - ['chin_height'] = 'Kinn Höhe', - ['chin_length'] = 'Kinn Länge', - ['chin_width'] = 'Kinn Breite', - ['chin_hole'] = 'Kinn Loch Breite', - ['neck_thickness'] = 'Genick Breite', - ['face'] = 'Gesicht', - ['skin'] = 'Skin', - ['Wrinkles'] = 'Falten', - ['Wrinkle_thickness'] = 'Faltendicke', - ['beard_type'] = 'Bart Typ', - ['beard_size'] = 'Bartdichte', - ['beard_color_1'] = 'Bartfarbe 1', - ['beard_color_2'] = 'Bartfarbe 2', - ['hair_1'] = 'Haare 1', - ['hair_2'] = 'Haare 2', - ['hair_color_1'] = 'Haarfarbe 1', - ['hair_color_2'] = 'Haarfarbe 2', - ['eye_color'] = 'Augenfarbe', - ['eye_squint'] = 'Augenöffnung', - ['eyebrow_type'] = 'Augenbrauen Typ', - ['eyebrow_size'] = 'Augenbrauen Größe', - ['eyebrow_color_1'] = 'Augenbrauenfarbe 1', - ['eyebrow_color_2'] = 'Augenbrauenfarbe 2', - ['eyebrow_depth'] = 'Augenbrauen Tiefe', - ['eyebrow_height'] = 'Augenbrauen Höhe', - ['makeup_type'] = 'Makeup Typ', - ['makeup_thickness'] = 'Makeup dicke', - ['makeup_color_1'] = 'Makeupfarbe 1', - ['makeup_color_2'] = 'Makeupfarbe 2', - ['lipstick_type'] = 'Lippenstift Typ', - ['lipstick_thickness'] = 'Lippenstift dicke', - ['lipstick_color_1'] = 'Lippenstiffarbe 1', - ['lipstick_color_2'] = 'Lippenstiftfarbe 2', - ['ear_accessories'] = 'Ohr Accessories', - ['ear_accessories_color'] = 'Ohr Accessories Farbe', - ['tshirt_1'] = 'T-Shirt 1', - ['tshirt_2'] = 'T-Shirt 2', - ['torso_1'] = 'Torso 1', - ['torso_2'] = 'Torso 2', - ['decals_1'] = 'Tattoos 1', - ['decals_2'] = 'Tattoos 2', - ['arms'] = 'Arme', - ['arms_2'] = 'Arme 2', - ['pants_1'] = 'Hosen 1', - ['pants_2'] = 'Hosen 2', - ['shoes_1'] = 'Schuhe 1', - ['shoes_2'] = 'Schuhe 2', - ['mask_1'] = 'Maske 1', - ['mask_2'] = 'Maske 2', - ['bproof_1'] = 'Schusssichere Weste 1', - ['bproof_2'] = 'Schusssichere Weste 2', - ['chain_1'] = 'Kette 1', - ['chain_2'] = 'Kette 2', - ['helmet_1'] = 'Helm 1', - ['helmet_2'] = 'Helm 2', - ['watches_1'] = 'Watches 1', - ['watches_2'] = 'Watches 2', - ['bracelets_1'] = 'Bracelets 1', - ['bracelets_2'] = 'Bracelets 2', - ['glasses_1'] = 'Brille 1', - ['glasses_2'] = 'Brille 2', - ['bag'] = 'Rucksack', - ['bag_color'] = 'Rucksackfarbe', - ['blemishes'] = 'Körper Verfärbuing 1', - ['blemishes_size']= 'Körper Verfärbung Größe', - ['ageing'] = 'Alterung', - ['ageing_1'] = 'Alterungsdichte', - ['blush'] = 'Blush', - ['blush_1'] = 'Blush Dichte', - ['blush_color'] = 'Blush Farbe', - ['complexion'] = 'Komplexion', - ['complexion_1'] = 'Komplexionsdichte', - ['sun'] = 'Sonnenbrand', - ['sun_1'] = 'Sonnenbrandstärke', - ['freckles'] = 'Sommersprossen', - ['freckles_1'] = 'Sommersprossen Dichte', - ['chest_hair'] = 'Brusthaare', - ['chest_hair_1'] = 'Brusthaardichte', - ['chest_color'] = 'Brusthaarfarbe', - ['bodyb'] = 'Körper Verfärbungen 2', - ['bodyb_size'] = 'Körper Verfärbung Dicke', - ['bodyb_extra'] = 'Körper Verfärbung Effekt', - ['bodyb_extra_thickness'] = 'Körper Verfärbung Effek Stärke', - ['wrinkles'] = 'Falten', - ['wrinkle_thickness'] = 'Falten Stärke', -} diff --git a/[core]/skinchanger/locales/es.lua b/[core]/skinchanger/locales/es.lua index 0f5c74f2..e707b2df 100644 --- a/[core]/skinchanger/locales/es.lua +++ b/[core]/skinchanger/locales/es.lua @@ -1,100 +1,100 @@ Locales['es'] = { - ['sex'] = 'sexo', - ['mom'] = 'cara de la madre', - ['dad'] = 'cara del padre', - ['resemblance'] = 'parecido', - ['skin_tone'] = 'tono de piel', - ['nose_1'] = 'ancho de la nariz', - ['nose_2'] = 'altura del pico de la nariz', - ['nose_3'] = 'longitud del pico de la nariz', - ['nose_4'] = 'altura del hueso de la nariz', - ['nose_5'] = 'bajada del pico de la nariz', - ['nose_6'] = 'torsión del hueso de la nariz', - ['cheeks_1'] = 'altura de los pómulos', - ['cheeks_2'] = 'anchura de los pómulos', - ['cheeks_3'] = 'ancho de las mejillas', - ['lip_fullness'] = 'relleno de los labios', - ['jaw_bone_width'] = 'anchura del hueso de la mandíbula', - ['jaw_bone_length'] = 'longitud del hueso de la mandíbula', - ['chin_height'] = 'altura de la barbilla', - ['chin_length'] = 'longitud de la barbilla', - ['chin_width'] = 'ancho de la barbilla', - ['chin_hole'] = 'tamaño del agujero de la barbilla', - ['neck_thickness'] = 'grosor del cuello', - ['wrinkles'] = 'arrugas', - ['wrinkle_thickness'] = 'cantidad de arrugas', - ['beard_type'] = 'tipo de barba', - ['beard_size'] = 'tamaño de la barba', - ['beard_color_1'] = 'color de la barba 1', - ['beard_color_2'] = 'color de la barba 2', - ['hair_1'] = 'pelo 1', - ['hair_2'] = 'pelo 2', - ['hair_color_1'] = 'color de pelo 1', - ['hair_color_2'] = 'color de pelo 2', - ['eye_color'] = 'color de ojos', - ['eye_squint'] = 'achinado de ojos', - ['eyebrow_type'] = 'tipo de ceja', - ['eyebrow_size'] = 'tipo de ceja', - ['eyebrow_color_1'] = 'color de ceja 1', - ['eyebrow_color_2'] = 'color de ceja 2', - ['eyebrow_depth'] = 'profundidad de las cejas', - ['eyebrow_height'] = 'altura de las cejas', - ['makeup_type'] = 'tipo de maquillaje', - ['makeup_thickness'] = 'cantidad de maquillaje', - ['makeup_color_1'] = 'color de maquillaje 1', - ['makeup_color_2'] = 'color de maquillaje 2', - ['lipstick_type'] = 'tipo de pintalabios', - ['lipstick_thickness'] = 'cantidad de pintalabios', - ['lipstick_color_1'] = 'color de pintalabios 1', - ['lipstick_color_2'] = 'color de pintalabios 2', - ['ear_accessories'] = 'accesorios de oreja', - ['ear_accessories_color'] = 'color de accesorios', - ['tshirt_1'] = 'camiseta 1', - ['tshirt_2'] = 'camiseta 2', - ['torso_1'] = 'torso 1', - ['torso_2'] = 'torso 2', - ['decals_1'] = 'tatuajes 1', - ['decals_2'] = 'tatuajes 2', - ['arms'] = 'brazos', - ['arms_2'] = 'brazos 2', - ['pants_1'] = 'pantalones 1', - ['pants_2'] = 'pantalones 2', - ['shoes_1'] = 'calzado 1', - ['shoes_2'] = 'calzado 2', - ['mask_1'] = 'mascara 1', - ['mask_2'] = 'mascara 2', - ['bproof_1'] = 'chaleco antibalas 1', - ['bproof_2'] = 'chaleco antibalas 2', - ['chain_1'] = 'cadena 1', - ['chain_2'] = 'cadena 2', - ['helmet_1'] = 'casco 1', - ['helmet_2'] = 'casco 2', - ['watches_1'] = 'reloj 1', - ['watches_2'] = 'reloj 2', - ['bracelets_1'] = 'pulseras 1', - ['bracelets_2'] = 'pulseras 2', - ['glasses_1'] = 'gafas 1', - ['glasses_2'] = 'gafas 2', - ['bag'] = 'mochila', - ['bag_color'] = 'color mochila', - ['blemishes'] = 'manchas', - ['blemishes_size'] = 'cantidad de manchas', - ['ageing'] = 'envejecimiento', - ['ageing_1'] = 'cantidad de envejecimiento', - ['blush'] = 'colorete', - ['blush_1'] = 'cantidad de colorete', - ['blush_color'] = 'color de colorete', - ['complexion'] = 'complexión', - ['complexion_1'] = 'cantidad de complexión', - ['sun'] = 'bronceado', - ['sun_1'] = 'cantidad de bronceado', - ['freckles'] = 'pecas', - ['freckles_1'] = 'cantidad de pecas', - ['chest_hair'] = 'vello corporal', - ['chest_hair_1'] = 'cantidad de vello corporal', - ['chest_color'] = 'color de vello corporal', - ['bodyb'] = 'manchas en el cuerpo', - ['bodyb_size'] = 'tipo de manchas en el cuerpo', - ['bodyb_extra'] = 'efecto de manchas en el cuerpo', - ['bodyb_extra_thickness'] = 'espesor de manchas efecto cuerpo', + ['sex'] = 'Sexo', + ['mom'] = 'Herencia de la Madre', + ['dad'] = 'Herencia del Padre', + ['resemblance'] = 'Parecido', + ['skin_tone'] = 'Tono de piel', + ['nose_1'] = 'Ancho de la Nariz', + ['nose_2'] = 'Altura del pico de la Nariz', + ['nose_3'] = 'Longitud del pico de la Nariz', + ['nose_4'] = 'Altura del hueso de la Nariz', + ['nose_5'] = 'Bajada del pico de la Nariz', + ['nose_6'] = 'Torsión del hueso de la Nariz', + ['cheeks_1'] = 'Altura de los pómulos', + ['cheeks_2'] = 'Anchura de los pómulos', + ['cheeks_3'] = 'Ancho de las mejillas', + ['lip_fullness'] = 'Relleno de los labios', + ['jaw_bone_width'] = 'Anchura del hueso de la mandíbula', + ['jaw_bone_length'] = 'Longitud del hueso de la mandíbula', + ['chin_height'] = 'Altura de la barbilla', + ['chin_length'] = 'Longitud de la barbilla', + ['chin_width'] = 'Ancho de la barbilla', + ['chin_hole'] = 'Tamaño del agujero de la barbilla', + ['neck_thickness'] = 'Grosor del cuello', + ['wrinkles'] = 'Arrugas', + ['wrinkle_thickness'] = 'Cantidad de arrugas', + ['beard_type'] = 'Tipo de barba', + ['beard_size'] = 'Tamaño de la barba', + ['beard_color_1'] = 'Color de la barba 1', + ['beard_color_2'] = 'Color de la barba 2', + ['hair_1'] = 'Pelo 1', + ['hair_2'] = 'Pelo 2', + ['hair_color_1'] = 'Color de pelo 1', + ['hair_color_2'] = 'Color de pelo 2', + ['eye_color'] = 'Color de ojos', + ['eye_squint'] = 'Apertura de ojos', + ['eyebrow_type'] = 'Tipo de ceja', + ['eyebrow_size'] = 'Tipo de ceja', + ['eyebrow_color_1'] = 'Color de ceja 1', + ['eyebrow_color_2'] = 'Color de ceja 2', + ['eyebrow_depth'] = 'Profundidad de las cejas', + ['eyebrow_height'] = 'Altura de las cejas', + ['makeup_type'] = 'Tipo de maquillaje', + ['makeup_thickness'] = 'Cantidad de maquillaje', + ['makeup_color_1'] = 'Color de maquillaje 1', + ['makeup_color_2'] = 'Color de maquillaje 2', + ['lipstick_type'] = 'Tipo de pintalabios', + ['lipstick_thickness'] = 'Cantidad de pintalabios', + ['lipstick_color_1'] = 'Color de pintalabios 1', + ['lipstick_color_2'] = 'Color de pintalabios 2', + ['ear_accessories'] = 'Accesorios de oreja', + ['ear_accessories_color'] = 'Color de accesorios', + ['tshirt_1'] = 'Camiseta 1', + ['tshirt_2'] = 'Camiseta 2', + ['torso_1'] = 'Torso 1', + ['torso_2'] = 'Torso 2', + ['decals_1'] = 'Tatuajes 1', + ['decals_2'] = 'Tatuajes 2', + ['arms'] = 'Brazos', + ['arms_2'] = 'Brazos 2', + ['pants_1'] = 'Pantalones 1', + ['pants_2'] = 'Pantalones 2', + ['shoes_1'] = 'Calzado 1', + ['shoes_2'] = 'Calzado 2', + ['mask_1'] = 'Mascara 1', + ['mask_2'] = 'Mascara 2', + ['bproof_1'] = 'Chaleco antibalas 1', + ['bproof_2'] = 'Chaleco antibalas 2', + ['chain_1'] = 'Cadena 1', + ['chain_2'] = 'Cadena 2', + ['helmet_1'] = 'Casco 1', + ['helmet_2'] = 'Casco 2', + ['watches_1'] = 'Reloj 1', + ['watches_2'] = 'Reloj 2', + ['bracelets_1'] = 'Pulseras 1', + ['bracelets_2'] = 'Pulseras 2', + ['glasses_1'] = 'Gafas 1', + ['glasses_2'] = 'Gafas 2', + ['bag'] = 'Mochila', + ['bag_color'] = 'Color mochila', + ['blemishes'] = 'Manchas', + ['blemishes_size'] = 'Cantidad de manchas', + ['ageing'] = 'Envejecimiento', + ['ageing_1'] = 'Cantidad de envejecimiento', + ['blush'] = 'Colorete', + ['blush_1'] = 'Cantidad de colorete', + ['blush_color'] = 'Color de colorete', + ['complexion'] = 'Complexión', + ['complexion_1'] = 'Cantidad de complexión', + ['sun'] = 'Bronceado', + ['sun_1'] = 'Cantidad de bronceado', + ['freckles'] = 'Pecas', + ['freckles_1'] = 'Cantidad de pecas', + ['chest_hair'] = 'Vello corporal', + ['chest_hair_1'] = 'Cantidad de vello corporal', + ['chest_color'] = 'Color de vello corporal', + ['bodyb'] = 'Manchas en el cuerpo', + ['bodyb_size'] = 'Tipo de manchas en el cuerpo', + ['bodyb_extra'] = 'Efecto de manchas en el cuerpo', + ['bodyb_extra_thickness'] = 'Espesor de manchas efecto cuerpo', } diff --git a/[core]/skinchanger/locales/fi.lua b/[core]/skinchanger/locales/fi.lua index 9f676c7a..4c4a7263 100644 --- a/[core]/skinchanger/locales/fi.lua +++ b/[core]/skinchanger/locales/fi.lua @@ -1,76 +1,76 @@ Locales['fi'] = { - ['sex'] = 'sukupuoli', - ['face'] = 'kasvot', - ['skin'] = 'iho', - ['wrinkles'] = 'rypyt', - ['wrinkle_thickness'] = 'ryppyjen paksuus', - ['beard_type'] = 'parta tyyli', - ['beard_size'] = 'parran koko', - ['beard_color_1'] = 'parran väri 1', - ['beard_color_2'] = 'parran väri 2', - ['hair_1'] = 'hiukset 1', - ['hair_2'] = 'hiukset 2', - ['hair_color_1'] = 'hiuksien väri 1', - ['hair_color_2'] = 'hiuksien väri 2', + ['sex'] = 'Sukupuoli', + ['face'] = 'Kasvot', + ['skin'] = 'Iho', + ['wrinkles'] = 'Rypyt', + ['wrinkle_thickness'] = 'Ryppyjen vahvuus', + ['beard_type'] = 'Parta tyyli', + ['beard_size'] = 'Parran koko', + ['beard_color_1'] = 'Parran väri 1', + ['beard_color_2'] = 'Parran väri 2', + ['hair_1'] = 'Hiukset 1', + ['hair_2'] = 'Hiukset 2', + ['hair_color_1'] = 'Hiuksien väri 1', + ['hair_color_2'] = 'Hiuksien väri 2', ['eye_color'] = 'Silmien väri', - ['eyebrow_type'] = 'kulmakarva tyyli', - ['eyebrow_size'] = 'kulmakarvojen tiheys', - ['eyebrow_color_1'] = 'kulmakarvojen väri 1', - ['eyebrow_color_2'] = 'kulmakarvojen väri 2', - ['makeup_type'] = 'meikki tyyli', - ['makeup_thickness'] = 'meikin paksuus', - ['makeup_color_1'] = 'meikin väri 1', - ['makeup_color_2'] = 'meikin väri 2', - ['lipstick_type'] = 'huulipuna tyyli', - ['lipstick_thickness'] = 'huulipunan paksuus', - ['lipstick_color_1'] = 'huulipunan väri 1', - ['lipstick_color_2'] = 'huulipunan väri 2', - ['ear_accessories'] = 'korvakorut', - ['ear_accessories_color'] = 'korvakorujen väri', - ['tshirt_1'] = 't-Paita 1', - ['tshirt_2'] = 't-Paita 2', - ['torso_1'] = 'paita 1', - ['torso_2'] = 'paita 2', - ['decals_1'] = 'kerros 1', - ['decals_2'] = 'kerros 2', - ['arms'] = 'kädet', - ['arms_2'] = 'kädet 2', - ['pants_1'] = 'housut 1', - ['pants_2'] = 'housut 2', - ['shoes_1'] = 'kengät 1', - ['shoes_2'] = 'kengät 2', - ['mask_1'] = 'maski 1', - ['mask_2'] = 'maski 2', - ['bproof_1'] = 'luotiliivi 1', - ['bproof_2'] = 'luotiliivi 2', - ['chain_1'] = 'korut 1', - ['chain_2'] = 'korut 2', - ['helmet_1'] = 'kypärät 1', - ['helmet_2'] = 'kypärät 2', - ['watches_1'] = 'kellot 1', - ['watches_2'] = 'kellot 2', - ['bracelets_1'] = 'rannekkeet 1', - ['bracelets_2'] = 'rannekkeet 2', - ['glasses_1'] = 'lasit 1', - ['glasses_2'] = 'lasit 2', - ['bag'] = 'reput', - ['bag_color'] = 'repun väri', - ['blemishes'] = 'pisamat', - ['blemishes_size']= 'pisamien paksuus', - ['ageing'] = 'ikääntyminen', - ['ageing_1'] = 'ikääntyminen paksuus', - ['blush'] = 'punastuminen', - ['blush_1'] = 'punastumisen paksuus', - ['blush_color'] = 'punastumisen väri', - ['complexion'] = 'pigmentti', - ['complexion_1'] = 'pigmentin paksuus', - ['sun'] = 'rusketus', - ['sun_1'] = 'rusketus paksuus', - ['freckles'] = 'pilkut', - ['freckles_1'] = 'pilkkujen paksuus', - ['chest_hair'] = 'rintakarvat', - ['chest_hair_1'] = 'rintakarvojen tiheys', - ['chest_color'] = 'rintakarvojen väri', - ['bodyb'] = 'pisamat kehossa', - ['bodyb_size'] = 'kehopisamien paksuus', + ['eyebrow_type'] = 'Kulmakarva tyyli', + ['eyebrow_size'] = 'Kulmakarvojen tiheys', + ['eyebrow_color_1'] = 'Kulmakarvojen väri 1', + ['eyebrow_color_2'] = 'Kulmakarvojen väri 2', + ['makeup_type'] = 'Meikki tyyli', + ['makeup_thickness'] = 'Meikin vahvuus', + ['makeup_color_1'] = 'Meikin väri 1', + ['makeup_color_2'] = 'Meikin väri 2', + ['lipstick_type'] = 'Huulipuna tyyli', + ['lipstick_thickness'] = 'Huulipunan vahvuus', + ['lipstick_color_1'] = 'Huulipunan väri 1', + ['lipstick_color_2'] = 'Huulipunan väri 2', + ['ear_accessories'] = 'Korvakorut', + ['ear_accessories_color'] = 'Korvakorujen väri', + ['tshirt_1'] = 'T-paita 1', + ['tshirt_2'] = 'T-paita 2', + ['torso_1'] = 'Paita 1', + ['torso_2'] = 'Paita 2', + ['decals_1'] = 'Kerros 1', + ['decals_2'] = 'Kerros 2', + ['arms'] = 'Kädet', + ['arms_2'] = 'Kädet 2', + ['pants_1'] = 'Housut 1', + ['pants_2'] = 'Housut 2', + ['shoes_1'] = 'Kengät 1', + ['shoes_2'] = 'Kengät 2', + ['mask_1'] = 'Maski 1', + ['mask_2'] = 'Maski 2', + ['bproof_1'] = 'Luotiliivi 1', + ['bproof_2'] = 'Luotiliivi 2', + ['chain_1'] = 'Korut 1', + ['chain_2'] = 'Korut 2', + ['helmet_1'] = 'Kypärät 1', + ['helmet_2'] = 'Kypärät 2', + ['watches_1'] = 'Kellot 1', + ['watches_2'] = 'Kellot 2', + ['bracelets_1'] = 'Rannekkeet 1', + ['bracelets_2'] = 'Rannekkeet 2', + ['glasses_1'] = 'Lasit 1', + ['glasses_2'] = 'Lasit 2', + ['bag'] = 'Reput', + ['bag_color'] = 'Repun väri', + ['blemishes'] = 'Pisamat', + ['blemishes_size']= 'Pisamien vahvuus', + ['ageing'] = 'Ikääntyminen', + ['ageing_1'] = 'Ikääntyminen vahvuus', + ['blush'] = 'Punastuminen', + ['blush_1'] = 'Punastumisen vahvuus', + ['blush_color'] = 'Punastumisen väri', + ['complexion'] = 'Pigmentti', + ['complexion_1'] = 'Pigmentin vahvuus', + ['sun'] = 'Rusketus', + ['sun_1'] = 'Rusketus vahvuus', + ['freckles'] = 'Pilkut', + ['freckles_1'] = 'Pilkkujen vahvuus', + ['chest_hair'] = 'Rintakarvat', + ['chest_hair_1'] = 'Rintakarvojen tiheys', + ['chest_color'] = 'Rintakarvojen väri', + ['bodyb'] = 'Pisamat kehossa', + ['bodyb_size'] = 'Kehopisamien vahvuus', } diff --git a/[core]/skinchanger/locales/fr.lua b/[core]/skinchanger/locales/fr.lua index 5551b29e..cc799047 100644 --- a/[core]/skinchanger/locales/fr.lua +++ b/[core]/skinchanger/locales/fr.lua @@ -1,76 +1,100 @@ Locales['fr'] = { ['sex'] = 'sexe', - ['face'] = 'visage', - ['skin'] = 'peau', - ['wrinkles'] = 'rides', - ['wrinkle_thickness'] = 'épaisseur rides', - ['beard_type'] = 'type barbe', - ['beard_size'] = 'taille barbe', - ['beard_color_1'] = 'couleur barbe 1', - ['beard_color_2'] = 'couleur barbe 2', + ['mom'] = 'mère\'s visage', + ['dad'] = 'père\'s visage', + ['resemblance'] = 'ressemblance', + ['skin_tone'] = 'teint', + ['nose_1'] = 'largeur du nez', + ['nose_2'] = 'hauteur du pic du nez', + ['nose_3'] = 'longueur du pic du nez', + ['nose_4'] = "hauteur de l'os du nez", + ['nose_5'] = 'abaissement du pic du nez', + ['nose_6'] = "torsion de l'os du nez", + ['cheeks_1'] = 'hauteur des pommettes', + ['cheeks_2'] = 'largeur des pommettes', + ['cheeks_3'] = 'largeur des joues', + ['lip_fullness'] = 'plénitude des lèvres', + ['jaw_bone_width'] = "largeur de l'os de la mâchoire", + ['jaw_bone_length'] = "longueur de l'os de la mâchoire", + ['chin_height'] = 'hauteur du menton', + ['chin_length'] = 'longueur du menton', + ['chin_width'] = 'largeur du menton', + ['chin_hole'] = 'taille du trou du menton', + ['neck_thickness'] = 'épaisseur du cou', + ['wrinkles'] = 'les rides', + ['wrinkle_thickness'] = 'épaisseur des rides', + ['beard_type'] = 'type de barbe', + ['beard_size'] = 'taille de barbe', + ['beard_color_1'] = 'couleur de barbe 1', + ['beard_color_2'] = 'couleur de barbe 2', ['hair_1'] = 'cheveux 1', ['hair_2'] = 'cheveux 2', - ['hair_color_1'] = 'couleur cheveux 1', - ['hair_color_2'] = 'couleur cheveux 2', - ['eye_color'] = 'lentilles colorées', - ['eyebrow_type'] = 'type sourcils', - ['eyebrow_size'] = 'taille sourcils', - ['eyebrow_color_1'] = 'couleur sourcils 1', - ['eyebrow_color_2'] = 'couleur sourcils 2', - ['makeup_type'] = 'type maquillage', - ['makeup_thickness'] = 'épaisseur maquillage', - ['makeup_color_1'] = 'couleur maquillage 1', - ['makeup_color_2'] = 'couleur maquillage 2', - ['lipstick_type'] = 'type lipstick', - ['lipstick_thickness'] = 'épaisseur lipstick', - ['lipstick_color_1'] = 'couleur lipstick 1', - ['lipstick_color_2'] = 'couleur lipstick 2', - ['ear_accessories'] = 'accessoire oreilles', - ['ear_accessories_color'] = 'couleur accessoire', + ['hair_color_1'] = 'couleur de cheveux 1', + ['hair_color_2'] = 'couleur de cheveux 2', + ['eye_color'] = 'couleur des yeux', + ['eye_squint'] = 'eye squint', + ['eyebrow_type'] = 'type de sourcil', + ['eyebrow_size'] = 'taille des sourcils', + ['eyebrow_color_1'] = 'couleur des sourcils 1', + ['eyebrow_color_2'] = 'couleur des sourcils 2', + ['eyebrow_depth'] = 'profondeur des sourcils', + ['eyebrow_height'] = 'hauteur des sourcils', + ['makeup_type'] = 'type de maquillage', + ['makeup_thickness'] = 'épaisseur de maquillage', + ['makeup_color_1'] = 'couleur de maquillage 1', + ['makeup_color_2'] = 'couleur de maquillage 2', + ['lipstick_type'] = 'type de rouge à lèvres', + ['lipstick_thickness'] = 'épaisseur du rouge à lèvres', + ['lipstick_color_1'] = 'couleur de rouge à lèvres 1', + ['lipstick_color_2'] = 'couleur de rouge à lèvres 2', + ['ear_accessories'] = 'ear accessories', + ['ear_accessories_color'] = "couleur des accessoires d'oreille", ['tshirt_1'] = 't-Shirt 1', ['tshirt_2'] = 't-Shirt 2', ['torso_1'] = 'torse 1', ['torso_2'] = 'torse 2', - ['decals_1'] = 'calques 1', - ['decals_2'] = 'calques 2', + ['decals_1'] = 'décalcomanies 1', + ['decals_2'] = 'décalcomanies 2', ['arms'] = 'bras', ['arms_2'] = 'bras 2', - ['pants_1'] = 'jambes 1', - ['pants_2'] = 'jambes 2', + ['pants_1'] = 'pantalon 1', + ['pants_2'] = 'pantalon 2', ['shoes_1'] = 'chaussures 1', ['shoes_2'] = 'chaussures 2', ['mask_1'] = 'masque 1', ['mask_2'] = 'masque 2', - ['bproof_1'] = 'gilet pare-balle 1', - ['bproof_2'] = 'gilet pare-balle 2', - ['chain_1'] = 'chaine 1', - ['chain_2'] = 'chaine 2', + ['bproof_1'] = 'gilet pare-balles 1', + ['bproof_2'] = 'gilet pare-balles 2', + ['chain_1'] = 'chaîne 1', + ['chain_2'] = 'chaîne 2', ['helmet_1'] = 'casque 1', ['helmet_2'] = 'casque 2', - ['watches_1'] = 'montre 1', - ['watches_2'] = 'montre 2', - ['bracelets_1'] = 'bracelet 1', - ['bracelets_2'] = 'bracelet 2', + ['watches_1'] = 'montres 1', + ['watches_2'] = 'montres 2', + ['bracelets_1'] = 'bracelets 1', + ['bracelets_2'] = 'bracelets 2', ['glasses_1'] = 'lunettes 1', ['glasses_2'] = 'lunettes 2', ['bag'] = 'sac', - ['bag_color'] = 'couleur sac', - ['blemishes'] = 'Boutons', - ['blemishes_size']= 'opacité des boutons', + ['bag_color'] = 'couleur du sac', + ['blemishes'] = 'imperfections', + ['blemishes_size'] = 'épaisseur des imperfections', ['ageing'] = 'vieillissement', - ['ageing_1'] = 'opacité du vieillissement', - ['blush'] = 'rougeur', - ['blush_1'] = 'opacité rougeur', - ['blush_color'] = 'couleur rougeur', - ['complexion'] = 'teint', - ['complexion_1'] = 'opacité teint', - ['sun'] = 'dommages UV', - ['sun_1'] = 'opacité dommages UV', + ['ageing_1'] = 'épaisseur de vieillissement', + ['blush'] = 'rougir', + ['blush_1'] = 'épaisseur du fard à joues', + ['blush_color'] = 'couleur fard à joues', + ['complexion'] = 'complexion', + ['complexion_1'] = 'épaisseur du teint', + ['sun'] = 'soleil', + ['sun_1'] = 'épaisseur du soleil', ['freckles'] = 'taches de rousseur', - ['freckles_1'] = 'opacité rousseur', - ['chest_hair'] = 'pilosité torse', - ['chest_hair_1'] = 'opacité pilosité', - ['chest_color'] = 'couleur pilosité', + ['freckles_1'] = 'épaisseur des taches de rousseur', + ['chest_hair'] = 'les poils du torse', + ['chest_hair_1'] = 'épaisseur des poils de la poitrine', + ['chest_color'] = 'couleur des cheveux de la poitrine', ['bodyb'] = 'imperfections du corps', - ['bodyb_size'] = 'opacité imperfections', + ['bodyb_size'] = 'épaisseur des imperfections corporelles', + ['bodyb_extra'] = 'effet corps', + ['bodyb_extra_thickness'] = 'imperfections effet corps épaisseur', } diff --git a/[core]/skinchanger/locales/pt.lua b/[core]/skinchanger/locales/pt.lua new file mode 100644 index 00000000..de6e7978 --- /dev/null +++ b/[core]/skinchanger/locales/pt.lua @@ -0,0 +1,100 @@ +Locales['pt'] = { + ['sex'] = 'sexo', + ['mom'] = 'cara da mãe', + ['dad'] = 'cara do pai', + ['resemblance'] = 'semelhanças', + ['skin_tone'] = 'tom de pele', + ['nose_1'] = 'largura do nariz', + ['nose_2'] = 'altura da ponta do nariz', + ['nose_3'] = 'tamanho da ponta do nariz', + ['nose_4'] = 'altura do nariz', + ['nose_5'] = 'reduzir ponta do nariz', + ['nose_6'] = 'torcer o nariz', + ['cheeks_1'] = 'altura das maçãs do rosto', + ['cheeks_2'] = 'largura das maçãs do rosto', + ['cheeks_3'] = 'largura das bochechas', + ['lip_fullness'] = 'preenchimento labial', + ['jaw_bone_width'] = 'largura do maxilar', + ['jaw_bone_length'] = 'comprimento do maxilar', + ['chin_height'] = 'altura do queixo', + ['chin_length'] = 'comprimento do queixo', + ['chin_width'] = 'largura do queixo', + ['chin_hole'] = 'tamanho do buraco do queixo', + ['neck_thickness'] = 'espessura do pescoço', + ['wrinkles'] = 'rugas', + ['wrinkle_thickness'] = 'espessura das rugas', + ['beard_type'] = 'tipo de barba', + ['beard_size'] = 'tamanho da barba', + ['beard_color_1'] = 'cor da barba 1', + ['beard_color_2'] = 'cor da barba 2', + ['hair_1'] = 'cabelo 1', + ['hair_2'] = 'cabelo 2', + ['hair_color_1'] = 'cor do cabelo 1', + ['hair_color_2'] = 'cor do cabelo 2', + ['eye_color'] = 'cor dos olhos', + ['eye_squint'] = 'estrabismo', + ['eyebrow_type'] = 'tipo de sobrancelha', + ['eyebrow_size'] = 'tamanho da sobrancelha', + ['eyebrow_color_1'] = 'cor da sobrancelha 1', + ['eyebrow_color_2'] = 'cor da sobrancelha 2', + ['eyebrow_depth'] = 'profundidade da sobrancelha', + ['eyebrow_height'] = 'altura da sobrancelha', + ['makeup_type'] = 'tipo de maquiagem', + ['makeup_thickness'] = 'espessura da maquiagem', + ['makeup_color_1'] = 'cor da maquiagem 1', + ['makeup_color_2'] = 'cor da maquiagem 2', + ['lipstick_type'] = 'tipo de batom', + ['lipstick_thickness'] = 'espessura do batom', + ['lipstick_color_1'] = 'cor do batom 1', + ['lipstick_color_2'] = 'cor do batom 2', + ['ear_accessories'] = 'acessórios de ouvido', + ['ear_accessories_color'] = 'cor dos acessórios de ouvido', + ['tshirt_1'] = 't-Shirt 1', + ['tshirt_2'] = 't-Shirt 2', + ['torso_1'] = 'casaco 1', + ['torso_2'] = 'casaco 2', + ['decals_1'] = 'autocolantes 1', + ['decals_2'] = 'autocolantes 2', + ['arms'] = 'braços', + ['arms_2'] = 'braços 2', + ['pants_1'] = 'calças 1', + ['pants_2'] = 'calças 2', + ['shoes_1'] = 'sapatos 1', + ['shoes_2'] = 'sapatos 2', + ['mask_1'] = 'máscara 1', + ['mask_2'] = 'máscara 2', + ['bproof_1'] = 'colete 1', + ['bproof_2'] = 'colete 2', + ['chain_1'] = 'colar 1', + ['chain_2'] = 'colar 2', + ['helmet_1'] = 'capacete 1', + ['helmet_2'] = 'capacete 2', + ['watches_1'] = 'relógio 1', + ['watches_2'] = 'relógio 2', + ['bracelets_1'] = 'pulseiras 1', + ['bracelets_2'] = 'pulseiras 2', + ['glasses_1'] = 'óculos 1', + ['glasses_2'] = 'óculos 2', + ['bag'] = 'mochila', + ['bag_color'] = 'cor da mochila', + ['blemishes'] = 'manchas', + ['blemishes_size'] = 'espessura de manchas', + ['ageing'] = 'envelhecimento', + ['ageing_1'] = 'espessura de envelhecimento', + ['blush'] = 'corar', + ['blush_1'] = 'espessura do blush', + ['blush_color'] = 'cor de blush', + ['complexion'] = 'aparência', + ['complexion_1'] = 'aparência 2', + ['sun'] = 'sol', + ['sun_1'] = 'espessura do sol', + ['freckles'] = 'sardas', + ['freckles_1'] = 'espessura das sardas', + ['chest_hair'] = 'pelos no peito', + ['chest_hair_1'] = 'espessura dos pelos do peito', + ['chest_color'] = 'cor dos pelos dos peitos', + ['bodyb'] = 'manchas no corpo', + ['bodyb_size'] = 'espessura das manchas no corpo', + ['bodyb_extra'] = 'extra das manchas no corpo', + ['bodyb_extra_thickness'] = 'cor do extra das manchas no corpo', + } diff --git a/[core]/skinchanger/locales/sl.lua b/[core]/skinchanger/locales/sl.lua new file mode 100644 index 00000000..301f7765 --- /dev/null +++ b/[core]/skinchanger/locales/sl.lua @@ -0,0 +1,100 @@ +Locales['sl'] = { + ['sex'] = 'Spol', + ['mom'] = 'mom\'s face', + ['dad'] = 'dad\'s face', + ['resemblance'] = 'resemblance', + ['skin_tone'] = 'skin tone', + ['nose_1'] = 'nose width', + ['nose_2'] = 'nose peak height', + ['nose_3'] = 'nose peak length', + ['nose_4'] = 'nose bone height', + ['nose_5'] = 'nose peak lowering', + ['nose_6'] = 'nose bone twist', + ['cheeks_1'] = 'cheekbones height', + ['cheeks_2'] = 'cheekbones width', + ['cheeks_3'] = 'cheeks width', + ['lip_fullness'] = 'lip fullness', + ['jaw_bone_width'] = 'jaw bone width', + ['jaw_bone_length'] = 'jaw bone length', + ['chin_height'] = 'chin height', + ['chin_length'] = 'chin length', + ['chin_width'] = 'chin width', + ['chin_hole'] = 'chin hole size', + ['neck_thickness'] = 'neck thickness', + ['wrinkles'] = 'wrinkles', + ['wrinkle_thickness'] = 'wrinkle thickness', + ['beard_type'] = 'beard type', + ['beard_size'] = 'beard size', + ['beard_color_1'] = 'beard color 1', + ['beard_color_2'] = 'beard color 2', + ['hair_1'] = 'hair 1', + ['hair_2'] = 'hair 2', + ['hair_color_1'] = 'hair color 1', + ['hair_color_2'] = 'hair color 2', + ['eye_color'] = 'eye color', + ['eye_squint'] = 'eye squint', + ['eyebrow_type'] = 'eyebrow type', + ['eyebrow_size'] = 'eyebrow size', + ['eyebrow_color_1'] = 'eyebrow color 1', + ['eyebrow_color_2'] = 'eyebrow color 2', + ['eyebrow_depth'] = 'eyebrow depth', + ['eyebrow_height'] = 'eyebrow height', + ['makeup_type'] = 'makeup type', + ['makeup_thickness'] = 'makeup thickness', + ['makeup_color_1'] = 'makeup color 1', + ['makeup_color_2'] = 'makeup color 2', + ['lipstick_type'] = 'lipstick type', + ['lipstick_thickness'] = 'lipstick thickness', + ['lipstick_color_1'] = 'lipstick color 1', + ['lipstick_color_2'] = 'lipstick color 2', + ['ear_accessories'] = 'ear accessories', + ['ear_accessories_color'] = 'ear accessories color', + ['tshirt_1'] = 't-Shirt 1', + ['tshirt_2'] = 't-Shirt 2', + ['torso_1'] = 'torso 1', + ['torso_2'] = 'torso 2', + ['decals_1'] = 'decals 1', + ['decals_2'] = 'decals 2', + ['arms'] = 'arms', + ['arms_2'] = 'arms 2', + ['pants_1'] = 'pants 1', + ['pants_2'] = 'pants 2', + ['shoes_1'] = 'shoes 1', + ['shoes_2'] = 'shoes 2', + ['mask_1'] = 'mask 1', + ['mask_2'] = 'mask 2', + ['bproof_1'] = 'bulletproof vest 1', + ['bproof_2'] = 'bulletproof vest 2', + ['chain_1'] = 'chain 1', + ['chain_2'] = 'chain 2', + ['helmet_1'] = 'helmet 1', + ['helmet_2'] = 'helmet 2', + ['watches_1'] = 'watches 1', + ['watches_2'] = 'watches 2', + ['bracelets_1'] = 'bracelets 1', + ['bracelets_2'] = 'bracelets 2', + ['glasses_1'] = 'glasses 1', + ['glasses_2'] = 'glasses 2', + ['bag'] = 'bag', + ['bag_color'] = 'bag color', + ['blemishes'] = 'blemishes', + ['blemishes_size'] = 'blemishes thickness', + ['ageing'] = 'ageing', + ['ageing_1'] = 'ageing thickness', + ['blush'] = 'blush', + ['blush_1'] = 'blush thickness', + ['blush_color'] = 'blush color', + ['complexion'] = 'complexion', + ['complexion_1'] = 'complexion thickness', + ['sun'] = 'sun', + ['sun_1'] = 'sun thickness', + ['freckles'] = 'freckles', + ['freckles_1'] = 'freckles thickness', + ['chest_hair'] = 'chest hair', + ['chest_hair_1'] = 'chest hair thickness', + ['chest_color'] = 'chest hair color', + ['bodyb'] = 'body blemishes', + ['bodyb_size'] = 'body blemishes thickness', + ['bodyb_extra'] = 'blemishes body effect', + ['bodyb_extra_thickness'] = 'blemishes body effect thickness', +} diff --git a/[core]/skinchanger/locales/sr.lua b/[core]/skinchanger/locales/sr.lua new file mode 100644 index 00000000..5e5fa438 --- /dev/null +++ b/[core]/skinchanger/locales/sr.lua @@ -0,0 +1,100 @@ +Locales['sr'] = { + ['sex'] = 'pol', + ['mom'] = 'mamina faca', + ['dad'] = 'tatina faca', + ['resemblance'] = 'sličnost', + ['skin_tone'] = 'ten', + ['nose_1'] = 'širina nosa', + ['nose_2'] = 'visina vrha nosa', + ['nose_3'] = 'dužina vrha nosa', + ['nose_4'] = 'visina nosne kosti', + ['nose_5'] = 'spuštanje vrha nosa', + ['nose_6'] = 'uvrtanje nosne kosti', + ['cheeks_1'] = 'visina jagodica', + ['cheeks_2'] = 'širina jagodica', + ['cheeks_3'] = 'širina obraza', + ['lip_fullness'] = 'punoća usana', + ['jaw_bone_width'] = 'širina kostiju vilice', + ['jaw_bone_length'] = 'dužina kostiju vilice', + ['chin_height'] = 'visina brade', + ['chin_length'] = 'dužina brade', + ['chin_width'] = 'širina brade', + ['chin_hole'] = 'veličina rupe za bradu', + ['neck_thickness'] = 'debljina vrata', + ['wrinkles'] = 'bore', + ['wrinkle_thickness'] = 'debljina bora', + ['beard_type'] = 'tip brade', + ['beard_size'] = 'veličina brade', + ['beard_color_1'] = 'boja brade 1', + ['beard_color_2'] = 'boja brade 2', + ['hair_1'] = 'kosa 1', + ['hair_2'] = 'kosa 2', + ['hair_color_1'] = 'boja kose 1', + ['hair_color_2'] = 'boja kose 2', + ['eye_color'] = 'boja očiju', + ['eye_squint'] = 'raširenost oka', + ['eyebrow_type'] = 'tip obrva', + ['eyebrow_size'] = 'veličina obrva', + ['eyebrow_color_1'] = 'boja obrva 1', + ['eyebrow_color_2'] = 'boja obrva 2', + ['eyebrow_depth'] = 'dubina obrva', + ['eyebrow_height'] = 'visina obrva', + ['makeup_type'] = 'šminka', + ['makeup_thickness'] = 'debljina šminke', + ['makeup_color_1'] = 'boja šminke 1', + ['makeup_color_2'] = 'boja šminke 2', + ['lipstick_type'] = 'tip karmina', + ['lipstick_thickness'] = 'debljina karmina', + ['lipstick_color_1'] = 'boja karmina 1', + ['lipstick_color_2'] = 'boja karmina 2', + ['ear_accessories'] = 'naušnice', + ['ear_accessories_color'] = 'boja naušnica', + ['tshirt_1'] = 'majica ', + ['tshirt_2'] = 'boja majice', + ['torso_1'] = 'gornjak', + ['torso_2'] = 'boja gornjaka', + ['decals_1'] = 'detalji', + ['decals_2'] = 'boja detalja', + ['arms'] = 'ruke', + ['arms_2'] = 'boja rukavica', + ['pants_1'] = 'pantalone', + ['pants_2'] = 'boja pantalona', + ['shoes_1'] = 'patike', + ['shoes_2'] = 'boja patika', + ['mask_1'] = 'maska', + ['mask_2'] = 'boja maske', + ['bproof_1'] = 'pancir', + ['bproof_2'] = 'boja pancira', + ['chain_1'] = 'lanac', + ['chain_2'] = 'boja lanca', + ['helmet_1'] = 'kaciga', + ['helmet_2'] = 'boja kacige', + ['watches_1'] = 'sat', + ['watches_2'] = 'boja sata', + ['bracelets_1'] = 'narukvice', + ['bracelets_2'] = 'boja narukvice', + ['glasses_1'] = 'naočare', + ['glasses_2'] = 'boja naočara', + ['bag'] = 'torba', + ['bag_color'] = 'boja torbe', + ['blemishes'] = 'mrlje', + ['blemishes_size'] = 'debljina mrlja', + ['ageing'] = 'starenje', + ['ageing_1'] = 'debljina starenja', + ['blush'] = 'rumenilo', + ['blush_1'] = 'debljina rumenila', + ['blush_color'] = 'boja rumenila', + ['complexion'] = 'ten', + ['complexion_1'] = 'debljina tena', + ['sun'] = 'sunce', + ['sun_1'] = 'debljina sunca', + ['freckles'] = 'pege', + ['freckles_1'] = 'debljina pega', + ['chest_hair'] = 'dlake na grudima', + ['chest_hair_1'] = 'debljina dlaka na grudima', + ['chest_color'] = 'boja dlaka na grudima', + ['bodyb'] = 'mrlje na telu', + ['bodyb_size'] = 'debljina mrlja na telu', + ['bodyb_extra'] = 'efekat mrlja na telu', + ['bodyb_extra_thickness'] = 'mrlje telo efekat debljine', +} diff --git a/[core]/skinchanger/locales/sv.lua b/[core]/skinchanger/locales/sv.lua deleted file mode 100644 index 651e47d2..00000000 --- a/[core]/skinchanger/locales/sv.lua +++ /dev/null @@ -1,100 +0,0 @@ -Locales['sv'] = { - ['sex'] = 'Kön', - ['mom'] = 'Mammas ansikte', - ['dad'] = 'Pappas ansikte', - ['resemblance'] = 'Likhet', - ['skin_tone'] = 'Hudton', - ['nose_1'] = 'Näsvidd', - ['nose_2'] = 'Nästoppshöjd', - ['nose_3'] = 'Nästoppslängd', - ['nose_4'] = 'Näsbenshöjd', - ['nose_5'] = 'Nästoppssänkning', - ['nose_6'] = 'Näsbensvridning', - ['cheeks_1'] = 'Kindbens höjd', - ['cheeks_2'] = 'Kindbens bredd', - ['cheeks_3'] = 'Kinder bredd', - ['lip_fullness'] = 'Läppfullhet', - ['jaw_bone_width'] = 'Käkbensbredd', - ['jaw_bone_length'] = 'Käkbenslängd', - ['chin_height'] = 'Hakhöjd', - ['chin_length'] = 'Haklängd', - ['chin_width'] = 'Hakbredd', - ['chin_hole'] = 'Hakhålsstorlek', - ['neck_thickness'] = 'Halstjocklek', - ['wrinkles'] = 'Rynkor', - ['wrinkle_thickness'] = 'Rynktjocklek', - ['beard_type'] = 'Skägg typ', - ['beard_size'] = 'Skäggstorlek', - ['beard_color_1'] = 'Skäggfärg 1', - ['beard_color_2'] = 'Skäggfärg 2', - ['hair_1'] = 'Hår 1', - ['hair_2'] = 'Hår 2', - ['hair_color_1'] = 'Hårfärg 1', - ['hair_color_2'] = 'Hårfärg 1', - ['eye_color'] = 'Ögonfärg', - ['eye_squint'] = 'Ögonkisning', - ['eyebrow_type'] = 'Ögonbrynstyp', - ['eyebrow_size'] = 'Storlek på ögonbrynen', - ['eyebrow_color_1'] = 'Ögonbrynsfärg 1', - ['eyebrow_color_2'] = 'Ögonbrynsfärg 2', - ['eyebrow_depth'] = 'Ögonbryns djup', - ['eyebrow_height'] = 'Ögonbrynshöjd', - ['makeup_type'] = 'Typ av smink', - ['makeup_thickness'] = 'Sminktjocklek', - ['makeup_color_1'] = 'Sminkfärg 1', - ['makeup_color_2'] = 'Sminkfärg 2', - ['lipstick_type'] = 'Läppstiftstyp', - ['lipstick_thickness'] = 'Läppstift tjocklek', - ['lipstick_color_1'] = 'Läppstiftsfärg 1', - ['lipstick_color_2'] = 'Läppstiftsfärg 2', - ['ear_accessories'] = 'Örontillbehör', - ['ear_accessories_color'] = 'Örontillbehör färg', - ['tshirt_1'] = 'T-Shirt 1', - ['tshirt_2'] = 'T-Shirt 2', - ['torso_1'] = 'Kropp 1', - ['torso_2'] = 'Kropp 2', - ['decals_1'] = 'Dekaler 1', - ['decals_2'] = 'Dekaler 2', - ['arms'] = 'Armar', - ['arms_2'] = 'Armar 2', - ['pants_1'] = 'Byxor 1', - ['pants_2'] = 'Byxor 2', - ['shoes_1'] = 'Skor 1', - ['shoes_2'] = 'Skor 2', - ['mask_1'] = 'Mask 1', - ['mask_2'] = 'Mask 2', - ['bproof_1'] = 'Skottsäker väst 1', - ['bproof_2'] = 'Skottsäker väst 2', - ['chain_1'] = 'Kedja 1', - ['chain_2'] = 'kedja 2', - ['helmet_1'] = 'Hjälm 1', - ['helmet_2'] = 'Hjälm 2', - ['watches_1'] = 'Klockor 1', - ['watches_2'] = 'Klockor 2', - ['bracelets_1'] = 'Armband 1', - ['bracelets_2'] = 'Armband 2', - ['glasses_1'] = 'Glasögon 1', - ['glasses_2'] = 'Glasögon 2', - ['bag'] = 'Väska', - ['bag_color'] = 'Väsk färg', - ['blemishes'] = 'Fläckar', - ['blemishes_size'] = 'Fläckar tjocklek', - ['ageing'] = 'Åldrande', - ['ageing_1'] = 'Åldrande tjocklek', - ['blush'] = 'Rouge', - ['blush_1'] = 'Rouge tjocklek', - ['blush_color'] = 'Rouge färg', - ['complexion'] = 'Hy', - ['complexion_1'] = 'Hy tjocklek', - ['sun'] = 'Sol', - ['sun_1'] = 'Soltjocklek', - ['freckles'] = 'Fräknar', - ['freckles_1'] = 'Fräknar tjocklek', - ['chest_hair'] = 'Brösthår', - ['chest_hair_1'] = 'Brösthårets tjocklek', - ['chest_color'] = 'Hårfärg på bröstet', - ['bodyb'] = 'Kroppsfläckar', - ['bodyb_size'] = 'Kroppsfläckar tjocklek', - ['bodyb_extra'] = 'Fläckar kroppseffekt', - ['bodyb_extra_thickness'] = 'Fläckar kroppseffekt tjocklek', -} \ No newline at end of file diff --git a/[core]/skinchanger/locales/tr.lua b/[core]/skinchanger/locales/tr.lua deleted file mode 100644 index cec054f7..00000000 --- a/[core]/skinchanger/locales/tr.lua +++ /dev/null @@ -1,76 +0,0 @@ -Locales['tr'] = { - ['sex'] = 'cinsiyet', - ['face'] = 'yüz', - ['skin'] = 'deri', - ['wrinkles'] = 'kırışıklıklar', - ['wrinkle_thickness'] = 'kırışıklık yoğunluğu', - ['beard_type'] = 'sakal tipi', - ['beard_size'] = 'sakal boyutu', - ['beard_color_1'] = 'sakal rengi 1', - ['beard_color_2'] = 'sakal rengi 2', - ['hair_1'] = 'saç 1', - ['hair_2'] = 'saç 2', - ['hair_color_1'] = 'saç rengi 1', - ['hair_color_2'] = 'saç rengi 2', - ['eye_color'] = 'göz rengi', - ['eyebrow_type'] = 'kaş tipi', - ['eyebrow_size'] = 'kaş boyutu', - ['eyebrow_color_1'] = 'kaş rengi 1', - ['eyebrow_color_2'] = 'Kaş Rengi 2', - ['makeup_type'] = 'makyaj tipi', - ['makeup_thickness'] = 'makyaj kalınlığı', - ['makeup_color_1'] = 'makyaj rengi 1', - ['makeup_color_2'] = 'makyaj rengi 2', - ['lipstick_type'] = 'ruj tipi', - ['lipstick_thickness'] = 'ruj kalınlığı', - ['lipstick_color_1'] = 'ruj rengi 1', - ['lipstick_color_2'] = 'ruj rengi 2', - ['ear_accessories'] = 'kulak aksessuarları', - ['ear_accessories_color'] = 'kulak aksessuar rengi', - ['tshirt_1'] = 'tişört 1', - ['tshirt_2'] = 'tişört 2', - ['torso_1'] = 'gövde 1', - ['torso_2'] = 'gövde 2', - ['decals_1'] = 'çıkartma 1', - ['decals_2'] = 'çıkartma 2', - ['arms'] = 'kollar', - ['arms_2'] = 'kollar 2', - ['pants_1'] = 'pantolonlar 1', - ['pants_2'] = 'pantolonlar 2', - ['shoes_1'] = 'ayakkabılar 1', - ['shoes_2'] = 'ayakkabılar 2', - ['mask_1'] = 'maske 1', - ['mask_2'] = 'maske 2', - ['bproof_1'] = 'zırh 1', - ['bproof_2'] = 'zırh 2', - ['chain_1'] = 'zincir 1', - ['chain_2'] = 'zincir 2', - ['helmet_1'] = 'kask 1', - ['helmet_2'] = 'kask 2', - ['watches_1'] = 'saat 1', - ['watches_2'] = 'saat 2', - ['bracelets_1'] = 'takı 1', - ['bracelets_2'] = 'takı 2', - ['glasses_1'] = 'gözlük 1', - ['glasses_2'] = 'gözlük 2', - ['bag'] = 'çanta', - ['bag_color'] = 'çanta rengi', - ['blemishes'] = 'leke', - ['blemishes_size']= 'leke kalınlığı', - ['ageing'] = 'yaşlanma', - ['ageing_1'] = 'yaşlanma kalınlığı', - ['blush'] = 'kızarıklık', - ['blush_1'] = 'kızarıklık kalınlığı', - ['blush_color'] = 'kızarıklık rengi', - ['complexion'] = 'ten', - ['complexion_1'] = 'ten Kalınlığı', - ['sun'] = 'yanık', - ['sun_1'] = 'yanık kalınlığı', - ['freckles'] = 'çiller', - ['freckles_1'] = 'çil kalınlığı', - ['chest_hair'] = 'gövde kılı', - ['chest_hair_1'] = 'gövde kılı kalınlığı', - ['chest_color'] = 'gövde kılı rengi', - ['bodyb'] = 'gövde lekesi', - ['bodyb_size'] = 'gövde lekesi kalınlığı', -}