احصائياتى

الردود
0

المشاهدات
27
 
Hazem
.:: المدير العام::.

    غير متواجد

المشاركات
2,311

+التقييم
0.84

تاريخ التسجيل
Apr 2019

الاقامة
Egypt

نظام التشغيل
windows 7

رقم العضوية
1
2021-08-10, 01:34 PM
المشاركة 1
2021-08-10, 01:34 PM
المشاركة 1
افتراضي منع الشتايم في سيرفيرك


اولا الموضوع بشخص اسمه crosstiger

انهرده موضوع ده هيخلي الي هيشتم هياخود علي افاه وي هتغاظ اكتر

نخوش علي الموضوع

بص يا معلم الفكره ان في ملف هضيفو وي هضيف الشتايم الي عاوز تلغيها برحتك

خوش علي Constants.cs

وي دور علي


كود:
WelcomeMessages = "database\\WelcomeMessages.txt", 

وي ضيف وراه عالطوال


كود:
insult = "database\\insult.txt", 

كدا Constants.cs خلص

نخوش علي PacketHandler.cs
وي دور علي ,,


كود:
static void Chat(Message message, Client.GameClient client) 

اتبدله كله ب

كود:
        static void Chat(Message message, Client.GameClient client)
        {
            
message._From = client.Entity.Name;
            
//Console.WriteLine("[" + client.Entity.Name + "][Chat] " + message.__Message);
            
if (!CheckCommand(message.__Message, client))
            {
                if (
message.ChatType != Message.Service)
                {
                    if (
client.ChatBanned)
                        if (
DateTime.Now > client.ChatBanTime.AddMinutes(client.ChatBanLasts))
                            
client.ChatBanned = false;
                        else
                        {
                            
int minutes = (int)new TimeSpan((client.ChatBanTime.AddMinutes(client.ChatBanLasts) - DateTime.Now).Ticks).TotalMinutes;
                            
client.Send(new Message("You are banned from chat. You have to wait: " + minutes + " minutes before you can speak again!", System.Drawing.Color.Green, Message.Talk));
                            return;
                        }
                }
                
//client.Entity.KillCount /= 2;
                
switch (message.ChatType)
                {
                    case 
Message.HawkMessage:
                        {
                            if (
client.Booth != null)
                            {
                                
string[] keka = File.ReadAllLines(@"insult.txt");
                                for (var 
i = 0; i < keka.Length; i++)
                                {
                                    var 
kekaxor = keka[i];
                                    
message.__Message = message.__Message.Replace(kekaxor, "****");
                                } 
                                
client.Booth.HawkMessage = message;
                                
client.SendScreen(message, true);
                            }
                            break;
                        }
                    case 
Message.Talk:
                        {
                            
string[] keka = File.ReadAllLines(@"insult.txt");
                            for (var 
i = 0; i < keka.Length; i++)
                            {
                                var 
kekaxor = keka[i];
                                
message.__Message = message.__Message.Replace(kekaxor, "****");
                            } 
                            
client.SendScreen(message, false);
                            break;
                        }
                    case 
Message.Whisper:
                        {
                            foreach (
Client.GameClient pClient in Program.GamePool)
                            {
                                if (
pClient.Entity.Name == message._To)
                                {
                                    
DateTime dt;
                                    
string date;
                                    
string datess;
                                    
message.Mesh = client.Entity.Mesh;
                                    
pClient.Send(message);
                                    
string[] keka = File.ReadAllLines(@"insult.txt");
                                    for (var 
i = 0; i < keka.Length; i++)
                                    {
                                        var 
kekaxor = keka[i];
                                        
message.__Message = message.__Message.Replace(kekaxor, "****");
                                    } 
                                    if (
client.Account.State == Database.AccountTable.AccountState.GameMaster ||
                                        
client.Account.State == Database.AccountTable.AccountState.ProjectManager)
                                    {
                                        
dt = DateTime.Now;
                                        
date = string.Concat(new object[] { dt.Year, "-", dt.Month, "\\" });
                                        
datess = dt.Day + "\\";
                                        if (!
Directory.Exists("gmlogs\\"))
                                        {
                                            
Directory.CreateDirectory("gmlogs\\");
                                        }
                                        if (!
Directory.Exists("gmlogs\\msglogs"))
                                        {
                                            
Directory.CreateDirectory("gmlogs\\msglogs");
                                        }
                                        if (!
Directory.Exists("gmlogs\\msglogs\\" + date))
                                        {
                                            
Directory.CreateDirectory("gmlogs\\msglogs\\" + date);
                                        }
                                        if (!
File.Exists(string.Concat(new object[] { "gmlogs\\msglogs\\" + date + "\\" + dt.Day + ".txt" })))
                                        {
                                            
using (System.IO.FileStream fs = System.IO.File.Create("gmlogs\\msglogs\\" + date + "\\" + dt.Day + ".txt"))
                                            {
                                                
fs.Close();
                                            }
                                        }
                                        
using (System.IO.StreamWriter file = new System.IO.StreamWriter("gmlogs\\msglogs\\" + date + "\\" + dt.Day + ".txt", true))
                                        {
                                            
file.WriteLine(client.Entity.Name + " Talk to : [" + pClient.Entity.Name + "] Message: [" + message.__Message + "]");
                                        }
                                    }
                                    return;
                                }
                            }
                            foreach (
Game.ConquerStructures.Society.Friend friend in client.Friends.Values)
                            {
                                if (
friend.Name == message._To)
                                {
                                    
string[] keka = File.ReadAllLines(@"insult.txt");
                                    for (var 
i = 0; i < keka.Length; i++)
                                    {
                                        var 
kekaxor = keka[i];
                                        
message.__Message = message.__Message.Replace(kekaxor, "****");
                                    } 
                                    
client.OnMessageBoxEventParams = new object[3];
                                    
client.OnMessageBoxEventParams[0] = client.Entity.UID;
                                    
client.OnMessageBoxEventParams[1] = friend.ID;
                                    
client.OnMessageBoxEventParams[2] = Console.TimeStamp() + message.__Message;
                                    
client.MessageOK =
                                        
delegate
                                        
{
                                            
Database.KnownPersons.UpdateMessageOnFriend(Convert.ToUInt32(client.OnMessageBoxEventParams[0]), Convert.ToUInt32(client.OnMessageBoxEventParams[1]), Convert.ToString(client.OnMessageBoxEventParams[2]));
                                            
client.Send(new Message("Message sent!", System.Drawing.Color.Green, Message.TopLeft));
                                        };
                                    
client.MessageCancel =
                                        
delegate
                                        
{
                                            
client.OnMessageBoxEventParams = new object[0];
                                        };
                                    
client.Send(new NpcReply(NpcReply.MessageBox, "To " + friend.Name + ": \r\n" + message.__Message + "\r\n\r\nSend? (It will replace other messages.)"));
                                    return;
                                }
                            }
                            
client.Send(new Message("The player is not online.", System.Drawing.Color.Orange, Message.Service));
                            break;
                        }
                    case (
uint)COServer.Network.MsgMessageBoard.Channel.MsgTrade:
                        {
                            
Message.MessageBoard.MessageInfo Info =
                                
Message.MessageBoard.GetMsgInfoByAuthor(client.Entity.Name, (ushort)message.ChatType);

                            
Message.MessageBoard.Delete(Info, (ushort)message.ChatType);
                            
Message.MessageBoard.Add(client.Entity.Name, message.__Message, (ushort)message.ChatType);
                            break;
                        }
                    case (
uint)COServer.Network.MsgMessageBoard.Channel.MsgFriend:
                        {
                            
Message.MessageBoard.MessageInfo Info =
                                
Message.MessageBoard.GetMsgInfoByAuthor(client.Entity.Name, (ushort)message.ChatType);

                            
Message.MessageBoard.Delete(Info, (ushort)message.ChatType);
                            
Message.MessageBoard.Add(client.Entity.Name, message.__Message, (ushort)message.ChatType);
                            break;
                        }
                    case (
uint)COServer.Network.MsgMessageBoard.Channel.MsgTeam:
                        {
                            
Message.MessageBoard.MessageInfo Info =
                               
Message.MessageBoard.GetMsgInfoByAuthor(client.Entity.Name, (ushort)message.ChatType);

                            
Message.MessageBoard.Delete(Info, (ushort)message.ChatType);
                            
Message.MessageBoard.Add(client.Entity.Name, message.__Message, (ushort)message.ChatType);
                            break;
                        }
                    case (
uint)COServer.Network.MsgMessageBoard.Channel.MsgSyn:
                        {
                            
Message.MessageBoard.MessageInfo Info =
                              
Message.MessageBoard.GetMsgInfoByAuthor(client.Entity.Name, (ushort)message.ChatType);

                            
Message.MessageBoard.Delete(Info, (ushort)message.ChatType);
                            
Message.MessageBoard.Add(client.Entity.Name, message.__Message, (ushort)message.ChatType);
                            break;
                        }
                    case (
uint)COServer.Network.MsgMessageBoard.Channel.MsgOther:
                        {
                            
Message.MessageBoard.MessageInfo Info =
                              
Message.MessageBoard.GetMsgInfoByAuthor(client.Entity.Name, (ushort)message.ChatType);

                            
Message.MessageBoard.Delete(Info, (ushort)message.ChatType);
                            
Message.MessageBoard.Add(client.Entity.Name, message.__Message, (ushort)message.ChatType);
                            break;
                        }
                    case 
Message.Service:
                        {
                            foreach (
Client.GameClient pClient in Program.GamePool)
                            {
                                if (
pClient.Account.State == Database.AccountTable.AccountState.GameMaster || pClient.Account.State == Database.AccountTable.AccountState.ProjectManager)
                                {
                                    
string[] keka = File.ReadAllLines(@"insult.txt");
                                    for (var 
i = 0; i < keka.Length; i++)
                                    {
                                        var 
kekaxor = keka[i];
                                        
message.__Message = message.__Message.Replace(kekaxor, "****");
                                    } 
                                    
message.ChatType = Message.Talk;
                                    
string _Message = "Service-> " + client.Entity.Name + " needs your help. Respond to him/her right now!!!";
                                    
message.__Message = _Message;
                                    
pClient.Send(message);
                                    return;
                                }
                            }
                            break;
                        }
                    case 
Message.World:
                        {
                            if (
client.Entity.Level >= 70 || client.Entity.Reborn != 0)
                            {
                                foreach (
Client.GameClient pClient in Program.GamePool)
                                {
                                    
string[] keka = File.ReadAllLines(@"insult.txt");
                                    for (var 
i = 0; i < keka.Length; i++)
                                    {
                                        var 
kekaxor = keka[i];
                                        
message.__Message = message.__Message.Replace(kekaxor, "****");
                                    } 
                                    if (
pClient.Entity.UID != client.Entity.UID)
                                        
pClient.Send(message);
                                }
                            }
                            break;
                        }
                    case 
Message.Guild:
                        {
                            
string[] keka = File.ReadAllLines(@"insult.txt");
                            for (var 
i = 0; i < keka.Length; i++)
                            {
                                var 
kekaxor = keka[i];
                                
message.__Message = message.__Message.Replace(kekaxor, "****");
                            } 
                            if (
client.Guild != null)
                                
client.Guild.SendGuildMessage(message);
                            break;
                        }
                    case 
Message.Team:
                        {
                            if (
client.Team != null)
                            {
                                foreach (
Client.GameClient Client in client.Team.Teammates)
                                {
                                    
string[] keka = File.ReadAllLines(@"insult.txt");
                                    for (var 
i = 0; i < keka.Length; i++)
                                    {
                                        var 
kekaxor = keka[i];
                                        
message.__Message = message.__Message.Replace(kekaxor, "****");
                                    } 
                                    if (
client.Entity.UID != Client.Entity.UID)
                                        
Client.Send(message);
                                }
                            }
                            break;
                        }
                    case 
Message.Friend:
                        {
                            foreach (
Game.ConquerStructures.Society.Friend friend in client.Friends.Values)
                            {
                                
string[] keka = File.ReadAllLines(@"insult.txt");
                                for (var 
i = 0; i < keka.Length; i++)
                                {
                                    var 
kekaxor = keka[i];
                                    
message.__Message = message.__Message.Replace(kekaxor, "****");
                                } 
                                if (
friend.IsOnline)
                                    
friend.Client.Send(message);
                            }
                            break;
                        }
                    default:
                        {
                            
string[] keka = File.ReadAllLines(@"insult.txt");
                            for (var 
i = 0; i < keka.Length; i++)
                            {
                                var 
kekaxor = keka[i];
                                
message.__Message = message.__Message.Replace(kekaxor, "****");
                            } 
                            
client.SendScreen(message, !client.Entity.Dead);
                            break;
                        }

                }
            }
        } 

كدا مش نقص غير الملف الي هيتحط في الشتايم

كود:
bin\Debug\database 

وي تحط الملف ده insult.txt


ملاحظه
انا ناقل الموضوع والرابط بتاع ملف insult.txt مش موجود
فالكلمات الشتايم اتتحط في الملف وايتعمله فلتر في الشات بس طريقه كتابه الكلمات معرفش بتكون ازاي بس ممكن تكون بترك سطر بين كلمه والتاني او @ بين كلمه والتانيه




العلامات المرجعية



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

الانتقال السريع

المواضيع المتشابهه للموضوع: منع الشتايم في سيرفيرك
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
طريقة عمل الفوت في سيرفيرك بطريقه جديده Hazem تطوير سيرفرات كونكر 12 2021-02-14 10:08 PM
ضيف رنك الوحش في سيرفيرك Hazem تطوير سيرفرات كونكر 2 2020-09-12 04:14 AM
امنع الشتايم فى سيرفرك Hazem تطوير سيرفرات كونكر 0 2019-04-24 10:28 AM


الساعة الآن 10:15 PM