aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSkipper <[email protected]>2025-02-14 08:55:23 +0000
committerSkipper <[email protected]>2025-02-14 08:56:31 +0000
commitf664470829ea834de36194a311f08f691005ee01 (patch)
treef4076310cb3f2bc2edf8fd3608ebb0eecc30c179 /lib
parent7e74ceff2b7d32c934fa2e42fefaee45cfab4ff9 (diff)
Added chat weather plugin
- Set new chat commands for fog r,g,b - day/night commands - visibility command
Diffstat (limited to 'lib')
-rw-r--r--lib/PacketManager/packets/FSNETCMD_ENVIRONMENT.py34
1 files changed, 25 insertions, 9 deletions
diff --git a/lib/PacketManager/packets/FSNETCMD_ENVIRONMENT.py b/lib/PacketManager/packets/FSNETCMD_ENVIRONMENT.py
index c647229..3ede2ec 100644
--- a/lib/PacketManager/packets/FSNETCMD_ENVIRONMENT.py
+++ b/lib/PacketManager/packets/FSNETCMD_ENVIRONMENT.py
@@ -39,22 +39,38 @@ class FSNETCMD_ENVIRONMENT: #33
flags |= 4
flags |=8
if midair:
- flags += 16
- flags += 32
+ flags |= 16
+ flags |= 32
if can_land_anywhere:
- flags += 64
- flags += 128
+ flags |= 64
+ flags |= 128
buffer = pack("IHHIffff", 33, 0, day_night, flags, *wind, visibility)
if with_size:
return pack("I", len(buffer))+buffer
return buffer
@staticmethod
- def setTime(buffer:bytes, night:bool, with_size:bool = True):
- if with_size:
- values = list(unpack("IHHIffff", buffer[4:]))
+ def set_time(buffer:bytes, night:bool, with_size:bool = True):
+ if len(buffer)>28:
+ values = list(unpack("IHHIffff", buffer[4:]))
else:
- values = list(unpack("IHHIffff", buffer))
+ values = list(unpack("IHHIffff", buffer))
if night: values[2] = 1
elif not night: values[2] = 0
- return pack("IHHIffff", *values)
+ packet = pack("IHHIffff", *values)
+ if with_size:
+ return pack("I", len(packet)) + packet
+ return packet
+
+ @staticmethod
+ def set_visibility(buffer:bytes, visibility:int, with_size:bool = True):
+ if len(buffer)>28: #Full data packet + the size
+ environment = FSNETCMD_ENVIRONMENT(buffer[4:])
+ else:
+ environment = FSNETCMD_ENVIRONMENT(buffer)
+ environment.visibility = visibility
+ packet = FSNETCMD_ENVIRONMENT.encode(environment.day_night, True,
+ environment.flags['blackout'], environment.flags['midair'],
+ environment.flags['can_land_anywhere'],
+ environment.wind, visibility, with_size)
+ return packet \ No newline at end of file