Files
d4rk_divegear/TESTING.md
T
D4rkst3randClaude Opus 5 f88f7bf002
Lint / Lint Resource (push) Has been cancelled
feat: Warnung vor der Druck-Grenze der Engine
GTA toetet selbst ab einer bestimmten Tiefe ueber den Wasserdruck - beim U-Boot
bei rund 150 m mit Implosion ab ~168 m, zu Fuss verliert man ebenfalls Leben.
Dagegen hilft kein Atemgas, das ist die Engine.

Deshalb dafuer nur eine Warnung statt eigener Effekte, konservativ auf 130 m mit
20 m Vorwarnung, beides in config.narcosis. Trimix hoert mit 100 m bewusst
darueber auf; dazwischen liegt die Zone, in der keine Ausruestung mehr hilft.

Der genaue Wert fuer Taucher zu Fuss ist nicht belegt und steht als Testpunkt in
TESTING.md.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 09:13:55 +02:00

151 lines
7.3 KiB
Markdown

# Testliste
Stand nach dem ersten Ingame-Test am 2026-08-11. Abgehakt ist nur, was
tatsächlich im Spiel lief — nicht, was „sollte gehen".
**Legende:** 🔴 kann die Resource unbrauchbar machen · 🟡 stört im Spiel ·
🟢 Kosmetik oder Randfall · ❓ konnte ich hier gar nicht prüfen
---
## 1 · Grundfunktion
- [x] `diving_gear` benutzen → Ausrüstung wird angelegt
- [x] Nochmal benutzen → Ausrüstung wird abgelegt
- [x] Mit mehreren Flaschen im Inventar → Auswahlmenü zeigt alle mit Füllstand
- [ ] 🟡 Menü mit **einer** Flasche → wird übersprungen, direkt angelegt
- [ ] 🟡 Menü per ESC schließen → nichts passiert, Ausrüstung bleibt aus
- [ ] 🔴 Ganz **ohne** Flasche → Meldung „Du hast keine Tauchflasche dabei!",
keine Ausrüstung
- [ ] 🟡 Mit **leerer** Flasche (0 bar) → Meldung „Diese Tauchflasche ist leer!"
- [ ] 🟡 Anlegen im Wasser schwimmend → Meldung „Du musst auf festem Boden stehen"
- [ ] 🟡 Anlegen im Fahrzeug → dieselbe Meldung
- [ ] 🟢 Progressbar beim Anlegen abbrechen → keine Ausrüstung, keine Luft verbraucht
## 2 · Flasche und Persistenz
- [ ] 🔴 **Frisch gekaufte Flasche** (nie befüllt) → ist voll nutzbar.
*War der Bug von heute — `newTanksFull`*
- [ ] 🔴 Halb leer tauchen, ablegen, wieder anlegen → Restluft stimmt
- [ ] 🔴 Halb leer tauchen, **ausloggen und wieder rein** → Restluft stimmt
- [ ] 🔴 Halb leer tauchen, `ensure d4rk_divegear` → Restluft stimmt
- [ ] 🟡 Flasche im Inventar ansehen → `durability`-Balken zeigt den Füllstand
- [ ] 🟡 Flasche einem anderen Spieler geben → Restluft geht mit
- [ ] 🟡 Flasche in eine Kiste legen und wieder rausnehmen → Restluft bleibt
- [ ] 🟢 Alle Größen einmal durch → Laufzeiten passen (5/10/15/20 min, Trimix 15)
## 3 · Auffüllen
- [ ] 🟡 `diving_fill` benutzen → Auswahlmenü, Flasche wird voll, **eine**
Kartusche weg
- [ ] 🔴 Bei **voller** Flasche → Meldung, Kartusche wird **nicht** verbraucht
- [ ] 🟡 Unter Wasser → Meldung, kein Auffüllen
- [ ] 🟡 Progressbar abbrechen → Kartusche bleibt im Inventar
- [ ] 🟡 Getragene Flasche auffüllen → HUD springt sofort auf voll,
der nächste Sync macht es nicht wieder kaputt
## 4 · Luft und Tiefe
- [ ] 🟡 Über Wasser mit Ausrüstung stehen → Luft wird **nicht** verbraucht
- [ ] 🔴 Untertauchen → Luft läuft, Anzeige zählt runter
- [ ] 🟡 Warnungen bei 60 / 30 / 10 Sekunden → je genau **einmal**
- [ ] 🔴 Flasche leer unter Wasser → Meldung, Scuba aus, Ertrinken setzt ein
- [ ] 🟢 Mit `depthDecayEnabled = true` tief tauchen → Verbrauch steigt sichtbar.
*Per Default aus, damit die Laufzeiten exakt stimmen*
- [ ] 🟢 20-Minuten-Flasche komplett leer tauchen → Laufzeit stimmt ungefähr,
keine Drift durch Frame-Drops
## 5 · Tiefengrenze und Tiefenrausch
*Neu, komplett ungetestet. Die `timecycle`-Namen sind geraten — falls kein Effekt
kommt, in `config/client.lua` unter `narcosis.stages` einen anderen eintragen.*
- [ ] ❓ 🟡 Mit Pressluft auf ~40 m → Vorwarnung „Du näherst dich der Grenze"
- [ ] ❓ 🔴 Unter 45 m → Bildschirmeffekt setzt ein, Tiefenanzeige rot und pulsierend
- [ ] ❓ 🟡 Unter 55 m → Effekt stärker, Kamera wackelt
- [ ] ❓ 🟡 Unter 65 m → Schaden, Luft geht spürbar schneller weg
- [ ] ❓ 🔴 Auftauchen über die Grenze → **alle** Effekte verschwinden wieder
- [ ] ❓ 🔴 Mit **Trimix** auf 60 m → kein Tiefenrausch
- [ ] ❓ 🟡 Ausrüstung ablegen während des Tiefenrauschs → Effekte weg
- [ ] ❓ 🟡 Sterben im Tiefenrausch → Effekte weg, kein Timecycle bleibt hängen
- [ ] ❓ 🟡 `ensure d4rk_divegear` im Tiefenrausch → Effekte weg
- [ ] 🟢 Auswahlmenü zeigt Gas und Tiefengrenze pro Flasche
- [ ] ❓ 🟡 Auf ~110 m → Warnung „Lebensgefahr! Ab 130 m zerdrückt dich der
Wasserdruck." *Das ist die Engine-Grenze, dagegen hilft keine Flasche*
- [ ] ❓ 🟢 Prüfen, ab welcher Tiefe GTA tatsächlich Leben abzieht, und
`engineDepthLimit` darauf einstellen
- [ ] 🟢 `narcosis.enabled = false` → nichts davon passiert
## 6 · HUD
- [x] Erscheint unter Wasser mit Ausrüstung, Tiefe/Luft/Druck stimmen
- [ ] 🟡 An Land mit angelegter Ausrüstung → HUD ist da, Tiefe steht auf 0.0 m
(Finimeter ablesen ohne Inventar)
- [ ] 🟡 Auftauchen → HUD blendet weich aus
- [ ] 🟡 Ausrüstung ablegen während es sichtbar ist → HUD verschwindet
- [ ] 🟢 Farbstufen: bernstein unter 60 s, rot unter 10 s mit Pulsieren
- [ ] 🟢 Tiefe ab 25 m bernstein, Druck unter 50 bar rot
- [ ] 🟡 Eigene HUD-Taste (in den FiveM-Tastenbelegungen setzen) → blendet aus/ein
- [ ] ❓ 🟡 **`hudFollowGameHud`** — Spiel-HUD ausblenden (Screenshot-Script,
HUD-Toggle) → Tauch-HUD geht mit aus. *Ob `IsHudHidden()` darauf anspringt,
konnte ich nicht prüfen*
- [ ] 🟢 Export `exports.d4rk_divegear:setHudVisible(false)` funktioniert
## 7 · Lampe
- [x] Lampen-Anzeige im HUD schaltet um
- [ ] ❓ 🔴 **Mit Scuba-Kleidung am Ped** (Component 8) → Lampe leuchtet
tatsächlich. *Der Kernpunkt — bisher ungetestet*
- [ ] 🟡 **Ohne** Scuba-Kleidung → Meldung „Deine Tauchausrüstung hat keine Lampe."
statt stiller Wirkungslosigkeit
- [ ] 🟢 `/divelampcheck` (mit `debug = true`) → sagt richtig ja/nein
- [ ] 🟡 Ausrüstung ablegen mit Lampe an → Lampe geht aus, bleibt aus
- [ ] 🟡 Sterben mit Lampe an → Lampe aus
## 8 · Ausrüstung bleibt dran
*Der ursprüngliche Bug. Jeder Punkt hier ist ein eigener Weg, wie die Props
verschwinden konnten.*
- [ ] 🔴 Emote starten (rpemotes o.ä.) → Maske und Flasche bleiben
- [ ] 🔴 Ragdoll: aus Höhe fallen, angefahren werden → bleiben
- [ ] 🔴 **Kleiderladen / Skin-Change** → Props hängen am neuen Ped, Scuba
funktioniert weiter. *Hier war der `onCache`-Bug*
- [ ] 🟡 In ein Fahrzeug ein- und aussteigen → Props bleiben, Scuba noch aktiv
- [ ] 🟡 Sterben und respawnen → Props weg, Flasche mit Restluft im Inventar
- [ ] 🟡 `ensure d4rk_divegear` während des Tauchens → keine Props als Leiche
in der Welt zurück
## 9 · Zu zweit
- [ ] 🔴 Beide mit Ausrüstung → jeder sieht Maske und Flasche des anderen
- [ ] ❓ 🔴 **Beide mit Lampe** → jeder sieht das Licht des anderen
- [ ] 🟡 Einer schaltet die Lampe → der andere sieht die Änderung sofort
- [ ] 🟡 Aus der Distanz zuschwimmen (Streaming) → Lampe des anderen ist an,
wenn er sie an hat. *Dafür ist der Abgleich-Thread da*
- [ ] 🟡 Einer stirbt/respawnt mit Lampe an → beim anderen geht sie aus
## 10 · Serverseitige Prüfung
- [ ] 🟢 Normal tauchen → **keine** Warnungen oder Korrekturen im Server-Log
- [ ] 🟡 Tief tauchen mit hohem Verbrauch → Server schreibt keine Luft zurück.
*Wenn doch: `maxDrainPerSecond` in `config/shared.lua` erhöhen*
- [ ] 🟢 Flasche wegwerfen während sie getragen wird → kein Fehler im Log
## 11 · Performance
- [ ] 🟢 Längerer Tauchgang → `resmon` bleibt niedrig
- [ ] 🟢 Mehrere Taucher mit Lampe gleichzeitig → keine spürbaren FPS-Einbrüche
---
## Wenn etwas nicht stimmt
Nützlich zum Melden:
- `resmon 1` bzw. Server-Konsole für Fehlermeldungen
- Bei der Lampe: Ausgabe von `/divelampcheck`
- Bei Restluft-Problemen: Flasche im Inventar ansehen (`durability`-Balken)
- `debug = true` in `config/client.lua` schaltet `/divelamp` und
`/divelampcheck` frei