Files
d4rk_divegear/README.md
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

3.2 KiB

d4rk_divegear

Tauchausrüstung für QBox. Fork von qbx_divegear mit Flaschengrößen, gesyncter Lampe, Tiefenanzeige und Ausrüstung, die bei Animationen nicht verschwindet.

Features

  • Vier Flaschengrößen — 5, 10, 15 und 20 Minuten. Die Restluft liegt in der Item-Metadata und überlebt Ablegen, Relog, Resource-Restart und Tod. Der Füllstand ist als Balken direkt im Inventar-Slot sichtbar.
  • Gesyncte Tauchlampe — an der Ausrüstung, An/Aus per Taste (Standard L). Andere Spieler sehen den Lichtkegel.
  • NUI-HUD — Restluft als Ring mit mm:ss, Tauchtiefe in Metern und Manometer in bar, mit Warnstufen. Nur sichtbar mit angelegter Ausrüstung unter Wasser, und ausblendbar für Unterwasser-Screenshots.
  • Tiefenabhängiger Verbrauch — tiefer tauchen kostet mehr Luft. Abschaltbar.
  • Ausrüstung bleibt — bei Emotes, Ragdoll, Kleiderwechsel und aufräumenden Fremd-Scripts.
  • Serverseitige Prüfung — die Restluft kann nur sinken, und nicht schneller als physikalisch möglich.

Abhängigkeiten

qbx_core · ox_lib · ox_inventory

Installation

  1. Resource nach resources/ und in der server.cfg starten.
  2. Die Einträge aus items_for_ox_inventory.lua in ox_inventory/data/items.lua kopieren.
  3. Item-Icons nach cdn.d4rkst3r.de/items/ legen (diving_gear.png, diving_fill.png, diving_tank_small.pngdiving_tank_xl.png).

Bedienung

Aktion Wie
Ausrüstung an-/ausziehen diving_gear benutzen
Flasche wählen Menü beim Anlegen (entfällt bei nur einer Flasche)
Flasche auffüllen diving_fill benutzen, nicht unter Wasser
Lampe an/aus L (in den FiveM-Tastenbelegungen umlegbar)
HUD ausblenden Eigene Taste, standardmäßig unbelegt — in den FiveM-Tastenbelegungen unter "FiveM" setzen

HUD ausblenden für Screenshots

Drei Wege, damit es unabhängig von der eingesetzten HUD-Resource funktioniert:

  1. Automatisch — das Tauch-HUD verschwindet mit dem Spiel-HUD. Greift bei allem, was DisplayHud(false) setzt (Screenshot-Scripts, HUD-Toggles, Cinematic-Modes). Abschaltbar über hudFollowGameHud.
  2. Eigene TastehudToggleKey in der Config, oder vom Spieler selbst belegt.
  3. Export — für andere Resources:
exports.d4rk_divegear:setHudVisible(false)
local shown = exports.d4rk_divegear:isHudVisible()

Konfiguration

Datei Inhalt
config/client.lua Timings, Verbrauch, Tiefe, HUD, Lampe
config/shared.lua Flaschen und ihre Laufzeit, Sync-Intervall, Anti-Cheat-Grenze

Laufzeiten ändert man über capacity (Sekunden) in config/shared.lua. Wer den Tiefenfaktor (maxDecayFactor) hochdreht, muss maxDrainPerSecond mitziehen — sonst schreibt der Server ehrlichen Spielern in großer Tiefe Luft zurück.

Entwicklung

node ../.tools/lint.mjs           # Lua-Lint (CfxLua-tauglich)
node ../.tools/nui-preview.mjs nui # HUD im Browser anschauen

Der Umbau ist in PLAN.md dokumentiert, inklusive der offenen Punkte.

Lizenz

GPL-3.0, wie das Original. Upstream-Historie ist erhalten und liegt auf dem Remote upstream.