منتدي اكواد

منتدي اكواد (https://code.vpscairo.com/index.php)
-   تطوير سيرفرات كونكر (https://code.vpscairo.com/forumdisplay.php?f=11)
-   -   اضافه كوره الاكس بي الي بتقع زي الي موجود في سرفرات صعبه (https://code.vpscairo.com/showthread.php?t=2532)

Hassan Emprator 2019-09-28 02:07 AM

اضافه كوره الاكس بي الي بتقع زي الي موجود في سرفرات صعبه
 
السلام عليكم
كانت في ناس طالبه ازاي تخلي الوحوش توقع
اكسبولات
وكدا
انا عملت ليهم الموضوع دا
اولا
نسمي الله ونبدا
اول حاجه تفتح ملف ايتمز هتلاقوه في
bin/debug/Items
بعد كدا تضيفو فيه الكود اد
كود PHP:

722136@@ExpBall(Event)@@0@@0@@0@@0@@0@@0@@0@@0@@11@@0@@0@@9017600@@0@@0@@0@@0@@0@@0@@0@@1@@1@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@RareItem@@Use~it~to~gain~much~EXP.~Can`t~be~stored~in~Warehouse~or~traded.~Disappear~if~discarded.@@5@@0@@0@@0@@0@@500@@0@@0@@0@@0@@0@@ 

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

كود PHP:

#region ExpBall 

وضيف دي تحتها

كود PHP:

#region ExpBallEventByHassan
                
case 722136:
                    {
                       
// if (client.ExpBalls < 10)
                       // {
                            
if (client.Entity.Level < 137)
                            {
                                
client.IncreaseExperience(client.ExpBall, false);
                                
client.Inventory.Remove(item, Game.Enums.ItemUse.RemoveFromStack);
                                
client.ExpBalls++;
                          
//  }
                        
}
                        else
                            
client.Send(Constants.ExpBallsUsed);
                        break;
                    }
                
#endregion 

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

اعمل ايه ؟

تضيف الكود دا في MonsterTable

كود PHP:

#region DropItemsByHassan
            
if (killer != null && killer.EntityFlag == Game.EntityFlag.Player)
            {
                
byte times = (byte)Kernel.Random.Next(1, 2);
                
byte ref_times = (byte)Kernel.Random.Next(1, 60);
                for (
byte i = 0; i < times; i++)
                {
                    
uint Uid = 0;
                    
byte type = (byte)Kernel.Random.Next(1, 60);
                    switch (
type)
                    {
                        case 
1: Uid = 721016; break;
                        case 
2: Uid = 721019; break;
                        
//case 3: Uid = 723744; break;
                        
case 3: Uid = 722136; break;
                        case 
4: Uid = 720027; break;

                    }

                    if (
Uid != 0)
                    {
                        
ushort X = Owner.X, Y = Owner.Y;
                        
Game.Map Map = Kernel.Maps[Owner.MapID];
                        if (
Map.SelectCoordonates(ref X, ref Y))
                        {
                            
Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
                            
floorItem.Item = new Network.GamePackets.ConquerItem(true);
                            
floorItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 60);
                            
floorItem.Item.ID = Uid;
                            
floorItem.Item.MaximDurability = floorItem.Item.Durability = 65535;
                            
floorItem.Item.UID = Network.GamePackets.ConquerItem.ItemUID.Next;
                            
floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
                            
floorItem.ItemID = Uid;
                            
floorItem.MapID = Owner.MapID;
                            
floorItem.MapObjType = Game.MapObjectType.Item;

                            
floorItem.X = X;
                            
floorItem.Y = Y;
                            
floorItem.Type = Network.GamePackets.FloorItem.Drop;
                            
floorItem.OnFloor = Time32.Now;
                            
floorItem.ItemColor = floorItem.Item.Color;
                            
floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
                            while (
Map.Npcs.ContainsKey(floorItem.UID))
                                
floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
                            
Map.AddFloorItem(floorItem);
                            
SendScreenSpawn(floorItem);
                        }
                    }
                }
            }
            
#endregion 

طبعا الكود دا في دروب شنط من 5 لي 25
وفي ميتور سكرول
وفي الي هوا الاكسبولات حبيت امسح اي حاجه واضيف

هتعمل كداج

case 5: Uid = 720027; break;

وتمشي بي الترتيب بقا بي كود بتاع الايتم

اتمنا اكود فدتكم هيا حاجه بسيطه حاجه للناس الي عايزه بس

والسلام عليكم ورحمت الله وبركاته :)

تعديل : لو حد جاله ايرور في Playerيخليها Entity ولو جاله في Entityيخليها Player


محمد ياسر 2019-09-28 07:52 AM

رد: اضافه كوره الاكس بي الي بتقع زي الي موجود في سرفرات صعبه
 
عاش


الساعة الآن 10:05 PM

مرحبا بكم في منتدي اكواد لتطوير الالعاب