From f664470829ea834de36194a311f08f691005ee01 Mon Sep 17 00:00:00 2001 From: Skipper Date: Fri, 14 Feb 2025 08:55:23 +0000 Subject: Added chat weather plugin - Set new chat commands for fog r,g,b - day/night commands - visibility command --- lib/PacketManager/packets/FSNETCMD_ENVIRONMENT.py | 34 +++++++++++++++++------ 1 file changed, 25 insertions(+), 9 deletions(-) (limited to 'lib') 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 -- cgit v1.2.3