SendWarp is now wrapped into Warp

Removed old functions that are no longer relevant.
Changed help to be a little more helpful in Warp.
Wrapped the Warp command into regions.
This commit is contained in:
Lucas Nicodemus 2012-05-29 18:06:18 -06:00
parent 45e4eb0f9e
commit d890359551

View file

@ -148,12 +148,8 @@ namespace TShockAPI
add(Permissions.tp, Spawn, "spawn"); add(Permissions.tp, Spawn, "spawn");
add(Permissions.tp, TP, "tp"); add(Permissions.tp, TP, "tp");
add(Permissions.tphere, TPHere, "tphere"); add(Permissions.tphere, TPHere, "tphere");
add(Permissions.tphere, SendWarp, "sendwarp", "sw");
add(Permissions.tpallow, TPAllow, "tpallow"); add(Permissions.tpallow, TPAllow, "tpallow");
add(Permissions.warp, UseWarp, "warp"); add(Permissions.warp, Warp, "warp", "setwarp", "delwarp", "sendwarp", "sw");
//add(Permissions.managewarp, SetWarp, "setwarp");
//add(Permissions.managewarp, DeleteWarp, "delwarp");
//add(Permissions.managewarp, HideWarp, "hidewarp");
add(Permissions.managegroup, AddGroup, "addgroup"); add(Permissions.managegroup, AddGroup, "addgroup");
add(Permissions.managegroup, DeleteGroup, "delgroup"); add(Permissions.managegroup, DeleteGroup, "delgroup");
add(Permissions.managegroup, ModifyGroup, "modgroup"); add(Permissions.managegroup, ModifyGroup, "modgroup");
@ -1735,43 +1731,7 @@ namespace TShockAPI
args.Player.TPAllow = !args.Player.TPAllow; args.Player.TPAllow = !args.Player.TPAllow;
} }
private static void SendWarp(CommandArgs args) private static void Warp(CommandArgs args)
{
if (args.Parameters.Count < 2)
{
args.Player.SendMessage("Invalid syntax! Proper syntax: /sendwarp [player] [warpname]", Color.Red);
return;
}
var foundplr = TShock.Utils.FindPlayer(args.Parameters[0]);
if (foundplr.Count == 0)
{
args.Player.SendMessage("Invalid player!", Color.Red);
return;
}
else if (foundplr.Count > 1)
{
args.Player.SendMessage(string.Format("More than one ({0}) player matched!", args.Parameters.Count), Color.Red);
return;
}
string warpName = String.Join(" ", args.Parameters[1]);
var warp = TShock.Warps.FindWarp(warpName);
var plr = foundplr[0];
if (warp.WarpPos != Vector2.Zero)
{
if (plr.Teleport((int) warp.WarpPos.X, (int) warp.WarpPos.Y + 3))
{
plr.SendMessage(string.Format("{0} Warped you to {1}", args.Player.Name, warpName), Color.Yellow);
args.Player.SendMessage(string.Format("You warped {0} to {1}.", plr.Name, warpName), Color.Yellow);
}
}
else
{
args.Player.SendMessage("Specified warp not found", Color.Red);
}
}
private static void UseWarp(CommandArgs args)
{ {
bool hasManageWarpPermission = args.Player.Group.HasPermission(Permissions.managewarp); bool hasManageWarpPermission = args.Player.Group.HasPermission(Permissions.managewarp);
if (args.Parameters.Count < 1) if (args.Parameters.Count < 1)
@ -1779,21 +1739,26 @@ namespace TShockAPI
if (hasManageWarpPermission) if (hasManageWarpPermission)
{ {
args.Player.SendMessage("All warp commands were merged into one in TShock 4.0.", Color.Yellow); args.Player.SendMessage("All warp commands were merged into one in TShock 4.0.", Color.Yellow);
args.Player.SendMessage("Previous warps with spaces should be wrapped in single quotes.", Color.Red);
args.Player.SendMessage("Invalid syntax. Syntax: /warp [command] [arguments]", Color.Green); args.Player.SendMessage("Invalid syntax. Syntax: /warp [command] [arguments]", Color.Green);
args.Player.SendMessage("Commands: add, del, hide, list, [warpname]", Color.Green); args.Player.SendMessage("Commands: add, del, hide, list, send, [warpname]", Color.Green);
args.Player.SendMessage("Arguments: add [warp name], del [warp name], hide [warp name] [Enable(true/false)], list [page]", Color.Green); args.Player.SendMessage("Arguments: add [warp name], del [warp name], list [page]", Color.Green);
args.Player.SendMessage("Arguments: send [player] [warp name], hide [warp name] [Enable(true/false)]", Color.Green);
args.Player.SendMessage("Examples: /warp add foobar, /warp hide foobar true, /warp foobar", Color.Green); args.Player.SendMessage("Examples: /warp add foobar, /warp hide foobar true, /warp foobar", Color.Green);
return; return;
} }
else else
{ {
args.Player.SendMessage("Invalid syntax. Syntax: /warp [name] or /warp list <page>", Color.Red); args.Player.SendMessage("Invalid syntax. Syntax: /warp [name] or /warp list <page>", Color.Red);
args.Player.SendMessage("Previous warps with spaces should be wrapped in single quotes.", Color.Red);
return; return;
} }
} }
if (args.Parameters[0].Equals("list")) if (args.Parameters[0].Equals("list"))
{ {
#region
//How many warps per page //How many warps per page
const int pagelimit = 15; const int pagelimit = 15;
//How many warps per line //How many warps per line
@ -1843,9 +1808,11 @@ namespace TShockAPI
{ {
args.Player.SendMessage(string.Format("Type /warp list {0} for more warps.", (page + 2)), Color.Yellow); args.Player.SendMessage(string.Format("Type /warp list {0} for more warps.", (page + 2)), Color.Yellow);
} }
#endregion
} }
else if (args.Parameters[0].ToLower() == "add" && hasManageWarpPermission) else if (args.Parameters[0].ToLower() == "add" && hasManageWarpPermission)
{ {
#region Add warp
if (args.Parameters.Count == 2) if (args.Parameters.Count == 2)
{ {
string warpName = args.Parameters[1]; string warpName = args.Parameters[1];
@ -1864,9 +1831,12 @@ namespace TShockAPI
} }
else else
args.Player.SendMessage("Invalid syntax! Proper syntax: /warp add [name]", Color.Red); args.Player.SendMessage("Invalid syntax! Proper syntax: /warp add [name]", Color.Red);
#endregion
} }
else if (args.Parameters[0].ToLower() == "del" && hasManageWarpPermission) else if (args.Parameters[0].ToLower() == "del" && hasManageWarpPermission)
{ {
#region Del warp
if (args.Parameters.Count == 2) if (args.Parameters.Count == 2)
{ {
string warpName = args.Parameters[1]; string warpName = args.Parameters[1];
@ -1877,9 +1847,12 @@ namespace TShockAPI
} }
else else
args.Player.SendMessage("Invalid syntax! Proper syntax: /warp del [name]", Color.Red); args.Player.SendMessage("Invalid syntax! Proper syntax: /warp del [name]", Color.Red);
#endregion
} }
else if (args.Parameters[0].ToLower() == "hide" && hasManageWarpPermission) else if (args.Parameters[0].ToLower() == "hide" && hasManageWarpPermission)
{ {
#region Hide warp
if (args.Parameters.Count == 3) if (args.Parameters.Count == 3)
{ {
string warpName = args.Parameters[1]; string warpName = args.Parameters[1];
@ -1901,6 +1874,45 @@ namespace TShockAPI
} }
else else
args.Player.SendMessage("Invalid syntax! Proper syntax: /warp hide [name] <true/false>", Color.Red); args.Player.SendMessage("Invalid syntax! Proper syntax: /warp hide [name] <true/false>", Color.Red);
#endregion
}
else if (args.Parameters[0].ToLower() == "send" && args.Player.Group.HasPermission(Permissions.tphere))
{
#region Warp send
if (args.Parameters.Count < 3)
{
args.Player.SendMessage("Invalid syntax! Proper syntax: /warp send [player] [warpname]", Color.Red);
return;
}
var foundplr = TShock.Utils.FindPlayer(args.Parameters[1]);
if (foundplr.Count == 0)
{
args.Player.SendMessage("Invalid player!", Color.Red);
return;
}
else if (foundplr.Count > 1)
{
args.Player.SendMessage(string.Format("More than one ({0}) player matched!", args.Parameters.Count), Color.Red);
return;
}
string warpName = args.Parameters[2];
var warp = TShock.Warps.FindWarp(warpName);
var plr = foundplr[0];
if (warp.WarpPos != Vector2.Zero)
{
if (plr.Teleport((int)warp.WarpPos.X, (int)warp.WarpPos.Y + 3))
{
plr.SendMessage(string.Format("{0} Warped you to {1}", args.Player.Name, warpName), Color.Yellow);
args.Player.SendMessage(string.Format("You warped {0} to {1}.", plr.Name, warpName), Color.Yellow);
}
}
else
{
args.Player.SendMessage("Specified warp not found.", Color.Red);
}
#endregion
} }
else else
{ {