67 lines
2.5 KiB
Markdown
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`.
|