public override void Use(Player p, string message, CommandData data) { if (message.Length == 0) { if (!hooked) // not thread-safe but meh { OnSentMapEvent.Register(HandleOnSentMap, Priority.High); OnGettingMotdEvent.Register(HandleGettingMotd, Priority.High); hooked = true; } if (LevelInfo.IsRealmOwner(p.name, p.level.MapName) || CheckExtraPerm(p, data, 1)) { EnableHacksBypass(p); } else { p.Message("&cYou can only bypass hacks on your own realms."); } } else if (message.CaselessEq("stop")) { DisableHacksBypass(p); } else { Help(p); } }
protected override void HookEventHandlers() { OnPlayerChatEvent.Register(HandlePlayerChat, Priority.High); OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High); OnSentMapEvent.Register(HandleSentMap, Priority.High); OnJoinedLevelEvent.Register(HandleJoinedLevel, Priority.High); OnTabListEntryAddedEvent.Register(HandleTabListEntryAdded, Priority.High); base.HookEventHandlers(); }
public override void Load(bool startup) { OnPlayerConnectEvent.Register(ConnectHandler.HandleConnect, Priority.Critical); OnPlayerCommandEvent.Register(ChatHandler.HandleCommand, Priority.Critical); OnChatEvent.Register(ChatHandler.HandleOnChat, Priority.Critical); OnPlayerStartConnectingEvent.Register(ConnectingHandler.HandleConnecting, Priority.Critical); OnSentMapEvent.Register(MiscHandlers.HandleOnMapSent, Priority.Critical); OnPlayerMoveEvent.Register(MiscHandlers.HandlePlayerMove, Priority.Critical); OnPlayerClickEvent.Register(MiscHandlers.HandlePlayerClick, Priority.Critical); OnEcoTransactionEvent.Register(EcoHandlers.HandleEcoTransaction, Priority.Critical); OnModActionEvent.Register(ModActionHandler.HandleModAction, Priority.Critical); clearTask = Server.Background.QueueRepeat(IPThrottler.CleanupTask, null, TimeSpan.FromMinutes(10)); }
public override void Load(bool startup) { OnPlayerConnectEvent.Register(ConnectHandler.HandleConnect, Priority.Critical); OnPlayerCommandEvent.Register(ChatHandler.HandleCommand, Priority.Critical); OnChatEvent.Register(ChatHandler.HandleOnChat, Priority.Critical); OnPlayerStartConnectingEvent.Register(ConnectingHandler.HandleConnecting, Priority.Critical); OnSentMapEvent.Register(MiscHandlers.HandleSentMap, Priority.Critical); OnPlayerMoveEvent.Register(MiscHandlers.HandlePlayerMove, Priority.Critical); OnPlayerClickEvent.Register(MiscHandlers.HandlePlayerClick, Priority.Critical); OnChangedZoneEvent.Register(MiscHandlers.HandleChangedZone, Priority.Critical); OnEcoTransactionEvent.Register(EcoHandlers.HandleEcoTransaction, Priority.Critical); OnModActionEvent.Register(ModActionHandler.HandleModAction, Priority.Critical); }
void InitServerTask(SchedulerTask task) { Server.Start(); // The first check for updates is run after 10 seconds, subsequent ones every two hours Server.Background.QueueRepeat(Updater.UpdaterTask, null, TimeSpan.FromSeconds(10)); OnPlayerConnectEvent.Register(Player_PlayerConnect, Priority.Low); OnPlayerDisconnectEvent.Register(Player_PlayerDisconnect, Priority.Low); OnSentMapEvent.Register(Player_OnJoinedLevel, Priority.Low); OnLevelAddedEvent.Register(Level_LevelAdded, Priority.Low); OnLevelRemovedEvent.Register(Level_LevelRemoved, Priority.Low); OnPhysicsLevelChangedEvent.Register(Level_PhysicsLevelChanged, Priority.Low); RunOnUI_Async(() => main_btnProps.Enabled = true); }
public override void Use(Player p, string message, CommandData data) { if (!hooked) // not thread-safe but meh { OnSentMapEvent.Register(HandleOnSentMap, Priority.High); OnGettingMotdEvent.Register(HandleGettingMotd, Priority.High); hooked = true; } if (LevelInfo.IsRealmOwner(p.name, p.level.MapName) || CheckExtraPerm(p, data, 1)) { p.Extras[ext_allowed_key] = true; p.SendMapMotd(); p.Message("&aYou are now bypassing hacks restrictions on this map"); } else { p.Message("&cYou can only bypass hacks on your own realms."); } }