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:
@@ -135,8 +135,15 @@ Tiefenanzeige und O2-Anzeige zusammen als ein NUI-Overlay — `qbx.drawText2d`
|
||||
|
||||
### Phase 5 — Gesyncte Taschenlampe (~2–3 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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user