Files
d4rk_divegear/TESTING.md
T
D4rkst3randClaude Opus 5 e5f47610a1
Lint / Lint Resource (push) Has been cancelled
feat: Tiefengrenze ueber das Atemgas
Macht ein Tiefenlimit mechanisch statt zur Absprache - und oeffnet die tiefen
Spots fuer den, der die richtige Flasche dabei hat.

Der Grund fuer die realen 40-45 m ist nicht der Druck, sondern der Stickstoff in
der Pressluft: tiefer wirkt er narkotisch, ab ~56 m wird auch der Sauerstoff
giftig. Wer tiefer will, atmet Trimix, wo Helium einen Teil des Stickstoffs
ersetzt. Genau so umgesetzt:

- maxDepth und gas pro Flasche in config/shared.lua; Pressluft 45 m,
  neues diving_tank_trimix 100 m
- Darunter Tiefenrausch in drei Stufen: Bildschirmeffekt, Kamerawackeln,
  hoeherer Luftverbrauch, in der letzten Stufe Schaden. Schwellen, Effekte,
  Staerken und Schaden komplett in config.narcosis
- Vorwarnung 5 m vor der Grenze, Tiefenanzeige im HUD wird rot und pulsiert
- Effekte werden beim Auftauchen, Ablegen, Tod und Resource-Stop aufgeraeumt
- Auswahlmenue zeigt Gas und Tiefengrenze pro Flasche
- Icon fuer die Trimix-Flasche, violett abgesetzt

Keine Dekompression - auf Wunsch bewusst weggelassen.

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

7.0 KiB

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

  • diving_gear benutzen → Ausrüstung wird angelegt
  • Nochmal benutzen → Ausrüstung wird abgelegt
  • 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
  • 🟢 narcosis.enabled = false → nichts davon passiert

6 · HUD

  • 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

  • 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