Add Poker 100% - نزل البوكر فى سيرفرك 100% - ابداع كونكر - Conquer

Add Poker 100% – نزل البوكر فى سيرفرك 100%

بسم الله الرحمن الرحيم
اقدم لكم اليوم شرح اضافة البوكر كاامل عشان تبقا عامل سيرفر مظبوط نخش بقا في الاضافة
اولا هنحمل الكلاسات دي وتبدلها بالي عندك او لو معندكش البوكر تضفها من الصفر

باسورد فك الضغط عن الملف هو : co.vpscairo.com لو رابط التحميل مش شغال بلغ من هناباسورد فك الضغط عن الملف هو :

co.vpscairo.com

لو رابط التحميل مش شغال بلغ من هنا

بعد كدة هنخش علي GameState او GameClient علي حسب سورسك ونبحث عن

public void SendScreen(Interfaces.IPacket buffer  

ونضيف تحتة

public void Disconnect(bool save = true) 
        { 
            if (Fake) return; 
            if (Screen != null) Screen.DisposeTimers(); 
            GeneralData.RemoveTPA(this); 
            Server.Thread.UnRegister(this); 
            if (OnDisconnect != null) OnDisconnect(this); 
            if (_socket.Connector != null) 
            { 
                if (Player != null) 
                { 

                    CheckPokerDisconnect(); 
                    CheckRouletteDisconnect(); 
                } 
                _socket.Disconnect(); 
                ShutDown(); 
            } 
        } 
        public void CheckPokerDisconnect() 
        { 
            if (Player.MyPokerTable != null) 
            { 
                var T = Player.MyPokerTable; 
                if (T != null) 
                    if (T.Players.ContainsKey(Player.UID) && T.Pot > 1) 
                    { 
                        T.StopMoveCountDown(); 
                        T.RemovePlayer(Player.UID); 
                    } 
                    else 
                        T.RemovePlayer(Player.UID); 
            } 
        } 
        public void CheckRouletteDisconnect() 
        { 
            Database.Roulettes.RouletteTable Table; 
            if (PlayRouletteUID != 0) 
            { 
                if (Database.Roulettes.RoulettesPoll.TryGetValue(PlayRouletteUID, out Table)) 
                { 
                    Table.RemovePlayer(this); 
                } 
            } 
            else if (WatchRoulette != 0) 
            { 
                if (Database.Roulettes.RoulettesPoll.TryGetValue(WatchRoulette, out Table)) 
                { 
                    Table.RemoveWatch(Player.UID); 
                } 
            } 
        }

بعد كدة هنخش علا كلاس Enums.cs ونبحث عن

public enum NpcType : byte  

ونضيف فية

 Poker = 33, 
            Poker2 = 34, 
            Poker3 = 35, 
            Poker4 = 36, 
            Poker5 = 37, 
            Poker6 = 38

بعد كدة في نفس الكلاس نبحث عن

public enum MapsName : uint  

ونضيف فية

  PokerRoom = 1858, 
            VIPPokerRoom = 1860,

بعد كدة نخش علي كلاس HeroOfGame.cs
ونبحث فية عن

public void Work(int time)  

تقفلة من السالب و نبدلة بي دة

public void Work(int time) 
        { 
            if (!SendInvitation) 
            { 
                foreach (var client in Kernel.GamePool.Values) 
                { 
                    if (!client.InQualifier() && client.Player.PokerTable == 0 && client.PlayRouletteUID == 0 && client.Map.BaseID != 6001 && client.Map.BaseID != 6000 && !client.Player.Dead) 
                    { 
                        Network.GamePackets.MsgInviteTrans alert = new Network.GamePackets.MsgInviteTrans 
                        { 
                            InviteID = 10563, 
                            Countdown = 60, 
                            Action = 1 
                        }; 
                        client.Player.InviteID = 10563; 
                        client.Send(alert.ToArray()); 
                    } 
                } 
                SendInvitation = true; 
            } 
            else 
            { 
                if (open) 
                { 
                    if (Secounds == 30) 
                        SendMapMessage("Hero OF Game will start in 30 Secounds"); 
                    else if (Secounds == 40) 
                        SendMapMessage("Hero OF Game will start in 20 Secounds"); 
                    else if (Secounds == 50) 
                        SendMapMessage("Hero OF Game will start in 10 Secounds"); 
                    else if (Secounds == 55) 
                        SendMapMessage("Hero OF Game will start in 5 Secounds"); 
                    else if (Secounds == 58) 
                        SendMapMessage("Hero OF Game will start in 3 Secounds"); 
                    else if (Secounds == 60) 
                    { 
                        var MapDictionary = Kernel.GamePool.Values.Where(p => p.Player.MapID == 1507).ToArray(); 
                        foreach (var client in MapDictionary) 
                        { 
                            client.Player.AllowToAttack = true; 
                        } 
                        SendMapMessage("Fight Now!"); 
                    } 
                    else if (Secounds > 60) 
                    { 
                        byte[] Messaje = new Network.GamePackets.MsgTalk("Alive Players : [ " + CkeckUPAlive() + " ]", System.Drawing.Color.Yellow, Network.GamePackets.MsgTalk.FirstRightCorner).ToArray(); 
                        var MapDictionar = Kernel.GamePool.Values.Where(p => p.Player.MapID == 1507).ToArray(); 
                        foreach (var client in MapDictionar) 
                            client.Send(Messaje); 
                        if (CkeckUPAlive() == 1) 
                        { 
                            var client = Kernel.GamePool.Values.SingleOrDefault(p => p.Player.MapID == 1507 && p.Player.Hitpoints > 0); 
                            if (client != null) 
                            { 
                                Game.Statue statue = new Statue(client.Player.SpawnPacket); 
                                client.Player.ConquerPoints += 1000; 
                                ////client.Player.ConquerPointsFake += 1000; 
                                Game.Player.SendWorldMessage("Congratulation ! " + client.Player.Name + " win the Hero OF Game, he receice 1000 Conquest Points"); 
                                Close(); 
                            } 
                            foreach (var player in Kernel.GamePool.Values) 
                            { 
                                if (player.Player.MapID == 1507) 
                                    player.Player.Teleport(1002, 239, 245); 
                                player.Player.AllowToAttack = false; 
                            } 
                        } 
                        else if (CkeckUPAlive() == 0) 
                        { 
                            Close(); 
                        } 
                    } 
                    Secounds++; 
                } 
            } 
        }

بعد كدة نخش علي كلاس PlanderWar.cs ونبحث فية عن

public void Work(int time)  

نقفلة من السالب ونبدلة بدة

public void Work(int time) 
        { 
            if (!SendInvitation) 
            { 
                foreach (var client in Kernel.GamePool.Values.Where(U => U.Union != null)) 
                { 
                    if (!client.InQualifier() && client.Player.PokerTable == 0 && client.PlayRouletteUID == 0 && client.Map.BaseID != 6001 && client.Map.BaseID != 6000 && !client.Player.Dead) 
                    { 
                        Network.GamePackets.MsgInviteTrans alert = new Network.GamePackets.MsgInviteTrans 
                        { 
                            InviteID = 10573, 
                            Countdown = 60, 
                            Action = 1 
                        }; 
                        client.Player.InviteID = 10573; 
                        client.Send(alert.ToArray()); 
                    } 
                } 
                SendInvitation = true; 
            } 
            else 
            { 
                if (CheckClose() == true) 
                { 
                    Close(); 
                } 
            } 
        }

بعد كدة نخش علي كلاس player او Entity
ونبحث فية عن

public uint CursedTime  

ونقفلة من السالب ونضيف تحتة

#region Poker 
        public uint PokerTable = 0; 
        public PokerTable MyPokerTable 
        { 
            get 
            { 
                if (PokerDatabase.PokerTables.ContainsKey(PokerTable)) 
                    return PokerDatabase.PokerTables[PokerTable]; 
                else return null; 
            } 
            set 
            { 
                PokerTable = value.UID; 
            } 
        } 
        #endregion

وبعد مدا نخش علي كلاس screen.cs ونبحث فية عن

if (client.Map.ID == 8880 || client.Map.ID == 8881)  

ونبدلة بي

if (client.Map.ID == 8880 || client.Map.ID == 8881) 
            { 
                SafeDictionary<uint, PokerTable> ToRem = new SafeDictionary<uint, PokerTable>(40); 
                foreach (PokerTable T in PokerTables.Values) 
                { 
                    if (client.Map.ID == T.Map) 
                        if (Kernel.GetDistance(T.X, T.Y, client.Player.X, client.Player.Y) > Constants.nScreenDistance) 
                            ToRem.Add(T.UID, T); 
                } 
                foreach (PokerTable T in ToRem.Values) 
                    if (PokerTables.ContainsKey(T.UID)) 
                      PokerTables.Remove(T.UID); 
            }

وبعد كدة نبحث في نفس الكلاس عن

private IMapObject[] _objects;  

ونضيف تحتة

private static ConcurrentDictionary<uint, PokerTable> PokerTables;  

وفنفس الكلاس برضو نبحث عن

public Screen(GameState client)  

ونضيف فية

PokerTables = new ConcurrentDictionary<uint, PokerTable>();  

بعد كدة نبحث في نفس الكلاس برضو علي

public void Clear()  

ونقفلة من السالب ونبدلة بي دة

public void Clear() 
        { 
            PokerTables.Clear(); 
            _objectDictionary.Clear(); 
            _objects = new IMapObject[0]; 
        }

وبعد كدة نبحث في نفس الكلاس برضو عن

if (Owner.Map.ID == 8880 || Owner.Map.ID == 8881 || Owner.Map.ID == 1002)  

ونبدلة بي دة

  if (Owner.Map.ID == 8880 || Owner.Map.ID == 8881 || Owner.Map.ID == 1002) 
                { 
                    foreach (PokerTable T in PokerDatabase.PokerTables.Values) 
                    { 
                        if (T.Map == Owner.Map.ID) 
                        { 
                            if (Kernel.GetDistance(T.X, T.Y, Owner.Player.X, Owner.Player.Y) <= Constants.nScreenDistance && !PokerTables.ContainsKey(T.UID)) 
                            { 
                                T.Spawn(Owner); 
                                PokerTables.Add(T.UID, T); 
                            } 
                        } 
                    } 
                } 
                if (Owner.Map.ID == Database.Roulettes.RouletteTable.MapID) 
                { 
                    foreach (var R in Database.Roulettes.RoulettesPoll.Values) 
                    { 
                        if (Kernel.GetDistance(R.SpawnPacket.X, R.SpawnPacket.Y, Owner.Player.X, Owner.Player.Y) <= Constants.nScreenDistance && !PokerTables.ContainsKey(R.SpawnPacket.UID)) 
                        { 
                            Owner.Send(R.SpawnPacket); 
                        } 
                    } 
                } 
            }

بعد كدة نخش كلاس

MsgAction.cs  

نبحث فية عن

public enum Mode : ushort  

ونضيف فية

poker = 167,  

وفنفس الكلاس برضو نضيف

public uint Data24_Uint//For Poker   
        { 
            get { return BitConverter.ToUInt32(Packet, 28); } 
            set { WriteUInt32(value, 28, Packet); } 
        }
public uint Data28_Uint//For Poker 
        { 
            get { return BitConverter.ToUInt32(Packet, 28); } 
            set { fixed (byte* Pack = Packet) *((uint*)(Pack + 28)) = value; } 
        }

وفنفس الكلاس نبحث عن

public static void Process(byte[] packet, Client.GameState client  

ونضيف فية

#region Poker Tele 
                case Mode.poker: 
                    { 
                        switch (gData.dwParam) 
                        { 
                            case 1://Money Poker 
                                { 
                                    if (client.Player.Money >= 100) 
                                    { 
                                        client.Player.Money -= 100; 
                                        client.Player.Teleport(8880, 80, 75); 
                                    } 
                                    else 
                                    { 
                                        client.Send(Constants.NoMoney(100)); 
                                    } 
                                    break; 
                                } 
                            case 2://CPS Poker 
                                { 
                                    if (client.Player.Money >= 100) 
                                    { 
                                        client.Player.Money -= 100; 
                                        client.Player.Teleport(8881, 55, 62); 
                                    } 
                                    else 
                                    { 
                                        client.Send(Constants.NoMoney(100)); 
                                    } 
                                    break; 
                                } 
                            case 3://Bandit Poker 
                                { 
                                    if (client.Player.Money >= 100) 
                                    { 
                                        client.Player.Money -= 100; 
                                        client.Player.Teleport(1002, 342, 278); 
                                    } 
                                    else 
                                    { 
                                        client.Send(Constants.NoMoney(100)); 
                                    } 
                                    break; 
                                } 
                            case 4://Roulette Poker 
                                { 
                                    if (client.Player.Money >= 100) 
                                    { 
                                        client.Player.Money -= 100; 
                                        client.Player.Teleport(1858, 80, 75); 
                                    } 
                                    else 
                                    { 
                                        client.Send(Constants.NoMoney(100)); 
                                    } 
                                    break; 
                                } 
                        } 
                        break; 
                    } 
                #endregion

بعد كدة نخش علا كلاس MsgChat.cs
ونبحث فية عن

case "PhesantPoint":  

ونضيف تحتيها

  case "pokermove": 
                                { 
                                    //COPokerTable.ManagePotsRoundEnd(); 
                                    break; 
                                }

ونضيف برضو في نفس الكلاس

   case "crosspoker": 
                                { 
                                    byte[] ketos = new byte[60 + 8]; 
                                    Writer.WriteUInt32((ushort)(ketos.Length - 8), 0, ketos); 
                                    Writer.Byte(10, 4, ketos); 

                                    client.Send(ketos); 
                                    break; 
                                }

ونضيف في نفس الكلاس برضو

case "pokercards": 
                                { 
                                    byte[] buf = new byte[116 + 8]; 
                                    Network.Writer.Write((ushort)116, 0, buf); 
                                    Network.Writer.Write((ushort)2091, 2, buf); 
                                    Network.Writer.Write((ushort)1800, 3, buf); 
                                    Network.Writer.Write((ushort)7, 4, buf);//kickedUID 
                                    Network.Writer.Write((ushort)9, 30, buf); 
                                    //Network.Writer.Write((ushort)768, 8, buf); 
                                    //Network.Writer.Write((ushort)12642, 10, buf); 
                                    client.Send(buf); 
                                    break; 
                                }

ونضيف في نفس الكلاس برضو

   case "kickpoker": 
                                { 
                                    byte[] buf = new byte[18 + 8]; 
                                    Network.Writer.Write((ushort)18, 0, buf); 
                                    Network.Writer.Write((ushort)2088, 2, buf); 
                                    Network.Writer.Write((ushort)30724, 4, buf);//kickedUID 
                                    Network.Writer.Write((ushort)12258, 6, buf); 
                                    Network.Writer.Write((ushort)768, 8, buf); 
                                    Network.Writer.Write((ushort)12642, 10, buf); 
                                    //Network.Writer.Write((ushort)49, 11, buf); 
                                    Network.Writer.Write((ushort)49, 11, buf); 
                                    Network.Writer.Write((ushort)25091, 12, buf); 
                                    Network.Writer.Write((ushort)12042, 14, buf); 
                                    //Network.Writer.Write((ushort)12042, 16, buf);  
                                    client.Send(buf); 

                                    break; 
                                }

بس كدا خلصنا اضافة السي شارب نخش بقا علي الطربيزات هنحمل الفولدر دة ونصطبة جوا bin/Debuge/database

كداا خلصنا نخش بقا علي الصور للتاكيد





كلمة شكر تكفي

5 thoughts on “Add Poker 100% – نزل البوكر فى سيرفرك 100%”

أضف تعليق

قوانين المدونة & عن تيم تهيس