SOL
SAĞ
Şaman Atak Sorunu Çözümü
SİDEBAR REKLAMI

 

Metin2 pvp oyunlarının çoğunda olan bir hata. Şaman karakterinin atak saldırı hızı ile ilgili bir hata. Bu hatanın çözümü oldukça basit aşağıdaki kodları uygulayarak şaman karakterinin saldırı sorunu fix etmiş olacaksınız.

Python kodları

Kod:

//UserInterface/Locale_inc.h

#define __ENABLE_SHAMAN_ATTACK_SPEED_FIX__

//GameLib/ActorInstance.h

        void __ProcessMotionAttackSuccess(DWORD dwMotionKey, CActorInstance & rVictim);

//add below
#ifdef __ENABLE_SHAMAN_ATTACK_SPEED_FIX__
        float __GetInvisibleTimeAdjust(const UINT uiSkill, const NRaceData::TAttackData& c_rAttackData);
#endif

//GameLib/ActorInstanceBattle.cpp
//find
    if (IS_PARTY_HUNTING_RACE(rVictim.GetRace()))
                                                                         
  //change
                                               
#ifdef __ENABLE_SHAMAN_ATTACK_SPEED_FIX__
    // Invisible Time
    if (IS_PARTY_HUNTING_RACE(rVictim.GetRace()))
    {
        if (uiSkill) // 파티 사냥 몬스터라도 스킬이면 무적시간 적용
            rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + (c_rAttackData.fInvisibleTime - __GetInvisibleTimeAdjust(uiSkill, c_rAttackData));

        if (m_isMain) // #0000794: [M2KR] 폴리모프 - 밸런싱 문제 타인 공격에 의한 무적 타임은 고려하지 않고 자신 공격에 의한것만 체크한다
            rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + (c_rAttackData.fInvisibleTime - __GetInvisibleTimeAdjust(uiSkill, c_rAttackData));
    }
    else // 파티 사냥 몬스터가 아닐 경우만 적용
    {
        rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + (c_rAttackData.fInvisibleTime - __GetInvisibleTimeAdjust(uiSkill, c_rAttackData));
    }
#else
    // Invisible Time
    if (IS_PARTY_HUNTING_RACE(rVictim.GetRace()))
    {
        if (uiSkill) // 파티 사냥 몬스터라도 스킬이면 무적시간 적용
            rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + c_rAttackData.fInvisibleTime;

        if (m_isMain) // #0000794: [M2KR] 폴리모프 - 밸런싱 문제 타인 공격에 의한 무적 타임은 고려하지 않고 자신 공격에 의한것만 체크한다
            rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + c_rAttackData.fInvisibleTime;
    }
    else // 파티 사냥 몬스터가 아닐 경우만 적용
    {
        rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + c_rAttackData.fInvisibleTime;
    }
#endif

void CActorInstance::__ProcessDataAttackSuccess
//add bellow                                    

#ifdef __ENABLE_SHAMAN_ATTACK_SPEED_FIX__
float CActorInstance::__GetInvisibleTimeAdjust(const UINT uiSkill, const NRaceData::TAttackData& c_rAttackData) {

    static const int shamanw = 3, shamanm = 7;

    if ((GetRace() != shamanw && GetRace() != shamanm) ||
        uiSkill != 0 ||
        m_fAtkSpd < 1.3)
        return 0.0f;

    const auto scale = (m_fAtkSpd - 1.3) / 1.3;
    const auto inv = c_rAttackData.fInvisibleTime * 0.5;
    return inv * scale;
}
#endif
YAZAR HAKKINDA;
arcface
Admin

Web Developer

KONU YORUMLARI
YORUM YAP
Image

Metin2 Pvp Kurulumu

Şaman Atak Sorunu Çözümü

Metin2 pvp oyunlarının çoğunda olan bir hata. Şaman karakterinin atak saldırı hızı ile ilgili bir hata. Bu hatanın çözümü oldukça basit aşağıdaki kodları uygulayarak şaman karakterinin saldırı sorunu fix etmiş olacaksınız.

EN ÇOK OKUNAN 5 MAKALELER
arcface
Admin Yazdı;

2 ay önce

Yarı insan denilince ne anlıyoruz önce ona bir bakalım. Yarı insan; bi..

arcface
Admin Yazdı;

2 ay önce

Afro2 Web Panel Kodlaması Afro2 Web Panel Kodlaması Afro2 Web Pane..

arcface
Admin Yazdı;

2 ay önce

Rubinum2 Web Panel Rubinum2 Web Panel Rubinum2 Web PanelRubinum2 Web..

arcface
Admin Yazdı;

2 ay önce

Discord Widget Discord Widget Discord Widget Discord Widget Di..

arcface
Admin Yazdı;

2 ay önce

Aegea2 Site Teması İndir Aegea2 Site Teması İndir Aegea2 Site Teması..