1
0
Fork 0
forked from Simnation/Main
This commit is contained in:
Nordi98 2025-07-09 19:36:36 +02:00
parent 7f26844507
commit a2990fe815
120 changed files with 0 additions and 0 deletions

View file

@ -1,174 +0,0 @@
local admin = nil
---@return boolean
function isPlayerAdmin()
if admin == nil then
admin = lib.callback.await("tgiann-inventory:server:isAdmin", false)
end
return admin
end
---@param job string
---@return boolean
function isPolice(job)
for i = 1, #config.weaponPoliceJobs do
if config.weaponPoliceJobs[i] == job then
return true
end
end
return false
end
---@param bool boolean
function hotbarIsOpenEditable(bool)
TriggerEvent("tgiann-inventory:hotbar", bool)
end
---@return boolean
function canOpen()
if not PlayerData then PlayerData = exports["tgiann-core"]:getPlayerData() end
return not IsNuiFocused() and not IsDisabledControlPressed(0, 19) and client.inventoryActive and not client.isDead and not IsPauseMenuActive() and client.playerLoaded and not PlayerData.metadata.kelepce and not PlayerData.metadata.pkelepce
end
---@param text string
---@param type? "me" | "do"
function emote(text, type)
if not config.autoEmote then return end
ExecuteCommand((type or "me") .. " " .. text)
end
RegisterNetEvent('tgiann-inventory:emote')
AddEventHandler('tgiann-inventory:emote', emote)
function opened()
TriggerEvent("tgiann-hud:ui", false)
TriggerEvent("tgiann-lumihud:ui", false)
end
function closed()
TriggerEvent("tgiann-hud:ui", true)
TriggerEvent("tgiann-lumihud:ui", true)
end
---@return boolean
function disableClotheButton()
--[[ local onDuty = false
if PlayerData.job.name == "police" then
onDuty = PlayerData.job.onduty
end
return onDuty or (exports["tgiann-event"]:joinedAnyEvent() and true or false ) or exports["tgiann-clothing"]:isInspect() ]]
return false
end
---@param vehicle number
---@return {maxweight: number, slots: number}
function getTrunkData(vehicle)
local modelData = config.vehicleModelSlotsMaxWeights[GetEntityModel(vehicle)]
if modelData then
return {
maxweight = modelData.maxWeight,
slots = modelData.slots,
}
end
local classData = config.vehicleClassSlotsMaxWeights[GetVehicleClass(vehicle)]
if classData then
return {
maxweight = classData.maxWeight,
slots = classData.slots,
}
end
return {
maxweight = 10000,
slots = 5,
}
end
---@return boolean
function removeWeaponCustom()
--[[ if exports["tgiann-pvpinventory"]:isActive() then
SetCurrentWeapon()
return true
end ]]
return false
end
---@return boolean
function dropWeaponWhenDieEditable()
--[[ local zoneIsRed = exports["tgiann-safezone"]:getZoneType() == "red"
if zoneIsRed and exports["tgiann-police"]:playerIsPolice() then
return
end
if zoneIsRed and PlayerData.metadata.vip.level == 2 and math.random(1, 100) >= 50 then -- 2 Level VIP Özelliği %50 silah düşme oranı
TriggerEvent("inventory:client:removeWeapon")
return
end ]]
return true
end
---@param status { hunger?:number, thirst?:number }
function setPlayerStatus(status)
if config.framework == "esx" then
if status.hunger then
TriggerEvent("esx_status:getStatus", "hunger", function(value)
value.set(value.val + status.hunger)
end)
end
if status.thirst then
TriggerEvent("esx_status:getStatus", "thirst", function(value)
value.set(value.val + status.thirst)
end)
end
elseif config.framework == "qb" then
if status.hunger then
TriggerServerEvent("consumables:server:addHunger", tgiCore.core.Functions.GetPlayerData().metadata.hunger + status.hunger)
end
if status.thirst then
TriggerServerEvent("consumables:server:addThirst", tgiCore.core.Functions.GetPlayerData().metadata.thirst + status.thirst)
end
end
end
---@param itemConfig table
---@param itemName string
function editableAddCarryItem(itemConfig, itemName)
-- LocalPlayer.state:set('hrCarry', itemName, false)
end
---@param carryItem {object:number, item:string}
function editableRemoveCarryItem(carryItem)
-- LocalPlayer.state:set('hrCarry', nil, false)
end
---@return boolean
function canUseRealisticArmor()
return true
end
---@param targetPlayerPed number PlayerPedId
---@param targetPlayerServerId number PlayerServerId
function canRobTarget(targetPlayerPed, targetPlayerServerId)
local isDead = tgiCore.IsTargetDead(targetPlayerServerId)
if isDead then return config.searchPlayer.deadPlayer, lang.robDeadError end
if not config.searchPlayer.animation.active then return true end
for i = 1, #config.searchPlayer.animation.list do
local data = config.searchPlayer.animation.list[i]
if IsEntityPlayingAnim(targetPlayerPed, data.name, data.anim, 3) then
return true
end
end
return false, lang.robAnimationError
end
---@param enable boolean
function setFastSlotsEnable(enable)
client.fastSlotsEnable = enable
end
exports("SetFastSlotsEnable", setFastSlotsEnable)

View file

@ -1,29 +0,0 @@
-- headerClickMainFunction and headerClickShopFunction are test functions, you may need to edit them or delete them from config
function headerClickMainFunction()
--[[
-- Example
CloseInventory()
while IsNuiFocused() do Wait(100) end
exports["tgiann-esc"]:open() ]]
tgiCore.notif("I'm test button please edit me from client/topHeader.lua", 10000, "error")
end
function headerClickShopFunction()
--exports["tgiann-coinshop"]:openUi() -- Example
tgiCore.notif("I'm test button please edit me from client/topHeader.lua", 10000, "error")
end
function headerClickSettingsFunction()
CloseInventory()
while IsNuiFocused() do Wait(100) end
ActivateFrontendMenu(`FE_MENU_VERSION_LANDING_MENU`, 0, -1)
end
function headerClickCraftFunction()
TriggerEvent("tgiann-inventory:craft:openDefault")
end
RegisterNUICallback("headerClick", function(funcName, cb)
_G[funcName]()
cb("")
end)

View file

@ -1,409 +0,0 @@
--[[
- this script needs tgiann-core script to work, you can download the script from your keymaster account
Start tgiann-core script after es_extented/qb-core script and before tgiann-* scripts
Adjust the tgiann-core config file according to the framework you are using
Docs: https://tgiann.gitbook.io/tgiann/scripts/tgiann-inventory
Other Language Files: https://discord.com/channels/813192868906532905/1307000341547454595 (Discord > Translations Thread)
]]
tgiCoreExports = exports["tgiann-core"]
config = tgiCoreExports:getConfig()
config.lang = "en"
-- The config.locale value is retrieved from tgiann-core.
config.locale.symbol = "$"
-- Recommendation:
-- It is recommended to use the needRegisterStash setting or disableClientOpenInventory setting to true.
-- If needRegisterStash is true, inventories not registered by the client cannot be opened
-- If disableClientOpenInventory is true, the client will not be able to trigger openinventory events or exports, so cheaters will not be able to open inventories on client side.
-- if you activate these two settings, you should edit all your scripts and move the openinventory exports or events to the server side.
-- while doing this, you must first register the inventory with register stash and write extra protections in your server side event that opens the inventory.
-- for example, if it is a police stash, checking the player's job first is an extra precaution against cheaters.
config.needRegisterStash = false -- When true, the inventory must be registered with RegisterStash for stash and craft inventories. if the inventory is not registered. you cannot open the inventory with openInventory
config.disableClientOpenInventory = {
disabled = false, -- When true, openinventory events and exports triggered from client will not work
ignoreTypeList = { -- When the type is in this list, it will not be disabled
glovebox = true, -- Don't remove this
trunk = true, -- Don't remove this
drop = true, -- Don't remove this
crafting = true,
--shop = true
}
}
config.moneyAsItem = { -- https://docs.tgiann.com/scripts/tgiann-inventory/how-do-money-as-item
active = true,
items = {
-- item name / money type
qb = { -- for qb and qbox
money_item = "cash",
-- black_money = "black_money" -- for black money
},
esx = { -- for esx
money_item = "money",
-- black_money = "black_money" -- for black money
},
}
}
config.blockWeaponWheel = true -- If you don't have a script that blocks weaponwheel make it true, if you do have a script than false
config.preventHandWeaponChangingSlots = true -- prevents the player from changing the slot of the weapon they are using
config.showItemLabelOnMainInventory = false -- turn on/off the label of items in the main inventory
config.accessDropWhenInVehicle = false -- if true, players can drop items and access drop inventory while in the vehicle
config.kickPlayerWhenHackingDatected = false -- if true, the player will be kicked when the inventory hack is detected (U can edit ban function from editable)
config.autoEmote = true -- if true, the player will automatically me and do the emote when the trunk etc is opened
config.inventorySaveTime = 10 -- How often should updated inventory data be saved to the database? (Minute)
config.createDropWhenPlayerFull = true -- if true, when the player is full, the item will be dropped to the ground (only work with AddItem export)
-- false - "serverid" - "citizenid"
-- citizenid: QB: citizenid, ESX: identifier
config.contextGiveItemId = "serverid"
config.contextGiveShowPlayerName = false -- if true, the player name will be shown in the context menu when giving an item to another player
config.openOwner = {
trunk = {
active = false, -- When set to true, only the vehicle owner can open the trunk.
openNpc = true, -- When the setting is active, the trunk can be used if the vehicle doesn't belong to anyone.
},
glovebox = {
active = false, -- When set to true, only the vehicle owner can open the glovebox.
openNpc = false, -- When the setting is active, the glovebox can be used if the vehicle doesn't belong to anyone.
}
}
config.searchPlayer = {
askTarget = {
active = true, -- If true, when a player is searched, a request is sent to the other player to accept the search.
keys = {
accept = { key = 246, label = "Y" },
cancel = { key = 249, label = "N" },
}
},
animation = {
active = true, -- If true, the target player should play one of the following animations. if it's not playing one of the animations, it can't be searched.
list = { -- animation list
{ name = "missminuteman_1ig_2", anim = "handsup_base", },
{ name = "mp_arresting", anim = "idle", },
},
},
deadPlayer = false, -- if true, the player can be searched while dead.
}
config.openMaxDistance = {
player = 5, -- The distance the player can open the other player inventory
trunk = 10, -- The distance the player can open the trunk
}
config.defaultSettings = {
blurbg = true, -- Sets the background blur setting of the player entering the server for the first time to the value in config.
blurMenu = false, -- Sets the menu background blur setting of the player entering the server for the first time to the value in config. (causes these players to make the screen flicker)
character = true, -- Sets the character visibility setting for the first player to enter the server to the value in config.
-- if you leave only one color the player will not change the color of the ui
-- if you are using tgiann-lumihud this setting will not work. colors will be changed from the /hud menu of lumihud
-- only use hex color
defaultColors = {
{ label = "Green", background = config.defaultColor.background, color = config.defaultColor.color }, -- The first index is set as the default color of the inventory.
{ label = "Lime Green", background = "#32CD32", color = "#252525" },
{ label = "Sea Green", background = "#2E8B57", color = "#fff" },
{ label = "Bright Blue", background = "#00BFFF", color = "#252525" },
{ label = "Electric Blue", background = "#7DF9FF", color = "#252525" },
{ label = "Neon Red", background = "#FF073A", color = "#fff" },
{ label = "Electric Red", background = "#FF3333", color = "#fff" },
{ label = "Neon Orange", background = "#FF4500", color = "#fff" },
{ label = "Bright Orange", background = "#FFA500", color = "#252525" },
{ label = "Fluorescent Yellow", background = "#CCFF00", color = "#252525" },
{ label = "Hot Pink", background = "#FF69B4", color = "#fff" },
{ label = "Deep Pink", background = "#FF1493", color = "#fff" },
{ label = "Fuchsia", background = "#FF00FF", color = "#fff" },
{ label = "Violet", background = "#8A2BE2", color = "#fff" },
{ label = "Plum", background = "#DDA0DD", color = "#252525" },
{ label = "Lavender", background = "#E6E6FA", color = "#252525" },
{ label = "Light Green", background = "#90EE90", color = "#252525" },
{ label = "Light Blue", background = "#ADD8E6", color = "#252525" },
{ label = "Golden", background = "#FFD700", color = "#252525" },
{ label = "Cobalt Blue", background = "#0047AB", color = "#fff" },
{ label = "Rose Red", background = "#FFC0CB", color = "#252525" },
{ label = "Peach", background = "#FFDAB9", color = "#252525" },
{ label = "Copper", background = "#B87333", color = "#252525" },
{ label = "Cream", background = "#FFFDD0", color = "#252525" },
}
}
--[[
-- Set this setting to false if you are not using tgiann-clothing or do not want clothes to be items
-- if you are using tgiann-clothing, make this and the config.clothingAsItem setting in clothing the same
-- false version; https://youtu.be/o7ZofZZ00fo
-- If config.clothingAsItem is true, make sure the following items are added to your item list
c_necklace = { name = "c_necklace", label = "Necklace (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_bproof = { name = "c_bproof", label = "Bullet Proof (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_decal = { name = "c_decal", label = "Decals (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_torso = { name = "c_torso", label = "Torso (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_mask = { name = "c_mask", label = "Mask (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_helmet = { name = "c_helmet", label = "Hat (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_glasses = { name = "c_glasses", label = "Glasses (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_bag = { name = "c_bag", label = "Bag (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_pants = { name = "c_pants", label = "Pants (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_shoes = { name = "c_shoes", label = "Shoes (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_bracelet = { name = "c_bracelet", label = "Bracelet (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_watch = { name = "c_watch", label = "Watch (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_ear = { name = "c_ear", label = "Ear (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
kposet = { name = "kposet", label = "Clothes Bag", weight = 100, type = "item", unique = true, useable = true, shouldClose = false, description = "Special Bag to Store Your Clothes" }, -- Clothe small bag item
bkposet = { name = "bkposet", label = "Clothes Bag Plus", weight = 300, type = "item", unique = true, useable = true, shouldClose = false, description = "Special Bag to Store Your Clothes" }, -- Clothe big bag item
clothe_set = { name = 'clothe_set', label = 'Clothe Set', weight = 0, type = 'item', image = 'clothe_set.png', clothe = true, unique = true, useable = true, shouldClose = false, description = '' }, -- Clothe set item
]]
config.clothingAsItem = false
-- Only works when clothingAsItem is false or Custom Script Clothe is active(https://docs.tgiann.com/scripts/tgiann-clothing/events-exports#custom-script-clothe)
config.naked = {
male = {
c_torso = {
{ componentId = 8, prop = 15, texture = 0 }, --tshirt
{ componentId = 11, prop = 15, texture = 0 }, -- torso
{ componentId = 3, prop = 15, texture = 0 } -- arms
},
c_pants = {
{ componentId = 4, prop = 61, texture = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } }
},
c_shoes = { { componentId = 6, prop = 34, texture = 0 } },
c_decal = { { componentId = 10, prop = 0, texture = 0 } },
c_bag = { { componentId = 5, prop = 0, texture = 0 } },
c_ear = { { componentId = 2, prop = -1, texture = -1 } },
c_necklace = { { componentId = 7, prop = 0, texture = 0 } },
c_bproof = { { componentId = 9, prop = 0, texture = 0 } },
c_bracelet = { { componentId = 7, prop = -1, texture = -1 } },
c_watch = { { componentId = 6, prop = -1, texture = -1 } },
c_glasses = { { componentId = 1, prop = -1, texture = -1 } },
c_helmet = { { componentId = 0, prop = -1, texture = -1 } },
c_mask = { { componentId = 1, prop = 0, texture = 0 } },
},
female = {
c_torso = {
{ componentId = 8, prop = 15, texture = 0 }, --tshirt
{ componentId = 11, prop = 15, texture = 0 }, -- torso
{ componentId = 3, prop = 15, texture = 0 } -- arms
},
c_pants = {
{ componentId = 4, prop = 62, texture = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } }
},
c_shoes = { { componentId = 6, prop = 35, texture = 0 } },
c_decal = { { componentId = 10, prop = 0, texture = 0 } },
c_bag = { { componentId = 5, prop = 0, texture = 0 } },
c_ear = { { componentId = 2, prop = -1, texture = -1 } },
c_necklace = { { componentId = 7, prop = 0, texture = 0 } },
c_bproof = { { componentId = 9, prop = 0, texture = 0 } },
c_bracelet = { { componentId = 7, prop = -1, texture = -1 } },
c_watch = { { componentId = 6, prop = -1, texture = -1 } },
c_glasses = { { componentId = 1, prop = -1, texture = -1 } },
c_helmet = { { componentId = 0, prop = -1, texture = -1 } },
c_mask = { { componentId = 1, prop = 0, texture = 0 } },
}
}
-- You can make the inventory, trunk and glovebox keys the same if you want
config.keys = {
inventoryClose = { "Escape", "F2" }, --JS event code, https://www.toptal.com/developers/keycode
inventory = "F2",
glovebox = "G",
trunk = "G",
hotbar = "TAB",
getGround = {
label = "H",
key = 74 -- https://docs.fivem.net/docs/game-references/controls/
}
}
config.openTrunkDistance = { -- is checked when the trunk key is pressed
default = 1.5, -- Default open distance
models = { -- if the vehicle is too big and you have difficulty opening the trunk, you can increase the distance by adding models here
[`tug`] = 8.0
}
}
config.jerryCan = {
ammoKey = "ammo",
item = "weapon_petrolcan",
removeAmmoZero = true, -- if true, the item will be removed when the ammo is 0
disableAmmoZero = true, -- if true, the item will not be used when the ammo is 0
invSetAmmoData = true, -- If true, it sets Jerry Can's data into an inventory
}
config.jerryCan.metadata = { [config.jerryCan.ammoKey] = 10000 }
-- Additions to this config will activate rare on items.
-- Add the key name as rareName="weaponPlus" to the item in your items.lua file
-- EXAMPLE: stungun_ammo = { rareName="weaponPlus", name = 'stungun_ammo', label = 'Stungun ammo', weight = 200, type = 'item', image = 'stungun_ammo.webp', unique = false, useable = true, shouldClose = true, description = 'Ammo for Stungun' },
config.rare = {
weaponPlus = {
color = { r = 255, g = 235, b = 59 },
label = "Plus Weapon"
},
weaponPolice = {
color = { r = 40, g = 217, b = 241 },
label = "Police Weapon"
},
weaponPoliceAmmo = {
color = { r = 40, g = 217, b = 241 },
label = "Police Ammo"
}
}
-- the buttons at the top when you open the inventory.
config.topHeaderIcons = {
{
icon = "qrcode", -- fontawasome icon name (https://fontawesome.com/icons)
click = "headerClickMainFunction", -- u can edit this function from topHeader.lua
style = { -- css style
color = "#ffffff7f" -- icon color
}
},
{
icon = "pen-ruler", -- fontawasome icon name (https://fontawesome.com/icons))
click = "headerClickCraftFunction", -- u can edit this function from topHeader.lua
style = { -- css style
color = "var(--green)" -- icon color
}
},
{
icon = "cart-shopping", -- fontawasome icon name (https://fontawesome.com/icons)
webpage = "https://tgiann.com", -- u can edit this function from topHeader.lua
style = { -- css style
color = "#fce93dd9" -- icon color
}
},
--[[
{ -- for tgiann-coinshop https://tgiann.tebex.io/package/6001460
icon = "shop", -- fontawasome icon name (https://fontawesome.com/icons)
click = "headerClickShopFunction", -- u can edit this function from topHeader.lua
style = { -- css style
color = "#ffffff7f" -- icon color
}
},
]]
}
config.dropWhenDie = {
weapons = true, -- when you die, the gun in your hand falls to the ground
money = true, -- when you die, your money falls to the ground
dropMinMoney = 100, -- if the player's money is above this value, it drop to the ground
dropMaxMoney = 25000, -- if the player's money is above this value, the max drops by this value
distance = {
propRender = 50,
drawTextDist = 8,
pressDist = 1.8
},
}
config.slotsMaxWeights = {
player = {
slots = 55,
maxWeight = 100000
},
drop = {
slots = 20,
maxWeight = 1000000
},
default = { -- These values will be active if maxweight and slots data is not sent in the stash event
slots = 100,
maxWeight = 1000000
},
trunk = { -- These values will be active if maxweight and slots data is not sent in the trunk event
slots = 5,
maxWeight = 10000
},
glovebox = { -- These values will be active if maxweight and slots data is not sent in the glovebox event
slots = 1,
maxWeight = 4000
}
}
config.vehicleClassSlotsMaxWeights = {
[0] = { slots = 10, maxWeight = 50000 }, -- Compacts
[1] = { slots = 10, maxWeight = 100000 }, -- Sedans
[2] = { slots = 10, maxWeight = 75000 }, -- SUVs
[3] = { slots = 10, maxWeight = 30000 }, -- Coupes
[4] = { slots = 10, maxWeight = 30000 }, -- Muscle
[5] = { slots = 5, maxWeight = 10000 }, -- Sports Classics
[6] = { slots = 5, maxWeight = 25000 }, -- Sports
[7] = { slots = 5, maxWeight = 5000 }, -- Super
[8] = { slots = 1, maxWeight = 2000 }, -- Motorcycles
[9] = { slots = 10, maxWeight = 75000 }, -- Off-road
[10] = { slots = 5, maxWeight = 10000 }, -- Industrial
[11] = { slots = 5, maxWeight = 10000 }, -- Utility
[12] = { slots = 25, maxWeight = 500000 }, -- Vans
[13] = { slots = 1, maxWeight = 2000 }, -- Cycles
[14] = { slots = 5, maxWeight = 10000 }, -- Boats
[15] = { slots = 5, maxWeight = 10000 }, -- Helicopters
[16] = { slots = 5, maxWeight = 10000 }, -- Planes
[17] = { slots = 5, maxWeight = 10000 }, -- Service
[18] = { slots = 5, maxWeight = 10000 }, -- Emergency
[19] = { slots = 5, maxWeight = 10000 }, -- Military
[20] = { slots = 40, maxWeight = 800000 }, -- Commercial
[21] = { slots = 5, maxWeight = 10000 }, -- Trains
[22] = { slots = 5, maxWeight = 10000 }, -- Open Wheel
}
config.vehicleModelSlotsMaxWeights = {
[`bcat`] = { slots = 200, maxWeight = 10000000 }
}
-- backpack command settings "(/backpack)"
config.backpack = {
{ -- Default (Level 1)
weight = config.slotsMaxWeights.player.maxWeight,
slots = config.slotsMaxWeights.player.slots,
},
{ -- Level 2
weight = config.slotsMaxWeights.player.maxWeight + 50000,
slots = config.slotsMaxWeights.player.slots + 30,
},
{ -- Level 3
weight = config.slotsMaxWeights.player.maxWeight + 100000,
slots = config.slotsMaxWeights.player.slots + 55,
}
}
config.BackEngineVehicles = {
[`ninef`] = 4,
[`adder`] = 4,
[`vagner`] = 5,
[`t20`] = 5,
[`infernus`] = 4,
[`zentorno`] = 4,
[`reaper`] = 4,
[`comet2`] = 4,
[`comet3`] = 5,
[`jester`] = 4,
[`jester2`] = 4,
[`cheetah`] = 5,
[`cheetah2`] = 5,
[`prototipo`] = 5,
[`turismor`] = 5,
[`pfister811`] = 5,
[`ardent`] = 5,
[`nero`] = 4,
[`nero2`] = 4,
[`tempesta`] = 5,
[`vacca`] = 4,
[`bullet`] = 4,
[`osiris`] = 5,
[`entityxf`] = 4,
[`turismo2`] = 5,
[`fmj`] = 4,
[`re7b`] = 4,
[`tyrus`] = 5,
[`italigtb`] = 4,
[`penetrator`] = 4,
[`monroe`] = 4,
[`ninef2`] = 4,
[`stingergt`] = 5,
[`gp1`] = 5,
[`autarch`] = 5,
[`tyrant`] = 4
}
config.langs = {} -- don't change
config.strengthDivision = 100 -- for my server :(

View file

@ -1,97 +0,0 @@
--[[
Update Video: https://youtu.be/DeWn_e7cZwE
1 : To load bullets into the gun, you must use the bullet item. When used, it will load bullets based on the `config.ammo.ammo` value.
2 : Pressing the R key reloads bullets from your inventory up to the weapon's magazine limit. For example, if the magazine limit is 30, it will deduct 30 bullets from your inventory and load them into the clip.
]]
config.ammoSystem = 2 -- 1 or 2
config.clearAnimationWhenReload = false -- when true, the animation will be cleared when reloading
config.disableStunGunAmmo = false -- when true, stungun works like in gta
config.reloadProgressbarBar = {
time = 2000,
disables = {
disableMovement = false,
disableCarMovement = false,
disableMouse = false,
disableCombat = true,
}
}
config.ammo = {
{
ammoType = "AMMO_STUNGUN",
item = "stungun_ammo",
ammo = 2, -- Only works on ammoSystem 1
maxAmmoInWeapon = 2, -- Only works on ammoSystem 1
isStunGun = true,
},
{
ammoType = "AMMO_PISTOL",
item = "pistol_ammo",
ammo = 30, -- Only works on ammoSystem 1
maxAmmoInWeapon = 250 -- Only works on ammoSystem 1
},
{
ammoType = "AMMO_SMG",
item = "smg_ammo",
ammo = 30, -- Only works on ammoSystem 1
maxAmmoInWeapon = 250 -- Only works on ammoSystem 1
},
{
ammoType = "AMMO_SHOTGUN",
item = "shotgun_ammo",
ammo = 30, -- Only works on ammoSystem 1
maxAmmoInWeapon = 250 -- Only works on ammoSystem 1
},
{
ammoType = "AMMO_RIFLE",
item = "rifle_ammo",
ammo = 30, -- Only works on ammoSystem 1
maxAmmoInWeapon = 250 -- Only works on ammoSystem 1
},
{
ammoType = "AMMO_SNIPER",
item = "snp_ammo",
ammo = 4, -- Only works on ammoSystem 1
maxAmmoInWeapon = 250 -- Only works on ammoSystem 1
},
{
ammoType = "AMMO_MG",
item = "mg_ammo",
ammo = 120, -- Only works on ammoSystem 1
maxAmmoInWeapon = 250 -- Only works on ammoSystem 1
},
-- POLICE
{
ammoType = "AMMO_POLICE_STUNGUN",
item = "police_stungun_ammo",
ammo = 2, -- Only works on ammoSystem 1
maxAmmoInWeapon = 2, -- Only works on ammoSystem 1
isStunGun = true,
},
{
ammoType = "AMMO_POLICE_PISTOL",
item = "police_pistol_ammo",
ammo = 120, -- Only works on ammoSystem 1
maxAmmoInWeapon = 250 -- Only works on ammoSystem 1
},
{
ammoType = "AMMO_POLICE_SMG",
item = "police_smg_ammo",
ammo = 120, -- Only works on ammoSystem 1
maxAmmoInWeapon = 250 -- Only works on ammoSystem 1
},
{
ammoType = "AMMO_POLICE_SHOTGUN",
item = "police_shotgun_ammo",
ammo = 30, -- Only works on ammoSystem 1
maxAmmoInWeapon = 250 -- Only works on ammoSystem 1
},
{
ammoType = "AMMO_POLICE_RIFLE",
item = "police_rifle_ammo",
ammo = 120, -- Only works on ammoSystem 1
maxAmmoInWeapon = 250 -- Only works on ammoSystem 1
},
}

View file

@ -1,6 +0,0 @@
config.antiSwimingItems = { -- Added items are deleted when you enter the water and their broken state is added to the inventory
["phone_black"] = "broken_phone",
["phone_green"] = "broken_phone",
["phone_red"] = "broken_phone",
["phone_purple"] = "broken_phone",
}

View file

@ -1,52 +0,0 @@
config.attachment.tintLabel = {
normal = {
["tint_0"] = "Default/Black",
["tint_1"] = "Green",
["tint_2"] = "Gold",
["tint_3"] = "Pink",
["tint_4"] = "Army",
["tint_5"] = "LSPD",
["tint_6"] = "Orange",
["tint_7"] = "Platinum",
},
mk2 = {
["tint_0"] = "Classic Black",
["tint_1"] = "Classic Gray",
["tint_2"] = "Classic Two-Tone",
["tint_3"] = "Classic White",
["tint_4"] = "Classic Beige",
["tint_5"] = "Classic Green",
["tint_6"] = "Classic Blue",
["tint_7"] = "Classic Earth",
["tint_8"] = "Classic Brown & Black",
["tint_9"] = "Red Contrast",
["tint_10"] = "Blue Contrast",
["tint_11"] = "Yellow Contrast",
["tint_12"] = "Orange Contrast",
["tint_13"] = "Bold Pink",
["tint_14"] = "Bold Purple & Yellow",
["tint_15"] = "Bold Orange",
["tint_16"] = "Bold Green & Purple",
["tint_17"] = "Bold Red Features",
["tint_18"] = "Bold Green Features",
["tint_19"] = "Bold Cyan Features",
["tint_20"] = "Bold Yellow Features",
["tint_21"] = "Bold Red & White",
["tint_22"] = "Bold Blue & White",
["tint_23"] = "Metallic Gold",
["tint_24"] = "Metallic Platinum",
["tint_25"] = "Metallic Gray & Lilac",
["tint_26"] = "Metallic Purple & Lime",
["tint_27"] = "Metallic Red",
["tint_28"] = "Metallic Green",
["tint_29"] = "Metallic Blue",
["tint_30"] = "Metallic White & Aqua",
["tint_31"] = "Metallic Orange & Yellow",
["tint_32"] = "Mettalic Red and Yellow",
}
}
-- attachments names are set automatically but if you have an addon weapon or want to change the names of attachment you can add them here
config.attachment.labels = {
--["COMPONENT_SNSPISTOL_MK2_CAMO_IND_01"] = "American Camo",
}

View file

@ -1,12 +0,0 @@
-- The interaction of the items you add here is limited. for example, you can add items here that you do not want to be transferred to someone else
config.blockItems = {
["testitem"] = { -- Item name
drop = true, -- if true, player can't drop the item
glovebox = true, -- if true the player cannot put the item in the glovebox
trunk = true, -- if true the player cannot put the item in the trunk
stash = true, -- if true the player cannot put the item in the any stash
give = true, -- if true the player cannot give the item to someone else
player = true, -- cannot take or give an item from another player when true
throw = true, -- if true, the player cannot throw the item
},
}

View file

@ -1,50 +0,0 @@
-- Update Video: https://youtu.be/-0E_XY2L4rY
config.canCarryMultipleItems = false -- If false, the player cannot pick up any other carryable item while already holding one.
config.carryItmes = {
television = { -- Item name
model = `xs_prop_arena_screen_tv_01`,
bone = 28252,
offset = vector3(0.2600, 0.1100, -0.1400),
rot = vector3(96.1620, 168.9069, 84.2402),
anim = {
dict = "beachanims@molly",
name = "beachanim_surf_clip"
},
disableKeys = { -- https://docs.fivem.net/docs/game-references/controls/
21, -- INPUT_SPRINT
22, -- INPUT_JUMP
},
moveRate = 0.5, -- https://docs.fivem.net/natives/?_0x085BF80FA50A39D1 (1.0 Default)
},
pdbag = {
model = `xm_prop_x17_bag_01d`,
bone = 28422,
offset = vector3(0.15, -0.05, -0.10),
rot = vector3(100.0, -50.0, 220.0),
anim = {
dict = "missfbi4prepp1",
name = "idle" -- Neutrale Stehanimation
},
disableKeys = {
21, -- INPUT_SPRINT
},
moveRate = 1.0
},
food_bag = {
model = `prop_food_bag1`,
bone = 28422,
offset = vector3(0.15, -0.05, -0.10),
rot = vector3(100.0, -50.0, 220.0),
anim = {
dict = "missfbi4prepp1",
name = "idle" -- Neutrale Stehanimation
},
disableKeys = {
21, -- INPUT_SPRINT
},
moveRate = 1.0
},
}

View file

@ -1,26 +0,0 @@
-- Update Video: https://youtu.be/wNt_8OQ_CUQ
config.clotheBackpack = {
active = true, --if you have a backpack in a suit, the weight limit and the number of slots of your inventory increases.
-- I don't recommend increasing the number of slots. if the player removes the backpack, the slots will be deleted and the player's belongings will remain in invisible slots
[`mp_m_freemode_01`] = { -- Male Ped
[40] = { weight = 50000, slots = 0 }, -- increases the player's default weight limit by 50000
[41] = { weight = 60000, slots = 0 },
[44] = { weight = 50000, slots = 0 },
[45] = { weight = 30000, slots = 0 },
[81] = { weight = 60000, slots = 0 },
[82] = { weight = 80000, slots = 0 },
[85] = { weight = 150000, slots = 0 },
[86] = { weight = 100000, slots = 0 },
},
[`mp_f_freemode_01`] = { -- Female ped
[40] = { weight = 50000, slots = 0 }, -- increases the player's default weight limit by 50000
[41] = { weight = 60000, slots = 0 },
[44] = { weight = 50000, slots = 0 },
[45] = { weight = 30000, slots = 0 },
[81] = { weight = 60000, slots = 0 },
[82] = { weight = 80000, slots = 0 },
[85] = { weight = 150000, slots = 0 },
[86] = { weight = 100000, slots = 0 },
}
}

View file

@ -1,38 +0,0 @@
config.commands = {
admin = {
giveitem = "giveitem",
setitem = "setitem",
clearinv = "clearinv",
backpack = "backpack",
deleteinv = "deleteinv",
openinv = "openinv",
checkitem = "checkitem",
items = "items"
},
player = {
givecash = {
active = true,
command = "givecash"
},
rob = { -- You can edit canRobTarget function in tgiann-inventory/client/editable.lua
active = true,
command = "rob",
progressTime = {
min = 5000,
max = 7000
},
animation = {
animDict = 'random@shop_robbery',
anim = 'robbery_action_b',
flags = 16,
}
}
},
convert = {
convertItemsFile = "convertitems", -- imports qb items.lua and esx items table into enventerin's items table
convertqb = "convertqb", -- convert inventory data such as player, stash, glovebox to tgiann inventory
convertox = "convertox", -- convert inventory data such as player, stash, glovebox to tgiann inventory
convertqsinv = "convertqsinv", -- convert inventory data such as player, stash, glovebox to tgiann inventory
convertcodeminv = "convertcodeminv", -- convert inventory data such as player, stash, glovebox to tgiann inventory
}
}

View file

@ -1,170 +0,0 @@
config.craft = {}
config.defaultCraftJob = {}
local function registerCraft(category, label, items)
assert(type(category) == "string", "Category must be a string")
assert(type(label) == "string", "Label must be a string")
assert(type(items) == "table", "Items must be a table")
config.craft[#config.craft + 1] = {
category = category,
label = label,
items = items
}
end
exports("RegisterCraft", registerCraft)
local function registerJobCraft(jobName, label, items)
assert(type(jobName) == "string", "Job name must be a string")
assert(config.defaultCraftJob[jobName] == nil, ("Job %s already exists in defaultCraftJob").format(jobName))
assert(type(label) == "string", "Label must be a string")
assert(type(items) == "table", "Items must be a table")
config.defaultCraftJob[jobName] = {
label = label,
items = items
}
end
exports("RegisterJobCraft", registerJobCraft)
-- Default crafting
registerCraft("defaultCraft", "Main Craft", {
{
giveAmount = 24,
name = 'ecola_dose',
costs = {
['pack_ecola'] = 1,
},
duration = 5000, -- 5 seconds crafting times (optional)
info = {
label = "Auspacken"
}
},
--[[
{
giveAmount = 1,
name = 'lockpick',
costs = {
['metalscrap'] = 22,
['plastic'] = 32,
},
},
{
giveAmount = 1,
name = 'screwdriverset',
costs = {
['metalscrap'] = 30,
['plastic'] = 42,
},
},
{
giveAmount = 1,
name = 'electronickit',
costs = {
['metalscrap'] = 30,
['plastic'] = 45,
['aluminum'] = 28,
},
},
{
giveAmount = 1,
name = 'radioscanner',
costs = {
['electronickit'] = 2,
['plastic'] = 52,
['steel'] = 40,
},
},
{
giveAmount = 1,
name = 'gatecrack',
costs = {
['metalscrap'] = 10,
['plastic'] = 50,
['aluminum'] = 30,
['iron'] = 17,
['electronickit'] = 2,
},
},
]]
})
-- Example for police
registerJobCraft("police", "Police Crafting", {
{
giveAmount = 1,
name = 'handcuffs',
costs = {
['metalscrap'] = 36,
['steel'] = 24,
['aluminum'] = 28,
},
},
{
giveAmount = 1,
name = 'repairkit',
costs = {
['metalscrap'] = 32,
['steel'] = 43,
['plastic'] = 61,
},
},
{
giveAmount = 1,
name = 'pistol_ammo',
costs = {
['metalscrap'] = 50,
['steel'] = 37,
['copper'] = 26,
},
},
{
giveAmount = 1,
name = 'ironoxide',
costs = {
['iron'] = 60,
['glass'] = 30,
},
},
{
giveAmount = 1,
name = 'aluminumoxide',
costs = {
['aluminum'] = 60,
['glass'] = 30,
},
},
{
giveAmount = 1,
name = 'armor',
costs = {
['iron'] = 33,
['steel'] = 44,
['plastic'] = 55,
['aluminum'] = 22,
},
},
{
giveAmount = 1,
name = 'drill',
costs = {
['iron'] = 50,
['steel'] = 50,
['screwdriverset'] = 3,
['advancedlockpick'] = 2,
},
},
})
local craftCategory = {}
for i = 1, #config.craft do
craftCategory[i] = {
craft = i,
label = config.craft[i].label
}
end
exports("CraftCategory", function()
return craftCategory
end)

View file

@ -1,13 +0,0 @@
-- Update video: https://youtu.be/pd9llsg_mAg
-- Items on this list cannot be used after a certain number of days after they are created!
-- Added items need to be set to 'uniq = true' in item list
config.removeDecayableItem = false --When true, if the item has zero durability when you use it, it deletes the item directly
config.removeDecayableItemWhenInventoryCreated = false --When true, if the item has zero durability when inventory data created in the script, it deletes the item directly
config.decayableItems = {
--[[
key: item name
value: second
]]
food_bag = 864000,
kurkakola = 30,
}

View file

@ -1,45 +0,0 @@
config.objectDrop = {
active = true, -- if true, the first item dropped on the ground appears as a prop, if false, it appears as a marker
defaultObject = { -- For items not added in itemToObject
hash = `prop_paper_bag_01`, -- prop Hash
groundRotation = { 0.0, 0.0, 0.0 },
handRotation = {
{ 0.13140606098295, 0.022559683884654, -0.082663316658163 }, -- pos
{ -40.18882271093, -0.24538857512052, 16.85144585768 } -- rot
}
},
multipleItemsObject = { -- this prop appears if there is more than one item on the floor
hash = `ng_proc_box_01a`, -- prop Hash
groundRotation = { 90.0, 0.0, 0.0 },
handRotation = {
{ 0.13140606098295, 0.022559683884654, -0.082663316658163 }, -- pos
{ -40.18882271093, -0.24538857512052, 16.85144585768 } -- rot
}
},
itemToObject = { -- itemName, hash
goldbar = {
hash = `hei_prop_heist_gold_bar`,
groundRotation = { 0.0, 0.0, 0.0 },
handRotation = {
{ 0.065023312703829, 0.018979799071576, -0.032637740797306 }, -- pos
{ 23.929631747246, -4.040881842375, -12.166237375715 } -- rot
}
},
television = {
hash = `xs_prop_arena_screen_tv_01`,
groundRotation = { -90.0, 0.0, 0.0 },
handRotation = {
{ 0.065023312703829, 0.018979799071576, 0.032637740797306 }, -- pos
{ 23.929631747246, -4.040881842375, -12.166237375715 } -- rot
}
},
present = {
hash = `xm3_prop_xm3_present_01a`,
groundRotation = { 00.0, 0.0, 0.0 },
handRotation = {
{ 0.065023312703829, 0.018979799071576, 0.032637740797306 }, -- pos
{ 23.929631747246, -4.040881842375, -12.166237375715 } -- rot
}
}
}
}

View file

@ -1,78 +0,0 @@
config.dumpsterSearch = {
active = true,
cd = 120, -- second
progressBarTime = 2, -- second
animation = {
animDict = "amb@prop_human_bum_bin@base",
anim = "base",
flags = 33,
},
items = {
{ item = "bread", min = 1, max = 3 },
{ item = "water", min = 1, max = 2 },
},
models = {
1437508529,
-819563011,
-289082718,
1437508529,
1614656839,
-289082718,
1437508529,
1614656839,
-130812911,
-93819890,
1329570871,
1143474856,
-228596739,
-468629664,
-1426008804,
-1187286639,
-1096777189,
-413198204,
437765445,
122303831,
1748268526,
998415499,
234941195,
-2096124444,
1792999139,
-341442425,
-329415894,
-1830793175,
-654874323,
1010534896,
651101403,
909943734,
1919238784,
274859350,
751349707,
1627301588,
1388415578,
1813879595,
1098827230,
1388308576,
600967813,
1948359883,
-1681329307,
-96647174,
811169045,
-14708062,
354692929,
673826957,
375956747,
1233216915,
-85604259,
-115771139,
-1998455445,
577432224,
684586828,
218085040,
666561306,
-58485588,
-206690185,
1511880420,
682791951,
-1587184881
}
}

View file

@ -1,7 +0,0 @@
-- players can edit items added to the list by right-clicking on their name or image
config.editableItems = {
clothe_set = { label = true, img = true },
bandage = { label = true, img = true },
weapon_pistol = { label = true, img = false },
polaroid = { label = true, img = false },
}

View file

@ -1,204 +0,0 @@
config.Filter = {}
config.Filter.health = {
icon = "kit-medical",
items = {
"policebandage",
"bandage",
"bandageplus",
"medikit",
}
}
config.Filter.juice = {
icon = "bottle-water",
items = {
"water",
}
}
config.Filter.clothe = {
icon = "shirt",
items = {
"kposet",
"bkposet",
"c_necklace",
"c_bproof",
"c_decal",
"c_torso",
"c_mask",
"c_helmet",
"c_glasses",
"c_bag",
"c_pants",
"c_shoes",
"c_bracelet",
"c_watch",
"c_ear",
}
}
config.Filter.fight = {
icon = "person-rifle",
items = {
"weapon_stungun",
"weapon_pistol",
"weapon_pistol_mk2",
"weapon_combatpistol",
"weapon_appistol",
"weapon_pistol50",
"weapon_snspistol",
"weapon_heavypistol",
"weapon_vintagepistol",
"weapon_flaregun",
"weapon_marksmanpistol",
"weapon_revolver",
"weapon_revolver_mk2",
"weapon_doubleaction",
"weapon_snspistol_mk2",
"weapon_raypistol",
"weapon_ceramicpistol",
"weapon_navyrevolver",
"weapon_gadgetpistol",
"weapon_pistolxm3",
"weapon_microsmg",
"weapon_smg",
"weapon_smg_mk2",
"weapon_assaultsmg",
"weapon_combatpdw",
"weapon_machinepistol",
"weapon_minismg",
"weapon_raycarbine",
"weapon_pumpshotgun",
"weapon_sawnoffshotgun",
"weapon_assaultshotgun",
"weapon_bullpupshotgun",
"weapon_musket",
"weapon_heavyshotgun",
"weapon_dbshotgun",
"weapon_autoshotgun",
"weapon_pumpshotgun_mk2",
"weapon_combatshotgun",
"weapon_assaultrifle",
"weapon_assaultrifle_mk2",
"weapon_carbinerifle",
"weapon_carbinerifle_mk2",
"weapon_advancedrifle",
"weapon_specialcarbine",
"weapon_bullpuprifle",
"weapon_compactrifle",
"weapon_specialcarbine_mk2",
"weapon_bullpuprifle_mk2",
"weapon_militaryrifle",
"weapon_mg",
"weapon_combatmg",
"weapon_gusenberg",
"weapon_combatmg_mk2",
"weapon_sniperrifle",
"weapon_heavysniper",
"weapon_marksmanrifle",
"weapon_remotesniper",
"weapon_heavysniper_mk2",
"weapon_marksmanrifle_mk2",
"weapon_rpg",
"weapon_grenadelauncher",
"weapon_grenadelauncher_smoke",
"weapon_minigun",
"weapon_firework",
"weapon_railgun",
"weapon_railgunxm3",
"weapon_hominglauncher",
"weapon_compactlauncher",
"weapon_rayminigun",
--police
"weapon_police_stungun",
"weapon_police_pistol",
"weapon_police_pistol_mk2",
"weapon_police_combatpistol",
"weapon_police_appistol",
"weapon_police_pistol50",
"weapon_police_snspistol",
"weapon_police_heavypistol",
"weapon_police_vintagepistol",
"weapon_police_flaregun",
"weapon_police_marksmanpistol",
"weapon_police_revolver",
"weapon_police_revolver_mk2",
"weapon_police_doubleaction",
"weapon_police_snspistol_mk2",
"weapon_police_raypistol",
"weapon_police_ceramicpistol",
"weapon_police_navyrevolver",
"weapon_police_gadgetpistol",
"weapon_police_pistolxm3",
"weapon_police_microsmg",
"weapon_police_smg",
"weapon_police_smg_mk2",
"weapon_police_assaultsmg",
"weapon_police_combatpdw",
"weapon_police_machinepistol",
"weapon_police_minismg",
"weapon_police_raycarbine",
"weapon_police_pumpshotgun",
"weapon_police_sawnoffshotgun",
"weapon_police_assaultshotgun",
"weapon_police_bullpupshotgun",
"weapon_police_musket",
"weapon_police_heavyshotgun",
"weapon_police_dbshotgun",
"weapon_police_autoshotgun",
"weapon_police_pumpshotgun_mk2",
"weapon_police_combatshotgun",
"weapon_police_assaultrifle",
"weapon_police_assaultrifle_mk2",
"weapon_police_carbinerifle",
"weapon_police_carbinerifle_mk2",
"weapon_police_advancedrifle",
"weapon_police_specialcarbine",
"weapon_police_bullpuprifle",
"weapon_police_compactrifle",
"weapon_police_specialcarbine_mk2",
"weapon_police_bullpuprifle_mk2",
"weapon_police_militaryrifle",
"weapon_police_mg",
"weapon_police_combatmg",
"weapon_police_gusenberg",
"weapon_police_combatmg_mk2",
"weapon_police_sniperrifle",
"weapon_police_heavysniper",
"weapon_police_marksmanrifle",
"weapon_police_remotesniper",
"weapon_police_heavysniper_mk2",
"weapon_police_marksmanrifle_mk2",
"weapon_police_rpg",
"weapon_police_grenadelauncher",
"weapon_police_grenadelauncher_smoke",
"weapon_police_minigun",
"weapon_police_firework",
"weapon_police_railgun",
"weapon_police_railgunxm3",
"weapon_police_hominglauncher",
"weapon_police_compactlauncher",
"weapon_police_rayminigun",
"snp_ammo",
"shotgun_ammo",
"pistol_ammo",
"rifle_ammo",
"smg_ammo",
"mg_ammo",
"police_pistol_ammo",
"police_rifle_ammo",
"police_smg_ammo",
"armor",
"armorplus",
"policearmor",
"armorbox",
"policearmorbox",
"armorpartplus",
"policebandage",
"bandage",
"bandageplus",
"medikit",
}
}

View file

@ -1,15 +0,0 @@
-- U can edit function from server/editable.lua
-- using added items opens a secondary inventory
config.itemStash = {
{
item = "kposet",
maxweight = 0,
slots = 15,
whitelist = { "c_necklace", "c_bproof", "c_decal", "c_torso", "c_mask", "c_helmet", "c_glasses", "c_bag", "c_pants", "c_shoes", "c_bracelet", "c_watch", "c_ear", "clothe_set" }
},
{
item = "pdbag",
maxweight = 100000,
slots = 10,
},
}

View file

@ -1,37 +0,0 @@
-- Update Vide: https://youtu.be/BmUAN9OFQhY
-- 0 = no limit
config.defaultMaxStackAmount = 100 -- Sets the max limit for each item not in the config.maxStacks table
config.weaponMaxStack = {
active = true, -- if true, the max stack of all weapons will be set to maxStack value.
amount = 1, -- if you add the weapon to the config.maxStacks table, this setting will be invalid for the weapon you added
}
config.maxStacks = {
-- item name / max stack amount
testitem = 10,
money = 0, -- no limit
money_item = 0, -- no limit
black_money = 0, -- no limit
black_money_item = 0, -- no limit
weapon_petrolcan = 1,
c_necklace = 1,
c_bproof = 1,
c_decal = 1,
c_torso = 1,
c_mask = 1,
c_helmet = 1,
c_glasses = 1,
c_bag = 1,
c_pants = 1,
c_shoes = 1,
c_bracelet = 1,
c_watch = 1,
c_ear = 1,
kposet = 1,
bkposet = 1,
clothe_set = 1,
}

View file

@ -1,11 +0,0 @@
-- Update video: https://youtu.be/DeWn_e7cZwE
-- Each time you use an item in config, the number of uses decreases by one. when the number is 0, the item is deleted.
-- example use: if you set the max usage of a repair kit to 5. after repairing the vehicle 5 times the repair kit will be deleted
-- Added items need to be set to 'uniq = true' in item list
config.maxUseAmount = {
testitemuniq = {
amount = 5,
autoDecreases = true -- When set to true, the number decreases by one when you use the item.
--if it is set to false, you need to trigger x event after using the item "TriggerServerEvent("tgiann-inventory:decreaseMaxUseAmount", itemSlot)"
},
}

View file

@ -1,188 +0,0 @@
config.metadata = {
id_card = {
{ metadata = "citizenid", value = "CSN:" },
{ metadata = "firstname", value = "First Name:" },
{ metadata = "lastname", value = "Last Name:" },
{ metadata = "birthdate", value = "Birth Date:" },
{ metadata = "gender", value = "Gender:" },
{ metadata = "nationality", value = "Nationality:" },
{ metadata = "quality", value = "Quality:" },
},
driver_license = {
{ metadata = "firstname", value = "First Name:" },
{ metadata = "lastname", value = "Last Name:" },
{ metadata = "birthdate", value = "Birth Date:" },
{ metadata = "type", value = "Licenses:" },
},
driver_licenseb = {
{ metadata = "firstname", value = "First Name:" },
{ metadata = "lastname", value = "Last Name:" },
{ metadata = "birthdate", value = "Birth Date:" },
{ metadata = "type", value = "Licenses:" },
},
driver_licensec = {
{ metadata = "firstname", value = "First Name:" },
{ metadata = "lastname", value = "Last Name:" },
{ metadata = "birthdate", value = "Birth Date:" },
{ metadata = "type", value = "Licenses:" },
},
weaponlicense = {
{ metadata = "firstname", value = "First Name:" },
{ metadata = "lastname", value = "Last Name:" },
{ metadata = "birthdate", value = "Birth Date:" },
{ metadata = "thc", value = "Thc:" },
{ metadata = "quality", value = "Quality:" },
},
marijuana_1oz_low = {
{ metadata = "strain", value = "Strain:" },
{ metadata = "potency", value = "Potency:" },
{ metadata = "type", value = "Type:" },
{ metadata = "thc", value = "Thc:" },
},
marijuana_1oz_mid = {
{ metadata = "strain", value = "Strain:" },
{ metadata = "potency", value = "Potency:" },
{ metadata = "type", value = "Type:" },
{ metadata = "thc", value = "Thc:" },
},
marijuana_1oz_high = {
{ metadata = "strain", value = "Strain:" },
{ metadata = "potency", value = "Potency:" },
{ metadata = "type", value = "Type:" },
{ metadata = "thc", value = "Thc:" },
},
marijuana_3_5_low = {
{ metadata = "strain", value = "Strain:" },
{ metadata = "potency", value = "Potency:" },
{ metadata = "type", value = "Type:" },
{ metadata = "thc", value = "Thc:" },
},
marijuana_3_5_mid = {
{ metadata = "strain", value = "Strain:" },
{ metadata = "potency", value = "Potency:" },
{ metadata = "type", value = "Type:" },
{ metadata = "thc", value = "Thc:" },
},
marijuana_3_5_high = {
{ metadata = "strain", value = "Strain:" },
{ metadata = "potency", value = "Potency:" },
{ metadata = "type", value = "Type:" },
{ metadata = "thc", value = "Thc:" },
},
lawyerpass = {
{ metadata = "id", value = "Pass-ID:" },
{ metadata = "firstname", value = "First Name:" },
{ metadata = "lastname", value = "Last Name:" },
{ metadata = "citizenid", value = "CSN:" },
},
harness = {
{ metadata = "uses", value = "uses left." },
},
filled_evidence_bag_casing = {
{ metadata = "label", value = "Evidence material:" },
{ metadata = "ammotype", value = "Type number:" },
{ metadata = "ammolabel", value = "Caliber:" },
{ metadata = "serie", value = "Serial:" },
{ metadata = "street", value = "Crime scene:" },
},
filled_evidence_bag_blood = {
{ metadata = "label", value = "Evidence material:" },
{ metadata = "bloodtype", value = "Blood type:" },
{ metadata = "dnalabel", value = "DNA Code:" },
{ metadata = "street", value = "Crime scene:" },
},
filled_evidence_bag_fingerprint = {
{ metadata = "label", value = "Evidence material:" },
{ metadata = "fingerprint", value = "Fingerprint:" },
{ metadata = "street", value = "Crime Scene:" },
},
filled_evidence_bag_dna = {
{ metadata = "label", value = "Evidence material:" },
{ metadata = "dnalabel", value = "DNA Code:" },
},
stickynote = {
{ metadata = "quality", value = "Quality:" },
},
moneybag = {
{ metadata = "cash", value = "Amount of cash:" },
{ metadata = "quality", value = "Quality:" },
},
markedbills = {
{ metadata = "worth", value = "Worth:" },
{ metadata = "quality", value = "Quality:" },
},
labkey = {
{ metadata = "quality", value = "Quality:" },
},
visa = {
{ metadata = "ownerName", value = "Card Owner:" },
{ metadata = "cardType", value = "Firstname:" },
{ metadata = "cardNumber", value = "Lastname:" },
},
creditcard = {
{ metadata = "ownerName", value = "Card Owner:" },
{ metadata = "cardType", value = "Firstname:" },
{ metadata = "cardNumber", value = "Lastname:" },
},
car_insurance = {
{ metadata = "name", value = "Name:" },
{ metadata = "plate", value = "Plate:" },
{ metadata = "model", value = "Vehicle Model:" },
{ metadata = "expire", value = "Expires:" },
},
car_registration = {
{ metadata = "name", value = "Name:" },
{ metadata = "plate", value = "Plate:" },
{ metadata = "model", value = "Vehicle Model:" },
{ metadata = "expire", value = "Expires:" },
},
health_insurance = {
{ metadata = "name", value = "Name:" },
{ metadata = "expire", value = "Expires:" },
},
home_insurance = {
{ metadata = "name", value = "Name:" },
{ metadata = "expire", value = "Expires:" },
},
car_camera = {
{ metadata = "plate", value = "Plate:" },
},
vehiclekeys = {
{ metadata = "plate", value = "Plate:" },
{ metadata = "description", value = "Model:" },
},
}
local qs_vehiclekeys = GetResourceState("qs-vehiclekeys") == "started";
if qs_vehiclekeys then
config.metadata.plate = {
{ metadata = "plate", value = "Plate:" },
}
config.metadata.vehiclekeys = {
{ metadata = "plate", value = "Plate:" },
{ metadata = "description", value = "Model:" },
}
end
local qs_smartphone_pro = GetResourceState("qs-smartphone-pro") == "started";
if qs_smartphone_pro then
local phoneItems = { "phone", "black_phone", "yellow_phone", "red_phone", "green_phone", }
for _, item in ipairs(phoneItems) do
config.metadata[item] = {
{ metadata = "phoneNumber", value = "Phone Number" },
{ metadata = "charinfo.firstname", value = "Firstname:" },
{ metadata = "charinfo.lastname", value = "Lastname:" },
}
end
end
local qs_banking = GetResourceState("qs-banking") == "started";
if qs_banking then
config.metadata.creditcard = {
{ metadata = "ownerName", value = "Card Owner:" },
{ metadata = "cardType", value = "Card Type:" },
{ metadata = "bank_type", value = "Bank Type:" },
{ metadata = "cardNumber", value = "Card Number:" },
}
end

View file

@ -1,40 +0,0 @@
const metadataAdvance = {
// Example of a metadata advance item
testitem: (metadata) => {
return `<div class="item_info_container">
<div class="item_info_row">
<div class="item_info_row_left">Test Item Label:</div>
<div class="item_info_row_right">3x</div>
</div>
</div>`;
},
testitem2: (metadata) => {
return `<div class="item_info_container">
<div class="item_info_row">
<div class="item_info_row_left">${metadata.testValue}</div>
<div class="item_info_row_right">${metadata.TestValueAmount}x</div>
</div>
</div>`;
},
};
const getItemMetadata = (itemName, metadata) => {
if (!metadata) return "";
if (!metadataAdvance[itemName]) return "";
return metadataAdvance[itemName](metadata);
};
RegisterNuiCallback("GetItemMetadata", (data, cb) => {
const { itemName, metadata } = data;
const html = getItemMetadata(itemName, metadata);
SendNUIMessage({
app: "app-inventory",
method: "GetItemMetadataSuccess",
data: html,
});
cb("");
});
const getMetadataAdvanceList = () => Object.keys(metadataAdvance);
exports("GetMetadataAdvanceList", getMetadataAdvanceList);

View file

@ -1,86 +0,0 @@
--[[
Update Video: https://youtu.be/q4L8zVDOIus
To ensure the system works, add the default item list to the items.lua file or configure the settings below. Make sure the item is unique and usable.
t_armor_heavy = { name = 't_armor_heavy', label = 'Heavy Armor', weight = 100, type = 'item', image = 't_armor_heavy.png', unique = true, useable = true, shouldClose = true, description = '' },
t_armor_light = { name = 't_armor_light', label = 'Light Armor', weight = 100, type = 'item', image = 't_armor_light.png', unique = true, useable = true, shouldClose = true, description = '' },
]]
config.realisticArmor = {
active = false, -- If set to `true`, this system will be activated.
checkClothe = false, -- If true, if the player has no armor value and is wearing armor as an outfit, it will remove this outfit
removeWhenArmorZero = true, -- If set to `true`, armor will be removed when its value is 0 when removing armor slot.
items = {
t_armor_heavy = { -- Item name
armor = 100, -- The armor value that will be added when the player equips armor.
progressbar = {
active = true, -- If set to `true`, a progress bar will be displayed when the player equips armor.
label = "wearingArmor", -- u can change from language file
time = 1500, -- Progress bar time
anims = {
animDict = "missmic4",
anim = "michael_tux_fidget",
flags = 49,
},
disables = {
disableMovement = false,
disableCarMovement = true,
disableMouse = false,
disableCombat = true,
}
},
clothe = {
active = true, -- If set to `true`, the player will wear the clothe armor.
data = {
jobs = {
-- job with grade
['police'] = {
[1] = {
[`mp_m_freemode_01`] = { drawable = 15, texture = 2 }, -- Male
[`mp_f_freemode_01`] = { drawable = 9, texture = 0 } -- Female
},
[2] = {
[`mp_m_freemode_01`] = { drawable = 57, texture = 2 }, -- Male
[`mp_f_freemode_01`] = { drawable = 9, texture = 0 } -- Female
},
other = {
[`mp_m_freemode_01`] = { drawable = 15, texture = 0 }, -- Male
[`mp_f_freemode_01`] = { drawable = 9, texture = 0 } -- Female
}
},
-- Job without grade
['ambulance'] = {
other = {
[`mp_m_freemode_01`] = { drawable = 58, texture = 0 },
[`mp_f_freemode_01`] = { drawable = 9, texture = 0 }
}
},
},
-- If the player does not meet any of the values in the jobs config section, the clothing data will change according to these values.
other = {
[`mp_m_freemode_01`] = { drawable = 1, texture = 1 }, -- Male
[`mp_f_freemode_01`] = { drawable = 9, texture = 0 } -- Female
},
}
}
},
t_armor_light = {
armor = 50,
progressbar = {
active = true,
label = "wearingArmor", -- u can change from language file
time = 1500,
anims = {
animDict = "missmic4",
anim = "michael_tux_fidget",
flags = 49,
},
disables = {
disableMovement = false,
disableCarMovement = true,
disableMouse = false,
disableCombat = true,
}
}
}
}
}

View file

@ -1,115 +0,0 @@
config.shopMoneyType = "cash"
config.ShopLocations = {
{
job = "police", -- job name or null (delete this line if you want everyone to be able to open it)
productsName = "weapons", -- config.Products object key name
text = "Police Weapon Shop",
maxDistance = 3,
pressDistance = 2,
blip = {
sprite = 16,
scale = 0.7,
color = 2,
label = "Police Weapon Shop"
},
locations = {
{
ped = `ig_terry`,
coords = vector4(16.6227, -1110.8431, 29.7970, 243.8756),
},
{
ped = `ig_terry`,
coords = vector4(427.2638, -985.6949, 30.7112, 356.5403),
blipDisable = true
},
}
},
}
--[[
requiredJob Example:
{ name = 'weapon_bat', price = 250, amount = 250, type = 'weapon', requiredJob = { 'mechanic', 'police' } },
{ name = 'weapon_bat', price = 250, amount = 250, type = 'weapon', requiredJob = 'mechanic' },
requiredGrade Example:
{ name = 'weapon_bat', price = 250, amount = 250, type = 'weapon', requiredGrade = 3 },
requiredLicense Example: (QB - playerData.metadata.licences, ESX: esx_licanse)
{ name = 'weapon_bat', price = 250, amount = 250, type = 'weapon', requiredLicense = { 'weapon', 'air' } },
{ name = 'weapon_bat', price = 250, amount = 250, type = 'weapon', requiredLicense = 'weapon' },
requiredGang Example (Onyl For QB - playerData.gang.name)
{ name = 'weapon_bat', price = 250, amount = 250, type = 'weapon', requiredGang = { 'mechanic', 'police' } },
{ name = 'weapon_bat', price = 250, amount = 250, type = 'weapon', requiredGang = 'mechanic' },
]]
config.Products = {
['normal'] = {
{ name = 'tosti', price = 2, amount = 50, type = 'item' },
{ name = 'water_bottle', price = 2, amount = 50, type = 'item' },
{ name = 'kurkakola', price = 2, amount = 50, type = 'item' },
{ name = 'twerks_candy', price = 2, amount = 50, type = 'item' },
{ name = 'snikkel_candy', price = 2, amount = 50, type = 'item' },
{ name = 'sandwich', price = 2, amount = 50, type = 'item' },
{ name = 'beer', price = 7, amount = 50, type = 'item' },
{ name = 'whiskey', price = 10, amount = 50, type = 'item' },
{ name = 'vodka', price = 12, amount = 50, type = 'item' },
{ name = 'bandage', price = 100, amount = 50, type = 'item' },
{ name = 'lighter', price = 2, amount = 50, type = 'item' },
{ name = 'rolling_paper', price = 2, amount = 5000, type = 'item' },
},
['liquor'] = {
{ name = 'beer', price = 7, amount = 50, type = 'item' },
{ name = 'whiskey', price = 10, amount = 50, type = 'item' },
{ name = 'vodka', price = 12, amount = 50, type = 'item' },
},
['hardware'] = {
{ name = 'lockpick', price = 200, amount = 50, type = 'item' },
{ name = 'weapon_wrench', price = 250, amount = 250, type = 'item' },
{ name = 'weapon_hammer', price = 250, amount = 250, type = 'item' },
{ name = 'repairkit', price = 250, amount = 50, type = 'item' },
{ name = 'screwdriverset', price = 350, amount = 50, type = 'item' },
{ name = 'phone', price = 850, amount = 50, type = 'item' },
{ name = 'radio', price = 250, amount = 50, type = 'item' },
{ name = 'binoculars', price = 50, amount = 50, type = 'item' },
{ name = 'firework1', price = 50, amount = 50, type = 'item' },
{ name = 'firework2', price = 50, amount = 50, type = 'item' },
{ name = 'firework3', price = 50, amount = 50, type = 'item' },
{ name = 'firework4', price = 50, amount = 50, type = 'item' },
{ name = 'fitbit', price = 400, amount = 150, type = 'item' },
{ name = 'cleaningkit', price = 150, amount = 150, type = 'item' },
{ name = 'advancedrepairkit', price = 500, amount = 50, type = 'item' },
},
['weedshop'] = {
{ name = 'joint', price = 10, amount = 50, type = 'item' },
{ name = 'weapon_poolcue', price = 100, amount = 50, type = 'item' },
{ name = 'weed_nutrition', price = 20, amount = 50, type = 'item' },
{ name = 'empty_weed_bag', price = 2, amount = 1000, type = 'item' },
{ name = 'rolling_paper', price = 2, amount = 1000, type = 'item' },
},
['gearshop'] = {
{ name = 'diving_gear', price = 2500, amount = 10, type = 'item' },
{ name = 'jerry_can', price = 200, amount = 50, type = 'item' },
},
['leisureshop'] = {
{ name = 'parachute', price = 2500, amount = 10, type = 'item' },
{ name = 'binoculars', price = 50, amount = 50, type = 'item' },
{ name = 'diving_gear', price = 2500, amount = 10, type = 'item' },
{ name = 'diving_fill', price = 500, amount = 10, type = 'item' },
},
['weapons'] = {
{ name = 'weapon_knife', price = 250, amount = 250, type = 'weapon' },
{ name = 'weapon_bat', price = 250, amount = 250, type = 'weapon', requiredJob = { 'mechanic', 'police' } },
{ name = 'weapon_hatchet', price = 250, amount = 250, type = 'weapon' },
{ name = 'pistol_ammo', price = 250, amount = 250, type = 'item' },
{ name = 'weapon_pistol', price = 2500, amount = 99, type = 'weapon' },
{ name = 'weapon_snspistol', price = 1500, amount = 5, type = 'weapon', requiredJob = 'mechanic' },
{ name = 'weapon_vintagepistol', price = 4000, amount = 5, type = 'weapon' },
},
['casino'] = {
{ name = 'casinochips', price = 1, amount = 999999, type = 'item' }
}
}

View file

@ -1,43 +0,0 @@
config.stashes = {
active = false,
locations = {
{
coords = vec3(452.3, -991.4, 30.7),
textUiLabel = 'Open personal locker',
name = 'policelocker', -- uniq name
label = 'Personal locker',
slots = 70,
weight = 70000,
owner = true, -- if true, it creates a player-specific stash.
jobs = { police = true } -- only 9 ranks for police job
},
{
coords = vec3(301.3, -600.23, 43.28),
textUiLabel = 'Open personal locker',
name = 'emslocker', -- uniq name
label = 'Personal Locker',
slots = 70,
weight = 70000,
owner = true,
jobs = { ambulance = true } -- all ranks for ambulance job
},
{
coords = vec3(0.0, 0.0, 0.0),
textUiLabel = 'Open test locker',
name = 'testlocker', -- uniq name
label = 'Personal Locker',
slots = 70,
weight = 70000,
owner = false,
jobs = { ambulance = true, police = { 1, 2, 3, 4, 5, 6, 7, 8, 9 } } -- all ranks for ambulance job, only 9 ranks for police job
},
{
coords = vec3(443.6447, -975.7927, 30.6896),
textUiLabel = 'Open Global Stash',
name = 'globalstash', -- uniq name
label = 'Global Stash',
slots = 70,
weight = 70000,
},
}
}

View file

@ -1,22 +0,0 @@
-- Update Video: https://youtu.be/NfPocBranmQ
config.throwableAnyItem = {
active = true, -- allows you to throw items from your inventory
defaultObject = { -- For items not added in itemToObject
hash = `prop_paper_bag_01`, -- prop Hash
groundRotation = { 90.0, 0.0, 0.0 },
handRotation = {
{ 0.13140606098295, 0.022559683884654, -0.082663316658163 }, -- pos
{ -40.18882271093, -0.24538857512052, 16.85144585768 } -- rot
}
},
itemToObject = { -- itemName, hash
goldbar = {
hash = `hei_prop_heist_gold_bar`,
groundRotation = { 0.0, 0.0, 0.0 },
handRotation = {
{ 0.065023312703829, 0.018979799071576, -0.032637740797306 }, -- pos
{ 23.929631747246, -4.040881842375, -12.166237375715 } -- rot
}
},
}
}

View file

@ -1,25 +0,0 @@
config.vendingMachine = {
active = true,
machines = {
{
objects = {
'prop_vend_soda_01',
'prop_vend_soda_02',
},
items = {
{ name = 'kurkakola', price = 4, amount = 50 },
{ name = 'water_bottle', price = 4, amount = 50 },
}
},
{
objects = {
'prop_vend_water_01',
'prop_vend_coffe_01',
},
items = {
{ name = 'kurkakola', price = 7, amount = 50 },
{ name = 'water_bottle', price = 2, amount = 50 },
}
},
}
}

View file

@ -1,236 +0,0 @@
config.throwableWeapons = {
weapon_grenade = true,
weapon_bzgas = true,
weapon_molotov = true,
weapon_flare = true,
weapon_stickybomb = true,
weapon_proxmine = true,
weapon_snowball = true,
weapon_pipebomb = true,
weapon_ball = true,
weapon_smokegrenade = true,
weapon_acidpackage = true,
weapon_throwingshoered = true
}
config.removeWeaponWhenEnteringVehicle = false -- Remove the weapon when entering the vehicle
-- Required for police weapons. If the police weapon is added in your items.lua, the assigned jobs can use this weapon. (Police weapons are automatically added to your item list.)
-- Normal weapon: weapon_pistol
-- Police weapon: weapon_police_pistol
config.weaponPoliceJobs = { "police" } -- Jobs that can use police weapons
config.disableWeaponWhip = true -- Disabling weapon whipping
config.disableWeaponAnimation = true -- Make this true if you want to disable the holster animation
config.disableWeaponsAnimation = { -- Holster animation is disabled for weapons added to the list
weapon_snowball = true,
}
config.weaponAnimation = {
police = { -- Job name
add = { -- Animation of grabbing the weapon in hand and duration (in ms)
animDictionary = "rcmjosh4",
animationName = "josh_leadout_cop2",
time = 300
},
remove = { -- Animation of putting the weapon back from hand and duration (in ms)
animDictionary = "reaction@intimidation@cop@unarmed",
animationName = "intro",
time = 250
},
},
otherJobs = { -- OTHER JOBS than the ones above ^
add = { -- Animation of grabbing the weapon in hand and duration (in ms)
animDictionary = "reaction@intimidation@1h",
animationName = "intro",
time = 1200
},
remove = { -- Animation of putting the weapon back from hand and duration (in ms)
animDictionary = "reaction@intimidation@1h",
animationName = "outro",
time = 1200
},
}
}
-- Add here the weapons that cannot be picked up in the vehicle in gta, that is, weapons that cannot be fired from inside the vehicle
-- You can pick up the weapons you add here while you are in the vehicle, so that when you get out of the vehicle, the weapon is in your hand.
config.bigWeapons = {
[`weapon_smg`] = true,
[`weapon_smg_mk2`] = true,
[`weapon_assaultsmg`] = true,
[`weapon_combatpdw`] = true,
[`weapon_raycarbine`] = true,
[`weapon_pumpshotgun`] = true,
[`weapon_pumpshotgun_mk2`] = true,
[`weapon_sawnoffshotgun`] = true,
[`weapon_assaultshotgun`] = true,
[`weapon_bullpupshotgun`] = true,
[`weapon_musket`] = true,
[`weapon_heavyshotgun`] = true,
[`weapon_dbshotgun`] = true,
[`weapon_autoshotgun`] = true,
[`weapon_assaultrifle`] = true,
[`weapon_assaultrifle_mk2`] = true,
[`weapon_carbinerifle`] = true,
[`weapon_carbinerifle_mk2`] = true,
[`weapon_advancedrifle`] = true,
[`weapon_specialcarbine`] = true,
[`weapon_specialcarbine_mk2`] = true,
[`weapon_bullpuprifle`] = true,
[`weapon_bullpuprifle_mk2`] = true,
[`weapon_compactrifle`] = true,
[`weapon_mg`] = true,
[`weapon_combatmg`] = true,
[`weapon_combatmg_mk2`] = true,
[`weapon_gusenberg`] = true,
[`weapon_sniperrifle`] = true,
[`weapon_heavysniper`] = true,
[`weapon_heavysniper_mk2`] = true,
[`weapon_marksmanrifle`] = true,
[`weapon_marksmanrifle_mk2`] = true,
[`weapon_rpg`] = true,
[`weapon_grenadelauncher`] = true,
[`weapon_grenadelauncher_smoke`] = true,
[`weapon_minigun`] = true,
[`weapon_firework`] = true,
[`weapon_railgun`] = true,
[`weapon_hominglauncher`] = true,
[`weapon_compactlauncher`] = true,
[`weapon_rayminigun`] = true,
[`weapon_dagger`] = true,
[`weapon_bat`] = true,
[`weapon_bottle`] = true,
[`weapon_crowbar`] = true,
[`weapon_unarmed`] = true,
[`weapon_flashlight`] = true,
[`weapon_golfclub`] = true,
[`weapon_hammer`] = true,
[`weapon_hatchet`] = true,
[`weapon_knuckle`] = true,
[`weapon_knife`] = true,
[`weapon_machete`] = true,
[`weapon_switchblade`] = true,
[`weapon_nightstick`] = true,
[`weapon_wrench`] = true,
[`weapon_battleaxe`] = true,
[`weapon_poolcue`] = true,
[`weapon_stone_hatchet`] = true,
}
-- Weapon Durabilty Values (Shooting max ammo before breaking)
local weaponList = {
-- Handguns
weapon_stungun = 100,
weapon_pistol = 500,
weapon_pistol_mk2 = 500,
weapon_combatpistol = 500,
weapon_appistol = 500,
weapon_pistol50 = 500,
weapon_snspistol = 500,
weapon_heavypistol = 500,
weapon_vintagepistol = 500,
weapon_flaregun = 500,
weapon_marksmanpistol = 500,
weapon_revolver = 500,
weapon_revolver_mk2 = 500,
weapon_doubleaction = 500,
weapon_snspistol_mk2 = 500,
weapon_raypistol = 500,
weapon_ceramicpistol = 500,
weapon_navyrevolver = 500,
weapon_gadgetpistol = 500,
weapon_pistolxm3 = 500,
-- Submachine Guns
weapon_microsmg = 1000,
weapon_smg = 1000,
weapon_smg_mk2 = 1000,
weapon_assaultsmg = 1000,
weapon_combatpdw = 1000,
weapon_machinepistol = 1000,
weapon_minismg = 1000,
weapon_raycarbine = 1000,
-- Shotguns
weapon_pumpshotgun = 150,
weapon_sawnoffshotgun = 150,
weapon_assaultshotgun = 150,
weapon_bullpupshotgun = 150,
weapon_musket = 150,
weapon_heavyshotgun = 150,
weapon_dbshotgun = 150,
weapon_autoshotgun = 150,
weapon_pumpshotgun_mk2 = 150,
weapon_combatshotgun = 150,
-- Assault Rifles
weapon_assaultrifle = 2000,
weapon_assaultrifle_mk2 = 2000,
weapon_carbinerifle = 2000,
weapon_carbinerifle_mk2 = 2000,
weapon_advancedrifle = 2000,
weapon_specialcarbine = 2000,
weapon_bullpuprifle = 2000,
weapon_compactrifle = 2000,
weapon_specialcarbine_mk2 = 2000,
weapon_bullpuprifle_mk2 = 2000,
weapon_militaryrifle = 2000,
-- Light Machine Guns
weapon_mg = 3000,
weapon_combatmg = 3000,
weapon_gusenberg = 3000,
weapon_combatmg_mk2 = 3000,
-- Sniper Rifles
weapon_sniperrifle = 50,
weapon_heavysniper = 50,
weapon_marksmanrifle = 50,
weapon_remotesniper = 50,
weapon_heavysniper_mk2 = 50,
weapon_marksmanrifle_mk2 = 50,
-- Heavy Weapons
weapon_rpg = 10,
weapon_grenadelauncher = 10,
weapon_grenadelauncher_smoke = 10,
weapon_minigun = 10,
weapon_firework = 10,
weapon_railgun = 10,
weapon_railgunxm3 = 10,
weapon_hominglauncher = 10,
weapon_compactlauncher = 10,
weapon_rayminigun = 10,
}
-- Melee Weapons Durabilty Values (second)
local meleeList = {
weapon_dagger = 432000,
weapon_bat = 432000,
weapon_bottle = 432000,
weapon_crowbar = 432000,
weapon_unarmed = 432000,
weapon_flashlight = 432000,
weapon_golfclub = 432000,
weapon_hammer = 432000,
weapon_hatchet = 432000,
weapon_knuckle = 432000,
weapon_knife = 432000,
weapon_machete = 432000,
weapon_switchblade = 432000,
weapon_nightstick = 432000,
weapon_wrench = 432000,
weapon_battleaxe = 432000,
weapon_poolcue = 432000,
weapon_stone_hatchet = 432000,
weapon_candycane = 432000,
weapon_stunrod = 432000,
}
config.weaponBreakAmount = {} -- Don't change
config.maleeWeaponBreakAmount = {} -- Don't change
for weapon, int in pairs(weaponList) do
config.weaponBreakAmount[weapon] = int
config.weaponBreakAmount[weapon:gsub("weapon_", "weapon_police_")] = int
end
for weapon, int in pairs(meleeList) do
config.maleeWeaponBreakAmount[weapon] = int
config.maleeWeaponBreakAmount[weapon:gsub("weapon_", "weapon_police_")] = int
end

View file

@ -1,121 +0,0 @@
fx_version "cerulean"
game "gta5"
lua54 "yes"
version '1.29.0'
dependencies {
"/server:10488",
"ox_lib",
"tgiann-core",
"clothes_images",
"inventory_images",
"/onesync",
}
ui_page "ui/build/index.html"
files {
"ui/icon/**.*",
"ui/build/**.*",
}
file("json/weapons.json")
escrow_ignore {
"client/editable.lua",
"client/topHeader.lua",
"configs/*.lua",
"languages/*.lua",
"server/editable.lua",
"server/webhooks.lua",
"server/commands.lua",
"server/convert.lua",
"items/*.lua"
}
shared_scripts {
"@ox_lib/init.lua",
"items/*.lua",
"configs/config.lua",
"languages/*.lua",
"configs/configAmmo.lua",
"configs/configAntiSwimingItems.lua",
"configs/configAttachment.lua",
"configs/configAttachmentName.lua",
"configs/configBlockItems.lua",
"configs/configCarryItems.lua",
"configs/configClotheBackpack.lua",
"configs/configCommands.lua",
"configs/configCraft.lua",
"configs/configDecayableItems.lua",
"configs/configDumpsterSearch.lua",
"configs/configDrop.lua",
"configs/configEditableItems.lua",
"configs/configFilter.lua",
"configs/configItemStash.lua",
"configs/configMaxUseAmount.lua",
"configs/configRealisticArmor.lua",
"configs/configShop.lua",
"configs/configStashes.lua",
"configs/configThrowableItems.lua",
"configs/configVendingMachine.lua",
"configs/configWeapon.lua",
"configs/configMaxStack.lua",
"configs/configMetadata.lua",
"shared/shared.lua"
}
client_scripts {
"shared/itemList.lua",
"configs/configMetadataAdvance.js",
"client/exports.lua",
"client/dev.lua",
"client/client.lua",
"client/ammo.lua",
"client/attachments.lua",
"client/craft.lua",
"client/dropWhenDie.lua",
"client/playerRender.lua",
"client/topHeader.lua",
"client/useItem.lua",
"client/metadata.lua",
"client/editable.lua",
"client/weapdraw.lua",
"client/stungunAmmo.lua",
"client/clothing.lua",
"client/throwItem.lua",
"client/drop.lua",
"client/carryItems.lua",
"client/realisticArmor.lua",
"client/commands.lua",
"client/vendingMachine.lua",
"client/stashes.lua",
"client/dumpsterSearch.lua",
}
server_scripts {
"@oxmysql/lib/MySQL.lua",
"shared/itemList.lua",
"server/hooks.lua",
"server/webhooks.lua",
"server/server.lua",
"server/commands.lua",
"server/attachments.lua",
"server/carryItems.lua",
"server/dropWhenDie.lua",
"server/craft.lua",
"server/FWFunctions.lua",
"server/utils.lua",
"server/ammo.lua",
"server/realisticArmor.lua",
"server/editable.lua",
"server/convert.lua",
"server/control.lua",
"server/clothe.lua",
"server/vendingMachine.lua",
"server/stashes.lua",
"server/dumpsterSearch.lua",
"server/bridge/*.lua"
}
dependency '/assetpacks'

View file

@ -1,388 +0,0 @@
itemsData = {
-- Clothe items
c_necklace = { name = "c_necklace", label = "Necklace (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_bproof = { name = "c_bproof", label = "Bullet Proof (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_decal = { name = "c_decal", label = "Decals (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_torso = { name = "c_torso", label = "Torso (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_mask = { name = "c_mask", label = "Mask (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_helmet = { name = "c_helmet", label = "Hat (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_glasses = { name = "c_glasses", label = "Glasses (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_bag = { name = "c_bag", label = "Bag (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_pants = { name = "c_pants", label = "Pants (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_shoes = { name = "c_shoes", label = "Shoes (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_bracelet = { name = "c_bracelet", label = "Bracelet (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_watch = { name = "c_watch", label = "Watch (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
c_ear = { name = "c_ear", label = "Ear (Clothe)", clothe = true, weight = 0, type = "item", unique = true, useable = false, shouldClose = false, description = "" },
kposet = { name = "kposet", label = "Clothes Bag", weight = 100, type = "item", unique = true, useable = true, shouldClose = false, description = "Special Bag to Store Your Clothes" }, -- Clothe small bag item
bkposet = { name = "bkposet", label = "Clothes Bag Plus", weight = 300, type = "item", unique = true, useable = true, shouldClose = false, description = "Special Bag to Store Your Clothes" }, -- Clothe big bag item
clothe_set = { name = 'clothe_set', label = 'Clothe Set', weight = 0, type = 'item', image = 'clothe_set.png', clothe = true, unique = true, useable = true, shouldClose = false, description = '' }, -- Clothe set item
-- Police ammo items
police_stungun_ammo = { rareName = "weaponPoliceAmmo", name = 'police_stungun_ammo', label = 'Pollice Stungun ammo', weight = 200, type = 'item', image = 'stungun_ammo.webp', unique = false, useable = true, shouldClose = true, description = 'Ammo for Stungun' },
police_pistol_ammo = { rareName = "weaponPoliceAmmo", name = 'police_pistol_ammo', label = 'Pollice Pistol ammo', weight = 200, type = 'item', image = 'pistol_ammo.webp', unique = false, useable = true, shouldClose = true, description = 'Ammo for Pistols' },
police_rifle_ammo = { rareName = "weaponPoliceAmmo", name = 'police_rifle_ammo', label = 'Pollice Rifle ammo', weight = 1000, type = 'item', image = 'rifle_ammo.webp', unique = false, useable = true, shouldClose = true, description = 'Ammo for Rifles' },
police_smg_ammo = { rareName = "weaponPoliceAmmo", name = 'police_smg_ammo', label = 'Pollice SMG ammo', weight = 500, type = 'item', image = 'smg_ammo.webp', unique = false, useable = true, shouldClose = true, description = 'Ammo for Sub Machine Guns' },
police_shotgun_ammo = { rareName = "weaponPoliceAmmo", name = 'police_shotgun_ammo', label = 'Pollice Shotgun ammo', weight = 500, type = 'item', image = 'shotgun_ammo.webp', unique = false, useable = true, shouldClose = true, description = 'Ammo for Shotguns' },
police_mg_ammo = { rareName = "weaponPoliceAmmo", name = 'police_mg_ammo', label = 'Pollice MG ammo', weight = 1000, type = 'item', image = 'mg_ammo.webp', unique = false, useable = true, shouldClose = true, description = 'Ammo for Machine Guns' },
police_snp_ammo = { rareName = "weaponPoliceAmmo", name = 'police_snp_ammo', label = 'Pollice Sniper ammo', weight = 1000, type = 'item', image = 'rifle_ammo.webp', unique = false, useable = true, shouldClose = true, description = 'Ammo for Sniper Rifles' },
police_emp_ammo = { rareName = "weaponPoliceAmmo", name = 'police_emp_ammo', label = 'Pollice EMP Ammo', weight = 200, type = 'item', image = 'emp_ammo.webp', unique = false, useable = true, shouldClose = true, description = 'Ammo for EMP Launcher' },
-- Ammo items
pistol_ammo = { name = 'pistol_ammo', label = 'Pistol ammo', weight = 200, type = 'item', image = 'pistol_ammo.png', unique = false, useable = true, shouldClose = true, description = 'Ammo for Pistols' },
rifle_ammo = { name = 'rifle_ammo', label = 'Rifle ammo', weight = 1000, type = 'item', image = 'rifle_ammo.png', unique = false, useable = true, shouldClose = true, description = 'Ammo for Rifles' },
smg_ammo = { name = 'smg_ammo', label = 'SMG ammo', weight = 500, type = 'item', image = 'smg_ammo.png', unique = false, useable = true, shouldClose = true, description = 'Ammo for Sub Machine Guns' },
shotgun_ammo = { name = 'shotgun_ammo', label = 'Shotgun ammo', weight = 500, type = 'item', image = 'shotgun_ammo.png', unique = false, useable = true, shouldClose = true, description = 'Ammo for Shotguns' },
mg_ammo = { name = 'mg_ammo', label = 'MG ammo', weight = 1000, type = 'item', image = 'mg_ammo.png', unique = false, useable = true, shouldClose = true, description = 'Ammo for Machine Guns' },
snp_ammo = { name = 'snp_ammo', label = 'Sniper ammo', weight = 1000, type = 'item', image = 'rifle_ammo.png', unique = false, useable = true, shouldClose = true, description = 'Ammo for Sniper Rifles' },
emp_ammo = { name = 'emp_ammo', label = 'EMP Ammo', weight = 200, type = 'item', image = 'emp_ammo.png', unique = false, useable = true, shouldClose = true, description = 'Ammo for EMP Launcher' },
-- Test Items
testburger = {
name = "testburger",
label = 'Test Burger',
weight = 220,
useable = true,
client = {
image = 'burger_chicken.png',
status = { hunger = 200000, thirst = 10000 },
anim = { dict = 'missheistdockssetup1clipboard@idle_a', clip = 'idle_a', flag = 49 },
prop = { model = `prop_rolled_sock_02`, pos = vec3(-0.14, -0.14, -0.08), rot = vec3(-50.0, -50.0, 0.0) },
usetime = 2500,
export = 'tgiann_inventory_examples.testburger' -- Script Name . Function name
},
server = {
export = 'tgiann_inventory_examples.testburger', -- Script Name . Function name
},
unique = true
},
testbandage = {
name = "testbandage",
label = 'Bandage',
weight = 115,
useable = true,
client = {
anim = { dict = 'missheistdockssetup1clipboard@idle_a', clip = 'idle_a', flag = 49 },
prop = { model = `prop_rolled_sock_02`, pos = vec3(-0.14, -0.14, -0.08), rot = vec3(-50.0, -50.0, 0.0) },
disable = { move = true, car = true, combat = true },
usetime = 2500,
},
buttons = {
{
label = 'Custom Button',
action = function(slot)
print('Custom Button', slot)
end
}
},
add = function(amount)
print('Added', amount)
end,
remove = function(amount)
print('Removed', amount)
end
},
--Money as Item
money_item = { name = 'money_item', label = 'Money', weight = 0, type = 'item', image = 'money.webp', unique = false, useable = false, shouldClose = false, description = 'Green Paper' },
television = { name = 'television', label = 'Television', weight = 100, type = 'item', image = 'television.png', unique = false, useable = true, shouldClose = true, description = '' },
present = { name = 'present', label = 'Present', weight = 100, type = 'item', image = 'present.png', unique = false, useable = true, shouldClose = true, description = '' },
phone = { name = 'phone', label = 'phone', weight = 100, type = 'item', image = 'phone.png', unique = true, useable = true, shouldClose = true, description = '' },
testitem = { name = 'testitem', label = 'Test Item', weight = 0, type = 'item', image = 'testitem.png', unique = false, useable = true, shouldClose = true, description = 'testitem' },
testitemuniq = { name = 'testitemuniq', label = 'Test Item Uniq', weight = 10, type = 'item', image = 'testitemuniq.png', unique = true, useable = true, shouldClose = true, description = 'testitemuniq' },
testitemlong = { name = 'testitemlong', label = 'Test Item Long Long Long Name', weight = 0, type = 'item', image = 'testitemlong.png', unique = false, useable = true, shouldClose = true, description = 'testitemlong' },
kurkakola = { name = 'kurkakola', label = 'Cola', weight = 100, type = 'item', image = 'kurkakola.png', unique = false, useable = true, shouldClose = true, description = '' },
water_bottle = { name = 'water_bottle', label = 'Water bottle', weight = 100, type = 'item', image = 'water_bottle.png', unique = false, useable = true, shouldClose = true, description = '' },
bread = { name = 'bread', label = 'Bread', weight = 100, type = 'item', image = 'bread.png', unique = false, useable = true, shouldClose = true, description = '' },
water = { name = 'water', label = 'Water bottle', weight = 100, type = 'item', image = 'water.png', unique = false, useable = true, shouldClose = true, description = '' },
radio = { name = 'radio', label = 'Radio', weight = 100, type = 'item', image = 'radio.png', unique = false, useable = true, shouldClose = true, description = '' },
t_armor_heavy = { name = 't_armor_heavy', label = 'Heavy Armor', weight = 100, type = 'item', image = 't_armor_heavy.png', unique = true, useable = true, shouldClose = true, description = '' },
t_armor_light = { name = 't_armor_light', label = 'Heavy Armor', weight = 100, type = 'item', image = 't_armor_light.png', unique = true, useable = true, shouldClose = true, description = '' },
car_key = { name = 'car_key', label = 'Car Key', weight = 100, type = 'item', image = 'car_key.png', unique = true, useable = true, shouldClose = true, description = '' },
-- tgiann bank
creditcard_lvl_1 = { name = 'creditcard_lvl_1', label = 'Lost Credit Cards Normal', weight = 100, type = 'item', image = 'creditcard_lvl_1.png', unique = false, useable = true, shouldClose = true, description = '' },
creditcard_lvl_2 = { name = 'creditcard_lvl_2', label = 'Lost Credit Cards Gold', weight = 100, type = 'item', image = 'creditcard_lvl_2.png', unique = false, useable = true, shouldClose = true, description = '' },
creditcard_lvl_3 = { name = 'creditcard_lvl_3', label = 'Lost Credit Cards Platinum', weight = 100, type = 'item', image = 'creditcard_lvl_3.png', unique = false, useable = true, shouldClose = true, description = '' },
-- tgiann-animpos-photo-cam
polaroid = { name = 'polaroid', label = 'Polaroid Image', weight = 100, type = 'item', image = 'polaroid_image.png', unique = true, useable = true, shouldClose = true, description = '' },
polaroid_empty = { name = 'polaroid_empty', label = 'Empty Polaroid', weight = 100, type = 'item', image = 'polaroid_image.png', unique = false, useable = false, shouldClose = false, description = '' },
-- tgiann-food-jobs
packetlumipier = { name = "packetlumipier", label = "Lumi Cafe", image = 'packetlumipier.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packetbahama = { name = "packetbahama", label = "Bahama Mamas", image = 'packetbahama.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packetbeanmachine = { name = "packetbeanmachine", label = "Bean Machine Cafe", image = 'packetbeanmachine.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packetburger = { name = "packetburger", label = "Burger Shot", image = 'packetburger.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packethornys = { name = "packethornys", label = "Hornys", image = 'packethornys.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packetkoi = { name = "packetkoi", label = "KOI", image = 'packetkoi.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packetpearls = { name = "packetpearls", label = "Pearls", image = 'packetpearls.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packetpizza = { name = "packetpizza", label = "Pizza This", image = 'packetpizza.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packetdinner = { name = "packetdinner", label = "Pops Dinner", image = 'packetdinner.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packettriads = { name = "packettriads", label = "Triads", image = 'packettriads.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packetatom = { name = "packetatom", label = "Up un Atom", image = 'packetatom.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packetuwu = { name = "packetuwu", label = "Cat Cafe", image = 'packetuwu.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packetvanillaunicorn = { name = "packetvanillaunicorn", label = "Vanilla Unicorn", image = 'packetvanillaunicorn.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packettequilala = { name = "packettequilala", label = "Tequi-la-la", image = 'packettequilala.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
packeticecream = { name = "packeticecream", label = "Dondurmacı", image = 'packeticecream.png', weight = 100, type = "item", unique = true, useable = true, shouldClose = true, description = "" },
-- Cocktail
blue_lagoon = { name = "blue_lagoon", label = "Blue Lagoon", weight = 100, type = "item", image = "blue_lagoon.png", unique = true, useable = true, shouldClose = false, description = "" },
midori_sour = { name = "midori_sour", label = "Midori Sour", weight = 100, type = "item", image = "midori_sour.png", unique = true, useable = true, shouldClose = false, description = "" },
moscow_mule = { name = "moscow_mule", label = "Moscow Mule", weight = 100, type = "item", image = "moscow_mule.png", unique = true, useable = true, shouldClose = false, description = "" },
pina_colada = { name = "pina_colada", label = "Pina Colada", weight = 100, type = "item", image = "pina_colada.png", unique = true, useable = true, shouldClose = false, description = "" },
tom_collins = { name = "tom_collins", label = "Tom Collins", weight = 100, type = "item", image = "tom_collins.png", unique = true, useable = true, shouldClose = false, description = "" },
espresso_martini = { name = "espresso_martini", label = "Espresso Martini", weight = 100, type = "item", image = "espresso_martini.png", unique = true, useable = true, shouldClose = false, description = "" },
grey_hound = { name = "grey_hound", label = "Grey Hound", weight = 100, type = "item", image = "grey_hound.png", unique = true, useable = true, shouldClose = false, description = "" },
sex_on_the_beach = { name = "sex_on_the_beach", label = "Sex On The Beach", weight = 100, type = "item", image = "sex_on_the_beach.png", unique = true, useable = true, shouldClose = false, description = "" },
mojito = { name = "mojito", label = "Mojito", weight = 100, type = "item", image = "mojito.png", unique = true, useable = true, shouldClose = false, description = "" },
tequila_sunrise = { name = "tequila_sunrise", label = "Tequila Sunrise", weight = 100, type = "item", image = "tequila_sunrise.png", unique = true, useable = true, shouldClose = false, description = "" },
old_fashioned = { name = "old_fashioned", label = "Old Fashioned", weight = 100, type = "item", image = "old_fashioned.png", unique = true, useable = true, shouldClose = false, description = "" },
harvey_wallbanger = { name = "harvey_wallbanger", label = "Harvey Wallbanger", weight = 100, type = "item", image = "harvey_wallbanger.png", unique = true, useable = true, shouldClose = false, description = "" },
bellini = { name = "bellini", label = "Bellini", weight = 100, type = "item", image = "bellini.png", unique = true, useable = true, shouldClose = false, description = "" },
bloody_mary = { name = "bloody_mary", label = "Bloody Mary", weight = 100, type = "item", image = "bloody_mary.png", unique = true, useable = true, shouldClose = false, description = "" },
caiprinha = { name = "caiprinha", label = "Caiprinha", weight = 100, type = "item", image = "caiprinha.png", unique = true, useable = true, shouldClose = false, description = "" },
cosmopolitan = { name = "cosmopolitan", label = "Cosmopolitan", weight = 100, type = "item", image = "cosmopolitan.png", unique = true, useable = true, shouldClose = false, description = "" },
cuba_libre = { name = "cuba_libre", label = "Cuba Libre", weight = 100, type = "item", image = "cuba_libre.png", unique = true, useable = true, shouldClose = false, description = "" },
gin_gimlit = { name = "gin_gimlit", label = "Gin Gimlit", weight = 100, type = "item", image = "gin_gimlit.png", unique = true, useable = true, shouldClose = false, description = "" },
gin_tonic = { name = "gin_tonic", label = "Gin & Tonic", weight = 100, type = "item", image = "gin_tonic.png", unique = true, useable = true, shouldClose = false, description = "" },
irish_coffee = { name = "irish_coffee", label = "Irish Coffee", weight = 100, type = "item", image = "irish_coffee.png", unique = true, useable = true, shouldClose = false, description = "" },
mai_tai = { name = "mai_tai", label = "Mai Tai", weight = 100, type = "item", image = "mai_tai.png", unique = true, useable = true, shouldClose = false, description = "" },
manhattan_martini = { name = "manhattan_martini", label = "Manhattan Martini", weight = 100, type = "item", image = "manhattan_martini.png", unique = true, useable = true, shouldClose = false, description = "" },
mimosa = { name = "mimosa", label = "Mimosa", weight = 100, type = "item", image = "mimosa.png", unique = true, useable = true, shouldClose = false, description = "" },
mint_julep = { name = "mint_julep", label = "Mint JuleP", weight = 100, type = "item", image = "mint_julep.png", unique = true, useable = true, shouldClose = false, description = "" },
raki = { name = "raki", label = "Raki", weight = 100, type = "item", image = "raki.png", unique = true, useable = true, shouldClose = false, description = "" },
--Bear
ale = { name = "ale", label = "Ale", weight = 100, type = "item", image = "ale.png", unique = true, useable = true, shouldClose = false, description = "" },
blonde = { name = "blonde", label = "Blonde", weight = 100, type = "item", image = "blonde.png", unique = true, useable = true, shouldClose = false, description = "" },
larger = { name = "larger", label = "Larger", weight = 100, type = "item", image = "larger.png", unique = true, useable = true, shouldClose = false, description = "" },
pilsner = { name = "pilsner", label = "Pilsner", weight = 100, type = "item", image = "pilsner.png", unique = true, useable = true, shouldClose = false, description = "" },
ryes = { name = "ryes", label = "Ryes", weight = 100, type = "item", image = "ryes.png", unique = true, useable = true, shouldClose = false, description = "" },
--Wine
bordeaux = { name = "bordeaux", label = "Bordeaux", weight = 100, type = "item", image = "bordeaux.png", unique = true, useable = true, shouldClose = false, description = "" },
burgundy = { name = "burgundy", label = "Burgundy", weight = 100, type = "item", image = "burgundy.png", unique = true, useable = true, shouldClose = false, description = "" },
cabernet = { name = "cabernet", label = "Cabernet", weight = 100, type = "item", image = "cabernet.png", unique = true, useable = true, shouldClose = false, description = "" },
champ = { name = "champ", label = "Champ", weight = 100, type = "item", image = "champ.png", unique = true, useable = true, shouldClose = false, description = "" },
chardonnay = { name = "chardonnay", label = "Chardonnay", weight = 100, type = "item", image = "chardonnay.png", unique = true, useable = true, shouldClose = false, description = "" },
pinot_nior = { name = "pinot_nior", label = "Pinot Nior", weight = 100, type = "item", image = "pinot_nior.png", unique = true, useable = true, shouldClose = false, description = "" },
white = { name = "white", label = "White", weight = 100, type = "item", image = "white.png", unique = true, useable = true, shouldClose = false, description = "" },
zifandel = { name = "zifandel", label = "Zifandel", weight = 100, type = "item", image = "zifandel.png", unique = true, useable = true, shouldClose = false, description = "" },
stout = { name = "stout", label = "stout", weight = 100, type = "item", image = "stout.png", unique = true, useable = true, shouldClose = false, description = "" },
-- coffee
nekolatte = { name = "nekolatte", label = "Neko Latte", weight = 100, type = "item", image = "nekolatte.png", unique = true, useable = true, shouldClose = true, description = "" },
mocha = { name = "mocha", label = "Mocha", weight = 100, type = "item", image = "mocha.png", unique = true, useable = true, shouldClose = true, description = "" },
cappuccino = { name = "cappuccino", label = "cappuccino", weight = 100, type = "item", image = "cappuccino.png", unique = true, useable = true, shouldClose = true, description = "" },
latte = { name = "latte", label = "Latte", weight = 100, type = "item", image = "latte.png", unique = true, useable = true, shouldClose = true, description = "" },
latte_macchiato = { name = "latte_macchiato", label = "Latte Macchiato", weight = 100, type = "item", image = "latte_macchiato.png", unique = true, useable = true, shouldClose = true, description = "" },
coffee = { name = "coffee", label = "coffee", weight = 0, type = "item", image = "coffee.png", unique = true, useable = true, shouldClose = true, description = "", },
coffee_1x = { name = "coffee_1x", label = "small coffee", weight = 100, type = "item", image = "coffee_1x.png", unique = true, useable = true, shouldClose = true, description = "" },
coffee_2x = { name = "coffee_2x", label = "medium coffee", weight = 100, type = "item", image = "coffee_2x.png", unique = true, useable = true, shouldClose = true, description = "" },
coffee_3x = { name = "coffee_3x", label = "large coffee", weight = 100, type = "item", image = "coffee_3x.png", unique = true, useable = true, shouldClose = true, description = "" },
-- Cola
sprunk = { name = "sprunk", label = "Sprite", weight = 100, type = "item", image = "sprunk.png", unique = true, useable = true, shouldClose = true, description = "" },
ecola = { name = "ecola", label = "Cola", weight = 100, type = "item", image = "ecola.png", unique = true, useable = true, shouldClose = true, description = "" },
sprunklight = { name = "sprunklight", label = "Sprite Light", weight = 100, type = "item", image = "sprunklight.png", unique = true, useable = true, shouldClose = true, description = "" },
ecolalight = { name = "ecolalight", label = "Cola Light", weight = 100, type = "item", image = "ecolalight.png", unique = true, useable = true, shouldClose = true, description = "" },
-- Juices
orange_juice = { name = "orange_juice", label = "Orange Juice", weight = 100, type = "item", image = "orange_juice.png", unique = true, useable = true, shouldClose = false, description = "" },
watermelon_juice = { name = "watermelon_juice", label = "Watermelon Juice", weight = 100, type = "item", image = "watermelon_juice.png", unique = true, useable = true, shouldClose = false, description = "" },
pineapple_juice = { name = "pineapple_juice", label = "Pineapple Juice", weight = 100, type = "item", image = "pineapple_juice.png", unique = true, useable = true, shouldClose = false, description = "" },
carrot_juice = { name = "carrot_juice", label = "Carrot Juice", weight = 100, type = "item", image = "carrot_juice.png", unique = true, useable = true, shouldClose = false, description = "" },
tomato_juice = { name = "tomato_juice", label = "Tomato Juice", weight = 100, type = "item", image = "tomato_juice.png", unique = true, useable = true, shouldClose = false, description = "" },
cranberry_juice = { name = "cranberry_juice", label = "Cranberry Juice", weight = 100, type = "item", image = "cranberry_juice.png", unique = true, useable = true, shouldClose = false, description = "" },
lemonade_juice = { name = "lemonade_juice", label = "Lemonade Juice", weight = 100, type = "item", image = "lemonade_juice.png", unique = true, useable = true, shouldClose = false, description = "" },
--bubbletea
bubbletea_strawberry = { name = "bubbletea_strawberry", label = "Strawberry Bubble Tea", weight = 100, type = "item", image = "bubbletea_strawberry.png", unique = true, useable = true, shouldClose = true, description = "" },
bubbletea_cola = { name = "bubbletea_cola", label = "Cola Bubble Tea", weight = 100, type = "item", image = "bubbletea_cola.png", unique = true, useable = true, shouldClose = true, description = "" },
bubbletea_green = { name = "bubbletea_green", label = "Green Bubble Tea", weight = 100, type = "item", image = "bubbletea_green.png", unique = true, useable = true, shouldClose = true, description = "" },
bubbletea_milk = { name = "bubbletea_milk", label = "Milky Bubble Tea", weight = 100, type = "item", image = "bubbletea_milk.png", unique = true, useable = true, shouldClose = true, description = "" },
bubbletea_caramel = { name = "bubbletea_caramel", label = "Caramel Bubble Tea", weight = 100, type = "item", image = "bubbletea_caramel.png", unique = true, useable = true, shouldClose = true, description = "" },
-- icecream
berry_icecream = { name = "berry_icecream", label = "Berry Ice cream", weight = 100, type = "item", image = "berry_icecream.png", unique = true, useable = true, shouldClose = true, description = "" },
bubblegum_icecream = { name = "bubblegum_icecream", label = "Bubblegum Ice cream", weight = 100, type = "item", image = "bubblegum_icecream.png", unique = true, useable = true, shouldClose = true, description = "" },
caramel_icecream = { name = "caramel_icecream", label = "Caramel Ice cream", weight = 100, type = "item", image = "caramel_icecream.png", unique = true, useable = true, shouldClose = true, description = "" },
chocolate_icecream = { name = "chocolate_icecream", label = "Chocolate Ice cream", weight = 100, type = "item", image = "chocolate_icecream.png", unique = true, useable = true, shouldClose = true, description = "" },
chocolate_strawberry_icecream = { name = "chocolate_strawberry_icecream", label = "Strawberry&Chocolate Ice cream", weight = 100, type = "item", image = "chocolate_strawberry_icecream.png", unique = true, useable = true, shouldClose = true, description = "" },
mint_icecream = { name = "mint_icecream", label = "Mint Ice cream", weight = 100, type = "item", image = "mint_icecream.png", unique = true, useable = true, shouldClose = true, description = "" },
strawberry_icecream = { name = "strawberry_icecream", label = "Strawberry Ice cream", weight = 100, type = "item", image = "strawberry_icecream.png", unique = true, useable = true, shouldClose = true, description = "" },
strawberry_mint_icecream = { name = "strawberry_mint_icecream", label = "Strawberry&Mint Ice cream", weight = 100, type = "item", image = "strawberry_mint_icecream.png", unique = true, useable = true, shouldClose = true, description = "" },
strawberry_vanilla_icecream = { name = "strawberry_vanilla_icecream", label = "Strawberry&Vanilla Ice cream", weight = 100, type = "item", image = "strawberry_vanilla_icecream.png", unique = true, useable = true, shouldClose = true, description = "" },
vanilla_icecream = { name = "vanilla_icecream", label = "Vanilla Ice cream", weight = 100, type = "item", image = "vanilla_icecream.png", unique = true, useable = true, shouldClose = true, description = "" },
vanilla_berry_icecream = { name = "vanilla_berry_icecream", label = "Berry&Vanilla Ice cream", weight = 100, type = "item", image = "vanilla_berry_icecream.png", unique = true, useable = true, shouldClose = true, description = "" },
vanilla_mint_icecream = { name = "vanilla_mint_icecream", label = "Mint&Vanilla Ice cream", weight = 100, type = "item", image = "vanilla_mint_icecream.png", unique = true, useable = true, shouldClose = true, description = "" },
--food craft items
carrot = { name = "carrot", label = "Carrot", weight = 100, type = "item", image = "carrot.png", unique = false, useable = true, shouldClose = true, description = "" },
cranberry = { name = "cranberry", label = "Cranberry", weight = 100, type = "item", image = "cranberry.png", unique = false, useable = true, shouldClose = true, description = "" },
boba = { name = "boba", label = "Boba", weight = 100, type = "item", image = "boba.png", unique = false, useable = true, shouldClose = true, description = "" },
sugar = { name = "sugar", label = "Sugar", weight = 100, type = "item", image = "sugar.png", unique = false, useable = true, shouldClose = true, description = "" },
blueberry = { name = "blueberry", label = "Blueberry", weight = 100, type = "item", image = "blueberry.png", unique = false, useable = true, shouldClose = true, description = "" },
mint = { name = "mint", label = "Mint", weight = 100, type = "item", image = "mint.png", unique = false, useable = true, shouldClose = false, description = "" },
orange = { name = "orange", label = "Orange", weight = 100, type = "item", image = "orange.png", unique = false, useable = true, shouldClose = false, description = "" },
strawberry = { name = "strawberry", label = "Strawberry", weight = 100, type = "item", image = "strawberry.png", unique = false, useable = true, shouldClose = false, description = "" },
rice = { name = "rice", label = "Rice", weight = 100, type = "item", image = "rice.png", unique = false, useable = true, shouldClose = true, description = "" },
nori = { name = "nori", label = "Nori", weight = 100, type = "item", image = "nori.png", unique = false, useable = true, shouldClose = true, description = "" },
tofu = { name = "tofu", label = "Tofu", weight = 100, type = "item", image = "tofu.png", unique = false, useable = true, shouldClose = true, description = "" },
onion = { name = "onion", label = "Onion", weight = 500, type = "item", image = "onion.png", unique = false, useable = false, shouldClose = false, description = "" },
avokado = { name = "avokado", label = "Avokado", weight = 500, type = "item", image = "avokado.png", unique = false, useable = false, shouldClose = false, description = "" },
raw_sausagepizza = { name = "raw_sausagepizza", label = "Raw Sausage Pizza", weight = 100, type = "item", image = "raw_sucuklu.png", unique = false, useable = true, shouldClose = false, description = "" },
raw_margaritapizza = { name = "raw_margaritapizza", label = "Raw Margaritalı Pizza", weight = 100, type = "item", image = "raw_margaritapizza.png", unique = false, useable = true, shouldClose = false, description = "" },
raw_mushroompizza = { name = "raw_mushroompizza", label = "Raw Mushroom Pizza", weight = 100, type = "item", image = "raw_mushroompizza.png", unique = false, useable = true, shouldClose = false, description = "" },
raw_chickenpizza = { name = "raw_chickenpizza", label = "Raw Chicken Pizza", weight = 100, type = "item", image = "raw_chickenpizza.png", unique = false, useable = true, shouldClose = false, description = "" },
raw_tunapizza = { name = "raw_tunapizza", label = "Raw Tuna Pizza", weight = 100, type = "item", image = "raw_tunapizza.png", unique = false, useable = true, shouldClose = false, description = "" },
milk = { name = "milk", label = "Milk", weight = 300, type = "item", image = "milk.png", unique = false, useable = true, shouldClose = true, description = "" },
rawcoffee = { name = "rawcoffee", label = "Raw Coffee", weight = 100, type = "item", image = "rawcoffee.png", unique = false, useable = true, shouldClose = true, description = "", },
sausage = { name = 'sausage', label = 'Sausage', weight = 100, type = 'item', image = 'sausage.png', unique = false, useable = true, shouldClose = true, description = '' },
sausage_brat = { name = 'sausage_brat', label = 'Sausage', weight = 100, type = 'item', image = 'sausage_brat.png', unique = false, useable = true, shouldClose = true, description = '' },
tuna = { name = 'tuna', label = 'Tuna', weight = 100, type = 'item', image = 'tuna.png', unique = false, useable = true, shouldClose = false, description = '' },
chicken = { name = 'chicken', label = 'Chicken', weight = 100, type = 'item', image = 'chicken.png', unique = false, useable = true, shouldClose = false, description = '' },
dough2 = { name = 'dough2', label = 'Dough', weight = 100, type = 'item', image = 'dough2.png', unique = false, useable = true, shouldClose = false, description = '' },
food_mushroom = { name = 'food_mushroom', label = 'Mushroom', weight = 100, type = 'item', image = 'food_mushroom.png', unique = false, useable = true, shouldClose = true, description = '' },
spice = { name = "spice", label = "Spice", weight = 100, type = "item", image = "spice.png", unique = false, useable = true, shouldClose = false, description = "" },
tomatoes = { name = 'tomatoes', label = 'Tomato', weight = 100, type = 'item', image = 'tomatoes.png', unique = false, useable = true, shouldClose = false, description = '' },
tomatoes2 = { name = 'tomatoes2', label = 'Cut Tomato', weight = 100, type = 'item', image = 'tomatoes2.png', unique = false, useable = true, shouldClose = false, description = '' },
dough = { name = 'dough', label = 'Dough', weight = 100, type = 'item', image = 'dough.png', unique = false, useable = true, shouldClose = false, description = '' },
tomatopaste = { name = 'tomatopaste', label = 'Tomatopaste', weight = 100, type = 'item', image = 'tomatopaste.png', unique = false, useable = true, shouldClose = false, description = '' },
flour = { name = "flour", label = "Flour", weight = 100, type = "item", image = "flour.png", unique = false, useable = true, shouldClose = true, description = "" },
egg = { name = 'egg', label = 'Eggs', weight = 100, type = 'item', image = 'egg.png', unique = false, useable = true, shouldClose = false, description = '' },
kiwi = { name = "kiwi", label = "Kiwi", weight = 100, type = "item", image = "kiwi.png", unique = false, useable = true, shouldClose = false, description = "" },
berry = { name = "berry", label = "Berry", weight = 100, type = "item", image = "berry.png", unique = false, useable = true, shouldClose = false, description = "" },
lemon = { name = "lemon", label = "Lemon", weight = 100, type = "item", image = "lemon.png", unique = false, useable = true, shouldClose = false, description = "" },
watermelon = { name = "watermelon", label = "Watermelon", weight = 100, type = "item", image = "watermelon.png", unique = false, useable = true, shouldClose = false, description = "" },
banana = { name = "banana", label = "Banana", weight = 100, type = "item", image = "banana.png", unique = false, useable = true, shouldClose = false, description = "" },
cherry = { name = "cherry", label = "Cherry", weight = 100, type = "item", image = "cherry.png", unique = false, useable = true, shouldClose = true, description = "" },
maracuja = { name = "maracuja", label = "Maracuja", weight = 100, type = "item", image = "maracuja.png", unique = false, useable = true, shouldClose = true, description = "" },
apple = { name = "apple", label = "Apple", weight = 100, type = "item", image = "apple.png", unique = false, useable = true, shouldClose = true, description = "" },
burgerbread = { name = "burgerbread", label = "Burger Bread", weight = 100, type = "item", image = "burgerbread.png", unique = false, useable = true, shouldClose = true, description = "" },
sandwichbread = { name = "sandwichbread", label = "Sandwich Bread", weight = 100, type = "item", image = "sandwichbread.png", unique = false, useable = true, shouldClose = true, description = "" },
meat = { name = "meat", label = "Raw Meat", weight = 100, type = "item", image = "meat.png", unique = false, useable = true, shouldClose = true, description = "" },
meat2 = { name = "meat2", label = "Cooked Meat", weight = 100, type = "item", image = "meat2.png", unique = false, useable = true, shouldClose = true, description = "" },
pickle = { name = "pickle", label = "Pickle", weight = 100, type = "item", image = "pickle.png", unique = false, useable = true, shouldClose = true, description = "" },
pickle2 = { name = "pickle2", label = "Cut Pickle", weight = 100, type = "item", image = "pickle2.png", unique = false, useable = true, shouldClose = true, description = "" },
ketchup = { name = "ketchup", label = "Ketchup", weight = 100, type = "item", image = "ketchup.png", unique = false, useable = true, shouldClose = true, description = "" },
mustard = { name = "mustard", label = "Mustard", weight = 100, type = "item", image = "mustard.png", unique = false, useable = true, shouldClose = true, description = "" },
nugget = { name = "nugget", label = "Raw Nugget", weight = 100, type = "item", image = "nugget.png", unique = false, useable = true, shouldClose = true, description = "" },
nugget2 = { name = "nugget2", label = "Cooked Nugget", weight = 100, type = "item", image = "nugget2.png", unique = false, useable = true, shouldClose = true, description = "" },
lettuce = { name = "lettuce", label = "Lettuce", weight = 100, type = "item", image = "lettuce.png", unique = false, useable = true, shouldClose = true, description = "" },
lettuce2 = { name = "lettuce2", label = "Cut Lettuce", weight = 100, type = "item", image = "lettuce2.png", unique = false, useable = true, shouldClose = true, description = "" },
mayonnaise = { name = "mayonnaise", label = "Mayonnaise", weight = 100, type = "item", image = "mayonnaise.png", unique = false, useable = true, shouldClose = true, description = "" },
potato = { name = "potato", label = "Potato", weight = 100, type = "item", image = "potato.png", unique = false, useable = true, shouldClose = true, description = "" },
potato2 = { name = "potato2", label = "Cut Potato", weight = 100, type = "item", image = "potato2.png", unique = false, useable = true, shouldClose = true, description = "" },
grapefruit = { name = "grapefruit", label = "Greyfurt", weight = 100, type = "item", image = "grapefruit.png", unique = false, useable = true, shouldClose = true, description = "" },
peach = { name = "peach", label = "Peach", weight = 100, type = "item", image = "peach.png", unique = false, useable = true, shouldClose = true, description = "" },
pear = { name = "pear", label = "Pear", weight = 100, type = "item", image = "pear.png", unique = false, useable = true, shouldClose = true, description = "" },
plum = { name = "plum", label = "Plum", weight = 100, type = "item", image = "plum.png", unique = false, useable = true, shouldClose = true, description = "" },
cheese = { name = "cheese", label = "Pizza Cheese", weight = 100, type = "item", image = "cheese.png", unique = false, useable = true, shouldClose = true, description = "" },
cheese2 = { name = "cheese2", label = "Cut Pizza Cheese", weight = 100, type = "item", image = "cheese2.png", unique = false, useable = true, shouldClose = true, description = "" },
ice = { name = "ice", label = "Ice", weight = 100, type = "item", image = "ice.png", unique = false, useable = true, shouldClose = true, description = "" },
lime = { name = "lime", label = "Lime", weight = 100, type = "item", image = "lime.png", unique = false, useable = true, shouldClose = true, description = "" },
alcohol = { name = "alcohol", label = "Alcohol", weight = 100, type = "item", image = "alcohol.png", unique = false, useable = true, shouldClose = true, description = "" },
soda = { name = "soda", label = "Soda", weight = 100, type = "item", image = "soda.png", unique = false, useable = true, shouldClose = true, description = "" },
pineapple = { name = "pineapple", label = "Pineapple", weight = 100, type = "item", image = "pineapple.png", unique = false, useable = true, shouldClose = true, description = "" },
coconut = { name = "coconut", label = "Coconut", weight = 100, type = "item", image = "coconut.png", unique = false, useable = true, shouldClose = false, description = "" },
espresso = { name = "espresso", label = "Espresso", weight = 100, type = "item", image = "espresso.png", unique = false, useable = true, shouldClose = false, description = "" },
grape = { name = 'grape', label = 'Grape', weight = 100, type = 'item', image = 'grape.png', unique = false, useable = true, shouldClose = false, description = "" },
vanilla = { name = 'vanilla', label = 'Vanilya', weight = 100, type = 'item', image = 'vanilla.png', unique = false, useable = true, shouldClose = false, description = "" },
pepper = { name = 'pepper', label = 'Pepper', weight = 100, type = 'item', image = 'pepper.png', unique = false, useable = true, shouldClose = false, description = "" },
noodles = { name = "noodles", label = "Noodle", weight = 100, type = "item", image = "noodles.png", unique = false, useable = false, shouldClose = true, description = "" },
chocolate = { name = "chocolate", label = "Chocolate", weight = 100, type = "item", image = "chocolate.png", unique = false, useable = false, shouldClose = true, description = "" },
caramel = { name = "caramel", label = "Caramel", weight = 100, type = "item", image = "caramel.png", unique = false, useable = false, shouldClose = true, description = "" },
tortilla = { name = "tortilla", label = "Tortilla", weight = 100, type = "item", image = "tortilla.png", unique = false, useable = false, shouldClose = true, description = "" },
cheddarcheese = { name = "cheddarcheese", label = "Cheddar Cheese", weight = 100, type = "item", image = "cheddarcheese.png", unique = false, useable = false, shouldClose = true, description = "" },
tacosauce = { name = "tacosauce", label = "Taco Sauce", weight = 100, type = "item", image = "tacosauce.png", unique = false, useable = false, shouldClose = true, description = "" },
--Food
sandwich = { name = 'sandwich', label = 'Sandwich', weight = 200, type = 'item', image = 'sandwich.png', unique = true, useable = true, shouldClose = true, description = 'Nice bread for your stomach' },
bento = { name = "bento", label = "Bento Box", weight = 500, type = "item", image = "bento.png", unique = true, useable = true, shouldClose = true, description = "" },
miso = { name = "miso", label = "Miso Soup", weight = 100, type = "item", image = "miso.png", unique = true, useable = true, shouldClose = true, description = "" },
spagetti = { name = "spagetti", label = "Spagetti", weight = 100, type = "item", image = "spagetti.png", unique = true, useable = true, shouldClose = true, description = "" },
salad = { name = "salad", label = "Salad", weight = 100, type = "item", image = "salad.png", unique = true, useable = true, shouldClose = true, description = "" },
hotdog = { name = "hotdog", label = "Hotdog", weight = 100, type = "item", image = "hotdog.png", unique = true, useable = true, shouldClose = true, description = "" },
--sushi
avosushi = { name = "avosushi", label = "Avokado Sushi", weight = 100, type = "item", image = "avosushi.png", unique = true, useable = true, shouldClose = true, description = "" },
tonsushi = { name = "tonsushi", label = "Tuna Sushi", weight = 100, type = "item", image = "tonsushi.png", unique = true, useable = true, shouldClose = true, description = "" },
--mochi
pmochi = { name = "pmochi", label = "Pink Mochi", weight = 100, type = "item", image = "pmochi.png", unique = true, useable = true, shouldClose = true, description = "" },
omochi = { name = "omochi", label = "Orange Mochi", weight = 100, type = "item", image = "omochi.png", unique = true, useable = true, shouldClose = true, description = "" },
gmochi = { name = "gmochi", label = "Green Mochi", weight = 100, type = "item", image = "gmochi.png", unique = true, useable = true, shouldClose = true, description = "" },
bmochi = { name = "bmochi", label = "Blue Mochi", weight = 100, type = "item", image = "bmochi.png", unique = true, useable = true, shouldClose = true, description = "" },
--fires
frenchfries = { name = "frenchfries", label = "French fries", weight = 100, type = "item", image = "frenchfries.png", unique = true, useable = true, shouldClose = true, description = "" },
serratedfrenchfries = { name = "serratedfrenchfries", label = "Serrated French fries", weight = 100, type = "item", image = "serratedfrenchfries.png", unique = true, useable = true, shouldClose = true, description = "" },
--donut
chocolate_donut = { name = "chocolate_donut", label = "Chocolate Donut", weight = 100, type = "item", image = "chocolate_donut.png", unique = true, useable = true, shouldClose = true, description = "" },
strawberry_donut = { name = "strawberry_donut", label = "Strawberry Donut", weight = 100, type = "item", image = "strawberry_donut.png", unique = true, useable = true, shouldClose = true, description = "" },
lemon_donut = { name = "lemon_donut", label = "Lemon Donut", weight = 100, type = "item", image = "lemon_donut.png", unique = true, useable = true, shouldClose = true, description = "" },
mint_donut = { name = "mint_donut", label = "Mint Donut", weight = 100, type = "item", image = "mint_donut.png", unique = true, useable = true, shouldClose = true, description = "" },
cherry_donut = { name = "cherry_donut", label = "Cherry Donut", weight = 100, type = "item", image = "cherry_donut.png", unique = true, useable = true, shouldClose = true, description = "" },
creme_donut = { name = "creme_donut", label = "Cream Donut", weight = 100, type = "item", image = "creme_donut.png", unique = true, useable = true, shouldClose = true, description = "" },
blueberry_donut = { name = "blueberry_donut", label = "Blueberry Donut", weight = 100, type = "item", image = "blueberry_donut.png", unique = true, useable = true, shouldClose = true, description = "" },
--Pizza
uwupizza = { name = "uwupizza", label = "Uwu Pizza", weight = 100, type = "item", image = "uwupizza.png", unique = true, useable = true, shouldClose = true, description = "" },
sausagepizza = { name = "sausagepizza", label = "Sausage Pizza", weight = 100, type = "item", image = "sausagepizza.png", unique = true, useable = true, shouldClose = false, description = "" },
tunapizza = { name = "tunapizza", label = "Tuna Pizza", weight = 100, type = "item", image = "tunapizza.png", unique = true, useable = true, shouldClose = false, description = "" },
chickenpizza = { name = "chickenpizza", label = "Chicken Pizza", weight = 100, type = "item", image = "chickenpizza.png", unique = true, useable = true, shouldClose = false, description = "" },
mushroompizza = { name = "mushroompizza", label = "Mushroom Pizza", weight = 100, type = "item", image = "mushroompizza.png", unique = true, useable = true, shouldClose = false, description = "" },
margaritapizza = { name = "margaritapizza", label = "Margarita Pizza", weight = 100, type = "item", image = "margaritapizza.png", unique = true, useable = true, shouldClose = false, description = "" },
--brownies
whitechocolate_brownies = { name = "whitechocolate_brownies", label = "White Chocolate Brownie", weight = 100, type = "item", image = "whitechocolate_brownies.png", unique = true, useable = true, shouldClose = false, description = "" },
strawberry_brownies = { name = "strawberry_brownies", label = "Strawberry Brownie", weight = 100, type = "item", image = "strawberry_brownies.png", unique = true, useable = true, shouldClose = false, description = "" },
raspberry_brownies = { name = "raspberry_brownies", label = "Raspberry Brownie", weight = 100, type = "item", image = "raspberry_brownies.png", unique = true, useable = true, shouldClose = false, description = "" },
classic_brownies = { name = "classic_brownies", label = "Brownie", weight = 100, type = "item", image = "classic_brownies.png", unique = true, useable = true, shouldClose = false, description = "" },
--Cheesecake
tiramisu = { name = "tiramisu", label = "Tiramisu", weight = 100, type = "item", image = "tiramisu.png", unique = true, useable = true, shouldClose = false, description = "" },
chocolate_cheesecake = { name = "chocolate_cheesecake", label = "White Chocolate Cheesecake", weight = 100, type = "item", image = "chocolate_cheesecake.png", unique = true, useable = true, shouldClose = false, description = "" },
lemon_cheesecake = { name = "lemon_cheesecake", label = "Lemon Cheesecake", weight = 100, type = "item", image = "lemon_cheesecake.png", unique = true, useable = true, shouldClose = false, description = "" },
berry_cheesecake = { name = "berry_cheesecake", label = "Berry Cheesecake", weight = 100, type = "item", image = "berry_cheesecake.png", unique = true, useable = true, shouldClose = false, description = "" },
strawberry_cheesecake = { name = "strawberry_cheesecake", label = "Strawberry Cheesecake", weight = 100, type = "item", image = "strawberry_cheesecake.png", unique = true, useable = true, shouldClose = false, description = "" },
--Smoothie
strawberry_smoothie = { name = "strawberry_smoothie", label = "Strawberry Smoothie", weight = 100, type = "item", image = "strawberry_smoothie.png", unique = true, useable = true, shouldClose = false, description = "" },
kiwi_smoothie = { name = "kiwi_smoothie", label = "Kiwi Smoothie", weight = 100, type = "item", image = "kiwi_smoothie.png", unique = true, useable = true, shouldClose = false, description = "" },
berry_smoothie = { name = "berry_smoothie", label = "Raspberry Smoothie", weight = 100, type = "item", image = "berry_smoothie.png", unique = true, useable = true, shouldClose = false, description = "" },
orange_smoothie = { name = "orange_smoothie", label = "Orange Smoothie", weight = 100, type = "item", image = "orange_smoothie.png", unique = true, useable = true, shouldClose = false, description = "" },
banana_smoothie = { name = "banana_smoothie", label = "Banana Smoothie", weight = 100, type = "item", image = "banana_smoothie.png", unique = true, useable = true, shouldClose = false, description = "" },
--bagel
bacon_egg_cheese_bagel = { name = "bacon_egg_cheese_bagel", label = "Patırma, Yumurta ve Peynirli Simit", weight = 100, type = "item", image = "bacon_egg_cheese_bagel.png", unique = true, useable = true, shouldClose = false, description = "" },
salmon_cream_bagel = { name = "salmon_cream_bagel", label = "Salamlı Simit", weight = 100, type = "item", image = "salmon_cream_bagel.png", unique = true, useable = true, shouldClose = false, description = "" },
--cake
strawberry_cake = { name = "strawberry_cake", label = "Strawberry Cake", weight = 100, type = "item", image = "strawberry_cake.png", unique = true, useable = true, shouldClose = true, description = "" },
vanilla_cake = { name = "vanilla_cake", label = "Vanilla Cake", weight = 100, type = "item", image = "vanilla_cake.png", unique = true, useable = true, shouldClose = false, description = "" },
chocolate_cake = { name = "chocolate_cake", label = "Chocolate Cake", weight = 100, type = "item", image = "chocolate_cake.png", unique = true, useable = true, shouldClose = false, description = "" },
--burger
cheeseburger = { name = "cheeseburger", label = "Cheese Burger", weight = 100, type = "item", image = "cheeseburger.png", unique = true, useable = true, shouldClose = false, description = "" },
chickenburger = { name = "chickenburger", label = "Chicken Burger", weight = 100, type = "item", image = "chickenburger.png", unique = true, useable = true, shouldClose = false, description = "" },
burger_2x = { name = "burger_2x", label = "Double Hamburger", weight = 100, type = "item", image = "burger_2x.png", unique = true, useable = true, shouldClose = false, description = "" },
burger_3x = { name = "burger_3x", label = "Tripple Hamburger", weight = 100, type = "item", image = "burger_3x.png", unique = true, useable = true, shouldClose = false, description = "" },
burger_4x = { name = "burger_4x", label = "Stack Hamburger", weight = 100, type = "item", image = "burger_4x.png", unique = true, useable = true, shouldClose = false, description = "" },
--kebab
beef_kebab = { name = "beef_kebab", label = "Beef Kebap", weight = 100, type = "item", image = "beef_kebab.png", unique = true, useable = true, shouldClose = false, description = "" },
chicken_kebab = { name = "chicken_kebab", label = "Chicken Kebap", weight = 100, type = "item", image = "chicken_kebab.png", unique = true, useable = true, shouldClose = false, description = "" },
--taco
beeftaco = { name = "beeftaco", label = "Beef Taco", weight = 100, type = "item", image = "beeftaco.png", unique = true, useable = true, shouldClose = false, description = "" },
chickentaco = { name = "chickentaco", label = "Chicken Taco", weight = 100, type = "item", image = "chickentaco.png", unique = true, useable = true, shouldClose = false, description = "" },
quesadilla = { name = "quesadilla", label = "Quesadilla", weight = 100, type = "item", image = "quesadilla.png", unique = true, useable = true, shouldClose = false, description = "" },
--ramen
ramen = { name = "ramen", label = "Ramen", weight = 100, type = "item", image = "ramen.png", unique = true, useable = true, shouldClose = false, description = "" },
beef_ramen = { name = "beef_ramen", label = "Beef Ramen", weight = 100, type = "item", image = "beef_ramen.png", unique = true, useable = true, shouldClose = false, description = "" },
chicken_ramen = { name = "chicken_ramen", label = "Chicken Ramen", weight = 100, type = "item", image = "chicken_ramen.png", unique = true, useable = true, shouldClose = false, description = "" },
duck_ramen = { name = "duck_ramen", label = "Duck Ramen", weight = 100, type = "item", image = "duck_ramen.png", unique = true, useable = true, shouldClose = false, description = "" },
shrimp_ramen = { name = "shrimp_ramen", label = "Shrimp Ramen", weight = 100, type = "item", image = "shrimp_ramen.png", unique = true, useable = true, shouldClose = false, description = "" },
vegetable_ramen = { name = "vegetable_ramen", label = "Vegetable Ramen", weight = 100, type = "item", image = "vegetable_ramen.png", unique = true, useable = true, shouldClose = false, description = "" },
--Soup
pumpkin_soup = { name = "pumpkin_soup", label = "Pumpkin Soup", weight = 100, type = "item", image = "pumpkin_soup.png", unique = true, useable = true, shouldClose = false, description = "" },
vegetable_soup = { name = "vegetable_soup", label = "Vegetable Soup", weight = 100, type = "item", image = "vegetable_soup.png", unique = true, useable = true, shouldClose = false, description = "" },
chicken_noodle_soup = { name = "chicken_noodle_soup", label = "Chicken noodle Soup", weight = 100, type = "item", image = "chicken_noodle_soup.png", unique = true, useable = true, shouldClose = false, description = "" },
creamy_chicken_soup = { name = "creamy_chicken_soup", label = "Creamy Chicken Soup", weight = 100, type = "item", image = "creamy_chicken_soup.png", unique = true, useable = true, shouldClose = false, description = "" },
tomato_soup = { name = "tomato_soup", label = "Tomato Soupsı", weight = 100, type = "item", image = "tomato_soup.png", unique = true, useable = true, shouldClose = false, description = "" },
mushroom_soup = { name = "mushroom_soup", label = "Mushroom Soup", weight = 100, type = "item", image = "mushroom_soup.png", unique = true, useable = true, shouldClose = false, description = "" },
--macaroon
banana_macaroon = { name = "banana_macaroon", label = "Banana Macaroon", weight = 100, type = "item", image = "banana_macaroon.png", unique = true, useable = true, shouldClose = false, description = "" },
orange_macaroon = { name = "orange_macaroon", label = "Orange Macaroon", weight = 100, type = "item", image = "orange_macaroon.png", unique = true, useable = true, shouldClose = false, description = "" },
strawberry_macaroon = { name = "strawberry_macaroon", label = "Strawberry Macaroon", weight = 100, type = "item", image = "strawberry_macaroon.png", unique = true, useable = true, shouldClose = false, description = "" },
mint_macaroon = { name = "mint_macaroon", label = "Mint Macaroon", weight = 100, type = "item", image = "mint_macaroon.png", unique = true, useable = true, shouldClose = false, description = "" },
blueberry_macaroon = { name = "blueberry_macaroon", label = "Blueberry Macaroon", weight = 100, type = "item", image = "blueberry_macaroon.png", unique = true, useable = true, shouldClose = false, description = "" },
--muffin
banana_muffin = { name = "banana_muffin", label = "Banana muffin", weight = 100, type = "item", image = "banana_muffin.png", unique = true, useable = true, shouldClose = false, description = "" },
orange_muffin = { name = "orange_muffin", label = "Orange muffin", weight = 100, type = "item", image = "orange_muffin.png", unique = true, useable = true, shouldClose = false, description = "" },
strawberry_muffin = { name = "strawberry_muffin", label = "Strawberry muffin", weight = 100, type = "item", image = "strawberry_muffin.png", unique = true, useable = true, shouldClose = false, description = "" },
mint_muffin = { name = "mint_muffin", label = "Mint muffin", weight = 100, type = "item", image = "mint_muffin.png", unique = true, useable = true, shouldClose = false, description = "" },
berry_muffin = { name = "berry_muffin", label = "Berry muffin", weight = 100, type = "item", image = "berry_muffin.png", unique = true, useable = true, shouldClose = false, description = "" },
}

View file

@ -1,152 +0,0 @@
local weaponsList = {
-- Melee
weapon_unarmed = { name = 'weapon_unarmed', label = 'Fists', weight = 1000, ammotype = nil, image = 'placeholder.webp', description = 'Fisticuffs' },
weapon_dagger = { name = 'weapon_dagger', label = 'Dagger', weight = 1000, ammotype = nil, image = 'weapon_dagger.webp', description = 'A short knife with a pointed and edged blade, used as a weapon' },
weapon_bat = { name = 'weapon_bat', label = 'Bat', weight = 1000, ammotype = nil, image = 'weapon_bat.webp', description = 'Used for hitting a ball in sports (or other things)' },
weapon_bottle = { name = 'weapon_bottle', label = 'Broken Bottle', weight = 1000, ammotype = nil, image = 'weapon_bottle.webp', description = 'A broken bottle' },
weapon_crowbar = { name = 'weapon_crowbar', label = 'Crowbar', weight = 1000, ammotype = nil, image = 'weapon_crowbar.webp', description = 'An iron bar with a flattened end, used as a lever' },
weapon_flashlight = { name = 'weapon_flashlight', label = 'Flashlight', weight = 1000, ammotype = nil, image = 'weapon_flashlight.webp', description = 'A battery-operated portable light' },
weapon_golfclub = { name = 'weapon_golfclub', label = 'Golfclub', weight = 1000, ammotype = nil, image = 'weapon_golfclub.webp', description = 'A club used to hit the ball in golf' },
weapon_hammer = { name = 'weapon_hammer', label = 'Hammer', weight = 1000, ammotype = nil, image = 'weapon_hammer.webp', description = 'Used for jobs such as breaking things (legs) and driving in nails' },
weapon_hatchet = { name = 'weapon_hatchet', label = 'Hatchet', weight = 1000, ammotype = nil, image = 'weapon_hatchet.webp', description = 'A small axe with a short handle for use in one hand' },
weapon_knuckle = { name = 'weapon_knuckle', label = 'Knuckle', weight = 1000, ammotype = nil, image = 'weapon_knuckle.webp', description = 'A metal guard worn over the knuckles in fighting, especially to increase the effect of the blows' },
weapon_knife = { name = 'weapon_knife', label = 'Knife', weight = 1000, ammotype = nil, image = 'weapon_knife.webp', description = 'An instrument composed of a blade fixed into a handle, used for cutting or as a weapon' },
weapon_machete = { name = 'weapon_machete', label = 'Machete', weight = 1000, ammotype = nil, image = 'weapon_machete.webp', description = 'A broad, heavy knife used as a weapon' },
weapon_switchblade = { name = 'weapon_switchblade', label = 'Switchblade', weight = 1000, ammotype = nil, image = 'weapon_switchblade.webp', description = 'A knife with a blade that springs out from the handle when a button is pressed' },
weapon_nightstick = { name = 'weapon_nightstick', label = 'Nightstick', weight = 1000, ammotype = nil, image = 'weapon_nightstick.webp', description = 'A police officer\'s club or billy' },
weapon_wrench = { name = 'weapon_wrench', label = 'Wrench', weight = 1000, ammotype = nil, image = 'weapon_wrench.webp', description = 'A tool used for gripping and turning nuts, bolts, pipes, etc' },
weapon_battleaxe = { name = 'weapon_battleaxe', label = 'Battle Axe', weight = 1000, ammotype = nil, image = 'weapon_battleaxe.webp', description = 'A large broad-bladed axe used in ancient warfare' },
weapon_poolcue = { name = 'weapon_poolcue', label = 'Poolcue', weight = 1000, ammotype = nil, image = 'weapon_poolcue.webp', description = 'A stick used to strike a ball, usually the cue ball (or other things)' },
weapon_briefcase = { name = 'weapon_briefcase', label = 'Briefcase', weight = 1000, ammotype = nil, image = 'weapon_briefcase.webp', description = 'A briefcase for storing important documents' },
weapon_briefcase_02 = { name = 'weapon_briefcase_02', label = 'Suitcase', weight = 1000, ammotype = nil, image = 'weapon_briefcase2.webp', description = 'Wonderfull for nice vacation to Liberty City' },
weapon_garbagebag = { name = 'weapon_garbagebag', label = 'Garbage Bag', weight = 1000, ammotype = nil, image = 'weapon_garbagebag.webp', description = 'A garbage bag' },
weapon_handcuffs = { name = 'weapon_handcuffs', label = 'Handcuffs', weight = 1000, ammotype = nil, image = 'weapon_handcuffs.webp', description = 'A pair of lockable linked metal rings for securing a prisoner\'s wrists' },
weapon_bread = { name = 'weapon_bread', label = 'Baquette', weight = 1000, ammotype = nil, image = 'baquette.webp', description = 'Bread...?' },
weapon_stone_hatchet = { name = 'weapon_stone_hatchet', label = 'Stone Hatchet', weight = 1000, ammotype = nil, image = 'weapon_stone_hatchet.webp', description = 'Stone Hatchet' },
weapon_candycane = { name = 'weapon_candycane', label = 'Candy Cane', weight = 1000, ammotype = nil, image = 'weapon_candycane', description = 'Candy Cane' },
-- Handguns
weapon_pistol = { name = 'weapon_pistol', label = 'Walther P99', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_pistol.webp', description = 'A small firearm designed to be held in one hand' },
weapon_pistol_mk2 = { name = 'weapon_pistol_mk2', label = 'Pistol Mk II', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_pistol_mk2.webp', description = 'An upgraded small firearm designed to be held in one hand' },
weapon_combatpistol = { name = 'weapon_combatpistol', label = 'Combat Pistol', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_combatpistol.webp', description = 'A combat version small firearm designed to be held in one hand' },
weapon_appistol = { name = 'weapon_appistol', label = 'AP Pistol', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_appistol.webp', description = 'A small firearm designed to be held in one hand that is automatic' },
weapon_stungun = { name = 'weapon_stungun', label = 'Taser', weight = 1000, ammotype = 'AMMO_STUNGUN', image = 'weapon_stungun.webp', description = 'A weapon firing barbs attached by wires to batteries, causing temporary paralysis' },
weapon_pistol50 = { name = 'weapon_pistol50', label = 'Pistol .50', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_pistol50.webp', description = 'A .50 caliber firearm designed to be held with both hands' },
weapon_snspistol = { name = 'weapon_snspistol', label = 'SNS Pistol', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_snspistol.webp', description = 'A very small firearm designed to be easily concealed' },
weapon_heavypistol = { name = 'weapon_heavypistol', label = 'Heavy Pistol', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_heavypistol.webp', description = 'A hefty firearm designed to be held in one hand (or attempted)' },
weapon_vintagepistol = { name = 'weapon_vintagepistol', label = 'Vintage Pistol', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_vintagepistol.webp', description = 'An antique firearm designed to be held in one hand' },
weapon_flaregun = { name = 'weapon_flaregun', label = 'Flare Gun', weight = 1000, ammotype = 'AMMO_FLARE', image = 'weapon_flaregun.webp', description = 'A handgun for firing signal rockets' },
weapon_marksmanpistol = { name = 'weapon_marksmanpistol', label = 'Marksman Pistol', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_marksmanpistol.webp', description = 'A very accurate small firearm designed to be held in one hand' },
weapon_revolver = { name = 'weapon_revolver', label = 'Revolver', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_revolver.webp', description = 'A pistol with revolving chambers enabling several shots to be fired without reloading' },
weapon_revolver_mk2 = { name = 'weapon_revolver_mk2', label = 'Violence', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_revolver_mk2.webp', description = 'da Violence' },
weapon_doubleaction = { name = 'weapon_doubleaction', label = 'Double Action Revolver', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_doubleaction.webp', description = 'Double Action Revolver' },
weapon_snspistol_mk2 = { name = 'weapon_snspistol_mk2', label = 'SNS Pistol Mk II', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_snspistol_mk2.webp', description = 'SNS Pistol MK2' },
weapon_raypistol = { name = 'weapon_raypistol', label = 'Up-n-Atomizer', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_raypistol.webp', description = 'Weapon Raypistol' },
weapon_ceramicpistol = { name = 'weapon_ceramicpistol', label = 'Ceramic Pistol', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_ceramicpistol.webp', description = 'Weapon Ceramicpistol' },
weapon_navyrevolver = { name = 'weapon_navyrevolver', label = 'Navy Revolver', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_navyrevolver.webp', description = 'Weapon Navyrevolver' },
weapon_gadgetpistol = { name = 'weapon_gadgetpistol', label = 'Perico Pistol', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_gadgetpistol.webp', description = 'Weapon Gadgetpistol' },
weapon_pistolxm3 = { name = 'weapon_pistolxm3', label = 'Pistol XM3', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_pistolxm3.webp', description = 'Pistol XM3' },
-- Submachine Guns
weapon_microsmg = { name = 'weapon_microsmg', label = 'Micro SMG', weight = 1000, ammotype = 'AMMO_SMG', image = 'weapon_microsmg.webp', description = 'A handheld light weight machine gun' },
weapon_smg = { name = 'weapon_smg', label = 'SMG', weight = 1000, ammotype = 'AMMO_SMG', image = 'weapon_smg.webp', description = 'A handheld light weight machine gun' },
weapon_smg_mk2 = { name = 'weapon_smg_mk2', label = 'SMG Mk II', weight = 1000, ammotype = 'AMMO_SMG', image = 'weapon_smg_mk2.webp', description = 'SMG MK2' },
weapon_assaultsmg = { name = 'weapon_assaultsmg', label = 'Assault SMG', weight = 1000, ammotype = 'AMMO_SMG', image = 'weapon_assaultsmg.webp', description = 'An assault version of a handheld light weight machine gun' },
weapon_combatpdw = { name = 'weapon_combatpdw', label = 'Combat PDW', weight = 1000, ammotype = 'AMMO_SMG', image = 'weapon_combatpdw.webp', description = 'A combat version of a handheld light weight machine gun' },
weapon_machinepistol = { name = 'weapon_machinepistol', label = 'Tec-9', weight = 1000, ammotype = 'AMMO_PISTOL', image = 'weapon_machinepistol.webp', description = 'A self-loading pistol capable of burst or fully automatic fire' },
weapon_minismg = { name = 'weapon_minismg', label = 'Mini SMG', weight = 1000, ammotype = 'AMMO_SMG', image = 'weapon_minismg.webp', description = 'A mini handheld light weight machine gun' },
weapon_raycarbine = { name = 'weapon_raycarbine', label = 'Unholy Hellbringer', weight = 1000, ammotype = 'AMMO_SMG', image = 'weapon_raycarbine.webp', description = 'Weapon Raycarbine' },
-- Shotguns
weapon_pumpshotgun = { name = 'weapon_pumpshotgun', label = 'Pump Shotgun', weight = 1000, ammotype = 'AMMO_SHOTGUN', image = 'weapon_pumpshotgun.webp', description = 'A pump-action smoothbore gun for firing small shot at short range' },
weapon_sawnoffshotgun = { name = 'weapon_sawnoffshotgun', label = 'Sawn-off Shotgun', weight = 1000, ammotype = 'AMMO_SHOTGUN', image = 'weapon_sawnoffshotgun.webp', description = 'A sawn-off smoothbore gun for firing small shot at short range' },
weapon_assaultshotgun = { name = 'weapon_assaultshotgun', label = 'Assault Shotgun', weight = 1000, ammotype = 'AMMO_SHOTGUN', image = 'weapon_assaultshotgun.webp', description = 'An assault version of asmoothbore gun for firing small shot at short range' },
weapon_bullpupshotgun = { name = 'weapon_bullpupshotgun', label = 'Bullpup Shotgun', weight = 1000, ammotype = 'AMMO_SHOTGUN', image = 'weapon_bullpupshotgun.webp', description = 'A compact smoothbore gun for firing small shot at short range' },
weapon_musket = { name = 'weapon_musket', label = 'Musket', weight = 1000, ammotype = 'AMMO_SHOTGUN', image = 'weapon_musket.webp', description = 'An infantryman\'s light gun with a long barrel, typically smooth-bored, muzzleloading, and fired from the shoulder' },
weapon_heavyshotgun = { name = 'weapon_heavyshotgun', label = 'Heavy Shotgun', weight = 1000, ammotype = 'AMMO_SHOTGUN', image = 'weapon_heavyshotgun.webp', description = 'A large smoothbore gun for firing small shot at short range' },
weapon_dbshotgun = { name = 'weapon_dbshotgun', label = 'Double-barrel Shotgun', weight = 1000, ammotype = 'AMMO_SHOTGUN', image = 'weapon_dbshotgun.webp', description = 'A shotgun with two parallel barrels, allowing two single shots to be fired in quick succession' },
weapon_autoshotgun = { name = 'weapon_autoshotgun', label = 'Auto Shotgun', weight = 1000, ammotype = 'AMMO_SHOTGUN', image = 'weapon_autoshotgun.webp', description = 'A shotgun capable of rapid continous fire' },
weapon_pumpshotgun_mk2 = { name = 'weapon_pumpshotgun_mk2', label = 'Pumpshotgun Mk II', weight = 1000, ammotype = 'AMMO_SHOTGUN', image = 'weapon_pumpshotgun_mk2.webp', description = 'Pumpshotgun MK2' },
weapon_combatshotgun = { name = 'weapon_combatshotgun', label = 'Combat Shotgun', weight = 1000, ammotype = 'AMMO_SHOTGUN', image = 'weapon_combatshotgun.webp', description = 'Weapon Combatshotgun' },
-- Assault Rifles
weapon_assaultrifle = { name = 'weapon_assaultrifle', label = 'Assault Rifle', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_assaultrifle.webp', description = 'A rapid-fire, magazine-fed automatic rifle designed for infantry use' },
weapon_assaultrifle_mk2 = { name = 'weapon_assaultrifle_mk2', label = 'Assault Rifle Mk II', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_assaultrifle_mk2.webp', description = 'Assault Rifle MK2' },
weapon_carbinerifle = { name = 'weapon_carbinerifle', label = 'Carbine Rifle', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_carbinerifle.webp', description = 'A light weight automatic rifle' },
weapon_carbinerifle_mk2 = { name = 'weapon_carbinerifle_mk2', label = 'Carbine Rifle Mk II', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_carbinerifle_mk2.webp', description = 'Carbine Rifle MK2' },
weapon_advancedrifle = { name = 'weapon_advancedrifle', label = 'Advanced Rifle', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_advancedrifle.webp', description = 'An assault version of a rapid-fire, magazine-fed automatic rifle designed for infantry use' },
weapon_specialcarbine = { name = 'weapon_specialcarbine', label = 'Special Carbine', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_specialcarbine.webp', description = 'An extremely versatile assault rifle for any combat situation' },
weapon_bullpuprifle = { name = 'weapon_bullpuprifle', label = 'Bullpup Rifle', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_bullpuprifle.webp', description = 'A compact automatic assault rifle' },
weapon_compactrifle = { name = 'weapon_compactrifle', label = 'Compact Rifle', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_compactrifle.webp', description = 'A compact version of an assault rifle' },
weapon_specialcarbine_mk2 = { name = 'weapon_specialcarbine_mk2', label = 'Special Carbine Mk II', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_specialcarbine_mk2.webp', description = 'Weapon Wpecialcarbine MK2' },
weapon_bullpuprifle_mk2 = { name = 'weapon_bullpuprifle_mk2', label = 'Bullpup Rifle Mk II', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_bullpuprifle_mk2.webp', description = 'Bull Puprifle MK2' },
weapon_militaryrifle = { name = 'weapon_militaryrifle', label = 'Military Rifle', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_militaryrifle.webp', description = 'Weapon Militaryrifle' },
-- Light Machine Guns
weapon_mg = { name = 'weapon_mg', label = 'Machinegun', weight = 1000, ammotype = 'AMMO_MG', image = 'weapon_mg.webp', description = 'An automatic gun that fires bullets in rapid succession for as long as the trigger is pressed' },
weapon_combatmg = { name = 'weapon_combatmg', label = 'Combat MG', weight = 1000, ammotype = 'AMMO_MG', image = 'weapon_combatmg.webp', description = 'A combat version of an automatic gun that fires bullets in rapid succession for as long as the trigger is pressed' },
weapon_gusenberg = { name = 'weapon_gusenberg', label = 'Thompson SMG', weight = 1000, ammotype = 'AMMO_MG', image = 'weapon_gusenberg.webp', description = 'An automatic rifle commonly referred to as a tommy gun' },
weapon_combatmg_mk2 = { name = 'weapon_combatmg_mk2', label = 'Combat MG Mk II', weight = 1000, ammotype = 'AMMO_MG', image = 'weapon_combatmg_mk2.webp', description = 'Weapon Combatmg MK2' },
-- Sniper Rifles
weapon_sniperrifle = { name = 'weapon_sniperrifle', label = 'Sniper Rifle', weight = 1000, ammotype = 'AMMO_SNIPER', image = 'weapon_sniperrifle.webp', description = 'A high-precision, long-range rifle' },
weapon_heavysniper = { name = 'weapon_heavysniper', label = 'Heavy Sniper', weight = 1000, ammotype = 'AMMO_SNIPER', image = 'weapon_heavysniper.webp', description = 'An upgraded high-precision, long-range rifle' },
weapon_marksmanrifle = { name = 'weapon_marksmanrifle', label = 'Marksman Rifle', weight = 1000, ammotype = 'AMMO_SNIPER', image = 'weapon_marksmanrifle.webp', description = 'A very accurate single-fire rifle' },
weapon_remotesniper = { name = 'weapon_remotesniper', label = 'Remote Sniper', weight = 1000, ammotype = 'AMMO_SNIPER_REMOTE', image = 'weapon_remotesniper.webp', description = 'A portable high-precision, long-range rifle' },
weapon_heavysniper_mk2 = { name = 'weapon_heavysniper_mk2', label = 'Heavy Sniper Mk II', weight = 1000, ammotype = 'AMMO_SNIPER', image = 'weapon_heavysniper_mk2.webp', description = 'Weapon Heavysniper MK2' },
weapon_marksmanrifle_mk2 = { name = 'weapon_marksmanrifle_mk2', label = 'Marksman Rifle Mk II', weight = 1000, ammotype = 'AMMO_SNIPER', image = 'weapon_marksmanrifle_mk2.webp', description = 'Weapon Marksmanrifle MK2' },
-- Heavy Weapons
weapon_rpg = { name = 'weapon_rpg', label = 'RPG', weight = 1000, ammotype = 'AMMO_RPG', image = 'weapon_rpg.webp', description = 'A rocket-propelled grenade launcher' },
weapon_grenadelauncher = { name = 'weapon_grenadelauncher', label = 'Grenade Launcher', weight = 1000, ammotype = 'AMMO_GRENADELAUNCHER', image = 'weapon_grenadelauncher.webp', description = 'A weapon that fires a specially-designed large-caliber projectile, often with an explosive, smoke or gas warhead' },
weapon_grenadelauncher_smoke = { name = 'weapon_grenadelauncher_smoke', label = 'Smoke Grenade Launcher', weight = 1000, ammotype = 'AMMO_GRENADELAUNCHER', image = 'weapon_smokegrenade.webp', description = 'A bomb that produces a lot of smoke when it explodes' },
weapon_minigun = { name = 'weapon_minigun', label = 'Minigun', weight = 1000, ammotype = 'AMMO_MINIGUN', image = 'weapon_minigun.webp', description = 'A portable machine gun consisting of a rotating cluster of six barrels and capable of variable rates of fire of up to 6,000 rounds per minute' },
weapon_firework = { name = 'weapon_firework', label = 'Firework Launcher', weight = 1000, ammotype = nil, image = 'weapon_firework.webp', description = 'A device containing gunpowder and other combustible chemicals that causes a spectacular explosion when ignited' },
weapon_railgun = { name = 'weapon_railgun', label = 'Railgun', weight = 1000, ammotype = nil, image = 'weapon_railgun.webp', description = 'A weapon that uses electromagnetic force to launch high velocity projectiles' },
weapon_railgunxm3 = { name = 'weapon_railgunxm3', label = 'Railgun XM3', weight = 1000, ammotype = nil, image = 'weapon_railgunxm3.webp', description = 'A weapon that uses electromagnetic force to launch high velocity projectiles' },
weapon_hominglauncher = { name = 'weapon_hominglauncher', label = 'Homing Launcher', weight = 1000, ammotype = 'AMMO_STINGER', image = 'weapon_hominglauncher.webp', description = 'A weapon fitted with an electronic device that enables it to find and hit a target' },
weapon_compactlauncher = { name = 'weapon_compactlauncher', label = 'Compact Launcher', weight = 1000, ammotype = nil, image = 'weapon_compactlauncher.webp', description = 'A compact grenade launcher' },
weapon_rayminigun = { name = 'weapon_rayminigun', label = 'Widowmaker', weight = 1000, ammotype = 'AMMO_MINIGUN', image = 'weapon_rayminigun.webp', description = 'Weapon Rayminigun' },
-- Throwables
weapon_grenade = { name = 'weapon_grenade', label = 'Grenade', weight = 1000, ammotype = nil, image = 'weapon_grenade.webp', description = 'A handheld throwable bomb' },
weapon_bzgas = { name = 'weapon_bzgas', label = 'BZ Gas', weight = 1000, ammotype = nil, image = 'weapon_bzgas.webp', description = 'A cannister of gas that causes extreme pain' },
weapon_molotov = { name = 'weapon_molotov', label = 'Molotov', weight = 1000, ammotype = nil, image = 'weapon_molotov.webp', description = 'A crude bomb made of a bottle filled with a flammable liquid and fitted with a wick for lighting' },
weapon_stickybomb = { name = 'weapon_stickybomb', label = 'C4', weight = 1000, ammotype = nil, image = 'weapon_stickybomb.webp', description = 'An explosive charge covered with an adhesive that when thrown against an object sticks until it explodes' },
weapon_proxmine = { name = 'weapon_proxmine', label = 'Proxmine Grenade', weight = 1000, ammotype = nil, image = 'weapon_proximitymine.webp', description = 'A bomb placed on the ground that detonates when going within its proximity' },
weapon_snowball = { name = 'weapon_snowball', label = 'Snowball', weight = 1000, ammotype = nil, image = 'weapon_snowball.webp', description = 'A ball of packed snow, especially one made for throwing at other people for fun' },
weapon_pipebomb = { name = 'weapon_pipebomb', label = 'Pipe Bomb', weight = 1000, ammotype = nil, image = 'weapon_pipebomb.webp', description = 'A homemade bomb, the components of which are contained in a pipe' },
weapon_ball = { name = 'weapon_ball', label = 'Ball', weight = 1000, ammotype = 'AMMO_BALL', image = 'weapon_ball.webp', description = 'A solid or hollow spherical or egg-shaped object that is kicked, thrown, or hit in a game' },
weapon_smokegrenade = { name = 'weapon_smokegrenade', label = 'Smoke Grenade', weight = 1000, ammotype = nil, image = 'weapon_c4.webp', description = 'An explosive charge that can be remotely detonated' },
weapon_flare = { name = 'weapon_flare', label = 'Flare pistol', weight = 1000, ammotype = 'AMMO_FLARE', image = 'weapon_flare.webp', description = 'A small pyrotechnic devices used for illumination and signalling' },
-- Miscellaneous
weapon_petrolcan = { name = 'weapon_petrolcan', label = 'Petrol Can', weight = 1000, ammotype = 'AMMO_PETROLCAN', image = 'weapon_petrolcan.webp', description = 'A robust liquid container made from pressed steel' },
weapon_fireextinguisher = { name = 'weapon_fireextinguisher', label = 'Fire Extinguisher', weight = 1000, ammotype = nil, image = 'weapon_fireextinguisher.webp', description = 'A portable device that discharges a jet of water, foam, gas, or other material to extinguish a fire' },
weapon_hazardcan = { name = 'weapon_hazardcan', label = 'Hazardous Jerry Can', weight = 1000, ammotype = 'AMMO_PETROLCAN', image = 'weapon_hazardcan.webp', description = 'Weapon Hazardcan' },
}
local ammoTypeToPolice = {
AMMO_SMG = "AMMO_POLICE_SMG",
AMMO_SNIPER = "AMMO_POLICE_SNIPER",
AMMO_SHOTGUN = "AMMO_POLICE_SHOTGUN",
AMMO_PISTOL = "AMMO_POLICE_PISTOL",
AMMO_MG = "AMMO_POLICE_MG",
AMMO_RIFLE = "AMMO_POLICE_RIFLE",
AMMO_STUNGUN = "AMMO_POLICE_STUNGUN",
}
weaponsData = {}
for name, data in pairs(weaponsList) do
data.name = name
data.type = "weapon"
data.unique = true
weaponsData[data.name] = data
local newData = json.decode(json.encode(data))
newData.name = name:gsub("weapon_", "weapon_police_")
newData.label = "Police " .. newData.label
newData.ammotype = ammoTypeToPolice[newData.ammotype]
newData.rareName = "weaponPolice"
weaponsData[newData.name] = newData
end

File diff suppressed because it is too large Load diff

View file

@ -1,265 +0,0 @@
config.langs.en = {
urInventoryFull = "Dein Inventar ist voll!",
inventoryFullItemDropped = "Inventar voll! Gegenstand wurde fallengelassen!",
inventoryFull = "Inventar voll!",
cantCarryMoreCarryItems = "Du kannst keine weiteren Gegenstände tragen! Lege zuerst den aktuellen Gegenstand ab!",
cantCarryMoreCarryItemsItemDropped = "Du kannst nichts mehr tragen! Gegenstand fallengelassen!",
otherPlayerInventoryFull = "Der Spieler hat keinen Platz im Inventar!",
otherPlayerCantCarryMoreCarryItems = "Der andere Spieler kann nichts mehr tragen! Erst ablegen!",
wrongClothe = "Dieses Outfit passt dir nicht!",
wrongClotheOtherPlayer = "Dieses Outfit passt dem anderen Spieler nicht!",
alreadyClothe = "Du trägst das bereits",
alreadyClotheOtherPlayer = "Der Spieler trägt das bereits",
noMoneyCash = "Du hast nicht genug Bargeld!",
noMoneyBank = "Du hast nicht genug Geld auf der Bank!",
noItem = "Du hast den benötigten Gegenstand nicht!",
noItemAmount = "Du hast nicht genug der benötigten Gegenstände!",
bought = "Gekauft",
noClosestPlayer = "Niemand in der Nähe!",
getItemOtherPlayer = "%s Spieler hat dir %s x %s gegeben",
giveItemOtherPlayer = "Du hast %s Spieler %s x %s gegeben",
wrongPassword = "Falsches Passwort",
dontHaveNecessaryItem = "Du hast den benötigten Gegenstand nicht",
dontHaveAmountNecessaryItem = "Du hast nicht genug von dem benötigten Gegenstand",
itemCrafted = "Gegenstand hergestellt",
notSuccesCraft = "Mist, das Crafting ist fehlgeschlagen",
craftingItem = "%s wird hergestellt",
cantOpenFromBackSeat = "Du kannst das Handschuhfach nicht vom Rücksitz aus öffnen!",
trunkLocked = "Kofferraum ist verschlossen",
noTrunk = "Dieses Fahrzeug hat keinen Kofferraum",
cantUseDead = "Du kannst das nicht machen, wenn du tot bist... TOT!",
cantUseOffDuty = "Du kannst Polizeiwaffen nicht im Dienstfrei-Modus nutzen!",
cantUsePoliceWeapon = "Du darfst keine Polizeiwaffen verwenden!",
durabilityZero = "Die Haltbarkeit dieser Waffe ist zu schlecht, um sie zu benutzen",
attachmentNonMk2CamoError = "Vorschau für MK2-Tarnaufsätze funktioniert nicht, aber du kannst sie trotzdem kaufen",
attachmentPurchased = "Gekauft!",
filterAll = "Alle",
filterScrollIt = "Scrollen!",
noAmmoStunGun = "Kartusche leer",
cantOpenAttachments = "Du kannst das Anbauteil-Menü an diesem Ort nicht öffnen",
throwItem = "Wegwerfen",
editItem = "Bearbeiten",
giveClosest = "Dem Nächsten geben",
cantUseThisItem = "Du kannst diesen Gegenstand nicht mehr benutzen!",
cantThrowWhenUsingWeapon = "Du kannst keine Gegenstände werfen, während du eine Waffe in der Hand hast",
customImgUrl = "Benutzerdefinierte Bild-URL",
customLabel = "Benutzerdefinierte Bezeichnung",
customConfirm = "Bestätigen",
customImgUrlPlaceholder = "Neue Bild-URL",
customLabelPlaceholder = "Neuer Gegenstandstitel",
cantChangeOnHandWeapon = "Du kannst den Slot der Waffe in deiner Hand nicht ändern!",
cantChangeOtherPlayerOnHandWeapon = "Du kannst den Slot der Waffe eines anderen Spielers nicht ändern, wenn er sie in der Hand hält!",
isNotUrCar = "Dieses Fahrzeug gehört dir nicht",
uCantStoreItem = "Du kannst diesen Gegenstand hier nicht lagern",
blockItem = "Dieser Gegenstand ist vom Server für diese Aktion gesperrt",
vehicleItemDropError = "Du kannst im Fahrzeug keine Gegenstände fallengelassen",
maxAmountReached = "Maximale Menge des Gegenstands erreicht",
clotheSetError = "Du kannst kein Outfit-Set anziehen, während du Kleidung trägst",
clotheSetWearingError = "Du kannst kein Outfit-Set anziehen, während du bereits etwas trägst",
closeInventoryFirst = "Schließe zuerst das bereits geöffnete Inventar!",
cantStackMore = "Du kannst nicht mehr davon auf diesen Slot legen! Max: %s",
searchPlayerAskTarget = "Ein Spieler will dich durchsuchen! Drücke %s zum Annehmen oder %s zum Ablehnen.",
searchAskTimeout = "Suchanfrage abgelaufen",
searchAskRefused = "Suchanfrage abgelehnt",
searchPlayerCantSearch = "Du kannst diesen Spieler nicht durchsuchen! Nicht bewusstlos oder Hände nicht oben!",
searchPlayerSelf = "Du kannst dich nicht selbst durchsuchen",
searchPlayerAlreadyActive = "Dieser Spieler wird bereits durchsucht",
jerryCanLabel = "Prozentsatz",
jerryCanEmpty = "Benzinkanister ist leer",
reloadkeyMapping = "Munition nachladen",
reloadAmmo = "Lädt Munition nach",
ammoFull = "Deine Munition ist bereits voll",
wrongAmmo = "Diese Munitionsart passt nicht zu dieser Waffe",
noWeaponHand = "Du hast keine Waffe in der Hand!",
weaponHand = "Waffe in die Hand genommen",
removeWeaponHand = "Waffe weggepackt",
cantPickupGround = "Du kannst das nicht aufheben",
pickUpGround = "Aufheben",
pickUpGroundMoney = "Geld aufheben",
pickUpGorundItems = "Gegenstand nehmen",
pickUp = "Hebt auf...",
takeOffArmor = "Schutzweste ausziehen",
wearingArmor = "Zieht Schutzweste an...",
takeOffArmorSlotFull = "Der Slot für die Weste ist belegt.",
-- Einstellungen
settingsHeader = "Inventar-Einstellungen",
settingsOn = "An",
settingsOff = "Aus",
settingsBlurBg = "Hintergrundunschärfe (Inventar)",
settingsBlurBgDesc = "Macht den Inventarhintergrund unscharf, um Inhalte hervorzuheben.",
settingsBlurMenu = "Hintergrundunschärfe (Menü)",
settingsBlurMenuDesc = "Unschärfe in bestimmten Menüs aktivieren.",
settingsCharacter = "3D-Charakteranzeige",
settingsCharacterDesc = "Zeigt deinen Charakter in 3D im Inventar.",
settingMainColor = "Hauptfarbe",
settingMainColorDesc = "Hauptfarbe ändern",
-- Tastenzuweisung
keyMappingInventory = "Inventar öffnen",
keyMappingTrunk = "Inventar [Kofferraum]",
keyMappingGlovebox = "Inventar [Handschuhfach]",
keyMappingHotbar = "Schnellzugriffsleiste",
keyMappingHotbarUse = "Gegenstand benutzen [%s]",
-- UI
inventoryName = "INVENTAR",
yourInventory = "Dein Inventar",
otherPlayerInventory = "Inventar des Spielers",
searchItem = "Gegenstand suchen",
amountItem = "Menge",
buyItem = "Kaufen",
craftItem = "Herstellen",
removeOnFastSlot = "Vom Schnellslot entfernen",
addFastSlot = "Zum Schnellslot hinzufügen",
useItem = "Benutzen",
takeOffClothe = "Kleidung ausziehen",
putOnClothe = "Kleidung anziehen",
putOnClotheOtherPlayer = "Anderen Spieler ankleiden",
getItem = "Nehmen",
putItem = "Ablegen",
giveItem = "Spieler in der Nähe geben",
itemAttachments = "Anbauteile",
cancelMenu = "Abbrechen",
kg = "Kg",
escClose = "<b>ESC</b> zum Schließen",
added = "Hinzugefügt",
removed = "Entfernt",
copySerialNumber = "Seriennummer kopieren",
serialNumberCopied = "Seriennummer kopiert",
-- Info-Menü
infoInventory = "Inventar",
info2xMouseLeft = "Doppelklick für Schnellaktion",
infoShiftMouseRight = "Schnell bewegen",
infoShop = "Shop",
infoShopMouseRight = "Kaufen",
infoShopShiftMouseRight = "Schnell kaufen",
infoCraft = "Herstellung",
infoCraftMouseRight = "Herstellen",
infoCraftShiftMouseRight = "Schnell herstellen",
infoShiftSplitMove = "Teilt beim Ziehen die Hälfte ab",
infotAltOne = "Nimmt 1 beim Ziehen",
infoMouseLeft = "Linksklick",
infoMouseRight = "Rechtsklick",
infoKeyboardShift = "Umschalttaste",
infoKeyboardAlt = "Alt-Taste",
-- Kleidung
c_helmet = "Hut",
c_ear = "Ohr",
c_mask = "Maske",
c_glasses = "Brille",
c_necklace = "Halskette",
c_decal = "Aufkleber",
c_torso = "Oberkörper",
c_bproof = "Schutzweste",
c_bproof_for_realistic = "Schutzweste(C)",
c_bag = "Tasche",
c_bracelet = "Rechte Hand",
c_watch = "Linke Hand",
c_pants = "Hose",
c_shoes = "Schuhe",
realisticArmor = "Schutzwert",
-- Anbauteile
alreadyPreviewAttachment = "Du siehst diesen Anbauteil bereits an",
alreadyBoughtAttachment = "Du hast diesen Anbauteil bereits an deiner Waffe",
attachmentDefault = "Standard",
attachmentPreview = "Vorschau",
attachmentFree = "Kostenlos",
attachmentApply = "Anwenden",
attachmentDamage = "Schaden",
attachmentSpeed = "Feuergeschwindigkeit",
attachmentCapacitiy = "Munitionskapazität",
attachmentAccuracy = "Genauigkeit",
attachmentRange = "Reichweite",
attachmentMuzle = "Mündung",
attachmentBarrel = "Lauf",
attachmentScope = "Visier",
attachmentStock = "Schaft",
attachmentGrip = "Griff",
attachmentMagazine = "Magazin",
attachmentCamo = "Tarnung",
attachmentTint = "Farbe",
attachmentFlashlight = "Taschenlampe",
-- Metadaten
metadataTotalReapirAmount = "Reparaturen insgesamt:",
metadataSerieNumber = "Serien-Nr.:",
metadataNotFoundSerie = "Unbekannt",
metadataAmmo = "Munition:",
metadataTotalFiredAmmo = "Abgefeuerte Munition:",
metadataBorken = "BESCHÄDIGT",
metadataArmorValue = "Schutzwert:",
metadataMan = "Mann",
metadataWoman = "Frau",
metadataModel = "Modell:",
metadataClothe = "Kleidung:",
metadataClotheType = "Typ:",
metadataClotheColor = "Farbe:",
metadataDurability = "Haltbarkeit",
metadataMaxUseAmount = "Verbleibende Nutzung:",
metadataRealisticArmor = "Rüstungswert",
-- Emotes
emoteGiveItem = "Gibt %s von %s",
emoteGetItem = "Nimmt den Gegenstand",
emoteOpenGlovebox = "Öffnet das Handschuhfach",
emoteOpenTrunk = "Öffnet den Kofferraum",
-- Geld geben
giveCashNoUser = "Spieler nicht gefunden",
giveCashInvalidAmount = "Ungültiger Betrag",
giveCashToofar = "Du bist zu weit weg",
giveCashNoMoney = "Nicht genug Geld",
giveCashSuccesGive = "$%s Bargeld gegeben",
giveCashSuccesGet = "$%s Bargeld erhalten",
-- Ausrauben
robNoPlayer = "Niemand in der Nähe!",
robRobbing = "Person wird ausgeraubt...",
robDeadError = "Du kannst keine tote Person ausrauben!",
robAnimationError = "Der Spieler muss die Hände heben, um ausgeraubt zu werden!",
-- Verkaufsautomat
vendingMachine = "Getränkeautomat",
-- Mülltonne durchsuchen
dumpsterSearch = "Mülltonne durchsuchen",
dumpsterSearchCooldown = "Du musst %s Sekunden warten, bevor du erneut suchst",
dumpsterSearching = "Durchsucht die Mülltonne...",
dumpsterSearchSuccess = "Du hast %sx %s gefunden",
-- Logs
logGiveItem = "Gegenstand gegeben! %s %s",
logUseItem = "Gegenstand benutzt! %s",
logDeleteItem = "Gegenstand gelöscht | Inventar: %s | Menge: %s | Gegenstand: %s",
logSwapItem = "Gegenstand getauscht! | Gegenstand: %s | Menge: %s | Inventar 1: %s | Inventar 2: %s",
logBoughtItem = "Gegenstand gekauft! | Inventar: %s | %sx %s | Preis $%s",
logDropWeapon = "Waffe fallengelassen %s",
logDropMoney = "Geld fallengelassen $%s",
logDropItems = "Gegenstände fallengelassen",
logGetWeapon = "Waffe aufgehoben %s",
logGetMoney = "Geld aufgehoben $%s",
logGetItems = "Gegenstände aufgehoben",
logAddItem = "Gegenstand hinzugefügt | Gegenstand: %s | Menge: %s | Slot: %s | Skript: %s",
logRemoveItem = "Gegenstand entfernt | Gegenstand: %s | Menge: %s | Slot: %s | Skript: %s",
logDumpsterSearch = "Mülltonne durchsucht | Gegenstand: %s | Menge: %s",
-- CMD Log
printWeaponNoDurability = "WAFFE HAT KEINE HALTBARKEIT! %s! Bitte überprüfe die Datei configWeapon.lua",
printNoItem = "NICHT IN items.lua! %s! Bitte füge den Gegenstand in items/items.lua hinzu",
-- Bann-Log
banOpenOtherPlayerInventory = "Inventar eines anderen Spielers ohne Erlaubnis geöffnet | ID des Inventarbesitzers: %s",
banGiveItemSelf = "Sich selbst einen Gegenstand gegeben",
banGiveMinusAmount = "Negativen Wert gegeben | Gegenstand: %s Menge: %s",
banRemoveMinusAmount = "Negativen Wert gelöscht | Gegenstand: %s Menge: %s",
banCustomShop = "Nicht erlaubter Shop geöffnet! Shop: %s",
banOpeningOtherPlayerInventoryFromDistance = "Inventar eines Spielers aus der Ferne geöffnet | ID: %s | Distanz: %s",
banClientOpenInventory = "Inventar vom Client geöffnet",
}

View file

@ -1,265 +0,0 @@
config.langs.tr = {
urInventoryFull = "Envanterinde Yeterli Alan Yok!",
inventoryFullItemDropped = "Envanterinde Yeterli Alan Yok! Eşya Yere Düştü!",
inventoryFull = "Envaterde Yeterli Alan Yok!",
cantCarryMoreCarryItems = "Daha Fazla Taşınabilir Eşya Taşıyamazsın! Önce Taşıdığın Eşyayı Bırakmalısın!",
cantCarryMoreCarryItemsItemDropped = "Daha Fazla Taşınabilir Eşya Taşıyamazsın! Eşya Yere Düştü!",
otherPlayerInventoryFull = "Diğer Oyuncunun Envanterinde Yeterli Alan Yok!",
otherPlayerCantCarryMoreCarryItems = "Diğer Oyuncu Daha Fazla Taşınabilir Eşya Taşıyamaz! Önce Taşıdığı Eşyayı Bırakmalı!",
wrongClothe = "Bu Kıyafet Sana Uygun Değil!",
wrongClotheOtherPlayer = "Bu Kıyafet Diğer Oyuncuya Uygun Değil!",
alreadyClothe = "Zaten Bu Tarz Bir Kıyafet Giyiyorsun",
alreadyClotheOtherPlayer = "Diğer Oyuncu Zaten Bu Tarz Bir Kıyafet Giyiyor",
noMoneyCash = "Yeterli Miktarda Nakit Para Yok!",
noMoneyBank = "Bankanda Yeterli Miktarda Para Yok!",
noItem = "Gerekli Eşyaya Sahip Değilsin!",
noItemAmount = "Yeterli Sayıda Eşyaya Sahip Değilsin",
bought = "Satın Alındı",
noClosestPlayer = "Yakınlarında Biri Yok!",
getItemOtherPlayer = "%s Oyuncusundan %s Adet %s Aldın",
giveItemOtherPlayer = "%s Oyuncusundan %s Adet %s Verdin",
wrongPassword = "Şifre Yanlış",
dontHaveNecessaryItem = "Gerekli Eşyaya Sahip Değilsin",
dontHaveAmountNecessaryItem = "Yeteri Kadar Sayıda Eşyaya Sahip Değilsin",
itemCrafted = "Eşya Üretildi",
notSuccesCraft = "Tüh Üretim Yandı",
craftingItem = "%s Üretiliyor",
cantOpenFromBackSeat = "Arka Koltuktan Torpidoyu Açamazsın!",
trunkLocked = "Bagaj Kilitli",
noTrunk = "Bu Aracın Bagajı Yok",
cantUseDead = "Ölüyken Bunu Yapamazsın!",
cantUseOffDuty = "Polis Silahını Mesai Dışında Kullanamazsın!",
cantUsePoliceWeapon = "Polis Silahını Kullanamazsın!",
durabilityZero = "Bu Silah Kullanılamayacak Kadar Kötü Durumda",
attachmentNonMk2CamoError = "MK2 Olmayan silahlarda önizleme çalışmıyor fakat yinede satın alabilirsin",
attachmentPurchased = "Satın Alındı!",
filterAll = "Tümü",
filterScrollIt = "Scrolla!",
noAmmoStunGun = "Kartuş Bitti",
cantOpenAttachments = "Bu konumda eklenti menüsünü açamazsın",
throwItem = "Fırlat",
editItem = "Düzenle",
giveClosest = "En Yakındaki",
cantUseThisItem = "Artık bunu kullanamazsın!",
cantThrowWhenUsingWeapon = "Elinde silah varken eşya fırlatamazsın",
customImgUrl = "Özel Resim Linki",
customLabel = "Özel İsim",
customConfirm = "Onaya",
customImgUrlPlaceholder = "Yeni Resim Linki",
customLabelPlaceholder = "Yeni Eşya İsmi",
cantChangeOnHandWeapon = "Elindeki Silahın Yerini Değiştiremezsin!",
cantChangeOtherPlayerOnHandWeapon = "Başka Oyuncunun Elindeki Silahın Yerini Değiştiremezsin",
isNotUrCar = "Bu Araç Sana Ait Değil",
uCantStoreItem = "Bu eşyayı bu envanterde depolayamazsın",
blockItem = "bu eşyanın bu işlemi yapması yöneticiler tarafından yasaklandı",
vehicleItemDropError = "Araç içindeyken eşya bırakamazsın",
maxAmountReached = "Eşya miktarı maksimuma ulaştı",
clotheSetError = "Bir kıyafet giyiyorken kıyafet seti giyemezsin",
clotheSetWearingError = "Kıyafet seti giyerken bir kıyafet giyemezsin",
closeInventoryFirst = "Önce açık olan ikincil envanteri kapatmalısın!",
cantStackMore = "Aynı slot'a üst üste bu eşyadan daha fazlasını koyamazsın! Maks: %s",
searchPlayerAskTarget = "Bir oyncu üstünü aramak istiyor! Kabul etmek için %s, Reddetmek için %s tuşuna basın?",
searchAskTimeout = "Üst Arama isteği zaman aşımına uğradı",
searchAskRefused = "Üst Arama isteği reddedildi",
searchPlayerCantSearch = "Bu oyuncunun üstünü arayamazsın! Yaralı değil veya ellerini kaldırmamış",
searchPlayerSelf = "Kendini arayamazsın",
searchPlayerAlreadyActive = "Bu oyuncu için zaten bir üst arama işlemi var",
jerryCanLabel = "Kalan Yüzde",
jerryCanEmpty = "Benzin Bidonu Boş",
reloadkeyMapping = "Mermi Doldur",
reloadAmmo = "Mermi Dolduruluyor",
ammoFull = "Silahın Mermisi Zaten Dolu",
wrongAmmo = "Bu Silaha Bu Mermiyi Doldurmazsın",
noWeaponHand = "Elinde Silah Yok!",
weaponHand = "Silahı Eline Aldın; ",
removeWeaponHand = "Silahı Elinden Bıraktın; ",
cantPickupGround = "Alamazsın",
pickUpGround = "Yerden Al",
pickUpGroundMoney = "Yerden Parayı Al",
pickUpGorundItems = "Yerden Eşyayı Al",
pickUp = "Alıyorsun...",
takeOffArmor = "Zırhı Çıkar",
wearingArmor = "Zırhı Giyiyorsun...",
takeOffArmorSlotFull = "Çıkarmak istediğin slot dolu",
-- Settings
settingsHeader = "Envanter Ayarlar",
settingsOn = "Aktif",
settingsOff = "Pasif",
settingsBlurBg = "Envanter Arka Plan Bulanıklaştırma",
settingsBlurBgDesc = "Envanter ekranının arka planını bulanıklaştırır. Bu ayar açık olduğunda, envanterin arka planı bulanık görünür, böylece envanter içeriği daha net bir şekilde öne çıkar. Kapalı olduğunda, arka plan net ve normal görünür.",
settingsBlurMenu = "Menu Arka Plan Bulanıklaştırma",
settingsBlurMenuDesc = "Envanterde belirli menülerin arka planını bulanıklaştırır. Bu ayar açık olduğunda, bazı menülerin arka planı bulanık görünür, böylece ön plandaki içerik daha belirgin hale gelir. Kapalı olduğunda, arka plan normal görünür",
settingsCharacter = "3D Karakter Göstergesi",
settingsCharacterDesc = "Envanterde karakterinizi 3D olarak görüp göremeyeceğinizi belirler. Bu ayar kapalı olduğunda, karakteriniz envanter ekranında görünmez. Açık olduğunda, karakterinizi 3D olarak görebilirsiniz.",
settingMainColor = "Ana Renk",
settingMainColorDesc = "Göstergelerin ana rengini değiştir",
--Key Mapping
keyMappingInventory = "Envanteri Aç",
keyMappingTrunk = "Inventory [Bagaj]",
keyMappingGlovebox = "Inventory [Torpido]",
keyMappingHotbar = "Hotbar",
keyMappingHotbarUse = "Eşyayı Kullan [%s]",
--UI
inventoryName = "ENVANTER",
yourInventory = "Envanterin",
otherPlayerInventory = "Diğer Oyuncunun Envanteri",
searchItem = "Eşya Ara",
amountItem = "Adet",
buyItem = "Satın Al",
craftItem = "Eşyayı Üret",
removeOnFastSlot = "Hızlı Kullan Slotundan Kaldır",
addFastSlot = "Hızlı Kullan Slotuna Ekle",
useItem = "Kullan",
takeOffClothe = "Kıyafeti Çıkar",
putOnClothe = "Kıyafeti Giy",
putOnClotheOtherPlayer = "Kıyafeti Giydir",
getItem = "Al",
putItem = "Bırak",
giveItem = "Yakınındakine Ver",
itemAttachments = "Eklentiler",
cancelMenu = "İptal",
kg = "Kg",
escClose = "<b>ESC</b> İle Kapat",
added = "Eklendi",
removed = "Silindi",
copySerialNumber = "Seri Numarasını Kopyala",
serialNumberCopied = "Seri Numarası Kopyalandı",
-- Info Menu
infoInventory = "Envanter",
info2xMouseLeft = "Çift Tıklayarak Hızlı Kullan",
infoShiftMouseRight = "Hızlı Taşı",
infoShop = "Mağaza",
infoShopMouseRight = "Eşya Satın Al",
infoShopShiftMouseRight = "Hızlı Satın Al",
infoCraft = "Üretim",
infoCraftMouseRight = "Üret",
infoCraftShiftMouseRight = "Hızlı Üret",
infoShiftSplitMove = "Taşırken yarısını al",
infotAltOne = "Taşırken 1 adet al",
infoMouseLeft = "Sol Fare",
infoMouseRight = "Sağ Fare",
infoKeyboardShift = "Sol Shift",
infoKeyboardAlt = "Sol Alt",
-- Clothe Box
c_helmet = "Şapka",
c_ear = "Küpe",
c_mask = "Maske",
c_glasses = "Gözlük",
c_necklace = "Kolye",
c_decal = "Çıkartma",
c_torso = "Gövde",
c_bproof = "Zırh",
c_bproof_for_realistic = "Zırh(K)",
c_bag = "Çanta",
c_bracelet = "Sağ Bilek",
c_watch = "Sol Bilek",
c_pants = "Pantolon",
c_shoes = "Ayakkabı",
realisticArmor = "Zırh",
-- Attachments
alreadyPreviewAttachment = "Zaten Silahında Bu Eklentiyi İnceliyorsun",
alreadyBoughtAttachment = "Zaten Silahta Bu Eklenti Takılı",
attachmentDefault = "Varsayılan",
attachmentPreview = "İncele",
attachmentFree = "Ücretsiz",
attachmentApply = "Uygula",
attachmentDamage = "Hasar",
attachmentSpeed = "Atış Hızı",
attachmentCapacitiy = "Mermi Kapasitesi",
attachmentAccuracy = "İsabetliliği",
attachmentRange = "Menzil",
attachmentMuzle = "Namlu Ucu",
attachmentBarrel = "Namlu",
attachmentScope = "Dürbün",
attachmentStock = "Dipçik",
attachmentGrip = "Tutamaç",
attachmentMagazine = "Sarjör",
attachmentCamo = "Kamuflaj",
attachmentTint = "Boya",
attachmentFlashlight = "Fener",
--metaData.js
metadataTotalReapirAmount = "Toplam Tamir Sayısı:",
metadataSerieNumber = "Seri No.:",
metadataNotFoundSerie = "Bilinmiyor",
metadataAmmo = "Mermi:",
metadataTotalFiredAmmo = "Toplam Sıkılan Mermi:",
metadataBorken = "KIRIK",
metadataArmorValue = "Zırh Değeri:",
metadataMan = "Erkek",
metadataWoman = "Kadın",
metadataModel = "Model:",
metadataClothe = "Kıyafet:",
metadataClotheType = "Tip:",
metadataClotheColor = "Renk:",
metadataDurability = "Dayanıklılık",
metadataMaxUseAmount = "Kalan Kullanılabilir Adet:",
metadataRealisticArmor = "Zırh Değeri",
--Emote
emoteGiveItem = "%s Adet %s Uzatır",
emoteGetItem = "Uzatılan Eşyayı Alır",
emoteOpenGlovebox = "Torpidoya Uzanır",
emoteOpenTrunk = "Bagajı Açar",
--Givecash
giveCashNoUser = "Oyuncu Bulunamadı",
giveCashInvalidAmount = "Geçersiz Miktar",
giveCashToofar = "Oyuncu çok fazla uzakta",
giveCashNoMoney = "Yeterli Paran Yok",
giveCashSuccesGive = "$%s nakit verildi",
giveCashSuccesGet = "$%s nakit alındı",
--Rob
robNoPlayer = "Yakınlarında kimse yok!",
robRobbing = "Soyuluyor...",
robDeadError = "Ölü oyuncuyu soyamazsın!",
robAnimationError = "Oyuncuyu soyabilmen için ellerini kaldırması gerekiyor!",
--Vending Machine
vendingMachine = "Otomat",
--Dumpster Search
dumpsterSearch = "Çöp Kutusunu Ara",
dumpsterSearchCooldown = "Tekrar arama yapmadan önce %s saniye beklemeniz gerekiyor",
dumpsterSearching = "Çöp kutusunu arıyorsun...",
dumpsterSearchSuccess = "%s Adet %s Eşya Bulundu",
--Log
logGiveItem = "Eşya Verdi! %s %s",
logUseItem = "Eşya Kullandı! %s",
logDeleteItem = "Eşyasını Sildi! | Envanter: %s | Adet: %s | Eşya: %s",
logSwapItem = "Eşya Taşıdı! | Item: %s | Adet: %s | Envanter 1: %s | Envanter 2: %s",
logBoughtItem = "Eşya Satın Aldı! | Envanter: %s | %sx %s | Fiyat $%s",
logDropWeapon = "Yere Silahı Düştü %s",
logDropMoney = "Yere Parası Düştü $%s",
logDropItems = "Yere Eşyaları Düştü",
logGetWeapon = "Yerden Silah Aldı %s",
logGetMoney = "Yerden Para Aldı $%s",
logGetItems = "Yerden Eşyalar Aldı",
logAddItem = "Add Item Function | Item: %s | Adet: %s | Slot: %s | Script: %s",
logRemoveItem = "Remove Item Function | Item: %s | Adet: %s | Slot: %s | Script: %s",
logDumpsterSearch = "Çöp Kutusunu Aradı | Eşya: %s | Adet: %s",
--Cmd Log
printWeaponNoDurability = "SİLAHIN KIRLMA ORANI YOK! %s! Lütfen configWeapon.lua dosyasını kontrol edin",
printNoItem = "EŞYA ITEMS.LUA DOSYASINDA YOK! %s! Lütfen eşyayı items/items.lua dosyasına ekleyin",
--Ban log
banOpenOtherPlayerInventory = "İzinsiz Oyuncuya Ait Envanteri Açmak | Envanterin Sahibnin ID'si: %s",
banGiveItemSelf = "Kendi Kendine Eşya Verme",
banGiveMinusAmount = "Eksi Değerde Eşya Ekleme | İtem: %s Adet: %s",
banRemoveMinusAmount = "Eksi Değerde Eşya Silme | İtem: %s Adet: %s",
banCustomShop = "Configde Olmayan Shop Açımı! Shop: %s",
banOpeningOtherPlayerInventoryFromDistance = "Uzak Mesafeden Oyuncunun Envanterini Açmak | Envanterin Sahibnin ID'si: %s | Mesafe: %s",
banClientOpenInventory = "Client'dan Envanter Açımı"
}

View file

@ -1,244 +0,0 @@
local adminPerm = config.tgiannServer and { "tgi" } or config.framework == "qb" and "god" or "admin"
tgiCore.CommandsAdd(config.commands.admin.giveitem, "Give An Item (Admin Only)", { { name = "id", help = "Player ID" }, { name = "item", help = "Name of the item (not a label)" }, { name = "amount", help = "Amount of items" } }, false, function(source, args)
local src = source
local id = tonumber(args[1])
local Player = config.tgiannServer and tgiCore.getPlayerById(id) or tgiCore.getPlayer(id)
local amount = tonumber(args[3]) or 1
local itemData = itemList[tostring(args[2]):lower()]
if not Player then return tgiCore.notif(src, "Player Offline", "error") end
local targetSrc = tgiCore.getSource(Player)
if not itemData then return tgiCore.notif(src, "There is no such item", "error") end
if not AddItem(targetSrc, itemData.name, amount) then return tgiCore.notif(src, "Player Is Full", "error") end
tgiCore.notif(src, "Item Given ID:" .. tgiCore.getCid(Player) .. " | " .. amount .. "x " .. itemData.name .. "", "success")
TriggerEvent("tgiann-core:discordLog", webhooks.adminLog, string.format("/giveitem %s %s %s", id, args[2], amount), src, targetSrc)
end, adminPerm)
tgiCore.CommandsAdd(config.commands.admin.setitem, "Set An Item (Admin Only)", { { name = "id", help = "Player ID" }, { name = "item", help = "Name of the item (not a label)" }, { name = "amount", help = "Amount of items" } }, false, function(source, args)
local src = source
local id = tonumber(args[1])
local Player = config.tgiannServer and tgiCore.getPlayerById(id) or tgiCore.getPlayer(id)
local amount = tonumber(args[3]) or 1
local itemData = itemList[tostring(args[2]):lower()]
if not Player then return tgiCore.notif(src, "Player Offline", "error") end
local targetSrc = tgiCore.getSource(Player)
local pInventory = GetInventory(targetSrc, "player")
if not itemData then return tgiCore.notif(src, "There is no such item", "error") end
if not pInventory.Functions.SetItem(itemData.name, amount) then return tgiCore.notif(src, "Player Is Full", "error") end
pInventory.Functions.Save()
tgiCore.notif(src, "Item Given ID:" .. tgiCore.getCid(Player) .. " | " .. amount .. "x " .. itemData.name .. "", "success")
TriggerEvent("tgiann-core:discordLog", webhooks.adminLog, string.format("/giveitem %s %s %s", id, args[2], amount), src, targetSrc)
end, adminPerm)
tgiCore.CommandsAdd(config.commands.admin.clearinv, 'Clear Players Inventory (Admin Only)', { { name = 'id', help = 'Player ID' } }, false, function(source, args)
local src = source
if args[1] then
local Player = config.tgiannServer and tgiCore.getPlayerById(tonumber(args[1])) or tgiCore.getPlayer(tonumber(args[1]))
if Player then
local targetSrc = tgiCore.getSource(Player)
local pInventory = GetInventory(targetSrc, "player")
pInventory.Functions.ClearInventory()
tgiCore.notif(src, "Player's Inventory Deleted", "error")
TriggerEvent("tgiann-core:discordLog", webhooks.adminLog, string.format("/clearinv %s (Target Online)", args[1]), src, targetSrc)
else
local row = MySQL.single.await('SELECT `inventory`, `citizenid` FROM `tgiann_inventory_player` WHERE `citizenid` = ? LIMIT 1', { args[1] })
if row then
MySQL.update('UPDATE tgiann_inventory_player SET inventory = ? WHERE citizenid = ?', { "[]", row.citizenid })
tgiCore.notif(src, "Player's Inventory Deleted", "error")
TriggerEvent("tgiann-core:discordLog", webhooks.adminLog, string.format("/clearinv %s (Target Offline)", args[1]), src)
else
tgiCore.notif(src, "There is no such player", "error")
end
end
else
local Player = tgiCore.getPlayer(src)
if not Player then return tgiCore.notif(src, "Player Offline", "error") end
local pInventory = GetInventory(tgiCore.getSource(Player), "player")
pInventory.Functions.ClearInventory()
TriggerEvent("tgiann-core:discordLog", webhooks.adminLog, "/clearinv (Self Inventory)", src)
end
end, adminPerm)
tgiCore.CommandsAdd(config.commands.admin.backpack, "Set Backpack Level", { { name = "id", help = "Player ID" }, { name = "level", help = "1-2-3" } }, true, function(source, args)
local src = source
local backpack = tonumber(args[2])
if not backpack then return tgiCore.notif(src, "You Have To Write a Level", "error") end
local max = #config.backpack
if backpack <= 0 and backpack > max then return tgiCore.notif(src, string.format("Backpack Level Can Be Max %s Min 1", max), "error") end
local xPlayer = config.tgiannServer and tgiCore.getPlayerById(tonumber(args[1])) or tgiCore.getPlayer(tonumber(args[1]))
if not xPlayer then return tgiCore.notif(src, "Player Offline", "error") end
local targetSrc = tgiCore.getSource(xPlayer)
MySQL.insert('INSERT INTO tgiann_inventory_player (citizenid, lvl) VALUES (:citizenid, :lvl) ON DUPLICATE KEY UPDATE citizenid = :citizenid, lvl = :lvl', {
citizenid = tgiCore.getCid(xPlayer),
lvl = backpack,
})
local pInventory = GetInventory(targetSrc, "player")
if pInventory then
local data = config.backpack[backpack]
pInventory.Functions.UpdateData({
MaxSlots = data.slots,
MaxWeight = data.weight
})
end
tgiCore.notif(src, "Backpack Level Seted", "success")
TriggerEvent("tgiann-core:discordLog", webhooks.adminLog, string.format("/backpack %s %s", args[1], backpack), src, targetSrc)
end, adminPerm)
tgiCore.CommandsAdd(config.commands.admin.deleteinv, "Deletes Inventory", { { name = "id", help = "Inventory Name/Plate" }, { name = "invType", help = "Inventory Type(trunk, glovebox, stash)" } }, true, function(source, args)
local src = source
local invType = args[2]
local invId = args[1]
if DeleteInventory(invType, invId) then
tgiCore.notif(src, "Inventory Deleted! " .. secondInventoryId, "success")
TriggerEvent("tgiann-core:discordLog", webhooks.adminLog, string.format("/deleteinv %s %s", invType, invId), src)
else
tgiCore.notif(src, "There Is No Such Inventory!", "error")
end
end, adminPerm)
tgiCore.CommandsAdd(config.commands.admin.openinv, "Open a Inventory", { { name = "id", help = "Inventory Name/Plate" }, { name = "invType", help = "Inventory Type(trunk, glovebox, stash)" } }, true, function(source, args)
local src = source
local invType = args[2]
local invId = args[1]
OpenInventory(src, invType, invId, {
maxweight = 999999999999,
slots = 1000,
})
TriggerEvent("tgiann-core:discordLog", webhooks.adminLog, string.format("/openinv %s %s", invType, invId), src)
end, adminPerm)
local checkItemAmount = 0
local checkItemTotalAmount = 0
local function checkItemListAdd(name, amount, findItem)
if name == findItem then
checkItemAmount = checkItemAmount + amount
end
end
local function checkItemListPrint(inventoryType, inventoryName, findItem, findAmount)
if checkItemAmount > findAmount then
tgiCore.DebugLog(string.format("Env Type: %s | %s | Item: %s | Amount: %s", inventoryType, inventoryName, findItem, checkItemAmount))
checkItemTotalAmount = checkItemTotalAmount + checkItemAmount
end
checkItemAmount = 0
end
tgiCore.CommandsAdd(config.commands.admin.checkitem, "Checks One Item in All Inventories", { { name = "item", help = "Item Name" }, { name = "minamount", help = "Min Amount" } }, true, function(source, args)
local findItem = args[1]
local findAmount = tonumber(args[2])
local src = source
checkItemTotalAmount = 0
if itemList[findItem] then
local result = MySQL.query.await('SELECT inventory, citizenid, citizenid FROM tgiann_inventory_player')
if result then
for i = 1, #result do
local resultData = result[i]
resultData.inventory = json.decode(resultData.inventory)
if resultData.inventory then
for _, data in pairs(resultData.inventory) do
checkItemListAdd(data.name, data.amount, findItem)
end
checkItemListPrint("Player", resultData.citizenid, findItem, findAmount)
end
end
end
local result = MySQL.query.await('SELECT * FROM tgiann_inventory_stashitems')
if result then
for i = 1, #result do
local resultData = result[i]
resultData.items = json.decode(resultData.items)
for _, data in pairs(resultData.items) do
checkItemListAdd(data.name, data.amount, findItem)
end
checkItemListPrint("stash", resultData.stash, findItem, findAmount)
end
end
local result = MySQL.query.await('SELECT * FROM tgiann_inventory_trunkitems')
if result then
for i = 1, #result do
local resultData = result[i]
resultData.items = json.decode(resultData.items)
for _, data in pairs(resultData.items) do
checkItemListAdd(data.name, data.amount, findItem)
end
checkItemListPrint("trunk", resultData.plate, findItem, findAmount)
end
end
local result = MySQL.query.await('SELECT * FROM tgiann_inventory_gloveboxitems')
if result then
for i = 1, #result do
local resultData = result[i]
resultData.items = json.decode(resultData.items)
for _, data in pairs(resultData.items) do
checkItemListAdd(data.name, data.amount, findItem)
end
checkItemListPrint("glovebox", resultData.plate, findItem, findAmount)
end
end
--[[ local result = MySQL.query.await('SELECT id, item, amount FROM tgiann_market_sell')
if result then
for i=1, #result do
local resultData = result[i]
checkItemListAdd(resultData.item, resultData.amount, findItem)
checkItemListPrint("tgiann_market_sell", resultData.id, findItem, findAmount)
end
end
local result = MySQL.query.await('SELECT id, item, amount FROM tgiann_market_item_storage')
if result then
for i=1, #result do
local resultData = result[i]
checkItemListAdd(resultData.item, resultData.amount, findItem)
checkItemListPrint("tgiann_market_item_storage", resultData.id, findItem, findAmount)
end
end
]]
tgiCore.DebugLog(string.format("Total Amount: %s", checkItemTotalAmount))
else
tgiCore.notif(src, "There is no such item!", "error")
end
end, adminPerm)
tgiCore.CommandsAdd(config.commands.admin.items, "Lists all Items available in the server", {}, false, function(source, args)
OpenShop(source, "admin")
end, adminPerm)
-- PLAYER COMMANDS
-- https://github.com/qbcore-framework/qb-banking/blob/main/server.lua#L493
if config.commands.player.givecash.active then
tgiCore.CommandsAdd(config.commands.player.givecash.command, 'Give Cash', { { name = 'id', help = 'Player ID' }, { name = 'amount', help = 'Amount' } }, true, function(source, args)
local src = source
local xPlayer = tgiCore.getPlayer(src)
if not xPlayer then return end
local playerPed = GetPlayerPed(src)
local playerCoords = GetEntityCoords(playerPed)
local tPlayer = tgiCore.getPlayer(tonumber(args[1]))
if not tPlayer then return tgiCore.notif(src, lang.giveCashNoUser, 'error') end
local targetPed = GetPlayerPed(tonumber(args[1]))
local targetCoords = GetEntityCoords(targetPed)
local amount = tonumber(args[2])
if not amount then return tgiCore.notif(src, lang.giveCashInvalidAmount, 'error') end
if amount <= 0 then return tgiCore.notif(src, lang.giveCashInvalidAmount, 'error') end
if #(playerCoords - targetCoords) > 5 then return tgiCore.notif(src, lang.giveCashToofar, 'error') end
if tgiCore.getMoney(xPlayer, "cash") < amount then return tgiCore.notif(src, lang.giveCashNoMoney, 'error') end
tgiCore.removeMoney(xPlayer, 'cash', amount, 'cash transfer')
tgiCore.addMoney(tPlayer, 'cash', amount, 'cash transfer')
tgiCore.notif(src, string.format(lang.giveCashSuccesGive, amount), 'success')
tgiCore.notif(tgiCore.getSource(tPlayer), string.format(lang.giveCashSuccesGet, amount), 'success')
end)
end
if config.commands.player.rob.active then
tgiCore.CommandsAdd(config.commands.player.rob.command, 'Rob Closest Player', {}, false, function(source, args)
local targetPlayer = lib.callback.await("tgiann-inventory:robPlayer", source)
if not targetPlayer then return end
OpenInventoryById(source, targetPlayer, true)
end)
end

View file

@ -1,339 +0,0 @@
-- with this command you can integrate your qb inventories into the new system
-- if you write a code for different inventories please share it with us
-- Commands only available from cmd/live consol
local function convertItemsFile()
local addedAnyItems = false
if config.framework == "qb" then
local QBCore = exports['qb-core']:GetCoreObject({ "Shared" })
local items = QBCore.Shared.Items
if items and table.type(items) ~= 'empty' then
for k, item in pairs(items) do
if type(item) == 'table' then
item.name = tgiCore.trim(string.lower(item.name or k))
if not string.find(item.name, "weapon_") and not itemsData[item.name] then
item.type = item.type or 'item'
item.image = item.image or item.name .. ".webp"
item.unique = item.unique or false
item.useable = item.useable or false
item.shouldClose = item.shouldClose or false
item.description = item.description or ""
itemsData[item.name] = item
addedAnyItems = true
end
end
end
end
elseif config.framework == "esx" then
local items = MySQL.query.await("SELECT * FROM items")
if items and table.type(items) ~= 'empty' then
for _, item in pairs(items) do
item.name = tgiCore.trim(string.lower(item.name))
if not string.find(item.name, "weapon_") and not itemsData[item.name] then
itemsData[item.name] = {
name = item.name, label = item.label, weight = item.weight, type = 'item', image = item.name .. '.webp', unique = false, useable = true, shouldClose = true, description = ''
}
addedAnyItems = true
end
end
end
end
if not addedAnyItems then
return tgiCore.DebugLog('No items added to items.lua file! Your tgiann-inventory items file already converted!')
end
local fileContent = "itemsData = " .. tgiCore.SerializeTable(itemsData)
SaveResourceFile("tgiann-inventory", 'items/items.lua', fileContent, -1)
if config.framework == "qb" then
tgiCore.DebugLog('Your items have been copied from the QBCore.Shared.Items! You should restart the resource to load the new items! You can edit your items from items/items.lua file.')
else
tgiCore.DebugLog('Your items have been copied from the items database! You should restart the resource to load the new items! You can edit your items from items/items.lua file.')
end
end
local function convertItems(items)
if not items then return "[]" end
items = json.decode(items)
if not items then return "[]" end
for _, itemData in pairs(items) do
if itemData then
itemData.info = itemData.metadata or itemData.info
itemData.amount = itemData.count or itemData.amount
if string.find(itemData.name, "weapon_") then itemData.info = nil end
end
end
return json.encode(items)
end
local function checkTableExist(table)
return MySQL.single.await("SHOW TABLES LIKE ?", { table })
end
RegisterCommand(config.commands.convert.convertItemsFile, function(source)
if source > 0 then return tgiCore.DebugErrorLog("Pls use on server cmd") end
convertItemsFile()
end)
-- Qb Inventory
RegisterCommand(config.commands.convert.convertqb, function(source)
if source > 0 then return tgiCore.DebugErrorLog("Pls use on server cmd") end
local newQb = checkTableExist("inventories")
if newQb then
local result = MySQL.query.await('SELECT * FROM inventories')
if result and #result > 0 then
for i = 1, #result do
local inventory = result[i]
local items = inventory.items
local identifier = inventory.identifier
if identifier:find('trunk-') then
MySQL.query.await('INSERT INTO `tgiann_inventory_trunkitems` (plate, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
string.gsub(identifier, "trunk-", ""), items
})
elseif identifier:find('glovebox-') then
MySQL.query.await('INSERT INTO `tgiann_inventory_gloveboxitems` (plate, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
string.gsub(identifier, "glovebox-", ""), items
})
else
MySQL.query.await('INSERT INTO `tgiann_inventory_stashitems` (stash, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
identifier, items
})
end
end
end
tgiCore.DebugLog("New Qb inventories converted")
else
local response = MySQL.query.await('SELECT * FROM `stashitems`')
if response and next(response) then
for i = 1, #response do
MySQL.query.await('INSERT INTO `tgiann_inventory_stashitems` (stash, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].stash, response[i].items
})
end
tgiCore.DebugLog("stashitems converted")
end
local response = MySQL.query.await('SELECT * FROM `trunkitems`')
if response and next(response) then
for i = 1, #response do
MySQL.query.await('INSERT INTO `tgiann_inventory_trunkitems` (plate, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].plate, response[i].items
})
end
tgiCore.DebugLog("trunkitems converted")
end
local response = MySQL.query.await('SELECT * FROM `gloveboxitems`')
if response and next(response) then
for i = 1, #response do
MySQL.query.await('INSERT INTO `tgiann_inventory_gloveboxitems` (plate, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].plate, response[i].items
})
end
tgiCore.DebugLog("gloveboxitems converted")
end
end
if checkTableExist("players") then
local response = MySQL.query.await('SELECT citizenid, inventory FROM `players`')
if response and next(response) then
for i = 1, #response do
if response[i].inventory then
MySQL.query.await('INSERT INTO `tgiann_inventory_player` (citizenid, inventory, clotheinventory) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE inventory = VALUES(inventory), clotheinventory = VALUES(clotheinventory)', {
response[i].citizenid, response[i].inventory, "[]"
})
end
end
tgiCore.DebugLog("Player inventorys converted")
end
end
convertItemsFile()
tgiCore.DebugLog("Finished")
end)
-- Ox Inventory
RegisterCommand(config.commands.convert.convertox, function(source)
if source > 0 then return tgiCore.DebugErrorLog("Pls use on server cmd") end
if not checkTableExist("ox_inventory") then
return tgiCore.DebugErrorLog("Ox Inventory not found")
end
local response = MySQL.query.await('SELECT name, data FROM `ox_inventory`')
if response and next(response) then
for i = 1, #response do
local owner = response[i].owner or ""
MySQL.query.await('INSERT INTO `tgiann_inventory_stashitems` (stash, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].name .. "_" .. owner, convertItems(response[i].data)
})
if response[i].owner then
tgiCore.DebugWarningLog(string.format("%s Converted but u need the edit open event! When opening the stash you need to send the player id in the stash name! Example: TriggerServerEvent('inventory:server:OpenInventory', 'stash', %s_PlayerData.citizenid)", response[i].name, response[i].name))
end
end
tgiCore.DebugLog("stashitems converted")
end
if config.framework == "qb" then
local response = MySQL.query.await('SELECT glovebox, trunk, plate FROM `player_vehicles`')
if response and next(response) then
for i = 1, #response do
MySQL.query.await('INSERT INTO `tgiann_inventory_gloveboxitems` (plate, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].plate, convertItems(response[i].glovebox)
})
MySQL.query.await('INSERT INTO `tgiann_inventory_trunkitems` (plate, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].plate, convertItems(response[i].trunk)
})
end
tgiCore.DebugLog("gloveboxitems and trunkitems converted")
end
else
local response = MySQL.query.await('SELECT glovebox, trunk, plate FROM `owned_vehicles`')
if response and next(response) then
for i = 1, #response do
MySQL.query.await('INSERT INTO `tgiann_inventory_gloveboxitems` (plate, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].plate, convertItems(response[i].glovebox)
})
MySQL.query.await('INSERT INTO `tgiann_inventory_trunkitems` (plate, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].plate, convertItems(response[i].trunk)
})
end
tgiCore.DebugLog("gloveboxitems and trunkitems converted")
end
end
if config.framework == "qb" then
local response = MySQL.query.await('SELECT citizenid, inventory FROM `players`')
if response and next(response) then
for i = 1, #response do
if response[i].inventory then
MySQL.query.await('INSERT INTO `tgiann_inventory_player` (citizenid, inventory, clotheinventory) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE inventory = VALUES(inventory), clotheinventory = VALUES(clotheinventory)', {
response[i].citizenid, convertItems(response[i].inventory), "[]"
})
end
end
tgiCore.DebugLog("Player inventorys converted")
end
else
local response = MySQL.query.await('SELECT identifier, inventory FROM `users`')
if response and next(response) then
for i = 1, #response do
if response[i].inventory then
MySQL.query.await('INSERT INTO `tgiann_inventory_player` (citizenid, inventory, clotheinventory) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE inventory = VALUES(inventory), clotheinventory = VALUES(clotheinventory)', {
response[i].identifier, convertItems(response[i].inventory), "[]"
})
end
end
tgiCore.DebugLog("Player inventorys converted")
end
end
tgiCore.DebugLog("Finished")
end)
-- qs_inventory
RegisterCommand(config.commands.convert.convertqsinv, function(source)
if source > 0 then return tgiCore.DebugErrorLog("Pls use on server cmd") end
local response = MySQL.query.await('SELECT * FROM `inventory_stash`')
if response and next(response) then
for i = 1, #response do
MySQL.query.await('INSERT INTO `tgiann_inventory_stashitems` (stash, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].stash, response[i].items
})
end
tgiCore.DebugLog("inventory_stash converted")
end
local response = MySQL.query.await('SELECT * FROM `inventory_trunk`')
if response and next(response) then
for i = 1, #response do
MySQL.query.await('INSERT INTO `tgiann_inventory_trunkitems` (plate, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].plate, response[i].items
})
end
tgiCore.DebugLog("inventory_trunk converted")
end
local response = MySQL.query.await('SELECT * FROM `inventory_glovebox`')
if response and next(response) then
for i = 1, #response do
MySQL.query.await('INSERT INTO `tgiann_inventory_gloveboxitems` (plate, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].plate, response[i].items
})
end
tgiCore.DebugLog("inventory_glovebox converted")
end
if config.framework == "qb" then
local response = MySQL.query.await('SELECT citizenid, inventory FROM `players`')
if response and next(response) then
for i = 1, #response do
if response[i].inventory then
MySQL.query.await('INSERT INTO `tgiann_inventory_player` (citizenid, inventory, clotheinventory) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE inventory = VALUES(inventory), clotheinventory = VALUES(clotheinventory)', {
response[i].citizenid, convertItems(response[i].inventory), "[]"
})
end
end
tgiCore.DebugLog("Player inventorys converted")
end
else
local response = MySQL.query.await('SELECT identifier, inventory FROM `users`')
if response and next(response) then
for i = 1, #response do
if response[i].inventory then
MySQL.query.await('INSERT INTO `tgiann_inventory_player` (citizenid, inventory, clotheinventory) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE inventory = VALUES(inventory), clotheinventory = VALUES(clotheinventory)', {
response[i].identifier, convertItems(response[i].inventory), "[]"
})
end
end
tgiCore.DebugLog("Player inventorys converted")
end
end
tgiCore.DebugLog("Finished")
end)
-- codem-inventory
RegisterCommand(config.commands.convert.convertcodeminv, function(source)
if source > 0 then return tgiCore.DebugErrorLog("Pls use on server cmd") end
local response = MySQL.query.await('SELECT * FROM `codem_new_stash`')
if response and next(response) then
for i = 1, #response do
MySQL.query.await('INSERT INTO `tgiann_inventory_stashitems` (stash, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].stashname, response[i].items
})
end
tgiCore.DebugLog("codem_new_stash converted")
end
local response = MySQL.query.await('SELECT * FROM `codem_new_vehicleandglovebox`')
if response and next(response) then
for i = 1, #response do
MySQL.query.await('INSERT INTO `tgiann_inventory_gloveboxitems` (plate, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].plate, response[i].glovebox
})
MySQL.query.await('INSERT INTO `tgiann_inventory_trunkitems` (plate, items) VALUES (?, ?) ON DUPLICATE KEY UPDATE items = VALUES(items)', {
response[i].plate, response[i].trunk
})
end
tgiCore.DebugLog("codem_new_vehicleandglovebox converted")
end
local response = MySQL.query.await('SELECT identifier, inventory FROM `codem_new_inventory`')
if response and next(response) then
for i = 1, #response do
if response[i].inventory then
MySQL.query.await('INSERT INTO `tgiann_inventory_player` (citizenid, inventory, clotheinventory) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE inventory = VALUES(inventory), clotheinventory = VALUES(clotheinventory)', {
response[i].identifier, convertItems(response[i].inventory), "[]"
})
end
end
tgiCore.DebugLog("Player inventorys converted")
end
tgiCore.DebugLog("Finished")
end)

View file

@ -1,242 +0,0 @@
---@param src number
---@param banLogType "banOpenOtherPlayerInventory" | "banGiveItemSelf" | "banGiveMinusAmount" | "banRemoveMinusAmount" | "banCustomShop" | "banOpeningOtherPlayerInventoryFromDistance" | "banClientOpenInventory"
---@param msg string
function ban(src, banLogType, msg)
banLog(src, banLogType, msg)
if config.kickPlayerWhenHackingDatected then DropPlayer(tostring(src), "Cheating For Inventory System") end
--[[
-- Example ban event
TriggerClientEvent("tgiann-anticheat:ban", src, { -- Example Code
adminMessage = msg,
ban = 131487,
kickMessage = "Cheating!"
}) ]]
end
---@param plate string
---@return string | false
function isPlayerVehicle(plate)
local table = config.framework == "qb" and "player_vehicles" or "owned_vehicles"
local owner = config.framework == "qb" and "citizenid" or "owner"
local result = MySQL.single.await('SELECT ' .. owner .. ' from ' .. table .. ' WHERE plate = ?', { plate })
return result and result[owner] or false
end
---@param src number
---@return boolean
function isAdmin(src)
if config.framework == "qb" then
return IsPlayerAceAllowed(tostring(src), "command") -- refarance: https://github.com/qbcore-framework/qb-adminmenu/blob/main/server/server.lua#L52
else
local xPlayer = tgiCore.getPlayer(src)
return xPlayer.getGroup(src) == "admin"
end
end
lib.callback.register("tgiann-inventory:server:isAdmin", isAdmin)
--- @param moneyType string
--- @return boolean, string | nil
function isMoneyItem(moneyType)
if not config.moneyAsItem.active then return false end
for itemName, mType in pairs(config.moneyAsItem.items[config.framework]) do
if mType == moneyType then
return true, itemName
end
end
return false
end
exports("IsMoneyItem", isMoneyItem)
--- For money as item
---@param src number
---@param itemName string
local function setMoney(src, itemName)
if not config.moneyAsItem.active then return end
local moneyType = config.moneyAsItem.items[config.framework][itemName]
if not moneyType then return end
local pInventory = GetInventory(src, "player")
if not pInventory then return end
local xPlayer = tgiCore.getPlayer(src)
if not xPlayer then return end
local totalAmount = pInventory.Functions.GetItemTotalAmount(itemName)
if config.framework == "esx" then
xPlayer.setAccountMoney(moneyType, totalAmount, "inventory money as item", true)
elseif config.framework == "qb" then
if config.qbx then
exports["qbx_core"]:SetMoney(src, moneyType, totalAmount, "inventory money as item", true)
else
xPlayer.Functions.SetMoney(moneyType, totalAmount, "inventory money as item", true)
end
end
end
--- if the value is false, the use of the item is canceled
---@param src number
---@param itemData table
---@param itemSharedData table
---@diagnostic disable-next-line: unused-local
function useItemEditable(src, itemData, itemSharedData)
local decayableItemsData = IsDecayableItem(itemData.name)
if decayableItemsData then
local durability = itemData.info?.durability and GetDurabilityPercent(itemData.info.durability, decayableItemsData, os.time()) or 1
if durability <= 0 then
if config.removeDecayableItem then
RemoveItem(src, itemData.name, 1, itemData.slot)
end
tgiCore.notif(src, lang.cantUseThisItem, "error")
return false
end
end
if itemData.name == "myCustomUseItem" then
TriggerClientEvent('myCustomEvent', src, itemData.name)
return false -- We make it false because we do not want the main use item function to continue
end
return true
end
---@param src number
---@param itemData table
---@param amount number
function addItemDetect(src, itemData, amount)
if not itemData then return end
itemData.itemAddRemoveLog = "added"
TriggerClientEvent("tgiann-inventory:itemAddRemoveLog", src, itemData, amount)
if string.match(itemData.name:lower(), "weapon") then
TriggerClientEvent('inventory:client:addWeapon', src, true, true, itemData.slot)
else
if config.moneyAsItem.active then setMoney(src, itemData.name) end
TriggerClientEvent('tgiann-inventory:addedItem', src, itemData.name)
end
end
---@param src number
---@param itemData table
---@param amount number
function removeItemDetect(src, itemData, amount)
if not itemData then return end
itemData.itemAddRemoveLog = "removed"
TriggerClientEvent("tgiann-inventory:itemAddRemoveLog", src, itemData, amount)
if string.match(itemData.name:lower(), "weapon") then
TriggerClientEvent('inventory:client:removeWeapon', src, true, true, itemData.slot)
elseif itemData.name:lower() == "kemer" then
TriggerClientEvent('tgiann-hud:removeKemer', src)
elseif itemData.name:lower() == "megaphone" then
TriggerClientEvent('tgiann-megaphone:drop', src)
elseif itemData.name:lower() == "scooter" then
TriggerClientEvent('tgiann-scooter:drop', src)
else
if config.moneyAsItem then setMoney(src, itemData.name) end
TriggerClientEvent('tgiann-inventory:dropItem', src, itemData.name)
end
end
---@param payload { source:number, shopType: string, itemName: string, metadata: table, count:number, price: number }
function itemBought(payload)
buyItemLog(payload.shopType, payload.itemName, payload.count, payload.price, payload.source)
if config.tgiannServer and payload.shopType == "police" then
local itemName = payload.itemName
if string.find(itemName, "weapon") then
local label = itemList[itemName].label
local xPlayer = tgiCore.getPlayer(payload.source)
if not xPlayer then return end
MySQL.insert('INSERT INTO tgiann_mdt_shop (name, itemname, itemserial, time) VALUES (?, ?, ?, ?) ', { xPlayer.PlayerData.charinfo.firstname .. " " .. xPlayer.PlayerData.charinfo.lastname, label, payload.metadata.serie or "Eşya", os.time() })
end
end
end
---@param itemData table
---@param info? table
---@param Player? table
local function setQbItemInfo(itemData, info, Player)
if config.framework == "esx" then return info end
if itemData.name == "id_card" then
if Player then
info.citizenid = Player.PlayerData.citizenid
info.firstname = Player.PlayerData.charinfo.firstname
info.lastname = Player.PlayerData.charinfo.lastname
info.birthdate = Player.PlayerData.charinfo.birthdate
info.gender = Player.PlayerData.charinfo.gender
info.nationality = Player.PlayerData.charinfo.nationality
end
elseif itemData.name == "driver_license" then
if Player then
info.firstname = Player.PlayerData.charinfo.firstname
info.lastname = Player.PlayerData.charinfo.lastname
info.birthdate = Player.PlayerData.charinfo.birthdate
end
info.type = "Class C Driver License"
elseif itemData.name == "harness" then
info.uses = 20
elseif itemData.name == "markedbills" then
info.worth = math.random(5000, 10000)
elseif itemData.name == "labkey" then
info.lab = exports["qb-methlab"]:GenerateRandomLab()
elseif itemData.name == "printerdocument" then
info.url = "https://cdn.discordapp.com/attachments/870094209783308299/870104331142189126/Logo_-_Display_Picture_-_Stylized_-_Red.png"
end
return info
end
---@param itemData table
---@param info? table
---@param Player? table
function setItemInfo(itemData, info, Player)
if not info or info == "" or (type(info) == "table" and not next(info)) then
info = {}
local decayableItemsData = IsDecayableItem(itemData.name)
if itemData.name == config.jerryCan.item then
info = config.jerryCan.metadata
elseif decayableItemsData then
info.type = "decayableItems"
info.durability = os.time()
info.durabilitySecond = decayableItemsData
elseif itemData.type == 'weapon' then
info = {
serie = GetRandomItemId(),
durabilityPercent = 100,
ammo = 0,
usedTotalAmmo = 0
}
elseif GetResourceState("tgiann-food-jobs") == "started" and exports["tgiann-food-jobs"]:items()[itemData.name] and Player then
info = exports["tgiann-food-jobs"]:customItemMetadata(tgiCore.getSource(Player), tgiCore.getCid(Player))
elseif config.maxUseAmount[itemData.name] then
info.type = "maxUseAmount"
info.maxUseAmount = config.maxUseAmount[itemData.name].amount
elseif config.realisticArmor.active and config.realisticArmor.items[itemData.name] then
info.durabilityPercent = config.realisticArmor.items[itemData.name].armor
info.realisticArmor = true
else
info = setQbItemInfo(itemData, info, Player)
end
end
return info
end
for i = 1, #config.itemStash do
local stashData = config.itemStash[i]
tgiCore.CreateUseableItem(stashData.item, function(source, item)
local src = source
if openedAnySecondaryInventory(src) then
return tgiCore.notif(src, lang.closeInventoryFirst, "error", 5000)
end
if not item.info.id then
local xPlayer = tgiCore.getPlayer(src)
item.info = { id = stashData.item .. tgiCore.getCid(xPlayer) .. GetRandomItemId() }
UpdateItemMetadata(src, stashData.item, item.slot, item.info)
end
OpenInventory(src, "stash", item.info.id, {
maxweight = stashData.maxweight,
slots = stashData.slots,
whitelist = stashData.whitelist
})
end)
end

View file

@ -1,89 +0,0 @@
webhooks = {
use = "",
giveOtherPlayer = "",
buyItem = "",
transfer = "",
delete = "",
adminLog = "",
addItem = "",
banLog = "",
dumpsterSearch = "",
-- drop when die
dropWeapon = "",
dropMoney = "",
dropItems = "", -- Also using throw item
pickUpWeapon = "",
pickUpCash = "",
pickUpItems = "", -- Also using throw item
}
-- u can edit commands logs from server/commands.lua
function dropMoneyLog(cash, src)
TriggerEvent("tgiann-core:discordLog", webhooks.dropMoney, string.format(lang.logDropMoney, cash), src)
end
function dropWeaponLog(val, src)
TriggerEvent("tgiann-core:discordLog", webhooks.dropWeapon, string.format(lang.logDropWeapon, val.namecash), src)
end
function dropItemsLog(dropItemList, src)
TriggerEvent("tgiann-core:discordLog", webhooks.dropItems, string.format("%s: %s", lang.logDropItems, json.encode(dropItemList)), src)
end
function pickUpWeaponLog(data, src)
TriggerEvent("tgiann-core:discordLog", webhooks.pickUpWeapon, string.format(lang.logGetWeapon, data.weapon.name), src)
end
function pickUpCashLog(data, src)
TriggerEvent("tgiann-core:discordLog", webhooks.pickUpCash, string.format(lang.logGetMoney, data.cash), src)
end
function pickUpItemsLog(data, src)
TriggerEvent("tgiann-core:discordLog", webhooks.pickUpItems, string.format("%s: %s", lang.logGetItems, json.encode(data.dropItemList)), src)
end
function openAdminShopLog(src)
TriggerEvent("tgiann-core:discordLog", webhooks.adminLog, "Open Admin Shop", src)
end
function giveOtherPlayer(inputVal, label, src, OtherPlayerSrc)
TriggerEvent("tgiann-core:discordLog", webhooks.giveOtherPlayer, string.format(lang.logGiveItem, inputVal, label), src, OtherPlayerSrc)
end
function buyItemLog(shopType, itemName, count, price, src)
TriggerEvent("tgiann-core:discordLog", webhooks.buyItem, string.format(lang.logBoughtItem, shopType, count, GetItemLabel(itemName), price), src)
end
function transferLog(itemName, amount, dragDataInvKeyName, dropDataInvKeyName, src)
TriggerEvent("tgiann-core:discordLog", webhooks.transfer, string.format(lang.logSwapItem, itemName, amount, dragDataInvKeyName, dropDataInvKeyName), src)
end
function addItemLog(src, itemName, amount, slot, invokingResource)
TriggerEvent("tgiann-core:discordLog", webhooks.addItem, string.format(lang.logAddItem, itemName, amount, slot, invokingResource), src)
end
function removeItemLog(src, itemName, amount, slot, invokingResource)
TriggerEvent("tgiann-core:discordLog", webhooks.removeItem, string.format(lang.logRemoveItem, itemName, amount, slot, invokingResource), src)
end
function deleteItemLog(data, src) --Not Using
TriggerEvent("tgiann-core:discordLog", webhooks.delete, string.format(lang.logDeleteItem, data.invKeyName, data.itemData.amount, GetItemLabel(data.itemData.name)), src)
end
function useLog(label, src)
TriggerEvent("tgiann-core:discordLog", webhooks.use, string.format(lang.logUseItem, label), src)
end
function dumpsterSearch(src, item, amount)
TriggerEvent("tgiann-core:discordLog", webhooks.dumpsterSearch, string.format(lang.logDumpsterSearch, item, amount), src)
end
function banLog(src, banLogType, msg)
local playerName = GetPlayerName(src) or "Unknown Player Name"
banLogType = banLogType or "Unknown Ban Type"
msg = msg or "Unknown Reason"
tgiCore.DebugErrorLog("^1[ANTICHEAT] ^0 [ " .. src .. " ]" .. playerName .. " Has been kicked for " .. msg .. " (" .. banLogType .. ")")
TriggerEvent("tgiann-core:discordLog", webhooks.banLog, msg, src)
end

View file

@ -1,39 +0,0 @@
CREATE TABLE IF NOT EXISTS `tgiann_inventory_gloveboxitems` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`plate` varchar(255) NOT NULL,
`items` longtext DEFAULT NULL,
`lastopen` int(11) DEFAULT NULL,
PRIMARY KEY (`plate`),
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
CREATE TABLE IF NOT EXISTS `tgiann_inventory_player` (
`citizenid` varchar(50) NOT NULL,
`lvl` int(11) DEFAULT NULL,
`clotheinventory` longtext DEFAULT '[]',
`realisticArmorInventory` longtext NOT NULL DEFAULT '[]',
`inventory` longtext DEFAULT '[]',
`fastSlots` longtext DEFAULT '[]',
UNIQUE KEY `citizenid` (`citizenid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
CREATE TABLE IF NOT EXISTS `tgiann_inventory_stashitems` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`stash` varchar(255) NOT NULL,
`items` longtext DEFAULT NULL,
`lastopen` int(11) DEFAULT NULL,
`player` longtext DEFAULT NULL,
`family` int(11) DEFAULT NULL,
`password` longtext DEFAULT NULL,
PRIMARY KEY (`stash`),
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
CREATE TABLE IF NOT EXISTS `tgiann_inventory_trunkitems` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`plate` varchar(255) NOT NULL,
`items` longtext DEFAULT NULL,
`lastopen` int(11) DEFAULT NULL,
PRIMARY KEY (`plate`),
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show more