عرض مشاركة واحدة
احصائياتى

الردود
0

المشاهدات
2004
 
MARO

MARO is on a distinguished road

    غير متواجد

المشاركات
134

+التقييم
0.03

تاريخ التسجيل
Apr 2012

الاقامة

نظام التشغيل

رقم العضوية
543
06-01-2012, 07:37 PM
المشاركة 1 
#1  
افتراضي طريقة اضافة StudyPoints عشان السب كلاس لكلينت 5375
5375, لكلينت, السب, اضافة, studypoints, عشان, طريقة, كلاس

النهاردة انا جبت كيفية اضافة بوينتات الستدي Study Points

عشان الناس اللي عايزة تكمل السورس بتاعها في كلينت 5375

كل الشغل هايبقي في ملفيند وهم PacketHandler.cs و MonsterTable.cs

اول حاجة وان شاء الله هي اللي هايبقي فيها الشغل

هاندور على الكود ده


كود PHP:
client.AddSpell(new Spell(true) { ID = 1165 });


و هانطلع بره و هانلاقي break و endregion

نحط بعدها الكود ده


كود PHP:
#region StudyBooks
case 723340:
{
client.Inventory.Remove(item, Game.Enums.ItemUse.Remove);
client.Entity.SubClasses.StudyPoints += 5;
break;
}
case 723341:
{
client.Inventory.Remove(item, Game.Enums.ItemUse.Remove);
client.Entity.SubClasses.StudyPoints += 20;
break;
}
case 723342:
{
client.Inventory.Remove(item, Game.Enums.ItemUse.Remove);
client.Entity.SubClasses.StudyPoints += 500;
break;
}
#endregion


كده احنا ضفنا التعريفات بتاعة الكتب اللي بتدي البوينتات دي

ناقص حاجة
احنا عايزين نخلي الوحوش توقع الكتب دي
و طريقتها سهلة اوي
نفتح MonsterTable.cs

وندور على الكود ده


كود PHP:
if (Name == "SnowBanshee")


وحط الكود ده فوقيه علطول


كود PHP:
if (Game.Entity.ChanceSuccess(2.5))
{
byte times = (byte)ServerBase.Kernel.Random.Next(1, 3);
byte ref_times = (byte)ServerBase.Kernel.Random.Next(1, 6);
for (byte i = 0; i < times; i++)
{
uint Uid = 0;
byte type = (byte)ServerBase.Kernel.Random.Next(1, 21);
switch (type)
{
case 1: Uid = 723340; break;
case 2: Uid = 723340; break;
case 3: Uid = 723340; break;
}

if (Uid != 0)
{
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = ServerBase.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 = (Conquer_Online_Server.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
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);
}
}
}
}


وكده الوحوش هاتوقع ثلاث انواع من الكتب
كتاب بيدي 5 بوينتات
كتاب بيدي 20 بوينت
و الاخير بيدي 500 بوينت

طريقة اضافة StudyPoints عشان السب cool.gif

وارجو التقييم

SIZE=5] [/SIZE]]


'vdrm hqhtm StudyPoints uahk hgsf ;ghs g;gdkj 5375 studypoints