Realised that if using older (and custom) versions of qbox, the item list can't be retrieved through `GetCoreObject()`
This fixes that and also (if needed) grabs the item lists from inventories directly if needed
This was my bad, set up functions that requested the cache from server, didn't realise it was duplicating it and spamming it
This moves the requests to a separate file and uses an export instead
Also hopefully fixes ox_lib images being an arse
using the function to grab slot info, this can now check if you have enough inventory slots for items to be given, allowing it to check before TRYING to add them
People were reporting issues with scripts claiming items didn't exist, I believe this was due to their servers having slot starts (eg. alot of clothes or vehicles being loaded)
I've rewritten it to fully delay loading until everything is correctly cached and let the scripts continue. Also hopefully reducing memory footprint for it too.
---
Also slipped in an `experimental` function that grabs inventory config files to check their set InventoryWeight and InventorySlots to automatically apply it for other functions
---
Moves Auth Token stuff to separate file because it doesn't really need to be in `itemcontrol.lua`
Helps me keep track of it better too
Also added a "cooldown" to workaround people's multicharacter scripts claiming the players loaded more than once and breaking it
I forgot that it needed to check the client side too for the change, but I set it to check for a server only export
got lucky and realised `HasItem` is an export on both client and server
If `jim_bridge` attempts to find shared files, and it returns `nil` it will print an error message stating it couldn't find them.
So..people can stop blaming me for my script not working when its an error in their vehicles.lua