noisiv 1
noisiv
Manwe Work 1
Manwe Work
Can Öcalan 1
Can Öcalan
mavzermete 1
mavzermete
farkmt2official 1
farkmt2official
Sevdamsın 1
Sevdamsın
Hikaye Ekle

[C++] Ninja Kamuflaj Düzeltmesi

  • Konuyu başlatan Konuyu başlatan MT2Dev
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 17
  • Görüntüleme Görüntüleme 3K

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

Neyi Düzelteceğiz ?

Biliyorsunuz ki +9 parıltılı itemlerle kamuflaj bastığınız zaman görünmez olmanıza rağmen itemlerin parıltısı gözükür veya dolaştığınız zaman yerde ayak izleriniz belli olur bu sayede diğer oyuncular sizi görebilir ve mini haritada da açık bir şekilde gözükürsünüz, Metin2'nin 17.5 resmi güncellemesinde bu sorun çözüldü, işte çözümü.Bu arada paylaşıldıysa kusura bakmayın forumda aradım fakat bulamadım o yüzden paylaşıyorum.

Düzeltme Yapıldıktan Sonra ;




InstanceBase.cpp açın ve arayın ;


C++:
BOOL CInstanceBase::IsInvisibility()
{
    if (IsAffect(AFFECT_INVISIBILITY))
        return true;
    return false;
}


Bununla değiştirin ;


C++:
BOOL CInstanceBase::IsInvisibility()
{
    if (IsAffect(AFFECT_INVISIBILITY) || IsAffect(AFFECT_EUNHYEONG))
        return true;
    return false;
}


Fonksiyonu Arayın ;


C++:
void CInstanceBase::Render()
{


Fonksiyonun içinde Bulun ;


C++:
m_GraphicThingInstance.Render();


Altına Ekleyin ;


C++:
CPythonCharacterManager & rkChrMgr = CPythonCharacterManager::Instance();
 
    for (auto ptr = rkChrMgr.CharacterInstanceBegin(); ptr != rkChrMgr.CharacterInstanceEnd(); ++ptr)
    {
        CInstanceBase * pkInstEach = *ptr;
 
        if (pkInstEach)
        {
            if (pkInstEach->IsAffect(AFFECT_EUNHYEONG) || pkInstEach->IsAffect(AFFECT_INVISIBILITY))
            {
                if (CPythonPlayer::Instance().IsMainCharacterIndex(pkInstEach->GetVirtualID()))
                    continue;
 
                pkInstEach->m_GraphicThingInstance.HideAllAttachingEffect();
            }
        }
    }



InstanceBaseEffect.cpp içinde şunu arayın ;


C++:
void CInstanceBase::__SetAffect(UINT eAffect, bool isVisible)
{
Inside the function search:
        case AFFECT_INVISIBILITY:
            if (isVisible)
            {
                m_GraphicThingInstance.ClearAttachingEffect();
                __EffectContainer_Destroy();
                DetachTextTail();
            }
            else
            {
                m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
                AttachTextTail();
                RefreshTextTail();
            }
            return;
            break;
}


Bununla değiştirin ;



C++:
case AFFECT_INVISIBILITY:
            if (isVisible)
            {
                // m_GraphicThingInstance.ClearAttachingEffect();
                // __EffectContainer_Destroy();
                // DetachTextTail();
                m_GraphicThingInstance.HideAllAttachingEffect();
            }
            else
            {
                m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
                m_GraphicThingInstance.ShowAllAttachingEffect();
                // AttachTextTail();
                // RefreshTextTail();
            }
            return;
            break;


Just4Metin'den alıntıdır.
 
Neyi Düzelteceğiz ?

Biliyorsunuz ki +9 parıltılı itemlerle kamuflaj bastığınız zaman görünmez olmanıza rağmen itemlerin parıltısı gözükür veya dolaştığınız zaman yerde ayak izleriniz belli olur bu sayede diğer oyuncular sizi görebilir ve mini haritada da açık bir şekilde gözükürsünüz, Metin2'nin 17.5 resmi güncellemesinde bu sorun çözüldü, işte çözümü.Bu arada paylaşıldıysa kusura bakmayın forumda aradım fakat bulamadım o yüzden paylaşıyorum.

Düzeltme Yapıldıktan Sonra ;




InstanceBase.cpp açın ve arayın ;


C++:
BOOL CInstanceBase::IsInvisibility()
{
    if (IsAffect(AFFECT_INVISIBILITY))
        return true;
    return false;
}


Bununla değiştirin ;


C++:
BOOL CInstanceBase::IsInvisibility()
{
    if (IsAffect(AFFECT_INVISIBILITY) || IsAffect(AFFECT_EUNHYEONG))
        return true;
    return false;
}


Fonksiyonu Arayın ;


C++:
void CInstanceBase::Render()
{


Fonksiyonun içinde Bulun ;


C++:
m_GraphicThingInstance.Render();


Altına Ekleyin ;


C++:
CPythonCharacterManager & rkChrMgr = CPythonCharacterManager::Instance();

    for (auto ptr = rkChrMgr.CharacterInstanceBegin(); ptr != rkChrMgr.CharacterInstanceEnd(); ++ptr)
    {
        CInstanceBase * pkInstEach = *ptr;

        if (pkInstEach)
        {
            if (pkInstEach->IsAffect(AFFECT_EUNHYEONG) || pkInstEach->IsAffect(AFFECT_INVISIBILITY))
            {
                if (CPythonPlayer::Instance().IsMainCharacterIndex(pkInstEach->GetVirtualID()))
                    continue;

                pkInstEach->m_GraphicThingInstance.HideAllAttachingEffect();
            }
        }
    }



InstanceBaseEffect.cpp içinde şunu arayın ;


C++:
void CInstanceBase::__SetAffect(UINT eAffect, bool isVisible)
{
Inside the function search:
        case AFFECT_INVISIBILITY:
            if (isVisible)
            {
                m_GraphicThingInstance.ClearAttachingEffect();
                __EffectContainer_Destroy();
                DetachTextTail();
            }
            else
            {
                m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
                AttachTextTail();
                RefreshTextTail();
            }
            return;
            break;
}


Bununla değiştirin ;



C++:
case AFFECT_INVISIBILITY:
            if (isVisible)
            {
                // m_GraphicThingInstance.ClearAttachingEffect();
                // __EffectContainer_Destroy();
                // DetachTextTail();
                m_GraphicThingInstance.HideAllAttachingEffect();
            }
            else
            {
                m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
                m_GraphicThingInstance.ShowAllAttachingEffect();
                // AttachTextTail();
                // RefreshTextTail();
            }
            return;
            break;


Just4Metin'den alıntıdır.

Paylaşım için teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst