Çö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 216
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

MT Üye
MT Üye
Mesaj
536
Çözümler
21
Beğeni
160
Puan
749
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ı.
Geri
Üst