كونكر عرب

كونكر عرب (https://conquer-arab.com/index.php)
-   تطوير سيرفرات كونكر (https://conquer-arab.com/forumdisplay.php?f=11)
-   -   اضافة ابيك القرصان كامل (https://conquer-arab.com/showthread.php?t=122)

Hazem 2019-04-23 01:35 PM

اضافة ابيك القرصان كامل
 

السلام عليكم ورحمة الله وبركاته معانا اليوم
اضافة ابيك القرصان كامله
منقول من K7host
بس انا حبيت اضفهالك اكثر تنظيم
احنا انقسم الموضوع لاثنين علشان الموضوع مش راضي يتعمل علشان كبير اووي

اولا اذهب الي
Player او entity
وحط دول
كود PHP:

#region EpicPirate K7host.com

 

 

public bool EpicPirate()

{

if (
PlayerFlag == Game.PlayerFlag.Player)

{

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;

}

#endregion 

روح لل

في الباكت هندلر او MsgItemHandler
public static Positions GetPositionFromID(UInt32 itemid)
و حط

كود PHP:

#region EpicPirate K7host.com

 

 

if (iType == 670)

return 
Positions.Left;

 

if (
iType == 671)

return 
Positions.Right;

 

#endregion 

و في
كود PHP:

public static ushort ItemPosition(uint ID) 

كود PHP:

#region EpicPirate K7host.com
if (ID >= 670003 && ID <= 670439)

return 
MsgItemInfo.LeftWeapon;

 

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

return 
MsgItemInfo.RightWeapon;

 

if (
iType == 671)

return 
MsgItemInfo.RightWeapon;

if (
iType == 670)

return 
MsgItemInfo.LeftWeapon;

#endregion 

و بعد كده

دور علي
كود PHP:

public static bool IsRapier(uint ID) 

و بدهل
كود PHP:

public static bool IsRapier(uint ID)
{

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

{ return 
true; }

else { return 
false; }

} 

و علي
كود PHP:

public static bool IsPistol(uint ID) 

بدلها
كود PHP:

public static bool IsPistol(uint ID)
{

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

{ return 
true; }

else { return 
false; }

} 

دور علي
كود PHP:

#region Sanity Checks 

و فوق
كود PHP:

bool twohand = IsTwoHand(item.ID); 

لو هيا عندك اصلا خلاص مش عندك حط


كود PHP:

#region Check Pirate
if (client.Player.Class >= 70 && client.Player.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;

}

}

}

}

#endregion 

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


كود PHP:

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@@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@@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@@EpicWeapon@@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@@1000@@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@@None@@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
تكست
و ضيف في اخرها
دول
عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع

حمل الباتش وعلي فكره الباتش عربي فخلي بالك ليبوظ لعبتك
عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع


في النفي كات
ضيف دول
كود PHP:

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); 

ضيف الاسكلات غير cql1 لاسم القاعدة عندك

ثانيا الهاندل Handle.cs
هتروح
#region Melee
و هتنزل تحت اسكلات الويندويكر
و تضيف

كود PHP:

 #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 


بعد كده دور علي اسكلات القرصان و ضيف دول

كود PHP:

  #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.ImmortalForce);
                                   }
                                        break;
                                    }
                               
                                
#endregion


                                #endregion 



تمام هتروح
public static bool CanAttack

و تضيف

كود PHP:

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

هتروح Entity
وتضيف

كود PHP:

  public Time32 OmnipotenceStamp,ImmortalForceStamp;
   public 
Time32 ImmortalForce { get; set; } 

و الورلد worled

BuffersCallback

ضيف
كود:

كود PHP:

  #region Epic Pirate ImmortalForce




                
if (Now > client.Player.ImmortalForceStamp.AddSeconds(7))
                    
client.Player.RemoveFlag4((ulong)MsgUpdate.Flags4.ImmortalForce);
              
                
#endregion 


و في update
public class Flags4
ضيف
كود PHP:

 .ImmortalForce = 1UL << 220 

عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع

عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع

عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع

عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع


osamamand 2019-06-25 12:47 PM

رد: اضافة ابيك القرصان كامل
 
ألف شكر يا معلم

MohamedModyAdel 2019-06-25 01:35 PM

رد: اضافة ابيك القرصان كامل
 
جميل جدا

osama 2019-06-25 09:31 PM

رد: اضافة ابيك القرصان كامل
 
عاوز اضيفو فى سورس Source Mr.khled V3 بس السورس مش بنظام msg وحاولت اضيفو كتير مش نافع
لو حد بيعرف يضيفو يريت يساعدنى

osama 2019-07-07 10:57 PM

رد: اضافة ابيك القرصان كامل
 
جيبالى ايرور فى MsgName

attacked.Update(MsgName.Mode.Effect, "zssjhdsssj", true);
انا السورس بتاعى مش msg وعاوز اضيفلو الاسكلاات ومش عارف حليت شوية ارورات وفاضل كام ارور مش كتير

Hazem 2019-08-08 09:11 AM

رد: اضافة ابيك القرصان كامل
 
اقتباس:

المشاركة الأصلية كتبت بواسطة osama (المشاركة 4063)
جيبالى ايرور فى MsgName

attacked.Update(MsgName.Mode.Effect, "zssjhdsssj", true);
انا السورس بتاعى مش msg وعاوز اضيفلو الاسكلاات ومش عارف حليت شوية ارورات وفاضل كام ارور مش كتير

خليه
كود PHP:

attacked.Update(_String.Effect, "zssjhdsssj", true); 


osama 2019-08-08 11:14 AM

رد: اضافة ابيك القرصان كامل
 
اقتباس:

المشاركة الأصلية كتبت بواسطة hazem (المشاركة 10723)
خليه
كود PHP:

attacked.update(_string.effect, "zssjhdsssj", true); 


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

Eslamahmed 2019-09-01 11:14 PM

رد: اضافة ابيك القرصان كامل
 
جميل

loveosama 2019-09-04 06:10 AM

رد: اضافة ابيك القرصان كامل
 
شكراا

Avengers-Co 2019-09-04 04:31 PM

رد: اضافة ابيك القرصان كامل
 
تسلم


الساعة الآن 07:03 PM

مرحبا بكم في منتدي اكواد لتطوير الالعاب
new notificatio by 9adq_ala7sas