المساعد الشخصي الرقمي

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


Hassan Emprator
2019-09-28, 02:07 AM
السلام عليكم
كانت في ناس طالبه ازاي تخلي الوحوش توقع
اكسبولات
وكدا
انا عملت ليهم الموضوع دا
اولا
نسمي الله ونبدا
اول حاجه تفتح ملف ايتمز هتلاقوه في
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@@5 00@@0@@0@@0@@0@@0@@

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

#region ExpBall

وضيف دي تحتها

#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

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