public void Execute(IRocketPlayer caller, string[] command) { if (command.Length > 0) { UnturnedPlayer TargetPlayer = UnturnedPlayer.FromName(command[0]); if (TargetPlayer != null) { PlayerSession Session = PlayerSessionStore.GetPlayerData(TargetPlayer); if (Session == null) { return; } if (Session.FlySessionActive) { // Stop Session Session.StartFlightSession(); UnturnedChat.Say(caller, "Flight_Disabled_Other".Translate(TargetPlayer.DisplayName)); UnturnedChat.Say(TargetPlayer, "Flight_Disabled".Translate()); } else { // Start Session Session.StartFlightSession(); UnturnedChat.Say(caller, "Flight_Enabled_Other".Translate(TargetPlayer.DisplayName)); UnturnedChat.Say(TargetPlayer, "Flight_Enabled".Translate()); } } else { UnturnedChat.Say(caller, "Error_PlayerNotFound".Translate()); } } else { UnturnedPlayer Player = (UnturnedPlayer)caller; PlayerSession Session = PlayerSessionStore.GetPlayerData(Player); if (Session.FlySessionActive) { // Stop Session Session.StopFlightSession(); UnturnedChat.Say(caller, "Flight_Disabled".Translate()); } else { // Start Session Session.StartFlightSession(); UnturnedChat.Say(caller, "Flight_Enabled".Translate()); } } }
public static void TryDeregisterPlayer(UnturnedPlayer Player) { if (Store != null && Store.ContainsKey(Player.CSteamID.m_SteamID)) { PlayerSession session = GetPlayerData(Player); if (session.FlySessionActive) { session.StopFlightSession(); } if (session.MapJumpingSession != null) { session.StopMapJumpingSession(); } if (session.NoClipSessionActive) { session.NoClip.Stop(); } session.MapJumpingSession = null; session.NoClipSessionActive = false; session.PointToolEnabled = false; Store.Remove(Player.CSteamID.m_SteamID); } }