الان سيستم كامل فيكسد نظام الشخصية الزكية ممكن تلعب مع نفسك بمستويات مختلفة
عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع
السيستم ده مش عند اي حد غير منتدي ' اكواد ' ده بيخليك تقدر تلعب ارينا مع السيرفر نفسه بشخصية وهمية بتقنية الزكاء الاصطناعي
بعدة مستويات .
فعلا السيستم ده حاجة زي الفل بمعني الكلمة فحبيت انزله ليكم
الان ندخل علي تركب السيستم.
اولاً حمل الملف ده وحطه في فولدر Network
عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع
هنفتح الباكت هندلر PacketHandler
هتبحث عن
كود PHP:
case "chi": { client.Send(new ChiPowers(true).Query(client)); break; }
ضع تحتها الاكواد ديه
كود PHP:
#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.DuelBot, client); 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 = x; i < y; i++) { 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.X + xP), (ushort)(client.Entity.Y + yP)); if (fClient.Booth == null) { fClient.Send(new MapStatus() { BaseID = fClient.Map.BaseID, ID = fClient.Map.ID, Status = 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.ChangeAction, UID = fClient.Entity.UID, dwParam = 0 }); for (int ii = x; i < y; i++) { 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.nextID; AuthClient.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.UID, item); fClient.Send(usage); Conquer_Online_Server.Network.GamePackets.BoothItem buffer = new Conquer_Online_Server.Network.GamePackets.BoothItem(true); buffer.Fill(item, fClient.Booth.Base.UID); fClient.SendScreen(buffer, false); } } }
}
} } 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
كلاً علي حسب السورس الخاص بك يا برنس
هتحط البابلكات ديه
كود PHP:
public ProjectX_V3_Game.Entities.AIBot AIBot ;
public bool IsAIBot = false
;
تمام وبعد كده هتحط دول برضو
كود PHP:
public GenericActionList<BotDelayedActions> BotActions = new GenericActionList<BotDelayedActions>(); public GenericActionList<DelayedActionType> EntityActions = new GenericActionList<DelayedActionType>(); public void Summon() { try { this.AIBot.LoadBot(ProjectX_V3_Game.Entities.BotType.DuelBot, this); this.AIBot.BeginJumpBot(this); aisummoned = true; EntityActions.RemoveAction(DelayedActionType.Summon); } catch { } }
تمام كده ندخل علي كلاس maps.cs
ونضيف الفويد ده
كود PHP:
public void AddAI(Entity entity) { if (!this.AIs.ContainsKey(entity.UID)) { this.AIs.Add(entity.UID, entity); this.Floor[entity.X, entity.Y, MapObjectType.Player, entity] = false; } else { this.RemoveEntity(entity); this.AIs.Add(entity.UID, entity); this.Floor[entity.X, entity.Y, MapObjectType.Player, entity] = false; } } public void RemoveAI(Entity entity) { if (this.AIs.ContainsKey(entity.UID)) { this.AIs.Remove(entity.UID); this.Floor[entity.X, entity.Y, MapObjectType.Player, entity] = true; } }
تمام كده يا ريس
اتبقي يا برنس الانبيسي اهه
كود PHP:
#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 .", 2 + 0); dialog.Option(" Easy .", 2 + 1); dialog.Option(" Normal .", 2 + 2); dialog.Option(" Medium .", 2 + 3); dialog.Option(" Hard .", 2 + 4); dialog.Option(" Insane .", 2 + 5); dialog.Option(" MaTrix .", 2 + 6); dialog.Option("Nevermind.", 255); dialog.Send(); break; } default: if ((npcRequest.OptionID >= 2 + 0) && (npcRequest.OptionID <= 2 + 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(700, DMaps.MapPaths[700]); } Map map = Kernel.Maps[(int)700]; Map dynamicMap = map.MakeDynamicMap(); client.Entity.Teleport(map.ID, dynamicMap.ID, 50, 50); client.Time(7); // client.Entity.Teleport(702,dd 38, 38); client.EntityActions.AddAction(Conquer_Online_Server.Entities.DelayedActionType.Summon, client.Summon, 6000); break; } else { dialog.Text("Invaild Difficulty"); dialog.Option("I Try again", 255); dialog.Send(); break; }
} break; } #endregion Challange
كدة خلصنا
اي ايرور اتأكدو الاول انه مش بسبب اسم البروجكت تمام.
لو بسبب اس البروجكت غيره لأسم البروجكت السورس الخاص بيك
عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع
|