Installation
This page takes you from the downloaded archive to a running HUD. It takes about five minutes; the only setting you must check is the owned-vehicles table used by nitro.
Requirements
| Resource | Required | What the HUD uses it for |
|---|---|---|
| koja-lib | Yes | Framework detection, player data, money, fuel, inventory, key binds, callbacks |
| oxmysql | Yes | Reading and saving nitro per vehicle |
| A framework | Yes | ESX (es_extended), QBCore (qb-core), QBox (qbx_core) or ox_core |
| pma-voice | No | The voice range bar. Without it the bar does not change |
esx_status | ESX only | Hunger and thirst on ESX |
ox_fuel or LegacyFuel | No | Fuel level. Without either, the native fuel level is shown |
Install
-
Put the resource in
Unpack the archive and keep the folder nameresourceskoja-hud.
The folder name is the resource name. Other resources callresources/ └── [koja]/ ├── koja-lib/ └── koja-hud/exports['koja-hud'], so renaming the folder breaks every export call — silently. -
Add it to
Start it after its dependencies:server.cfgserver.cfgensure oxmysql ensure koja-lib ensure koja-hud -
Point nitro at your owned-vehicles table
Openeditable/shared/config.luaand set the table that stores player vehicles:editable/shared/config.luaKOJA.Nitro = { -- ... Tables = { GaragesTable = 'owned_vehicles', -- ESX OwnerColumn = 'owner' }, }
The HUD adds aFramework GaragesTableOwnerColumnESX owned_vehiclesownerQBCore / QBox player_vehiclescitizenidnitrocolumn to that table on start. If you do not want nitro at all, setKOJA.Nitro.Enabled = falseinstead — the server side then does nothing. -
Restart the server
Restart the server, or runensure koja-hudin the server console. Thenitrocolumn is created as soon asoxmysqlconnects.
Check that it works
- Join the server. The status bars appear about a second after your character has loaded.
- Type
/settingsin chat. The settings menu opens. - Get in a vehicle. The speedometer appears and the minimap switches on.
To test notifications, the progress bar and the text UI without writing code, set KOJA.Debug = true and restart the resource — it registers /testnotify, /testprogress, /testtextui and /hidetextui.
Turn it off again before going live.
Next steps
- Configuration — keys, notifications, minimap, watermark and refresh rates.
- Player settings — the defaults new players get, your Discord link and logo.
- Troubleshooting — if something above did not happen.