Files
d4rk_divegear/config/client.lua
T
D4rkst3randClaude Opus 5 5a59fc513f
Lint / Lint Resource (push) Has been cancelled
feat(hud): Manometer in bar und ausblendbares HUD
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>
2026-08-11 00:06:58 +02:00

97 lines
4.0 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,
--- 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
---------------------------------------------------------------------------
--- Taste zum An- und Ausschalten. Der Spieler kann sie in den FiveM-
--- Tastenbelegungen unter "FiveM" umlegen.
lampKey = 'l',
--- Prop am Kopf. Rein optisch - das Licht selbst hängt nicht daran.
--- Ist das Model ungültig, wird nur das Licht gezeichnet und eine Warnung
--- ins Log geschrieben. Alternativen: siehe forge.plebmasters.de/objects
lampProp = 'prop_cs_police_torch',
--- Position des Lichts relativ zum Kopf-Bone (bone-relativ, nicht Weltkoordinaten).
lampOffset = vec3(0.0, 0.15, 0.0),
--- Richtung des Lichtkegels, ebenfalls bone-relativ. Leuchtet der Kegel in die
--- falsche Richtung, hier die Achse tauschen oder das Vorzeichen drehen -
--- welche lokale Achse des Kopf-Bones nach vorne zeigt, hängt am Skelett.
lampDirection = vec3(0.0, 1.0, 0.0),
--- Lichtfarbe als { r, g, b }, 0-255. Leicht kühl für Unterwasser.
lampColour = { 225, 245, 255 },
lampDistance = 30.0, -- Reichweite in Metern
lampBrightness = 6.0, -- Helligkeit
lampRoundness = 1.0, -- Weichzeichnung des Kegelrands
lampRadius = 14.0, -- Öffnungswinkel
lampFalloff = 1.5, -- Abfall zum Rand hin
--- Schatten kosten deutlich Performance. Auf false wird DrawSpotLight statt
--- DrawSpotLightWithShadow benutzt - sieht flacher aus, läuft aber spürbar besser.
lampShadows = true,
--- Ab dieser Entfernung werden fremde Lampen nicht mehr gezeichnet (Meter).
lampDrawDistance = 45.0,
--- Wie viele Lampen gleichzeitig gezeichnet werden. Die nächstgelegenen
--- gewinnen. Schützt vor Frame-Einbrüchen bei Gruppentauchgängen.
lampMaxLights = 4,
}