Dokumentation

Pepper HUD

Cleanes, modernes HUD mit 3 Stilen und Ingame-Editor – ESX & QBCore.

Überblick

Pepper HUD zeigt alles, was Spieler brauchen – Status, Geld, Job, Kompass, Munition und einen Tacho mit Gurt und Tempomat. Jeder Spieler richtet es über /hud selbst ein: Stil (Ringe, Balken, Pillen), Farben, Größe, sichtbare Elemente und Position. Gespeichert wird lokal pro Spieler, eine Datenbank ist nicht nötig.

Features

  • 3 umschaltbare Stile – Ringe, Balken und Pillen
  • Ingame-Menü /hud mit Live-Vorschau: Stil, Akzentfarbe, Farbmodus, Größe, Deckkraft, jedes Element ein-/ausschaltbar
  • Elemente mit der Maus frei verschieben, gespeichert pro Spieler
  • Leben, Rüstung, Hunger, Durst, Ausdauer, Sauerstoff, Sprachchat (pma-voice und SaltyChat) inklusive Funk
  • Bargeld, Bank, Schwarzgeld (ESX) mit Plus/Minus-Animation, Job und Rang, Spieler-ID, Uhrzeit
  • Kompass mit Straße und Gebiet, Munitionsanzeige
  • Tacho mit Drehzahl, Gang, Tank, Motorzustand, Licht und Verriegelung (km/h oder mph)
  • Gurt mit Herausschleudern bei Unfällen und Tempomat
  • Kinomodus und eckige oder runde Minimap
  • Anzeige nur bei Bedarf (z. B. Rüstung nur, wenn du welche hast)
  • Optional (ab der nächsten Version, im Code schon enthalten): Wetter und Temperatur mit Pepper Weather, Sauberkeit der Kleidung mit Pepper Laundry
  • Sendet nur geänderte Werte an die Oberfläche
  • Deutsch und Englisch; Config, Locales und Framework-Bridge offen

Voraussetzungen

Abhängigkeit Pflicht/optional Wofür Link
FiveM-Server-Build 7290 oder neuer Pflicht Steht als Abhängigkeit im fxmanifest.lua (/server:7290) https://runtime.fivem.net/artifacts/fivem/
ESX Legacy oder QBCore Pflicht für Geld, Job, Hunger und Durst Ohne Framework läuft das HUD nur mit Leben, Rüstung, Fahrzeug usw. https://github.com/esx-framework/esx_core · https://github.com/qbcore-framework/qb-core
esx_status (nur ESX) Pflicht für Hunger/Durst unter ESX Liefert Hunger und Durst –
pma-voice oder SaltyChat optional Sprachreichweite, Sprechen, Funk – wird automatisch erkannt https://github.com/AvarianKnight/pma-voice
Tank-Script (ox_fuel, LegacyFuel, cdn-fuel, ps-fuel …) optional Tankanzeige über Config.GetFuel –
Pepper Weather / Pepper Laundry optional (ab der nächsten Version) Wetter-Anzeige bzw. Kleidungs-Anzeige; ohne die Ressource bleibt sie unsichtbar –
OneSync nicht nötig – –
Datenbank, ox_lib nicht nötig Einstellungen speichert jeder Spieler lokal (KVP) –

Installation

  1. Ressource aus dem Cfx.re Portal (https://portal.cfx.re/assets/granted-assets) herunterladen.
  2. Nach resources/[pepper]/pepper_hud entpacken. Den Ordnernamen pepper_hud nicht umbenennen – Escrow und Exports (exports.pepper_hud:…) hängen am Namen.
  3. In der server.cfg nach dem Framework (und ggf. Voice- und Tank-Script) starten:
    ensure es_extended   # bzw. qb-core
    ensure esx_status    # nur ESX
    ensure pma-voice     # optional
    ensure pepper_hud
    
  4. Andere HUDs deaktivieren (esx_hud, qb-hud, ps-hud …), sonst überlagern sich zwei HUDs.
  5. Nur QBCore: Gurt/Tempomat aus qb-smallresources abschalten oder Config.Seatbelt.enabled / Config.Cruise.enabled auf false setzen.
  6. Englische Texte: Config.Locale = 'en' in config/config.lua. Eine Datenbank oder Items gibt es nicht.

Erster Test

  1. Einloggen – unten erscheinen Status-Anzeigen, oben rechts Geld, Job, ID und Uhrzeit.
  2. /hud eingeben: Stil auf Balken umstellen und eine andere Akzentfarbe wählen – die Vorschau ändert sich sofort.
  3. In ein Auto steigen und B drücken (Gurt-Klick), dann ab 30 km/h Y für den Tempomat; Bremsen beendet ihn.
  4. /cinema eingeben – HUD und Minimap verschwinden, schwarze Balken erscheinen; noch einmal /cinema zum Beenden.
  5. Nach einem Reconnect sind deine /hud-Einstellungen noch da.

Konfiguration

Datei Steuert
config/config.lua Server-Vorgaben: Sprache, Framework, Währung, Befehle/Tasten, Gurt, Tempomat, Minimap, Tank, Voice, Uhr, Intervalle, Menü-Rechte, Startwerte, Farben
locales/de.json, locales/en.json Alle Texte; weitere Sprachen als locales/<code>.json
bridge/client/esx.lua, qbcore.lua, standalone.lua Anbindung an Geld, Job und Status – hier eigene Systeme anbinden
bridge/detect.lua Framework-Erkennung

Das sind Server-Vorgaben – vieles davon können Spieler über /hud für sich ändern (lokal auf ihrem PC gespeichert, pro Server). Neue Spieler starten mit Config.Defaults.

Allgemein

Option Standard Beschreibung
Config.Locale 'de' Sprache: 'de' oder 'en'
Config.Framework 'auto' 'auto', 'esx' oder 'qbcore'
Config.Debug false Debug-Ausgaben
Config.Voice 'auto' 'auto', 'pma-voice', 'saltychat' oder 'none'
Config.Clock 'real' 'real' (Uhrzeit des Spielers) oder 'game' (Spielzeit)
Config.ServerName '' Optionaler Servername oben rechts (leer = aus)
Config.Currency symbol = '$', position = 'before', locale = 'en-US' Währungssymbol, davor/dahinter, Zahlenformat (z. B. 'de-DE')

Befehle und Tasten

Config.Commands = { menu = 'hud', cinema = 'cinema', seatbelt = 'seatbelt', cruise = 'cruise' }
Config.Keys = { seatbelt = 'B', cruise = 'Y', cinema = '' }

Die Tasten sind Standardwerte; Spieler ändern sie unter Einstellungen → Tastenbelegung → FiveM.

Gurt und Tempomat

Option Standard Beschreibung
Config.Seatbelt.enabled true false, wenn du ein anderes Gurt-Script nutzt
Config.Seatbelt.ejectSpeed 90 km/h – ab hier wird man ohne Gurt bei einem Aufprall herausgeschleudert
Config.Seatbelt.ejectDamage 20 Schaden beim Herausschleudern (0 = keiner)
Config.Seatbelt.lockExit true Angeschnallt erst nach dem Abschnallen aussteigen
Config.Seatbelt.warnSpeed 20 km/h – ab hier blinkt das Gurt-Symbol, wenn nicht angeschnallt
Config.Seatbelt.sounds true Klick-Geräusch beim An-/Abschnallen
Config.Cruise.enabled true Tempomat an/aus
Config.Cruise.minSpeed 30 km/h – darunter lässt er sich nicht einschalten

Minimap, Tank und Leistung

Config.GetFuel = function(vehicle)
    local state = Entity(vehicle).state.fuel
    if type(state) == 'number' then return state end
    return GetVehicleFuelLevel(vehicle)
end
Option Standard Beschreibung
Config.Minimap.managed true false = das HUD verändert die Minimap gar nicht (wenn ein anderes Script sie steuert)
Config.Minimap.hideHealthBars true Blendet die GTA-Balken für Leben/Rüstung unter der Minimap aus
Config.GetFuel State Bag fuel oder GTA-Wert Liefert den Tankstand 0–100; für dein Tank-Script anpassen, z. B. return exports['LegacyFuel']:GetFuel(vehicle)
Config.Intervals onFoot = 250, vehicle = 60 Aktualisierung in ms – kleiner = flüssiger, aber mehr Last
Config.HideDefaultHud { 3, 4, 6, 7, 8, 9, 13 } GTA-Standard-HUD-Elemente, die ausgeblendet werden

Menü-Rechte und Startwerte

Option Standard Beschreibung
Config.Menu.enabled true Menü /hud an/aus
Config.Menu.allowStyle / allowColors / allowLayout true Dürfen Spieler Stil, Farben bzw. Position ändern? Gesperrtes wird auf die Vorgabe gesetzt
Config.Defaults.style 'rings' 'rings', 'bars' oder 'pills'
Config.Defaults.accent '#e5484d' Akzentfarbe (Hex)
Config.Defaults.colorMode 'colored' 'colored', 'accent' oder 'mono'
Config.Defaults.scale / opacity 1.0 / 1.0 Größe 0,7–1,4, Deckkraft 0,4–1,0
Config.Defaults.speedUnit 'kmh' 'kmh' oder 'mph'
Config.Defaults.minimapShape 'square' 'square' oder 'circle'
Config.Defaults.minimapOnlyInVehicle false Minimap nur im Fahrzeug
Config.Defaults.show alle an Sichtbare Elemente (u. a. laundry, weather)
Config.Defaults.dynamic Rüstung, Ausdauer Elemente, die nur bei Bedarf erscheinen
Config.Defaults.cinemaBars 12 Höhe der Kinobalken in % (5–20)
Config.Colors je Anzeige Farben der Statusanzeigen im Modus colored
Config.AccentPresets 9 Farben Auswahl im Farbwähler des Menüs

Nutzung im Spiel

Bereich Inhalt
Status Leben, Rüstung, Hunger, Durst, Ausdauer, Sauerstoff (nur unter Wasser), Sprachreichweite, Sprechen und Funk
Info Bargeld, Bank, Schwarzgeld (ESX), Job und Rang, Spieler-ID, Uhrzeit, optional Wetter
Orientierung Kompass (folgt der Kamera), Straße/Kreuzung und Gebiet
Waffe Munition im Magazin / Reserve
Tacho Geschwindigkeit, Drehzahl, Gang, Tank, Motorzustand, Licht/Fernlicht, Verriegelung, Höhe bei Heli/Flugzeug

Im Layout-Modus des Menüs ziehst du Elemente mit der Maus an eine beliebige Stelle; Zurücksetzen stellt das Standard-Layout wieder her. Der Gurt gilt nicht für Motorräder, Fahrräder, Boote, Helikopter, Flugzeuge und Züge. Der Tempomat geht nur als Fahrer; Bremsen, Handbremse oder deutliches Langsamerwerden beenden ihn.

Befehle und Rechte

Befehl Standardtaste Wer Was
/hud – alle Einstellungsmenü (nur bei Config.Menu.enabled = true)
/cinema – (frei belegbar) alle Kinomodus an/aus
/seatbelt B alle Gurt an/aus
/cruise Y alle Tempomat an/aus

Rechte (ACE/Gruppen) gibt es keine; was Spieler ändern dürfen, steuerst du über Config.Menu. Die Befehlsnamen änderst du in Config.Commands.

Exports und Events

Alle Exports laufen auf dem Client:

Export Beschreibung
setVisible(bool) HUD ausblenden (false) oder einblenden (true) – z. B. für Handy oder Kamera
isVisible() Ist das HUD sichtbar?
isSeatbeltOn() Ist der Gurt angelegt?
isCruiseActive() Ist der Tempomat aktiv?
setCinema(bool) Kinomodus an/aus
openMenu() Menü /hud öffnen
setLaundry(wert) Sauberkeit der Kleidung 0–100 anzeigen, false blendet sie aus (für Pepper Laundry; ab der nächsten Version)
exports.pepper_hud:setVisible(false)
if exports.pepper_hud:isSeatbeltOn() then … end
Quelle Beschreibung
Client-Event pepper_hud:seatbelt Bei jeder Gurtänderung, Parameter on
LocalPlayer.state.seatbelt Aktueller Gurtstatus als State Bag

FAQ

Zwei HUDs auf dem Bildschirm – was tun?

Deaktiviere andere HUDs (esx_hud, qb-hud, ps-hud …) in der server.cfg. Es darf nur ein HUD laufen.

Zwei Gurte oder Tempomaten (QBCore)?

Schalte sie in qb-smallresources ab oder setze Config.Seatbelt.enabled / Config.Cruise.enabled auf false.

Hunger und Durst bleiben leer (ESX)?

Unter ESX braucht Pepper HUD esx_status für Hunger und Durst. Starte es vor pepper_hud.

Geld, Job und Hunger fehlen komplett?

Dann wurde kein Framework erkannt (in der F8-Konsole steht ein Hinweis). Starte pepper_hud nach es_extended bzw. qb-core oder setze Config.Framework fest auf 'esx' oder 'qbcore'.

Der Tank zeigt immer 0 oder 100?

Passe Config.GetFuel an dein Tank-Script an, z. B. return exports['LegacyFuel']:GetFuel(vehicle).

Die Minimap sieht falsch aus?

Ein anderes Script steuert die Minimap – setze Config.Minimap.managed = false, dann fasst das HUD sie nicht an.

Spieler können den Stil oder die Farben nicht ändern?

Prüfe Config.Menu (allowStyle, allowColors, allowLayout). Gesperrte Bereiche werden immer auf die Vorgabe aus Config.Defaults gesetzt.

Wo werden die Spieler-Einstellungen gespeichert?

Lokal auf dem PC des Spielers (KVP), pro Server. Eine Datenbank wird nicht benötigt.

Welche Voice-Systeme werden unterstützt?

pma-voice und SaltyChat – beide werden automatisch erkannt (Config.Voice = 'auto'). Mit 'none' blendest du die Sprachanzeige aus.

Wie blende ich das HUD für mein Handy- oder Kamera-Script aus?

Ruf auf dem Client exports.pepper_hud:setVisible(false) und danach setVisible(true) auf.

Wie ändere ich die Farben für alle neuen Spieler?

Config.Defaults.accent und colorMode setzen die Startwerte, Config.Colors die Farben der einzelnen Anzeigen, Config.AccentPresets die Auswahl im Farbwähler. Spieler mit eigenen Einstellungen behalten ihre Wahl.

Wie binde ich ein eigenes Status- oder Geldsystem an?

Die Bridge-Dateien bridge/client/esx.lua und bridge/client/qbcore.lua sind offen. Dort liest das HUD Geld, Job und Status – passe die Events bzw. Abfragen an dein System an.

Wie update ich Pepper HUD?

Neue Version aus dem Cfx.re Portal laden, config/config.lua und geänderte Bridge- oder Sprachdateien sichern und den Ordner ersetzen. Die Spieler-Einstellungen bleiben erhalten. Änderungen stehen in der CHANGELOG.md im Ressourcen-Ordner.

Support

Fragen oder Fehler? Öffne ein Ticket in unserem Discord: https://discord.gg/6NaFJWKDYu – verknüpfe deinen Kauf vorher mit /verify.

Permanent auf dem Dev-Server von Pepper Scripts getestet.

Changelog

Aktuelle Version 1.0.0 (erste Version). In Arbeit: optionale Wetter-Anzeige mit Pepper Weather und Kleidungs-Anzeige mit Pepper Laundry. Alle Änderungen stehen in der CHANGELOG.md im Ressourcen-Ordner.


Fehler gefunden? Melde ihn im Discord.