docs: Stand nach dem Ingame-Test nachgezogen

Die Lampen-Phase im Plan beschrieb noch den DrawSpotLight-Eigenbau, und die
offenen Punkte listeten Unsicherheiten (Prop-Name, Leuchtrichtung), die mit der
Umstellung auf die native Scuba-Lampe hinfaellig sind.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 08:54:12 +02:00
co-authored by Claude Opus 5
parent d2f6e3cd30
commit edeb8d9d76
2 changed files with 34 additions and 27 deletions
+24 -18
View File
@@ -135,8 +135,15 @@ Tiefenanzeige und O2-Anzeige zusammen als ein NUI-Overlay — `qbx.drawText2d`
### Phase 5 — Gesyncte Taschenlampe (~23 h)
Licht ist in GTA nie synchronisiert — jeder Client zeichnet das Licht für jeden
Taucher in seiner Nähe selbst.
**Nachträglich komplett ersetzt.** Der ganze Abschnitt unten beschreibt den
DrawSpotLight-Eigenbau — der ist raus. GTA hat seit v1493 eine eigene Lampe an der
Tauchausrüstung (`SetEnableScubaGearLight`, `0xEE2476B9EE4A094F`), gefunden über
[wobozkyng/esx_scuba](https://github.com/wobozkyng/esx_scuba). Die sitzt richtig,
leuchtet in Blickrichtung und macht Prop, Offsets, Kegelwerte, Distanzfilter und
Draw-Thread überflüssig. Geblieben ist nur der Statebag, weil der Flag ein lokaler
Ped-Zustand ist. Einschränkung: die Lampe hängt an der Scuba-Kleidung.
Der ursprüngliche Plan zum Vergleich:
- [x] Torch-Prop mit derselben harten Attach-Methode aus Phase 1 anhängen
(Kopf-Bone oder Hand, Config)
@@ -231,24 +238,23 @@ Am 2026-08-10 festgelegt:
## Offen
Alles unten ist **ungetestet im Spiel** — es gibt hier keinen FiveM-Server. Geprüft
sind nur Lua-Syntax und Globals (`node ../.tools/lint.mjs`, 0 Warnungen), die
Locale-JSONs und das HUD im Browser.
Ingame getestet (2026-08-11): Anlegen/Ablegen, Flaschenauswahl, Luftverbrauch,
HUD mit Tiefe und Druck, Lampe. Zwei Bugs kamen dabei raus und sind gefixt —
`consume = 0` im Item-Snippet (der qbx-Callback feuerte nie) und leere
Metadata bei frisch gekauften Flaschen.
1. **Lampen-Prop `prop_cs_police_torch`** — Name ungeprüft. Ist er falsch, meldet
das Script eine Warnung und leuchtet ohne sichtbares Prop weiter.
Ersatz suchen: [forge.plebmasters.de/objects](https://forge.plebmasters.de/objects)
2. **`lampDirection`** — welche lokale Achse des Kopf-Bones nach vorne zeigt, hängt
am Skelett. Leuchtet der Kegel falsch herum, in `config/client.lua` die Achse
tauschen oder das Vorzeichen drehen.
3. **Auto-Anziehen nach Relog** (siehe Phase 2) und **HUD-Position in der Config**
(Phase 4) sind nicht umgesetzt.
4. **`IsHudHidden()`** — ob die Native wirklich auf `DisplayHud(false)` anspringt,
ist ungetestet. Falls nicht, greifen weiterhin die eigene Taste und der Export;
`hudFollowGameHud` lässt sich dann abschalten.
5. **Balancing:** `maxDrainPerSecond = 5.0` muss über `maxDecayFactor = 4.0` liegen,
1. **Scuba-Lampe braucht die Scuba-Kleidung** (Component 8). Auf Wunsch des Users
fasst die Resource das Outfit nicht an — wer keine trägt, bekommt eine Meldung.
Soll die Ausrüstung die Kleidung selbst setzen, muss das inklusive Sichern und
Wiederherstellen gebaut werden (wie in wobozkyng/esx_scuba).
2. **`IsHudHidden()`** — ungetestet, ob die Native auf `DisplayHud(false)`
anspringt. Falls nicht, greifen Taste und Export weiterhin.
3. **Auto-Anziehen nach Relog** und **HUD-Position in der Config** sind nicht
umgesetzt.
4. **Balancing:** `maxDrainPerSecond = 5.0` muss über `maxDecayFactor = 4.0` liegen,
sonst bekommen ehrliche Spieler in großer Tiefe vom Server Luft zurückgeschrieben.
Wer den Tiefenfaktor hochdreht, muss beides nachziehen.
Wer den Tiefenfaktor hochdreht, muss beides nachziehen. Die Laufzeiten selbst
sind noch nicht am Spielgefühl geprüft.
---
+10 -9
View File
@@ -259,20 +259,21 @@ Schachbrett, in Slot-Größe und klein, zum Gegenschauen nach Änderungen.
Der Umbau ist in [PLAN.md](PLAN.md) dokumentiert, inklusive der offenen Punkte.
## Bekannte Unsicherheiten
## Offene Punkte
Bisher **nicht im Spiel getestet** — geprüft sind Lua-Syntax und Globals, die
Locale-JSONs und das HUD im Browser.
Ingame getestet sind Anlegen und Ablegen, Flaschenauswahl, Luftverbrauch, HUD mit
Tiefe und Druck sowie die Lampe. Noch offen:
- **`lampProp`** — der Prop-Name ist ungeprüft. Falls falsch: Warnung im Log, das
Licht funktioniert weiter, nur ohne sichtbares Prop. Ersatz finden:
[forge.plebmasters.de/objects](https://forge.plebmasters.de/objects)
- **`lampDirection`** — welche lokale Achse des Kopf-Bones nach vorne zeigt, hängt
am Skelett. Leuchtet der Kegel falsch herum: Achse tauschen oder Vorzeichen drehen.
- **Scuba-Lampe ohne passendes Outfit** — sie hängt an der Scuba-Kleidung
(Component 8). Wer die nicht trägt, bekommt eine Meldung. Soll die Ausrüstung
das Outfit selbst setzen, muss das noch gebaut werden (inklusive Sichern und
Wiederherstellen der vorherigen Kleidung).
- **`IsHudHidden()`** — ob die Native auf `DisplayHud(false)` anspringt, ist
ungetestet. Falls nicht, greifen Taste und Export weiterhin.
- Nach einem Relog muss die Ausrüstung neu angelegt werden. Die Restluft geht
- **Nach einem Relog** muss die Ausrüstung neu angelegt werden. Die Restluft geht
dabei nicht verloren, die liegt auf der Flasche.
- **HUD-Position** ist nur in `nui/style.css` einstellbar, nicht in der Config.
- **Balancing** — die Laufzeiten sind gesetzt, aber nicht am Spielgefühl geprüft.
## Lizenz