مشاهدة النسخة كاملة : طلب بخصوص الدروب الوحوش الكبيرة
abdocoder
2020-04-29, 06:19 PM
كنت عايز اعرف ازاى اخلى الدروب لما يوقع يتوزع بالشكل ده
صورة توضح كلامى
عفواً لايمكن عرض الروابط في الإرشيف (عفواً لايمكن عرض الروابط في الإرشيف)
AbuMaryam
2020-05-01, 02:28 AM
هتروح علي MonsterTable.cs
هتبحث علي اسم الوحش الى عايز تعدل علية وليكن مثلا ( TeratoDragon )
هتبدل الكود بتاعة بالكود دة
if (Name == "TeratoDragon")
{
CrazyTao.Kernel.SendWorldMessage(new CrazyTao.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Killed " + Name + "and Obtained Droped A Random Dragon Soul Gears", Message.TopLeft));
uint Uid = 0;
byte type = 50;
for (int i = 0; i < 4; i++)
{
type = (byte)Kernel.Random.Next(1, 50);
switch (type)
{
case 1:
Uid = 800320;
break;
case 2:
Uid = 822054;
break;
case 3:
Uid = 800110;
break;
case 4:
Uid = 820056;
break;
case 5:
Uid = 822056;
break;
case 6:
Uid = 822057;
break;
case 7:
Uid = 822053;
break;
case 8:
Uid = 800019;
break;
case 9:
Uid = 800050;
break;
case 10:
Uid = 800015;
break;
case 11:
Uid = 800090;
break;
case 12:
Uid = 800513;
break;
case 13:
Uid = 800017;
break;
case 14:
Uid = 800071;
break;
case 15:
Uid = 800016;
break;
case 16:
Uid = 823051;
break;
case 17:
Uid = 800130;
break;
case 18:
Uid = 800140;
break;
case 19:
Uid = 800141;
break;
case 20:
Uid = 800200;
break;
case 21:
Uid = 800310;
break;
case 22:
Uid = 800014;
break;
case 23:
Uid = 800214;
break;
case 24:
Uid = 800230;
break;
case 25:
Uid = 800414;
break;
case 26:
Uid = 822052;
break;
case 27:
Uid = 800420;
break;
case 28:
Uid = 800401;
break;
case 29:
Uid = 800512;
break;
case 30:
Uid = 823043;
break;
case 31:
Uid = 800514;
break;
case 32:
Uid = 800520;
break;
case 33:
Uid = 800521;
break;
case 34:
Uid = 800613;
break;
case 35:
Uid = 800614;
break;
case 36:
Uid = 800615;
break;
case 37:
Uid = 824001;
break;
case 38:
Uid = 800617;
break;
case 39:
Uid = 800720;
break;
case 40:
Uid = 800721;
break;
case 41:
Uid = 800070;
break;
case 42:
Uid = 800723;
break;
case 43:
Uid = 800724;
break;
case 44:
Uid = 800018;
break;
case 45:
Uid = 820001;
break;
case 46:
Uid = 820052;
break;
case 47:
Uid = 820053;
break;
case 48:
Uid = 820054;
break;
case 49:
Uid = 820055;
break;
case 50:
Uid = 800722;
break;
case 51:
Uid = 821028;
break;
case 52:
Uid = 824015;
break;
case 53:
Uid = 824016;
break;
}
var infos = Database.ConquerItemInformation.BaseInformations[Uid];
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
FloorItem floorItem = new FloorItem(true);
floorItem.Item = new ConquerItem(true);
floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
floorItem.Item.ID = Uid;
floorItem.Item.Plus = floorItem.Item.Plus;
floorItem.Item.MaximDurability = infos.Durability;
floorItem.Item.Durability = infos.Durability;
floorItem.Item.MobDropped = true;
floorItem.ValueType = FloorItem.FloorValueType.Item;
floorItem.ItemID = Uid;
floorItem.MapID = Owner.MapID;
floorItem.MapObjType = Game.MapObjectType.Item;
floorItem.X = X;
floorItem.Y = Y;
floorItem.Owner = killer.Owner;
floorItem.OwnerUID = killer.UID;
floorItem.Type = FloorItem.Drop;
floorItem.OnFloor = Time32.Now;
floorItem.ItemColor = floorItem.Item.Color;
floorItem.UID = FloorItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(floorItem.UID))
floorItem.UID = FloorItem.FloorUID.Next;
Map.AddFloorItem(floorItem);
SendScreenSpawn(floorItem);
Kernel.Spawn = false;
Kernel.SpawnDragon = false;
}
}
if (Owner.MonsterInfo.ID == 4152)
{
if (Owner.MapID == 1002)
{
if (Kernel.Maps[1002].Dragon[180810] != null)
{
Kernel.Maps[1002].AddNpc(Kernel.Maps[1002].Dragon[180810]);
Kernel.Maps[1002].Dragon.Remove(180810);
var n = Kernel.Maps[1002].Npcs[180810] as Interfaces.IMapObject;
killer.Owner.SendScreen(new Data(true)
{
UID = 180810,
ID = Data.SpawnEffect
}, true);
}
}
foreach (var Ownerr in Program.Values)
{
if (Ownerr.Entity.MapID == 1002)
{
foreach (Interfaces.INpc npc in Kernel.Maps[1002].Npcs.Values)
{
if (npc != null)
{
if (npc.UID == 180810)
{
if (Kernel.GetDistance(npc.X, npc.Y, Ownerr.Entity.X, Ownerr.Entity.Y) < 16)
{
npc.SendSpawn(Ownerr, false);
}
}
}
}
}
}
}
return;
}
معلومات تهمك في فهم و تعديل الكود
for (int i = 0; i < 4; i++)
رقم 4 الي ب الاحمر دة عدد الايتم الى هتقع على الارض عشوائي من الليستة المذكورة تحتة
type = (byte)Kernel.Random.Next(1, 50);
دة عدد ال case الى هيختار منها ال 4 ايتمات عشوائي المذكورة فوق
case 1 لحد case 50
دة محتوي ID الايتم الي هتقع من الوحش
اما باقي الاكواد الى تحت تخص ااماكن ظهور الوحش و مساحة تحركاتة و الضرب و مكان الايتم الي هتقع عشوائي و معلوماتها من حيث البلص و السوكت و الدامدج و الخ ....
abdocoder
2020-05-02, 05:00 AM
هتروح علي monstertable.cs
هتبحث علي اسم الوحش الى عايز تعدل علية وليكن مثلا ( teratodragon )
هتبدل الكود بتاعة بالكود دة
if (name == "teratodragon")
{
crazytao.kernel.sendworldmessage(new crazytao.network.gamepackets.message("congratulations! " + killer.name + " has killed " + name + "and obtained droped a random dragon soul gears", message.topleft));
uint uid = 0;
byte type = 50;
for (int i = 0; i < 4; i++)
{
type = (byte)kernel.random.next(1, 50);
switch (type)
{
case 1:
Uid = 800320;
break;
case 2:
Uid = 822054;
break;
case 3:
Uid = 800110;
break;
case 4:
Uid = 820056;
break;
case 5:
Uid = 822056;
break;
case 6:
Uid = 822057;
break;
case 7:
Uid = 822053;
break;
case 8:
Uid = 800019;
break;
case 9:
Uid = 800050;
break;
case 10:
Uid = 800015;
break;
case 11:
Uid = 800090;
break;
case 12:
Uid = 800513;
break;
case 13:
Uid = 800017;
break;
case 14:
Uid = 800071;
break;
case 15:
Uid = 800016;
break;
case 16:
Uid = 823051;
break;
case 17:
Uid = 800130;
break;
case 18:
Uid = 800140;
break;
case 19:
Uid = 800141;
break;
case 20:
Uid = 800200;
break;
case 21:
Uid = 800310;
break;
case 22:
Uid = 800014;
break;
case 23:
Uid = 800214;
break;
case 24:
Uid = 800230;
break;
case 25:
Uid = 800414;
break;
case 26:
Uid = 822052;
break;
case 27:
Uid = 800420;
break;
case 28:
Uid = 800401;
break;
case 29:
Uid = 800512;
break;
case 30:
Uid = 823043;
break;
case 31:
Uid = 800514;
break;
case 32:
Uid = 800520;
break;
case 33:
Uid = 800521;
break;
case 34:
Uid = 800613;
break;
case 35:
Uid = 800614;
break;
case 36:
Uid = 800615;
break;
case 37:
Uid = 824001;
break;
case 38:
Uid = 800617;
break;
case 39:
Uid = 800720;
break;
case 40:
Uid = 800721;
break;
case 41:
Uid = 800070;
break;
case 42:
Uid = 800723;
break;
case 43:
Uid = 800724;
break;
case 44:
Uid = 800018;
break;
case 45:
Uid = 820001;
break;
case 46:
Uid = 820052;
break;
case 47:
Uid = 820053;
break;
case 48:
Uid = 820054;
break;
case 49:
Uid = 820055;
break;
case 50:
Uid = 800722;
break;
case 51:
Uid = 821028;
break;
case 52:
Uid = 824015;
break;
case 53:
Uid = 824016;
break;
}
var infos = database.conqueriteminformation.baseinformations[uid];
ushort x = owner.x, y = owner.y;
game.map map = kernel.maps[owner.mapid];
if (map.selectcoordonates(ref x, ref y))
{
flooritem flooritem = new flooritem(true);
flooritem.item = new conqueritem(true);
flooritem.item.color = (enums.color)kernel.random.next(4, 8);
flooritem.item.id = uid;
flooritem.item.plus = flooritem.item.plus;
flooritem.item.maximdurability = infos.durability;
flooritem.item.durability = infos.durability;
flooritem.item.mobdropped = true;
flooritem.valuetype = flooritem.floorvaluetype.item;
flooritem.itemid = uid;
flooritem.mapid = owner.mapid;
flooritem.mapobjtype = game.mapobjecttype.item;
flooritem.x = x;
flooritem.y = y;
flooritem.owner = killer.owner;
flooritem.owneruid = killer.uid;
flooritem.type = flooritem.drop;
flooritem.onfloor = time32.now;
flooritem.itemcolor = flooritem.item.color;
flooritem.uid = flooritem.flooruid.next;
while (map.npcs.containskey(flooritem.uid))
flooritem.uid = flooritem.flooruid.next;
map.addflooritem(flooritem);
sendscreenspawn(flooritem);
kernel.spawn = false;
kernel.spawndragon = false;
}
}
if (owner.monsterinfo.id == 4152)
{
if (owner.mapid == 1002)
{
if (kernel.maps[1002].dragon[180810] != null)
{
kernel.maps[1002].addnpc(kernel.maps[1002].dragon[180810]);
kernel.maps[1002].dragon.remove(180810);
var n = kernel.maps[1002].npcs[180810] as interfaces.imapobject;
killer.owner.sendscreen(new data(true)
{
uid = 180810,
id = data.spawneffect
}, true);
}
}
foreach (var ownerr in program.values)
{
if (ownerr.entity.mapid == 1002)
{
foreach (interfaces.inpc npc in kernel.maps[1002].npcs.values)
{
if (npc != null)
{
if (npc.uid == 180810)
{
if (kernel.getdistance(npc.x, npc.y, ownerr.entity.x, ownerr.entity.y) < 16)
{
npc.sendspawn(ownerr, false);
}
}
}
}
}
}
}
return;
}
معلومات تهمك في فهم و تعديل الكود
for (int i = 0; i < 4; i++)
رقم 4 الي ب الاحمر دة عدد الايتم الى هتقع على الارض عشوائي من الليستة المذكورة تحتة
type = (byte)kernel.random.next(1, 50);
دة عدد ال case الى هيختار منها ال 4 ايتمات عشوائي المذكورة فوق
case 1 لحد case 50
دة محتوي id الايتم الي هتقع من الوحش
اما باقي الاكواد الى تحت تخص ااماكن ظهور الوحش و مساحة تحركاتة و الضرب و مكان الايتم الي هتقع عشوائي و معلوماتها من حيث البلص و السوكت و الدامدج و الخ ....
اولا شكرا لردك وثانيا لتعبك بس للاسف منفعش معى مش شغال جايبها الايتم بالطريقة القديمة اللى هم جمب بعض مش موزعهم كده
vBulletin® v3.8.8 Beta 1, Copyright ©2000-2024, TranZ by code