Otomatik Saldırı İçin Küçük Bir Düzeltme

  • Konuyu açan Konuyu açan otuzbiroglu
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 0
  • Gösterim Gösterim 205

otuzbiroglu

Üye
Üye
Mesaj
12
Beğeni
17
Puan
405
Ticaret Puanı
0
Merhaba,

Oyunda safe zone içerisinde bulunan moblara otomatik saldırı komutu verildiğinde, karakterin saldırı menzili ile mob arasında karakteri w, a, s, d tuşları ile yönlendirebilecek kadar mesafe var ise, bahsi geçen tuşların herhangi birine basılı tutarak mob etrafında dönüldüğünde karakterin yürüme animasyonu duruyor.

Sorun,

j56mwi2.gif


Çözüm için, aşağıdaki kod bloğu,

C++:
Genişlet Daralt Kopyala
    if (pkInstMain->IsWalking())
        return;

Aşağıdaki ilgili kısma eklenmelidir.

UserInterface/PythonPlayer.cpp:
Genişlet Daralt Kopyala
void CPythonPlayer::__Update_AutoAttack()
{
    if (0 == m_dwAutoAttackTargetVID)
        return;

    CInstanceBase * pkInstMain = NEW_GetMainActorPtr();
    if (!pkInstMain)
        return;

    // Kod bloğunun ekleneceği kısım.

    if (__IsUsingChargeSkill())
        return;

    CInstanceBase* pkInstVictim=NEW_FindActorPtr(m_dwAutoAttackTargetVID);
    if (!pkInstVictim)
    {
        __ClearAutoAttackTargetActorID();
    }
    else
    {
        if (pkInstVictim->IsDead())
        {
            __ClearAutoAttackTargetActorID();
        }
        else if (pkInstMain->IsMountingHorse() && !pkInstMain->CanAttackHorseLevel())
        {
            __ClearAutoAttackTargetActorID();
        }
        else if (pkInstMain->IsAttackableInstance(*pkInstVictim))
        {
            if (pkInstMain->IsSleep())
            {
                //TraceError("SKIP_AUTO_ATTACK_IN_SLEEPING");
            }
            else
            {
                __ReserveClickActor(m_dwAutoAttackTargetVID);
            }
        }
    }
}

Safe zone içerisine mobların girmemesini sağlamak ya da w, a, s, d tuşları ile karakter yönlendirildiğinde otomatik saldırı fonksiyonunu iptal etmek bir çözüm olabilir fakat oyunun varsayılan tercihlerinin dışına çıkmak istemeyen kişiler için küçük bir hata düzeltmesi olarak paylaşmak istedim. Daha önce açılmış bir konu var ise bu konu silinebilir.
 
Geri
Üst