From 7c4004a37815625fca9274269b02e1890957983d Mon Sep 17 00:00:00 2001 From: D4rkst3r Date: Tue, 11 Aug 2026 09:20:27 +0200 Subject: [PATCH] docs: Testliste durch Issues ersetzt TESTING.md war nicht filterbar, nicht zuweisbar und haette neben den Issues als zweite Quelle gedriftet. Jetzt ein Issue pro Testbereich mit Labels (test, prio:kritisch/mittel/niedrig, ungeprueft), plus bug und doku fuer spaeter. Co-Authored-By: Claude Opus 5 --- PLAN.md | 16 +----- README.md | 5 +- TESTING.md | 150 ----------------------------------------------------- 3 files changed, 6 insertions(+), 165 deletions(-) delete mode 100644 TESTING.md diff --git a/PLAN.md b/PLAN.md index 34e2cc9..ef14695 100644 --- a/PLAN.md +++ b/PLAN.md @@ -260,17 +260,5 @@ Metadata bei frisch gekauften Flaschen. ## Testplan -- Anlegen/Ablegen an Land, im flachen Wasser, unter Wasser -- Emote starten (rpemotes o.ä.) → Props bleiben -- Ragdoll (aus Höhe fallen, angefahren werden) → Props bleiben -- Kleiderladen / Skin-Change → Props hängen am neuen Ped -- Relog mit halbvoller Flasche → Restluft stimmt -- Resource-Restart während des Tauchens → Gear wird wiederhergestellt -- Zwei Spieler, beide mit Lampe → jeder sieht das Licht des anderen -- Lampe an, senkrecht nach unten tauchen → Kegel folgt der Blickrichtung nach unten - (das ist der Fall, an dem `GetEntityForwardVector` gescheitert wäre) -- Tank leer unter Wasser → Scuba aus, Ertrinken setzt ein -- Mehrere Flaschen im Inventar → Auswahlmenü mit Füllstand pro Flasche -- Volle Flasche auffüllen → Meldung, Kartusche wird **nicht** verbraucht -- Flasche im Inventar ansehen → durability-Balken zeigt den Füllstand -``` +Als Issues im Repo, ein Issue pro Testbereich: +[git.d4rkst3r.de/D4rkst3r/d4rk_divegear/issues](https://git.d4rkst3r.de/D4rkst3r/d4rk_divegear/issues?labels=test) diff --git a/README.md b/README.md index caa286d..1eac12a 100644 --- a/README.md +++ b/README.md @@ -308,7 +308,10 @@ Schachbrett, in Slot-Größe und klein, zum Gegenschauen nach Änderungen. > kommen korrekt raus. Der Umbau ist in [PLAN.md](PLAN.md) dokumentiert, inklusive der offenen Punkte. -Die Testliste liegt in [TESTING.md](TESTING.md). +Die Abnahme läuft über die +[Issues](https://git.d4rkst3r.de/D4rkst3r/d4rk_divegear/issues?labels=test) — +ein Issue pro Testbereich, mit `prio:`-Labels und `ungeprueft` für alles, was +sich ohne laufendes Spiel nicht verifizieren ließ. ## Offene Punkte diff --git a/TESTING.md b/TESTING.md deleted file mode 100644 index ec4272d..0000000 --- a/TESTING.md +++ /dev/null @@ -1,150 +0,0 @@ -# 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