Files
d4rk_divegear/README.md
T
2026-08-10 23:57:22 +02:00

67 lines
2.5 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` und Tauchtiefe in Metern, mit
Warnstufen. Nur sichtbar mit angelegter Ausrüstung unter Wasser.
- **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) |
## 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`.