chore: aufgeraeumt nach der Abnahme
Lampen-Prop entfernt. Seit der Umstellung auf die spieleigene Scuba-Lampe war es funktionslos: standardmaessig aus, nie verifiziert, und eine Polizei-Taschenlampe am Kopf haette neben dem nativen Licht nur Deko gespielt. Damit fallen auch die Debug-Befehle /divelamp und /divelampcheck weg, samt config.debug und vier Config-Werten. Zwoelf Upstream-Locales geloescht. Sie hatten 8 von 26 Keys - im Spiel waeren dort rohe Key-Namen erschienen. Gepflegt werden DE und EN. PLAN.md war ein Vorab-Plan mit Phasen und Aufwandsschaetzungen und damit erledigt. Ersetzt durch ENTSCHEIDUNGEN.md: warum die Dinge so gebaut sind und welche Fallstricke dahinterstecken - onCache-Timing, consume, decay, SetMetadata, die Atemgas-Grenze, das transform-origin am Zeiger. Also das, was beim naechsten Anfassen wirklich hilft. README von den Abschnitten befreit, die es nicht mehr gibt. Bilder und Icons neu erzeugt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -201,64 +201,13 @@ auf z.B. `2`.
|
||||
|
||||
| Option | Default | Bedeutung |
|
||||
|---|---|---|
|
||||
| `lampKey` | `'l'` | Vorbelegung |
|
||||
| `lampKey` | `'l'` | Vorbelegung der Taste |
|
||||
| `lampReconcileIntervalMs` | `500` | Wie oft der Lampen-Zustand auf die Peds in der Nähe nachgezogen wird |
|
||||
| `lampProp` | `''` | Optionales Prop am Kopf, rein optisch. Die Lampe leuchtet unabhängig davon |
|
||||
| `lampBone` / `lampPropOffset` / `lampPropRotation` | `12844` / `vec3(0,0,0)` | Sitz des optionalen Props — mit `/divelamp` einstellen |
|
||||
|
||||
> **Beim Balancing beachten:** `maxDrainPerSecond` (shared) muss über
|
||||
> `maxDecayFactor` (client) liegen. Sonst hält der Server den ehrlichen Verbrauch
|
||||
> in großer Tiefe für Cheat und schreibt Luft zurück.
|
||||
|
||||
## Debug-Befehle
|
||||
|
||||
Mit `debug = true` in `config/client.lua`:
|
||||
|
||||
```
|
||||
/divelampcheck Hat das aktuelle Outfit eine Scuba-Lampe?
|
||||
/divelamp <x> <y> <z> <rx> <ry> <rz> Sitz des optionalen Lampen-Props
|
||||
```
|
||||
|
||||
`/divelamp` hängt das Prop sofort neu an und schreibt die fertige Config-Zeile ins
|
||||
Log — kein Resource-Restart pro Versuch. Alternativ mit einem Prop-Attach-Editor
|
||||
wie [noted_propattacher](https://github.com/NotedDevelopment/noted_propattacher)
|
||||
ausmessen.
|
||||
|
||||
> Ein Tauchlampen-Prop gibt es im Basegame nicht. Was es gibt, sind Varianten
|
||||
> derselben Polizei-Taschenlampe: `prop_cs_police_torch`, `prop_police_torch`,
|
||||
> `prop_scn_police_torch`. Für die Beleuchtung braucht es das Prop ohnehin nicht.
|
||||
|
||||
## Tiefengrenze und Tiefenrausch
|
||||
|
||||
Warum 40–45 m real das Limit sind, liegt nicht am Druck, sondern am **Stickstoff
|
||||
in der Pressluft**: tiefer wirkt er narkotisch, und ab etwa 56 m wird auch der
|
||||
Sauerstoff giftig. Wer tiefer will, atmet **Trimix** — dort ersetzt Helium einen
|
||||
Teil des Stickstoffs.
|
||||
|
||||
Genau so ist es hier umgesetzt: jede Flasche hat in `config/shared.lua` eine
|
||||
`maxDepth`. Darunter setzt Tiefenrausch ein, in drei Stufen, je tiefer desto
|
||||
heftiger — Bildschirmeffekt, Kamerawackeln, höherer Luftverbrauch, in der letzten
|
||||
Stufe Schaden. Fünf Meter vorher kommt eine Warnung, und die Tiefenanzeige im HUD
|
||||
wird rot und pulsiert, sobald die Grenze überschritten ist.
|
||||
|
||||
Damit ist ein 45-m-Limit keine Absprache mehr, sondern spürbar — und die tiefen
|
||||
Spots bleiben erreichbar, kosten aber die richtige Flasche.
|
||||
|
||||
Alles daran ist in `config/client.lua` unter `narcosis` einstellbar: Schwellen,
|
||||
Effekte, Stärke, Verbrauchsaufschlag, Schaden. `enabled = false` schaltet es ganz aus.
|
||||
|
||||
> Die `timecycle`-Namen sind Spiel-Effekte, keine Natives. Existiert einer nicht,
|
||||
> passiert einfach nichts — dann einen anderen eintragen.
|
||||
|
||||
### Die Grenze der Engine
|
||||
|
||||
Unabhängig von allem hier ist bei **160 m** Schluss — das macht GTA selbst über den
|
||||
Wasserdruck, dagegen hilft kein Atemgas. Ingame gemessen.
|
||||
|
||||
Deshalb gibt es dafür nur eine Warnung (`engineDepthLimit`, 20 m vorher). Trimix
|
||||
hört mit 100 m bewusst darüber auf; dazwischen liegt die Zone, in der es zwar
|
||||
ungemütlich wird, aber noch nichts tödlich ist.
|
||||
|
||||
## Exports
|
||||
|
||||
```lua
|
||||
@@ -287,7 +236,7 @@ Sie funktioniert **auch ohne Scuba-Kleidung** am Ped — ingame bestätigt. Der
|
||||
Hinweis in [esx_scuba](https://github.com/wobozkyng/esx_scuba), das Licht hänge am
|
||||
Kleidungs-Component, trifft hier also nicht zu. Das Outfit wird nicht angefasst.
|
||||
Sollte die Native bei einem Ped-Model doch nicht anschlagen, gibt es beim
|
||||
Einschalten eine Meldung, und `/divelampcheck` (mit `debug = true`) sagt es direkt.
|
||||
Einschalten eine Meldung statt stiller Wirkungslosigkeit.
|
||||
|
||||
Der Flag ist ein **lokaler** Ped-Zustand und wird nicht von selbst repliziert.
|
||||
Deshalb läuft der Zustand über einen Statebag
|
||||
@@ -321,7 +270,8 @@ Schachbrett, in Slot-Größe und klein, zum Gegenschauen nach Änderungen.
|
||||
> passiert bei jedem `<text>`-Element, auch im minimalsten Testfall — die Zahlen
|
||||
> kommen korrekt raus.
|
||||
|
||||
Der Umbau ist in [PLAN.md](PLAN.md) dokumentiert, inklusive der offenen Punkte.
|
||||
Warum die Dinge so gebaut sind — und welche Fallstricke dahinterstecken — steht
|
||||
in [ENTSCHEIDUNGEN.md](ENTSCHEIDUNGEN.md), zusammen mit den offenen Punkten.
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user