-->

إشترك في النشرة البريدية

إغلاق القائمة
جميع الحقوق محفوظة لـ الاختراع سمارت © 2019

تم تجديد الموقع وسنقوم بالعمل عليه مره اخري


الان سيستم AI كامل فيكسد نظام الشخصية الزكية ممكن تلعب مع نفسك بمستويات مختلفة


    اهلا وسهلا بالشباب اليوم لقيت عندك في سورس قديم سيستم الشخصية الوهمية او التخيلية
    السيستم ده بيخليك تقدر تلعب ارينا مع السيرفر نفسه بشخصية وهمية بتقنية الزكاء الاصطناعي
    بعدة مستويات .

    فعلا السيستم ده حاجة زي الفل بمعني الكلمة فحبيت انزله ليكم مجاناً
    حبيت اعرف الشرح ده نزل قبل كده مش لقيته نزل ولو كان نزل قبل كده مفيش مشكلة 
    حقوق السيستم بصراحة مش عارف لمين .
    بس تم السحب بواسطتي.

    الان ندخل علي تركب السيستم.

    اولاً هنروح علي فولدر Network
    وحمل الملف ده وحطه فيه.

    هنفتح الباكت هندلر PacketHandler
    هتبحث عن 
    case "chi":
                                    {
                                        
    client.Send(new ChiPowers(true).Query(client));
                                        break;
                                    } 

    ضع تحتها الاكواد ديه
    #region MaTrix Epic
                                
    case "aibot":
                                    {
                                        
    ProjectX_V3_Game.Entities.AIBot bot = new ProjectX_V3_Game.Entities.AIBot(ProjectX_V3_Game.Entities.BotLevel.MaTrix);
                                        
    client.AIBot = new ProjectX_V3_Game.Entities.AIBot(ProjectX_V3_Game.Entities.BotLevel.MaTrix);
                                        
    bot.LoadBot(ProjectX_V3_Game.Entities.BotType.DuelBotclient);
                                        
    bot.BeginJumpBot(client);
                                    }
                                    break;
                                case 
    "baibot":
                                    {
                                        if (
    Data.Length == 3)
                                        {
                                            var array = 
    LoadEntityUIDs(int.Parse(Data[2]));
                                            
    int x int.Parse(Data[1]);
                                            
    int y int.Parse(Data[2]);
                                            for (
    int i xyi++)
                                            {
                                                var 
    fClient = new GameClient(null);
                                                
    fClient.FakeLoad(array[i]);
                                                
    int xP Kernel.Random.Sign() * Kernel.Random.Next(8);
                                                
    int yP Kernel.Random.Sign() * Kernel.Random.Next(8);
                                                if (
    fClient.FakeLoaded)
                                                {
                                                    
    fClient.Entity.Teleport(client.Entity.MapID, (ushort)(client.Entity.xP), (ushort)(client.Entity.yP));
                                                    if (
    fClient.Booth == null)
                                                    {
                                                        
    fClient.Send(new MapStatus() { BaseID fClient.Map.BaseIDID fClient.Map.IDStatus Database.MapsTable.MapInformations[1036].Status });
                                                        
    fClient.Booth = new Game.ConquerStructures.Booth(fClient, new Data(true) { UID fClient.Entity.UID });
                                                        
    fClient.Send(new Data(true) { ID GamePackets.Data.ChangeActionUID fClient.Entity.UIDdwParam });
                                                        for (
    int ii xyi++)
                                                        {
                                                            
    Game.ConquerStructures.BoothItem item = new Game.ConquerStructures.BoothItem();
                                                            
    item.Cost 50000;
                                                            
    item.Item = new GamePackets.ConquerItem(true);
                                                            
    item.Item.ID 613429;
                                                            
    item.Item.UID AuthClient.nextIDAuthClient.nextID++;
                                                            
    item.Item.Plus 12;
                                                            
    item.Item.Enchant 255;
                                                            
    item.Item.Bless 7;
                                                            
    item.Item.SocketOne Enums.Gem.SuperDragonGem;
                                                            
    item.Item.SocketTwo Enums.Gem.SuperDragonGem;
                                                            
    Database.ConquerItemBaseInformation CIBI null;
                                                            
    CIBI Database.ConquerItemInformation.BaseInformations[item.Item.ID]; if (CIBI == null)
                                                                break;
                                                            
    item.Item.Durability CIBI.Durability;
                                                            
    item.Item.MaximDurability CIBI.Durability;
                                                            
    //  client.Inventory.Add(item.Item, Game.Enums.ItemUse.CreateAndAdd);
                                                            
    item.Item.Send(fClient);
                                                            {
                                                                
    ItemUsage usage = new ItemUsage(true) { ID ItemUsage.AddItemOnBoothForConquerPoints };
                                                                
    item.Cost_Type Game.ConquerStructures.BoothItem.CostType.ConquerPoints;
                                                                
    fClient.Booth.ItemList.Add(item.Item.UIDitem);
                                                                
    fClient.Send(usage);
                                                                
    Conquer_Online_Server.Network.GamePackets.BoothItem buffer = new Conquer_Online_Server.Network.GamePackets.BoothItem(true);
                                                                
    buffer.Fill(itemfClient.Booth.Base.UID);
                                                                
    fClient.SendScreen(bufferfalse);
                                                            }
                                                        }
                                                    }

                                                }

                                            }
                                        }
                                        
    client.Screen.Reload(null);
                                        break;
                                    }
                                case 
    "baibot2":
                                    {
                                        
    Conquer_Online_Server.Database.MySqlCommand Cmd = new Conquer_Online_Server.Database.MySqlCommand(Conquer_Online_Server.Database.MySqlCommandType.SELECT);
                                        
    Cmd.Select("bots");
                                        
    Conquer_Online_Server.Database.MySqlReader Reader = new Conquer_Online_Server.Database.MySqlReader(Cmd);
                                        while (
    Reader.Read())
                                        {
                                            var 
    ID Reader.ReadUInt32("BotID");
                                            var 
    fClient = new GameClient(null);
                                            
    fClient.FakeLoadx(ID);

                                        }
                                        
    //  Reader.Close();
                                        // //  Reader.Dispose();
                                        
    client.Screen.Reload(null);
                                    }
                                    break;
                                
    #endregion 

    تمام هتروح علي GameClient او GameState
    كلاً علي حسب السورس الخاص بك يا برنس

     هتحط البابلكات ديه

    public ProjectX_V3_Game.Entities.AIBot AIBot ;

    public 
    bool IsAIBot false

    ;
    تمام وبعد كده هتحط دول برضو

            public GenericActionList<BotDelayedActionsBotActions = new GenericActionList<BotDelayedActions>();
            public 
    GenericActionList<DelayedActionTypeEntityActions = new GenericActionList<DelayedActionType>();
            public 
    void Summon()
            {
                try
                {
                    
    this.AIBot.LoadBot(ProjectX_V3_Game.Entities.BotType.DuelBotthis);
                    
    this.AIBot.BeginJumpBot(this);
                    
    aisummoned true;
                    
    EntityActions.RemoveAction(DelayedActionType.Summon);
                }
                catch { }
            } 



    تمام كده ندخل علي كلاس maps.cs
    ونضيف الفويد ده
      public void AddAI(Entity entity)
            {
                if (!
    this.AIs.ContainsKey(entity.UID))
                {
                    
    this.AIs.Add(entity.UIDentity);
                    
    this.Floor[entity.Xentity.YMapObjectType.Playerentity] = false;
                }
                else
                {
                    
    this.RemoveEntity(entity);
                    
    this.AIs.Add(entity.UIDentity);
                    
    this.Floor[entity.Xentity.YMapObjectType.Playerentity] = false;
                }
            }
            public 
    void RemoveAI(Entity entity)
            {
                if (
    this.AIs.ContainsKey(entity.UID))
                {
                    
    this.AIs.Remove(entity.UID);
                    
    this.Floor[entity.Xentity.YMapObjectType.Playerentity] = true;
                }
            } 
     تمام كده يا ريس

    اتبقي يا برنس الانبيسي اهه

      #region AI Challange
                                
    case 216341:
                                    {
                                        switch (
    npcRequest.OptionID)
                                        {
                                            case 
    0:
                                                {
                                                    
    dialog.Text("Hello friend. I am the challenge master! Have you imagine if u could fight yourself (Clone).");
                                                    
    dialog.Option("I Wish To Try"1);
                                                    
    dialog.Option("I'll think about it!"255);
                                                    
    dialog.Send();
                                                    break;
                                                }
                                            case 
    1:
                                                {
                                                    
    dialog.Text("Choose Difficulty you want.");
                                                    
    dialog.Option(" Noob ."0);
                                                    
    dialog.Option(" Easy ."1);
                                                    
    dialog.Option(" Normal ."2);
                                                    
    dialog.Option(" Medium ."3);
                                                    
    dialog.Option(" Hard ."4);
                                                    
    dialog.Option(" Insane ."5);
                                                    
    dialog.Option(" MaTrix ."6);
                                                    
    dialog.Option("Nevermind."255);
                                                    
    dialog.Send();
                                                    break;
                                                }
                                            default:
                                                if ((
    npcRequest.OptionID >= 0) && (npcRequest.OptionID <= 6))
                                                {
                                                    
    client.AIBot = new Conquer_Online_Server.Entities.AIBot((Conquer_Online_Server.Entities.BotLevel)(npcRequest.OptionID 2));
                                                    if (!
    Constants.PKFreeMaps.Contains(702))
                                                        
    Constants.PKFreeMaps.Add(702);

                                                    if (!
    Kernel.Maps.ContainsKey((int)700L))
                                                    {
                                                        new 
    Map(700DMaps.MapPaths[700]);
                                                    }
                                                    
    Map map Kernel.Maps[(int)700];
                                                    
    Map dynamicMap map.MakeDynamicMap();
                                                    
    client.Entity.Teleport(map.IDdynamicMap.ID5050);
                                                    
    client.Time(7);
                                                    
    //  client.Entity.Teleport(702,dd 38, 38);
                                                    
    client.EntityActions.AddAction(Conquer_Online_Server.Entities.DelayedActionType.Summonclient.Summon6000);
                                                    break;
                                                }
                                                else
                                                {
                                                    
    dialog.Text("Invaild Difficulty");
                                                    
    dialog.Option("I Try again"255);
                                                    
    dialog.Send();
                                                    break;
                                                }

                                        }
                                        break;
                                    }
                                
    #endregion Challange 

    تمام كده يا ريس نصيحة بقي للناس الي بتظهر ليه ايرورات
    اي ايرور اتأكدو الاول انه مش بسبب اسم البروجكت تمام.
    لو بسبب اس البروجكت غيره لأسم البروجكت السورس الخاص بيك.

    اي مشاكل انا موجود في التعليقات
    وانا هحاول اعملكم فيديو برضو.




    1. ممكن طلب عاوز اعمل لعبتين بكلنت واحد ممكن تقولى ازاى اضبط الموضوع ده


      طلب ظبط ليك اختيار السيرفر من جوة الكلينت زي TQ

      ردحذف
      الردود
      1. في موضوع في المدونة بيشرح ده بس المشكلة بعد الابجريد مش هينفع الموضوع ده عموماً انا هحاول اتواصل مع شخص معين يضبط لي موضوع بهذه الخدمة وهحاولك انزلها ليكم مجانية مع انها هتكون مكلفة بالنسبة لي

        حذف
    2. أزال المؤلف هذا التعليق.

      ردحذف
    3. جالى 27 ايرور
      http://cdn.top4top.co/i_fc2a620b4b1.jpg

      ردحذف
      الردود
      1. بص كمل الاضافة للنهاية تمام
        بعد كده
        هتروح لكلاس map.cs
        وضيف البابلك ده

        public static SafeConcurrentDictionary Ais = new SafeConcurrentDictionary();

        تحت
        public class Map
        {

        حذف
    4. زادو بقو 38 ايرور
      http://cdn.top4top.co/i_7dce95bab31.jpg
      http://cdn.top4top.co/i_7dce95bab32.png
      http://cdn.top4top.co/i_0230371d003.png
      http://cdn.top4top.co/i_0230371d004.png
      http://cdn.top4top.co/i_0230371d005.png

      ردحذف
      الردود
      1. اتأكد من انك مغير اسم البروجكتات لأسم بروجكت السورس الي انت شغال عليه

        حذف