Files
d4rk_divegear/config/client.lua
T
D4rkst3randClaude Opus 5 28ab8e796c
Lint / Lint Resource (push) Has been cancelled
feat(hud): NUI-Overlay mit Luft und Tauchtiefe
Ersetzt die qbx.drawText2d-Anzeige (rohe Zahl plus Uhr-Emoji in der Ecke, jeden
Frame neu gezeichnet) durch ein NUI-Overlay.

- Luft als Ring mit mm:ss, Farbstufen aus config.warnAtSeconds abgeleitet,
  Pulsieren im kritischen Bereich
- Tiefe in Metern ueber GetWaterHeight, geglaettet damit Wellengang die Zahl
  nicht zappeln laesst; Einfaerbung ab config.deepWarningDepth
- Platz fuer den Lampen-Status, wird in Phase 5 befuellt
- Sichtbar nur mit angelegter Ausruestung unter Wasser, mit Fade
- Updates gedrosselt auf 4/s statt jeden Frame
- Kein backdrop-filter (bekannter FiveM-Bug)

Die geglaettete Tiefe speist auch den tiefenabhaengigen Verbrauch, der bisher
bei jedem Tick neu und ungeglaettet gemessen wurde.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 23:49:03 +02:00

42 lines
1.5 KiB
Lua

return {
putOnSuitTimeMs = 5000,
takeOffSuitTimeMs = 5000,
refillTankTimeMs = 5000,
--- Sekunden Luft, die pro echter Sekunde verbraucht werden (vor dem Tiefenfaktor).
decayRate = 1.0,
--- Intervall des Watchdogs, der prüft ob die Ausrüstung noch am Ped hängt (ms).
gearWatchdogIntervalMs = 1000,
--- Sekunden, die der Spieler ohne Ausrüstung unter Wasser überlebt (Vanilla-Verhalten).
maxTimeUnderwater = 50.0,
--- Sekunden, sobald die Flasche leer ist. Bewusst kurz: leer tauchen soll wehtun.
maxTimeUnderwaterOutOfAir = 1.0,
--- Ausrüstung beim Tod abnehmen. Die Flasche bleibt mit ihrer Restluft im Inventar.
removeGearOnDeath = true,
--- Restsekunden, bei denen gewarnt wird. Jede Schwelle löst einmal pro Tauchgang aus.
warnAtSeconds = { 60, 30, 10 },
--- Verbrauch steigt mit der Tiefe: faktor = 1 + tiefe / depthDecayReference.
--- Macht die großen Flaschen erst sinnvoll. Auf false = konstanter Verbrauch,
--- dann stimmen die 5/10/15/20 Minuten exakt.
depthDecayEnabled = true,
depthDecayReference = 30.0,
maxDecayFactor = 4.0,
--- NUI-HUD mit Luft und Tiefe. Auf false bleibt die Ausrüstung voll nutzbar,
--- nur ohne Anzeige.
hudEnabled = true,
--- Update-Intervall des HUD (ms). 250 = 4 Updates pro Sekunde, reicht für eine
--- ruhige Anzeige ohne unnötigen NUI-Traffic.
hudUpdateIntervalMs = 250,
--- Ab dieser Tiefe wird die Tiefenanzeige eingefärbt (Meter).
deepWarningDepth = 25.0,
}