public override void Use(Player p, string message) { if (message == "") { Help(p); return; } string cmdName = message.Split(' ')[0]; if (Command.core.Contains(cmdName)) { Player.Message(p, "/{0} is a core command, you cannot unload it.", cmdName); return; } Command cmd = Command.all.Find(cmdName); if (cmd == null) { Player.Message(p, "\"{0}\" is not a valid or loaded command.", cmdName); return; } Command.all.Remove(cmd); foreach (Group grp in Group.GroupList) { grp.commands.Remove(cmd); } GrpCommands.Remove(cmd.name); Player.Message(p, "Command was successfully unloaded."); }
void saveStuff() { foreach (Control tP in tabControl.Controls) { if (tP is TabPage && tP != tabPage3 && tP != tabPage5) { foreach (Control ctrl in tP.Controls) { if (ctrl is TextBox) { if (ctrl.Text == "") { MessageBox.Show("A textbox has been left empty. It must be filled.\n" + ctrl.Name); return; } } } } } Save("properties/server.properties"); SaveRanks(); SaveCommands(); SaveBlocks(); Properties.Load("properties/server.properties", true); GrpCommands.fillRanks(); }
internal static string GetColor(Command cmd) { LevelPermission perm = GrpCommands.MinPerm(cmd); Group grp = Group.findPerm(perm); return(grp == null ? "&f" : grp.color); }
public override void Use(Player p, string message) { string[] args = message.Split(' '); if (message == "" || args.Length == 1) { Help(p); return; } Command cmd = Command.all.Find(args[0]); if (cmd == null) { Player.SendMessage(p, "Could not find command entered"); return; } if (p != null && !p.group.CanExecute(cmd)) { Player.SendMessage(p, "Your rank cannot use this command."); return; } LevelPermission perm = Level.PermissionFromName(args[1]); if (perm == LevelPermission.Null) { Player.SendMessage(p, "Could not find rank specified"); return; } if (p != null && perm > p.group.Permission) { Player.SendMessage(p, "Cannot set permissions to a rank higher than yours."); return; } int otherPermIndex = 0; string permName = "permission"; if (args.Length == 2) { GrpCommands.allowedCommands.Find(rA => rA.commandName == cmd.name).lowestRank = perm; GrpCommands.Save(GrpCommands.allowedCommands); GrpCommands.fillRanks(); } else if (!int.TryParse(args[2], out otherPermIndex)) { Player.SendMessage(p, "\"" + args[2] + "\" is not an integer."); } else { CommandOtherPerms.OtherPerms perms = CommandOtherPerms.Find(cmd, otherPermIndex); if (perms == null) { Player.SendMessage(p, "This command has no additional permission with that number."); return; } perms.Permission = (int)perm; CommandOtherPerms.Save(); permName = "additional permission " + otherPermIndex; } Player.GlobalMessage("&d" + cmd.name + "%S's " + permName + " was set to " + Level.PermissionToName(perm)); Player.SendMessage(p, cmd.name + "'s " + permName + " was set to " + Level.PermissionToName(perm)); }
public static void LoadAllSettings() { Properties.Load("properties/server.properties"); Updater.Load("properties/update.properties"); MCLawl.Group.InitAll(); Command.InitAll(); GrpCommands.fillRanks(); Block.SetBlocks(); Awards.Load(); }
static void UpdatePermissions(Command cmd, Player p, string message) { GrpCommands.Save(GrpCommands.allowedCommands); GrpCommands.fillRanks(); Chat.MessageAll("&d{0}%S{1}", cmd.name, message); if (Player.IsSuper(p)) { Player.Message(p, cmd.name + message); } }
public override void Use(Player p, string message) { if (message == "" || message.IndexOf(' ') == -1) { Help(p); return; } string foundBlah = Command.all.FindShort(message.Split(' ')[0]); Command foundCmd; if (foundBlah == "") { foundCmd = Command.all.Find(message.Split(' ')[0]); } else { foundCmd = Command.all.Find(foundBlah); } if (foundCmd == null) { Player.SendMessage(p, "Could not find command entered"); return; } if (p != null && !p.group.CanExecute(foundCmd)) { Player.SendMessage(p, "This command is higher than your rank."); return; } LevelPermission newPerm = Level.PermissionFromName(message.Split(' ')[1]); if (newPerm == LevelPermission.Null) { Player.SendMessage(p, "Could not find rank specified"); return; } if (p != null && newPerm > p.group.Permission) { Player.SendMessage(p, "Cannot set to a rank higher than yourself."); return; } GrpCommands.rankAllowance newCmd = GrpCommands.allowedCommands.Find(rA => rA.commandName == foundCmd.name); newCmd.lowestRank = newPerm; GrpCommands.allowedCommands[GrpCommands.allowedCommands.FindIndex(rA => rA.commandName == foundCmd.name)] = newCmd; GrpCommands.Save(GrpCommands.allowedCommands); GrpCommands.fillRanks(); Player.GlobalMessage("&d" + foundCmd.name + Server.DefaultColor + "'s permission was changed to " + Level.PermissionToName(newPerm)); //if (p == null) ; // this is useless? //{ Player.SendMessage(p, foundCmd.name + "'s permission was changed to " + Level.PermissionToName(newPerm)); return; //} }
static void SortCommands(List <Command> cmds, string sort) { if (sort == "name" || sort == "names") { cmds.Sort((a, b) => a.name .CompareTo(b.name)); } if (sort == "rank" || sort == "ranks") { cmds.Sort((a, b) => GrpCommands.MinPerm(a) .CompareTo(GrpCommands.MinPerm(b))); } }
public override void Use(Player p, string message) { if (message == "") { Help(p); return; } if (Command.core.Contains(message.Split(' ')[0])) { Player.SendMessage(p, "/" + message.Split(' ')[0] + " is a core command, you cannot unload it!"); return; } Command foundCmd = Command.all.Find(message.Split(' ')[0]); if (foundCmd == null) { Player.SendMessage(p, message.Split(' ')[0] + " is not a valid or loaded command."); return; } Command.all.Remove(foundCmd); GrpCommands.fillRanks(); Player.SendMessage(p, "Command was successfully unloaded."); }
public override void Use(Player p, string message) { if (Command.all.Contains(message.Split(' ')[0])) { Player.SendMessage(p, "That command is already loaded!"); return; } string[] param = message.Split(' '); string name = "Cmd" + param[0]; if (param.Length == 1) { string error = Scripting.Load(name); if (error != null) { Player.SendMessage(p, error); return; } GrpCommands.fillRanks(); Player.SendMessage(p, "Command was successfully loaded."); return; } if (param[1] == "vb") { string error = ScriptingVB.Load(name); if (error != null) { Player.SendMessage(p, error); return; } GrpCommands.fillRanks(); Player.SendMessage(p, "Command was successfully loaded."); return; } }
public override void Use(Player p, string message) { if (!Formatter.ValidName(p, message, "command")) { return; } if (Command.all.Contains(message)) { Player.Message(p, "That command is already loaded!"); return; } if (!File.Exists(Scripting.DllDir + "Cmd" + message + ".dll")) { Player.Message(p, "File &9Cmd" + message + ".dll %Snot found."); return; } string error = Scripting.Load("Cmd" + message); if (error != null) { Player.Message(p, error); return; } GrpCommands.fillRanks(); Player.Message(p, "Command was successfully loaded."); }
static void AddMap(Player p, string value) { if (p.group.OverseerMaps == 0) { Player.Message(p, "Your rank is not allowed to create any /os maps."); return; } string level = NextLevel(p); if (level == null) { return; } if (value == "") { value = "128 64 128 flat"; } else if (value.IndexOf(' ') == -1) { value = "128 64 128 " + value; } string[] args = value.TrimEnd().Split(' '); if (args.Length == 3) { value += " flat"; } CmdNewLvl newLvl = (CmdNewLvl)Command.all.Find("newlvl"); // TODO: this is a nasty hack, find a better way if (!newLvl.GenerateMap(p, level + " " + value)) { return; } // Set default perbuild permissions CmdLoad.LoadLevel(null, level); Level lvl = LevelInfo.FindExact(level); if (lvl == null) { return; } lvl.RealmOwner = p.name; Command.all.Find("perbuild").Use(null, lvl.name + " +" + p.name); CmdZone.ZoneAll(lvl, p.name); LevelPermission osPerm = Server.osPerbuildDefault; if (osPerm == LevelPermission.Nobody) { osPerm = GrpCommands.MinPerm(Command.all.Find("overseer")); } Group grp = Group.findPerm(osPerm); if (grp == null) { return; } Command.all.Find("perbuild").Use(null, lvl.name + " " + grp.name); Player.Message(p, "Use %T/os zone add [name] %Sto allow " + "players ranked below " + grp.ColoredName + " %Sto build in the map."); }
public void SaveCommands() { GrpCommands.Save(storedCommands); GrpCommands.fillRanks(); LoadCommands(); }