示例#1
0
 public static bool Orb_Command_Chat_Spam_Method(Server.NetObject NetObj, CommandReader Command)
 {
     #region Spam
     if (NetObj.UserObject.Muted)
     {
         NetObj.UserObject.MuteNotifier();
         return(false);
     }
     if (NetObj.UserObject.Can(Database.PermissionDB.Strings.Say))
     {
         Network.Packets.Type32_ChatMessage SpamThis = new Network.Packets.Type32_ChatMessage();
         SpamThis.Message = Command._CmdRawArguments;
         Network.Packet ThisPacket = SpamThis.Serialise();
         Logger.Console.WriteLine(NetObj.UserObject.DisplayedName + "&b(Spam)&f: " + Command._CmdRawArguments);
         for (int i = 0; i < 10; i++)
         {
             Server.AllClients.Except(Server.OrbConsole).Send(ThisPacket);
         }
         return(true);
     }
     else
     {
         NetObj.ClientObject.SendMessage("You do not have enough permission to \"Spam\".");
         return(false);
     }
     #endregion
 }
示例#2
0
 public void SendMessage(String Message)
 {
     if (Parent == Server.OrbConsole)
     {
         Logger.Console.WriteLine(Message);
         return;
     }
     Network.Packets.Type32_ChatMessage MessagePacket = new Network.Packets.Type32_ChatMessage();
     MessagePacket.Message = ColorHandling.StripColors(Message);
     Send(MessagePacket.Serialise());
 }
示例#3
0
                public void Process_Type32_ChatMessage(Network.Packet Packet)
                {
                    Network.Packets.Type32_ChatMessage ThisPacket = new Network.Packets.Type32_ChatMessage(Packet);
                    string EditMessage = ThisPacket.Message.Remove(0, 1);

                    EditMessage = EditMessage.Remove(0, Parent.Username.Length);
                    EditMessage = EditMessage.Remove(0, 1);
                    Thread CommandHandle = new Thread(() => CommandManager.Process(this.Parent, EditMessage));

                    CommandHandle.Start();
                    return;
                }
示例#4
0
 /// <summary>
 /// Receive a Chat Packet from the Client and set it as the TextInput for TextInputWaiters.
 /// </summary>
 public void _GetChatPacketBeforeLogin()
 {
     #region Receive a Chat Packet from the Client and set it as the TextInput for TextInputWaiters.
     //Console.WriteLine("NetObject.Client Ready");
     while (ClientSocket.Connected)
     {
         //Console.WriteLine("NetObject.Client is waiting for data from its Client side socket.");
         //Console.WriteLine("NetObject.Client Listening...");
         Logger.Console.WriteLine("Waiting");
         Network.Packet InPacket = Network.Sockets.GetPacket(ClientSocket);
         Logger.Console.WriteLine("Received");
         if (InPacket.Type == 32)
         {
             Network.Packets.Type32_ChatMessage ThisPacket = new Network.Packets.Type32_ChatMessage(InPacket);
             string EditMessage = ThisPacket.Message.Remove(0, 1);
             EditMessage = EditMessage.Remove(0, Parent.Username.Length);
             EditMessage = EditMessage.Remove(0, 1);
             //Console.WriteLine(EditMessage);
             Parent.TextInput = EditMessage;
             Logger.Console.WriteLine(Parent.TextInput);
             foreach (AutoResetEvent ThisEvent in Parent.TextWaiters.ToArray())
             {
                 ThisEvent.Set();
                 Parent.TextWaiters.Remove(ThisEvent);
             }
             return;
         }
         //Console.WriteLine("NetObject.Client Got Some Data.");
         if (InPacket.Type != 0)
         {
             PreviousPackets.Insert(0, InPacket);
             while (PreviousPackets.Count > 5)
             {
                 PreviousPackets.RemoveAt(PreviousPackets.Count - 1);
             }
             Logger.Console.WriteLine("!=32");
             //ProcessPacket(InPacket);
             //DONT DO THAT! WE DONT WANT A LOG IN TO HAPPEN ETC.
         }
         else
         {
             Logger.Console.WriteLine("CLOSE");
             //The only time Socket Receive returns 0 is when a remote host disconnects, otherwise, it waits.
             Parent.Close();
         }
     }
     Logger.Console.WriteLine("CLOSE2");
     #endregion
 }
示例#5
0
 public void Process_Type32_ChatMessage(Network.Packet Packet)
 {
     Network.Packets.Type32_ChatMessage ThisPacket = new Network.Packets.Type32_ChatMessage(Packet);
     if (true) //Disable to remove take-off message filtering!
     {
         if (ThisPacket.Message.Contains("took off") && !ThisPacket.Message.StartsWith("("))
         {
             if (Server.AllClients.Select(x => x.Username.ToUpperInvariant().Slice(0, 15)).Contains(ThisPacket.Message.ToUpperInvariant().Split(' ')[0].Slice(0, 15)))
             {
                 return;
             }
             ThisPacket.Message = "&d" + ThisPacket.Message;
         }
         if (ThisPacket.Message.Contains("left the") && !ThisPacket.Message.StartsWith("("))
         {
             if (Server.AllClients.Select(x => x.Username.ToUpperInvariant().Slice(0, 15)).Contains(ThisPacket.Message.Split(' ')[0].ToUpperInvariant().Slice(0, 15)))
             {
                 return;
             }
             ThisPacket.Message = "&d" + ThisPacket.Message;
         }
         if (ThisPacket.Message.Contains(": ") && !ThisPacket.Message.StartsWith("(") && Server.AllClients.Select(x => x.Username.ToUpperInvariant().Slice(0, 15)).Contains(ThisPacket.Message.Split(':')[0].ToUpperInvariant().Slice(0, 15)))
         {
             return;
         }
         ThisPacket.Message = "&9" + ThisPacket.Message;
     }
     Parent.ClientObject.SendMessage(ThisPacket.Message);
     if (Parent != Server.ClientList[0])
     {
         return;                                 //Only show messages ONCE!
     }
     if (ThisPacket.Message.Contains("Log-on process completed"))
     {
         return;
     }
     if (ThisPacket.Message.StartsWith("****"))
     {
         ThisPacket.Message = "&c" + ThisPacket.Message;
     }
     Logger.Console.WriteLine(ThisPacket.Message);
     Logger.Log.Chat(ThisPacket.Message);
 }
示例#6
0
 public void SendMessage(String Message)
 {
     Network.Packets.Type32_ChatMessage MessagePacket = new Network.Packets.Type32_ChatMessage();
     MessagePacket.Message = ColorHandling.StripColors(Message);
     Send(MessagePacket.Serialise());
 }