كونكر عرب

كونكر عرب (https://conquer-arab.com/index.php)
-   تطوير سيرفرات كونكر (https://conquer-arab.com/forumdisplay.php?f=11)
-   -   ادي للاعب بان ماك :MacAddress (https://conquer-arab.com/showthread.php?t=1363)

yousefhtrikano 2020-03-24 12:28 AM

رد: ادي للاعب بان ماك :MacAddress
 
3aa4

fady emad kamel 2020-03-29 09:34 PM

رد: ادي للاعب بان ماك :MacAddress
 
شكرا

Diego 2020-04-01 10:04 AM

رد: ادي للاعب بان ماك :MacAddress
 
عااااش

Mo Khalid 2020-04-16 01:38 AM

رد: ادي للاعب بان ماك :MacAddress
 
عاش

Tyranny-Team's 2020-04-27 01:54 AM

رد: ادي للاعب بان ماك :MacAddress
 
عاش

mody33221 2020-07-12 12:25 AM

رد: ادي للاعب بان ماك :MacAddress
 
عاش يسطى

Moka 2020-09-30 11:51 PM

رد: ادي للاعب بان ماك :MacAddress
 
جاري التجربه

Moka 2020-10-01 12:46 AM

رد: ادي للاعب بان ماك :MacAddress
 
ياريت تنسيق للموضوع لاني مش عارف اخد الكلاس خالص

AliNasser 2020-10-16 04:30 PM

رد: ادي للاعب بان ماك :MacAddress
 
عاش

Circle 2020-11-02 01:00 AM

رد: ادي للاعب بان ماك :MacAddress
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Commander (المشاركة 9826)
بسم الله الرحمن الرحيم
اولا انا هكرر كلمتي قبل كدا الماك ادرس مهم جدا من حيث انك لو عايز تدي بان لواحد واديتو بان اي بي بيغير الاي بي في ثواني وبيفتح ويغلبك طب ما تديلو بان ماك
قبل ما تنفذ الموضوع دا لازم تكون منفئ الموضوع الي منزلو قبل كدا
عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع
نبتدي بقي الاضافه
اول حاجه هتعمل كلاس جديد وترزع فيه ده وتغير اسم البروجكت متنساش
كود PHP:

using ResidentEvil.Client; using ResidentEvil.Database; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ResidentEvil.Database { public class MacBan { public string mac; public static Dictionary<int, string> BannedMac; public static void Load() { BannedMac = new Dictionary<int, string>(); using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("bann edMac")) using (var reader = new MySqlReader(cmd)) { if (reader.Read()) { int asInt = reader.ReadInt32("Mac_int"); BannedMac.Add(asInt , reader.ReadString("Mac")); } } } public static bool IsBanned(string Mac) { return BannedMac.ContainsKey(Mac.GetHashCode()); } public static void Unban(string Mac) { BannedMac.Remove(Mac.GetHashCode()); using (var cmd = new MySqlCommand(MySqlCommandType.DELETE)) cmd.Delete("bannedMac", "Mac_int", Mac.GetHashCode()).Execute(); } public static void Ban(string Mac) { BannedMac.Add(Mac.GetHashCode() , Mac); using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("bann edMac")) using (var reader = new MySqlReader(cmd)) { if (!reader.Read()) using (var cmds = new MySqlCommand(MySqlCommandType.INSERT)) cmds.Insert("bannedMac").Insert("Mac_int", Mac.GetHashCode()).Insert("Mac", Mac).Execute(); } } } } 


بعد كدا نروح نحط اللود في كلاس بروجرام
كود:

  Database.MacBan.Load();
بعد كدا نروح نعمل الشفره
نروح كلاس باكت هاندلر ونبحث عن
كود:

case "ban":
ونحط فوقيها
كود:

  case "banmac":
                                {
                                    string bannedMac = "";
                                    foreach (var Client in Program.Values)
                                    {
                                        if (Client.Account.State >= client.Account.State)
                                            continue;
                                        if (Client.Entity.LoweredName.Contains(Data[1]))
                                        {
                                            bannedMac = Client.Account.MacAddress;
                                            Client.Account.State = Database.AccountTable.AccountState.Banned;
                                            Client.Account.SaveState();
                                            Database.MacBan.Ban(Client.Account.MacAddress);
                                            Client.Disconnect();
                                            client.Send(new ResidentEvil.Network.GamePackets.Message("[Name " + Client.Entity.Name + "]", System.Drawing.Color.Gold, GamePackets.Message.FirstRightCorner));
                                            client.Send(new ResidentEvil.Network.GamePackets.Message("Username: " + Client.Account.Username, System.Drawing.Color.Gold, GamePackets.Message.ContinueRightCorner));
                                            client.Send(new ResidentEvil.Network.GamePackets.Message("Password: " + Client.Account.Password, System.Drawing.Color.Gold, GamePackets.Message.ContinueRightCorner));
                                            client.Send(new ResidentEvil.Network.GamePackets.Message("IP: " + Client.Account.IP, System.Drawing.Color.Gold, GamePackets.Message.ContinueRightCorner));
                                            client.Send(new ResidentEvil.Network.GamePackets.Message("Mac: " + Client.Account.MacAddress, System.Drawing.Color.Gold, GamePackets.Message.ContinueRightCorner));
                                            client.Send(new ResidentEvil.Network.GamePackets.Message("CPs: " + Client.Entity.ConquerPoints, System.Drawing.Color.Gold, GamePackets.Message.ContinueRightCorner));
                                            client.Send(new ResidentEvil.Network.GamePackets.Message("Money: " + Client.Entity.Money, System.Drawing.Color.Green, GamePackets.Message.ContinueRightCorner));
                                            client.Send(new ResidentEvil.Network.GamePackets.Message("Map: [" + Client.Entity.MapID + "] " + Client.Entity.X + "," + Client.Entity.Y, System.Drawing.Color.Green, GamePackets.Message.ContinueRightCorner));
                                            break;
                                        }
                                    }
                                    if (bannedMac == "")
                                        Kernel.SendWorldMessage(new Message(client.Account.State.ToString() + " " + client.Entity.Name + " has banned the Mac: " + bannedMac, GamePackets.Message.Center));
                                    foreach (var Client in Program.Values)
                                    {
                                        if (Client.Account.State >= client.Account.State)
                                            continue;
                                        if (Client.Account.MacAddress == bannedMac)
                                        {
                                            Client.Account.State = Database.AccountTable.AccountState.Banned;
                                            Client.Account.SaveState();
                                            Client.Disconnect();
                                        }
                                    }
                                    break;
                                }
                            case "unbanmac":
                                {
                                    Database.MacBan.Unban(Data[1]);
                                    break;
                                }


بعد كدا برده في الباكت هاندلر هنبحث عن
كود:

void AppendConnect
وننزل لحد هنا
كود:

if (Account.State == Database.AccountTable.AccountState.Banned)
نضيف فوقيه ده
كود:

  if (ResidentEvil.Database.MacBan.IsBanned(client.Account.MacAddress))
                    {
                        DateTime banStamp = client["banstamp"];
                        banStamp = banStamp.AddHours(client["banhours"]);
                        Message = "^_^ You are Have ban mac ^_^";
                    }

بعد كدا نروح نرفع الملف ده في القاعده
عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع
والسلام عليكم ورحمة الله وبركاته

عاش


الساعة الآن 04:34 PM

مرحبا بكم في منتدي اكواد لتطوير الالعاب
new notificatio by 9adq_ala7sas