static void TrollHandler(Player player, Command cmd)
        {
            string Name = cmd.Next();

            if (Name == null)
            {
                player.Message("Player not found. Please specify valid name.");
                return;
            }
            if (!Player.IsValidName(Name))
            {
                return;
            }
            Player target = Server.FindPlayerOrPrintMatches(player, Name, true, true);

            if (target == null)
            {
                return;
            }
            string options = cmd.Next();

            if (options == null)
            {
                CdTroll.PrintUsage(player);
                return;
            }
            string Message = cmd.NextAll();

            if (Message.Length < 1 && options.ToLower() != "leave")
            {
                player.Message("&WError: Please enter a message for {0}.", target.ClassyName);
                return;
            }
            switch (options.ToLower())
            {
            case "pm":
                if (player.Can(Permission.UseColorCodes) && Message.Contains("%"))
                {
                    Message = Color.ReplacePercentCodes(Message);
                }
                Server.Players.Message("&Pfrom {0}: {1}",
                                       target.Name, Message);
                break;

            case "ac":
                Chat.SendAdmin(target, Message);
                break;

            case "st":
            case "staff":
                Chat.SendStaff(target, Message);
                break;

            case "i":
            case "impersonate":
            case "msg":
            case "message":
            case "m":
                Server.Message("{0}&S&F: {1}",
                               target.ClassyName, Message);
                break;

            case "leave":
            case "disconnect":
            case "gtfo":
                Server.Players.Message("&SPlayer {0}&S left the server.",
                                       target.ClassyName);
                break;

            default: player.Message("Invalid option. Please choose st, ac, pm, message or leave");
                break;
            }
        }
Beispiel #2
0
        private static void TrollHandler(Player player, Command cmd)            // Command Handlers should always have these two arguments
        {
            string customSetting = Init.Instance.CustomSetting;                 // Calling the custom setting

            Logger.Log(LogType.SystemActivity, customSetting);                  // Save logs
            string name = cmd.Next();                                           // Calling the next command argument

            if (name == null)                                                   // name will be null if they did not specify an argument
            {
                player.Message("Player not found. Please specify valid name."); // Send the executing player a message
                return;                                                         // Prevent from going onward.
            }
            if (!Player.IsValidName(name))
            {
                return;
            }
            Player target = Server.FindPlayerOrPrintMatches(player, name, true, true); // Check to see if a player is real

            if (target == null)
            {
                return;
            }
            string options = cmd.Next();

            if (options == null)
            {
                CdTroll.PrintUsage(player);
                return;
            }
            string message = cmd.NextAll(); // Get the next and any following arguments. Good for message commands

            if (message.Length < 1 && options.ToLower() != "leave")
            {
                player.Message("&WError: Please enter a message for {0}.", target.ClassyName);
                return;
            }
            switch (options.ToLower())
            {
            case "pm":
                if (player.Can(Permission.UseColorCodes) && message.Contains("%"))
                {
                    message = Color.ReplacePercentCodes(message);
                }
                Server.Players.Message("&Pfrom {0}: {1}", MessageType.Chat,
                                       target.Name, message);
                break;

            case "ac":
                Chat.SendAdmin(target, message);
                break;

            case "st":
            case "staff":
                Chat.SendStaff(target, message);
                break;

            case "i":
            case "impersonate":
            case "msg":
            case "message":
            case "m":
                Server.Message("{0}&S&F: {1}",
                               target.ClassyName, message);
                break;

            case "leave":
            case "disconnect":
            case "gtfo":
                Server.Players.Message("&SPlayer {0}&S left the server.", MessageType.Chat,
                                       target.ClassyName);
                break;

            default: player.Message("Invalid option. Please choose st, ac, pm, message or leave");
                break;
            }
        }