Yardım Binekten inince bir kaç saniye hasar atamamak

  • Konuyu açan Konuyu açan Furion99
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 7
  • Gösterim Gösterim 278
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

Furion99

MT Üye
MT Üye
Mesaj
178
Çözümler
5
Beğeni
71
Puan
724
Ticaret Puanı
0
Merhaba, binek üzerindeyken sorun yok fakat binekten inince bir kaç saniye hasar vuramıyorsunuz mob,player neden olabilir?
Ek olarak at dan inince de 1 saniye civarı hasar vurmuyor karakter mob veya player ama bu durum binekte çok daha fazla neredeyse 4,5 saniye
 
Son düzenleme:
C++:
Genişlet Daralt Kopyala
void CHARACTER::OnMove(bool bIsAttack)
{
    m_dwLastMoveTime = get_dword_time();

    if (bIsAttack)
    {
        m_dwLastAttackTime = m_dwLastMoveTime;

        if (IsAffectFlag(AFF_REVIVE_INVISIBLE))
            RemoveAffect(AFFECT_REVIVE_INVISIBLE);

        if (IsAffectFlag(AFF_EUNHYUNG))
        {
            RemoveAffect(SKILL_EUNHYUNG);
            SetAffectedEunhyung();
        }
        else
        {
            ClearAffectedEunhyung();
        }

        /*if (IsAffectFlag(AFF_JEONSIN))
          RemoveAffect(SKILL_JEONSINBANGEO);*/
    }

    /*if (IsAffectFlag(AFF_GUNGON))
      RemoveAffect(SKILL_GUNGON);*/

    // MINING
    mining_cancel();
    // END_OF_MINING
}

Buradan kaynaklı sanırım.

Aslında bunun engeli eklenmiş.
C++:
Genişlet Daralt Kopyala
    m_dwLastAttackTime = get_dword_time() - 20000;

Buradaki kodlarda süre engellenmiş ama yukardaki fonksiyonda bulunan

m_dwLastAttackTime = m_dwLastMoveTime;

bu satır süreyi sıfırlıyor. Dolayısıyla 4 5sn kadar gecikmeye sebep olabilir.

Bu satırı yorum satırına alıp deneyebilirsin.

C++:
Genişlet Daralt Kopyala
void CHARACTER::OnMove(bool bIsAttack)
{
    m_dwLastMoveTime = get_dword_time();

    if (bIsAttack)
    {
/*         m_dwLastAttackTime = m_dwLastMoveTime;
 */
        if (IsAffectFlag(AFF_REVIVE_INVISIBLE))
            RemoveAffect(AFFECT_REVIVE_INVISIBLE);

        if (IsAffectFlag(AFF_EUNHYUNG))
        {
            RemoveAffect(SKILL_EUNHYUNG);
            SetAffectedEunhyung();
        }
        else
        {
            ClearAffectedEunhyung();
        }

        /*if (IsAffectFlag(AFF_JEONSIN))
          RemoveAffect(SKILL_JEONSINBANGEO);*/
    }

    /*if (IsAffectFlag(AFF_GUNGON))
      RemoveAffect(SKILL_GUNGON);*/

    // MINING
    mining_cancel();
    // END_OF_MINING
}
 
C++:
Genişlet Daralt Kopyala
void CHARACTER::OnMove(bool bIsAttack)
{
    m_dwLastMoveTime = get_dword_time();

    if (bIsAttack)
    {
        m_dwLastAttackTime = m_dwLastMoveTime;

        if (IsAffectFlag(AFF_REVIVE_INVISIBLE))
            RemoveAffect(AFFECT_REVIVE_INVISIBLE);

        if (IsAffectFlag(AFF_EUNHYUNG))
        {
            RemoveAffect(SKILL_EUNHYUNG);
            SetAffectedEunhyung();
        }
        else
        {
            ClearAffectedEunhyung();
        }

        /*if (IsAffectFlag(AFF_JEONSIN))
          RemoveAffect(SKILL_JEONSINBANGEO);*/
    }

    /*if (IsAffectFlag(AFF_GUNGON))
      RemoveAffect(SKILL_GUNGON);*/

    // MINING
    mining_cancel();
    // END_OF_MINING
}

Buradan kaynaklı sanırım.

Aslında bunun engeli eklenmiş.
C++:
Genişlet Daralt Kopyala
    m_dwLastAttackTime = get_dword_time() - 20000;

Buradaki kodlarda süre engellenmiş ama yukardaki fonksiyonda bulunan

m_dwLastAttackTime = m_dwLastMoveTime;

bu satır süreyi sıfırlıyor. Dolayısıyla 4 5sn kadar gecikmeye sebep olabilir.

Bu satırı yorum satırına alıp deneyebilirsin.

C++:
Genişlet Daralt Kopyala
void CHARACTER::OnMove(bool bIsAttack)
{
    m_dwLastMoveTime = get_dword_time();

    if (bIsAttack)
    {
/*         m_dwLastAttackTime = m_dwLastMoveTime;
 */
        if (IsAffectFlag(AFF_REVIVE_INVISIBLE))
            RemoveAffect(AFFECT_REVIVE_INVISIBLE);

        if (IsAffectFlag(AFF_EUNHYUNG))
        {
            RemoveAffect(SKILL_EUNHYUNG);
            SetAffectedEunhyung();
        }
        else
        {
            ClearAffectedEunhyung();
        }

        /*if (IsAffectFlag(AFF_JEONSIN))
          RemoveAffect(SKILL_JEONSINBANGEO);*/
    }

    /*if (IsAffectFlag(AFF_GUNGON))
      RemoveAffect(SKILL_GUNGON);*/

    // MINING
    mining_cancel();
    // END_OF_MINING
}
Maalesef sorun devam ediyor
 
PythonNetworkStreamPhaseGame.cpp:
Genişlet Daralt Kopyala
Arat:
const DWORD MAX_RECV_COUNT = 4;
    
Değiştir:
const DWORD MAX_RECV_COUNT = 32;


Değer 32 önerilir. değeri 50 kullananda var.
 
Çözüm
Geri
Üst