public static void ForceJoin(CommandArgs args) { TSPlayer tSPlayer = args.Player; if (args.Parameters.Count < 2) { tSPlayer.SendErrorMessage("Invalid syntax! Proper syntax: /forcejoin <Player Name> <Event Name>"); return; } List <TSPlayer> tSPlayerTargets = TSPlayer.FindByNameOrID(args.Parameters[0]); if (tSPlayerTargets.Count == 0) { tSPlayer.SendErrorMessage("The player specified was not found!"); return; } if (tSPlayerTargets.Count > 1) { tSPlayer.SendErrorMessage("Multiple players with that name were found!"); return; } TSPlayer tSPlayerTarget = tSPlayerTargets.First(); string eventName = string.Join("", args.Parameters.Skip(1)).ToLower(); HubEvent hubEvent = HubEvent.GetEvent(eventName); if (hubEvent == null) { tSPlayer.SendErrorMessage("The event specified was not found!"); return; } // Check if player has already joined an event, and if so, remove them from it HubEvent playerHubEvent = HubEvent.GetEventPlayerIn(tSPlayerTarget.Name); if (playerHubEvent != null) { HubEvent.RemovePlayerFromEvent(tSPlayerTarget, playerHubEvent); } HubEvent.AddPlayerToEvent(tSPlayerTarget, hubEvent); tSPlayer.SendSuccessMessage(string.Format("{0} was successfully added to {1}!", tSPlayerTarget.Name, hubEvent.eventName)); }
public static void LeaveGame(CommandArgs args) { TSPlayer tSPlayer = args.Player; HubEvent hubEvent = HubEvent.GetEventPlayerIn(tSPlayer.Name); if (hubEvent == null) { tSPlayer.SendErrorMessage("You are not in an event!"); return; } HubEvent.RemovePlayerFromEvent(tSPlayer, hubEvent); tSPlayer.SendSuccessMessage("You were successfully removed from " + hubEvent.eventName + "!"); return; }
public static void OnServerLeave(LeaveEventArgs args) { // Kick players out of events if they leave the game. TSPlayer tSPlayer = TShock.Players[args.Who]; HubEvent hubEvent = HubEvent.GetEventPlayerIn(tSPlayer.Name); if (hubEvent == null) { return; } HubEvent.RemovePlayerFromEvent(tSPlayer, hubEvent); Util.spectatingPlayersToTargets.Remove(tSPlayer); }
public static void ForceJoinAll(CommandArgs args) { TSPlayer tSPlayer = args.Player; if (args.Parameters.Count < 1) { tSPlayer.SendErrorMessage("Invalid syntax! Proper syntax: /forcejoinall <Event Name>"); return; } string eventName = string.Join("", args.Parameters).ToLower(); HubEvent hubEvent = HubEvent.GetEvent(eventName); if (hubEvent == null) { tSPlayer.SendErrorMessage("The event specified was not found!"); return; } string players = ""; foreach (TSPlayer tSP in TShock.Players) { if (tSP == null) { continue; } // Check if player has already joined an event, and if so, remove them from it HubEvent playerHubEvent = HubEvent.GetEventPlayerIn(tSP.Name); if (playerHubEvent != null) { HubEvent.RemovePlayerFromEvent(tSP, playerHubEvent); } HubEvent.AddPlayerToEvent(tSP, hubEvent); players += tSP.Name + ", "; } players = players.Trim(' ', ','); tSPlayer.SendSuccessMessage(string.Format("{0} was successfully added to {1}!", players, hubEvent.eventName)); }