mavzermete 1
mavzermete
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
xranzei 1
xranzei
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

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. 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.

teşekkürler
 

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

Geri
Üst