Commit Graph
13 Commits
Author SHA1 Message Date
D4rkst3randClaude Opus 5 28ab8e796c feat(hud): NUI-Overlay mit Luft und Tauchtiefe
Lint / Lint Resource (push) Has been cancelled
Ersetzt die qbx.drawText2d-Anzeige (rohe Zahl plus Uhr-Emoji in der Ecke, jeden
Frame neu gezeichnet) durch ein NUI-Overlay.

- Luft als Ring mit mm:ss, Farbstufen aus config.warnAtSeconds abgeleitet,
  Pulsieren im kritischen Bereich
- Tiefe in Metern ueber GetWaterHeight, geglaettet damit Wellengang die Zahl
  nicht zappeln laesst; Einfaerbung ab config.deepWarningDepth
- Platz fuer den Lampen-Status, wird in Phase 5 befuellt
- Sichtbar nur mit angelegter Ausruestung unter Wasser, mit Fade
- Updates gedrosselt auf 4/s statt jeden Frame
- Kein backdrop-filter (bekannter FiveM-Bug)

Die geglaettete Tiefe speist auch den tiefenabhaengigen Verbrauch, der bisher
bei jedem Tick neu und ungeglaettet gemessen wurde.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 23:49:03 +02:00
D4rkst3randClaude Opus 5 d661152bc9 feat: Flaschengroessen mit echter Laufzeit und persistenter Restluft
Lint / Lint Resource (push) Has been cancelled
Der Sauerstoff war eine lokale Client-Variable: nicht persistent, an kein Item
gebunden, weg bei Relog. Dazu ergab startingOxygenLevel=100 bei decayRate=1/s
genau 100 Sekunden Tauchzeit statt Minuten.

Sauerstoff-Logik:
- Restsekunden statt Punkte, Verbrauch ueber GetGameTimer-Delta statt gezaehlter
  Wait(1000) - ein Tick laeuft unter Last laenger als eine Sekunde, was sich
  ueber einen langen Tauchgang aufsummiert
- Float-Vergleiche (oxygenLevel % 10 == 0, == 0) raus, Warnschwellen als
  config.warnAtSeconds, jede Schwelle einmal pro Tauchgang
- Verbrauch steigt mit der Tiefe (1 + tiefe/30, gedeckelt), abschaltbar
- Anzeige als mm:ss

Flaschen:
- Vier Items mit capacity in Sekunden (300/600/900/1200) in config/shared.lua
- Restluft in metadata.oxygen, Fuellstand zusaetzlich in metadata.durability,
  damit der Balken direkt im Inventar-Slot sichtbar ist
- Kein decay auf den Items: ox_inventory loescht sonst die leere Flasche
- Auswahlmenue beim Anlegen und Auffuellen (entfaellt bei nur einer Flasche)
- diving_fill fuellt bis capacity statt auf einen Fixwert, verweigert volle
  Flaschen und verbraucht sich nur bei Erfolg
- items_for_ox_inventory.lua zum Reinkopieren

Server:
- getTanks/syncTank als Callbacks, Restluft kann nur sinken und nicht schneller
  als maxDrainPerSecond pro echter Sekunde
- SetMetadata ersetzt die Metadata-Tabelle komplett, daher wird der bestehende
  Inhalt kopiert statt nur oxygen gesetzt

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 23:45:11 +02:00
Acc-OffandGitHub e4bc09017b feat(locales): ja.json (#20) 2026-03-29 19:35:12 +02:00
HellPortalandGitHub 8421274af5 feat(locales/tr): missing entries (#15) 2025-09-07 01:59:29 +02:00
LegenandGitHub b11d38d001 fix(locales): portuguese 2024-10-05 13:59:34 -04:00
Swellington SoaresandGitHub 23bbcd3e91 feat(locales): brazilian portuguese 2024-10-02 23:02:42 -04:00
ShizoJinandGitHub ed580e805d chore(locales): german (#12) 2024-08-25 08:33:49 -07:00
WindoXandGitHub 31b2a464e2 feat(locales): pt.json (#9) 2024-05-05 10:31:55 +02:00
MatthewandGitHub b672697a7f refactor: update modules and locales 2024-03-03 16:36:53 -05:00
MatthewandGitHub b50550abd5 refactor: split config 2023-11-17 22:11:02 -08:00
unknown 75d54d7df5 feat: progress bar for refilling air and config for durations of progress bars 2023-11-09 22:30:54 -08:00
unknown 5bf410321a feat: can now refill tank at any oxygen level, but cannot fill underwater 2023-11-09 22:14:40 -08:00
unknown 5173547b24 init commit 2023-11-08 17:52:35 -08:00