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

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


محمد ياسر
2019-08-08, 09:02 AM
السلام عليكم ورحمة الله وبركاته
اضافة ابيك القرصان للسورسات العاديه ده طلب الضعو اسامه
يلا ندخل علي الاكواد
في Entity.cs
حط دول
public bool EpicPirate()
{

if (EntityFlag == Game.EntityFlag.Entity)
{

var weapons = Owner.Weapons;

if (weapons.Item1 != null && weapons.Item2 != null)

if (weapons.Item1.ID / 1000 == 671 && weapons.Item2.ID / 1000 == 670)

return true;

}

return false;
}

كلاس PacketHandler.cs
ابحث عن
public static Positions ItemPositionFromID(UInt32 itemid)
تحت القوس اي اضافه في الفويد حط دول
else if (iType == 1050 || iType == 900 || iType == 619)
return Positions.Left;
else if ((iType >= 410 && iType <= 490) || (iType >= 500 && iType <= 580) || (iType >= 601 && iType <= 617) || iType == 620 || iType == 624 || iType == 626)
return Positions.Right;


في نفس الكلاس
ابحث عن
public static ushort ItemPosition(uint ID)
تحت القوس ضيف دول
#region EpicPirate K7host.com
if (ID >= 670003 && ID <= 670439)

return ConquerItem.LeftWeapon;




if (ID >= 671003 && ID <= 671439)

return ConquerItem.RightWeapon;
if (iType == 671)

return ConquerItem.RightWeapon;

if (iType == 670)

return ConquerItem.LeftWeapon;
#endregion


في نفس الكلاس ابحث عن
public static bool IsRapier(uint ID)

واقفله من السالب وبدله بده
public static bool IsRapier(uint ID)
{

if (ID >= 611000 && ID <= 611439 || (ID >= 670000 && ID <= 670439))

{ return true; }

else { return false; }

}

في نفس الكلاس ابحث عن
public static bool IsPistol(uint ID)

اقفله من السالب وبدله بده
public static bool IsPistol(uint ID)
{

if (ID >= 612000 && ID <= 612439 || ID >= 671000 && ID <= 671439)

{ return true; }

else { return false; }

}

في نفس الكلاس ابحث عن
bool twohand = IsTwoHand(item.ID);

تختيه ضيف دول
if (client.Entity.Class >= 70 && client.Entity.Class <= 75)
{

if (itemUsage.dwParam > 20)
{

if (!client.Equipment.Free(24))
{

if (IsRapier(client.Equipment.TryGetItem(24).ID))
{

if (IsPistol(item.ID))
{

can2wpn = true;

}

}

}

}

else if (!client.Equipment.Free(4))
{

if (IsRapier(client.Equipment.TryGetItem(4).ID))
{

if (IsPistol(item.ID))
{

can2wpn = true;

}

}

}

}

افتح بقي الايام في السورس و ايتم تيب في الجيم و حط دول

670439@@OceanDominator@@70@@12@@140@@0@@0@@36@@0@@ 0@@0@@0@@100000@@0@@3666@@2554@@0@@78@@0@@2616@@0@ @7099@@7099@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@1000@@0 @@0@@0@@0@@0@@0@@300@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0 @@0@@0@@EpicWeapon@@None@@5@@0@@0@@0@@1070@@500@@0 @@0@@0@@0@@0@@
670239@@DivineDictator@@70@@0@@120@@0@@0@@36@@0@@0 @@0@@0@@200000@@0@@2313@@1212@@0@@61@@0@@149@@0@@7 099@@7099@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@1000@@0@@ 0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@20@@0@@0@@0@@0@@0@@0 @@0@@EpicWeapon@@None@@5@@0@@0@@0@@1360@@500@@0@@0 @@0@@0@@0@@

670009@@TempestPlunder@@70@@0@@5@@0@@0@@2@@0@@0@@0 @@0@@153@@0@@15@@9@@0@@61@@0@@6@@0@@1599@@1599@@0@ @0@@0@@0@@0@@0@@0@@0@@0@@1@@1000@@0@@0@@0@@0@@0@@0 @@0@@0@@0@@0@@0@@20@@0@@0@@0@@0@@0@@0@@0@@EpicWeap on@@None@@5@@0@@0@@0@@1360@@500@@0@@0@@0@@0@@0@@

671439@@MightyRapierofViolence@@70@@11@@140@@0@@0@ @36@@0@@0@@0@@0@@100000@@0@@3300@@2800@@0@@78@@0@@ 0@@0@@7099@@7099@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@10 00@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0 @@0@@0@@0@@EpicWeapon@@None@@5@@0@@0@@0@@1060@@500 @@0@@0@@0@@0@@0@@

671239@@MightyRapierofAmbition@@70@@0@@120@@0@@0@@ 36@@0@@0@@0@@0@@200000@@0 @@2330@@1200@@0@@61@@0@@0@@0@@7099@@7099@@0@@0@@0@ @0@@0@@0@@0@@0@@0@@1@@1000@@0@@0@@0@@0@@0@@0@@0@@0 @@0@@0@@0@@20@@0@@0@@0@@0@@0@@0@@0@@EpicWeapon@@No ne@@5@@0@@0@@0@@1350@@500@@0@@0@@0@@0@@0@@

671009@@MightyRapierofInvasion@@70@@0@@5@@0@@0@@2 @@0@@0@@0@@153@@0@@15@@9@@0@@0@@61@@0@@0@@0@@1599@ @1599@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@1000@@0@@0@@0 @@0@@0@@0@@0@@0@@0@@0@@0@@20@@0@@0@@0@@0@@0@@0@@0@ @EpicWeapon@@None@@5@@0@@0@@0@@1350@@500@@0@@0@@0@ @0@@0@@



و بعد كده
ضيف بقي الايتم

في Data جوة الباتش
تحميل (عفواً لايمكن عرض الروابط في الإرشيف)
و بعد كده

في فلد ani
افتح
ItemMinIcon
و برضوا
MapItemIcon
تكست
و ضيف في اخرها
دول
تحميل (عفواً لايمكن عرض الروابط في الإرشيف)
حمل الباتش وعلي فكره الباتش عربي فخلي بالك ليبوظ لعبتك
تحميل (عفواً لايمكن عرض الروابط في الإرشيف)
في النفي كات
ضيف دول
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14570, 14570, 0078, 'LeftChop', 1, 1, 0, 0000, 0000, 0000, 30200, 0000, 0030, 0000, 0003, 0008, 0000, 0000, 20243, 0015, 0, 61626626, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14580, 14580, 0078, 'RightChop', 1, 1, 0, 0000, 0000, 0000, 30200, 0000, 0030, 0000, 0003, 0008, 0000, 0000, 20243, 0015, 0, 61626626, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14590, 14590, 0081, 'Gunfire', 1, 1, 0, 0000, 0000, 0000, 30200, 0000, 0030, 0000, 0003, 0008, 0000, 0000, 20243, 0015, 0, 61626626, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14680, 14680, 0090, 'SeaBurial', 1, 1, 0, 0000, 0000, 0000, 30100, 0000, 0030, 0000, 0003, 0008, 0000, 900000, 10000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14681, 14680, 0000, 'SeaBurial', 1, 1, 0, 0000, 0000, 0000, 30102, 0000, 0030, 0000, 0003, 0008, 0000, 3000000, 30000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14682, 14680, 0005, 'SeaBurial', 1, 1, 0, 0000, 0000, 0000, 30104, 0000, 0030, 0000, 0003, 0008, 0000, 10000000, 60000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0001, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14683, 14680, 0090, 'SeaBurial', 1, 1, 0, 0000, 0000, 0000, 30106, 0000, 0030, 0000, 0003, 0008, 0000, 50000000, 120000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14684, 14680, 0090, 'SeaBurial', 1, 1, 0, 0000, 0000, 0000, 30108, 0000, 0030, 0000, 0003, 0008, 0000, 100000000, 240000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0001, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14685, 14680, 0090, 'SeaBurial', 1, 1, 0, 0000, 0000, 0000, 30110, 0000, 0030, 0000, 0003, 0008, 0000, 100000000, 6000000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14686, 14680, 0090, 'SeaBurial', 1, 1, 0, 0000, 0000, 0000, 30115, 0000, 0030, 0000, 0003, 0008, 0000, 500000000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0001, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14710, 14710, 0006, 'ImmortalForce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14711, 14710, 0006, 'ImmortalForce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 1000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14712, 14710, 0006, 'ImmortalForce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 10000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14713, 14710, 0006, 'ImmortalForce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 50000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14714, 14710, 0006, 'ImmortalForce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 100000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14715, 14710, 0006, 'ImmortalForce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 500000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14716, 14710, 0006, 'ImmortalForce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 900000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14717, 14710, 0006, 'ImmortalForce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 1300000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14718, 14710, 0006, 'ImmortalForce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 0000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14720, 14720, 0021, 'BloomofDeath', 1, 1, 4, 0000, 0000, 0000, 30180, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14721, 14720, 0021, 'BloomofDeath', 1, 1, 4, 0001, 0000, 0000, 30185, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14722, 14720, 0021, 'BloomofDeath', 1, 1, 4, 0002, 0000, 0000, 30195, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14723, 14720, 0021, 'BloomofDeath', 1, 1, 4, 0003, 0000, 0000, 30200, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14724, 14720, 0021, 'BloomofDeath', 1, 1, 4, 0004, 0000, 0000, 30220, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14725, 14720, 0021, 'BloomofDeath', 1, 1, 4, 0005, 0000, 0000, 30225, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14726, 14720, 0021, 'BloomofDeath', 0, 0, 0, 0006, 0000, 0000, 30230, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14727, 14720, 0021, 'BloomofDeath', 0, 0, 0, 0007, 0000, 0000, 30235, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
INSERT INTO `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `IncreaseDmg`, `DecreaseDmg`) VALUES (14728, 14720, 0021, 'BloomofDeath', 0, 0, 0, 0008, 0000, 0000, 30245, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);


اتغير ال cq1 باسم القاعده الي فيه اللعبه
ثانيا الهاندل Handle.cs
هتروح
#region Melee
و هتنزل تحت اسكلات الويندويكر
و تضيف
#region EpicPirate(Melee)
if (attacker.EpicPirate())
{
#region EpicPirate 14570


// var lastattacked = attacked;
var spell20 = Database.SpellTable.GetSpell(14570, attacker.Owner);
if (Kernel.Rate(spell20.Percent) && attacker.Owner.Spells.ContainsKey(14570) && attacker.EpicPirate())
{

{
MsgMagicEffect suse = new MsgMagicEffect(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell20.ID;
suse.SpellLevel = spell20.Level;
suse.X = lastattacked.X;
suse.Y = lastattacked.Y;
foreach (Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects)
{
if (_obj == null)
continue;
attacked = _obj as Player;
if (attacked == null) continue;
if (Kernel.GetDistance(attacked.X, attacked.Y, attacker.X, attacker.Y) <= spell20.Range)
{
if (_obj.MapObjType == MapObjectType.Player)
{
if (!CanAttack(attacker, attacked, null, attack.InteractType == MsgInteract.Melee)) continue;


uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);
attack.Damage = 0;

damage = (damage * spell20.IncreaseDMG);
damage = (damage / spell20.DecreaseDMG);
ReceiveAttack(attacker, attacked, attack, ref damage, spell5);
suse.AddTarget(attacked.UID, damage, attack);
}
else if (_obj.MapObjType == MapObjectType.Monster)
{
if (!CanAttack(attacker, attacked, null, attack.InteractType == MsgInteract.Melee)) continue;




uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);


attack.Damage = 0;


damage = (damage * spell20.IncreaseDMG);
damage = (damage / spell20.DecreaseDMG);
ReceiveAttack(attacker, attacked, attack, ref damage, spell20);
suse.AddTarget(attacked.UID, damage, attack);
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as MsgNpcInfoEX;
if (Kernel.GetDistance(lastattacked.X, lastattacked.Y, attackedsob.X, attackedsob.Y) <= 5)
{
if (Handle.CanAttack(attacker, attackedsob, spell20))
{
// lastattacked = attackedsob;
uint damages = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack);
suse.Effect2 = attack.Effect2;
if (damages == 0) break;
Handle.ReceiveAttack(attacker, attackedsob, attack, damages, spell20);
suse.AddTarget(attackedsob.UID, damages, attack);
}
}
}
}


}
attacker.AttackPacket = null;
attacker.Owner.SendScreen(suse, true);


}





return;
}
#endregion
#region EpicPirate 14580
// var lastattacked = attacked;
var spell21 = Database.SpellTable.GetSpell(14580, attacker.Owner);
if (Kernel.Rate(spell21.Percent) && attacker.Owner.Spells.ContainsKey(14580) && attacker.EpicPirate())
{
#region EpicPirate
{
MsgMagicEffect suse = new MsgMagicEffect(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell21.ID;
suse.SpellLevel = spell21.Level;
suse.X = lastattacked.X;
suse.Y = lastattacked.Y;
foreach (Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects)
{
if (_obj == null)
continue;
attacked = _obj as Player;
if (attacked == null) continue;
if (Kernel.GetDistance(attacked.X, attacked.Y, attacker.X, attacker.Y) <= spell21.Range)
{
if (_obj.MapObjType == MapObjectType.Player)
{
if (!CanAttack(attacker, attacked, null, attack.InteractType == MsgInteract.Melee)) continue;


uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);
attack.Damage = 0;


damage = (damage * spell21.IncreaseDMG);
damage = (damage / spell21.DecreaseDMG);
ReceiveAttack(attacker, attacked, attack, ref damage, spell21);
suse.AddTarget(attacked.UID, damage, attack);
}
else if (_obj.MapObjType == MapObjectType.Monster)
{
if (!CanAttack(attacker, attacked, null, attack.InteractType == MsgInteract.Melee)) continue;




uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);
attack.Damage = 0;


damage = (damage * spell21.IncreaseDMG);
damage = (damage / spell21.DecreaseDMG);
ReceiveAttack(attacker, attacked, attack, ref damage, spell21);
suse.AddTarget(attacked.UID, damage, attack);
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as MsgNpcInfoEX;
if (Kernel.GetDistance(lastattacked.X, lastattacked.Y, attackedsob.X, attackedsob.Y) <= 5)
{
if (Handle.CanAttack(attacker, attackedsob, spell5))
{
// lastattacked = attackedsob;
uint damages = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack);
suse.Effect2 = attack.Effect2;
if (damages == 0) break;
Handle.ReceiveAttack(attacker, attackedsob, attack, damages, spell5);
suse.AddTarget(attackedsob.UID, damages, attack);
}
}
}


}


}
attacker.AttackPacket = null;
attacker.Owner.SendScreen(suse, true);


}
#endregion




return;
}
#endregion




#region EpicPirate 14590






// var lastattacked = attacked;
var spell22 = Database.SpellTable.GetSpell(14590, attacker.Owner);
if (Kernel.Rate(spell22.Percent) && attacker.Owner.Spells.ContainsKey(14590) && attacker.EpicPirate())
{
#region EpicPirate
{
MsgMagicEffect suse = new MsgMagicEffect(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell22.ID;
suse.SpellLevel = spell22.Level;
suse.X = lastattacked.X;
suse.Y = lastattacked.Y;


foreach (Interfaces.IMapObject _obj in attacker.Owner.Screen.Objects)
{
if (_obj == null)
continue;
attacked = _obj as Player;
if (attacked == null) continue;
if (Kernel.GetDistance(attacked.X, attacked.Y, attacker.X, attacker.Y) <= spell22.Range)
{
if (_obj.MapObjType == MapObjectType.Player)
{
if (!CanAttack(attacker, attacked, null, attack.InteractType == MsgInteract.Melee)) continue;


attacker.Update(MsgName.Mode.Effect, "hdswzfwodrd", true);// hdswzfwodrd
attacker.Update(MsgName.Mode.Effect, "hdswzf-shouji", true);
attacker.Update(MsgName.Mode.Effect, "hdswzf-shifa", true);
uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);


attack.Damage = 0;


damage = (damage * spell22.IncreaseDMG);
damage = (damage / spell22.DecreaseDMG);
ReceiveAttack(attacker, attacked, attack, ref damage, spell22);
suse.AddTarget(attacked.UID, damage, attack);
}
else if (_obj.MapObjType == MapObjectType.Monster)
{
if (!CanAttack(attacker, attacked, null, attack.InteractType == MsgInteract.Melee)) continue;


attacker.Update(MsgName.Mode.Effect, "hdswzfwodrd", true);// hdswzfwodrd
attacker.Update(MsgName.Mode.Effect, "hdswzf-shouji", true);
attacker.Update(MsgName.Mode.Effect, "hdswzf-shifa", true);
uint damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);


attack.Damage = 0;


damage = (damage * spell22.IncreaseDMG);
damage = (damage / spell22.DecreaseDMG);
ReceiveAttack(attacker, attacked, attack, ref damage, spell22);
suse.AddTarget(attacked.UID, damage, attack);
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as MsgNpcInfoEX;
if (Kernel.GetDistance(lastattacked.X, lastattacked.Y, attackedsob.X, attackedsob.Y) <= 5)
{
if (Handle.CanAttack(attacker, attackedsob, spell5))
{
attacker.Update(MsgName.Mode.Effect, "hdswzfwodrd", true);// hdswzfwodrd
attacker.Update(MsgName.Mode.Effect, "hdswzf-shouji", true);
attacker.Update(MsgName.Mode.Effect, "hdswzf-shifa", true);
// lastattacked = attackedsob;
uint damages = Game.Attacking.Calculate.Melee(attacker, attackedsob, ref attack);
suse.Effect2 = attack.Effect2;
if (damages == 0) break;
Handle.ReceiveAttack(attacker, attackedsob, attack, damages, spell5);
suse.AddTarget(attackedsob.UID, damages, attack);
}
}
}


}


}
attacker.AttackPacket = null;
attacker.Owner.SendScreen(suse, true);


}
#endregion




return;
}


#endregion


//case 14720:
#region EpicPirate 14720
// var lastattacked = attacked;
var spell23 = Database.SpellTable.GetSpell(14720, attacker.Owner);
if (Kernel.Rate(spell23.Percent) && attacker.Owner.Spells.ContainsKey(14720) && attacker.EpicPirate())
{
#region EpicPirate
{
MsgMagicEffect suse = new MsgMagicEffect(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell23.ID;
suse.SpellLevel = spell23.Level;


ushort _X = attacker.X, _Y = attacker.Y;
ushort _tX = X, _tY = Y;
byte dist = (byte)spell23.Distance;
var Array = attacker.Owner.Screen.Objects;
InLineAlgorithm algo = new InLineAlgorithm(attacker.X, X, attacker.Y, Y, dist,
InLineAlgorithm.Algorithm.DDA);
X = attacker.X;
X = attacker.Y;




int i = 0;
for (i = 0; i < algo.lcoords.Count; i++)
{








if (attacker.Owner.Map.Floor[algo.lcoords[i].X, algo.lcoords[i].Y, MapObjectType.Player]
&& !attacker.ThroughGate(algo.lcoords[i].X, algo.lcoords[i].Y))
{
X = (ushort)algo.lcoords[i].X;
Y = (ushort)algo.lcoords[i].Y;
}
else
{
break;
}
}
suse.X = X;
suse.Y = Y;
if (!attacker.Owner.Map.Floor[X, Y, MapObjectType.Player, null])
return;

double disth = 1.5;
foreach (Interfaces.IMapObject _obj in Array)
{
bool hit = false;
for (int j = 0; j < i; j++)
if (
Kernel.GetDDistance(_obj.X, _obj.Y, (ushort)algo.lcoords[j].X,
(ushort)algo.lcoords[j].Y) <= disth)
hit = true;
if (hit)
{
if (_obj.MapObjType == MapObjectType.Monster)
{
attacked = _obj as Player;
if (CanAttack(attacker, attacked, spell23,
attack.InteractType == MsgInteract.Melee))
{
var damage = Game.Attacking.Calculate.Melee(attacker, attacked, ref attack);
damage = (damage * spell23.IncreaseDMG);
damage = (damage / spell23.DecreaseDMG);
ReceiveAttack(attacker, attacked, attack, ref damage, spell23);
attacked.Update(MsgName.Mode.Effect, "zssjhdsssj", true);
suse.AddTarget(attacked.UID, damage, attack);
}
}
else if (_obj.MapObjType == MapObjectType.Player)
{
attacked = _obj as Player;
if (CanAttack(attacker, attacked, spell23,
attack.InteractType == MsgInteract.Melee))
{
var damage = Game.Attacking.Calculate.Melee(attacker, attacked,
ref attack);
damage = (damage * spell23.IncreaseDMG);
damage = (damage / spell23.DecreaseDMG);
ReceiveAttack(attacker, attacked, attack, ref damage, spell23);
attacked.Update(MsgName.Mode.Effect, "zssjhdsssj", true);
suse.AddTarget(attacked.UID, damage, attack);
}
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as MsgNpcInfoEX;
if (CanAttack(attacker, attackedsob, spell23))
{
var damage = Game.Attacking.Calculate.Melee(attacker,
attackedsob, ref attack);
//damage = (damage * spell.IncreaseDMG);
//damage = (damage / spell.DecreaseDMG);
ReceiveAttack(attacker, attackedsob, attack, damage, spell23);
attacked.Update(MsgName.Mode.Effect, "zssjhdsssj", true);
suse.AddTarget(attackedsob.UID, damage, attack);
}
}
}
}


attacker.Owner.SendScreen(suse, true);
}
}
#endregion
#endregion
}
#endregion

بالنسبة للاسكلات ده انا مقدرتش احوله عندي لسورس عادي بسبب اني سورس الي بحول فيه سورس ماتركس كل اسكله ليه كلاس لوحديه فحاولوا تظبطوها

بعد كده دور علي اسكلات القرصان و ضيف دول
#region Epic Pirate
#region SeaBurial
case 14680:
{
if (CanUseSpell(spell, attacker.Owner))
{
PrepareSpell(spell, attacker.Owner);
MsgMagicEffect suse = new MsgMagicEffect(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell.ID;
suse.SpellLevel = spell.Level;
ushort _X = attacker.X, _Y = attacker.Y;
ushort _tX = X, _tY = Y;
byte dist = (byte)spell.Distance;
var Array = attacker.Owner.Screen.Objects;
InLineAlgorithm algo = new InLineAlgorithm(attacker.X, X, attacker.Y, Y, dist,
InLineAlgorithm.Algorithm.DDA);
X = attacker.X;
Y = attacker.Y;
int i = 0;
for (i = 0; i < algo.lcoords.Count; i++)
{
if (attacker.Owner.Map.Floor[
algo.lcoords[i].X, algo.lcoords[i].Y, MapObjectType.Player]
&& !attacker.ThroughGate(algo.lcoords[i].X, algo.lcoords[i].Y))
{
X = (ushort)algo.lcoords[i].X;
Y = (ushort)algo.lcoords[i].Y;
}
else
{
break;
}
}
suse.X = X;
suse.Y = Y;
#region floor





MsgName str = new MsgName(true);
str.UID = attacker.UID;
str.TextsCount = 1;
str.X = X;
str.Y = Y;
str.PositionX = attacker.X;
str.PositionY = attacker.Y;
str.Action = MsgName.Mode.MapEffect;
str.Texts.Add("hdhlyz-lsyujing");
attacker.Owner.SendScreen(str.ToArray(), true);







MsgAction data = new Network.GamePackets.MsgAction(true);
data.UID = attacker.UID;
data.X = X;
data.Y = Y;
data.ID = MsgAction.Mode.FlashStep;
data.wParam1 = attacker.X;
data.wParam2 = attacker.Y;
attacker.Owner.SendScreen(data, true);


#endregion






if (!attacker.Owner.Map.Floor[X, Y, MapObjectType.Player, null])
return;
double disth = 2.5;
foreach (Interfaces.IMapObject _obj in Array)
{
bool hit = false;
for (int j = 0; j < i; j++)
if (
Kernel.GetDDistance(_obj.X, _obj.Y, (ushort)algo.lcoords[j].X,
(ushort)algo.lcoords[j].Y) <= disth)
hit = true;
if (hit)
{
if (_obj.MapObjType == MapObjectType.Monster)
{
attacked = _obj as Player;
if (CanAttack(attacker, attacked, spell,
attack.InteractType == MsgInteract.Melee))
{
var damage = Game.Attacking.Calculate.Melee(attacker, attacked,
ref attack);
damage = (damage * spell.IncreaseDMG);
damage = (damage / spell.DecreaseDMG);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);


suse.AddTarget(attacked.UID, damage, attack);
}
}
else if (_obj.MapObjType == MapObjectType.Player)
{
attacked = _obj as Player;
if (CanAttack(attacker, attacked, spell,
attack.InteractType == MsgInteract.Melee))
{
var damage = Game.Attacking.Calculate.Melee(attacker, attacked,
ref attack);
damage = (damage * spell.IncreaseDMG);
damage = (damage / spell.DecreaseDMG);
ReceiveAttack(attacker, attacked, attack, ref damage, spell);


suse.AddTarget(attacked.UID, damage, attack);
}
}
else if (_obj.MapObjType == MapObjectType.SobNpc)
{
attackedsob = _obj as MsgNpcInfoEX;
if (CanAttack(attacker, attackedsob, spell))
{
var damage = Game.Attacking.Calculate.Melee(attacker,
attackedsob, ref attack);
//damage = (damage * spell.IncreaseDMG);
//damage = (damage / spell.DecreaseDMG);
ReceiveAttack(attacker, attackedsob, attack, damage, spell);


suse.AddTarget(attackedsob.UID, damage, attack);
}
}
}
}


attacker.Owner.SendScreen(suse, true);
}
break;
}






#endregion
#region ImmortalForce
case 14710:
{


if (CanUseSpell(spell, attacker.Owner))
{
attacker.GreenEffect = 10;
PrepareSpell(spell, attacker.Owner);
MsgMagicEffect suse = new MsgMagicEffect(true);
suse.Attacker = attacker.UID;
suse.Attacker1 = attacker.UID;
suse.SpellID = spell.ID;
suse.SpellLevel = spell.Level;
suse.AddTarget(attacker.UID, 0, null);
attacker.Owner.SendScreen(suse, true);
attacker.ImmortalForceStamp = Time32.Now;
attacker.AddFlag4((ulong)MsgUpdate.Flags4.Immortal Force);
}
break;
}

#endregion


#endregion



ابحث عن
public static bool CanAttack


ضيف دول فقيه

#region Epic Pirate ImmortalForce
if (attacked.ContainsFlag4(MsgUpdate.Flags4.ImmortalF orce))
{
attacked.Update(_String.Effect, "hdyh-debuff", true);
// aaa hdyh-debuff
return false;
}
#endregion


هتروح Entity
وتضيف
public Time32 OmnipotenceStamp,ImmortalForceStamp;
public Time32 ImmortalForce { get; set; }

و الورلد worled
ابحث عن
private unsafe void BuffersCallback(GameState client, int time)
{

ضيف تحت القوس
#region Epic Pirate ImmortalForce
if (Now > client.Entity.ImmortalForceStamp.AddSeconds(5))
client.Entity.RemoveFlag(MsgUpdate.Flags.ImmortalF orce);
#endregion

و في update
public class Flags4



ضيف دول
.ImmortalForce = 1UL << 220

بس كده لو في حاجه ناقصه قولوها في التعليق

osama
2019-08-08, 09:33 AM
عاااش والله يا حازم تسلم ايدك

Users
2019-08-08, 09:43 AM
الله ينور يا زعامه

osama
2019-08-08, 10:22 AM
طلب اخير يا حازم من فضلك
هرفعلك الباتش بتاعى تضفلى فية الابك علشان الباتش بتاع ابك القرصان 3 دى ونا سورسى 2 دى وانا ضيفت كل حاجة الحمد الله
عاوز حد يضفلى الابك فى الباتش بس يريت لو تقدر تضفهولى

محمد ياسر
2019-08-08, 10:46 AM
معرفش والله ملفات باتش القرصان بالتحديد شوف الباتش الي رفعه رايدر في موضوع اضافة سلاح الابيك

osama
2019-08-08, 10:50 AM
رابط الباتش محتاجج تضفلى فية ابك القرصان والاكلاات بتعتو فى الباتش دا ولو معاك لودر اكس ميجو مش متفيرس يريت لو تركبو علية من فضلك يا حازم

عفواً لايمكن عرض الروابط في الإرشيفاتش_السورس_بتاعى.rar/file

Tefa
2019-08-08, 02:23 PM
عاش موضوع اكثر من رائع

ابو حمزه9
2019-08-13, 12:47 AM
عاش يا حازم

تسلم أيدك موضوع مهم

abuhaneen
2019-08-19, 05:53 PM
هوا ينفع اضيف ايبك قرصان وانا سورس 2 دي بتاع مستر بندا

MRonlineGvrix
2019-08-24, 11:16 AM
تسلم بس
public static bool IsRapier(uint ID)
مش لقيها فى السورس عندي

ViORX
2019-09-15, 08:20 AM
جامد تسلم ايدك

zorom
2019-09-24, 04:14 PM
عاااااااااااش

ahmedfathy
2019-10-23, 11:06 AM
الله ينور عليك

Diego
2019-10-26, 09:12 AM
عااااش

Mostafa Shalby
2019-10-29, 12:07 AM
عاااش

ElSaher
2019-10-29, 11:28 AM
عاش

amr69940
2020-02-01, 07:02 PM
gooood

AdhamMohamed
2020-02-03, 05:13 AM
السلام عليكم ورحمة الله وبركاته
اضافة ابيك القرصان للسورسات العاديه ده طلب الضعو اسامه
يلا ندخل علي الاكواد
في entity.cs
حط دول
public bool epicpirate()
{

if (entityflag == game.entityflag.entity)
{

var weapons = owner.weapons;

if (weapons.item1 != null && weapons.item2 != null)

if (weapons.item1.id / 1000 == 671 && weapons.item2.id / 1000 == 670)

return true;

}

return false;
}

كلاس packethandler.cs
ابحث عن
public static positions itempositionfromid(uint32 itemid)
تحت القوس اي اضافه في الفويد حط دول
else if (itype == 1050 || itype == 900 || itype == 619)
return positions.left;
else if ((itype >= 410 && itype <= 490) || (itype >= 500 && itype <= 580) || (itype >= 601 && itype <= 617) || itype == 620 || itype == 624 || itype == 626)
return positions.right;


في نفس الكلاس
ابحث عن
public static ushort itemposition(uint id)
تحت القوس ضيف دول
#region epicpirate k7host.com
if (id >= 670003 && id <= 670439)

return conqueritem.leftweapon;




if (id >= 671003 && id <= 671439)

return conqueritem.rightweapon;
if (itype == 671)

return conqueritem.rightweapon;

if (itype == 670)

return conqueritem.leftweapon;
#endregion


في نفس الكلاس ابحث عن
public static bool israpier(uint id)

واقفله من السالب وبدله بده
public static bool israpier(uint id)
{

if (id >= 611000 && id <= 611439 || (id >= 670000 && id <= 670439))

{ return true; }

else { return false; }

}

في نفس الكلاس ابحث عن
public static bool ispistol(uint id)

اقفله من السالب وبدله بده
public static bool ispistol(uint id)
{

if (id >= 612000 && id <= 612439 || id >= 671000 && id <= 671439)

{ return true; }

else { return false; }

}

في نفس الكلاس ابحث عن
bool twohand = istwohand(item.id);

تختيه ضيف دول
if (client.entity.class >= 70 && client.entity.class <= 75)
{

if (itemusage.dwparam > 20)
{

if (!client.equipment.free(24))
{

if (israpier(client.equipment.trygetitem(24).id))
{

if (ispistol(item.id))
{

can2wpn = true;

}

}

}

}

else if (!client.equipment.free(4))
{

if (israpier(client.equipment.trygetitem(4).id))
{

if (ispistol(item.id))
{

can2wpn = true;

}

}

}

}

افتح بقي الايام في السورس و ايتم تيب في الجيم و حط دول

670439@@oceandominator@@70@@12@@140@@0@@0@@36@@0@@ 0@@0@@0@@100000@@0@@3666@@2554@@0@@78@@0@@2616@@0@ @7099@@7099@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@1000@@0 @@0@@0@@0@@0@@0@@300@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0 @@0@@0@@epicweapon@@none@@5@@0@@0@@0@@1070@@500@@0 @@0@@0@@0@@0@@
670239@@divinedictator@@70@@0@@120@@0@@0@@36@@0@@0 @@0@@0@@200000@@0@@2313@@1212@@0@@61@@0@@149@@0@@7 099@@7099@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@1000@@0@@ 0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@20@@0@@0@@0@@0@@0@@0 @@0@@epicweapon@@none@@5@@0@@0@@0@@1360@@500@@0@@0 @@0@@0@@0@@

670009@@tempestplunder@@70@@0@@5@@0@@0@@2@@0@@0@@0 @@0@@153@@0@@15@@9@@0@@61@@0@@6@@0@@1599@@1599@@0@ @0@@0@@0@@0@@0@@0@@0@@0@@1@@1000@@0@@0@@0@@0@@0@@0 @@0@@0@@0@@0@@0@@20@@0@@0@@0@@0@@0@@0@@0@@epicweap on@@none@@5@@0@@0@@0@@1360@@500@@0@@0@@0@@0@@0@@

671439@@mightyrapierofviolence@@70@@11@@140@@0@@0@ @36@@0@@0@@0@@0@@100000@@0@@3300@@2800@@0@@78@@0@@ 0@@0@@7099@@7099@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@10 00@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0 @@0@@0@@0@@epicweapon@@none@@5@@0@@0@@0@@1060@@500 @@0@@0@@0@@0@@0@@

671239@@mightyrapierofambition@@70@@0@@120@@0@@0@@ 36@@0@@0@@0@@0@@200000@@0 @@2330@@1200@@0@@61@@0@@0@@0@@7099@@7099@@0@@0@@0@ @0@@0@@0@@0@@0@@0@@1@@1000@@0@@0@@0@@0@@0@@0@@0@@0 @@0@@0@@0@@20@@0@@0@@0@@0@@0@@0@@0@@epicweapon@@no ne@@5@@0@@0@@0@@1350@@500@@0@@0@@0@@0@@0@@

671009@@mightyrapierofinvasion@@70@@0@@5@@0@@0@@2 @@0@@0@@0@@153@@0@@15@@9@@0@@0@@61@@0@@0@@0@@1599@ @1599@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@1000@@0@@0@@0 @@0@@0@@0@@0@@0@@0@@0@@0@@20@@0@@0@@0@@0@@0@@0@@0@ @epicweapon@@none@@5@@0@@0@@0@@1350@@500@@0@@0@@0@ @0@@0@@



و بعد كده
ضيف بقي الايتم

في data جوة الباتش
تحميل (عفواً لايمكن عرض الروابط في الإرشيف)
و بعد كده

في فلد ani
افتح
itemminicon
و برضوا
mapitemicon
تكست
و ضيف في اخرها
دول
تحميل (عفواً لايمكن عرض الروابط في الإرشيف)
حمل الباتش وعلي فكره الباتش عربي فخلي بالك ليبوظ لعبتك
تحميل (عفواً لايمكن عرض الروابط في الإرشيف)
في النفي كات
ضيف دول
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14570, 14570, 0078, 'leftchop', 1, 1, 0, 0000, 0000, 0000, 30200, 0000, 0030, 0000, 0003, 0008, 0000, 0000, 20243, 0015, 0, 61626626, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14580, 14580, 0078, 'rightchop', 1, 1, 0, 0000, 0000, 0000, 30200, 0000, 0030, 0000, 0003, 0008, 0000, 0000, 20243, 0015, 0, 61626626, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14590, 14590, 0081, 'gunfire', 1, 1, 0, 0000, 0000, 0000, 30200, 0000, 0030, 0000, 0003, 0008, 0000, 0000, 20243, 0015, 0, 61626626, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14680, 14680, 0090, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30100, 0000, 0030, 0000, 0003, 0008, 0000, 900000, 10000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14681, 14680, 0000, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30102, 0000, 0030, 0000, 0003, 0008, 0000, 3000000, 30000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14682, 14680, 0005, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30104, 0000, 0030, 0000, 0003, 0008, 0000, 10000000, 60000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0001, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14683, 14680, 0090, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30106, 0000, 0030, 0000, 0003, 0008, 0000, 50000000, 120000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14684, 14680, 0090, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30108, 0000, 0030, 0000, 0003, 0008, 0000, 100000000, 240000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0001, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14685, 14680, 0090, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30110, 0000, 0030, 0000, 0003, 0008, 0000, 100000000, 6000000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14686, 14680, 0090, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30115, 0000, 0030, 0000, 0003, 0008, 0000, 500000000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0001, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14710, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14711, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 1000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14712, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 10000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14713, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 50000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14714, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 100000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14715, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 500000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14716, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 900000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14717, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 1300000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14718, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 0000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14720, 14720, 0021, 'bloomofdeath', 1, 1, 4, 0000, 0000, 0000, 30180, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14721, 14720, 0021, 'bloomofdeath', 1, 1, 4, 0001, 0000, 0000, 30185, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14722, 14720, 0021, 'bloomofdeath', 1, 1, 4, 0002, 0000, 0000, 30195, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14723, 14720, 0021, 'bloomofdeath', 1, 1, 4, 0003, 0000, 0000, 30200, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14724, 14720, 0021, 'bloomofdeath', 1, 1, 4, 0004, 0000, 0000, 30220, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14725, 14720, 0021, 'bloomofdeath', 1, 1, 4, 0005, 0000, 0000, 30225, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14726, 14720, 0021, 'bloomofdeath', 0, 0, 0, 0006, 0000, 0000, 30230, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14727, 14720, 0021, 'bloomofdeath', 0, 0, 0, 0007, 0000, 0000, 30235, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14728, 14720, 0021, 'bloomofdeath', 0, 0, 0, 0008, 0000, 0000, 30245, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);


اتغير ال cq1 باسم القاعده الي فيه اللعبه
ثانيا الهاندل handle.cs
هتروح
#region melee
و هتنزل تحت اسكلات الويندويكر
و تضيف
#region epicpirate(melee)
if (attacker.epicpirate())
{
#region epicpirate 14570


// var lastattacked = attacked;
var spell20 = database.spelltable.getspell(14570, attacker.owner);
if (kernel.rate(spell20.percent) && attacker.owner.spells.containskey(14570) && attacker.epicpirate())
{

{
msgmagiceffect suse = new msgmagiceffect(true);
suse.attacker = attacker.uid;
suse.spellid = spell20.id;
suse.spelllevel = spell20.level;
suse.x = lastattacked.x;
suse.y = lastattacked.y;
foreach (interfaces.imapobject _obj in attacker.owner.screen.objects)
{
if (_obj == null)
continue;
attacked = _obj as player;
if (attacked == null) continue;
if (kernel.getdistance(attacked.x, attacked.y, attacker.x, attacker.y) <= spell20.range)
{
if (_obj.mapobjtype == mapobjecttype.player)
{
if (!canattack(attacker, attacked, null, attack.interacttype == msginteract.melee)) continue;


uint damage = game.attacking.calculate.melee(attacker, attacked, ref attack);
attack.damage = 0;

damage = (damage * spell20.increasedmg);
damage = (damage / spell20.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell5);
suse.addtarget(attacked.uid, damage, attack);
}
else if (_obj.mapobjtype == mapobjecttype.monster)
{
if (!canattack(attacker, attacked, null, attack.interacttype == msginteract.melee)) continue;




uint damage = game.attacking.calculate.melee(attacker, attacked, ref attack);


attack.damage = 0;


damage = (damage * spell20.increasedmg);
damage = (damage / spell20.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell20);
suse.addtarget(attacked.uid, damage, attack);
}
else if (_obj.mapobjtype == mapobjecttype.sobnpc)
{
attackedsob = _obj as msgnpcinfoex;
if (kernel.getdistance(lastattacked.x, lastattacked.y, attackedsob.x, attackedsob.y) <= 5)
{
if (handle.canattack(attacker, attackedsob, spell20))
{
// lastattacked = attackedsob;
uint damages = game.attacking.calculate.melee(attacker, attackedsob, ref attack);
suse.effect2 = attack.effect2;
if (damages == 0) break;
handle.receiveattack(attacker, attackedsob, attack, damages, spell20);
suse.addtarget(attackedsob.uid, damages, attack);
}
}
}
}


}
attacker.attackpacket = null;
attacker.owner.sendscreen(suse, true);


}





return;
}
#endregion
#region epicpirate 14580
// var lastattacked = attacked;
var spell21 = database.spelltable.getspell(14580, attacker.owner);
if (kernel.rate(spell21.percent) && attacker.owner.spells.containskey(14580) && attacker.epicpirate())
{
#region epicpirate
{
msgmagiceffect suse = new msgmagiceffect(true);
suse.attacker = attacker.uid;
suse.spellid = spell21.id;
suse.spelllevel = spell21.level;
suse.x = lastattacked.x;
suse.y = lastattacked.y;
foreach (interfaces.imapobject _obj in attacker.owner.screen.objects)
{
if (_obj == null)
continue;
attacked = _obj as player;
if (attacked == null) continue;
if (kernel.getdistance(attacked.x, attacked.y, attacker.x, attacker.y) <= spell21.range)
{
if (_obj.mapobjtype == mapobjecttype.player)
{
if (!canattack(attacker, attacked, null, attack.interacttype == msginteract.melee)) continue;


uint damage = game.attacking.calculate.melee(attacker, attacked, ref attack);
attack.damage = 0;


damage = (damage * spell21.increasedmg);
damage = (damage / spell21.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell21);
suse.addtarget(attacked.uid, damage, attack);
}
else if (_obj.mapobjtype == mapobjecttype.monster)
{
if (!canattack(attacker, attacked, null, attack.interacttype == msginteract.melee)) continue;




uint damage = game.attacking.calculate.melee(attacker, attacked, ref attack);
attack.damage = 0;


damage = (damage * spell21.increasedmg);
damage = (damage / spell21.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell21);
suse.addtarget(attacked.uid, damage, attack);
}
else if (_obj.mapobjtype == mapobjecttype.sobnpc)
{
attackedsob = _obj as msgnpcinfoex;
if (kernel.getdistance(lastattacked.x, lastattacked.y, attackedsob.x, attackedsob.y) <= 5)
{
if (handle.canattack(attacker, attackedsob, spell5))
{
// lastattacked = attackedsob;
uint damages = game.attacking.calculate.melee(attacker, attackedsob, ref attack);
suse.effect2 = attack.effect2;
if (damages == 0) break;
handle.receiveattack(attacker, attackedsob, attack, damages, spell5);
suse.addtarget(attackedsob.uid, damages, attack);
}
}
}


}


}
attacker.attackpacket = null;
attacker.owner.sendscreen(suse, true);


}
#endregion




return;
}
#endregion




#region epicpirate 14590






// var lastattacked = attacked;
var spell22 = database.spelltable.getspell(14590, attacker.owner);
if (kernel.rate(spell22.percent) && attacker.owner.spells.containskey(14590) && attacker.epicpirate())
{
#region epicpirate
{
msgmagiceffect suse = new msgmagiceffect(true);
suse.attacker = attacker.uid;
suse.spellid = spell22.id;
suse.spelllevel = spell22.level;
suse.x = lastattacked.x;
suse.y = lastattacked.y;


foreach (interfaces.imapobject _obj in attacker.owner.screen.objects)
{
if (_obj == null)
continue;
attacked = _obj as player;
if (attacked == null) continue;
if (kernel.getdistance(attacked.x, attacked.y, attacker.x, attacker.y) <= spell22.range)
{
if (_obj.mapobjtype == mapobjecttype.player)
{
if (!canattack(attacker, attacked, null, attack.interacttype == msginteract.melee)) continue;


attacker.update(msgname.mode.effect, "hdswzfwodrd", true);// hdswzfwodrd
attacker.update(msgname.mode.effect, "hdswzf-shouji", true);
attacker.update(msgname.mode.effect, "hdswzf-shifa", true);
uint damage = game.attacking.calculate.melee(attacker, attacked, ref attack);


attack.damage = 0;


damage = (damage * spell22.increasedmg);
damage = (damage / spell22.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell22);
suse.addtarget(attacked.uid, damage, attack);
}
else if (_obj.mapobjtype == mapobjecttype.monster)
{
if (!canattack(attacker, attacked, null, attack.interacttype == msginteract.melee)) continue;


attacker.update(msgname.mode.effect, "hdswzfwodrd", true);// hdswzfwodrd
attacker.update(msgname.mode.effect, "hdswzf-shouji", true);
attacker.update(msgname.mode.effect, "hdswzf-shifa", true);
uint damage = game.attacking.calculate.melee(attacker, attacked, ref attack);


attack.damage = 0;


damage = (damage * spell22.increasedmg);
damage = (damage / spell22.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell22);
suse.addtarget(attacked.uid, damage, attack);
}
else if (_obj.mapobjtype == mapobjecttype.sobnpc)
{
attackedsob = _obj as msgnpcinfoex;
if (kernel.getdistance(lastattacked.x, lastattacked.y, attackedsob.x, attackedsob.y) <= 5)
{
if (handle.canattack(attacker, attackedsob, spell5))
{
attacker.update(msgname.mode.effect, "hdswzfwodrd", true);// hdswzfwodrd
attacker.update(msgname.mode.effect, "hdswzf-shouji", true);
attacker.update(msgname.mode.effect, "hdswzf-shifa", true);
// lastattacked = attackedsob;
uint damages = game.attacking.calculate.melee(attacker, attackedsob, ref attack);
suse.effect2 = attack.effect2;
if (damages == 0) break;
handle.receiveattack(attacker, attackedsob, attack, damages, spell5);
suse.addtarget(attackedsob.uid, damages, attack);
}
}
}


}


}
attacker.attackpacket = null;
attacker.owner.sendscreen(suse, true);


}
#endregion




return;
}


#endregion


//case 14720:
#region epicpirate 14720
// var lastattacked = attacked;
var spell23 = database.spelltable.getspell(14720, attacker.owner);
if (kernel.rate(spell23.percent) && attacker.owner.spells.containskey(14720) && attacker.epicpirate())
{
#region epicpirate
{
msgmagiceffect suse = new msgmagiceffect(true);
suse.attacker = attacker.uid;
suse.spellid = spell23.id;
suse.spelllevel = spell23.level;


ushort _x = attacker.x, _y = attacker.y;
ushort _tx = x, _ty = y;
byte dist = (byte)spell23.distance;
var array = attacker.owner.screen.objects;
inlinealgorithm algo = new inlinealgorithm(attacker.x, x, attacker.y, y, dist,
inlinealgorithm.algorithm.dda);
x = attacker.x;
x = attacker.y;




int i = 0;
for (i = 0; i < algo.lcoords.count; i++)
{








if (attacker.owner.map.floor[algo.lcoords[i].x, algo.lcoords[i].y, mapobjecttype.player]
&& !attacker.throughgate(algo.lcoords[i].x, algo.lcoords[i].y))
{
x = (ushort)algo.lcoords[i].x;
y = (ushort)algo.lcoords[i].y;
}
else
{
break;
}
}
suse.x = x;
suse.y = y;
if (!attacker.owner.map.floor[x, y, mapobjecttype.player, null])
return;

double disth = 1.5;
foreach (interfaces.imapobject _obj in array)
{
bool hit = false;
for (int j = 0; j < i; j++)
if (
kernel.getddistance(_obj.x, _obj.y, (ushort)algo.lcoords[j].x,
(ushort)algo.lcoords[j].y) <= disth)
hit = true;
if (hit)
{
if (_obj.mapobjtype == mapobjecttype.monster)
{
attacked = _obj as player;
if (canattack(attacker, attacked, spell23,
attack.interacttype == msginteract.melee))
{
var damage = game.attacking.calculate.melee(attacker, attacked, ref attack);
damage = (damage * spell23.increasedmg);
damage = (damage / spell23.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell23);
attacked.update(msgname.mode.effect, "zssjhdsssj", true);
suse.addtarget(attacked.uid, damage, attack);
}
}
else if (_obj.mapobjtype == mapobjecttype.player)
{
attacked = _obj as player;
if (canattack(attacker, attacked, spell23,
attack.interacttype == msginteract.melee))
{
var damage = game.attacking.calculate.melee(attacker, attacked,
ref attack);
damage = (damage * spell23.increasedmg);
damage = (damage / spell23.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell23);
attacked.update(msgname.mode.effect, "zssjhdsssj", true);
suse.addtarget(attacked.uid, damage, attack);
}
}
else if (_obj.mapobjtype == mapobjecttype.sobnpc)
{
attackedsob = _obj as msgnpcinfoex;
if (canattack(attacker, attackedsob, spell23))
{
var damage = game.attacking.calculate.melee(attacker,
attackedsob, ref attack);
//damage = (damage * spell.increasedmg);
//damage = (damage / spell.decreasedmg);
receiveattack(attacker, attackedsob, attack, damage, spell23);
attacked.update(msgname.mode.effect, "zssjhdsssj", true);
suse.addtarget(attackedsob.uid, damage, attack);
}
}
}
}


attacker.owner.sendscreen(suse, true);
}
}
#endregion
#endregion
}
#endregion

بالنسبة للاسكلات ده انا مقدرتش احوله عندي لسورس عادي بسبب اني سورس الي بحول فيه سورس ماتركس كل اسكله ليه كلاس لوحديه فحاولوا تظبطوها

بعد كده دور علي اسكلات القرصان و ضيف دول
#region epic pirate
#region seaburial
case 14680:
{
if (canusespell(spell, attacker.owner))
{
preparespell(spell, attacker.owner);
msgmagiceffect suse = new msgmagiceffect(true);
suse.attacker = attacker.uid;
suse.spellid = spell.id;
suse.spelllevel = spell.level;
ushort _x = attacker.x, _y = attacker.y;
ushort _tx = x, _ty = y;
byte dist = (byte)spell.distance;
var array = attacker.owner.screen.objects;
inlinealgorithm algo = new inlinealgorithm(attacker.x, x, attacker.y, y, dist,
inlinealgorithm.algorithm.dda);
x = attacker.x;
y = attacker.y;
int i = 0;
for (i = 0; i < algo.lcoords.count; i++)
{
if (attacker.owner.map.floor[
algo.lcoords[i].x, algo.lcoords[i].y, mapobjecttype.player]
&& !attacker.throughgate(algo.lcoords[i].x, algo.lcoords[i].y))
{
x = (ushort)algo.lcoords[i].x;
y = (ushort)algo.lcoords[i].y;
}
else
{
break;
}
}
suse.x = x;
suse.y = y;
#region floor





msgname str = new msgname(true);
str.uid = attacker.uid;
str.textscount = 1;
str.x = x;
str.y = y;
str.positionx = attacker.x;
str.positiony = attacker.y;
str.action = msgname.mode.mapeffect;
str.texts.add("hdhlyz-lsyujing");
attacker.owner.sendscreen(str.toarray(), true);







msgaction data = new network.gamepackets.msgaction(true);
data.uid = attacker.uid;
data.x = x;
data.y = y;
data.id = msgaction.mode.flashstep;
data.wparam1 = attacker.x;
data.wparam2 = attacker.y;
attacker.owner.sendscreen(data, true);


#endregion






if (!attacker.owner.map.floor[x, y, mapobjecttype.player, null])
return;
double disth = 2.5;
foreach (interfaces.imapobject _obj in array)
{
bool hit = false;
for (int j = 0; j < i; j++)
if (
kernel.getddistance(_obj.x, _obj.y, (ushort)algo.lcoords[j].x,
(ushort)algo.lcoords[j].y) <= disth)
hit = true;
if (hit)
{
if (_obj.mapobjtype == mapobjecttype.monster)
{
attacked = _obj as player;
if (canattack(attacker, attacked, spell,
attack.interacttype == msginteract.melee))
{
var damage = game.attacking.calculate.melee(attacker, attacked,
ref attack);
damage = (damage * spell.increasedmg);
damage = (damage / spell.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell);


suse.addtarget(attacked.uid, damage, attack);
}
}
else if (_obj.mapobjtype == mapobjecttype.player)
{
attacked = _obj as player;
if (canattack(attacker, attacked, spell,
attack.interacttype == msginteract.melee))
{
var damage = game.attacking.calculate.melee(attacker, attacked,
ref attack);
damage = (damage * spell.increasedmg);
damage = (damage / spell.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell);


suse.addtarget(attacked.uid, damage, attack);
}
}
else if (_obj.mapobjtype == mapobjecttype.sobnpc)
{
attackedsob = _obj as msgnpcinfoex;
if (canattack(attacker, attackedsob, spell))
{
var damage = game.attacking.calculate.melee(attacker,
attackedsob, ref attack);
//damage = (damage * spell.increasedmg);
//damage = (damage / spell.decreasedmg);
receiveattack(attacker, attackedsob, attack, damage, spell);


suse.addtarget(attackedsob.uid, damage, attack);
}
}
}
}


attacker.owner.sendscreen(suse, true);
}
break;
}






#endregion
#region immortalforce
case 14710:
{


if (canusespell(spell, attacker.owner))
{
attacker.greeneffect = 10;
preparespell(spell, attacker.owner);
msgmagiceffect suse = new msgmagiceffect(true);
suse.attacker = attacker.uid;
suse.attacker1 = attacker.uid;
suse.spellid = spell.id;
suse.spelllevel = spell.level;
suse.addtarget(attacker.uid, 0, null);
attacker.owner.sendscreen(suse, true);
attacker.immortalforcestamp = time32.now;
attacker.addflag4((ulong)msgupdate.flags4.immortal force);
}
break;
}

#endregion


#endregion



ابحث عن
public static bool canattack


ضيف دول فقيه

#region epic pirate immortalforce
if (attacked.containsflag4(msgupdate.flags4.immortalf orce))
{
attacked.update(_string.effect, "hdyh-debuff", true);
// aaa hdyh-debuff
return false;
}
#endregion


هتروح entity
وتضيف
public time32 omnipotencestamp,immortalforcestamp;
public time32 immortalforce { get; set; }

و الورلد worled
ابحث عن
private unsafe void bufferscallback(gamestate client, int time)
{

ضيف تحت القوس
#region epic pirate immortalforce
if (now > client.entity.immortalforcestamp.addseconds(5))
client.entity.removeflag(msgupdate.flags.immortalf orce);
#endregion

و في update
public class flags4



ضيف دول
.immortalforce = 1ul << 220

بس كده لو في حاجه ناقصه قولوها في التعليق

لو سمحت انا مش فاهم ازاي احط الكود تحت القوس

amr69940
2020-02-03, 01:19 PM
goooood

AdhamMohamed
2020-02-03, 02:51 PM
السلام عليكم ورحمة الله وبركاته
اضافة ابيك القرصان للسورسات العاديه ده طلب الضعو اسامه
يلا ندخل علي الاكواد
في entity.cs
حط دول
public bool epicpirate()
{

if (entityflag == game.entityflag.entity)
{

var weapons = owner.weapons;

if (weapons.item1 != null && weapons.item2 != null)

if (weapons.item1.id / 1000 == 671 && weapons.item2.id / 1000 == 670)

return true;

}

return false;
}

كلاس packethandler.cs
ابحث عن
public static positions itempositionfromid(uint32 itemid)
تحت القوس اي اضافه في الفويد حط دول
else if (itype == 1050 || itype == 900 || itype == 619)
return positions.left;
else if ((itype >= 410 && itype <= 490) || (itype >= 500 && itype <= 580) || (itype >= 601 && itype <= 617) || itype == 620 || itype == 624 || itype == 626)
return positions.right;


في نفس الكلاس
ابحث عن
public static ushort itemposition(uint id)
تحت القوس ضيف دول
#region epicpirate k7host.com
if (id >= 670003 && id <= 670439)

return conqueritem.leftweapon;




if (id >= 671003 && id <= 671439)

return conqueritem.rightweapon;
if (itype == 671)

return conqueritem.rightweapon;

if (itype == 670)

return conqueritem.leftweapon;
#endregion


في نفس الكلاس ابحث عن
public static bool israpier(uint id)

واقفله من السالب وبدله بده
public static bool israpier(uint id)
{

if (id >= 611000 && id <= 611439 || (id >= 670000 && id <= 670439))

{ return true; }

else { return false; }

}

في نفس الكلاس ابحث عن
public static bool ispistol(uint id)

اقفله من السالب وبدله بده
public static bool ispistol(uint id)
{

if (id >= 612000 && id <= 612439 || id >= 671000 && id <= 671439)

{ return true; }

else { return false; }

}

في نفس الكلاس ابحث عن
bool twohand = istwohand(item.id);

تختيه ضيف دول
if (client.entity.class >= 70 && client.entity.class <= 75)
{

if (itemusage.dwparam > 20)
{

if (!client.equipment.free(24))
{

if (israpier(client.equipment.trygetitem(24).id))
{

if (ispistol(item.id))
{

can2wpn = true;

}

}

}

}

else if (!client.equipment.free(4))
{

if (israpier(client.equipment.trygetitem(4).id))
{

if (ispistol(item.id))
{

can2wpn = true;

}

}

}

}

افتح بقي الايام في السورس و ايتم تيب في الجيم و حط دول

670439@@oceandominator@@70@@12@@140@@0@@0@@36@@0@@ 0@@0@@0@@100000@@0@@3666@@2554@@0@@78@@0@@2616@@0@ @7099@@7099@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@1000@@0 @@0@@0@@0@@0@@0@@300@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0 @@0@@0@@epicweapon@@none@@5@@0@@0@@0@@1070@@500@@0 @@0@@0@@0@@0@@
670239@@divinedictator@@70@@0@@120@@0@@0@@36@@0@@0 @@0@@0@@200000@@0@@2313@@1212@@0@@61@@0@@149@@0@@7 099@@7099@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@1000@@0@@ 0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@20@@0@@0@@0@@0@@0@@0 @@0@@epicweapon@@none@@5@@0@@0@@0@@1360@@500@@0@@0 @@0@@0@@0@@

670009@@tempestplunder@@70@@0@@5@@0@@0@@2@@0@@0@@0 @@0@@153@@0@@15@@9@@0@@61@@0@@6@@0@@1599@@1599@@0@ @0@@0@@0@@0@@0@@0@@0@@0@@1@@1000@@0@@0@@0@@0@@0@@0 @@0@@0@@0@@0@@0@@20@@0@@0@@0@@0@@0@@0@@0@@epicweap on@@none@@5@@0@@0@@0@@1360@@500@@0@@0@@0@@0@@0@@

671439@@mightyrapierofviolence@@70@@11@@140@@0@@0@ @36@@0@@0@@0@@0@@100000@@0@@3300@@2800@@0@@78@@0@@ 0@@0@@7099@@7099@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@10 00@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0 @@0@@0@@0@@epicweapon@@none@@5@@0@@0@@0@@1060@@500 @@0@@0@@0@@0@@0@@

671239@@mightyrapierofambition@@70@@0@@120@@0@@0@@ 36@@0@@0@@0@@0@@200000@@0 @@2330@@1200@@0@@61@@0@@0@@0@@7099@@7099@@0@@0@@0@ @0@@0@@0@@0@@0@@0@@1@@1000@@0@@0@@0@@0@@0@@0@@0@@0 @@0@@0@@0@@20@@0@@0@@0@@0@@0@@0@@0@@epicweapon@@no ne@@5@@0@@0@@0@@1350@@500@@0@@0@@0@@0@@0@@

671009@@mightyrapierofinvasion@@70@@0@@5@@0@@0@@2 @@0@@0@@0@@153@@0@@15@@9@@0@@0@@61@@0@@0@@0@@1599@ @1599@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@1000@@0@@0@@0 @@0@@0@@0@@0@@0@@0@@0@@0@@20@@0@@0@@0@@0@@0@@0@@0@ @epicweapon@@none@@5@@0@@0@@0@@1350@@500@@0@@0@@0@ @0@@0@@



و بعد كده
ضيف بقي الايتم

في data جوة الباتش
تحميل (عفواً لايمكن عرض الروابط في الإرشيف)
و بعد كده

في فلد ani
افتح
itemminicon
و برضوا
mapitemicon
تكست
و ضيف في اخرها
دول
تحميل (عفواً لايمكن عرض الروابط في الإرشيف)
حمل الباتش وعلي فكره الباتش عربي فخلي بالك ليبوظ لعبتك
تحميل (عفواً لايمكن عرض الروابط في الإرشيف)
في النفي كات
ضيف دول
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14570, 14570, 0078, 'leftchop', 1, 1, 0, 0000, 0000, 0000, 30200, 0000, 0030, 0000, 0003, 0008, 0000, 0000, 20243, 0015, 0, 61626626, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14580, 14580, 0078, 'rightchop', 1, 1, 0, 0000, 0000, 0000, 30200, 0000, 0030, 0000, 0003, 0008, 0000, 0000, 20243, 0015, 0, 61626626, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14590, 14590, 0081, 'gunfire', 1, 1, 0, 0000, 0000, 0000, 30200, 0000, 0030, 0000, 0003, 0008, 0000, 0000, 20243, 0015, 0, 61626626, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14680, 14680, 0090, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30100, 0000, 0030, 0000, 0003, 0008, 0000, 900000, 10000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14681, 14680, 0000, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30102, 0000, 0030, 0000, 0003, 0008, 0000, 3000000, 30000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14682, 14680, 0005, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30104, 0000, 0030, 0000, 0003, 0008, 0000, 10000000, 60000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0001, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14683, 14680, 0090, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30106, 0000, 0030, 0000, 0003, 0008, 0000, 50000000, 120000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14684, 14680, 0090, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30108, 0000, 0030, 0000, 0003, 0008, 0000, 100000000, 240000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0001, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14685, 14680, 0090, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30110, 0000, 0030, 0000, 0003, 0008, 0000, 100000000, 6000000, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14686, 14680, 0090, 'seaburial', 1, 1, 0, 0000, 0000, 0000, 30115, 0000, 0030, 0000, 0003, 0008, 0000, 500000000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0001, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14710, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14711, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 1000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14712, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 10000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14713, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 50000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14714, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 100000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14715, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 500000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14716, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 900000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14717, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 1300000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14718, 14710, 0006, 'immortalforce', 0, 0, 0, 0002, 0000, 0000, 1, 0000, 0100, 0010, 0000, 0000, 0220, 0000, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14720, 14720, 0021, 'bloomofdeath', 1, 1, 4, 0000, 0000, 0000, 30180, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14721, 14720, 0021, 'bloomofdeath', 1, 1, 4, 0001, 0000, 0000, 30185, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14722, 14720, 0021, 'bloomofdeath', 1, 1, 4, 0002, 0000, 0000, 30195, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14723, 14720, 0021, 'bloomofdeath', 1, 1, 4, 0003, 0000, 0000, 30200, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14724, 14720, 0021, 'bloomofdeath', 1, 1, 4, 0004, 0000, 0000, 30220, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14725, 14720, 0021, 'bloomofdeath', 1, 1, 4, 0005, 0000, 0000, 30225, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14726, 14720, 0021, 'bloomofdeath', 0, 0, 0, 0006, 0000, 0000, 30230, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14727, 14720, 0021, 'bloomofdeath', 0, 0, 0, 0007, 0000, 0000, 30235, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);
insert into `cq1`.`spells`(`id`, `type`, `sort`, `name`, `crime`, `ground`, `multi`, `target`, `level`, `use_mp`, `power`, `intone_speed`, `percent`, `step_secs`, `range`, `distance`, `status`, `need_prof`, `need_exp`, `need_level`, `use_xp`, `weapon_subtype`, `active_times`, `auto_active`, `floor_attr`, `auto_learn`, `learn_level`, `drop_weapon`, `use_ep`, `weapon_hit`, `use_item`, `next_magic`, `delay_ms`, `use_item_num`, `increasedmg`, `decreasedmg`) values (14728, 14720, 0021, 'bloomofdeath', 0, 0, 0, 0008, 0000, 0000, 30245, 0000, 0100, 0010, 0000, 0000, 0220, 0500, 0, 0015, 0, 60671670, 0000, 0, 0000, 0, 0000, 0, 0000, 0, 0000, 0000, 0000, 0000, 1, 1);


اتغير ال cq1 باسم القاعده الي فيه اللعبه
ثانيا الهاندل handle.cs
هتروح
#region melee
و هتنزل تحت اسكلات الويندويكر
و تضيف
#region epicpirate(melee)
if (attacker.epicpirate())
{
#region epicpirate 14570


// var lastattacked = attacked;
var spell20 = database.spelltable.getspell(14570, attacker.owner);
if (kernel.rate(spell20.percent) && attacker.owner.spells.containskey(14570) && attacker.epicpirate())
{

{
msgmagiceffect suse = new msgmagiceffect(true);
suse.attacker = attacker.uid;
suse.spellid = spell20.id;
suse.spelllevel = spell20.level;
suse.x = lastattacked.x;
suse.y = lastattacked.y;
foreach (interfaces.imapobject _obj in attacker.owner.screen.objects)
{
if (_obj == null)
continue;
attacked = _obj as player;
if (attacked == null) continue;
if (kernel.getdistance(attacked.x, attacked.y, attacker.x, attacker.y) <= spell20.range)
{
if (_obj.mapobjtype == mapobjecttype.player)
{
if (!canattack(attacker, attacked, null, attack.interacttype == msginteract.melee)) continue;


uint damage = game.attacking.calculate.melee(attacker, attacked, ref attack);
attack.damage = 0;

damage = (damage * spell20.increasedmg);
damage = (damage / spell20.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell5);
suse.addtarget(attacked.uid, damage, attack);
}
else if (_obj.mapobjtype == mapobjecttype.monster)
{
if (!canattack(attacker, attacked, null, attack.interacttype == msginteract.melee)) continue;




uint damage = game.attacking.calculate.melee(attacker, attacked, ref attack);


attack.damage = 0;


damage = (damage * spell20.increasedmg);
damage = (damage / spell20.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell20);
suse.addtarget(attacked.uid, damage, attack);
}
else if (_obj.mapobjtype == mapobjecttype.sobnpc)
{
attackedsob = _obj as msgnpcinfoex;
if (kernel.getdistance(lastattacked.x, lastattacked.y, attackedsob.x, attackedsob.y) <= 5)
{
if (handle.canattack(attacker, attackedsob, spell20))
{
// lastattacked = attackedsob;
uint damages = game.attacking.calculate.melee(attacker, attackedsob, ref attack);
suse.effect2 = attack.effect2;
if (damages == 0) break;
handle.receiveattack(attacker, attackedsob, attack, damages, spell20);
suse.addtarget(attackedsob.uid, damages, attack);
}
}
}
}


}
attacker.attackpacket = null;
attacker.owner.sendscreen(suse, true);


}





return;
}
#endregion
#region epicpirate 14580
// var lastattacked = attacked;
var spell21 = database.spelltable.getspell(14580, attacker.owner);
if (kernel.rate(spell21.percent) && attacker.owner.spells.containskey(14580) && attacker.epicpirate())
{
#region epicpirate
{
msgmagiceffect suse = new msgmagiceffect(true);
suse.attacker = attacker.uid;
suse.spellid = spell21.id;
suse.spelllevel = spell21.level;
suse.x = lastattacked.x;
suse.y = lastattacked.y;
foreach (interfaces.imapobject _obj in attacker.owner.screen.objects)
{
if (_obj == null)
continue;
attacked = _obj as player;
if (attacked == null) continue;
if (kernel.getdistance(attacked.x, attacked.y, attacker.x, attacker.y) <= spell21.range)
{
if (_obj.mapobjtype == mapobjecttype.player)
{
if (!canattack(attacker, attacked, null, attack.interacttype == msginteract.melee)) continue;


uint damage = game.attacking.calculate.melee(attacker, attacked, ref attack);
attack.damage = 0;


damage = (damage * spell21.increasedmg);
damage = (damage / spell21.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell21);
suse.addtarget(attacked.uid, damage, attack);
}
else if (_obj.mapobjtype == mapobjecttype.monster)
{
if (!canattack(attacker, attacked, null, attack.interacttype == msginteract.melee)) continue;




uint damage = game.attacking.calculate.melee(attacker, attacked, ref attack);
attack.damage = 0;


damage = (damage * spell21.increasedmg);
damage = (damage / spell21.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell21);
suse.addtarget(attacked.uid, damage, attack);
}
else if (_obj.mapobjtype == mapobjecttype.sobnpc)
{
attackedsob = _obj as msgnpcinfoex;
if (kernel.getdistance(lastattacked.x, lastattacked.y, attackedsob.x, attackedsob.y) <= 5)
{
if (handle.canattack(attacker, attackedsob, spell5))
{
// lastattacked = attackedsob;
uint damages = game.attacking.calculate.melee(attacker, attackedsob, ref attack);
suse.effect2 = attack.effect2;
if (damages == 0) break;
handle.receiveattack(attacker, attackedsob, attack, damages, spell5);
suse.addtarget(attackedsob.uid, damages, attack);
}
}
}


}


}
attacker.attackpacket = null;
attacker.owner.sendscreen(suse, true);


}
#endregion




return;
}
#endregion




#region epicpirate 14590






// var lastattacked = attacked;
var spell22 = database.spelltable.getspell(14590, attacker.owner);
if (kernel.rate(spell22.percent) && attacker.owner.spells.containskey(14590) && attacker.epicpirate())
{
#region epicpirate
{
msgmagiceffect suse = new msgmagiceffect(true);
suse.attacker = attacker.uid;
suse.spellid = spell22.id;
suse.spelllevel = spell22.level;
suse.x = lastattacked.x;
suse.y = lastattacked.y;


foreach (interfaces.imapobject _obj in attacker.owner.screen.objects)
{
if (_obj == null)
continue;
attacked = _obj as player;
if (attacked == null) continue;
if (kernel.getdistance(attacked.x, attacked.y, attacker.x, attacker.y) <= spell22.range)
{
if (_obj.mapobjtype == mapobjecttype.player)
{
if (!canattack(attacker, attacked, null, attack.interacttype == msginteract.melee)) continue;


attacker.update(msgname.mode.effect, "hdswzfwodrd", true);// hdswzfwodrd
attacker.update(msgname.mode.effect, "hdswzf-shouji", true);
attacker.update(msgname.mode.effect, "hdswzf-shifa", true);
uint damage = game.attacking.calculate.melee(attacker, attacked, ref attack);


attack.damage = 0;


damage = (damage * spell22.increasedmg);
damage = (damage / spell22.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell22);
suse.addtarget(attacked.uid, damage, attack);
}
else if (_obj.mapobjtype == mapobjecttype.monster)
{
if (!canattack(attacker, attacked, null, attack.interacttype == msginteract.melee)) continue;


attacker.update(msgname.mode.effect, "hdswzfwodrd", true);// hdswzfwodrd
attacker.update(msgname.mode.effect, "hdswzf-shouji", true);
attacker.update(msgname.mode.effect, "hdswzf-shifa", true);
uint damage = game.attacking.calculate.melee(attacker, attacked, ref attack);


attack.damage = 0;


damage = (damage * spell22.increasedmg);
damage = (damage / spell22.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell22);
suse.addtarget(attacked.uid, damage, attack);
}
else if (_obj.mapobjtype == mapobjecttype.sobnpc)
{
attackedsob = _obj as msgnpcinfoex;
if (kernel.getdistance(lastattacked.x, lastattacked.y, attackedsob.x, attackedsob.y) <= 5)
{
if (handle.canattack(attacker, attackedsob, spell5))
{
attacker.update(msgname.mode.effect, "hdswzfwodrd", true);// hdswzfwodrd
attacker.update(msgname.mode.effect, "hdswzf-shouji", true);
attacker.update(msgname.mode.effect, "hdswzf-shifa", true);
// lastattacked = attackedsob;
uint damages = game.attacking.calculate.melee(attacker, attackedsob, ref attack);
suse.effect2 = attack.effect2;
if (damages == 0) break;
handle.receiveattack(attacker, attackedsob, attack, damages, spell5);
suse.addtarget(attackedsob.uid, damages, attack);
}
}
}


}


}
attacker.attackpacket = null;
attacker.owner.sendscreen(suse, true);


}
#endregion




return;
}


#endregion


//case 14720:
#region epicpirate 14720
// var lastattacked = attacked;
var spell23 = database.spelltable.getspell(14720, attacker.owner);
if (kernel.rate(spell23.percent) && attacker.owner.spells.containskey(14720) && attacker.epicpirate())
{
#region epicpirate
{
msgmagiceffect suse = new msgmagiceffect(true);
suse.attacker = attacker.uid;
suse.spellid = spell23.id;
suse.spelllevel = spell23.level;


ushort _x = attacker.x, _y = attacker.y;
ushort _tx = x, _ty = y;
byte dist = (byte)spell23.distance;
var array = attacker.owner.screen.objects;
inlinealgorithm algo = new inlinealgorithm(attacker.x, x, attacker.y, y, dist,
inlinealgorithm.algorithm.dda);
x = attacker.x;
x = attacker.y;




int i = 0;
for (i = 0; i < algo.lcoords.count; i++)
{








if (attacker.owner.map.floor[algo.lcoords[i].x, algo.lcoords[i].y, mapobjecttype.player]
&& !attacker.throughgate(algo.lcoords[i].x, algo.lcoords[i].y))
{
x = (ushort)algo.lcoords[i].x;
y = (ushort)algo.lcoords[i].y;
}
else
{
break;
}
}
suse.x = x;
suse.y = y;
if (!attacker.owner.map.floor[x, y, mapobjecttype.player, null])
return;

double disth = 1.5;
foreach (interfaces.imapobject _obj in array)
{
bool hit = false;
for (int j = 0; j < i; j++)
if (
kernel.getddistance(_obj.x, _obj.y, (ushort)algo.lcoords[j].x,
(ushort)algo.lcoords[j].y) <= disth)
hit = true;
if (hit)
{
if (_obj.mapobjtype == mapobjecttype.monster)
{
attacked = _obj as player;
if (canattack(attacker, attacked, spell23,
attack.interacttype == msginteract.melee))
{
var damage = game.attacking.calculate.melee(attacker, attacked, ref attack);
damage = (damage * spell23.increasedmg);
damage = (damage / spell23.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell23);
attacked.update(msgname.mode.effect, "zssjhdsssj", true);
suse.addtarget(attacked.uid, damage, attack);
}
}
else if (_obj.mapobjtype == mapobjecttype.player)
{
attacked = _obj as player;
if (canattack(attacker, attacked, spell23,
attack.interacttype == msginteract.melee))
{
var damage = game.attacking.calculate.melee(attacker, attacked,
ref attack);
damage = (damage * spell23.increasedmg);
damage = (damage / spell23.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell23);
attacked.update(msgname.mode.effect, "zssjhdsssj", true);
suse.addtarget(attacked.uid, damage, attack);
}
}
else if (_obj.mapobjtype == mapobjecttype.sobnpc)
{
attackedsob = _obj as msgnpcinfoex;
if (canattack(attacker, attackedsob, spell23))
{
var damage = game.attacking.calculate.melee(attacker,
attackedsob, ref attack);
//damage = (damage * spell.increasedmg);
//damage = (damage / spell.decreasedmg);
receiveattack(attacker, attackedsob, attack, damage, spell23);
attacked.update(msgname.mode.effect, "zssjhdsssj", true);
suse.addtarget(attackedsob.uid, damage, attack);
}
}
}
}


attacker.owner.sendscreen(suse, true);
}
}
#endregion
#endregion
}
#endregion

بالنسبة للاسكلات ده انا مقدرتش احوله عندي لسورس عادي بسبب اني سورس الي بحول فيه سورس ماتركس كل اسكله ليه كلاس لوحديه فحاولوا تظبطوها

بعد كده دور علي اسكلات القرصان و ضيف دول
#region epic pirate
#region seaburial
case 14680:
{
if (canusespell(spell, attacker.owner))
{
preparespell(spell, attacker.owner);
msgmagiceffect suse = new msgmagiceffect(true);
suse.attacker = attacker.uid;
suse.spellid = spell.id;
suse.spelllevel = spell.level;
ushort _x = attacker.x, _y = attacker.y;
ushort _tx = x, _ty = y;
byte dist = (byte)spell.distance;
var array = attacker.owner.screen.objects;
inlinealgorithm algo = new inlinealgorithm(attacker.x, x, attacker.y, y, dist,
inlinealgorithm.algorithm.dda);
x = attacker.x;
y = attacker.y;
int i = 0;
for (i = 0; i < algo.lcoords.count; i++)
{
if (attacker.owner.map.floor[
algo.lcoords[i].x, algo.lcoords[i].y, mapobjecttype.player]
&& !attacker.throughgate(algo.lcoords[i].x, algo.lcoords[i].y))
{
x = (ushort)algo.lcoords[i].x;
y = (ushort)algo.lcoords[i].y;
}
else
{
break;
}
}
suse.x = x;
suse.y = y;
#region floor





msgname str = new msgname(true);
str.uid = attacker.uid;
str.textscount = 1;
str.x = x;
str.y = y;
str.positionx = attacker.x;
str.positiony = attacker.y;
str.action = msgname.mode.mapeffect;
str.texts.add("hdhlyz-lsyujing");
attacker.owner.sendscreen(str.toarray(), true);







msgaction data = new network.gamepackets.msgaction(true);
data.uid = attacker.uid;
data.x = x;
data.y = y;
data.id = msgaction.mode.flashstep;
data.wparam1 = attacker.x;
data.wparam2 = attacker.y;
attacker.owner.sendscreen(data, true);


#endregion






if (!attacker.owner.map.floor[x, y, mapobjecttype.player, null])
return;
double disth = 2.5;
foreach (interfaces.imapobject _obj in array)
{
bool hit = false;
for (int j = 0; j < i; j++)
if (
kernel.getddistance(_obj.x, _obj.y, (ushort)algo.lcoords[j].x,
(ushort)algo.lcoords[j].y) <= disth)
hit = true;
if (hit)
{
if (_obj.mapobjtype == mapobjecttype.monster)
{
attacked = _obj as player;
if (canattack(attacker, attacked, spell,
attack.interacttype == msginteract.melee))
{
var damage = game.attacking.calculate.melee(attacker, attacked,
ref attack);
damage = (damage * spell.increasedmg);
damage = (damage / spell.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell);


suse.addtarget(attacked.uid, damage, attack);
}
}
else if (_obj.mapobjtype == mapobjecttype.player)
{
attacked = _obj as player;
if (canattack(attacker, attacked, spell,
attack.interacttype == msginteract.melee))
{
var damage = game.attacking.calculate.melee(attacker, attacked,
ref attack);
damage = (damage * spell.increasedmg);
damage = (damage / spell.decreasedmg);
receiveattack(attacker, attacked, attack, ref damage, spell);


suse.addtarget(attacked.uid, damage, attack);
}
}
else if (_obj.mapobjtype == mapobjecttype.sobnpc)
{
attackedsob = _obj as msgnpcinfoex;
if (canattack(attacker, attackedsob, spell))
{
var damage = game.attacking.calculate.melee(attacker,
attackedsob, ref attack);
//damage = (damage * spell.increasedmg);
//damage = (damage / spell.decreasedmg);
receiveattack(attacker, attackedsob, attack, damage, spell);


suse.addtarget(attackedsob.uid, damage, attack);
}
}
}
}


attacker.owner.sendscreen(suse, true);
}
break;
}






#endregion
#region immortalforce
case 14710:
{


if (canusespell(spell, attacker.owner))
{
attacker.greeneffect = 10;
preparespell(spell, attacker.owner);
msgmagiceffect suse = new msgmagiceffect(true);
suse.attacker = attacker.uid;
suse.attacker1 = attacker.uid;
suse.spellid = spell.id;
suse.spelllevel = spell.level;
suse.addtarget(attacker.uid, 0, null);
attacker.owner.sendscreen(suse, true);
attacker.immortalforcestamp = time32.now;
attacker.addflag4((ulong)msgupdate.flags4.immortal force);
}
break;
}

#endregion


#endregion



ابحث عن
public static bool canattack


ضيف دول فقيه

#region epic pirate immortalforce
if (attacked.containsflag4(msgupdate.flags4.immortalf orce))
{
attacked.update(_string.effect, "hdyh-debuff", true);
// aaa hdyh-debuff
return false;
}
#endregion


هتروح entity
وتضيف
public time32 omnipotencestamp,immortalforcestamp;
public time32 immortalforce { get; set; }

و الورلد worled
ابحث عن
private unsafe void bufferscallback(gamestate client, int time)
{

ضيف تحت القوس
#region epic pirate immortalforce
if (now > client.entity.immortalforcestamp.addseconds(5))
client.entity.removeflag(msgupdate.flags.immortalf orce);
#endregion

و في update
public class flags4



ضيف دول
.immortalforce = 1ul << 220

بس كده لو في حاجه ناقصه قولوها في التعليق

بقولك اي يسطا انا مش فاهم حاجا ممكن تفهمهاني هو الايبك الي انت كاتب شفراتي ايبك اسكلات والاسلحه وكمان هو في اي مشاكل في الاسكلات ؟؟!

TiTo1
2020-02-08, 12:17 PM
عاش

ابو حمزه
2020-02-09, 01:52 PM
عفواً لايمكن عرض الروابط في الإرشيف

Help-me Please?

uncelsam
2020-03-05, 06:07 PM
عااااش

khaledxodia
2020-03-08, 09:46 AM
تسلم يا غالي

fersony
2020-03-09, 02:07 PM
شكرا عاش استمر

mody33221
2020-03-25, 11:22 PM
عااااااااش ولله العظيم

MahmoudMano
2020-03-26, 07:52 PM
هل موضوع دوت ينفع ينضاف علي سورس 2 دي ولا لا ومش معمولوا ابجريد ال 3 دي

AhmedGadd
2020-03-30, 03:58 PM
موضوع جميل

احمد كامل
2020-04-01, 07:46 AM
عاششششششششش

Dahmsh1020
2020-04-07, 10:35 PM
عاش ي اخويا

Bayoumi
2020-04-08, 08:00 PM
عاااااااااااش

Tyranny-Team's
2020-04-15, 05:41 AM
عاش

walid88
2020-04-27, 03:12 PM
عااش

TmXor
2020-04-30, 01:31 AM
تسلم الايادى

AliNasser
2020-04-30, 02:59 PM
تسلم

Lucifer
2020-05-13, 10:11 AM
.

AmEr 3OshA8
2020-05-15, 11:11 PM
تسلم

ahmeddoksha2
2020-05-16, 08:56 AM
شكرا

mohammedshafik
2021-07-28, 11:00 AM
تسلم

gokubrasil
2024-04-14, 04:53 PM
شكرًا

Wiske
2024-05-01, 02:11 PM
3a4