


Was this page helpful?
| Dependency | Notes |
|---|---|
| ESX / QBCore | One framework required — set MBT.Framework to match |
| pma-voice or SaltyChat | Optional — only needed if you want voice proximity indicator |
| esx_status | Optional — ESX hunger/thirst integration (preset included) |
Download mbt_logo_hud from the MBT Store.
The folder must keep its resource name mbt_lhud:
resources/
└── [mbt]/
└── mbt_lhud/
├── client.lua
├── server.lua
├── config.lua
├── fxmanifest.lua
└── html/
├── index.html
├── assets/
│ ├── logo.png
│ └── weapons/
└── ...Drop your server logo into html/assets/ and update config.lua:
MBT.Preferences = {
Logo = {
["FileName"] = "logo.png", -- filename inside html/assets/
["Type"] = "Image", -- "Image" for PNG/GIF, "Video" for WebM
["Size"] = 120, -- size in px
},
...
}MBT.Framework = "ESX" -- or "QB"
MBT.ESXLegacy = true -- true = ESX Legacy, false = old ESX (ignored for QB)Set MBT.VoiceHandler to match your voice resource:
MBT.VoiceHandler = "pma" -- pma-voice
MBT.VoiceHandler = "saltychat" -- SaltyChat
MBT.VoiceHandler = false -- no voice resource; fill MBT.StatusRetriever.getMicStatus manuallyThe default preset uses esx_status. If you use a different system, replace the getHunger and getThirst functions in MBT.StatusRetriever:
MBT.StatusRetriever = {
["getHunger"] = function(playerPed)
-- return a number 0–100
end,
["getThirst"] = function(playerPed)
-- return a number 0–100
end,
}For QBCore, hunger/thirst are read automatically from .
ensure es_extended # or qb-core
ensure mbt_lhudJoin the server and press PAGEDOWN. The HUD bars should appear with your logo and all stat indicators. If nothing appears, check the F8 console for errors.
Run /hudmenu to open the drag editor — drag any element to confirm the settings menu is working. Press Save to persist positions.
To set a different default layout for all players, use the /getDefHudStyle admin command after positioning elements to your liking. It outputs a DefaultStyle table to your console that you can paste into config.lua.