| Hazem |
2021-08-10 01:34 PM |
منع الشتايم في سيرفيرك
اولا الموضوع بشخص اسمه crosstiger
انهرده موضوع ده هيخلي الي هيشتم هياخود علي افاه وي هتغاظ اكتر
نخوش علي الموضوع
بص يا معلم الفكره ان في ملف هضيفو وي هضيف الشتايم الي عاوز تلغيها برحتك
خوش علي Constants.cs
وي دور علي
كود PHP:
WelcomeMessages = "database\\WelcomeMessages.txt",
وي ضيف وراه عالطوال
كود PHP:
insult = "database\\insult.txt",
كدا Constants.cs خلص
نخوش علي PacketHandler.cs
وي دور علي ,,
كود PHP:
static void Chat(Message message, Client.GameClient client)
اتبدله كله ب
كود PHP:
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;
}
}
}
}
كدا مش نقص غير الملف الي هيتحط في الشتايم
وي تحط الملف ده insult.txt
ملاحظه
انا ناقل الموضوع والرابط بتاع ملف insult.txt مش موجود
فالكلمات الشتايم اتتحط في الملف وايتعمله فلتر في الشات بس طريقه كتابه الكلمات معرفش بتكون ازاي بس ممكن تكون بترك سطر بين كلمه والتاني او @ بين كلمه والتانيه
|