السلام عليكم
كانت في ناس طالبه ازاي تخلي الوحوش توقع
اكسبولات
وكدا
انا عملت ليهم الموضوع دا
اولا
نسمي الله ونبدا
اول حاجه تفتح ملف ايتمز هتلاقوه في
bin/debug/Items
بعد كدا تضيفو فيه الكود اد
كود:
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
ابحث عن دي
وضيف دي تحتها
كود:
#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
كود:
#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