if not config["qs-inventory"] then return end local playerJob = "" local lastItems = {} local isBussy = false local function getInventoryItems() if isBussy then return end isBussy = true while exports['qs-inventory']:inInventory() do Wait(10) end -- getUserInventory not updating when inventory is open Wait(1000) -- getUserInventory is updating late lastItems = exports['qs-inventory']:getUserInventory() weaponCheck(playerJob, true) isBussy = false end RegisterNetEvent('tgiCore:Client:OnPlayerLoaded') AddEventHandler('tgiCore:Client:OnPlayerLoaded', function(PlayerData) playerJob = PlayerData.job.name getInventoryItems() end) RegisterNetEvent('tgiCore:Client:OnPlayerLogout', function() self.Functions.RemoveAllWeapons() end) --ESX RegisterNetEvent('esx:addInventoryItem') AddEventHandler('esx:addInventoryItem', function() getInventoryItems() end) RegisterNetEvent('esx:removeInventoryItem') AddEventHandler('esx:removeInventoryItem', function() getInventoryItems() end) --QB RegisterNetEvent('QBCore:Player:SetPlayerData', function(PlayerData) playerJob = PlayerData.job.name lastItems = PlayerData?.items weaponCheck() end) RegisterNetEvent('tgiCore:Client:OnJobUpdate') AddEventHandler('tgiCore:Client:OnJobUpdate', function(job) self.Functions.RemoveAllWeapons() playerJob = job.name weaponCheck(playerJob) end) self.Functions.CheckWeaponIsRemoved = function() if not next(self.weapons) then return end for key, _ in pairs(self.weapons) do local success = false for _, item in pairs(lastItems) do if item and key == (item.info?.serie or item.name) then success = true break end end if not success then self.Functions.RemoveWeapon(key) end end end function weaponCheck() Wait(100) self.Functions.CheckWeaponIsRemoved() local isMale = GetEntityModel(PlayerPedId()) == `mp_m_freemode_01` for _, item in pairs(lastItems) do if item then local isWeapon = string.find(string.lower(item.name), "weapon") debug(item.name .. " Check For Add Weapon", "isWeapon: " .. tostring(isWeapon)) if isWeapon then debug(item.name .. " Added") self.Functions.AddWeapon({ weapon = item.name, key = item.info?.serie or item.name, attachments = config.tgiann_attachments and getTgiannAttachments(item.info.tgiattachments, joaat(item.name)) or item.info?.attachments, playerJob = playerJob, isMale = isMale }) end end end end