منظمة قانون التطور - Evolution Law Organization
(نسخة قابلة للطباعة من الموضوع)
https://lb-h.mt2academy.com/t1634
أنقر هنا لمشاهدة الموضوع بهيئته الأصلية

الوان التحديد - C++
astknan 03-09-2020 09:35 مساء
سلام عليكم ورحمة الله وبركاته اليوم اقدم لكم نظام الوان التحديد وهو بسيط جدا صورة له ::

90a2fbb9e9.png.a19b6906e51487de48d5f49f2d2afdcd

نبدا مع الشرحح
--

نروح سورس الكلينت نفتح ورقة

InstanceBase.cpp 


نبحث عن


CInstanceBase :: OnSelected 


نستبدل ال void كامل ب 
void CInstanceBase::OnSelected()
{
#ifdef __MOVIE_MODE__
    if (!__IsExistMainInstance())
        return;
#endif

    if (IsStoneDoor())
        return;

    if (IsDead())
        return;

    if (IsEnemy())
    {
        __AttachSelectEffectMonster();
    }

    if (IsPC() || IsNPC())
    {
        if (m_dwEmpireID == 1) // Shinshoo
        {
            __AttachSelectEffectShinsoo();
        }
        else if (m_dwEmpireID == 2) // chunjo
        {
            __AttachSelectEffectChunjo(); 
        }
        else if (m_dwEmpireID == 3)//Jinnos
        {
            __AttachSelectEffectJinnos();
        }
    }
}
نبحث ايضا عن
 CInstanceBase :: OnUnselected ()  ​
نستبدل ال void كامل ب
void CInstanceBase::OnUnselected()
{
    //__DetachSelectEffect();


    if (IsPC() || IsNPC())
    {
        if (m_dwEmpireID == 1) //Shinsoo
        {
            __DetachSelectEffectShinsoo();
        }
        else if (m_dwEmpireID == 2)//Chunjo
        {
            __DetachSelectEffectChunjo();
        }
        else if (m_dwEmpireID == 3)//Jinnnos
        {
            __DetachSelectEffectJinnos();
        }
    }
    if (IsEnemy())
    {
        __DetachSelectEffectMonster();
    }
}
نبحث عن
 CInstanceBase :: OnTargeted ()  ​
نستبدل ال void كامل ب
void CInstanceBase::OnTargeted()
{
#ifdef __MOVIE_MODE__
    if (!__IsExistMainInstance())
        return;
#endif

    if (IsStoneDoor())
        return;

    if (IsDead())
        return;

    if (IsEnemy())
    {
        __AttachTargetEffectMonster();
    }

    if (IsPC() || IsNPC())
    {
        if (m_dwEmpireID == 1) //Shinsoo
        {
            __AttachTargetEffectShinsoo();
        }
        else if (m_dwEmpireID == 2)//Chunjo
        {
            __AttachTargetEffectChunjo();
        }
        else if (m_dwEmpireID == 3)//Jinnnos
        {
            __AttachTargetEffectJinnos();
        }
    }


}
نبحث عن :
CInstanceBase :: OnUntargeted () ​


نستبدل ال void كامل :
void CInstanceBase::OnUntargeted()
{

    if (IsPC() || IsNPC())
    {
        if (m_dwEmpireID == 1) //Shinsoo
        {
            __DetachTargetEffectShinsoo();
        }
        else if (m_dwEmpireID == 2)//Chunjo
        {
            __DetachTargetEffectChunjo();
        }
        else if (m_dwEmpireID == 3)//Jinnnos
        {
            __DetachTargetEffectJinnos();
        }
    }
    if (IsEnemy())
    {
        __DetachTargetEffectMonster();
    }
}
الان نفتح ورقة : Instanceb*ase.h  نبحث عن :
 EFFECT_EMOTICON_END = EFFECT_EMOTICON + EMOTICON_NUM 
نضيف اسفله :
EFFECT_MONSTER,
EFFECT_SHINSOO,
EFFECT_CHUNJO,
EFFECT_JINNOS,
EFFECT_TARGET_SHINSOO,
EFFECT_TARGET_JINNOS,
EFFECT_TARGET_CHUNJO,
EFFECT_TARGET_MONSTER,
نبحث عن :
__DetachTargetEffect 
نضيف اسفله :
void __AttachTargetEffectMonster();
void __DetachTargetEffectMonster();
void __AttachSelectEffectMonster();
void __DetachSelectEffectMonster();

void __AttachTargetEffectShinsoo();
void __DetachTargetEffectShinsoo();
void __AttachSelectEffectShinsoo();
void __DetachSelectEffectShinsoo();

void __AttachTargetEffectJinnos();
void __DetachTargetEffectJinnos();
void __AttachSelectEffectJinnos();
void __DetachSelectEffectJinnos();

void __AttachTargetEffectChunjo();
void __DetachTargetEffectChunjo();
void __AttachSelectEffectChunjo();
void __DetachSelectEffectChunjo();
نفتح ورقة
InstanceBaseEffect.cpp 
نبحث عن :
 CInstanceBase :: __ StoneSmoke_Inialize 
نضيف فوقه ::
///////////////////////////////////////////////////////////////////////

void CInstanceBase::__AttachSelectEffectMonster()
{
    __EffectContainer_AttachEffect(EFFECT_MONSTER);
}
void CInstanceBase::__DetachSelectEffectMonster()
{
    __EffectContainer_DetachEffect(EFFECT_MONSTER);
}
void CInstanceBase::__AttachTargetEffectMonster()
{
    __EffectContainer_AttachEffect(EFFECT_TARGET_MONSTER);
}
void CInstanceBase::__DetachTargetEffectMonster()
{
    __EffectContainer_DetachEffect(EFFECT_TARGET_MONSTER);
}

/////////////////////////////////////////////////////////////

void CInstanceBase::__AttachSelectEffectShinsoo()
{
    __EffectContainer_AttachEffect(EFFECT_SHINSOO);
}
void CInstanceBase::__DetachSelectEffectShinsoo()
{
    __EffectContainer_DetachEffect(EFFECT_SHINSOO);
}
void CInstanceBase::__AttachTargetEffectShinsoo()
{
    __EffectContainer_AttachEffect(EFFECT_TARGET_SHINSOO);
}
void CInstanceBase::__DetachTargetEffectShinsoo()
{
    __EffectContainer_DetachEffect(EFFECT_TARGET_SHINSOO);
}

/////////////////////////////////////////////////////////////

void CInstanceBase::__AttachSelectEffectChunjo()
{
    __EffectContainer_AttachEffect(EFFECT_CHUNJO);
}
void CInstanceBase::__DetachSelectEffectChunjo()
{
    __EffectContainer_DetachEffect(EFFECT_CHUNJO);
}
void CInstanceBase::__AttachTargetEffectChunjo()
{
    __EffectContainer_AttachEffect(EFFECT_TARGET_CHUNJO);
}
void CInstanceBase::__DetachTargetEffectChunjo()
{
    __EffectContainer_DetachEffect(EFFECT_TARGET_CHUNJO);
}

/////////////////////////////////////////////////////////////

void CInstanceBase::__AttachSelectEffectJinnos()
{
    __EffectContainer_AttachEffect(EFFECT_JINNOS);
}
void CInstanceBase::__DetachSelectEffectJinnos()
{
    __EffectContainer_DetachEffect(EFFECT_JINNOS);
}
void CInstanceBase::__AttachTargetEffectJinnos()
{
    __EffectContainer_AttachEffect(EFFECT_TARGET_JINNOS);
}
void CInstanceBase::__DetachTargetEffectJinnos()
{
    __EffectContainer_DetachEffect(EFFECT_TARGET_JINNOS);
}

/////////////////////////////////////////////////////////////
نفتح ورقة
 PythonCharacterManagerModule.cpp 
نبحث عن :
 EFFECT_CRITICAL ​
نضيف تحته :
PyModule_AddIntConstant(poModule, "EFFECT_MONSTER",            CInstanceBase::EFFECT_MONSTER);
PyModule_AddIntConstant(poModule, "EFFECT_TARGET_MONSTER",    CInstanceBase::EFFECT_TARGET_MONSTER);
PyModule_AddIntConstant(poModule, "EFFECT_SHINSOO",            CInstanceBase::EFFECT_SHINSOO);
PyModule_AddIntConstant(poModule, "EFFECT_TARGET_SHINSOO",    CInstanceBase::EFFECT_TARGET_SHINSOO);
PyModule_AddIntConstant(poModule, "EFFECT_CHUNJO",            CInstanceBase::EFFECT_CHUNJO);
PyModule_AddIntConstant(poModule, "EFFECT_TARGET_CHUNJO",    CInstanceBase::EFFECT_TARGET_CHUNJO);
PyModule_AddIntConstant(poModule, "EFFECT_JINNOS",            CInstanceBase::EFFECT_JINNOS);
PyModule_AddIntConstant(poModule, "EFFECT_TARGET_JINNOS",    CInstanceBase::EFFECT_TARGET_JINNOS);
انتهينا من السورس نروح الروت ورقة PlayerSeetingsModule نبحث عن
 chrmgr.EFFECT_STUN ​
اضف فوقه
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SHINSOO, "", "d:/ymir work/effect/world/shinsoo_select.mse")
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_SHINSOO, "", "d:/ymir work/effect/world/shinsoo_glow_select.mse")
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_CHUNJO, "", "d:/ymir work/effect/world/chunjo_select.mse")
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_CHUNJO, "", "d:/ymir work/effect/world/chunjo_glow_select.mse")
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_JINNOS, "", "d:/ymir work/effect/world/jinnos_select.mse")
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_JINNOS, "", "d:/ymir work/effect/world/jinnos_glow_select.mse")
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_MONSTER, "", "d:/ymir work/effect/world/mob_select.mse")
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET_MONSTER, "", "d:/ymir work/effect/world/mob_glow_select.mse")
نحط هذا ف الباك ونفعله بالاندكس
ClicK Here
منظمة قانون التطور - Evolution Law Organization

Powered by PBBoard ©Version 3.0.3