Major refactor to centralize QBCore and replace the web UI stack:
- Move QBConfig into a unified QBCore.Config and initialize QBCore.PlayerData; add shared/functions.lua.
- Remove legacy client/main.lua and server/main.lua exports and update fxmanifest to include shared/functions and drop those main scripts.
- Update client event handling: adapt player data events to QBCore:Client:OnPlayerUpdated and trigger job/gang update events; remove deprecated exploitable handlers.
- Web UI rewrite: remove Vue/Quasar dependency and config module; implement a lightweight vanilla JS notification system (html/js/app.js) with updated html and css assets, plus drawtext tweaks.
- CSS overhaul for notification styling and animations; HTML head/meta/font cleanup.
- Server fixes: use QBCore.Shared.Locations in teleport command and strengthen numeric parsing/validation for coords.
- Add .gitattributes for consistent text/eol handling and small code cleanups (thread/comment removal).
These changes consolidate config/shared logic under QBCore, simplify the frontend dependencies, and fix a few parsing/event issues.
* Update; Location of starter items
Moved the starter items to near top of the file - commonly searched for, and would be expected at top of the file
* Bump
---------
Co-authored-by: zwkf <dev@charlie.fyi>
* Update vehicles.lua
Remove the space after this, as when somebody tries to pull it out, it will break PDM due to the space in the model hash.
* Bump version number
Co-authored-by: zwkf <dev@charlie.fyi>
-Replaces old notification system but is also backwards compatible so no changes necessary
- Now allows for the use of sending a table with text and caption
- Can add as many types of notifications as wanted/needed
- Configure position and icons in app,js (google icons or fontawesome)
- Major cleanup of all files including reformatting & notations
- Added an optional export to add to scripts as an alternative to import.lua
- Added player state to OnPlayerLoaded so no more need for isLoggedIn inside scripts
- Updated all events to the new RegisterNetEvent and got rid of unneeded handlers
- Added the ability for ACE permissions with commands
- Added two new config options for player update interval and status update
- Changed players table to use citizenid column as primary key <-- very important
- Overall sloppy code cleanup, removal of unused code, got rid of nil checks
This version includes improved changes to GC, better pseudo-randomness with `math.random()` (no longer requiring a seed to display even an ounce of randomness), and `const` keyword for all the immutable fellas out there.