Modules
The library is divided into useful modules
you can import into your resource through the export exports.boii_utils:get(...)
.
Available Modules
Below is a quick list of all current available modules and a brief description of what the module can do. For more detailed instructions on whats available in each module view 5-API-Reference.md
Bridges
Bridges allow seamless integration with multiple resources through a single API, reducing the need for writing framework-specific code. They detect available resources and route accordingly, making scripts more flexible and future-proof.
Framework Bridge: Supported by default;
"boii_core", "esx", "nd", "ox", "qb", "qbx"
.DrawText UI Bridge: Supported by default;
"default", "boii", "esx", "okok", "ox", "qb"
.Notifications Bridge: Supported by default;
"default", "boii", "esx", "okok", "ox", "qb"
.
Standalone Systems
These systems are designed to replace framework-locked features, allowing resources to function independently of any specific core. They also provide a solution for supporting servers that lack certain mechanics.
Callbacks: Unified callback system to replace framework-specific handlers.
Commands: Database-based command system with configurable permissions.
Item Registry: Standalone item system for managing usable items.
Licence System: Full licence handling, including theory/practical tests, points, and revocation.
Player XP: Levelling and experience system with growth factors and max levels.
Other Modules
Characters: A unique module covering everything related to character creation/customisation, including shared styles data.
Cooldowns: Allows for setting player-specific, resource-based, or global cooldowns throughout the game world.
Debugging: A set of useful debugging functions to aid development and troubleshooting.
Entities: Covers everything related to entities (NPCs, vehicles, objects) within the game world.
Environment: Functions to handle environmental elements such as time, weather, and simulated seasons.
Geometry: A suite of functions to simplify geometric calculations in both 2D and 3D space.
Keys: Provides a full static key list and functions for retrieving keys by name or value.
Maths: Extends base
math.
functionality with additional useful mathematical functions.Player: Includes various player-related functions such as retrieving the player's cardinal direction or playing animations with prop support.
Requests: Wrapper functions around CFX
Request
functions to simplify resource requests.Strings: Extends base
string.
functionality by adding additional helper functions.Tables: Enhances base
table.
functionality by providing additional utility functions.Timestamps: Handles everything related to server-side timestamps with formatted responses.
Vehicles: A comprehensive suite of vehicle-related functions, covering all aspects needed for a vehicle customization system.
Version: Provides resource version checking from an externally hosted
.json
file.
Importing Modules
To keep things more simple for end users all module importing is handled through exports. For example:
local CALLBACKS <const> = exports.boii_utils:get("modules.callbacks") -- Gets callbacks module
Using Modules
Once you have imported a module it is ready to be used.
Below is a quick example of using the callbacks
module.
Server
local CALLBACKS <const> = exports.boii_utils:get("modules.callbacks")
CALLBACKS.register("some_event_name", function(source, data, cb)
if source == 0 then
cb(false, "Callback must be triggered by a player!")
return
end
cb(true, "Callback successful!")
end)
Client
local CALLBACKS <const> = exports.boii_utils:get("modules.callbacks")
CALLBACKS.trigger("some_event_name", nil, function(success, message)
local success_text = success and "Success!" or "Failed!"
print(("Callback %s Message: %s"):format(success_text, message))
-- Output: "Callback Success! Message: Callback successful!" or "Callback Failed! Message: Callback must be triggered by a player!
end)
Available Modules
exports.boii_utils:get("modules.core") -- Framework Bridge
exports.boii_utils:get("modules.notifications") -- Notifications Bridge
exports.boii_utils:get("modules.drawtext") -- DrawText UI Bridge
exports.boii_utils:get("modules.callbacks") -- Callbacks System
exports.boii_utils:get("modules.characters") -- Character Customisation
exports.boii_utils:get("modules.commands") -- Commands System
exports.boii_utils:get("modules.debugging") -- Debugging Utilities
exports.boii_utils:get("modules.entities") -- Entity Management
exports.boii_utils:get("modules.environment") -- Environment Functions
exports.boii_utils:get("modules.geometry") -- Geometry Calculations
exports.boii_utils:get("modules.items") -- Item Registry
exports.boii_utils:get("modules.keys") -- Key Management
exports.boii_utils:get("modules.licences") -- Licence System
exports.boii_utils:get("modules.maths") -- Extended Maths Functions
exports.boii_utils:get("modules.methods") -- Attaching and triggering custom logic on events
exports.boii_utils:get("modules.player") -- Player Utilities
exports.boii_utils:get("modules.requests") -- Request Handlers
exports.boii_utils:get("modules.strings") -- Extended String Functions
exports.boii_utils:get("modules.tables") -- Extended Table Functions
exports.boii_utils:get("modules.timestamps") -- Timestamp Utilities
exports.boii_utils:get("modules.vehicles") -- Vehicle Management
exports.boii_utils:get("modules.version") -- Version Checking
exports.boii_utils:get("modules.xp") -- XP System
Last updated