Fixed /password, /p and /me throwing IndexOutOfBoundsException when no text is entered.

This commit is contained in:
ricky 2011-06-17 13:28:13 +10:00
parent 8fa4687f33
commit 4ac4571bb1

View file

@ -696,7 +696,12 @@ namespace TShockAPI
private static void Password(CommandArgs args) private static void Password(CommandArgs args)
{ {
string passwd = args.Message.Remove(0, 9).Trim(); if (args.Parameters.Count != 1)
{
args.Player.SendMessage("Invalid syntax! Proper syntax: /password \"<new password>\"", Color.Red);
return;
}
string passwd = args.Parameters[0];
Netplay.password = passwd; Netplay.password = passwd;
args.Player.SendMessage(string.Format("Server password changed to: {0}", passwd)); args.Player.SendMessage(string.Format("Server password changed to: {0}", passwd));
} }
@ -858,16 +863,25 @@ namespace TShockAPI
private static void ThirdPerson(CommandArgs args) private static void ThirdPerson(CommandArgs args)
{ {
string msg = args.Message.Remove(0, 3); if (args.Parameters.Count == 0)
Tools.Broadcast(string.Format("*{0} {1}", args.Player.Name, msg), 205, 133, 63); {
args.Player.SendMessage("Invalid syntax! Proper syntax: /me <text>", Color.Red);
return;
}
Tools.Broadcast(string.Format("*{0} {1}", args.Player.Name, String.Join(" ", args.Parameters)), 205, 133, 63);
} }
private static void PartyChat(CommandArgs args) private static void PartyChat(CommandArgs args)
{ {
if (args.Parameters.Count == 0)
{
args.Player.SendMessage("Invalid syntax! Proper syntax: /p <team chat text>", Color.Red);
return;
}
int playerTeam = args.Player.Team; int playerTeam = args.Player.Team;
if (playerTeam != 0) if (playerTeam != 0)
{ {
string msg = string.Format("<{0}> {1}", args.Player.Name, args.Message.Remove(0, 2)); string msg = string.Format("<{0}> {1}", args.Player.Name, String.Join(" ", args.Parameters));
foreach (TSPlayer player in TShock.Players) foreach (TSPlayer player in TShock.Players)
{ {
if (player != null && player.Active && player.Team == playerTeam) if (player != null && player.Active && player.Team == playerTeam)