diff options
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/chat_weather_setter.py | 8 | ||||
| -rw-r--r-- | plugins/crash_on_ground.py | 30 | ||||
| -rw-r--r-- | plugins/radar.py | 4 | ||||
| -rw-r--r-- | plugins/refuel.py | 5 |
4 files changed, 39 insertions, 8 deletions
diff --git a/plugins/chat_weather_setter.py b/plugins/chat_weather_setter.py index 5b31a38..675bac5 100644 --- a/plugins/chat_weather_setter.py +++ b/plugins/chat_weather_setter.py @@ -13,10 +13,10 @@ class Plugin: self.plugin_manager = plugin_manager #self.plugin_manager.register_hook('on_chat', self.on_chat) self.plugin_manager.register_hook('on_environment_server', self.on_environment) - self.plugin_manager.register_command('fog', self.fog) - self.plugin_manager.register_command('sky', self.sky) - self.plugin_manager.register_command('time', self.time) - self.plugin_manager.register_command('vis', self.visibility) + self.plugin_manager.register_command('fog', self.fog, "Sets fog color. Usage : /fog r,g,b") + self.plugin_manager.register_command('sky', self.sky, "Sets sky color. Usage : /sky r,g,b") + self.plugin_manager.register_command('time', self.time, "Sets time. Usage : /time <day|night>") + self.plugin_manager.register_command('visibility', self.visibility, "Sets Visibilty : /vis <visibilty in meters>", "vis") def fog(self, full_message, player, message_to_client, message_to_server): try: diff --git a/plugins/crash_on_ground.py b/plugins/crash_on_ground.py new file mode 100644 index 0000000..15b1fbf --- /dev/null +++ b/plugins/crash_on_ground.py @@ -0,0 +1,30 @@ +# This plugin renders the dead plane until crashes in ground +# Thus disabling mid air dispawning when dead +from lib.PacketManager.packets import FSNETCMD_REMOVEAIRPLANE, FSNETCMD_READBACK, FSNETCMD_GETDAMAGE + +ENABLED = True + +class Plugin: + def __init__(self): + self.plugin_manager = None + + def register(self, plugin_manager): + self.plugin_manager = plugin_manager + self.plugin_manager.register_hook('on_remove_airplane_server', self.on_death) + + def on_death(self, data, player, message_to_client, message_to_server): + if player.aircraft.id != -1: + if player.aircraft.id == FSNETCMD_REMOVEAIRPLANE(data).object_id: + return True + else: + decode = FSNETCMD_REMOVEAIRPLANE(data) + b = FSNETCMD_GETDAMAGE.encode(decode.object_id, 1, 1, + player.aircraft.id, 10000, + 11, 0, True) + message_to_client.append(b) + message_to_server.append(b) + a = FSNETCMD_READBACK.encode(2, player.aircraft.id, True) + message_to_server.append(a) + return False + else: + return True diff --git a/plugins/radar.py b/plugins/radar.py index 7636dc4..ac47b5b 100644 --- a/plugins/radar.py +++ b/plugins/radar.py @@ -9,7 +9,7 @@ import struct import traceback ENABLED = True -RADIUS = 5000 # in meters, within this range planes with different IFF can see each other. +RADIUS = 9000 # in meters, within this range planes with different IFF can see each other. flying_players = {} @@ -60,7 +60,7 @@ class Plugin: try: # This is a really arbitary position thats hard to reach, better would # be to randomise it for every time the server starts. - position_data = struct.pack("3f", 10e7, 10e7, 10e7) + position_data = struct.pack("3f", 10e8, 200, 10e8) if decode.packet_version == 4 or 5: updated_data = data[:14] + position_data + data[26:] else: diff --git a/plugins/refuel.py b/plugins/refuel.py index ff96699..cde2e03 100644 --- a/plugins/refuel.py +++ b/plugins/refuel.py @@ -1,6 +1,7 @@ """ This plugin enables you to perform air to air refueling. """ +from ast import alias import math from lib.PacketManager.packets import FSNETCMD_AIRCMD, FSNETCMD_AIRPLANESTATE from lib import YSchat @@ -21,8 +22,8 @@ class Plugin: def register(self, plugin_manager): self.plugin_manager = plugin_manager - self.plugin_manager.register_command('refuel', self.refuel) - self.plugin_manager.register_command('refueler', self.refueler) + self.plugin_manager.register_command('refuel', self.refuel, "Allows you to get refuled", alias = "r") + self.plugin_manager.register_command('refueler', self.refueler, "Allows other players to refuel from you", alias = "rf") self.plugin_manager.register_hook('on_flight_data', self.on_flight_data) self.plugin_manager.register_hook('on_unjoin', self.on_unjoin) |
