منتـدى تيم اكسور - TeamXor
منتـدى تيم اكسور | TeamXor |
ad ad ad
ad ad ad
ad ad ad

[ إضـافة ] إضافة إيبك القرصان لجميع السورسات العادية على تيم اكسور

احصائياتى
الردود
0
المشاهدات
214

آإلمـ♥̨̥̬̩زينے

.:: صاحب الموقع ::.
طاقم الإدارة
الإدارة العليا
معلومات آإلمـ♥̨̥̬̩زينے
إنضم
14 يناير 2020
المشاركات
2,147,483,662
مستوى التفاعل
2,147,483,647
النقاط
2,147,483,760
إضافة إيبك القرصان لجميع السورسات العادية على تيم اكسور




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

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

يلا بينا على الشرح




أولاً : ندخل على كلاس Entity.cs

C#:
 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

نبحث عن الكود دا فى الكاس

C#:
public static Positions ItemPositionFromID(UInt32 itemid)


في الفويد نحط الكود دا تحت اى اضافة داخل الفويد
C#:
 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;

نفس الكلاس نبحث عن الكود دا
C#:
public static ushort ItemPosition(uint ID)

تحت القوس ضيف دول
C#:
#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

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

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

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

            { return true; }

            else { return false; }

        }

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

هنقفلة برضو من السالب ونبدله بالكود دا
C#:
public static bool IsPistol(uint ID)
{

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

{ return true; }

else { return false; }

}
كود:

في نفس الكلاس ابحث عن
C#:
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;

                            }

                        }

                    }

                }

نضيف فى السورس الايتم تيب
C#:
[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@
[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@

[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@

[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@

[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@0 @@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@

[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@2 @@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@


بعد كدا حمل الملفات دى وضيفها فى الداتا داخل الباتش بتاعك

ليس لديك صلاحيات كافية لمشاهدة المحتوى!


بعد كدا افتح فولدر ani

نضيف الايكونات دى فى التكست بتاع

ItemMinIcon - MapItemIcon

خليك فى اخر التكست

تحميل من هنا

ليس لديك صلاحيات كافية لمشاهدة المحتوى!



نيجى بقا لجزء النافى كات

ونضيف دول

وملحوظة مهمة : أهم حاجة مننساش نغير اسم القاعده اللى هيا "cq1" باسم القاعده بتاعتك
C#:
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);



نيجى بقا لإضافة الأسكلات

نروح لكلاس : Handle.cs

هتروح #region Melee

و هتنزل تحت اسكلات الويندويكر

وتضيف
C#:
#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

بعد كده دور علي اسكلات القرصان و ضيف دول
C#:
#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

بعد كدا نبحث عن
C#:
public static bool CanAttack

نضيف الكود دا فوقه
C#:
#region Epic Pirate ImmortalForce
            if (attacked.ContainsFlag4(MsgUpdate.Flags4.ImmortalForce))
            {
                 attacked.Update(_String.Effect, "hdyh-debuff", true);
               // aaa   hdyh-debuff
                return false;
            }
            #endregion

ونفتح كلاس : Entity.cs تانى

ونضيف الكود دا

C#:
 public Time32 OmnipotenceStamp,ImmortalForceStamp;
   public Time32 ImmortalForce { get; set; }

ونيجى لكلاس : world.cs ونبحث عن
C#:
private unsafe void BuffersCallback(GameState client, int time)


ونضيف تحته
C#:
#region Epic Pirate ImmortalForce
            if (Now > client.Entity.ImmortalForceStamp.AddSeconds(5))
                client.Entity.RemoveFlag(MsgUpdate.Flags.ImmortalForce);
            #endregion

ندخل على كلاس : update .cs نبحث عن
C#:
public class Flags4

ونضيف داخله الكود دا
C#:
 .ImmortalForce = 1UL << 220


ولو فيه اى حاجة انا جاهز تحياتى الموضوع منقول للإفادة



آإلمـ♥̨̥̬̩زينے



 

Users Who Are Viewing This الموضوع (Users: 0, Guests: 1)

من نحن ؟؟

منتـدى تيم اكسور - TeamXor : منتدى عربي يقدم شروحات حصرية لتطوير المواقع و تعليم التصميم والبرمجه و يهتم بتطوير لعبة كونكر. ..

أعلى