Breaking changes: implemented global weight inventory system, read description before updating!

- Fixed #256
- Implements #173

__NO OFFICIAL ESX SCRIPT WILL WORK WITH THIS AT THE MOMENT__

This commit will break your entire ESX if you dont use the new SQL format, follow the new one if you want it all to work properly.

Scripts using `item.limit` will break too, instead use `xPlayer.canCarryItem(item, count)`
This commit is contained in:
ElPumpo
2019-10-13 20:56:09 +02:00
parent 130df3f18f
commit 145f8ebe75
16 changed files with 723 additions and 967 deletions
+226 -265
View File
@@ -157,14 +157,14 @@ ESX.UI.Menu.Open = function(type, namespace, name, data, submit, cancel, change,
ESX.UI.Menu.RegisteredTypes[type].close(namespace, name)
for i=1, #ESX.UI.Menu.Opened, 1 do
if ESX.UI.Menu.Opened[i] ~= nil then
if ESX.UI.Menu.Opened[i] then
if ESX.UI.Menu.Opened[i].type == type and ESX.UI.Menu.Opened[i].namespace == namespace and ESX.UI.Menu.Opened[i].name == name then
ESX.UI.Menu.Opened[i] = nil
end
end
end
if close ~= nil then
if close then
close()
end
@@ -224,7 +224,7 @@ end
ESX.UI.Menu.Close = function(type, namespace, name)
for i=1, #ESX.UI.Menu.Opened, 1 do
if ESX.UI.Menu.Opened[i] ~= nil then
if ESX.UI.Menu.Opened[i] then
if ESX.UI.Menu.Opened[i].type == type and ESX.UI.Menu.Opened[i].namespace == namespace and ESX.UI.Menu.Opened[i].name == name then
ESX.UI.Menu.Opened[i].close()
ESX.UI.Menu.Opened[i] = nil
@@ -235,7 +235,7 @@ end
ESX.UI.Menu.CloseAll = function()
for i=1, #ESX.UI.Menu.Opened, 1 do
if ESX.UI.Menu.Opened[i] ~= nil then
if ESX.UI.Menu.Opened[i] then
ESX.UI.Menu.Opened[i].close()
ESX.UI.Menu.Opened[i] = nil
end
@@ -244,7 +244,7 @@ end
ESX.UI.Menu.GetOpened = function(type, namespace, name)
for i=1, #ESX.UI.Menu.Opened, 1 do
if ESX.UI.Menu.Opened[i] ~= nil then
if ESX.UI.Menu.Opened[i] then
if ESX.UI.Menu.Opened[i].type == type and ESX.UI.Menu.Opened[i].namespace == namespace and ESX.UI.Menu.Opened[i].name == name then
return ESX.UI.Menu.Opened[i]
end
@@ -289,7 +289,7 @@ ESX.Game.Teleport = function(entity, coords, cb)
SetEntityCoords(entity, coords.x, coords.y, coords.z)
if cb ~= nil then
if cb then
cb()
end
end
@@ -302,7 +302,7 @@ ESX.Game.SpawnObject = function(model, coords, cb)
local obj = CreateObject(model, coords.x, coords.y, coords.z, true, false, true)
if cb ~= nil then
if cb then
cb(obj)
end
end)
@@ -316,7 +316,7 @@ ESX.Game.SpawnLocalObject = function(model, coords, cb)
local obj = CreateObject(model, coords.x, coords.y, coords.z, false, false, true)
if cb ~= nil then
if cb then
cb(obj)
end
end)
@@ -356,7 +356,7 @@ ESX.Game.SpawnVehicle = function(modelName, coords, heading, cb)
SetVehRadioStation(vehicle, 'OFF')
if cb ~= nil then
if cb then
cb(vehicle)
end
end)
@@ -383,7 +383,7 @@ ESX.Game.SpawnLocalVehicle = function(modelName, coords, heading, cb)
SetVehRadioStation(vehicle, 'OFF')
if cb ~= nil then
if cb then
cb(vehicle)
end
end)
@@ -407,11 +407,9 @@ ESX.Game.GetObjects = function()
end
ESX.Game.GetClosestObject = function(filter, coords)
local objects = ESX.Game.GetObjects()
local closestDistance = -1
local closestObject = -1
local filter = filter
local coords = coords
local objects = ESX.Game.GetObjects()
local closestDistance, closestObject = -1, -1
local filter, coords = filter, coords
if type(filter) == 'string' then
if filter ~= '' then
@@ -419,9 +417,11 @@ ESX.Game.GetClosestObject = function(filter, coords)
end
end
if coords == nil then
if coords then
coords = vector3(coords.x, coords.y, coords.z)
else
local playerPed = PlayerPedId()
coords = GetEntityCoords(playerPed)
coords = GetEntityCoords(playerPed)
end
for i=1, #objects, 1 do
@@ -435,16 +435,17 @@ ESX.Game.GetClosestObject = function(filter, coords)
for j=1, #filter, 1 do
if objectModel == GetHashKey(filter[j]) then
foundObject = true
break
end
end
end
if foundObject then
local objectCoords = GetEntityCoords(objects[i])
local distance = GetDistanceBetweenCoords(objectCoords, coords.x, coords.y, coords.z, true)
local distance = #(objectCoords - coords)
if closestDistance == -1 or closestDistance > distance then
closestObject = objects[i]
closestObject = objects[i]
closestDistance = distance
end
end
@@ -468,17 +469,15 @@ ESX.Game.GetPlayers = function()
end
ESX.Game.GetClosestPlayer = function(coords)
local players = ESX.Game.GetPlayers()
local closestDistance = -1
local closestPlayer = -1
local coords = coords
local usePlayerPed = false
local playerPed = PlayerPedId()
local playerId = PlayerId()
local players, closestDistance, closestPlayer = ESX.Game.GetPlayers(), -1, -1
local coords, usePlayerPed = coords, false
local playerPed, playerId = PlayerPedId(), PlayerId()
if coords == nil then
if coords then
coords = vector3(coords.x, coords.y, coords.z)
else
usePlayerPed = true
coords = GetEntityCoords(playerPed)
coords = GetEntityCoords(playerPed)
end
for i=1, #players, 1 do
@@ -486,10 +485,10 @@ ESX.Game.GetClosestPlayer = function(coords)
if not usePlayerPed or (usePlayerPed and players[i] ~= playerId) then
local targetCoords = GetEntityCoords(target)
local distance = GetDistanceBetweenCoords(targetCoords, coords.x, coords.y, coords.z, true)
local distance = #(coords - targetCoords)
if closestDistance == -1 or closestDistance > distance then
closestPlayer = players[i]
closestPlayer = players[i]
closestDistance = distance
end
end
@@ -724,66 +723,66 @@ end
ESX.Game.SetVehicleProperties = function(vehicle, props)
SetVehicleModKit(vehicle, 0)
if props.plate ~= nil then
if props.plate then
SetVehicleNumberPlateText(vehicle, props.plate)
end
if props.plateIndex ~= nil then
if props.plateIndex then
SetVehicleNumberPlateTextIndex(vehicle, props.plateIndex)
end
if props.bodyHealth ~= nil then
if props.bodyHealth then
SetVehicleBodyHealth(vehicle, props.bodyHealth + 0.0)
end
if props.engineHealth ~= nil then
if props.engineHealth then
SetVehicleEngineHealth(vehicle, props.engineHealth + 0.0)
end
if props.fuelLevel ~= nil then
if props.fuelLevel then
SetVehicleFuelLevel(vehicle, props.fuelLevel + 0.0)
end
if props.dirtLevel ~= nil then
if props.dirtLevel then
SetVehicleDirtLevel(vehicle, props.dirtLevel + 0.0)
end
if props.color1 ~= nil then
if props.color1 then
local color1, color2 = GetVehicleColours(vehicle)
SetVehicleColours(vehicle, props.color1, color2)
end
if props.color2 ~= nil then
if props.color2 then
local color1, color2 = GetVehicleColours(vehicle)
SetVehicleColours(vehicle, color1, props.color2)
end
if props.pearlescentColor ~= nil then
if props.pearlescentColor then
local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle)
SetVehicleExtraColours(vehicle, props.pearlescentColor, wheelColor)
end
if props.wheelColor ~= nil then
if props.wheelColor then
local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle)
SetVehicleExtraColours(vehicle, pearlescentColor, props.wheelColor)
end
if props.wheels ~= nil then
if props.wheels then
SetVehicleWheelType(vehicle, props.wheels)
end
if props.windowTint ~= nil then
if props.windowTint then
SetVehicleWindowTint(vehicle, props.windowTint)
end
if props.neonEnabled ~= nil then
if props.neonEnabled then
SetVehicleNeonLightEnabled(vehicle, 0, props.neonEnabled[1])
SetVehicleNeonLightEnabled(vehicle, 1, props.neonEnabled[2])
SetVehicleNeonLightEnabled(vehicle, 2, props.neonEnabled[3])
SetVehicleNeonLightEnabled(vehicle, 3, props.neonEnabled[4])
end
if props.extras ~= nil then
if props.extras then
for id,enabled in pairs(props.extras) do
if enabled then
SetVehicleExtra(vehicle, tonumber(id), 0)
@@ -793,191 +792,191 @@ ESX.Game.SetVehicleProperties = function(vehicle, props)
end
end
if props.neonColor ~= nil then
if props.neonColor then
SetVehicleNeonLightsColour(vehicle, props.neonColor[1], props.neonColor[2], props.neonColor[3])
end
if props.modSmokeEnabled ~= nil then
if props.modSmokeEnabled then
ToggleVehicleMod(vehicle, 20, true)
end
if props.tyreSmokeColor ~= nil then
if props.tyreSmokeColor then
SetVehicleTyreSmokeColor(vehicle, props.tyreSmokeColor[1], props.tyreSmokeColor[2], props.tyreSmokeColor[3])
end
if props.modSpoilers ~= nil then
if props.modSpoilers then
SetVehicleMod(vehicle, 0, props.modSpoilers, false)
end
if props.modFrontBumper ~= nil then
if props.modFrontBumper then
SetVehicleMod(vehicle, 1, props.modFrontBumper, false)
end
if props.modRearBumper ~= nil then
if props.modRearBumper then
SetVehicleMod(vehicle, 2, props.modRearBumper, false)
end
if props.modSideSkirt ~= nil then
if props.modSideSkirt then
SetVehicleMod(vehicle, 3, props.modSideSkirt, false)
end
if props.modExhaust ~= nil then
if props.modExhaust then
SetVehicleMod(vehicle, 4, props.modExhaust, false)
end
if props.modFrame ~= nil then
if props.modFrame then
SetVehicleMod(vehicle, 5, props.modFrame, false)
end
if props.modGrille ~= nil then
if props.modGrille then
SetVehicleMod(vehicle, 6, props.modGrille, false)
end
if props.modHood ~= nil then
if props.modHood then
SetVehicleMod(vehicle, 7, props.modHood, false)
end
if props.modFender ~= nil then
if props.modFender then
SetVehicleMod(vehicle, 8, props.modFender, false)
end
if props.modRightFender ~= nil then
if props.modRightFender then
SetVehicleMod(vehicle, 9, props.modRightFender, false)
end
if props.modRoof ~= nil then
if props.modRoof then
SetVehicleMod(vehicle, 10, props.modRoof, false)
end
if props.modEngine ~= nil then
if props.modEngine then
SetVehicleMod(vehicle, 11, props.modEngine, false)
end
if props.modBrakes ~= nil then
if props.modBrakes then
SetVehicleMod(vehicle, 12, props.modBrakes, false)
end
if props.modTransmission ~= nil then
if props.modTransmission then
SetVehicleMod(vehicle, 13, props.modTransmission, false)
end
if props.modHorns ~= nil then
if props.modHorns then
SetVehicleMod(vehicle, 14, props.modHorns, false)
end
if props.modSuspension ~= nil then
if props.modSuspension then
SetVehicleMod(vehicle, 15, props.modSuspension, false)
end
if props.modArmor ~= nil then
if props.modArmor then
SetVehicleMod(vehicle, 16, props.modArmor, false)
end
if props.modTurbo ~= nil then
if props.modTurbo then
ToggleVehicleMod(vehicle, 18, props.modTurbo)
end
if props.modXenon ~= nil then
if props.modXenon then
ToggleVehicleMod(vehicle, 22, props.modXenon)
end
if props.modFrontWheels ~= nil then
if props.modFrontWheels then
SetVehicleMod(vehicle, 23, props.modFrontWheels, false)
end
if props.modBackWheels ~= nil then
if props.modBackWheels then
SetVehicleMod(vehicle, 24, props.modBackWheels, false)
end
if props.modPlateHolder ~= nil then
if props.modPlateHolder then
SetVehicleMod(vehicle, 25, props.modPlateHolder, false)
end
if props.modVanityPlate ~= nil then
if props.modVanityPlate then
SetVehicleMod(vehicle, 26, props.modVanityPlate, false)
end
if props.modTrimA ~= nil then
if props.modTrimA then
SetVehicleMod(vehicle, 27, props.modTrimA, false)
end
if props.modOrnaments ~= nil then
if props.modOrnaments then
SetVehicleMod(vehicle, 28, props.modOrnaments, false)
end
if props.modDashboard ~= nil then
if props.modDashboard then
SetVehicleMod(vehicle, 29, props.modDashboard, false)
end
if props.modDial ~= nil then
if props.modDial then
SetVehicleMod(vehicle, 30, props.modDial, false)
end
if props.modDoorSpeaker ~= nil then
if props.modDoorSpeaker then
SetVehicleMod(vehicle, 31, props.modDoorSpeaker, false)
end
if props.modSeats ~= nil then
if props.modSeats then
SetVehicleMod(vehicle, 32, props.modSeats, false)
end
if props.modSteeringWheel ~= nil then
if props.modSteeringWheel then
SetVehicleMod(vehicle, 33, props.modSteeringWheel, false)
end
if props.modShifterLeavers ~= nil then
if props.modShifterLeavers then
SetVehicleMod(vehicle, 34, props.modShifterLeavers, false)
end
if props.modAPlate ~= nil then
if props.modAPlate then
SetVehicleMod(vehicle, 35, props.modAPlate, false)
end
if props.modSpeakers ~= nil then
if props.modSpeakers then
SetVehicleMod(vehicle, 36, props.modSpeakers, false)
end
if props.modTrunk ~= nil then
if props.modTrunk then
SetVehicleMod(vehicle, 37, props.modTrunk, false)
end
if props.modHydrolic ~= nil then
if props.modHydrolic then
SetVehicleMod(vehicle, 38, props.modHydrolic, false)
end
if props.modEngineBlock ~= nil then
if props.modEngineBlock then
SetVehicleMod(vehicle, 39, props.modEngineBlock, false)
end
if props.modAirFilter ~= nil then
if props.modAirFilter then
SetVehicleMod(vehicle, 40, props.modAirFilter, false)
end
if props.modStruts ~= nil then
if props.modStruts then
SetVehicleMod(vehicle, 41, props.modStruts, false)
end
if props.modArchCover ~= nil then
if props.modArchCover then
SetVehicleMod(vehicle, 42, props.modArchCover, false)
end
if props.modAerials ~= nil then
if props.modAerials then
SetVehicleMod(vehicle, 43, props.modAerials, false)
end
if props.modTrimB ~= nil then
if props.modTrimB then
SetVehicleMod(vehicle, 44, props.modTrimB, false)
end
if props.modTank ~= nil then
if props.modTank then
SetVehicleMod(vehicle, 45, props.modTank, false)
end
if props.modWindows ~= nil then
if props.modWindows then
SetVehicleMod(vehicle, 46, props.modWindows, false)
end
if props.modLivery ~= nil then
if props.modLivery then
SetVehicleMod(vehicle, 48, props.modLivery, false)
SetVehicleLivery(vehicle, props.modLivery)
end
@@ -1013,7 +1012,7 @@ end
ESX.ShowInventory = function()
local playerPed = PlayerPedId()
local elements = {}
local elements, currentWeight = {}, 0
if ESX.PlayerData.money > 0 then
local formattedMoney = _U('locale_currency', ESX.Math.GroupDigits(ESX.PlayerData.money))
@@ -1029,16 +1028,16 @@ ESX.ShowInventory = function()
})
end
for i=1, #ESX.PlayerData.accounts, 1 do
if ESX.PlayerData.accounts[i].money > 0 then
local formattedMoney = _U('locale_currency', ESX.Math.GroupDigits(ESX.PlayerData.accounts[i].money))
local canDrop = ESX.PlayerData.accounts[i].name ~= 'bank'
for k,v in pairs(ESX.PlayerData.accounts) do
if v.money > 0 then
local formattedMoney = _U('locale_currency', ESX.Math.GroupDigits(v.money))
local canDrop = v.name ~= 'bank'
table.insert(elements, {
label = ('%s: <span style="color:green;">%s</span>'):format(ESX.PlayerData.accounts[i].label, formattedMoney),
count = ESX.PlayerData.accounts[i].money,
label = ('%s: <span style="color:green;">%s</span>'):format(v.label, formattedMoney),
count = v.money,
type = 'item_account',
value = ESX.PlayerData.accounts[i].name,
value = v.name,
usable = false,
rare = false,
canRemove = canDrop
@@ -1046,30 +1045,32 @@ ESX.ShowInventory = function()
end
end
for i=1, #ESX.PlayerData.inventory, 1 do
if ESX.PlayerData.inventory[i].count > 0 then
for k,v in ipairs(ESX.PlayerData.inventory) do
if v.count > 0 then
currentWeight = currentWeight + (v.weight * v.count)
table.insert(elements, {
label = ESX.PlayerData.inventory[i].label .. ' x' .. ESX.PlayerData.inventory[i].count,
count = ESX.PlayerData.inventory[i].count,
label = ('%s x%s'):format(v.label, v.count),
count = v.count,
type = 'item_standard',
value = ESX.PlayerData.inventory[i].name,
usable = ESX.PlayerData.inventory[i].usable,
rare = ESX.PlayerData.inventory[i].rare,
canRemove = ESX.PlayerData.inventory[i].canRemove
value = v.name,
usable = v.usable,
rare = v.rare,
canRemove = v.canRemove
})
end
end
for i=1, #Config.Weapons, 1 do
local weaponHash = GetHashKey(Config.Weapons[i].name)
for k,v in ipairs(Config.Weapons) do
local weaponHash = GetHashKey(v.name)
if HasPedGotWeapon(playerPed, weaponHash, false) and Config.Weapons[i].name ~= 'WEAPON_UNARMED' then
if HasPedGotWeapon(playerPed, weaponHash, false) then
local ammo = GetAmmoInPedWeapon(playerPed, weaponHash)
table.insert(elements, {
label = Config.Weapons[i].label .. ' [' .. ammo .. ']',
label = ('%s [%s]'):format(v.label, ammo),
count = 1,
type = 'item_weapon',
value = Config.Weapons[i].name,
value = v.name,
ammo = ammo,
usable = false,
rare = false,
@@ -1080,14 +1081,12 @@ ESX.ShowInventory = function()
ESX.UI.Menu.CloseAll()
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'inventory',
{
title = _U('inventory'),
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'inventory', {
title = _U('inventory', currentWeight, ESX.PlayerData.maxWeight),
align = 'bottom-right',
elements = elements,
elements = elements
}, function(data, menu)
menu.close()
local player, distance = ESX.Game.GetClosestPlayer()
local elements = {}
@@ -1104,207 +1103,169 @@ ESX.ShowInventory = function()
end
if data.current.type == 'item_weapon' and data.current.ammo > 0 and player ~= -1 and distance <= 3.0 then
table.insert(elements, {label = _U('giveammo'), action = 'giveammo', type = data.current.type, value = data.current.value})
table.insert(elements, {label = _U('giveammo'), action = 'give_ammo', type = data.current.type, value = data.current.value})
end
table.insert(elements, {label = _U('return'), action = 'return'})
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'inventory_item',
{
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'inventory_item', {
title = data.current.label,
align = 'bottom-right',
elements = elements,
}, function(data1, menu1)
local item = data1.current.value
local type = data1.current.type
local playerPed = PlayerPedId()
if data1.current.action == 'give' then
local playersInArea = ESX.Game.GetPlayersInArea(GetEntityCoords(playerPed), 3.0)
local foundPlayers, elements = false, {}
local players = ESX.Game.GetPlayersInArea(GetEntityCoords(playerPed), 3.0)
local foundPlayers = false
local elements = {}
for i=1, #players, 1 do
if players[i] ~= PlayerId() then
for k,v in ipairs(playersInArea) do
if v ~= PlayerId() then
foundPlayers = true
table.insert(elements, {
label = GetPlayerName(players[i]),
player = players[i]
label = GetPlayerName(v),
player = v
})
end
end
if not foundPlayers then
if foundPlayers then
foundPlayers = false
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'give_item_to', {
title = _U('give_to'),
align = 'bottom-right',
elements = elements
}, function(data2, menu2)
local playersInArea, nearbyPlayer = ESX.Game.GetPlayersInArea(GetEntityCoords(playerPed), 3.0)
for k,v in ipairs(playersInArea) do
if v ~= PlayerId() then
if v == data2.current.player then
foundPlayers = true
nearbyPlayer = v
break
end
end
end
if foundPlayers then
if type == 'item_weapon' then
local closestPed = GetPlayerPed(nearbyPlayer)
local sourceAmmo = GetAmmoInPedWeapon(playerPed, GetHashKey(item))
if IsPedOnFoot(closestPed) then
TriggerServerEvent('esx:giveInventoryItem', GetPlayerServerId(nearbyPlayer), type, item, sourceAmmo)
menu2.close()
menu1.close()
else
ESX.ShowNotification(_U('in_vehicle'))
end
else
ESX.UI.Menu.Open('dialog', GetCurrentResourceName(), 'inventory_item_count_give', {
title = _U('amount')
}, function(data3, menu3)
local quantity = tonumber(data3.value)
local closestPed = GetPlayerPed(nearbyPlayer)
if IsPedOnFoot(closestPed) then
if quantity then
TriggerServerEvent('esx:giveInventoryItem', GetPlayerServerId(nearbyPlayer), type, item, quantity)
menu3.close()
menu2.close()
menu1.close()
else
ESX.ShowNotification(_U('amount_invalid'))
end
else
ESX.ShowNotification(_U('in_vehicle'))
end
end, function(data3, menu3)
menu3.close()
end)
end
else
ESX.ShowNotification(_U('players_nearby'))
menu2.close()
end
end, function(data2, menu2)
menu2.close()
end) -- give end
else
ESX.ShowNotification(_U('players_nearby'))
return
end
foundPlayers = false
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'give_item_to',
{
title = _U('give_to'),
align = 'bottom-right',
elements = elements
}, function(data2, menu2)
local players, nearbyPlayer = ESX.Game.GetPlayersInArea(GetEntityCoords(playerPed), 3.0)
for i=1, #players, 1 do
if players[i] ~= PlayerId() then
if players[i] == data2.current.player then
foundPlayers = true
nearbyPlayer = players[i]
break
end
end
end
if not foundPlayers then
ESX.ShowNotification(_U('players_nearby'))
menu2.close()
return
end
elseif data1.current.action == 'remove' then
if IsPedOnFoot(playerPed) then
if type == 'item_weapon' then
local closestPed = GetPlayerPed(nearbyPlayer)
local sourceAmmo = GetAmmoInPedWeapon(PlayerPedId(), GetHashKey(item))
if IsPedSittingInAnyVehicle(closestPed) then
ESX.ShowNotification(_U('in_vehicle'))
return
end
TriggerServerEvent('esx:giveInventoryItem', GetPlayerServerId(nearbyPlayer), type, item, sourceAmmo)
menu2.close()
TriggerServerEvent('esx:removeInventoryItem', type, item)
menu1.close()
else
ESX.UI.Menu.Open('dialog', GetCurrentResourceName(), 'inventory_item_count_give', {
else -- type: item_standard
ESX.UI.Menu.Open('dialog', GetCurrentResourceName(), 'inventory_item_count_remove', {
title = _U('amount')
}, function(data3, menu3)
local quantity = tonumber(data3.value)
local closestPed = GetPlayerPed(nearbyPlayer)
if IsPedSittingInAnyVehicle(closestPed) then
ESX.ShowNotification(_U('in_vehicle'))
return
end
if quantity ~= nil then
TriggerServerEvent('esx:giveInventoryItem', GetPlayerServerId(nearbyPlayer), type, item, quantity)
menu3.close()
}, function(data2, menu2)
local quantity = tonumber(data2.value)
if quantity then
TriggerServerEvent('esx:removeInventoryItem', type, item, quantity)
menu2.close()
menu1.close()
else
ESX.ShowNotification(_U('amount_invalid'))
end
end, function(data3, menu3)
menu3.close()
end, function(data2, menu2)
menu2.close()
end)
end
end, function(data2, menu2)
menu2.close()
end) -- give end
elseif data1.current.action == 'remove' then
if IsPedSittingInAnyVehicle(playerPed) then
return
end
if type == 'item_weapon' then
TriggerServerEvent('esx:removeInventoryItem', type, item)
menu1.close()
else -- type: item_standard
ESX.UI.Menu.Open('dialog', GetCurrentResourceName(), 'inventory_item_count_remove', {
title = _U('amount')
}, function(data2, menu2)
local quantity = tonumber(data2.value)
if quantity == nil then
ESX.ShowNotification(_U('amount_invalid'))
else
TriggerServerEvent('esx:removeInventoryItem', type, item, quantity)
menu2.close()
menu1.close()
end
end, function(data2, menu2)
menu2.close()
end)
end
elseif data1.current.action == 'use' then
TriggerServerEvent('esx:useItem', item)
elseif data1.current.action == 'return' then
ESX.UI.Menu.CloseAll()
ESX.ShowInventory()
elseif data1.current.action == 'giveammo' then
elseif data1.current.action == 'give_ammo' then
local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
local closestPed = GetPlayerPed(closestPlayer)
local pedAmmo = GetAmmoInPedWeapon(playerPed, GetHashKey(item))
if IsPedSittingInAnyVehicle(closestPed) then
ESX.ShowNotification(_U('in_vehicle'))
return
end
if closestPlayer ~= -1 and closestDistance < 3.0 then
if pedAmmo > 0 then
ESX.UI.Menu.Open('dialog', GetCurrentResourceName(), 'inventory_item_count_give', {
title = _U('amountammo')
}, function(data2, menu2)
local quantity = tonumber(data2.value)
if quantity ~= nil then
if quantity <= pedAmmo and quantity >= 0 then
local finalAmmoSource = math.floor(pedAmmo - quantity)
SetPedAmmo(playerPed, item, finalAmmoSource)
AddAmmoToPed(closestPed, item, quantity)
ESX.ShowNotification(_U('gave_ammo', quantity, GetPlayerName(closestPlayer)))
-- todo notify target that he received ammo
menu2.close()
menu1.close()
if IsPedOnFoot(closestPed) then
if closestPlayer ~= -1 and closestDistance < 3.0 then
if pedAmmo > 0 then
ESX.UI.Menu.Open('dialog', GetCurrentResourceName(), 'inventory_item_count_give', {
title = _U('amountammo')
}, function(data2, menu2)
local quantity = tonumber(data2.value)
if quantity then
if pedAmmo >= quantity and quantity > 0 then
TriggerServerEvent('esx:giveInventoryItem', GetPlayerServerId(closestPlayer), 'item_ammo', item, quantity)
menu2.close()
menu1.close()
else
ESX.ShowNotification(_U('noammo'))
end
else
ESX.ShowNotification(_U('noammo'))
ESX.ShowNotification(_U('amount_invalid'))
end
else
ESX.ShowNotification(_U('amount_invalid'))
end
end, function(data2, menu2)
menu2.close()
end)
end, function(data2, menu2)
menu2.close()
end)
else
ESX.ShowNotification(_U('noammo'))
end
else
ESX.ShowNotification(_U('noammo'))
ESX.ShowNotification(_U('players_nearby'))
end
else
ESX.ShowNotification(_U('players_nearby'))
ESX.ShowNotification(_U('in_vehicle'))
end
end
end, function(data1, menu1)
ESX.UI.Menu.CloseAll()
ESX.ShowInventory()
end)
end, function(data, menu)
menu.close()
end)
+14 -6
View File
@@ -40,6 +40,11 @@ AddEventHandler('esx:playerLoaded', function(xPlayer)
end
end)
RegisterNetEvent('esx:setMaxWeight')
AddEventHandler('esx:setMaxWeight', function(newMaxWeight)
ESX.PlayerData.maxWeight = newMaxWeight
end)
RegisterNetEvent('esx:createMissingPickups')
AddEventHandler('esx:createMissingPickups', function(missingPickups)
for pickupId,v in pairs(missingPickups) do
@@ -200,6 +205,14 @@ AddEventHandler('esx:addWeaponComponent', function(weaponName, weaponComponent)
GiveWeaponComponentToPed(playerPed, weaponHash, componentHash)
end)
RegisterNetEvent('esx:setWeaponAmmo')
AddEventHandler('esx:setWeaponAmmo', function(weaponName, weaponAmmo)
local playerPed = PlayerPedId()
local weaponHash = GetHashKey(weaponName)
SetPedAmmo(playerPed, weaponHash, weaponAmmo)
end)
RegisterNetEvent('esx:removeWeapon')
AddEventHandler('esx:removeWeapon', function(weaponName, ammo)
local playerPed = PlayerPedId()
@@ -256,7 +269,6 @@ end)
RegisterNetEvent('esx:loadIPL')
AddEventHandler('esx:loadIPL', function(name)
Citizen.CreateThread(function()
LoadMpDlcMaps()
RequestIpl(name)
end)
end)
@@ -342,11 +354,7 @@ AddEventHandler('esx:pickup', function(id, label, player)
obj = obj,
label = label,
inRange = false,
coords = {
x = x,
y = y,
z = z
}
coords = {x = x, y = y, z = z}
}
end)
end)
+1
View File
@@ -8,6 +8,7 @@ Config.EnableSocietyPayouts = false -- pay from the society account that the pla
Config.DisableWantedLevel = true
Config.EnableHud = true -- enable the default hud? Display current job and accounts (black, bank & cash)
Config.EnablePvP = true -- enable pvp?
Config.MaxWeight = 24 -- the max inventory weight without backpack
Config.PaycheckInterval = 7 * 60000
+194 -438
View File
@@ -1,50 +1,20 @@
Config.Weapons = {
{
name = 'WEAPON_KNIFE',
label = _U('weapon_knife'),
components = {}
},
{
name = 'WEAPON_NIGHTSTICK',
label = _U('weapon_nightstick'),
components = {}
},
{
name = 'WEAPON_HAMMER',
label = _U('weapon_hammer'),
components = {}
},
{
name = 'WEAPON_BAT',
label = _U('weapon_bat'),
components = {}
},
{
name = 'WEAPON_GOLFCLUB',
label = _U('weapon_golfclub'),
components = {}
},
{
name = 'WEAPON_CROWBAR',
label = _U('weapon_crowbar'),
components = {}
},
{name = 'WEAPON_KNIFE', label = _U('weapon_knife'), components = {}},
{name = 'WEAPON_NIGHTSTICK', label = _U('weapon_nightstick'), components = {}},
{name = 'WEAPON_HAMMER', label = _U('weapon_hammer'), components = {}},
{name = 'WEAPON_BAT', label = _U('weapon_bat'), components = {}},
{name = 'WEAPON_GOLFCLUB', label = _U('weapon_golfclub'), components = {}},
{name = 'WEAPON_CROWBAR', label = _U('weapon_crowbar'), components = {}},
{
name = 'WEAPON_PISTOL',
label = _U('weapon_pistol'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_PISTOL_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_PISTOL_CLIP_02') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_PI_FLSH') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP_02') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_PISTOL_VARMOD_LUXE') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_PISTOL_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_PISTOL_CLIP_02')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_PI_FLSH')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP_02')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_PISTOL_VARMOD_LUXE')}
}
},
@@ -52,11 +22,11 @@ Config.Weapons = {
name = 'WEAPON_COMBATPISTOL',
label = _U('weapon_combatpistol'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_COMBATPISTOL_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_COMBATPISTOL_CLIP_02') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_PI_FLSH') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_COMBATPISTOL_VARMOD_LOWRIDER') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_COMBATPISTOL_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_COMBATPISTOL_CLIP_02')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_PI_FLSH')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_COMBATPISTOL_VARMOD_LOWRIDER')}
}
},
@@ -64,11 +34,11 @@ Config.Weapons = {
name = 'WEAPON_APPISTOL',
label = _U('weapon_appistol'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_APPISTOL_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_APPISTOL_CLIP_02') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_PI_FLSH') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_APPISTOL_VARMOD_LUXE') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_APPISTOL_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_APPISTOL_CLIP_02')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_PI_FLSH')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_APPISTOL_VARMOD_LUXE')}
}
},
@@ -76,27 +46,23 @@ Config.Weapons = {
name = 'WEAPON_PISTOL50',
label = _U('weapon_pistol50'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_PISTOL50_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_PISTOL50_CLIP_02') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_PI_FLSH') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_PISTOL50_VARMOD_LUXE') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_PISTOL50_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_PISTOL50_CLIP_02')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_PI_FLSH')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_PISTOL50_VARMOD_LUXE')}
}
},
{
name = 'WEAPON_REVOLVER',
label = _U('weapon_revolver'),
components = {}
},
{name = 'WEAPON_REVOLVER', label = _U('weapon_revolver'), components = {}},
{
name = 'WEAPON_SNSPISTOL',
label = _U('weapon_snspistol'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_SNSPISTOL_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_SNSPISTOL_CLIP_02') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_SNSPISTOL_VARMOD_LOWRIDER') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_SNSPISTOL_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_SNSPISTOL_CLIP_02')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_SNSPISTOL_VARMOD_LOWRIDER')}
}
},
@@ -104,11 +70,11 @@ Config.Weapons = {
name = 'WEAPON_HEAVYPISTOL',
label = _U('weapon_heavypistol'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_HEAVYPISTOL_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_HEAVYPISTOL_CLIP_02') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_PI_FLSH') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_HEAVYPISTOL_VARMOD_LUXE') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_HEAVYPISTOL_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_HEAVYPISTOL_CLIP_02')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_PI_FLSH')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_HEAVYPISTOL_VARMOD_LUXE')}
}
},
@@ -116,9 +82,9 @@ Config.Weapons = {
name = 'WEAPON_VINTAGEPISTOL',
label = _U('weapon_vintagepistol'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_VINTAGEPISTOL_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_VINTAGEPISTOL_CLIP_02') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_VINTAGEPISTOL_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_VINTAGEPISTOL_CLIP_02')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP')}
}
},
@@ -126,12 +92,12 @@ Config.Weapons = {
name = 'WEAPON_MICROSMG',
label = _U('weapon_microsmg'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_MICROSMG_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_MICROSMG_CLIP_02') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_PI_FLSH') },
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MACRO') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_MICROSMG_VARMOD_LUXE') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_MICROSMG_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_MICROSMG_CLIP_02')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_PI_FLSH')},
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MACRO')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_MICROSMG_VARMOD_LUXE')}
}
},
@@ -139,13 +105,13 @@ Config.Weapons = {
name = 'WEAPON_SMG',
label = _U('weapon_smg'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_SMG_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_SMG_CLIP_02') },
{ name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_SMG_CLIP_03') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH') },
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MACRO_02') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_SMG_VARMOD_LUXE') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_SMG_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_SMG_CLIP_02')},
{name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_SMG_CLIP_03')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH')},
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MACRO_02')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_SMG_VARMOD_LUXE')}
}
},
@@ -153,12 +119,12 @@ Config.Weapons = {
name = 'WEAPON_ASSAULTSMG',
label = _U('weapon_assaultsmg'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_ASSAULTSMG_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_ASSAULTSMG_CLIP_02') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH') },
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MACRO') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_ASSAULTSMG_VARMOD_LOWRIDER') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_ASSAULTSMG_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_ASSAULTSMG_CLIP_02')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH')},
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MACRO')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_ASSAULTSMG_VARMOD_LOWRIDER')}
}
},
@@ -166,8 +132,8 @@ Config.Weapons = {
name = 'WEAPON_MINISMG',
label = _U('weapon_minismg'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_MINISMG_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_MINISMG_CLIP_02') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_MINISMG_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_MINISMG_CLIP_02')}
}
},
@@ -175,10 +141,10 @@ Config.Weapons = {
name = 'WEAPON_MACHINEPISTOL',
label = _U('weapon_machinepistol'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_MACHINEPISTOL_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_MACHINEPISTOL_CLIP_02') },
{ name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_MACHINEPISTOL_CLIP_03') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_MACHINEPISTOL_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_MACHINEPISTOL_CLIP_02')},
{name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_MACHINEPISTOL_CLIP_03')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_PI_SUPP')}
}
},
@@ -186,12 +152,12 @@ Config.Weapons = {
name = 'WEAPON_COMBATPDW',
label = _U('weapon_combatpdw'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_COMBATPDW_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_COMBATPDW_CLIP_02') },
{ name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_COMBATPDW_CLIP_03') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH') },
{ name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP') },
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_SMALL') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_COMBATPDW_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_COMBATPDW_CLIP_02')},
{name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_COMBATPDW_CLIP_03')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH')},
{name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP')},
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_SMALL')}
}
},
@@ -199,9 +165,9 @@ Config.Weapons = {
name = 'WEAPON_PUMPSHOTGUN',
label = _U('weapon_pumpshotgun'),
components = {
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_SR_SUPP') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_PUMPSHOTGUN_VARMOD_LOWRIDER') }
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_SR_SUPP')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_PUMPSHOTGUN_VARMOD_LOWRIDER')}
}
},
@@ -209,7 +175,7 @@ Config.Weapons = {
name = 'WEAPON_SAWNOFFSHOTGUN',
label = _U('weapon_sawnoffshotgun'),
components = {
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_SAWNOFFSHOTGUN_VARMOD_LUXE') }
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_SAWNOFFSHOTGUN_VARMOD_LUXE')}
}
},
@@ -217,11 +183,11 @@ Config.Weapons = {
name = 'WEAPON_ASSAULTSHOTGUN',
label = _U('weapon_assaultshotgun'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_ASSAULTSHOTGUN_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_ASSAULTSHOTGUN_CLIP_02') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP') },
{ name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_ASSAULTSHOTGUN_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_ASSAULTSHOTGUN_CLIP_02')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP')},
{name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP')}
}
},
@@ -229,9 +195,9 @@ Config.Weapons = {
name = 'WEAPON_BULLPUPSHOTGUN',
label = _U('weapon_bullpupshotgun'),
components = {
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02') },
{ name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP') }
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02')},
{name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP')}
}
},
@@ -239,12 +205,12 @@ Config.Weapons = {
name = 'WEAPON_HEAVYSHOTGUN',
label = _U('weapon_heavyshotgun'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_HEAVYSHOTGUN_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_HEAVYSHOTGUN_CLIP_02') },
{ name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_HEAVYSHOTGUN_CLIP_03') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02') },
{ name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_HEAVYSHOTGUN_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_HEAVYSHOTGUN_CLIP_02')},
{name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_HEAVYSHOTGUN_CLIP_03')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02')},
{name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP')}
}
},
@@ -252,14 +218,14 @@ Config.Weapons = {
name = 'WEAPON_ASSAULTRIFLE',
label = _U('weapon_assaultrifle'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_ASSAULTRIFLE_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_ASSAULTRIFLE_CLIP_02') },
{ name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_ASSAULTRIFLE_CLIP_03') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH') },
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MACRO') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02') },
{ name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_ASSAULTRIFLE_VARMOD_LUXE') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_ASSAULTRIFLE_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_ASSAULTRIFLE_CLIP_02')},
{name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_ASSAULTRIFLE_CLIP_03')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH')},
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MACRO')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02')},
{name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_ASSAULTRIFLE_VARMOD_LUXE')}
}
},
@@ -267,14 +233,14 @@ Config.Weapons = {
name = 'WEAPON_CARBINERIFLE',
label = _U('weapon_carbinerifle'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_CARBINERIFLE_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_CARBINERIFLE_CLIP_02') },
{ name = 'clip_box', label = _U('component_clip_box'), hash = GetHashKey('COMPONENT_CARBINERIFLE_CLIP_03') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH') },
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MEDIUM') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP') },
{ name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_CARBINERIFLE_VARMOD_LUXE') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_CARBINERIFLE_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_CARBINERIFLE_CLIP_02')},
{name = 'clip_box', label = _U('component_clip_box'), hash = GetHashKey('COMPONENT_CARBINERIFLE_CLIP_03')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH')},
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MEDIUM')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP')},
{name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_CARBINERIFLE_VARMOD_LUXE')}
}
},
@@ -282,12 +248,12 @@ Config.Weapons = {
name = 'WEAPON_ADVANCEDRIFLE',
label = _U('weapon_advancedrifle'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_ADVANCEDRIFLE_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_ADVANCEDRIFLE_CLIP_02') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH') },
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_SMALL') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_ADVANCEDRIFLE_VARMOD_LUXE') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_ADVANCEDRIFLE_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_ADVANCEDRIFLE_CLIP_02')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH')},
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_SMALL')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_ADVANCEDRIFLE_VARMOD_LUXE')}
}
},
@@ -295,14 +261,14 @@ Config.Weapons = {
name = 'WEAPON_SPECIALCARBINE',
label = _U('weapon_specialcarbine'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_SPECIALCARBINE_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_SPECIALCARBINE_CLIP_02') },
{ name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_SPECIALCARBINE_CLIP_03') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH') },
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MEDIUM') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02') },
{ name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_SPECIALCARBINE_VARMOD_LOWRIDER') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_SPECIALCARBINE_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_SPECIALCARBINE_CLIP_02')},
{name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_SPECIALCARBINE_CLIP_03')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH')},
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MEDIUM')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02')},
{name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_SPECIALCARBINE_VARMOD_LOWRIDER')}
}
},
@@ -310,13 +276,13 @@ Config.Weapons = {
name = 'WEAPON_BULLPUPRIFLE',
label = _U('weapon_bullpuprifle'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_BULLPUPRIFLE_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_BULLPUPRIFLE_CLIP_02') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH') },
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_SMALL') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP') },
{ name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_BULLPUPRIFLE_VARMOD_LOW') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_BULLPUPRIFLE_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_BULLPUPRIFLE_CLIP_02')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH')},
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_SMALL')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP')},
{name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_BULLPUPRIFLE_VARMOD_LOW')}
}
},
@@ -324,9 +290,9 @@ Config.Weapons = {
name = 'WEAPON_COMPACTRIFLE',
label = _U('weapon_compactrifle'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_COMPACTRIFLE_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_COMPACTRIFLE_CLIP_02') },
{ name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_COMPACTRIFLE_CLIP_03') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_COMPACTRIFLE_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_COMPACTRIFLE_CLIP_02')},
{name = 'clip_drum', label = _U('component_clip_drum'), hash = GetHashKey('COMPONENT_COMPACTRIFLE_CLIP_03')}
}
},
@@ -334,10 +300,10 @@ Config.Weapons = {
name = 'WEAPON_MG',
label = _U('weapon_mg'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_MG_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_MG_CLIP_02') },
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_SMALL_02') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_MG_VARMOD_LOWRIDER') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_MG_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_MG_CLIP_02')},
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_SMALL_02')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_MG_VARMOD_LOWRIDER')}
}
},
@@ -345,11 +311,11 @@ Config.Weapons = {
name = 'WEAPON_COMBATMG',
label = _U('weapon_combatmg'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_COMBATMG_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_COMBATMG_CLIP_02') },
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MEDIUM') },
{ name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_COMBATMG_VARMOD_LOWRIDER') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_COMBATMG_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_COMBATMG_CLIP_02')},
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_MEDIUM')},
{name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_COMBATMG_VARMOD_LOWRIDER')}
}
},
@@ -357,8 +323,8 @@ Config.Weapons = {
name = 'WEAPON_GUSENBERG',
label = _U('weapon_gusenberg'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_GUSENBERG_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_GUSENBERG_CLIP_02') },
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_GUSENBERG_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_GUSENBERG_CLIP_02')},
}
},
@@ -366,10 +332,10 @@ Config.Weapons = {
name = 'WEAPON_SNIPERRIFLE',
label = _U('weapon_sniperrifle'),
components = {
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_LARGE') },
{ name = 'scope_advanced', label = _U('component_scope_advanced'), hash = GetHashKey('COMPONENT_AT_SCOPE_MAX') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_SNIPERRIFLE_VARMOD_LUXE') }
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_LARGE')},
{name = 'scope_advanced', label = _U('component_scope_advanced'), hash = GetHashKey('COMPONENT_AT_SCOPE_MAX')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP_02')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_SNIPERRIFLE_VARMOD_LUXE')}
}
},
@@ -377,8 +343,8 @@ Config.Weapons = {
name = 'WEAPON_HEAVYSNIPER',
label = _U('weapon_heavysniper'),
components = {
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_LARGE') },
{ name = 'scope_advanced', label = _U('component_scope_advanced'), hash = GetHashKey('COMPONENT_AT_SCOPE_MAX') }
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_LARGE')},
{name = 'scope_advanced', label = _U('component_scope_advanced'), hash = GetHashKey('COMPONENT_AT_SCOPE_MAX')}
}
},
@@ -386,266 +352,56 @@ Config.Weapons = {
name = 'WEAPON_MARKSMANRIFLE',
label = _U('weapon_marksmanrifle'),
components = {
{ name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_MARKSMANRIFLE_CLIP_01') },
{ name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_MARKSMANRIFLE_CLIP_02') },
{ name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH') },
{ name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM') },
{ name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP') },
{ name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP') },
{ name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_MARKSMANRIFLE_VARMOD_LUXE') }
{name = 'clip_default', label = _U('component_clip_default'), hash = GetHashKey('COMPONENT_MARKSMANRIFLE_CLIP_01')},
{name = 'clip_extended', label = _U('component_clip_extended'), hash = GetHashKey('COMPONENT_MARKSMANRIFLE_CLIP_02')},
{name = 'flashlight', label = _U('component_flashlight'), hash = GetHashKey('COMPONENT_AT_AR_FLSH')},
{name = 'scope', label = _U('component_scope'), hash = GetHashKey('COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM')},
{name = 'suppressor', label = _U('component_suppressor'), hash = GetHashKey('COMPONENT_AT_AR_SUPP')},
{name = 'grip', label = _U('component_grip'), hash = GetHashKey('COMPONENT_AT_AR_AFGRIP')},
{name = 'luxary_finish', label = _U('component_luxary_finish'), hash = GetHashKey('COMPONENT_MARKSMANRIFLE_VARMOD_LUXE')}
}
},
{
name = 'WEAPON_GRENADELAUNCHER',
label = _U('weapon_grenadelauncher'),
components = {}
},
{
name = 'WEAPON_RPG',
label = _U('weapon_rpg'),
components = {}
},
{
name = 'WEAPON_STINGER',
label = _U('weapon_stinger'),
components = {}
},
{
name = 'WEAPON_MINIGUN',
label = _U('weapon_minigun'),
components = {}
},
{
name = 'WEAPON_GRENADE',
label = _U('weapon_grenade'),
components = {}
},
{
name = 'WEAPON_STICKYBOMB',
label = _U('weapon_stickybomb'),
components = {}
},
{
name = 'WEAPON_SMOKEGRENADE',
label = _U('weapon_smokegrenade'),
components = {}
},
{
name = 'WEAPON_BZGAS',
label = _U('weapon_bzgas'),
components = {}
},
{
name = 'WEAPON_MOLOTOV',
label = _U('weapon_molotov'),
components = {}
},
{
name = 'WEAPON_FIREEXTINGUISHER',
label = _U('weapon_fireextinguisher'),
components = {}
},
{
name = 'WEAPON_PETROLCAN',
label = _U('weapon_petrolcan'),
components = {}
},
{
name = 'WEAPON_DIGISCANNER',
label = _U('weapon_digiscanner'),
components = {}
},
{
name = 'WEAPON_BALL',
label = _U('weapon_ball'),
components = {}
},
{
name = 'WEAPON_BOTTLE',
label = _U('weapon_bottle'),
components = {}
},
{
name = 'WEAPON_DAGGER',
label = _U('weapon_dagger'),
components = {}
},
{
name = 'WEAPON_FIREWORK',
label = _U('weapon_firework'),
components = {}
},
{
name = 'WEAPON_MUSKET',
label = _U('weapon_musket'),
components = {}
},
{
name = 'WEAPON_STUNGUN',
label = _U('weapon_stungun'),
components = {}
},
{
name = 'WEAPON_HOMINGLAUNCHER',
label = _U('weapon_hominglauncher'),
components = {}
},
{
name = 'WEAPON_PROXMINE',
label = _U('weapon_proxmine'),
components = {}
},
{
name = 'WEAPON_SNOWBALL',
label = _U('weapon_snowball'),
components = {}
},
{
name = 'WEAPON_FLAREGUN',
label = _U('weapon_flaregun'),
components = {}
},
{
name = 'WEAPON_GARBAGEBAG',
label = _U('weapon_garbagebag'),
components = {}
},
{
name = 'WEAPON_HANDCUFFS',
label = _U('weapon_handcuffs'),
components = {}
},
{
name = 'WEAPON_MARKSMANPISTOL',
label = _U('weapon_marksmanpistol'),
components = {}
},
{
name = 'WEAPON_KNUCKLE',
label = _U('weapon_knuckle'),
components = {}
},
{
name = 'WEAPON_HATCHET',
label = _U('weapon_hatchet'),
components = {}
},
{
name = 'WEAPON_RAILGUN',
label = _U('weapon_railgun'),
components = {}
},
{
name = 'WEAPON_MACHETE',
label = _U('weapon_machete'),
components = {}
},
{
name = 'WEAPON_SWITCHBLADE',
label = _U('weapon_switchblade'),
components = {}
},
{
name = 'WEAPON_DBSHOTGUN',
label = _U('weapon_dbshotgun'),
components = {}
},
{
name = 'WEAPON_AUTOSHOTGUN',
label = _U('weapon_autoshotgun'),
components = {}
},
{
name = 'WEAPON_BATTLEAXE',
label = _U('weapon_battleaxe'),
components = {}
},
{
name = 'WEAPON_COMPACTLAUNCHER',
label = _U('weapon_compactlauncher'),
components = {}
},
{
name = 'WEAPON_PIPEBOMB',
label = _U('weapon_pipebomb'),
components = {}
},
{
name = 'WEAPON_POOLCUE',
label = _U('weapon_poolcue'),
components = {}
},
{
name = 'WEAPON_WRENCH',
label = _U('weapon_wrench'),
components = {}
},
{
name = 'WEAPON_FLASHLIGHT',
label = _U('weapon_flashlight'),
components = {}
},
{
name = 'GADGET_NIGHTVISION',
label = _U('gadget_nightvision'),
components = {}
},
{
name = 'GADGET_PARACHUTE',
label = _U('gadget_parachute'),
components = {}
},
{
name = 'WEAPON_FLARE',
label = _U('weapon_flare'),
components = {}
},
{
name = 'WEAPON_DOUBLEACTION',
label = _U('weapon_doubleaction'),
components = {}
}
}
{name = 'WEAPON_GRENADELAUNCHER', label = _U('weapon_grenadelauncher'), components = {}},
{name = 'WEAPON_RPG', label = _U('weapon_rpg'), components = {}},
{name = 'WEAPON_STINGER', label = _U('weapon_stinger'), components = {}},
{name = 'WEAPON_MINIGUN', label = _U('weapon_minigun'), components = {}},
{name = 'WEAPON_GRENADE', label = _U('weapon_grenade'), components = {}},
{name = 'WEAPON_STICKYBOMB', label = _U('weapon_stickybomb'), components = {}},
{name = 'WEAPON_SMOKEGRENADE', label = _U('weapon_smokegrenade'), components = {}},
{name = 'WEAPON_BZGAS', label = _U('weapon_bzgas'), components = {}},
{name = 'WEAPON_MOLOTOV', label = _U('weapon_molotov'), components = {}},
{name = 'WEAPON_FIREEXTINGUISHER', label = _U('weapon_fireextinguisher'), components = {}},
{name = 'WEAPON_PETROLCAN', label = _U('weapon_petrolcan'), components = {}},
{name = 'WEAPON_DIGISCANNER', label = _U('weapon_digiscanner'), components = {}},
{name = 'WEAPON_BALL', label = _U('weapon_ball'), components = {}},
{name = 'WEAPON_BOTTLE', label = _U('weapon_bottle'), components = {}},
{name = 'WEAPON_DAGGER', label = _U('weapon_dagger'), components = {}},
{name = 'WEAPON_FIREWORK', label = _U('weapon_firework'), components = {}},
{name = 'WEAPON_MUSKET', label = _U('weapon_musket'), components = {}},
{name = 'WEAPON_STUNGUN', label = _U('weapon_stungun'), components = {}},
{name = 'WEAPON_HOMINGLAUNCHER', label = _U('weapon_hominglauncher'), components = {}},
{name = 'WEAPON_PROXMINE', label = _U('weapon_proxmine'), components = {}},
{name = 'WEAPON_SNOWBALL', label = _U('weapon_snowball'), components = {}},
{name = 'WEAPON_FLAREGUN', label = _U('weapon_flaregun'), components = {}},
{name = 'WEAPON_GARBAGEBAG', label = _U('weapon_garbagebag'), components = {}},
{name = 'WEAPON_HANDCUFFS', label = _U('weapon_handcuffs'), components = {}},
{name = 'WEAPON_MARKSMANPISTOL', label = _U('weapon_marksmanpistol'), components = {}},
{name = 'WEAPON_KNUCKLE', label = _U('weapon_knuckle'), components = {}},
{name = 'WEAPON_HATCHET', label = _U('weapon_hatchet'), components = {}},
{name = 'WEAPON_RAILGUN', label = _U('weapon_railgun'), components = {}},
{name = 'WEAPON_MACHETE', label = _U('weapon_machete'), components = {}},
{name = 'WEAPON_SWITCHBLADE', label = _U('weapon_switchblade'), components = {}},
{name = 'WEAPON_DBSHOTGUN', label = _U('weapon_dbshotgun'), components = {}},
{name = 'WEAPON_AUTOSHOTGUN', label = _U('weapon_autoshotgun'), components = {}},
{name = 'WEAPON_BATTLEAXE', label = _U('weapon_battleaxe'), components = {}},
{name = 'WEAPON_COMPACTLAUNCHER', label = _U('weapon_compactlauncher'), components = {}},
{name = 'WEAPON_PIPEBOMB', label = _U('weapon_pipebomb'), components = {}},
{name = 'WEAPON_POOLCUE', label = _U('weapon_poolcue'), components = {}},
{name = 'WEAPON_WRENCH', label = _U('weapon_wrench'), components = {}},
{name = 'WEAPON_FLASHLIGHT', label = _U('weapon_flashlight'), components = {}},
{name = 'GADGET_NIGHTVISION', label = _U('gadget_nightvision'), components = {}},
{name = 'GADGET_PARACHUTE', label = _U('gadget_parachute'), components = {}},
{name = 'WEAPON_FLARE', label = _U('weapon_flare'), components = {}},
{name = 'WEAPON_DOUBLEACTION', label = _U('weapon_doubleaction'), components = {}}
}
+24 -24
View File
@@ -3,31 +3,31 @@ USE `essentialmode`;
ALTER TABLE `users`
ADD COLUMN `name` VARCHAR(50) NULL DEFAULT '' AFTER `money`,
ADD COLUMN `skin` LONGTEXT NULL AFTER `name`,
ADD COLUMN `job` varchar(50) NULL DEFAULT 'unemployed' AFTER `skin`,
ADD COLUMN `job` VARCHAR(50) NULL DEFAULT 'unemployed' AFTER `skin`,
ADD COLUMN `job_grade` INT NULL DEFAULT 0 AFTER `job`,
ADD COLUMN `loadout` LONGTEXT NULL AFTER `job_grade`,
ADD COLUMN `position` VARCHAR(36) NULL AFTER `loadout`
;
CREATE TABLE `items` (
`name` varchar(50) NOT NULL,
`label` varchar(50) NOT NULL,
`limit` int(11) NOT NULL DEFAULT '-1',
`rare` int(11) NOT NULL DEFAULT '0',
`can_remove` int(11) NOT NULL DEFAULT '1',
`name` VARCHAR(50) NOT NULL,
`label` VARCHAR(50) NOT NULL,
`weight` TINYINT(1) NOT NULL DEFAULT 1,
`rare` TINYINT(1) NOT NULL DEFAULT 0,
`can_remove` TINYINT(1) NOT NULL DEFAULT 1,
PRIMARY KEY (`name`)
);
CREATE TABLE `job_grades` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`job_name` varchar(50) DEFAULT NULL,
`grade` int(11) NOT NULL,
`name` varchar(50) NOT NULL,
`label` varchar(50) NOT NULL,
`salary` int(11) NOT NULL,
`skin_male` longtext NOT NULL,
`skin_female` longtext NOT NULL,
`id` INT(11) NOT NULL AUTO_INCREMENT,
`job_name` VARCHAR(50) DEFAULT NULL,
`grade` INT(11) NOT NULL,
`name` VARCHAR(50) NOT NULL,
`label` VARCHAR(50) NOT NULL,
`salary` INT(11) NOT NULL,
`skin_male` LONGTEXT NOT NULL,
`skin_female` LONGTEXT NOT NULL,
PRIMARY KEY (`id`)
);
@@ -35,8 +35,8 @@ CREATE TABLE `job_grades` (
INSERT INTO `job_grades` VALUES (1,'unemployed',0,'unemployed','Unemployed',200,'{}','{}');
CREATE TABLE `jobs` (
`name` varchar(50) NOT NULL,
`label` varchar(50) DEFAULT NULL,
`name` VARCHAR(50) NOT NULL,
`label` VARCHAR(50) DEFAULT NULL,
PRIMARY KEY (`name`)
);
@@ -44,19 +44,19 @@ CREATE TABLE `jobs` (
INSERT INTO `jobs` VALUES ('unemployed','Unemployed');
CREATE TABLE `user_accounts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`identifier` varchar(22) NOT NULL,
`name` varchar(50) NOT NULL,
`money` double NOT NULL DEFAULT '0',
`id` INT(11) NOT NULL AUTO_INCREMENT,
`identifier` VARCHAR(22) NOT NULL,
`name` VARCHAR(50) NOT NULL,
`money` INT(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
);
CREATE TABLE `user_inventory` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`identifier` varchar(22) NOT NULL,
`item` varchar(50) NOT NULL,
`count` int(11) NOT NULL,
`id` INT(11) NOT NULL AUTO_INCREMENT,
`identifier` VARCHAR(22) NOT NULL,
`item` VARCHAR(50) NOT NULL,
`count` INT(11) NOT NULL,
PRIMARY KEY (`id`)
);
+15 -12
View File
@@ -1,7 +1,7 @@
Locales['br'] = {
-- Inventory
['cash'] = 'efectivo',
['inventory'] = 'inventario',
['inventory'] = 'inventario %s / %s',
['use'] = 'usar',
['give'] = 'dar',
['remove'] = 'remover',
@@ -13,14 +13,18 @@ Locales['br'] = {
['noammo'] = 'voce nao tem todas essas muniçoes!',
['gave_item'] = 'voce deu ~y~%sx~s~ ~b~%s~s~ para ~y~%s~s~',
['received_item'] = 'voce recebeu ~y~%sx~s~ ~b~%s~s~ de ~b~%s~s~',
['gave_weapon'] = 'you gave ~y~1x~s~ ~b~%s~s~ to ~y~%s~s~.',
['gave_weapon_ammo'] = 'you gave ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets to ~y~%s~s~.',
['gave_weapon'] = 'you gave ~b~%s~s~ to ~y~%s~s~',
['gave_weapon_ammo'] = 'you gave ~o~%sx~s~ bullets for ~b~%s~s~ to ~y~%s~s~',
['gave_weapon_withammo'] = 'you gave ~b~%s~s~ with ~o~%sx~s~ bullets to ~y~%s~s~',
['gave_weapon_hasalready'] = '~y~%s~s~ already have an ~y~%s~s~',
['received_weapon'] = 'you received ~y~1x~s~ ~b~%s~s~ from ~b~%s~s~.',
['received_weapon_ammo'] = 'you received ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets from ~b~%s~s~.',
['received_weapon_hasalready'] = '~b~%s~s~ attempted to give you an ~y~%s~s~, but you already have one.',
['gave_ammo'] = 'voce deu ~o~%sx~s~ balas para ~y~%s~s~.',
['received_ammo'] = 'voce recebeu ~o~%sx~s~ balas de ~b~%s~s~.',
['gave_weapon_noweapon'] = '~y~%s~s~ does not have that weapon',
['received_weapon'] = 'you received ~b~%s~s~ from ~b~%s~s~',
['received_weapon_ammo'] = 'you received ~o~%sx~s~ bullets for your ~b~%s~s~ from ~b~%s~s~',
['received_weapon_withammo'] = 'you received ~b~%s~s~ with ~o~%sx~s~ bullets from ~b~%s~s~',
['received_weapon_hasalready'] = '~b~%s~s~ attempted to give you an ~y~%s~s~, but you already have one',
['received_weapon_noweapon'] = '~b~%s~s~ attempted to give you ammo for an ~y~%s~s~, but you dont have one',
['gave_ammo'] = 'voce deu ~o~%sx~s~ balas para ~y~%s~s~',
['received_ammo'] = 'voce recebeu ~o~%sx~s~ balas de ~b~%s~s~',
['gave_money'] = 'voce deu ~g~$%s~s~ para ~y~%s~s~',
['received_money'] = 'voce recebeu ~g~$%s~s~ de ~b~%s~s~',
['gave_account_money'] = 'voce deu ~g~$%s~s~ (%s) para ~y~%s~s~',
@@ -33,19 +37,18 @@ Locales['br'] = {
['threw_standard'] = 'you threw ~y~%sx~s~ ~b~%s~s~',
['threw_money'] = 'you threw ~r~$%s~s~ ~b~cash~s~',
['threw_account'] = 'you threw ~r~$%s~s~ ~b~%s~s~',
['threw_weapon'] = 'you threw ~y~1x~s~ ~b~%s~s~',
['threw_weapon_ammo'] = 'you threw ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets',
['threw_weapon'] = 'you threw ~b~%s~s~',
['threw_weapon_ammo'] = 'you threw ~b~%s~s~ with ~o~%sx~s~ bullets',
-- Salary related
['received_salary'] = 'voce recebeu seu salario: ~g~$%s~s~ ',
['received_help'] = 'voce recebeu seu cheque de bem-estar: ~g~$%s~s~ ',
['company_nomoney'] = 'a empresa em que voce esta empregado esta muito pobre para pagar seu salario.',
['company_nomoney'] = 'a empresa em que voce esta empregado esta muito pobre para pagar seu salario',
['received_paycheck'] = 'recebeu dinheiro',
['bank'] = 'banco',
['black_money'] = 'dinheiro sujo',
['act_imp'] = 'acao impossivel',
['in_vehicle'] = 'voce nao pode dar nada para alguem no veiculo',
['cannot_pickup_room'] = 'voce nao tem espaço suficiente no seu inventario para pegar ~y~%s~s~!',
-- Commands
['setjob'] = 'atribuir um trabalho a um usuario',
+15 -12
View File
@@ -1,7 +1,7 @@
Locales['cs'] = {
-- Inventory
['cash'] = 'hotovost',
['inventory'] = 'inventář',
['inventory'] = 'inventář %s / %s',
['use'] = 'použít',
['give'] = 'dát',
['remove'] = 'zahodit',
@@ -13,14 +13,18 @@ Locales['cs'] = {
['noammo'] = 'nemáte dostatek munice!',
['gave_item'] = 'dali jste ~y~%sx~s~ ~b~%s~s~ ~y~%s~s~',
['received_item'] = 'obdrželi jste ~y~%sx~s~ ~b~%s~s~ od ~b~%s~s~',
['gave_weapon'] = 'you gave ~y~1x~s~ ~b~%s~s~ to ~y~%s~s~.',
['gave_weapon_ammo'] = 'you gave ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets to ~y~%s~s~.',
['gave_weapon'] = 'you gave ~b~%s~s~ to ~y~%s~s~',
['gave_weapon_ammo'] = 'you gave ~o~%sx~s~ bullets for ~b~%s~s~ to ~y~%s~s~',
['gave_weapon_withammo'] = 'you gave ~b~%s~s~ with ~o~%sx~s~ bullets to ~y~%s~s~',
['gave_weapon_hasalready'] = '~y~%s~s~ already have an ~y~%s~s~',
['received_weapon'] = 'you received ~y~1x~s~ ~b~%s~s~ from ~b~%s~s~.',
['received_weapon_ammo'] = 'you received ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets from ~b~%s~s~.',
['received_weapon_hasalready'] = '~b~%s~s~ attempted to give you an ~y~%s~s~, but you already have one.',
['gave_ammo'] = 'dali jste ~o~%sx~s~ nábojů ~y~%s~s~.',
['received_ammo'] = 'obdrželi jste ~o~%sx~s~ nábojů od ~b~%s~s~.',
['gave_weapon_noweapon'] = '~y~%s~s~ does not have that weapon',
['received_weapon'] = 'you received ~b~%s~s~ from ~b~%s~s~',
['received_weapon_ammo'] = 'you received ~o~%sx~s~ bullets for your ~b~%s~s~ from ~b~%s~s~',
['received_weapon_withammo'] = 'you received ~b~%s~s~ with ~o~%sx~s~ bullets from ~b~%s~s~',
['received_weapon_hasalready'] = '~b~%s~s~ attempted to give you an ~y~%s~s~, but you already have one',
['received_weapon_noweapon'] = '~b~%s~s~ attempted to give you ammo for an ~y~%s~s~, but you dont have one',
['gave_ammo'] = 'dali jste ~o~%sx~s~ nábojů ~y~%s~s~',
['received_ammo'] = 'obdrželi jste ~o~%sx~s~ nábojů od ~b~%s~s~',
['gave_money'] = 'dali jste ~g~$%s~s~ ~y~%s~s~',
['received_money'] = 'obdrželi jste ~g~$%s~s~ od ~b~%s~s~',
['gave_account_money'] = 'dali jste ~g~$%s~s~ (%s) ~y~%s~s~',
@@ -33,19 +37,18 @@ Locales['cs'] = {
['threw_standard'] = 'you threw ~y~%sx~s~ ~b~%s~s~',
['threw_money'] = 'you threw ~r~$%s~s~ ~b~cash~s~',
['threw_account'] = 'you threw ~r~$%s~s~ ~b~%s~s~',
['threw_weapon'] = 'you threw ~y~1x~s~ ~b~%s~s~',
['threw_weapon_ammo'] = 'you threw ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets',
['threw_weapon'] = 'you threw ~b~%s~s~',
['threw_weapon_ammo'] = 'you threw ~b~%s~s~ with ~o~%sx~s~ bullets',
-- Salary related
['received_salary'] = 'obdrželi jste výplatu: ~g~$%s~s~',
['received_help'] = 'obdrželi jste sociální dávku: ~g~$%s~s~',
['company_nomoney'] = 'společnost u které jste zaměstananí nemá peníze na váš plat.',
['company_nomoney'] = 'společnost u které jste zaměstananí nemá peníze na váš plat',
['received_paycheck'] = 'obdržena výplata',
['bank'] = 'bankovní účet',
['black_money'] = 'špinavé peníze',
['act_imp'] = 'akce není možná',
['in_vehicle'] = 'nemůže nic dát osobě ve vozidle',
['cannot_pickup_room'] = 've vašem inventáři není dostatek místa pro ~y~%s~s~!',
-- Commands
['setjob'] = 'přiřadit práci hráči',
+13 -10
View File
@@ -1,7 +1,7 @@
Locales['de'] = {
-- Inventory
['cash'] = 'bargeld',
['inventory'] = 'inventar',
['inventory'] = 'inventar %s / %s',
['use'] = 'benutzen',
['give'] = 'geben',
['remove'] = 'entfernen',
@@ -13,12 +13,16 @@ Locales['de'] = {
['noammo'] = 'du hast keine munition!',
['gave_item'] = 'du gibst ~y~%sx~s~ ~b~%s~s~ an ~y~%s~s~',
['received_item'] = 'du empfängst ~y~%sx~s~ ~b~%s~s~ von ~b~%s~s~',
['gave_weapon'] = 'du gibst ~y~1x~s~ ~b~%s~s~ an ~y~%s~s~',
['gave_weapon_ammo'] = 'du gibst ~y~1x~s~ ~b~%s~s~ mit ~o~%sx~s~ Schuss an ~y~%s~s~',
['gave_weapon'] = 'du gibst ~b~%s~s~ an ~y~%s~s~',
['gave_weapon_ammo'] = 'you gave ~o~%sx~s~ bullets for ~b~%s~s~ to ~y~%s~s~',
['gave_weapon_withammo'] = 'du gibst ~b~%s~s~ mit ~o~%sx~s~ Schuss an ~y~%s~s~',
['gave_weapon_hasalready'] = '~y~%s~s~ hat bereits eine(n) ~y~%s~s~',
['received_weapon'] = 'du erhälst ~y~1x~s~ ~b~%s~s~ von ~b~%s~s~',
['received_weapon_ammo'] = 'du erhälst ~y~1x~s~ ~b~%s~s~ mit ~o~%sx~s~ Schuss von ~b~%s~s~',
['gave_weapon_noweapon'] = '~y~%s~s~ does not have that weapon',
['received_weapon'] = 'du erhälst ~b~%s~s~ von ~b~%s~s~',
['received_weapon_ammo'] = 'you received ~o~%sx~s~ bullets for your ~b~%s~s~ from ~b~%s~s~',
['received_weapon_withammo'] = 'du erhälst ~b~%s~s~ mit ~o~%sx~s~ Schuss von ~b~%s~s~',
['received_weapon_hasalready'] = '~b~%s~s~ hat versucht dir eine(n) ~y~%s~s~ zu geben, aber du hast bereits eine(n)',
['received_weapon_noweapon'] = '~b~%s~s~ attempted to give you ammo for an ~y~%s~s~, but you dont have one',
['gave_ammo'] = 'du gibst ~o~%sx~s~ Schuss an ~y~%s~s~',
['received_ammo'] = 'du erhälst ~o~%sx~s~ Schuss von ~b~%s~s~',
['gave_money'] = 'du gibst ~g~$%s~s~ an ~y~%s~s~',
@@ -33,19 +37,18 @@ Locales['de'] = {
['threw_standard'] = 'you threw ~y~%sx~s~ ~b~%s~s~',
['threw_money'] = 'you threw ~r~$%s~s~ ~b~cash~s~',
['threw_account'] = 'you threw ~r~$%s~s~ ~b~%s~s~',
['threw_weapon'] = 'you threw ~y~1x~s~ ~b~%s~s~',
['threw_weapon_ammo'] = 'you threw ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets',
['threw_weapon'] = 'you threw ~b~%s~s~',
['threw_weapon_ammo'] = 'you threw ~b~%s~s~ with ~o~%sx~s~ bullets',
-- Salary related
['received_salary'] = 'du hast dein Gehalt erhalten: ~g~$%s~s~',
['received_help'] = 'du hast deine Sozialhilfe erhalten.: ~g~$%s~s~',
['company_nomoney'] = 'die Firma in der du angestellt bist, ist zu arm um dein Gehalt zu zahlen.',
['received_help'] = 'du hast deine Sozialhilfe erhalten: ~g~$%s~s~',
['company_nomoney'] = 'die Firma in der du angestellt bist, ist zu arm um dein Gehalt zu zahlen',
['received_paycheck'] = 'erhaltener Gehaltsscheck',
['bank'] = 'bank',
['black_money'] = 'schwarzgeld',
['act_imp'] = 'Aktion nicht möglich',
['in_vehicle'] = 'you can\'t give anything to someone in a vehicle',
['cannot_pickup_room'] = 'you do not have enough space in your inventory to pick up ~y~%s~s~!',
-- Commands
['setjob'] = 'assign a job to a user',
+15 -12
View File
@@ -1,7 +1,7 @@
Locales['en'] = {
-- Inventory
['cash'] = 'cash',
['inventory'] = 'inventory',
['inventory'] = 'inventory %s / %s',
['use'] = 'use',
['give'] = 'give',
['remove'] = 'throw',
@@ -13,14 +13,18 @@ Locales['en'] = {
['noammo'] = 'you do not have enough ammo!',
['gave_item'] = 'you gave ~y~%sx~s~ ~b~%s~s~ to ~y~%s~s~',
['received_item'] = 'you received ~y~%sx~s~ ~b~%s~s~ from ~b~%s~s~',
['gave_weapon'] = 'you gave ~y~1x~s~ ~b~%s~s~ to ~y~%s~s~.',
['gave_weapon_ammo'] = 'you gave ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets to ~y~%s~s~.',
['gave_weapon'] = 'you gave ~b~%s~s~ to ~y~%s~s~',
['gave_weapon_ammo'] = 'you gave ~o~%sx~s~ bullets for ~b~%s~s~ to ~y~%s~s~',
['gave_weapon_withammo'] = 'you gave ~b~%s~s~ with ~o~%sx~s~ bullets to ~y~%s~s~',
['gave_weapon_hasalready'] = '~y~%s~s~ already have an ~y~%s~s~',
['received_weapon'] = 'you received ~y~1x~s~ ~b~%s~s~ from ~b~%s~s~.',
['received_weapon_ammo'] = 'you received ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets from ~b~%s~s~.',
['received_weapon_hasalready'] = '~b~%s~s~ attempted to give you an ~y~%s~s~, but you already have one.',
['gave_ammo'] = 'you gave ~o~%sx~s~ bullets to ~y~%s~s~.',
['received_ammo'] = 'you received ~o~%sx~s~ bullets from ~b~%s~s~.',
['gave_weapon_noweapon'] = '~y~%s~s~ does not have that weapon',
['received_weapon'] = 'you received ~b~%s~s~ from ~b~%s~s~',
['received_weapon_ammo'] = 'you received ~o~%sx~s~ bullets for your ~b~%s~s~ from ~b~%s~s~',
['received_weapon_withammo'] = 'you received ~b~%s~s~ with ~o~%sx~s~ bullets from ~b~%s~s~',
['received_weapon_hasalready'] = '~b~%s~s~ attempted to give you an ~y~%s~s~, but you already have one',
['received_weapon_noweapon'] = '~b~%s~s~ attempted to give you ammo for an ~y~%s~s~, but you dont have one',
['gave_ammo'] = 'you gave ~o~%sx~s~ bullets to ~y~%s~s~',
['received_ammo'] = 'you received ~o~%sx~s~ bullets from ~b~%s~s~',
['gave_money'] = 'you gave ~g~$%s~s~ to ~y~%s~s~',
['received_money'] = 'you received ~g~$%s~s~ from ~b~%s~s~',
['gave_account_money'] = 'you gave ~g~$%s~s~ (%s) to ~y~%s~s~',
@@ -33,19 +37,18 @@ Locales['en'] = {
['threw_standard'] = 'you threw ~y~%sx~s~ ~b~%s~s~',
['threw_money'] = 'you threw ~r~$%s~s~ ~b~cash~s~',
['threw_account'] = 'you threw ~r~$%s~s~ ~b~%s~s~',
['threw_weapon'] = 'you threw ~y~1x~s~ ~b~%s~s~',
['threw_weapon_ammo'] = 'you threw ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets',
['threw_weapon'] = 'you threw ~b~%s~s~',
['threw_weapon_ammo'] = 'you threw ~b~%s~s~ with ~o~%sx~s~ bullets',
-- Salary related
['received_salary'] = 'you received your salary: ~g~$%s~s~',
['received_help'] = 'you recieved your welfare check: ~g~$%s~s~',
['company_nomoney'] = 'the company you\'re employeed at is too poor to pay out your salary.',
['company_nomoney'] = 'the company you\'re employeed at is too poor to pay out your salary',
['received_paycheck'] = 'received paycheck',
['bank'] = 'bank',
['black_money'] = 'dirty Money',
['act_imp'] = 'action impossible',
['in_vehicle'] = 'you can\'t give anything to someone in a vehicle',
['cannot_pickup_room'] = 'you do not have enough space in your inventory to pick up ~y~%s~s~!',
-- Commands
['setjob'] = 'assign a job to a user',
+14 -11
View File
@@ -1,7 +1,7 @@
Locales['fi'] = {
-- Inventory
['cash'] = 'käteinen',
['inventory'] = 'reppu',
['inventory'] = 'reppu %s / %s',
['use'] = 'käytä',
['give'] = 'anna',
['remove'] = 'poista',
@@ -13,14 +13,18 @@ Locales['fi'] = {
['noammo'] = 'sinulla ei ole ammuksia!',
['gave_item'] = 'sinä annoit ~y~%sx~s~ ~b~%s~s~ henkilölle ~y~%s~s~',
['received_item'] = 'sinä sait ~y~%sx~s~ ~b~%s~s~ henkilöltä ~b~%s~s~',
['gave_weapon'] = 'you gave ~y~1x~s~ ~b~%s~s~ to ~y~%s~s~.',
['gave_weapon_ammo'] = 'you gave ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets to ~y~%s~s~.',
['gave_weapon'] = 'you gave ~y~1x~s~ ~b~%s~s~ to ~y~%s~s~',
['gave_weapon_ammo'] = 'you gave ~o~%sx~s~ bullets for ~b~%s~s~ to ~y~%s~s~',
['gave_weapon_withammo'] = 'you gave ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets to ~y~%s~s~',
['gave_weapon_hasalready'] = '~y~%s~s~ already have an ~y~%s~s~',
['received_weapon'] = 'you received ~y~1x~s~ ~b~%s~s~ from ~b~%s~s~.',
['received_weapon_ammo'] = 'you received ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets from ~b~%s~s~.',
['received_weapon_hasalready'] = '~b~%s~s~ attempted to give you an ~y~%s~s~, but you already have one.',
['gave_ammo'] = 'sinä annoit ~o~%sx~s~ ammuksia henkilölle ~y~%s~s~.',
['received_ammo'] = 'sinä sait ~o~%sx~s~ ammuksia henkilöltä ~b~%s~s~.',
['gave_weapon_noweapon'] = '~y~%s~s~ does not have that weapon',
['received_weapon'] = 'you received ~y~1x~s~ ~b~%s~s~ from ~b~%s~s~',
['received_weapon_ammo'] = 'you received ~o~%sx~s~ bullets for your ~b~%s~s~ from ~b~%s~s~',
['received_weapon_withammo'] = 'you received ~y~1x~s~ ~b~%s~s~ with ~o~%sx~s~ bullets from ~b~%s~s~',
['received_weapon_hasalready'] = '~b~%s~s~ attempted to give you an ~y~%s~s~, but you already have one',
['received_weapon_noweapon'] = '~b~%s~s~ attempted to give you ammo for an ~y~%s~s~, but you dont have one',
['gave_ammo'] = 'sinä annoit ~o~%sx~s~ ammuksia henkilölle ~y~%s~s~',
['received_ammo'] = 'sinä sait ~o~%sx~s~ ammuksia henkilöltä ~b~%s~s~',
['gave_money'] = 'sinä annoit ~g~$%s~s~ henkilölle ~y~%s~s~',
['received_money'] = 'sinä sait ~g~$%s~s~ henkilöltä ~b~%s~s~',
['gave_account_money'] = 'sinä annoit ~g~$%s~s~ (%s) henkilölle ~y~%s~s~',
@@ -38,14 +42,13 @@ Locales['fi'] = {
-- Salary related
['received_salary'] = 'sinä vastaanotit palkkaa: ~g~$%s~s~',
['received_help'] = 'sinä vastaanotit valtion tukea: ~g~$%s~s~',
['company_nomoney'] = 'yritys jolle teet töitä on köyhä eikä voi maksaa palkkaasi.',
['company_nomoney'] = 'yritys jolle teet töitä on köyhä eikä voi maksaa palkkaasi',
['received_paycheck'] = 'sait palkan',
['bank'] = 'pankki',
['black_money'] = 'likainen Raha',
['act_imp'] = 'toiminto mahdoton',
['in_vehicle'] = 'et voi antaa ajoneuvossa olevalle mitään.',
['cannot_pickup_room'] = 'sinulla ei ole tilaa repussa nostaaksesi ~y~%s~s~!',
['in_vehicle'] = 'et voi antaa ajoneuvossa olevalle mitään',
-- Commands
['setjob'] = 'määritä työ käyttäjälle',
+12 -9
View File
@@ -1,7 +1,7 @@
Locales['fr'] = {
-- Inventory
['cash'] = 'espèces',
['inventory'] = 'inventaire',
['inventory'] = 'inventaire %s / %s',
['use'] = 'utiliser',
['give'] = 'donner',
['remove'] = 'jeter',
@@ -13,14 +13,18 @@ Locales['fr'] = {
['noammo'] = 'tu n\'as pas toutes ces munitions!',
['gave_item'] = 'vous avez donné ~y~%sx~s~ ~b~%s~s~ à ~y~%s~s~',
['received_item'] = 'vous avez reçu ~y~%sx~s~ ~b~%s~s~ par ~b~%s~s~',
['gave_weapon'] = 'vous avez donné ~y~1x~s~ ~b~%s~s~ à ~y~%s~s~.',
['gave_weapon_ammo'] = 'vous avez donné ~y~1x~s~ ~b~%s~s~ avec ~o~%sx~s~ balles à ~y~%s~s~.',
['gave_weapon'] = 'vous avez donné ~y~1x~s~ ~b~%s~s~ à ~y~%s~s~',
['gave_weapon_ammo'] = 'you gave ~o~%sx~s~ bullets for ~b~%s~s~ to ~y~%s~s~',
['gave_weapon_withammo'] = 'vous avez donné ~y~1x~s~ ~b~%s~s~ avec ~o~%sx~s~ balles à ~y~%s~s~',
['gave_weapon_hasalready'] = '~y~%s~s~ a déjà ~y~%s~s~',
['received_weapon'] = 'vous recevez ~y~1x~s~ ~b~%s~s~ de ~b~%s~s~.',
['received_weapon_ammo'] = 'vous avez reçu ~y~1x~s~ ~b~%s~s~ avec ~o~%sx~s~ balles de ~b~%s~s~.',
['received_weapon_hasalready'] = '~b~%s~s~ a tenté de vous donner ~y~%s~s~, mais vous en aviez déjà un exemplaire.',
['gave_ammo'] = 'vous donnez ~o~%sx~s~ munitions à ~y~%s~s~.',
['received_ammo'] = 'vous recevez ~o~%sx~s~ munitions de ~b~%s~s~.',
['gave_weapon_noweapon'] = '~y~%s~s~ does not have that weapon',
['received_weapon'] = 'vous recevez ~y~1x~s~ ~b~%s~s~ de ~b~%s~s~',
['received_weapon_ammo'] = 'you received ~o~%sx~s~ bullets for your ~b~%s~s~ from ~b~%s~s~',
['received_weapon_withammo'] = 'vous avez reçu ~y~1x~s~ ~b~%s~s~ avec ~o~%sx~s~ balles de ~b~%s~s~',
['received_weapon_hasalready'] = '~b~%s~s~ a tenté de vous donner ~y~%s~s~, mais vous en aviez déjà un exemplaire',
['received_weapon_noweapon'] = '~b~%s~s~ attempted to give you ammo for an ~y~%s~s~, but you dont have one',
['gave_ammo'] = 'vous donnez ~o~%sx~s~ munitions à ~y~%s~s~',
['received_ammo'] = 'vous recevez ~o~%sx~s~ munitions de ~b~%s~s~',
['gave_money'] = 'vous avez donné ~g~$%s~s~ à ~y~%s~s~',
['received_money'] = 'vous avez reçu ~g~$%s~s~ par ~b~%s~s~',
['gave_account_money'] = 'vous avez donné ~g~$%s~s~ (%s) à ~y~%s~s~',
@@ -45,7 +49,6 @@ Locales['fr'] = {
['act_imp'] = 'action impossible',
['in_vehicle'] = 'Vous ne pouvez rien donner à quelqu\'un dans un véhicule',
['cannot_pickup_room'] = 'vous n\'avez plus de place pour ~y~%s~s~!',
-- Commands
['setjob'] = 'assigner job',
+15 -12
View File
@@ -1,7 +1,7 @@
Locales['pl'] = {
-- Inventory
['cash'] = 'gotówka',
['inventory'] = 'ekwipunek',
['inventory'] = 'ekwipunek %s / %s',
['use'] = 'użyj',
['give'] = 'daj',
['remove'] = 'usuń',
@@ -13,14 +13,18 @@ Locales['pl'] = {
['noammo'] = 'nie posiadasz wystarczającej ilości amunicji!',
['gave_item'] = 'dajesz ~y~%sx~s~ ~b~%s~s~ dla ~y~%s~s~',
['received_item'] = 'otrzymujesz ~y~%sx~s~ ~b~%s~s~ od ~b~%s~s~',
['gave_weapon'] = 'dajesz ~y~1x~s~ ~b~%s~s~ dla ~y~%s~s~.',
['gave_weapon_ammo'] = 'dałeś/aś ~y~1x~s~ ~b~%s~s~ z ~o~%sx~s~ nabojami dla ~y~%s~s~.',
['gave_weapon'] = 'dajesz ~b~%s~s~ dla ~y~%s~s~',
['gave_weapon_ammo'] = 'you gave ~o~%sx~s~ bullets for ~b~%s~s~ to ~y~%s~s~',
['gave_weapon_withammo'] = 'dałeś/aś ~b~%s~s~ z ~o~%sx~s~ nabojami dla ~y~%s~s~',
['gave_weapon_hasalready'] = '~y~%s~s~ już posiada ~y~%s~s~',
['received_weapon'] = 'otrzymałeś/aś ~y~1x~s~ ~b~%s~s~ od ~b~%s~s~.',
['received_weapon_ammo'] = 'otrzymałeś/aś ~y~1x~s~ ~b~%s~s~ z ~o~%sx~s~ nabojami od ~b~%s~s~.',
['received_weapon_hasalready'] = '~b~%s~s~ próbował/a przekazać ci ~y~%s~s~, lecz już posiadasz jedno.',
['gave_ammo'] = 'dajesz ~o~%sx~s~ naboje dla ~y~%s~s~.',
['received_ammo'] = 'otrzymujesz ~o~%sx~s~ naboje od ~b~%s~s~.',
['gave_weapon_noweapon'] = '~y~%s~s~ does not have that weapon',
['received_weapon'] = 'otrzymałeś/aś ~b~%s~s~ od ~b~%s~s~',
['received_weapon_ammo'] = 'you received ~o~%sx~s~ bullets for your ~b~%s~s~ from ~b~%s~s~',
['received_weapon_withammo'] = 'otrzymałeś/aś ~b~%s~s~ z ~o~%sx~s~ nabojami od ~b~%s~s~',
['received_weapon_hasalready'] = '~b~%s~s~ próbował/a przekazać ci ~y~%s~s~, lecz już posiadasz jedno',
['received_weapon_noweapon'] = '~b~%s~s~ attempted to give you ammo for an ~y~%s~s~, but you dont have one',
['gave_ammo'] = 'dajesz ~o~%sx~s~ naboje dla ~y~%s~s~',
['received_ammo'] = 'otrzymujesz ~o~%sx~s~ naboje od ~b~%s~s~',
['gave_money'] = 'dajesz ~g~%s$~s~ dla ~y~%s~s~',
['received_money'] = 'otrzymujesz ~g~%s$~s~ od ~b~%s~s~',
['gave_account_money'] = 'dajesz ~g~%s$~s~ (%s) dla ~y~%s~s~',
@@ -33,19 +37,18 @@ Locales['pl'] = {
['threw_standard'] = 'wyrzuciłeś/aś ~y~%sx~s~ ~b~%s~s~',
['threw_money'] = 'wyrzuciłeś/aś ~r~$%s~s~ ~b~gotówki~s~',
['threw_account'] = 'wyrzuciłeś/aś ~r~$%s~s~ ~b~%s~s~',
['threw_weapon'] = 'wyrzuciłeś/aś ~y~1x~s~ ~b~%s~s~',
['threw_weapon_ammo'] = 'wyrzuciłeś/aś ~y~1x~s~ ~b~%s~s~ z ~o~%sx~s~ nabojami',
['threw_weapon'] = 'wyrzuciłeś/aś ~b~%s~s~',
['threw_weapon_ammo'] = 'wyrzuciłeś/aś ~b~%s~s~ z ~o~%sx~s~ nabojami',
-- Salary related
['received_salary'] = 'otrzymałeś wynagrodzenie: ~g~%s$~s~',
['received_help'] = 'otrzymałem zapomogę: ~g~$%s~s~',
['company_nomoney'] = 'firma, w której pracujesz, jest zbyt biedna, by wypłacić twoją pensję.',
['company_nomoney'] = 'firma, w której pracujesz, jest zbyt biedna, by wypłacić twoją pensję',
['received_paycheck'] = 'otrzymana wypłata',
['bank'] = 'bank',
['black_money'] = 'brudne pieniądze',
['act_imp'] = 'działanie niemożliwe',
['in_vehicle'] = 'nie możesz przekazywać przedmiotów w pojeździe',
['cannot_pickup_room'] = 'nie masz wystarczająco dużo miejsca w ekwipunku, aby podnieść ~y~%s~s~!',
-- Commands
['setjob'] = 'przydziel prace użytkownikowi',
+16 -13
View File
@@ -1,7 +1,7 @@
Locales['sv'] = {
-- Inventory
['cash'] = 'kontanter',
['inventory'] = 'mitt förråd',
['inventory'] = 'mitt förråd %s / %s',
['use'] = 'använd',
['give'] = 'ge',
['remove'] = 'kasta',
@@ -13,14 +13,18 @@ Locales['sv'] = {
['noammo'] = 'du har inte tillräckligt med ammunition!',
['gave_item'] = 'du gav ~y~%sx~s~ ~b~%s~s~ till ~y~%s~s~',
['received_item'] = 'du tog emot ~y~%sx~s~ ~b~%s~s~ från ~b~%s~s~',
['gave_weapon'] = 'du gav ~y~1x~s~ ~b~%s~s~ till ~y~%s~s~.',
['gave_weapon_ammo'] = 'du gav ~y~1x~s~ ~b~%s~s~ med ~o~%sx~s~ skott till ~y~%s~s~.',
['gave_weapon'] = 'du gav ~b~%s~s~ till ~y~%s~s~',
['gave_weapon_ammo'] = 'you gave ~o~%sx~s~ bullets for ~b~%s~s~ to ~y~%s~s~',
['gave_weapon_withammo'] = 'du gav ~b~%s~s~ med ~o~%sx~s~ skott till ~y~%s~s~',
['gave_weapon_hasalready'] = '~y~%s~s~ har redan en ~y~%s~s~',
['received_weapon'] = 'du tog emot ~y~1x~s~ ~b~%s~s~ från ~b~%s~s~.',
['received_weapon_ammo'] = 'du tog emot ~y~1x~s~ ~b~%s~s~ med ~o~%sx~s~ skott från ~b~%s~s~.',
['received_weapon_hasalready'] = '~b~%s~s~ försökte ge dig en ~y~%s~s~, men det har du redan.',
['gave_ammo'] = 'du gav ~o~%sx~s~ skott till ~y~%s~s~.',
['received_ammo'] = 'du tog emot ~o~%sx~s~ skott från ~b~%s~s~.',
['gave_weapon_noweapon'] = '~y~%s~s~ does not have that weapon',
['received_weapon'] = 'du tog emot ~b~%s~s~ från ~b~%s~s~',
['received_weapon_ammo'] = 'you received ~o~%sx~s~ bullets for your ~b~%s~s~ from ~b~%s~s~',
['received_weapon_withammo'] = 'du tog emot ~b~%s~s~ med ~o~%sx~s~ skott från ~b~%s~s~',
['received_weapon_hasalready'] = '~b~%s~s~ försökte ge dig en ~y~%s~s~, men det har du redan',
['received_weapon_noweapon'] = '~b~%s~s~ attempted to give you ammo for an ~y~%s~s~, but you dont have one',
['gave_ammo'] = 'du gav ~o~%sx~s~ skott till ~y~%s~s~',
['received_ammo'] = 'du tog emot ~o~%sx~s~ skott från ~b~%s~s~',
['gave_money'] = 'du gav ~g~%s SEK~s~ till ~y~%s~s~',
['received_money'] = 'du tog emot ~g~%s SEK~s~ från ~b~%s~s~',
['gave_account_money'] = 'du gav ~g~%s SEK~s~ (%s) till ~y~%s~s~',
@@ -33,22 +37,21 @@ Locales['sv'] = {
['threw_standard'] = 'du kastade ~y~%sx~s~ ~b~%s~s~',
['threw_money'] = 'du kastade ~r~$%s~s~ ~b~kontanter~s~',
['threw_account'] = 'du kastade ~r~$%s~s~ ~b~%s~s~',
['threw_weapon'] = 'du kastade ~y~1x~s~ ~b~%s~s~',
['threw_weapon_ammo'] = 'du kastade ~y~1x~s~ ~b~%s~s~ med ~o~%sx~s~ skott',
['threw_weapon'] = 'du kastade ~b~%s~s~',
['threw_weapon_ammo'] = 'du kastade ~b~%s~s~ med ~o~%sx~s~ skott',
-- Salary related
['received_salary'] = 'du har mottagit din lön på ~g~%s SEK~s~',
['received_help'] = 'du har mottagit bidrag på ~g~%s SEK~s~',
['company_nomoney'] = 'företaget du är anställt hos har inte råd att betala ut din lön.',
['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',
['black_money'] = 'svarta pengar',
['act_imp'] = 'åtgärd omöjlig',
['in_vehicle'] = 'du kan inte ge saker till en som sitter i ett fordon!',
['cannot_pickup_room'] = 'du har inte plats för att plocka upp ~y~%s~s~!',
-- Commands
['setjob'] = 'tilldela ett jobb till en användare',
['setjob'] = 'tilldela ett jobb till en spelare',
['id_param'] = 'spelarens ID',
['setjob_param2'] = 'det jobb du vill tilldela',
['setjob_param3'] = 'job level',
+60 -22
View File
@@ -8,6 +8,7 @@ function CreateExtendedPlayer(player, accounts, inventory, job, loadout, name, l
self.loadout = loadout
self.name = name
self.lastPosition = lastPosition
self.maxWeight = Config.MaxWeight
self.source = self.player.get('source')
self.identifier = self.player.get('identifier')
@@ -350,6 +351,28 @@ function CreateExtendedPlayer(player, accounts, inventory, job, loadout, name, l
end
end
self.getWeight = function()
local inventoryWeight = 0
for k,v in ipairs(self.inventory) do
inventoryWeight = inventoryWeight + (v.count * v.weight)
end
return inventoryWeight
end
self.canCarryItem = function(name, count)
local currentWeight, itemWeight = self.getWeight(), ESX.Items[name].weight
local newWeight = currentWeight + (itemWeight * count)
return newWeight <= self.maxWeight
end
self.setMaxWeight = function(newWeight)
self.maxWeight = newWeight
TriggerClientEvent('esx:setMaxWeight', self.source, self.maxWeight)
end
self.setJob = function(job, grade)
grade = tostring(grade)
local lastJob = json.decode(json.encode(self.job))
@@ -403,13 +426,21 @@ function CreateExtendedPlayer(player, accounts, inventory, job, loadout, name, l
self.addWeaponComponent = function(weaponName, weaponComponent)
local loadoutNum, weapon = self.getWeapon(weaponName)
if self.hasWeaponComponent(weaponName, weaponComponent) then
return
if weapon then
if not self.hasWeaponComponent(weaponName, weaponComponent) then
table.insert(self.loadout[loadoutNum].components, weaponComponent)
TriggerClientEvent('esx:addWeaponComponent', self.source, weaponName, weaponComponent)
end
end
end
table.insert(self.loadout[loadoutNum].components, weaponComponent)
self.addWeaponAmmo = function(weaponName, ammoCount)
local loadoutNum, weapon = self.getWeapon(weaponName)
TriggerClientEvent('esx:addWeaponComponent', self.source, weaponName, weaponComponent)
if weapon then
weapon.ammo = weapon.ammo + ammoCount
TriggerClientEvent('esx:setWeaponAmmo', self.source, weaponName, weapon.ammo)
end
end
self.removeWeapon = function(weaponName, ammo)
@@ -437,34 +468,41 @@ function CreateExtendedPlayer(player, accounts, inventory, job, loadout, name, l
self.removeWeaponComponent = function(weaponName, weaponComponent)
local loadoutNum, weapon = self.getWeapon(weaponName)
if not weapon then
return
end
for k,v in ipairs(self.loadout[loadoutNum].components) do
if v.name == weaponComponent then
table.remove(self.loadout[loadoutNum].components, k)
break
if weapon then
for k,v in ipairs(self.loadout[loadoutNum].components) do
if v.name == weaponComponent then
table.remove(self.loadout[loadoutNum].components, k)
break
end
end
TriggerClientEvent('esx:removeWeaponComponent', self.source, weaponName, weaponComponent)
end
end
TriggerClientEvent('esx:removeWeaponComponent', self.source, weaponName, weaponComponent)
self.removeWeaponAmmo = function(weaponName, ammoCount)
local loadoutNum, weapon = self.getWeapon(weaponName)
if weapon then
weapon.ammo = weapon.ammo - ammoCount
TriggerClientEvent('esx:setWeaponAmmo', self.source, weaponName, weapon.ammo)
end
end
self.hasWeaponComponent = function(weaponName, weaponComponent)
local loadoutNum, weapon = self.getWeapon(weaponName)
if not weapon then
if weapon then
for k,v in ipairs(weapon.components) do
if v == weaponComponent then
return true
end
end
return false
else
return false
end
for k,v in ipairs(weapon.components) do
if v == weaponComponent then
return true
end
end
return false
end
self.hasWeapon = function(weaponName)
+16 -16
View File
@@ -1,14 +1,14 @@
ESX = {}
ESX.Players = {}
ESX = {}
ESX.Players = {}
ESX.UsableItemsCallbacks = {}
ESX.Items = {}
ESX.ServerCallbacks = {}
ESX.TimeoutCount = -1
ESX.CancelledTimeouts = {}
ESX.LastPlayerData = {}
ESX.Pickups = {}
ESX.PickupId = 0
ESX.Jobs = {}
ESX.Items = {}
ESX.ServerCallbacks = {}
ESX.TimeoutCount = -1
ESX.CancelledTimeouts = {}
ESX.LastPlayerData = {}
ESX.Pickups = {}
ESX.PickupId = 0
ESX.Jobs = {}
AddEventHandler('esx:getSharedObject', function(cb)
cb(ESX)
@@ -20,12 +20,12 @@ end
MySQL.ready(function()
MySQL.Async.fetchAll('SELECT * FROM items', {}, function(result)
for i=1, #result, 1 do
ESX.Items[result[i].name] = {
label = result[i].label,
limit = result[i].limit,
rare = (result[i].rare == 1 and true or false),
canRemove = (result[i].can_remove == 1 and true or false),
for k,v in ipairs(result) do
ESX.Items[v.name] = {
label = v.label,
weight = v.weight,
rare = v.rare,
canRemove = v.can_remove
}
end
end)
+73 -105
View File
@@ -47,26 +47,26 @@ AddEventHandler('es:playerLoaded', function(source, _player)
-- Get inventory
table.insert(tasks, function(cb)
MySQL.Async.fetchAll('SELECT * FROM user_inventory WHERE identifier = @identifier', {
MySQL.Async.fetchAll('SELECT item, count FROM user_inventory WHERE identifier = @identifier', {
['@identifier'] = player.getIdentifier()
}, function(inventory)
local tasks2 = {}
for i=1, #inventory do
local item = ESX.Items[inventory[i].item]
for k,v in ipairs(inventory) do
local item = ESX.Items[v.item]
if item then
table.insert(userData.inventory, {
name = inventory[i].item,
count = inventory[i].count,
name = v.item,
count = v.count,
label = item.label,
limit = item.limit,
usable = ESX.UsableItemsCallbacks[inventory[i].item] ~= nil,
weight = item.weight,
usable = ESX.UsableItemsCallbacks[v.item] ~= nil,
rare = item.rare,
canRemove = item.canRemove
})
else
print(('es_extended: invalid item "%s" ignored!'):format(inventory[i].item))
print(('es_extended: invalid item "%s" ignored!'):format(v.item))
end
end
@@ -85,7 +85,7 @@ AddEventHandler('es:playerLoaded', function(source, _player)
name = k,
count = 0,
label = ESX.Items[k].label,
limit = ESX.Items[k].limit,
weight = ESX.Items[k].weight,
usable = ESX.UsableItemsCallbacks[k] ~= nil,
rare = ESX.Items[k].rare,
canRemove = ESX.Items[k].canRemove
@@ -230,7 +230,8 @@ AddEventHandler('es:playerLoaded', function(source, _player)
job = xPlayer.getJob(),
loadout = xPlayer.getLoadout(),
lastPosition = xPlayer.getLastPosition(),
money = xPlayer.getMoney()
money = xPlayer.getMoney(),
maxWeight = xPlayer.maxWeight
})
xPlayer.displayMoney(xPlayer.getMoney())
@@ -269,179 +270,161 @@ end)
RegisterServerEvent('esx:giveInventoryItem')
AddEventHandler('esx:giveInventoryItem', function(target, type, itemName, itemCount)
local _source = source
local sourceXPlayer = ESX.GetPlayerFromId(_source)
local playerId = source
local sourceXPlayer = ESX.GetPlayerFromId(playerId)
local targetXPlayer = ESX.GetPlayerFromId(target)
if type == 'item_standard' then
local sourceItem = sourceXPlayer.getInventoryItem(itemName)
local targetItem = targetXPlayer.getInventoryItem(itemName)
if itemCount > 0 and sourceItem.count >= itemCount then
if targetItem.limit ~= -1 and (targetItem.count + itemCount) > targetItem.limit then
TriggerClientEvent('esx:showNotification', _source, _U('ex_inv_lim', targetXPlayer.name))
else
if targetXPlayer.canCarryItem(itemName, itemCount) then
sourceXPlayer.removeInventoryItem(itemName, itemCount)
targetXPlayer.addInventoryItem (itemName, itemCount)
TriggerClientEvent('esx:showNotification', _source, _U('gave_item', itemCount, ESX.Items[itemName].label, targetXPlayer.name))
TriggerClientEvent('esx:showNotification', target, _U('received_item', itemCount, ESX.Items[itemName].label, sourceXPlayer.name))
sourceXPlayer.showNotification(_U('gave_item', itemCount, sourceItem.label, targetXPlayer.name))
targetXPlayer.showNotification(_U('received_item', itemCount, sourceItem.label, sourceXPlayer.name))
else
sourceXPlayer.showNotification(_U('ex_inv_lim', targetXPlayer.name))
end
else
TriggerClientEvent('esx:showNotification', _source, _U('imp_invalid_quantity'))
sourceXPlayer.showNotification(_U('imp_invalid_quantity'))
end
elseif type == 'item_money' then
if itemCount > 0 and sourceXPlayer.getMoney() >= itemCount then
sourceXPlayer.removeMoney(itemCount)
targetXPlayer.addMoney (itemCount)
TriggerClientEvent('esx:showNotification', _source, _U('gave_money', ESX.Math.GroupDigits(itemCount), targetXPlayer.name))
TriggerClientEvent('esx:showNotification', target, _U('received_money', ESX.Math.GroupDigits(itemCount), sourceXPlayer.name))
sourceXPlayer.showNotification(_U('gave_money', ESX.Math.GroupDigits(itemCount), targetXPlayer.name))
targetXPlayer.showNotification(_U('received_money', ESX.Math.GroupDigits(itemCount), sourceXPlayer.name))
else
TriggerClientEvent('esx:showNotification', _source, _U('imp_invalid_amount'))
sourceXPlayer.showNotification(_U('imp_invalid_amount'))
end
elseif type == 'item_account' then
if itemCount > 0 and sourceXPlayer.getAccount(itemName).money >= itemCount then
sourceXPlayer.removeAccountMoney(itemName, itemCount)
targetXPlayer.addAccountMoney (itemName, itemCount)
TriggerClientEvent('esx:showNotification', _source, _U('gave_account_money', ESX.Math.GroupDigits(itemCount), Config.AccountLabels[itemName], targetXPlayer.name))
TriggerClientEvent('esx:showNotification', target, _U('received_account_money', ESX.Math.GroupDigits(itemCount), Config.AccountLabels[itemName], sourceXPlayer.name))
sourceXPlayer.showNotification(_U('gave_account_money', ESX.Math.GroupDigits(itemCount), Config.AccountLabels[itemName], targetXPlayer.name))
targetXPlayer.showNotification(_U('received_account_money', ESX.Math.GroupDigits(itemCount), Config.AccountLabels[itemName], sourceXPlayer.name))
else
TriggerClientEvent('esx:showNotification', _source, _U('imp_invalid_amount'))
sourceXPlayer.showNotification(_U('imp_invalid_amount'))
end
elseif type == 'item_weapon' then
if not targetXPlayer.hasWeapon(itemName) then
sourceXPlayer.removeWeapon(itemName)
targetXPlayer.addWeapon(itemName, itemCount)
local weaponLabel = ESX.GetWeaponLabel(itemName)
if itemCount > 0 then
TriggerClientEvent('esx:showNotification', _source, _U('gave_weapon_ammo', weaponLabel, itemCount, targetXPlayer.name))
TriggerClientEvent('esx:showNotification', target, _U('received_weapon_ammo', weaponLabel, itemCount, sourceXPlayer.name))
sourceXPlayer.showNotification(_U('gave_weapon_withammo', weaponLabel, itemCount, targetXPlayer.name))
targetXPlayer.showNotification(_U('received_weapon_withammo', weaponLabel, itemCount, sourceXPlayer.name))
else
TriggerClientEvent('esx:showNotification', _source, _U('gave_weapon', weaponLabel, targetXPlayer.name))
TriggerClientEvent('esx:showNotification', target, _U('received_weapon', weaponLabel, sourceXPlayer.name))
sourceXPlayer.showNotification(_U('gave_weapon', weaponLabel, targetXPlayer.name))
targetXPlayer.showNotification(_U('received_weapon', weaponLabel, sourceXPlayer.name))
end
else
TriggerClientEvent('esx:showNotification', _source, _U('gave_weapon_hasalready', targetXPlayer.name, weaponLabel))
TriggerClientEvent('esx:showNotification', target, _U('received_weapon_hasalready', sourceXPlayer.name, weaponLabel))
sourceXPlayer.showNotification(_U('gave_weapon_hasalready', targetXPlayer.name, weaponLabel))
targetXPlayer.showNotification(_U('received_weapon_hasalready', sourceXPlayer.name, weaponLabel))
end
elseif type == 'item_ammo' then
if sourceXPlayer.hasWeapon(itemName) then
if targetXPlayer.hasWeapon(itemName) then
local weaponNum, weapon = sourceXPlayer.getWeapon(itemName)
if weapon.ammo >= itemCount then
sourceXPlayer.removeWeaponAmmo(itemName, itemCount)
targetXPlayer.addWeaponAmmo(itemName, itemCount)
sourceXPlayer.showNotification(_U('gave_weapon_ammo', itemCount, weapon.label, targetXPlayer.name))
targetXPlayer.showNotification(_U('received_weapon_ammo', itemCount, weapon.label, sourceXPlayer.name))
end
else
sourceXPlayer.showNotification(_U('gave_weapon_noweapon', targetXPlayer.name))
targetXPlayer.showNotification(_U('received_weapon_noweapon', sourceXPlayer.name, weapon.label))
end
end
end
end)
RegisterServerEvent('esx:removeInventoryItem')
AddEventHandler('esx:removeInventoryItem', function(type, itemName, itemCount)
local _source = source
local playerId = source
local xPlayer = ESX.GetPlayerFromId(source)
if type == 'item_standard' then
if itemCount == nil or itemCount < 1 then
TriggerClientEvent('esx:showNotification', _source, _U('imp_invalid_quantity'))
xPlayer.showNotification(_U('imp_invalid_quantity'))
else
local xPlayer = ESX.GetPlayerFromId(source)
local xItem = xPlayer.getInventoryItem(itemName)
if (itemCount > xItem.count or xItem.count < 1) then
TriggerClientEvent('esx:showNotification', _source, _U('imp_invalid_quantity'))
xPlayer.showNotification(_U('imp_invalid_quantity'))
else
xPlayer.removeInventoryItem(itemName, itemCount)
local pickupLabel = ('~y~%s~s~ [~b~%s~s~]'):format(xItem.label, itemCount)
ESX.CreatePickup('item_standard', itemName, itemCount, pickupLabel, _source)
TriggerClientEvent('esx:showNotification', _source, _U('threw_standard', itemCount, xItem.label))
ESX.CreatePickup('item_standard', itemName, itemCount, pickupLabel, playerId)
xPlayer.showNotification(_U('threw_standard', itemCount, xItem.label))
end
end
elseif type == 'item_money' then
if itemCount == nil or itemCount < 1 then
TriggerClientEvent('esx:showNotification', _source, _U('imp_invalid_amount'))
xPlayer.showNotification(_U('imp_invalid_amount'))
else
local xPlayer = ESX.GetPlayerFromId(source)
local playerCash = xPlayer.getMoney()
if (itemCount > playerCash or playerCash < 1) then
TriggerClientEvent('esx:showNotification', _source, _U('imp_invalid_amount'))
xPlayer.showNotification(_U('imp_invalid_amount'))
else
xPlayer.removeMoney(itemCount)
local pickupLabel = ('~y~%s~s~ [~g~%s~s~]'):format(_U('cash'), _U('locale_currency', ESX.Math.GroupDigits(itemCount)))
ESX.CreatePickup('item_money', 'money', itemCount, pickupLabel, _source)
TriggerClientEvent('esx:showNotification', _source, _U('threw_money', ESX.Math.GroupDigits(itemCount)))
ESX.CreatePickup('item_money', 'money', itemCount, pickupLabel, playerId)
xPlayer.showNotification(_U('threw_money', ESX.Math.GroupDigits(itemCount)))
end
end
elseif type == 'item_account' then
if itemCount == nil or itemCount < 1 then
TriggerClientEvent('esx:showNotification', _source, _U('imp_invalid_amount'))
xPlayer.showNotification(_U('imp_invalid_amount'))
else
local xPlayer = ESX.GetPlayerFromId(source)
local account = xPlayer.getAccount(itemName)
if (itemCount > account.money or account.money < 1) then
TriggerClientEvent('esx:showNotification', _source, _U('imp_invalid_amount'))
xPlayer.showNotification(_U('imp_invalid_amount'))
else
xPlayer.removeAccountMoney(itemName, itemCount)
local pickupLabel = ('~y~%s~s~ [~g~%s~s~]'):format(account.label, _U('locale_currency', ESX.Math.GroupDigits(itemCount)))
ESX.CreatePickup('item_account', itemName, itemCount, pickupLabel, _source)
TriggerClientEvent('esx:showNotification', _source, _U('threw_account', ESX.Math.GroupDigits(itemCount), string.lower(account.label)))
ESX.CreatePickup('item_account', itemName, itemCount, pickupLabel, playerId)
xPlayer.showNotification(_U('threw_account', ESX.Math.GroupDigits(itemCount), string.lower(account.label)))
end
end
elseif type == 'item_weapon' then
local xPlayer = ESX.GetPlayerFromId(source)
local loadout = xPlayer.getLoadout()
for i=1, #loadout, 1 do
if loadout[i].name == itemName then
itemCount = loadout[i].ammo
break
end
end
if xPlayer.hasWeapon(itemName) then
local weaponLabel, weaponPickup = ESX.GetWeaponLabel(itemName), 'PICKUP_' .. string.upper(itemName)
local weaponNum, weapon = xPlayer.getWeapon(itemName)
local weaponPickup = 'PICKUP_' .. string.upper(itemName)
xPlayer.removeWeapon(itemName)
if itemCount > 0 then
TriggerClientEvent('esx:pickupWeapon', _source, weaponPickup, itemName, itemCount)
TriggerClientEvent('esx:showNotification', _source, _U('threw_weapon_ammo', weaponLabel, itemCount))
if weapon.ammo > 0 then
TriggerClientEvent('esx:pickupWeapon', playerId, weaponPickup, itemName, weapon.ammo)
xPlayer.showNotification(_U('threw_weapon_ammo', weapon.label, weapon.ammo))
else
-- workaround for CreateAmbientPickup() giving 30 rounds of ammo when you drop the weapon with 0 ammo
TriggerClientEvent('esx:pickupWeapon', _source, weaponPickup, itemName, 1)
TriggerClientEvent('esx:showNotification', _source, _U('threw_weapon', weaponLabel))
TriggerClientEvent('esx:pickupWeapon', playerId, weaponPickup, itemName, 1)
xPlayer.showNotification(_U('threw_weapon', weapon.label))
end
end
end
end)
RegisterServerEvent('esx:useItem')
AddEventHandler('esx:useItem', function(itemName)
local xPlayer = ESX.GetPlayerFromId(source)
local count = xPlayer.getInventoryItem(itemName).count
local count = xPlayer.getInventoryItem(itemName).count
if count > 0 then
ESX.UseItem(source, itemName)
else
TriggerClientEvent('esx:showNotification', xPlayer.source, _U('act_imp'))
xPlayer.showNotification(_U('act_imp'))
end
end)
@@ -452,25 +435,10 @@ AddEventHandler('esx:onPickup', function(id)
local xPlayer = ESX.GetPlayerFromId(_source)
if pickup.type == 'item_standard' then
local item = xPlayer.getInventoryItem(pickup.name)
local canTake = ((item.limit == -1) and (pickup.count)) or ((item.limit - item.count > 0) and (item.limit - item.count)) or 0
local total = pickup.count < canTake and pickup.count or canTake
local remaining = pickup.count - total
TriggerClientEvent('esx:removePickup', -1, id)
if total > 0 then
xPlayer.addInventoryItem(pickup.name, total)
if xPlayer.canCarryItem(pickup.name, pickup.count) then
xPlayer.addInventoryItem(pickup.name, pickup.count)
TriggerClientEvent('esx:removePickup', -1, id)
end
if remaining > 0 then
TriggerClientEvent('esx:showNotification', _source, _U('cannot_pickup_room', item.label))
local pickupLabel = ('~y~%s~s~ [~b~%s~s~]'):format(item.label, remaining)
ESX.CreatePickup('item_standard', pickup.name, remaining, pickupLabel, _source)
end
elseif pickup.type == 'item_money' then
TriggerClientEvent('esx:removePickup', -1, id)
xPlayer.addMoney(pickup.count)