-->
29571467746334864
recent
أخبار ساخنة

اضافة البوكر كامل 2018

الخط
 بسم الله الرحمن الرحيم

Add Poker 100%

اقدم لكم اليوم شرح اضافة البوكر كاامل عشان تبقا عامل سيرفر مظبوط ,التعديلات التي تمت هي بوكر ال CPS شغال و Gold 
 ياعني كامل 

صور من البوكر 
اضافة البوكر كامل 2018
 اضافة البوكر كامل لكونكر تهيس 2017
اضافة البوكر كامل 2018
 Add Poker 100%

 نخش بقا في الاضافة
اولا هنحمل الكلاسات دي وتبدلها بالي عندك او لو معندكش البوكر تضفها من الصفر
لتحميل الكلاسات اضغط هنا
باسورد فك الضغط عن الملف هو :
ibda3xor3
بعد كدة هنخش علي 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,
client.Send(alert.ToArray());
Countdown = 60,
Action = 1
client.Player.InviteID = 10573;
};
}
}
}
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 ToRem = new SafeDictionary(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(); 
  بعد كدة نبحث في نفس الكلاس برضو علي
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);
break;
client.Send(ketos);
}

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

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
 للتحميل اضغط هنا

كلمة شكر تكفي ,واتمني بمشاركة الموضوع وترك تعليق حتي نستمر بالعطاء ,وسنبزل كل جهدنا من اجل متابعينا

ليست هناك تعليقات
إرسال تعليق

إرسال تعليق

نموذج الاتصال
الاسمبريد إلكترونيرسالة