Configuration is done in the
config.lua file located in the revo_hud directory. It is never locked by escrow, so you can edit it freely. Restart the resource after changing it.config.lua holds the server-wide settings. Each player’s own look (colors, styles, layout and sounds) is picked in the in-game menu, /hud, and saved on their PC. The options are grouped into seven numbered sections:
- Framework
- Customization, Branding and Presets
- Jobs and Vehicle Classes
- HUD Elements
- Vehicles
- Player Status and Effects
- Advanced
1. Framework
Framework
'auto': detects it for you (Qbox, then QBCore, then ESX)'qbox','qbcore','esx': force a framework'standalone': no framework
If nothing on your server supplies hunger or thirst, feed the bars with
exports['revo_hud']:setStatus (see Exports).
Visibility
waitForCharacter: wait for the framework to load a character before showing the HUD. On a custom framework, set this tofalseor callexports['revo_hud']:setCharacterLoaded(true)when the character loads.hideDuringScenes: step aside during fades, script cameras and cutscenes.ignoreScriptCameras: set totrueif a camera script is always on and the HUD never appears. The HUD may then show over appearance creators.settleMs: milliseconds the screen must stay clear before the HUD comes back.onboardingDelayMs: milliseconds before the first-join setup opens.
Speed Unit
'kmh' or 'mph'. Each player can switch in the menu.
Every speed value inside
config.lua is always in km/h, whatever unit players see.Language
'en', 'es', 'fr', 'de', 'pt-br', 'tr', 'pl', 'nl' or 'it'. Each player can pick their own in /hud > General > Language. See Customization to change a word or add a language.
Debug Mode
/revohud_debug command. Leave it off on a live server. See Troubleshooting.
2. Customization, Branding and Presets
Settings Command
Config.SettingsCommand: the command that opens the HUD settings menuConfig.SettingsAliases: other commands that open it too
Customization
allowPlayersToEditLayout: players can open Edit Mode and move elements.allowPlayersToEditSettings: players can change colors, styles and options. Whenfalse,/huddoes nothing for players.defaultPreset: the look new players start with, and what Reset Defaults restores. See the options below.forcePreset: re-applydefaultPreseton every join, overwriting players’ edits.adminAce: the ACE that marks staff.adminsBypassLocks: staff can still edit while players are locked out.
defaultPreset accepts:
- A built-in preset id:
'sleek-modern','white-blocks','aurora-minimal','toxic-horizon','tactical-chamfered','center-console','raid-frame','radar-dock','cockpit','halo','neon-vice','pit-wall','skyline','night-rack','wraparound','apex'or'triple-screen' - A name from
Config.Presets.custom - A
REVO1-...share code, copied from the Presets tab in game ''for the plain built-in layout
Staff are found by an ACE. Add it in
server.cfg: add_ace group.admin revo_hud.admin allowBranding
lockLogo: players cannot hide, move or resize it.adminsBypassLock: let staff move it anyway.defaultLogoSize: starting scale in percent (10 to 200).
Presets
enabled: turn preset sharing and the library on or off.showBundled: show the 17 built-in preset designs.allowPlayerPresets: players can save their own presets.label: the badge label (niluses your server name).custom: your own presets, added to every player’s list. Each entry is anameand aREVO1-...share code.
Onboarding
enabled: turn the wizard on or off.command: opens it again any time. Usefalseor''for no command.skin:'auto'matchesdefaultPreset, or force'standard'or'aurora'.steps: switch off any question thatdefaultPresetalready answers. With every step off, the wizard is skipped.look: a complete look (colors, styles and layout)theme: accent colorshape: minimap, round or squarestatus: status bar style
3. Jobs and Vehicle Classes
Nearly every feature in the config takes the sameaudience list, which decides who gets that feature. An empty list means everyone.
jobs/exceptJobs: a job name ('police'), a job type ('leo'), or a group name defined below.classes/exceptClasses: a vehicle class name or id.models/exceptModels: vehicle spawn names, such as'police3'.onDuty: set totrueand the job only counts while the player is clocked on.
Job Groups
groups: name a set of jobs once, then use the name in anyjobsorexceptJobslist.matchJobType: a job type ('leo','ems') matches as well as the job name.onDutyOnly: jobs only count while clocked on. ESX has no duty state.
4. HUD Elements
Components
/hud, but can never bring back what is off here.
PlayerHUD: the status barsVehicleHUD: speedometer, speed limit sign, drift counterMinimap,Compass,StreetName,WeaponHUD,CrosshairHealth,Armor,Hunger,Thirst,Stamina,Stress,Oxygen,Voice: the single status bars
GTA HUD Components
true means hidden), so they do not double up with this HUD. Set Config.HideGTAComponents = false to leave all of them alone.
Player Info
serverName: your server’s name, shown in setup and on the Presets tab.logoType:'image', or'text'to uselogoTextinstead.logoPath: a file inrevo_hud/html/dist/(capital letters count), or a fullhttps://link.logoText: the text logo, and the fallback if the image is missing.showDirtyMoney: shown only while the player carries any.showSociety: the job’s society balance, shown to its boss only.- All other
show...options toggle that line.
Money
esxCashAccount/esxBankAccount: ESX accounts inPlayerData.accounts.qbCashKey/qbBankKey: QBCore and Qbox keys inPlayerData.money.dirtyAccount: the ESX dirty money account.dirtyItem: the QBCore and Qbox dirty money item.'auto'usesmarkedbillson QBCore andblack_moneyon Qbox.societyBanking:'auto'tries each banking resource that is running (Renewed-Banking,qb-banking,qb-management,okokBanking,esx_addonaccount).bossGrades: ESX grades that are shown the society balance. QBCore and Qbox useisboss.
Minimap
defaultShape:'square'or'circle'. Players can change it.defaultVisibility:'always','vehicle'(only in vehicles) or'item'(only while carryingrequiredItem).requiredItem: the item for'item'visibility.itemCheckInterval: milliseconds between inventory checks for'item'visibility.mapStyle:'stock','postal'or'satellite'. The last two need a map pack, see Minimap styles.zoomLevel:1000is stock GTA V,1100is for the satellite or postal atlas.sizeScale: minimap size multiplier.
Big Map
command toggles it, key is an optional keybind (for example 'CAPS'), and hold = true makes the key expand the map only while held instead of toggling it.
Postals
file: the bundled postal grid.resource: read another resource instead, for example'nearest-postal'.exportName: that resource’s export.updateInterval: milliseconds between updates.
Keybind Hints
key is the default, but players see the key they bound. To show another resource’s keybind, add its command, for example command = 'emotes'.
Cruise control has no key bound by default (
Config.VehicleControls.cruiseControl.key = ''), although the hint shows CAPS. Set the cruise key to match, or remove the cruise hint.Notifications
/hud.
defaultDuration: milliseconds, for a notification that does not set one.overrideESX: showesx:showNotificationin the HUD’s style, whileesx_notifyis not running.overrideQBCore: showQBCore:Notifyin the HUD’s style. QBCore and Qbox draw it themselves, so turn this on only after removing theirs.bridgeLegacyEvents: pick up okokNotify, mythic_notify, pNotify and t-notify notifications while that script is not installed.suppressNativeFeed: hide GTA’s own feed above the radar.
- ESX
- QBCore
- Qbox
In
es_extended/client/functions.lua:primary and Qbox’s inform show as info. Your own scripts can send notifications too, see Exports.
Voice
Config.VoiceSystem:'pma-voice','saltychat','mumble-voip'or'none'.mode:'auto'works out push to talk or open mic from play, or force'ptt'or'open'.showKey: for push to talk, show the key to hold beside the mic.key: the key shown if the game does not name it.hideWhenOff: hide the mic while voice chat is off (falseshows it crossed out).Config.VoiceRanges: maps each voice range in meters to the bar fill and the label shown.
Cinematic Mode
/cinematic toggles black bars with the HUD hidden. You can also add a key to the table to give it a keybind.
Crosshair
/hud. hideGameReticle hides GTA’s own reticle while it is up.
5. Vehicles
Fuel
'auto' finds a running fuel script, and 'native' reads the game’s own level. Supported: ox_fuel, LegacyFuel, cdn-fuel, ps-fuel, lj-fuel, okokGasStation, qs-fuelstations and lc_fuel. Any resource with a GetFuel(vehicle) export also works by name.
Seatbelt
key: the default key. Players can rebind it.ejectSpeed: km/h above which an unbelted driver can go through the windscreen.warning: remind a driver who is not buckled up.warningInterval: milliseconds between reminders.warningSpeed: km/h, only remind once the car is moving.sound: buckle and unbuckle sound.audience: who has to buckle up.
Harness
defaultTier:0means no harness is fitted.ejectChance: chance of ejection (0 to 1).speedBonus: extra km/h needed before ejection can happen.
exports['revo_hud']:setHarnessTier(tier).
Crash Impact
preset sets how hard a hit must be to count and how strong the effects are:
Each entry in
effects is true (every crash), false (never), or the lightest crash it appears at: 'light', 'medium' or 'heavy'.
cameraShake: the camera jolts on impact.blur: vision blurs and pushes in.darkEdges: the screen darkens from the side that was hit.earRinging: ears ring after a heavy crash.muffle: world sounds go quiet while the ears ring.heartbeat: a heartbeat after a heavy crash.ragdoll: an unbelted driver is thrown about on heavy crashes.ejection: an unbelted driver can go through the windscreen.
volume: crash sounds (0.0 to 1.0). Each player’s own audio setting applies on top.seatbelt: a belt makes crashes one level lighter, no belt one level heavier.headOnOnly: only head-on crashes can be heavy or eject. Side and rear stay medium at most.
Engine Toggle and Boat Anchor
Vehicle Controls
commandandkey: the command and default key that open the panel.audience: who can open it. Empty means everyone, for examplejobs = { 'mechanic' }.show: which controls it offers. Set any tofalseto remove that control.doors: doors, hood and trunkroof: convertiblesindicators: left, hazards and rightseatbelt: belt and harnesscruise,limiter,transmission: need their own feature to be enabledlandingGear: aircraftanchor: boatsseats: move to a free seatlights: headlights off, low or highambience: the Lights page (underglow, headlight colour, cabin light)extras: vehicle extras such as light bars and rackslivery: livery, where the car has more than one
seatSwap.maxSpeed: km/h, above this a player stays in their seat.seatSwap.allowDriverSeat: passengers may climb into a free driver’s seat.ambience.requireNeonKit:truemeans underglow only works on cars that had neon fitted at a tuning shop.ambience.headlightColours: fit xenon for free when a headlight color is picked (falsehides the colors).ambience.effects: Breathe, pulse, rainbow and flash effects.extrasMinBodyHealth: toggling an extra repairs the car, so it is refused below this body health (0 to 1000).cruiseControl:minSpeedis the km/h needed to engage, andkeyis an optional keybind.speedLimiter: themin,max,defaultandstepof the limiter in km/h.
Media Player
controls: who can change what plays:'driver','front'(driver and front passenger) or'anyone'.distance: meters the sound carries outside the car.maxVolume: the loudest the car can be set (0 to 100).defaultVolume: the starting volume.closedCarVolume: volume heard from outside with the doors and windows shut (0 to 1).otherCarVolume: volume heard from inside a different vehicle (0 to 1).maxQueue: the maximum queue length.allowStreams: also allow directhttpsaudio links (radio,.mp3). Off by default, because listeners’ games fetch the link, so its host sees their IP addresses.audience: which vehicles have a media player. Empty means all.
Quick Pins
presets are shared with everyone and cannot be deleted.
maxPins: how many pins a player can save.presets: your shared places as{ label, x, y }. Leave it empty for none.
Manual Transmission
defaultOn: new drivers start in manual.command: the command that switches manual on and off.toggleKey: an optional keybind to switch manual on and off.shiftUpKey/shiftDownKey: the default shift keys.gearSpeedLimits: each gear tops out at a realistic speed.autoDownshiftOnStop: drop to 1st gear on a full stop.preventBrakeReverse: holding the brake in a forward gear stops the car without reversing.
Nitrous
fitting: how a car gets a kit.'item': players fit one withkitItem'all': every car comes with a kit, no items needed'export': only your own scripts fit kits
refill: how the bottle fills again.'item':bottleItemswaps in a full one'recharge': it refills itself after a pause
kitItem/bottleItem: the item names.fitTime/refillTime: milliseconds to fit a kit or swap a bottle.driveBoost: set tofalseif another nitrous script runs the boost and the HUD should only show its gauge (seeexports['revo_hud']:setNitro).
key: hold to boost.purgeKey: hold to purge.flowKey: step the flow through stage 1, 2 and 3 (''for no key).command: the base name of the key commands.
drainRate: percent of the bottle used per second while boosting (stage 1).purgeDrain: percent per second while purging.maxBurnTime: milliseconds of continuous boost before it overheats (0means never).cooldown: milliseconds locked out after overheating.overheatDamage: engine damage when it overheats (engine health is 1000). Use0for none.minSpeed: km/h needed to engage.rechargeRate: percent per second ('recharge'only).rechargeDelay: milliseconds after use before it recharges ('recharge'only).
exhaustFlames,lightTrails(tail-light trails),purgeSmoke,purgeColour(for example'#8FD6FF'for an icy blue).screenSpeedFx: the driver’s screen while boosting, made ofmotionBlur(withmotionBlurStrength, 0.1 to 1.0),colorEffect(yellow color grading) andcameraShake(withshakeAmount).nativeAudio(GTA’s boost sound),purgeAudio(blow-off hiss) andexhaustPops.
allowElectric: an electric car has no bottle to fit, so it gets no gauge and no boost unless this istrue.audience: who may fit and use nitrous.
Drift
minAngle: degrees of slide before scoring starts.minSpeed: km/h needed to score.breakTime: milliseconds between slides before the combo is lost.comboStep: milliseconds of drifting per combo step.maxCombo: highest multiplier.scoreRate: points per degree per tick.showBest: show the best run beside the live score.saveBest: keep the best run per character, across restarts and relogs.audience: who scores drifts. Empty means everyone.
Speed Limits
signStyle:'US','EU','AU'or'Minimal'. Players can change it.default: the limit in km/h where no zone below matches.flashOver: km/h over the limit before the sign warns.zones: the limit in km/h for each GTA zone name. The default config already lists many city and rural zones, so add or change entries to suit your server.
Electric Vehicles
Trains
6. Player Status and Effects
Stress
0 turns that source off.
preset scales every number:
What adds stress
speeding: added every 10 seconds aboveminSpeedUnbuckled(without a seatbelt) orminSpeedBuckled(with one), in km/h.shooting: added per shot, withshootingChanceof happening.gettingHurt: each time the player is hurt (at most every 3 seconds).killing: each person the player kills.crashMedium/crashHeavy: medium and heavy crashes (seeConfig.CrashImpact).exceptWeapons: firing these weapons never adds stress.
calmAfter seconds, stress drops every reliefEvery seconds by an amount that depends on what they are doing.
reliefResting: standing still, sitting, a passenger, or parked.reliefDriving: driving.reliefWalking: walking unarmed (running gives none).reliefFood/reliefDrink: a serving that puts back at leastmealMinpoints of food or water.
hud:server:RelieveStress event or exports['revo_hud']:RelieveStress(amount).
Who gains stress
audience: by default, emergency services on the job do not gain stress, and the vehicle classes only stop speeding and crash stress.jobMultipliers: less stress for jobs that still gain it (name, type or group).
/hud)
vignetteAt: a soft dark edge starts at this stress level.blurAt: short blurs, every 60 seconds here and every 15 seconds at 100.shakeAt: the camera shakes through each blur.collapseAt: on foot, the player stumbles to the ground and blacks out.
Status Effects
audioMode:'hybrid'(GTA’s own voice lines plus HUD sounds),'native'(GTA’s voice lines only) or'dsp'(HUD sounds only).hunger: belowthresholdpercent food, a stomach rumble and a slight sway.repeatIntervalanddizzyDurationare in milliseconds.thirst: belowthresholdpercent water, a dry cough and heat shimmer.oxygen: belowthresholdpercent air left underwater, suffocation effects start.injury:healthThreshold: below this health percent the player limps.detectLimbHits: also limp after being shot in the legs.painInterval: milliseconds between pain sounds while hurt.bloodOnHit: blood on the screen when hit, from the side it came from.lowHealthVision: below 25 percent health, the edges dim with the heartbeat and blood gathers on the lens.
Alerts
sounds: alert sounds.rearm: percent a value must recover before it can alert again.- Each alert in
listhasenabled,threshold,repeatInterval(milliseconds,0for once),type(the notification style, such as'error'or'warning') andmessage. inverted: alert when the value rises above the threshold instead of below.vehicleOnly: alert only while in a vehicle.
7. Advanced
The defaults suit almost every server.Config.StatusSource: where hunger, thirst and stress come from:'auto','esx_status'or'metadata'(QBCore and Qbox player metadata).Config.StaminaSource: where stamina comes from:'auto'(sprint stamina),'esx_status','metadata'or'native'.Config.HideUnfedStatuses: hide the hunger and thirst bars when nothing on the server supplies them. Set tofalseto show them anyway.Config.UpdateInterval: how often the status and vehicle readings update, in milliseconds. Lower is more responsive and costs more CPU.200is smooth and light, and100is the most responsive. The gauges animate between updates, so values up to about250stay smooth.Config.SlowInterval: how often the street name, compass, time and weather update, in milliseconds.