fix(server): frisch gekaufte Flaschen sind nicht mehr leer
Lint / Lint Resource (push) Has been cancelled

Eine Flasche ohne gesetzte Metadata - aus dem Shop, per AddItem oder per
Admin-Befehl - wurde in getTankList als 0 gelesen. Anlegen scheiterte damit an
"Diese Tauchflasche ist leer!", man haette also erst eine Kartusche verbrauchen
muessen, um ueberhaupt tauchen zu koennen.

Dazu waren sich die beiden Codepfade uneinig: syncTank hat denselben Fall auf
capacity zurueckfallen lassen, also als voll behandelt.

Beide gehen jetzt ueber readOxygen(), gesteuert von shared.newTanksFull
(default true = neue Flasche ist voll).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 00:31:37 +02:00
co-authored by Claude Opus 5
parent c264872007
commit 3ab70d44ef
3 changed files with 27 additions and 3 deletions
+4
View File
@@ -109,6 +109,9 @@ auffüllbar zu bleiben.
## Bedienung
Die Flasche wird **nicht** separat angezogen. Sie muss nur im Inventar liegen —
beim Anlegen der Ausrüstung fragt das Script, welche angeschlossen werden soll.
| Aktion | Wie |
|---|---|
| Ausrüstung an-/ausziehen | `diving_gear` benutzen |
@@ -127,6 +130,7 @@ FiveM* umlegbar.
| Option | Default | Bedeutung |
|---|---|---|
| `tanks` | 4 Flaschen | `name`, `capacity` (Sekunden), `pressure` (bar) |
| `newTanksFull` | `true` | Flaschen ohne Metadata (Shop, `AddItem`, Admin-Befehl) gelten als voll. Auf `false` muss jede neue Flasche erst mit einer Kartusche befüllt werden |
| `syncIntervalSeconds` | `15` | Wie oft die Restluft an den Server gemeldet wird. Bei einem Crash gehen maximal so viele Sekunden verloren |
| `maxDrainPerSecond` | `5.0` | Obergrenze der serverseitigen Prüfung |