Hikayeler

Reklam vermek için turkmmo@gmail.com

[c++]Activate fall immune flag

5.00 yıldız(lar) 1 Değerlendirme Değerlendirenler

SamuraiHUN

Level 1
TM Üye
Katılım
5 Tem 2021
Konular
11
Mesajlar
37
Online süresi
10g 20112s
Reaksiyon Skoru
62
Altın Konu
0
Başarım Puanı
63
TM Yaşı
4 Yıl 9 Ay 19 Gün
MmoLira
1,933
DevLira
30

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Hi, in this topic we will activate the fall value.

Step1:

Userinterface/Instancebase.cpp

Search this:

C++:
SetVirtualID(c_rkCreateData.m_dwVID);

add under this.

C++:
SetInstanceFallState(CPythonNonPlayer::Instance().IsImmuneFlagByVnum(c_rkCreateData.m_dwRace, CPythonNonPlayer::IMMUNE_FALL));

search this:

C++:
void CInstanceBase::SetInstanceType(int iInstanceType)

add under of the function this:


C++:
void CInstanceBase::SetInstanceFallState(bool bIsFall)
{
    m_GraphicThingInstance.SetActorFallState(bIsFall);
}

Step2:

Userinterface / Instancebase .h

Search this:

C++:
        void                    SetVirtualNumber(DWORD dwVirtualNumber);

add under this:

C++:
        void                    SetInstanceFallState(bool bIsFall);

Step3:

Userinterface/PythonNonPlayer.cpp

search this funcion:

C++:
void CPythonNonPlayer::Clear()

add above of the function this:


C++:
bool CPythonNonPlayer::IsImmuneFlagByVnum(DWORD dwVnum, DWORD dwImmuneFlag)
{
    const CPythonNonPlayer::TMobTable * c_pTable = GetTable(dwVnum);
    if (!c_pTable)
        return false;

    return IS_SET(c_pTable->dwImmuneFlag, dwImmuneFlag) != 0;
}

Step4:

Userinterface/PythonNonPlayer.h

search this:

C++:
        #define MOB_ATTRIBUTE_MAX_NUM    12

add above this:


C++:
        enum EMobImmuneFlags
        {
            IMMUNE_FALL = 4,
        };

Search this:

C++:
        const char*            GetMonsterName(DWORD dwVnum);

add under this:

C++:
        bool                IsImmuneFlagByVnum(DWORD dwVnum, DWORD dwImmuneFlag);

Step5:

GameLib/ActorInstance.cpp

search this:

C++:
void CActorInstance::SetOwner(DWORD dwOwnerVID)

add under this funcions:

C++:
bool CActorInstance::GetActorFallState()
{
    return m_bIsFall;
}

void CActorInstance::SetActorFallState(bool bIsFall)
{
    m_bIsFall = bIsFall;
}

search this:

C++:
    m_eActorType = TYPE_PC;

add under this:

C++:
    m_bIsFall = false;

Step6:

GameLib/ActorInstance.h

Search this:

C++:
        void        SetOwner(DWORD dwOwnerVID);

add under this:


C++:
        void        SetActorFallState(bool bIsFall);
        bool        GetActorFallState();

search this:

C++:
        DWORD                        m_eActorType;

add under this:

C++:
        DWORD                        m_bIsFall;

Step7:

GameLib/ActorInstanceBattle.cpp

Search this:

C++:
    if (IS_HUGE_RACE(rkActorDst.GetRace()))

change to:

C++:
    if (IS_HUGE_RACE(rkActorDst.GetRace()) || rkActorDst.GetActorFallState())

Mob_proto.txt don't forge write immuneflag 'FALL'
 
topik için teşekkürler bol şekerli bir topik olmuş tenks may firend eksik olma​
 
Thanks for sharing.
 
Paylaşım için teşekkürler. :)
 

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

Geri
Üst