Exemplo n.º 1
0
        public static string Append(Player p, string ai, string cmd, string[] args)
        {
            using (StreamWriter w = new StreamWriter("bots/" + ai, true)) {
                if (cmd.Length == 0)
                {
                    cmd = "walk";
                }
                if (cmd.CaselessEq("tp"))
                {
                    cmd = "teleport";
                }

                BotInstruction ins = BotInstruction.Find(cmd);
                if (ins == null)
                {
                    p.Message("Could not find instruction \"" + cmd + "\""); return(null);
                }

                CommandExtraPerms killPerms = CommandExtraPerms.Find("BotSet", 1);
                if (ins.Name.CaselessEq("kill") && !killPerms.UsableBy(p.Rank))
                {
                    killPerms.MessageCannotUse(p);
                    return(null);
                }

                try {
                    ins.Output(p, args, w);
                } catch {
                    p.Message("Invalid arguments given for instruction " + ins.Name);
                    return(null);
                }
                return(ins.Name);
            }
        }