Files
d4rk_divegear/fxmanifest.lua
T
D4rkst3randClaude Opus 5 d661152bc9
Lint / Lint Resource (push) Has been cancelled
feat: Flaschengroessen mit echter Laufzeit und persistenter Restluft
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

27 lines
503 B
Lua

fx_version 'cerulean'
game 'gta5'
author 'D4rkst3r'
description 'Tauchausrüstung mit Flaschengrößen, gesyncter Lampe und Tiefenanzeige'
repository 'https://git.d4rkst3r.de/D4rkst3r/d4rk_divegear'
version '1.0.1'
ox_lib 'locale'
shared_scripts {
'@ox_lib/init.lua',
'@qbx_core/modules/lib.lua',
}
server_script 'server/main.lua'
client_script 'client/main.lua'
files {
'config/client.lua',
'config/shared.lua',
'locales/*.json',
}
lua54 'yes'
use_experimental_fxv2_oal 'yes'