From c06502faf60f001740b24a3968a6a0445191fddd Mon Sep 17 00:00:00 2001 From: ricky Date: Wed, 22 Jun 2011 13:34:35 +1000 Subject: [PATCH] Added warp premission to use warp. Added managewarp premission to add/remove wrap positions. Moved time to time premission (from cfg). Moved butcher to butcher permission (from cheat). Moved whitelist to cfg premission (from maintenance). Added all the available premission in the group.txt with short description for each. --- TShockAPI/Commands.cs | 116 +++++++++++++++++++----------------- TShockAPI/config/groups.txt | 36 ++++++++--- 2 files changed, 88 insertions(+), 64 deletions(-) diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 729cf227..ae3aefa1 100755 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -120,16 +120,21 @@ namespace TShockAPI ChatCommands.Add(new Command("spawn", "tp", Spawn)); ChatCommands.Add(new Command("tp", "tp", TP)); ChatCommands.Add(new Command("tphere", "tp", TPHere)); + ChatCommands.Add(new Command("warp", "warp", UseWarp)); + ChatCommands.Add(new Command("setwarp", "managewarp", SetWarp)); + ChatCommands.Add(new Command("delwarp", "managewarp", DeleteWarp)); ChatCommands.Add(new Command("reload", "cfg", Reload)); ChatCommands.Add(new Command("debug-config", "cfg", DebugConfiguration)); ChatCommands.Add(new Command("password", "cfg", Password)); ChatCommands.Add(new Command("save", "cfg", Save)); ChatCommands.Add(new Command("maxspawns", "cfg", MaxSpawns)); ChatCommands.Add(new Command("spawnrate", "cfg", SpawnRate)); - ChatCommands.Add(new Command("time", "cfg", Time)); + ChatCommands.Add(new Command("whitelist", "cfg", Whitelist)); + ChatCommands.Add(new Command("time", "time", Time)); ChatCommands.Add(new Command("slap", "pvpfun", Slap)); ChatCommands.Add(new Command("antibuild", "editspawn", ToggleAntiBuild)); ChatCommands.Add(new Command("protectspawn", "editspawn", ProtectSpawn)); + ChatCommands.Add(new Command("region", "editspawn", Region)); ChatCommands.Add(new Command("help", "", Help)); ChatCommands.Add(new Command("playing", "", Playing)); ChatCommands.Add(new Command("online", "", Playing)); @@ -138,15 +143,10 @@ namespace TShockAPI ChatCommands.Add(new Command("me", "", ThirdPerson)); ChatCommands.Add(new Command("p", "", PartyChat)); ChatCommands.Add(new Command("rules", "", Rules)); - ChatCommands.Add(new Command("whitelist", "maintenance", Whitelist)); - ChatCommands.Add(new Command("region", "editspawn", Region)); - ChatCommands.Add(new Command("warp", "", UseWarp)); - ChatCommands.Add(new Command("setwarp", "cfg", SetWarp)); - ChatCommands.Add(new Command("delwarp", "cfg", DeleteWarp)); if (ConfigurationManager.DistributationAgent != "terraria-online") { ChatCommands.Add(new Command("kill", "kill", Kill)); - ChatCommands.Add(new Command("butcher", "cheat", Butcher)); + ChatCommands.Add(new Command("butcher", "butcher", Butcher)); ChatCommands.Add(new Command("i", "cheat", Item)); ChatCommands.Add(new Command("item", "cheat", Item)); ChatCommands.Add(new Command("give", "cheat", Give)); @@ -884,6 +884,21 @@ namespace TShockAPI Tools.Broadcast(string.Format("{0} changed the spawn rate to: {1}", args.Player.Name, amount)); } + public static void Whitelist(CommandArgs args) + { + if (args.Parameters.Count == 1) + { + TextWriter tw = new StreamWriter(FileTools.WhitelistPath, true); + tw.WriteLine(args.Parameters[0]); + tw.Close(); + args.Player.SendMessage("Added " + args.Parameters[0] + " to the whitelist."); + } + } + + #endregion Server Config Commands + + #region Time/PvpFun Commands + private static void Time(CommandArgs args) { if (args.Parameters.Count != 1) @@ -920,7 +935,44 @@ namespace TShockAPI } } - #endregion Server Config Commands + private static void Slap(CommandArgs args) + { + if (args.Parameters.Count < 1 || args.Parameters.Count > 2) + { + args.Player.SendMessage("Invalid syntax! Proper syntax: /slap [dmg]", Color.Red); + return; + } + if (args.Parameters[0].Length == 0) + { + args.Player.SendMessage("Missing player name", Color.Red); + return; + } + + string plStr = args.Parameters[0]; + var players = Tools.FindPlayer(plStr); + if (players.Count == 0) + { + args.Player.SendMessage("Invalid player!", Color.Red); + } + else if (players.Count > 1) + { + args.Player.SendMessage("More than one player matched!", Color.Red); + } + else + { + var plr = players[0]; + int damage = 5; + if (args.Parameters.Count == 2) + { + int.TryParse(args.Parameters[1], out damage); + } + plr.DamagePlayer(damage); + Tools.Broadcast(string.Format("{0} slapped {1} for {2} damage.", + args.Player.Name, plr.Name, damage)); + } + } + + #endregion Time/PvpFun Commands #region World Protection Commands @@ -1062,17 +1114,6 @@ namespace TShockAPI #region General Commands - public static void Whitelist(CommandArgs args) - { - if (args.Parameters.Count == 1) - { - TextWriter tw = new StreamWriter(FileTools.WhitelistPath, true); - tw.WriteLine(args.Parameters[0]); - tw.Close(); - args.Player.SendMessage("Added " + args.Parameters[0] + " to the whitelist."); - } - } - private static void Help(CommandArgs args) { args.Player.SendMessage("TShock Commands:"); @@ -1177,43 +1218,6 @@ namespace TShockAPI #region Cheat Commands - private static void Slap(CommandArgs args) - { - if (args.Parameters.Count < 1 || args.Parameters.Count > 2) - { - args.Player.SendMessage("Invalid syntax! Proper syntax: /slap [dmg]", Color.Red); - return; - } - if (args.Parameters[0].Length == 0) - { - args.Player.SendMessage("Missing player name", Color.Red); - return; - } - - string plStr = args.Parameters[0]; - var players = Tools.FindPlayer(plStr); - if (players.Count == 0) - { - args.Player.SendMessage("Invalid player!", Color.Red); - } - else if (players.Count > 1) - { - args.Player.SendMessage("More than one player matched!", Color.Red); - } - else - { - var plr = players[0]; - int damage = 5; - if (args.Parameters.Count == 2) - { - int.TryParse(args.Parameters[1], out damage); - } - plr.DamagePlayer(damage); - Tools.Broadcast(string.Format("{0} slapped {1} for {2} damage.", - args.Player.Name, plr.Name, damage)); - } - } - private static void Kill(CommandArgs args) { if (args.Parameters.Count < 1) diff --git a/TShockAPI/config/groups.txt b/TShockAPI/config/groups.txt index 481ab561..d83c15f3 100644 --- a/TShockAPI/config/groups.txt +++ b/TShockAPI/config/groups.txt @@ -8,14 +8,34 @@ #ALWAYS DECLARE A GROUP'S PARENT BEFORE YOU DECLARE THE GROUP #currently avaliable permissions: -#kick ban ignorecheatdetection -#maintenance cfg causeevents spawnboss tp -#spawnmob cheat kill pvpfun -#immunetoban immunetokick editspawn -#ignoregriefdetection reservedslot +#reservedslot - reserved slot for player +#canwater - allow players to use water +#canlava - allow playes to use lava +#warp - allow players to use warps +#kick - kick users +#ban - ban players by name or ip +#unban - unban players by name or ip +#maintenance - check for updates/turn off server +#causeevents - allow player to drop star/meteor and start invasion/bloodmoon +#spawnboss - allow player to spawn bosses +#spawnmob - allow player to spawn any npcs +#tp - allow player to teleport +#managewarp - allow player to add/delete warp locations +#editspawn - allow player to enable/disable build protection +#cfg - allow player to view/change tshock configuration +#time - allow player to change time +#pvpfun - enable pvpfun commands +#logs - notify player when any command is executed +#kill - allow player to kill others +#butcher - allow player to kill all alive monsters +#cheat - allow player to spawn items and heal self +#immunetokick - player can't be kick +#immunetoban - player can't be banned +#ignorecheatdetection - allow player to cheat (health/mana cheats) +#ignoregriefdetection - allow player to grief (use explosives, water, lava even if they dont have premission to) -default null canwater canlava +default null canwater canlava warp vip default reservedslot newadmin default kick editspawn reservedslot -admin newadmin ban unban causeevents spawnboss spawnmob tp immunetokick kill logs -trustedadmin admin maintenance cfg cheat pvpfun ignorecheatdetection immunetoban ignoregriefdetection \ No newline at end of file +admin newadmin ban unban causeevents spawnboss spawnmob managewarp time tp pvpfun kill logs immunetokick +trustedadmin admin maintenance cfg butcher cheat immunetoban ignorecheatdetection ignoregriefdetection \ No newline at end of file