Hikayeler

Reklam vermek için turkmmo@gmail.com

[C++] Ninja Kamuflaj Düzeltmesi

MT2Dev

Cplusplus
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Fahri Üye
TM Üye
Katılım
30 Ocak 2020
Konular
50
Mesajlar
812
Online süresi
26g 54000s
Reaksiyon Skoru
735
Altın Konu
1
Başarım Puanı
184
TM Yaşı
6 Yıl 2 Ay 21 Gün
MmoLira
8,731
DevLira
123

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. 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.
 
Teşekkürler.
 
Paylaşım için teşekkürler.
 
Rica ederim.
 

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

Geri
Üst