I got two files on my server.
esx.lua (set to load first in the manifest)
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
drugs.lua
ESX.RegisterUsableItem('crack', function(source)
local player = ESX.GetPlayerFromId(source)
player.removeInventoryItem('crack', 1)
end)
server_scripts {
"server/esx.lua",
"server/drugs.lua",
-- other stuff removed
}
However, the callback is not being attached correctly. When I drag the crack item from my inventory hud to the use button, it shows as it can’t be used.
The item is registered correctly, and the ESX shared object works fine; it’s just the register part. Other resources work perfectly, just my resource doing this.
I’m using manifest version cerulean if it matters.