DirkScripts
Getting Started
#π Quick Start
To get started, simply ensure dirk_lib is started after your framework, inventory, and targeting resources.
Thereβs no complex setupβdirk_lib will automatically detect supported resources and apply the correct bridging logic for your setup.
properties# Example Start Order ensure qb-core ensure ox_inventory ensure ox_target ensure dirk_lib
No extra config neededβjust ensure the dependencies are started before dirk_lib.
#βοΈ Server Variables (Convars)
You can customize dirk_lib using server variables (ConVars). Most bridges are auto-detected, so you only need a small base config to get started.
βΉοΈ π‘ Tip:
- Create a file called dirk_lib.cfg this will stop your actual server.cfg getting too clogged.
- Then just do exec dirk_lib.cfg somewhere in your server.cfg before dirk_lib starts.
properties# Base config (recommended minimum) setr dirk_lib:language en setr dirk_lib:currency $ setr dirk_lib:serverName DirkRP
#Auto-Detect vs Manual Override
By default, dirk_lib auto-detects your framework/inventory/target and other supported bridge resources.
You only need manual overrides if:
- you run multiple supported resources and want to force one
- auto-detection selects a different resource than you want
- you use custom naming/layout and want explicit control
properties# Optional overrides (only set what you want to force) setr dirk_lib:framework qbx_core setr dirk_lib:inventory dirk_inventory setr dirk_lib:target ox_target setr dirk_lib:itemImgPath nui://dirk_inventory/web/images/ setr dirk_lib:primaryIdentifier license
#Theme Colors
Theme colors apply across DirkScripts UIs that use dirk_lib theming. Setting these lets you replace the default green Dirk theme globally with your own brand/theme.
You can use either:
- a Mantine theme color name (
blue,grape,teal, etc.) - a fully custom palette (
customTheme) with 10 shades
properties# Mantine-based theme setr dirk_lib:primaryColor dirk # or another Mantine color name setr dirk_lib:primaryShade 9 # 0-9 (0 = lightest, 9 = darkest) # Custom palette (use when primaryColor is custom) setr dirk_lib:primaryColor custom setr dirk_lib:customTheme [ "#e5f8ff", "#d0ecff", "#a0d7fc", "#6dc1fa", "#47aef9", "#32a2f9", "#259cfa", "#1888df", "#0179c8", "#0068b1" ] # Optional branding extras setr dirk_lib:logo https://via.placeholder.com/150
Useful references:
- Mantine colors: https://mantine.dev/theming/colors/#default-colors β
- Mantine palette generator: https://mantine.dev/colors-generator/?color=7b36b5 β
#Developers
To get started with lib, include the shared script within your resource's fxmanifest.lua
luashared_scripts { '@dirk_lib/init.lua' }
You are able to select modules to be loaded, however they will also dynamically import. This can be done via the dirk_libsmanifest option
luadirk_libs { 'math', 'objects' }
#Supported Resources
dirk_lib supports two kinds of integration:
- Bridge systems: resources with dedicated bridge implementations in
dirk_lib/bridge/* - Autodetected integrations: resources detected from
src/autodetect.luathat can be selected automatically or forced via ConVars
#Bridge Systems
These systems currently have concrete bridge folders inside dirk_lib/bridge.
| System | Supported Resources |
|---|---|
| Framework | es_extended, pork_core, qb-core, qbx_core |
| Inventory | codem-inventory, dirk_inventory, ox_inventory, qb-inventory, qs-inventory, tgiann_inventory |
| Target | ox_target, qb-target, qtarget |
| Interact | interact, sleepless_interact |
| Time / Weather | av_weather, cd_easytime, qb-weathersync, Renewed-Weathersync, vSync |
| Keys | cd_garage, MrNewbVehicleKeys, okokGarage, qb-vehiclekeys, qbx_vehiclekeys, qs-vehiclekeys, Renewed-Vehiclekeys, t1ger_keys, vehicles_keys, wasabi_carlock |
| Fuel | cdn-fuel, LegacyFuel, okokGasStation, ox_fuel, ps-fuel, Renewed-Fuel, ti_fuel, x-fuel |
| Clothing / Appearance | dirk_charCreator, esx_skin, illenium-appearance, qb-clothing, rcore_clothing, tgiann-clothing |
#Other Autodetected Integrations
These names are present in src/autodetect.lua and can be auto-selected or manually overridden via ConVars.
| System | Autodetect Targets |
|---|---|
| Framework | es_extended, qbx_core, qb-core, nd-framework, pork_core |
| Inventory | dirk_inventory, ox_inventory, qb-inventory, qs-inventory, codem-inventory, tgiann_inventory, mf-inventory, core_inventory |
| Target | ox_target, qb-target, q-target, bt-target |
| Interact | redm-uiprompt, sleepless_interact, interact |
| Time / Weather | av_weather, cd_easytime, qb-weathersync, Renewed-Weathersync, vSync, wasabi_wheather |
| Keys | cd_garage, MrNewbVehicleKeys, t1ger_keys, okokGarage, qb-vehiclekeys, qbx_vehiclekeys, qs-vehiclekeys, Renewed-Vehiclekeys, vehicles_keys, wasabi_carlock, ludaro-keys |
| Fuel | cdn-fuel, LegacyFuel, ox_fuel, ps-fuel, Renewed-Fuel, ti_fuel, x-fuel, wasabi_fuel, okokGasStation |
| Phone | lb-phone, qb-phone, gksphone, high-phone, npwd |
| Garage | qb-garages, wasabi_garage, renewed-garage |
| Clothing / Appearance | esx_skin, qb-clothing, rcore_clothing, illenium-appearance, fivem-appearance, dirk_charCreator, tgiann_clothing |
| Ambulance | qb-ambulancejob, wasabi_ambulance, core_ambulance |
| Prison | qb-prison, rcore_prison, wasabi_jail |
| Dispatch | bub_mdt, cd_dispatch, linden_outlawalert, qs_dispatch, ps-dispatch, tk_dispatch |
| Skills | sd_skills, evolent_skills, core_skills, B1-skillz, skill_system_v1.5, skillsystem_v3, boii_skills, skillsystem_v2, ot_skill_system |
| Housing | qs-housing, bcs_housing |
βΉοΈ If you want to force a specific integration instead of relying on autodetect, set the matching ConVar such as dirk_lib:framework, dirk_lib:inventory, dirk_lib:target, dirk_lib:time, dirk_lib:keys, or dirk_lib:fuel.
β οΈ This list is based on the current dirk_lib source. Autodetect targets and concrete bridge folders are not always identical, so if you are forcing an override, use a resource name that matches the current source for your version.
