diff --git a/Lampe.md b/Lampe.md new file mode 100644 index 0000000..f545300 --- /dev/null +++ b/Lampe.md @@ -0,0 +1,39 @@ +# Lampe + +Es wird **kein Licht selbst gezeichnet**. GTA bringt seit v1493 (Cayo Perico) eine +eigene Lampe an der Tauchausrüstung mit: + +```lua +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. + +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 8, trifft hier nicht zu. Das Outfit wird nicht angefasst. +Sollte die Native bei einem Ped-Model doch nicht anschlagen, gibt es beim +Einschalten eine Meldung statt stiller Wirkungslosigkeit. + +## Wie die Synchronisation läuft + +Der Flag ist ein **lokaler** Ped-Zustand und repliziert sich nicht von selbst. +Deshalb läuft der Zustand über einen Statebag: + +```lua +LocalPlayer.state:set('divelight', true, true) +``` + +Jeder Client setzt den Flag für die Taucher in seiner Nähe selbst — sofort per +`AddStateBagChangeHandler`, plus ein Abgleich alle `lampReconcileIntervalMs`. +Der Abgleich ist nötig, weil Peds beim Streaming, Respawn und Model-Wechsel neu +erzeugt werden und den Flag dabei verlieren. + +--- + +**Wiki:** [Übersicht](Home) · [Installation](Installation) · [Items](Items) · +[Bedienung](Bedienung) · [Konfiguration](Konfiguration) · +[Tiefe und Atemgas](Tiefe-und-Atemgas) · [Lampe](Lampe) · [Exports](Exports) · +[Entwicklung](Entwicklung)