Çözüldü Şaman at üstünde çan ile tek damage işliyor (Videolu)

  • Konuyu açan Konuyu açan asilords
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 3
  • Gösterim Gösterim 195
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

asilords

Üye
Üye
Mesaj
225
Çözümler
8
Beğeni
55
Puan
704
Ticaret Puanı
0
Şamanla atın üstündeyken tek taraflı hasar veriyor videodaki gibi bilgisi olan var mı?

 
Çözüm
C++:
Genişlet Daralt Kopyala
ActorInstance.h arat :

        void __SetFallingDirection(float fx, float fy);

altına ekle :

        float CalculateInvisibleTime(const UINT uiSkill, const NRaceData::TAttackData& c_rAttackData);


ActorInstanceBattle arat :

    if (IS_PARTY_HUNTING_RACE(rVictim.GetRace()))
    {
        if (uiSkill)
            rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + c_rAttackData.fInvisibleTime;

        if (m_isMain) ¡ ÀÇÇѰ͸¸ üũÇÑ´Ù
            rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + c_rAttackData.fInvisibleTime;
    }
    else
    {
        rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + c_rAttackData.fInvisibleTime;
    }

değiştir :


    if...
C++:
Genişlet Daralt Kopyala
ActorInstance.h arat :

        void __SetFallingDirection(float fx, float fy);

altına ekle :

        float CalculateInvisibleTime(const UINT uiSkill, const NRaceData::TAttackData& c_rAttackData);


ActorInstanceBattle arat :

    if (IS_PARTY_HUNTING_RACE(rVictim.GetRace()))
    {
        if (uiSkill)
            rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + c_rAttackData.fInvisibleTime;

        if (m_isMain) ¡ ÀÇÇѰ͸¸ üũÇÑ´Ù
            rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + c_rAttackData.fInvisibleTime;
    }
    else
    {
        rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + c_rAttackData.fInvisibleTime;
    }

değiştir :


    if (IS_PARTY_HUNTING_RACE(rVictim.GetRace())){
        if (uiSkill){ rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + (c_rAttackData.fInvisibleTime - CalculateInvisibleTime(uiSkill, c_rAttackData)); }
        if (m_isMain){ rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + (c_rAttackData.fInvisibleTime - CalculateInvisibleTime(uiSkill, c_rAttackData)); }
    }
    else {
        rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + (c_rAttackData.fInvisibleTime - CalculateInvisibleTime(uiSkill, c_rAttackData));
    }


void CActorInstance::__SetFallingDirection arat ve kod bloğunun altına ekle :


enum{
    RACE_WARRIOR_M,
    RACE_ASSASSIN_W,
    RACE_SURA_M,
    RACE_SHAMAN_W,
    RACE_WARRIOR_W,
    RACE_ASSASSIN_M,
    RACE_SURA_W,
    RACE_SHAMAN_M,
    RACE_WOLFMAN_M,
    RACE_MAX_NUM,
};
float CActorInstance::CalculateInvisibleTime(const UINT uiSkill, const NRaceData::TAttackData& c_rAttackData) {

    const float currentTime = CTimer::Instance().GetCurrentSecond();
    const float invisibleTime = c_rAttackData.fInvisibleTime;
    if ((GetRace() != RACE_WOLFMAN_M  && GetRace() != RACE_SHAMAN_M && GetRace() != RACE_SHAMAN_W) || m_fAtkSpd < 1.3 || uiSkill != 0) { return 0.0f; }

    const double timeScale = (m_fAtkSpd - 1.3) / 1.3;
    const auto invTime = c_rAttackData.fInvisibleTime * 0.5;
    return invTime * timeScale;
}
bunu dene
ALINTIDIR
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst