منظمة قانون التطور - Evolution Law Organization
موضوع بعنوان :شرح : إضافة لمعة الدروع و الأسلحة الرسمي 19.3
الكاتب :IGNEEL


السلام عليكم ورحمة الله تعالى وبركته 
مثل ماهو مكتوب في العنوان
الرسمي في تحديث 19.3 أضاف دروع و أسلحة جديدة مع لمعتهم الحمدالله عملتها وأقدمها لكم هنا. 
وهذا الشرح طريقة تضيف المعة لهم.


صورة:

مشاهدة

شرح:

أولا قم بفتح instanceb*ase.cpp في سورس كلينت

وبحث عن 

switch (pItem->GetType())
    {
    case CItemData::ITEM_TYPE_WEAPON:


أضيف فوقها

#ifdef ENABLE_EFFECTS_7TH
    DWORD vnum = pItem->GetIndex();
#endif


إبحث عن
case CItemData::ITEM_TYPE_WEAPON:
        __ClearWeaponRefineEffect();


أضيف تحتها:
#ifdef ENABLE_EFFECTS_7TH
        if (pItem->GetSubType() == CItemData::WEAPON_SWORD)
        {
            if (vnum >= 330 && vnum <= 335)
            {
                __ClearWeaponRefineEffect();
                m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_SWORD_7TH;
                {
                    if (m_swordRefineEffectRight)
                        m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
                }
            }
        }
        if (pItem->GetSubType() == CItemData::WEAPON_SWORD)
        {
            if (vnum >= 350 && vnum <= 355)
            {
                __ClearWeaponRefineEffect();
                m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_SWORD_7TH;
                {
                    if (m_swordRefineEffectRight)
                        m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
                }
            }
        }
        if (pItem->GetSubType() == CItemData::WEAPON_TWO_HANDED)
        {
            if (vnum >= 3240 && vnum <= 3245)
            {
                __ClearWeaponRefineEffect();
                m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_SWORD_7TH;
                {
                    if (m_swordRefineEffectRight)
                        m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
                }
            }
        }
        if (pItem->GetSubType() == CItemData::WEAPON_BOW)
        {
            if (vnum >= 2220 && vnum <= 2225)
            {
                __ClearWeaponRefineEffect();
                m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_BOW_7TH;
                {
                    if (m_swordRefineEffectRight)
                        m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
                }
            }
        }
        if (pItem->GetSubType() == CItemData::WEAPON_FAN)
        {
            if (vnum >= 7320 && vnum <= 7325)
            {
                __ClearWeaponRefineEffect();
                m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_FANBELL_7TH;
                {
                    if (m_swordRefineEffectRight)
                        m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
                }
            }
        }
        if (pItem->GetSubType() == CItemData::WEAPON_BELL)
        {
            if (vnum >= 5180 && vnum <= 5185)
            {
                __ClearWeaponRefineEffect();
                m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_FANBELL_7TH;
                {
                    if (m_swordRefineEffectRight)
                        m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
                }
            }
        }
        if (pItem->GetSubType() == CItemData::WEAPON_DAGGER)
        {
            if (vnum >= 1200 && vnum <= 1205)
            {
                __ClearWeaponRefineEffect();
                m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SMALLSWORD_7TH;
                m_swordRefineEffectLeft = EFFECT_REFINED + EFFECT_SMALLSWORD_7TH_LEFT;
                {
                    if (m_swordRefineEffectRight)
                        m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
                    if (m_swordRefineEffectLeft)
                        m_swordRefineEffectLeft = __AttachEffect(m_swordRefineEffectLeft);
                }
            }
        }
#ifdef ENABLE_WOLFMAN_CHARACTER
        if (pItem->GetSubType() == CItemData::WEAPON_CLAW)
        {
            if (vnum >= 6140 && vnum <= 6145)
            {
                __ClearWeaponRefineEffect();
                m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SMALLSWORD_7TH_W;
                m_swordRefineEffectLeft = EFFECT_REFINED + EFFECT_SMALLSWORD_7TH_LEFT_W;
                {
                    if (m_swordRefineEffectRight)
                        m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
                    if (m_swordRefineEffectLeft)
                        m_swordRefineEffectLeft = __AttachEffect(m_swordRefineEffectLeft);
                }
            }
        }
#endif
#endif


ابحث عن
else if (20760 <= vnum && vnum <= 20959)
            {
                __AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL3);
            }


أضيف تحتها
#ifdef ENABLE_EFFECTS_7TH
            //+10 -> +15
            //Warrior Armor
            else if (21220 <= vnum && vnum <= 21225)
            {
                __AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL4);
            }
            //Assassin Armor
            else if (21240 <= vnum && vnum <= 21245)
            {
                __AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL4);
            }
            //Sura Armor
            else if (21260 <= vnum && vnum <= 21265)
            {
                __AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL4);
            }
            //Shaman Armor
            else if (21280 <= vnum && vnum <= 21285)
            {
                __AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL4);
            }
#ifdef ENABLE_WOLFMAN_CHARACTER
            //Wolfman Armor
            else if (21300 <= vnum && vnum <= 21305)
            {
                __AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL4);
            }
#endif
#endif


الأن قم بفتح instanceb*ase.h

إبحث عن
EFFECT_BODYARMOR_SPECIAL3,    // 5-1


أضيف تحتها
#ifdef ENABLE_EFFECTS_7TH
            //ARMORS
            EFFECT_BODYARMOR_SPECIAL4,

            //WEAPONS
            EFFECT_SWORD_7TH,
            EFFECT_BOW_7TH,
            EFFECT_FANBELL_7TH,
            EFFECT_SMALLSWORD_7TH,
            EFFECT_SMALLSWORD_7TH_LEFT,
            EFFECT_SMALLSWORD_7TH_W,
            EFFECT_SMALLSWORD_7TH_LEFT_W,
#endif


قم بفتح Locale_inc.h
إبحث عن
#define ENABLE_COSTUME_SYSTEM

أضيف تحتها
#define ENABLE_EFFECTS_7TH
 

إفتح PythonApplicationModule.cpp

إبحث عن
#ifdef ENABLE_COSTUME_SYSTEM
    PyModule_AddIntConstant(poModule, "ENABLE_COSTUME_SYSTEM",    1);
#else
    PyModule_AddIntConstant(poModule, "ENABLE_COSTUME_SYSTEM",    0);
#endif


أضيف تحتها

#ifdef ENABLE_EFFECTS_7TH
    PyModule_AddIntConstant(poModule, "ENABLE_EFFECTS_7TH", 1);
#else
    PyModule_AddIntConstant(poModule, "ENABLE_EFFECTS_7TH", 0);
#endif


الأن ندخل الي Root وفتح PlayerSettingModule.py

إبحث عن
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+23, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_7th_01.mse")


أضيف تحتها
if app.ENABLE_EFFECTS_7TH:
        chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+24, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7th.mse")
        chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+25, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_7th_b.mse")
        chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+26, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7th_f.mse")
        chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+27, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7th_s.mse")
        chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+28, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_7th_s.mse")
        chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+29, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7th_w.mse")
        chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+30, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_7th_w.mse")


قم بترتيب الأرقام على حسب ترتيب ملفاتك.

وأخيرا 
هذا هو الباتش فيه الدروع و الأسلحة والمعات
تحميل

ملاحظة : اذا كنت سوف تضيف الأسلحة والدروع يجيب ان يكون كودهم نفس أكواد الرسمي أو قم بتغيرهم بما يناسبك من instanceb*ase.cpp
ملاحظة 2: اذا كانت لديك الأكواد مثل راسمي .. المعة تظهر فقط اذا كان البند +10.. 

أي مشكلة أكتبها تحت 
تحياتي :. IGNEEL .: