forked from Simnation/Main
Update sv_function.lua
This commit is contained in:
parent
bf9a3be387
commit
aa02123992
1 changed files with 28 additions and 9 deletions
|
@ -93,26 +93,43 @@ function RemovePlayerMoney(player, amount, bank)
|
||||||
end
|
end
|
||||||
|
|
||||||
function AddItem(source, item, amount, metadata)
|
function AddItem(source, item, amount, metadata)
|
||||||
if not metadata then metadata = {} end
|
-- Initialize metadata if not provided
|
||||||
|
metadata = metadata or {}
|
||||||
|
|
||||||
if GetResourceState('ox_inventory') == 'started' then
|
if GetResourceState('ox_inventory') == 'started' then
|
||||||
exports['ox_inventory']:AddItem(source, item, amount, metadata)
|
exports['ox_inventory']:AddItem(source, item, amount, metadata)
|
||||||
|
|
||||||
elseif GetResourceState('qs-inventory') == 'started' then
|
elseif GetResourceState('qs-inventory') == 'started' then
|
||||||
exports['qs-inventory']:AddItem(source, item, amount, false, metadata)
|
exports['qs-inventory']:AddItem(source, item, amount, false, metadata)
|
||||||
elseif GetResourceState('tgiann-inventory') == 'started' then
|
|
||||||
-- Ensure metadata is a table
|
|
||||||
metadata = metadata or {}
|
|
||||||
|
|
||||||
-- Check if the item is a weapon and ensure 'serie' exists in metadata as a string
|
elseif GetResourceState('tgiann-inventory') == 'started' then
|
||||||
if string.match(item:upper(), "WEAPON_") then
|
-- Convert item name to uppercase for consistent comparison
|
||||||
if not metadata.serie or type(metadata.serie) ~= "string" then
|
local upperItem = string.upper(item)
|
||||||
|
|
||||||
|
-- Handle weapons specifically
|
||||||
|
if string.match(upperItem, "WEAPON_") then
|
||||||
|
-- Always generate a new string serie for weapons
|
||||||
metadata.serie = tostring(math.random(100000, 999999))
|
metadata.serie = tostring(math.random(100000, 999999))
|
||||||
|
|
||||||
|
-- Set default weapon metadata if not provided
|
||||||
|
metadata.ammo = metadata.ammo or 0
|
||||||
|
metadata.quality = metadata.quality or 100
|
||||||
|
|
||||||
|
-- Special handling for carbine rifle
|
||||||
|
if upperItem == "WEAPON_CARBINERIFLE" then
|
||||||
|
-- Additional specific settings for carbine rifle if needed
|
||||||
|
-- This ensures the carbine rifle always has valid metadata
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Call the tgiann-inventory export with properly formatted metadata
|
||||||
exports["tgiann-inventory"]:AddItem(source, item, amount, nil, metadata, nil)
|
exports["tgiann-inventory"]:AddItem(source, item, amount, nil, metadata, nil)
|
||||||
|
|
||||||
elseif GetResourceState('origen_inventory') == 'started' then
|
elseif GetResourceState('origen_inventory') == 'started' then
|
||||||
exports['origen_inventory']:addItem(source, item, amount, metadata, false)
|
exports['origen_inventory']:addItem(source, item, amount, metadata, false)
|
||||||
|
|
||||||
else
|
else
|
||||||
|
-- Default handling for QB/ESX
|
||||||
local Player = GetPlayer(source)
|
local Player = GetPlayer(source)
|
||||||
if CodeStudio.ServerType == 'QB' then
|
if CodeStudio.ServerType == 'QB' then
|
||||||
Player.Functions.AddItem(item, amount, nil, metadata)
|
Player.Functions.AddItem(item, amount, nil, metadata)
|
||||||
|
@ -123,6 +140,8 @@ elseif GetResourceState('tgiann-inventory') == 'started' then
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function BuyItems(data)
|
function BuyItems(data)
|
||||||
local item = data.item
|
local item = data.item
|
||||||
local amount = tonumber(data.amount) or 1
|
local amount = tonumber(data.amount) or 1
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue