Yardım Asker at kitabı

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

hako26

Üye
Üye
Mesaj
60
Beğeni
4
Puan
466
Ticaret Puanı
0
Merhaba, acemi at gorevını kaldırmak at hp aclık yeşil bar dusmeyecek şekilde nasıl ayarlıyabilirim kısacası 98-99a uygun olması gerekiyor yardımcı olabilecek varmı?
 
Merhaba questlerden acemi at görevini silip başlangıçta atı son seviye verebilirsiniz acıkmaması vs içinde filesinize göre horse.cpp den ayarlayabilirsiniz
 
commondefines.h gir uygun yere ekle ;
commondefines.h:
Genişlet Daralt Kopyala
// At: zamanla can/stamina düşmesin; can 0 -> max
#define HEXE_HORSE_NO_DECAY
horse_rider.cpp gir
Bul:

horse_rider.cpp:
Genişlet Daralt Kopyala
void CHorseRider::SetHorseData(const THorseInfo& crInfo)
{
    m_Horse = crInfo;

Bu satırın HEMEN ALTINA ekle:

horse_rider.cpp :
Genişlet Daralt Kopyala
#ifdef HEXE_HORSE_NO_DECAY
    const int lv = GetHorseLevel();
    if (lv > 0)
    {
        m_Horse.sStamina = c_aHorseStat[lv].iMaxStamina;
        if (m_Horse.sHealth <= 0)
            m_Horse.sHealth = c_aHorseStat[lv].iMaxHealth;
    }
#endif


Bul:

horse_rider.cpp:
Genişlet Daralt Kopyala
    if (GetHorseStamina() == 0 && IsHorseRiding())

Bu satırın ÜSTÜNE ekle:

horse_rider.cpp :
Genişlet Daralt Kopyala
#ifdef HEXE_HORSE_NO_DECAY
    if (level > 0)
        m_Horse.sStamina = c_aHorseStat[level].iMaxStamina;
#endif

Bul:

horse_rider.cpp:
Genişlet Daralt Kopyala
    if (GetHorseLevel() <= 0)
        return false;

Bu return’un HEMEN ALTINA ekle:

horse_rider.cpp :
Genişlet Daralt Kopyala
#ifdef HEXE_HORSE_NO_DECAY
    m_Horse.sStamina = GetHorseMaxStamina();
#endif


Bul:

horse_rider.cpp:
Genişlet Daralt Kopyala
    CHorseRider* hr = info->hr;

Bu satırın HEMEN ALTINA ekle:

horse_rider.cpp :
Genişlet Daralt Kopyala
#ifdef HEXE_HORSE_NO_DECAY
    hr->m_eventStaminaConsume = NULL;
    return 0;
#endif


Bul:

horse_rider.cpp:
Genişlet Daralt Kopyala
void CHorseRider::StartStaminaConsumeEvent()
{

Fonksiyonun açılış süslü parantezinin HEMEN ALTINA ekle:

horse_rider.cpp :
Genişlet Daralt Kopyala
#ifdef HEXE_HORSE_NO_DECAY
    return;
#endif


Bul:

horse_rider.cpp:
Genişlet Daralt Kopyala
void CHorseRider::CheckHorseHealthDropTime(bool bSend)
{

Açılış süslü parantezinin HEMEN ALTINA ekle:

horse_rider.cpp :
Genişlet Daralt Kopyala
#ifdef HEXE_HORSE_NO_DECAY
    (void)bSend;
    return;
#endif




Bul ffonksiyon baslangıcı:

horse_rider.cpp:
Genişlet Daralt Kopyala
void CHorseRider::UpdateHorseHealth(int iHealth, bool bSend)
{

Bu fonksiyonun gövdesini (ilk { ile son } arası) aşağıdaki ile TAMAMEN değiştir:

horse_rider.cpp :
Genişlet Daralt Kopyala
void CHorseRider::UpdateHorseHealth(int iHealth, bool bSend)
{
    int level = GetHorseLevel();

    m_Horse.sHealth = MINMAX(0, m_Horse.sHealth + iHealth, c_aHorseStat[level].iMaxHealth);

#ifdef HEXE_HORSE_NO_DECAY
    if (level && m_Horse.sHealth == 0)
    {
        m_Horse.sHealth = c_aHorseStat[level].iMaxHealth;
        if (bSend)
            SendHorseInfo();
        return;
    }
#else
    if (level && m_Horse.sHealth == 0)
        HorseDie();
#endif

    if (bSend)
        SendHorseInfo();
}


Bul:
horse_rider.cpp:
Genişlet Daralt Kopyala
void CHorseRider::HorseDie()
{

Bu fonksiyonun gövdesini aşağıdaki ile TAMAMEN değiştir.
(HEXE açıkken sadece return; altta ikinci bir #ifdef EKLEME ölü kod olur.)

horse_rider.cpp:
Genişlet Daralt Kopyala
void CHorseRider::HorseDie()
{
#ifdef HEXE_HORSE_NO_DECAY
    return;
#endif
    sys_log(0, "HORSE DIE %p %p", get_pointer(m_eventStaminaRegen), get_pointer(m_eventStaminaConsume));
    UpdateHorseStamina(-m_Horse.sStamina);
    event_cancel(&m_eventStaminaRegen);
    event_cancel(&m_eventStaminaConsume);
}

bitti, at ölmez acıkmaz can düşmez eski haline dönmek istersen defineyi yorum satırına al
 
commondefines.h gir uygun yere ekle ;
commondefines.h:
Genişlet Daralt Kopyala
// At: zamanla can/stamina düşmesin; can 0 -> max
#define HEXE_HORSE_NO_DECAY
horse_rider.cpp gir
Bul:

horse_rider.cpp:
Genişlet Daralt Kopyala
void CHorseRider::SetHorseData(const THorseInfo& crInfo)
{
    m_Horse = crInfo;

Bu satırın HEMEN ALTINA ekle:

horse_rider.cpp :
Genişlet Daralt Kopyala
#ifdef HEXE_HORSE_NO_DECAY
    const int lv = GetHorseLevel();
    if (lv > 0)
    {
        m_Horse.sStamina = c_aHorseStat[lv].iMaxStamina;
        if (m_Horse.sHealth <= 0)
            m_Horse.sHealth = c_aHorseStat[lv].iMaxHealth;
    }
#endif


Bul:

horse_rider.cpp:
Genişlet Daralt Kopyala
    if (GetHorseStamina() == 0 && IsHorseRiding())

Bu satırın ÜSTÜNE ekle:

horse_rider.cpp :
Genişlet Daralt Kopyala
#ifdef HEXE_HORSE_NO_DECAY
    if (level > 0)
        m_Horse.sStamina = c_aHorseStat[level].iMaxStamina;
#endif

Bul:

horse_rider.cpp:
Genişlet Daralt Kopyala
    if (GetHorseLevel() <= 0)
        return false;

Bu return’un HEMEN ALTINA ekle:

horse_rider.cpp :
Genişlet Daralt Kopyala
#ifdef HEXE_HORSE_NO_DECAY
    m_Horse.sStamina = GetHorseMaxStamina();
#endif


Bul:

horse_rider.cpp:
Genişlet Daralt Kopyala
    CHorseRider* hr = info->hr;

Bu satırın HEMEN ALTINA ekle:

horse_rider.cpp :
Genişlet Daralt Kopyala
#ifdef HEXE_HORSE_NO_DECAY
    hr->m_eventStaminaConsume = NULL;
    return 0;
#endif


Bul:

horse_rider.cpp:
Genişlet Daralt Kopyala
void CHorseRider::StartStaminaConsumeEvent()
{

Fonksiyonun açılış süslü parantezinin HEMEN ALTINA ekle:

horse_rider.cpp :
Genişlet Daralt Kopyala
#ifdef HEXE_HORSE_NO_DECAY
    return;
#endif


Bul:

horse_rider.cpp:
Genişlet Daralt Kopyala
void CHorseRider::CheckHorseHealthDropTime(bool bSend)
{

Açılış süslü parantezinin HEMEN ALTINA ekle:

horse_rider.cpp :
Genişlet Daralt Kopyala
#ifdef HEXE_HORSE_NO_DECAY
    (void)bSend;
    return;
#endif




Bul ffonksiyon baslangıcı:

horse_rider.cpp:
Genişlet Daralt Kopyala
void CHorseRider::UpdateHorseHealth(int iHealth, bool bSend)
{

Bu fonksiyonun gövdesini (ilk { ile son } arası) aşağıdaki ile TAMAMEN değiştir:

horse_rider.cpp :
Genişlet Daralt Kopyala
void CHorseRider::UpdateHorseHealth(int iHealth, bool bSend)
{
    int level = GetHorseLevel();

    m_Horse.sHealth = MINMAX(0, m_Horse.sHealth + iHealth, c_aHorseStat[level].iMaxHealth);

#ifdef HEXE_HORSE_NO_DECAY
    if (level && m_Horse.sHealth == 0)
    {
        m_Horse.sHealth = c_aHorseStat[level].iMaxHealth;
        if (bSend)
            SendHorseInfo();
        return;
    }
#else
    if (level && m_Horse.sHealth == 0)
        HorseDie();
#endif

    if (bSend)
        SendHorseInfo();
}


Bul:
horse_rider.cpp:
Genişlet Daralt Kopyala
void CHorseRider::HorseDie()
{

Bu fonksiyonun gövdesini aşağıdaki ile TAMAMEN değiştir.
(HEXE açıkken sadece return; altta ikinci bir #ifdef EKLEME ölü kod olur.)

horse_rider.cpp:
Genişlet Daralt Kopyala
void CHorseRider::HorseDie()
{
#ifdef HEXE_HORSE_NO_DECAY
    return;
#endif
    sys_log(0, "HORSE DIE %p %p", get_pointer(m_eventStaminaRegen), get_pointer(m_eventStaminaConsume));
    UpdateHorseStamina(-m_Horse.sStamina);
    event_cancel(&m_eventStaminaRegen);
    event_cancel(&m_eventStaminaConsume);
}

bitti, at ölmez acıkmaz can düşmez eski haline dönmek istersen defineyi yorum satırına al
Koca yürekli Hexe
 
Geri
Üst