حل مشكلة لفل الايتم بعد لما تنزل ريبورن بعد الابجريد
السلام عليكم ورحمة الله وبركاته
اهلا بالجيمع
اليوم هنحل مشكلة ظهرت بعد الابجريد
وهي حل مشكلة لفل الايتم بيبقي عالي مش بيقل بعد ما تنزل ريبورن.
الحل بسيط وسهل اكيد..
هتروح في السورس علي GameState.cs او GameClient.cs
حسب السورس بتاعك انت
هتبحث عن
public bool Reborn(byte toClass)
هتقفلها بالسالب وتبدلها بالاكواد الي هنا
هتروح بقي علي الباكت هندلر
PacketHandler.cs
هتبحث عن
public static byte ItemMinLevel(ushort postion)
بدلو بالاكواد ديه
public static byte ItemMinLevel(ushort postion)
{
switch (postion)
{
case 0: return 0;
case ConquerItem.Head: return 15;
case ConquerItem.Necklace: return 7;
case ConquerItem.Armor: return 15;
case ConquerItem.LeftWeapon: return 40;
case ConquerItem.RightWeapon: return 5;
case ConquerItem.Boots: return 10;
case ConquerItem.Ring: return 10;
case ConquerItem.Tower: return 0;
case ConquerItem.Fan: return 0;
case ConquerItem.Wing: return 0;
case ConquerItem.Steed: return 0;
case ConquerItem.SteedCrop: return 0;
}
return 0;
}
بعد كده هنبحث عن
هيدخلك علي كلاس معين هتبحث فيه عن
public uint LowestID(byte Level)
وهتقفله بالسالب وتبدله بالاكواد ديه
public uint LowestID(byte Level)
{
if (BaseInformation.ID / 1000 == 616)// Epic Ninja
{
return (uint)(616010 + BaseInformation.ID % 10);
}
if (BaseInformation.ID / 1000 == 620)//Divin Backsword
{
return (uint)(620003 + BaseInformation.ID % 10);
}
if (BaseInformation.ID / 1000 == 619)//Hossu
{
return (uint)(619000 + BaseInformation.ID % 10);
}
var grades = GradeInformations[this.BaseInformation.Description];
if (grades == null) return BaseInformation.ID;
for (byte gr = 0; gr < grades.Count; gr++)
if (grades[gr].Level == Level)
return (uint)((grades[gr + 1].ID / 10) * 10 + BaseInformation.ID % 10);
return (uint)((grades[0].ID / 10) * 10 + BaseInformation.ID % 10);
}
public uint CalculateDownlevel()
{
if (BaseInformation.ID / 1000 == 616)
{
return (uint)(616010 + BaseInformation.ID % 10);
}
if (BaseInformation.ID / 1000 == 620)
{
return (uint)(620003 + BaseInformation.ID % 10);
}
if (BaseInformation.ID / 1000 == 619)//Hossu
{
return (uint)(619000 + BaseInformation.ID % 10);
}
var grades = GradeInformations[this.BaseInformation.Description];
if (grades == null) return BaseInformation.ID;
if (grades[BaseInformation.GradeKey - 1] == null)
return BaseInformation.ID;
else
return (uint)((grades[BaseInformation.GradeKey - 1].ID / 10) * 10 + BaseInformation.ID % 10);
}
اتمني الدرس يكون عجبكم واي مشاكل انا موجود
ولا تنسو دعمنا عبر نشر الموضوع مع اصدقائكم علي الفيس بوك
والاعجاب بالصفحة الخاصة بنا.
تعليقات: 0
إرسال تعليق