diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs
index 01d34c59..f58c249d 100755
--- a/TShockAPI/Commands.cs
+++ b/TShockAPI/Commands.cs
@@ -249,7 +249,8 @@ namespace TShockAPI
if (ConfigurationManager.DisableBuild)
{
ConfigurationManager.DisableBuild = false;
- } else
+ }
+ else
{
ConfigurationManager.DisableBuild = true;
}
@@ -304,7 +305,7 @@ namespace TShockAPI
ConfigurationManager.BanBoom, ConfigurationManager.KickBoom);
Tools.SendMessage(ply, lineTwo, Color.Yellow);
string lineThree = string.Format("RangeChecks : {0}, DisableBuild : {1}, ProtectSpawn : {2}, ProtectRadius : {3}",
- ConfigurationManager.RangeChecks, ConfigurationManager.DisableBuild,
+ ConfigurationManager.RangeChecks, ConfigurationManager.DisableBuild,
ConfigurationManager.SpawnProtect, ConfigurationManager.SpawnProtectRadius);
Tools.SendMessage(ply, lineThree, Color.Yellow);
string lineFour = string.Format("MaxSlots : {0}, SpamChecks : {1}, InvMultiplier : {2}, DMS : {3}, SpawnRate {4}",
@@ -330,15 +331,19 @@ namespace TShockAPI
}
string plStr = args.Parameters[0];
- int player = Tools.FindPlayer(plStr);
- if (player == -1)
+ var player = Tools.FindPlayer(plStr);
+ if (player.Count == 0)
+ {
Tools.SendMessage(adminplr, "Invalid player!", Color.Red);
- else if (player == -2)
+ }
+ else if (player.Count > 1)
+ {
Tools.SendMessage(adminplr, "More than one player matched!", Color.Red);
+ }
else
{
string reason = args.Parameters.Count > 1 ? String.Join(" ", args.Parameters.GetRange(1, args.Parameters.Count - 1)) : "Misbehaviour.";
- if (!Tools.Kick(player, reason))
+ if (!Tools.Kick(player[0], reason))
{
Tools.SendMessage(adminplr, "You can't kick another admin!", Color.Red);
}
@@ -361,15 +366,19 @@ namespace TShockAPI
}
string plStr = args.Parameters[0];
- int player = Tools.FindPlayer(plStr);
- if (player == -1)
+ var player = Tools.FindPlayer(plStr);
+ if (player.Count == 0)
+ {
Tools.SendMessage(adminplr, "Invalid player!", Color.Red);
- else if (player == -2)
+ }
+ else if (player.Count > 1)
+ {
Tools.SendMessage(adminplr, "More than one player matched!", Color.Red);
+ }
else
{
string reason = args.Parameters.Count > 1 ? String.Join(" ", args.Parameters.GetRange(1, args.Parameters.Count - 1)) : "Misbehaviour.";
- if (!Tools.Ban(player, reason))
+ if (!Tools.Ban(player[0], reason))
{
Tools.SendMessage(adminplr, "You can't ban another admin!", Color.Red);
}
@@ -625,15 +634,15 @@ namespace TShockAPI
}
string plStr = String.Join(" ", args.Parameters);
- int player = Tools.FindPlayer(plStr);
- if (player == -1)
+ var player = Tools.FindPlayer(plStr);
+ if (player.Count == 0)
Tools.SendMessage(adminplr, "Invalid player!", Color.Red);
- else if (player == -2)
+ else if (player.Count > 1)
Tools.SendMessage(adminplr, "More than one player matched!", Color.Red);
else
{
- TShock.Teleport(adminplr, Main.player[player].position.X, Main.player[player].position.Y);
- Tools.SendMessage(adminplr, string.Format("Teleported to {0}", Tools.FindPlayer(player)));
+ TShock.Teleport(adminplr, Main.player[player[0]].position.X, Main.player[player[0]].position.Y);
+ Tools.SendMessage(adminplr, string.Format("Teleported to {0}", Tools.FindPlayer(player[0])));
}
}
@@ -648,16 +657,20 @@ namespace TShockAPI
}
string plStr = String.Join(" ", args.Parameters);
- int player = Tools.FindPlayer(plStr);
- if (player == -1)
+ var player = Tools.FindPlayer(plStr);
+ if (player.Count == 0)
+ {
Tools.SendMessage(adminplr, "Invalid player!", Color.Red);
- else if (player == -2)
+ }
+ else if (player.Count > 1)
+ {
Tools.SendMessage(adminplr, "More than one player matched!", Color.Red);
+ }
else
{
- TShock.Teleport(player, Main.player[adminplr].position.X, Main.player[adminplr].position.Y);
- Tools.SendMessage(player, string.Format("You were teleported to {0}.", Tools.FindPlayer(adminplr)));
- Tools.SendMessage(adminplr, string.Format("You brought {0} here.", Tools.FindPlayer(player)));
+ TShock.Teleport(player[0], Main.player[adminplr].position.X, Main.player[adminplr].position.Y);
+ Tools.SendMessage(player[0], string.Format("You were teleported to {0}.", Tools.FindPlayer(adminplr)));
+ Tools.SendMessage(adminplr, string.Format("You brought {0} here.", Tools.FindPlayer(player[0])));
}
}
@@ -779,29 +792,34 @@ namespace TShockAPI
}
string plStr = args.Parameters[1];
- int player = Tools.FindPlayer(plStr);
- if (player == -1)
+ var player = Tools.FindPlayer(plStr);
+ if (player.Count == 0)
+ {
Tools.SendMessage(adminplr, "Invalid player!", Color.Red);
- else if (player == -2)
+ }
+ else if (player.Count > 1)
+ {
Tools.SendMessage(adminplr, "More than one player matched!", Color.Red);
+ }
else
{
+ int plr = player[0];
bool flag = false;
for (int i = 0; i < 40; i++)
{
- if (!Main.player[player].inventory[i].active)
+ if (!Main.player[plr].inventory[i].active)
{
//Main.player[player].inventory[i].SetDefaults(type);
//Main.player[player].inventory[i].stack = Main.player[player].inventory[i].maxStack;
int id = Terraria.Item.NewItem(0, 0, 0, 0, type, 1, true);
- Main.item[id].position.X = Main.player[player].position.X;
- Main.item[id].position.Y = Main.player[player].position.Y;
+ Main.item[id].position.X = Main.player[plr].position.X;
+ Main.item[id].position.Y = Main.player[plr].position.Y;
Main.item[id].stack = Main.item[id].maxStack;
//TShock.SendDataAll(21, -1, "", id);
NetMessage.SendData(21, -1, -1, "", id, 0f, 0f, 0f);
Tools.SendMessage(adminplr,
- string.Format("Gave {0} some {1}.", Tools.FindPlayer(player), Main.item[id].name));
- Tools.SendMessage(player,
+ string.Format("Gave {0} some {1}.", Tools.FindPlayer(plr), Main.item[id].name));
+ Tools.SendMessage(plr,
string.Format("{0} gave you some {1}.", Tools.FindPlayer(adminplr),
Main.item[id].name));
//TShock.UpdateInventories();
@@ -821,16 +839,21 @@ namespace TShockAPI
if (args.Parameters.Count > 0)
{
string plStr = String.Join(" ", args.Parameters);
- int player = Tools.FindPlayer(plStr);
- if (player == -1)
+ var player = Tools.FindPlayer(plStr);
+ if (player.Count == 0)
+ {
Tools.SendMessage(adminplr, "Invalid player!", Color.Red);
- else if (player == -2)
+ }
+ else if (player.Count > 1)
+ {
Tools.SendMessage(adminplr, "More than one player matched!", Color.Red);
+ }
else
{
- DropHearts((int)Main.player[player].position.X, (int)Main.player[player].position.Y, 20);
- Tools.SendMessage(adminplr, string.Format("You just healed {0}", Tools.FindPlayer(player)));
- Tools.SendMessage(player, string.Format("{0} just healed you!", Tools.FindPlayer(adminplr)));
+ int plr = player[0];
+ DropHearts((int)Main.player[plr].position.X, (int)Main.player[plr].position.Y, 20);
+ Tools.SendMessage(adminplr, string.Format("You just healed {0}", Tools.FindPlayer(plr)));
+ Tools.SendMessage(plr, string.Format("{0} just healed you!", Tools.FindPlayer(adminplr)));
}
}
else
@@ -1007,16 +1030,21 @@ namespace TShockAPI
}
string plStr = String.Join(" ", args.Parameters);
- int player = Tools.FindPlayer(plStr);
- if (player == -1)
+ var player = Tools.FindPlayer(plStr);
+ if (player.Count == 0)
+ {
Tools.SendMessage(adminplr, "Invalid player!", Color.Red);
- else if (player == -2)
+ }
+ else if (player.Count > 1)
+ {
Tools.SendMessage(adminplr, "More than one player matched!", Color.Red);
+ }
else
{
- Tools.SendMessage(adminplr, string.Format("You just killed {0}!", Tools.FindPlayer(player)));
- Tools.SendMessage(player, string.Format("{0} just killed you!", Tools.FindPlayer(adminplr)));
- TShock.PlayerDamage(player, 999999);
+ int plr = player[0];
+ Tools.SendMessage(adminplr, string.Format("You just killed {0}!", Tools.FindPlayer(plr)));
+ Tools.SendMessage(plr, string.Format("{0} just killed you!", Tools.FindPlayer(adminplr)));
+ TShock.PlayerDamage(plr, 999999);
}
}
@@ -1036,11 +1064,15 @@ namespace TShockAPI
}
string plStr = args.Parameters[0];
- int player = Tools.FindPlayer(plStr);
- if (player == -1)
+ var player = Tools.FindPlayer(plStr);
+ if (player.Count == 0)
+ {
Tools.SendMessage(adminplr, "Invalid player!", Color.Red);
- else if (player == -2)
+ }
+ else if (player.Count > 1)
+ {
Tools.SendMessage(adminplr, "More than one player matched!", Color.Red);
+ }
else
{
int damage = 5;
@@ -1048,9 +1080,9 @@ namespace TShockAPI
{
int.TryParse(args.Parameters[1], out damage);
}
- TShock.PlayerDamage(player, damage);
- Tools.Broadcast(string.Format("{0} slapped {1} for {2} damage.",
- Tools.FindPlayer(adminplr), Tools.FindPlayer(player), damage));
+ TShock.PlayerDamage(player[0], damage);
+ Tools.Broadcast(string.Format("{0} slapped {1} for {2} damage.",
+ Tools.FindPlayer(adminplr), Tools.FindPlayer(player[0]), damage));
}
}
diff --git a/TShockAPI/Tools.cs b/TShockAPI/Tools.cs
index f5a44b7c..f062fe76 100755
--- a/TShockAPI/Tools.cs
+++ b/TShockAPI/Tools.cs
@@ -176,26 +176,26 @@ namespace TShockAPI
}
///
- /// Finds the name of the player of the int given
+ ///
///
- /// string player name
- /// int player
- public static int FindPlayer(string ply)
+ ///
+ ///
+ public static List FindPlayer(string ply)
{
- List found = new List();
+ var found = new List();
+ ply = ply.ToLower();
for (int i = 0; i < Main.player.Length; i++)
{
- if (Main.player[i].name.ToLower().Equals(ply.ToLower()))
- return i;
- if (Main.player[i].name.ToLower().Contains(ply.ToLower()))
+ if (Main.player[i] == null)
+ continue;
+
+ string name = Main.player[i].name.ToLower();
+ if (name.Equals(ply))
+ return new List { i };
+ if (name.Contains(ply))
found.Add(i);
}
- if (found.Count == 1)
- return found[0];
- else if (found.Count > 1)
- return -2;
- else
- return -1;
+ return found;
}
///
@@ -205,14 +205,7 @@ namespace TShockAPI
/// string name
public static string FindPlayer(int ply)
{
- for (int i = 0; i < Main.player.Length; i++)
- {
- if (i == ply)
- {
- return Main.player[i].name;
- }
- }
- return "null";
+ return Main.player[ply] != null ? Main.player[ply].name : null;
}
///