1
0
Fork 0
forked from Simnation/Main
This commit is contained in:
Nordi98 2025-07-11 12:35:12 +02:00
parent 69aaef7d8c
commit 961260f3f5
2 changed files with 15 additions and 16 deletions

View file

@ -17,25 +17,27 @@ local function HasItem(itemName, callback)
return
end
-- Create a unique event name for this check
local uniqueEventName = 'nightvision:itemCheckResult:' .. math.random(100000, 999999)
-- Set up the callback
local callbackRegistered = false
local eventHandler = RegisterNetEvent('nightvision:itemCheckResult', function(checkedItem, hasItem)
if checkedItem == itemName then
itemCheckCache[itemName] = hasItem
lastCheckTime[itemName] = GetGameTimer()
callback(hasItem)
callbackRegistered = true
RemoveEventHandler(eventHandler)
end
-- Register the event handler
local eventHandler = RegisterNetEvent(uniqueEventName)
AddEventHandler(uniqueEventName, function(hasItem)
itemCheckCache[itemName] = hasItem
lastCheckTime[itemName] = GetGameTimer()
callback(hasItem)
callbackRegistered = true
end)
-- Request the check from server
TriggerServerEvent('nightvision:checkItem', itemName)
-- Request the check from server with our unique event name
TriggerServerEvent('nightvision:checkItem', itemName, uniqueEventName)
-- Set a timeout to prevent hanging if something goes wrong
SetTimeout(1000, function()
if not callbackRegistered then
RemoveEventHandler(eventHandler)
callback(false)
end
end)
@ -247,6 +249,3 @@ end)
RegisterNetEvent('nightvision:toggleHelmet', function()
TriggerEvent('nightvision:toggleGlasses', 'nightvision')
end)
-- Register event handler for item check results
RegisterNetEvent('nightvision:itemCheckResult')

View file

@ -15,10 +15,10 @@ local function HasItem(source, itemName)
end
-- Event for client to check if player has an item
RegisterNetEvent('nightvision:checkItem', function(itemName)
RegisterNetEvent('nightvision:checkItem', function(itemName, callbackEvent)
local src = source
local hasItem = HasItem(src, itemName)
TriggerClientEvent('nightvision:itemCheckResult', src, itemName, hasItem)
TriggerClientEvent(callbackEvent, src, hasItem)
end)
-- Register usable items