Changes:
- Crafting prop not spawning
- Crafting "sound" not playing
- `SingleProgress` is now "one progressbar"
I'm working on refactoring crafting table's layout style too
I'm updating my scripts crafting recipes to a new format, this commit basically makes use of it and makes it slightly easier to edit later if needed
It *should* increase readability and users ability to edit these recipes
# "old style" crafting recipes should still be compatible thanks to a wrapper I added so you shouldn't notice a difference.
This allows per framework stress functions to be set, including ESX
For ESX the math is done in this function as their values are insanely high instead of 0 - 100
Realised it wasn't doing the math to take the correct amount of required items, so this fixes it
also if `SingleProgress` is enabled, it won't show the "Ingredient Progress bars" any more
`esx_society` requires societies to be registered manually before opening. this forces it
also adds full support for charging, funding and retrieving balances in `esx_society`
This is a continuation from an earlier commit
- If something is attempted to be opened without correctly registered coordinates, (most likely being called outside the script), refuse it
- If the player isn't close enough to the registered coords, refuse it
Basically, built-in distance based exploit protection for shops/stashes/sellShops
Add a cooldown to workaround certain multicharacter scripts triggering events like `QBCore:Client:OnPlayerLoaded` more than once and duplicating targets when a player connected
Tidy up `createTempCam()`
Add `loadLocation()` and `clearLoadLocation()` functions
Add `renderTime` variable for `stopTempCam()`
Add wrapper functions for each one (for my own sanity):
`createCam()` = `createTempCam()`
`startCam()` = `startTempCam()`
`stopTempCam()` = `stopTempCam()`