Пример #1
0
        public bool OnBanUserCommand(IStarProxy proxy, StarCommand command)
        {
            if (!proxy.AuthenticatedUser.Admin)
                return false;

            ChatReceivedMessage message = new ChatReceivedMessage
            {
                Context = new MessageContext
                {
                    Mode = Mode.CommandResult
                }
            };

            if (command.Arguments.Length != 2)
            {
                message.Text = "Syntax: /banuser <uuid> \"<reason>\" <all characters? (optional)>";

                proxy.SendChatMessage(message);
            }

            string uuid = command.Arguments[0];
            string reason = command.Arguments[1];
            string allCharsStr = command.Arguments[1]?.ToLower();

            bool allChars = allCharsStr == "yes" || allCharsStr == "true" || allCharsStr == "1";

            if (ActivateBanHammer(proxy.Server, uuid, reason, allChars))
                message.Text = $"Player with uuid {uuid} has been banned!";
            else
                message.Text = $"Error while trying to ban {uuid}!";

            proxy.SendChatMessage(message);

            return true;
        }
Пример #2
0
        public static void SendChatMessage(this IStarProxy proxy, ChatReceivedMessage message)
        {
            IChatReceivePacket chatPacket = proxy.Server.Star.Resolve<IChatReceivePacket>();
            chatPacket.ReceivedMessage = message;

            proxy.SendPacket(chatPacket, Destination.Client);
        }
Пример #3
0
        public bool OnRegisterCommand(IStarProxy proxy, StarCommand command)
        {
            var resp = new ChatReceivedMessage
            {
                Context = new MessageContext
                {
                    Mode = Mode.CommandResult
                }
            };

            if (command.Arguments.Length != 3)
            {
                resp.Text = "Syntax: /register <username> <password> <confirm>";
                proxy.SendChatMessage(resp);

                return false;
            }

            if (!RegisterUser(command.Arguments[0], command.Arguments[1]))
            {
                resp.Text = $"The username {command.Arguments[0]} has already been taken!";
                proxy.SendChatMessage(resp);

                return false;
            }

            resp.Text = $"The account {command.Arguments[0]} has been created!";
            proxy.SendChatMessage(resp);

            return true;
        }
Пример #4
0
 public void Read(IStarReader reader)
 {
     ReceivedMessage = new ChatReceivedMessage
     {
         Context = new MessageContext
         {
             Mode = (Mode)reader.ReadByte(),
             ChannelName = reader.ReadString()
         },
         ClientId = reader.ReadInt32(),
         FromNick = reader.ReadString(),
         Text = reader.ReadString()
     };
 }