feat(hud): Manometer in bar und ausblendbares HUD
Lint / Lint Resource (push) Has been cancelled

Druckanzeige:
- pressure * (Restluft / capacity). Bei konstantem Volumen ist der Druck
  proportional zur verbliebenen Gasmenge, die lineare Abbildung stimmt also
- Fuelldruck pro Flasche in config/shared.lua, alle bei 300 bar. Dass die grosse
  Flasche denselben Druck zeigt wie die kleine ist gewollt - in echt macht das
  Volumen die Laufzeit, nicht der Druck
- Unter config.reservePressure (50 bar) rot: in der Tauchpraxis die Schwelle,
  ab der man den Aufstieg einleitet

HUD ausblenden fuer Unterwasser-Screenshots. qbx_core hat selbst keinen
HUD-Toggle, es feuert nur hud:client:* an eine separate HUD-Resource - deshalb
drei voneinander unabhaengige Wege:
- IsHudHidden() folgen, greift bei allem was DisplayHud(false) setzt
- eigene Taste, standardmaessig unbelegt
- Export setHudVisible(bool) / isHudVisible() fuer andere Resources

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 00:06:58 +02:00
co-authored by Claude Opus 5
parent e5af47da66
commit 5a59fc513f
12 changed files with 151 additions and 24 deletions
+14
View File
@@ -36,9 +36,23 @@ return {
--- ruhige Anzeige ohne unnötigen NUI-Traffic.
hudUpdateIntervalMs = 250,
--- Tauch-HUD mit ausblenden, sobald das Spiel-HUD ausgeblendet ist.
--- Greift bei allem, was DisplayHud(false) setzt - Screenshot-Scripts,
--- HUD-Toggles, Cinematic-Modes -, ohne dass wir die Resource kennen müssen.
hudFollowGameHud = true,
--- Eigene Taste zum Aus-/Einblenden des Tauch-HUD. Leer = keine Vorbelegung,
--- der Spieler kann sie in den FiveM-Tastenbelegungen unter "FiveM" setzen.
--- Zusätzlich gibt es den Export setHudVisible(bool) für andere Resources.
hudToggleKey = '',
--- Ab dieser Tiefe wird die Tiefenanzeige eingefärbt (Meter).
deepWarningDepth = 25.0,
--- Reservedruck in bar. Darunter wird die Druckanzeige eingefärbt - in der
--- Tauchpraxis die Schwelle, ab der man den Aufstieg einleitet.
reservePressure = 50,
---------------------------------------------------------------------------
-- Taschenlampe
---------------------------------------------------------------------------
+11 -5
View File
@@ -2,13 +2,19 @@
-- damit lib.require die Datei auf beiden Seiten laden kann.
local config = {
--- Tauchflaschen. capacity = Laufzeit in Sekunden bei normalem Verbrauch.
--- Tauchflaschen.
--- capacity = Laufzeit in Sekunden bei normalem Verbrauch.
--- pressure = Fülldruck in bar. Reine Anzeige: der angezeigte Druck ist
--- pressure * (Restluft / capacity). Bei konstantem Volumen ist der
--- Druck proportional zur verbliebenen Gasmenge, das passt also.
--- Dass alle Flaschen denselben Fülldruck haben ist gewollt - in echt
--- macht das Volumen die Laufzeit, nicht der Druck.
--- Reihenfolge = Reihenfolge im Auswahlmenü.
tanks = {
{ name = 'diving_tank_small', capacity = 300 }, -- 5 Minuten
{ name = 'diving_tank_medium', capacity = 600 }, -- 10 Minuten
{ name = 'diving_tank_large', capacity = 900 }, -- 15 Minuten
{ name = 'diving_tank_xl', capacity = 1200 }, -- 20 Minuten
{ name = 'diving_tank_small', capacity = 300, pressure = 300 }, -- 5 Minuten
{ name = 'diving_tank_medium', capacity = 600, pressure = 300 }, -- 10 Minuten
{ name = 'diving_tank_large', capacity = 900, pressure = 300 }, -- 15 Minuten
{ name = 'diving_tank_xl', capacity = 1200, pressure = 300 }, -- 20 Minuten
},
--- Wie oft der Client die Restluft an den Server meldet (Sekunden).