anti cheat geliştirme günlüğü yapay zeka çalışması

  • Konuyu açan Konuyu açan martysama
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 2
  • Gösterim Gösterim 100

martysama

MT Üye
MT Üye
Mesaj
218
Beğeni
94
Puan
446
Ticaret Puanı
0
actorinstance.cpp

.hyede şunları
bool m_bAtkSpdLocked();
bool m_bMovSpdLocked();
ekleyin
oldu mu bilmiyorum deniyimleyemedim



Kod:
Genişlet Daralt Kopyala
// Max speed values (sınırlamalar)

const float MAX_ATTACK_SPEED = 2.0f; // Örnek max attack speed

const float MAX_MOVE_SPEED = 2.0f;  // Örnek max move speed



// Yeni eklenen bayraklar

bool m_bAtkSpdLocked = false; // Attack speed'in kilitli olup olmadığını kontrol eder

bool m_bMovSpdLocked = false; // Move speed'in kilitli olup olmadığını kontrol eder



// Güncellenmiş SetAttackSpeed

void CActorInstance::SetAttackSpeed(float fAtkSpd)

{

    // Eğer hız zaten kilitlenmişse, fonksiyonu sonlandır

    if (m_bAtkSpdLocked)

        return;



    // Hızı max değere kısıtla

    if (fAtkSpd > MAX_ATTACK_SPEED)

    {

        fAtkSpd = MAX_ATTACK_SPEED;

    }



    // Hız değiştirildiğinde, kilitleme bayrağını aktif et

    m_fAtkSpd = fAtkSpd;

    m_bAtkSpdLocked = true;  // Kilitleme işlemi

}



// Güncellenmiş SetMoveSpeed

void CActorInstance::SetMoveSpeed(float fMovSpd)

{

    // Eğer hız zaten kilitlenmişse, fonksiyonu sonlandır

    if (m_bMovSpdLocked)

        return;



    // Eğer yeni hız mevcut hızla aynıysa, değişiklik yapılmasın

    if (m_fMovSpd == fMovSpd)

        return;



    // Hızı max değere kısıtla

    if (fMovSpd > MAX_MOVE_SPEED)

    {

        fMovSpd = MAX_MOVE_SPEED;

    }



    // Hız değiştirildiğinde, kilitleme bayrağını aktif et

    m_fMovSpd = fMovSpd;

    m_bMovSpdLocked = true;  // Kilitleme işlemi



    // Hareket halindeyse, hareket animasyonlarını tekrar başlat

    if (__IsMoveMotion())

    {

        Stop();

        Move();

    }

}
 
bide şu var alternatif
Kod:
Genişlet Daralt Kopyala
void CActorInstance::SetAttackSpeed(float fAtkSpd)
{
    // Saldırı hızını sınırla (örneğin 0.1 ile 3 arasında)
    if (fAtkSpd < 0.1f)
        fAtkSpd = 0.1f;
    else if (fAtkSpd > 3.0f)
        fAtkSpd = 3.0f;

    // Değişiklik olup olmadığını kontrol et
    if (m_fAtkSpd == fAtkSpd)
        return;

    m_fAtkSpd = fAtkSpd;
    // Animasyon hızını güncelle
    UpdateAnimationSpeed();
}

void CActorInstance::SetMoveSpeed(float fMovSpd)
{
    // Hareket hızını sınırla (örneğin 1 ile 10 arasında)
    if (fMovSpd < 1.0f)
        fMovSpd = 1.0f;
    else if (fMovSpd > 10.0f)
        fMovSpd = 10.0f;

    // Değişiklik olup olmadığını kontrol et
    if (m_fMovSpd == fMovSpd)
        return;

    m_fMovSpd = fMovSpd;

    if (__IsMoveMotion())
    {
        Stop();
        Move();
    }
    
    // Animasyon hızını güncelle
    UpdateAnimationSpeed();
}

void CActorInstance::UpdateAnimationSpeed()
{
    // Animasyon hızını sınırla (örneğin 0.1 ile 2 arasında)
    float animationSpeed = m_fAtkSpd;  // Burada saldırı hızını animasyon hızıyla ilişkilendiriyoruz
    if (animationSpeed < 0.1f)
        animationSpeed = 0.1f;
    else if (animationSpeed > 2.0f)
        animationSpeed = 2.0f;

    // Animasyon hızını uygula
    SetAnimationSpeed(animationSpeed);
}
 
client'a eklediğin her şeyin içinden geçerler nacizane bir öneri
 
Geri
Üst