From 920fabaa7e77fc58434d7a9e968999011574e688 Mon Sep 17 00:00:00 2001 From: high Date: Sat, 3 Sep 2011 15:16:36 -0400 Subject: [PATCH 1/2] Fixed TSDEV-117 Conflicts: TShockAPI/Properties/AssemblyInfo.cs --- TShockAPI/DB/GroupManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TShockAPI/DB/GroupManager.cs b/TShockAPI/DB/GroupManager.cs index 0afb4da6..70e444d2 100644 --- a/TShockAPI/DB/GroupManager.cs +++ b/TShockAPI/DB/GroupManager.cs @@ -113,7 +113,7 @@ namespace TShockAPI.DB string query = (TShock.Config.StorageType.ToLower() == "sqlite") ? "INSERT OR IGNORE INTO GroupList (GroupName, Parent, Commands, ChatColor) VALUES (@0, @1, @2, @3);" : - "INSERT IGNORE INTO GroupList SET GroupName=@0, Parent=@1, Commands=@1, ChatColor=@1"; + "INSERT IGNORE INTO GroupList SET GroupName=@0, Parent=@1, Commands=@2, ChatColor=@3"; if (database.Query(query, name, parentname, permissions, chatcolor) == 1) message = "Group " + name + " has been created successfully."; From 4a1f944caf9ee0d1b43aa14f86bdce576621ade0 Mon Sep 17 00:00:00 2001 From: darkunderdog Date: Sat, 3 Sep 2011 20:03:23 -0500 Subject: [PATCH 2/2] Added /sendwarp command - You are now able to send people to a specific warp. --- TShockAPI/Commands.cs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 9fc50466..2624c085 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -137,6 +137,7 @@ namespace TShockAPI add(Permissions.tp, Spawn, "spawn"); add(Permissions.tp, TP, "tp"); add(Permissions.tphere, TPHere, "tphere"); + add(Permissions.tphere, SendWarp, "sendwarp", "sw"); add(Permissions.warp, UseWarp, "warp"); add(Permissions.managewarp, SetWarp, "setwarp"); add(Permissions.managewarp, DeleteWarp, "delwarp"); @@ -1202,6 +1203,42 @@ namespace TShockAPI } } + private static void SendWarp(CommandArgs args) + { + if (args.Parameters.Count < 2) + { + args.Player.SendMessage("Invalid syntax! Proper syntax: /sendwarp [player] [warpname]", Color.Red); + return; + } + + var foundplr = Tools.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 != PointF.Empty) + { + 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 SetWarp(CommandArgs args) { if (args.Parameters.Count > 0)