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

84 lines
3.2 KiB
Markdown

# d4rk_divegear
Tauchausrüstung für QBox. Fork von [qbx_divegear](https://github.com/Qbox-project/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`](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.png``diving_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 Taste**`hudToggleKey` in der Config, oder vom Spieler selbst belegt.
3. **Export** — für andere Resources:
```lua
exports.d4rk_divegear:setHudVisible(false)
local shown = exports.d4rk_divegear:isHudVisible()
```
## Konfiguration
| Datei | Inhalt |
|---|---|
| [`config/client.lua`](config/client.lua) | Timings, Verbrauch, Tiefe, HUD, Lampe |
| [`config/shared.lua`](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
```bash
node ../.tools/lint.mjs # Lua-Lint (CfxLua-tauglich)
node ../.tools/nui-preview.mjs nui # HUD im Browser anschauen
```
Der Umbau ist in [PLAN.md](PLAN.md) dokumentiert, inklusive der offenen Punkte.
## Lizenz
GPL-3.0, wie das Original. Upstream-Historie ist erhalten und liegt auf dem
Remote `upstream`.