feat(light): auf die spieleigene Scuba-Lampe umgestellt
Lint / Lint Resource (push) Has been cancelled

GTA bringt seit v1493 eine eigene Lampe an der Tauchausruestung mit:

    SetEnableScubaGearLight(ped, toggle)   0xEE2476B9EE4A094F
    IsScubaGearLightEnabled(ped)           0x88274C11CF0D866D

Die sitzt an der richtigen Stelle, leuchtet in Blickrichtung und braucht weder
Prop noch Offsets noch einen Draw-Thread. Damit faellt der komplette
DrawSpotLight-Aufbau weg: Kegelwerte, Farbe, Schatten, Distanzfilter,
Lichter-Limit, die bone-relative Richtungsrechnung und das Sortieren der
Kandidaten pro Frame. client/light.lua schrumpft von ~110 auf ~55 Zeilen.

Gefunden ueber wobozkyng/esx_scuba.

- Der Flag ist ein lokaler Ped-Zustand, der Statebag bleibt also. Gesetzt wird
  er per AddStateBagChangeHandler und zusaetzlich alle 500ms nachgezogen, weil
  Peds beim Streaming, Respawn und Model-Wechsel neu erzeugt werden
- Die Lampe haengt an der Scuba-Kleidung (Component 8). Das Outfit wird bewusst
  nicht angefasst; wer sie nicht traegt, bekommt beim Einschalten eine Meldung
  statt stiller Wirkungslosigkeit
- /divelampcheck sagt, ob das aktuelle Outfit eine Lampe hat
- Prop ist jetzt optional und per Default aus

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 08:45:02 +02:00
co-authored by Claude Opus 5
parent 037acf1bfe
commit d2f6e3cd30
6 changed files with 119 additions and 189 deletions
+2 -1
View File
@@ -6,7 +6,8 @@
"no_tank": "Du hast keine Tauchflasche zum Auffüllen dabei!",
"tank_empty": "Diese Tauchflasche ist leer!",
"tank_already_full": "Diese Tauchflasche ist bereits voll!",
"out_of_air": "Deine Luft ist alle! Sofort auftauchen!"
"out_of_air": "Deine Luft ist alle! Sofort auftauchen!",
"no_lamp_on_outfit": "Deine Tauchausrüstung hat keine Lampe."
},
"success": {
"took_out": "Du hast deine Ausrüstung abgelegt!",
+2 -1
View File
@@ -6,7 +6,8 @@
"no_tank": "You don't have an air tank to refill!",
"tank_empty": "This air tank is empty!",
"tank_already_full": "This air tank is already full!",
"out_of_air": "You're out of air! Surface now!"
"out_of_air": "You're out of air! Surface now!",
"no_lamp_on_outfit": "Your diving suit doesn't have a lamp."
},
"success": {
"took_out": "You've taken your gear off!",