Wiki aufgebaut
+39
@@ -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)
|
||||
Reference in New Issue
Block a user