Documentation
  • 👋Introduction
  • 📚Guides
    • Useful Links
  • 🆓boii_utils
    • Installation
    • Configuration
    • Modules
    • API
      • Callbacks
      • Characters
      • Commands
      • Cooldowns
      • Debugging
      • Entities
      • Environment
      • Framework Bridge
      • Geometry
      • Items
      • Keys
      • Licences
      • Maths
      • Methods
      • Player
      • Requests
      • Strings
      • Tables
      • Timestamps
      • UI Bridges
      • Vehicles
      • Version
      • XP
      • UI Elements
Powered by GitBook
On this page
  • Available Modules
  • Bridges
  • Standalone Systems
  • Other Modules
  • Importing Modules
  • Using Modules
  • Server
  • Client
  • Available Modules
  1. boii_utils

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
PreviousConfigurationNextAPI

Last updated 1 month ago

🆓