numan187 1
numan187
Bodyguardd 1
Bodyguardd
Vahsi Uzman 1
Vahsi Uzman
Reklam vermek için turkmmo@gmail.com

MaviAyGames | CAffectFlagContainer::IsSet(uPos=64>64 Syserr Fix

Bu hata AFFECT_NUM 64 değeri aşıldığında karşılaşabileceğiniz bir hata NUM değerini arttırsanızda bu hata kalkmaz çünkü diğer dosyalarda 64 olarak ayarlanmış şekilde duruyor bunu nasıl düzenleyebilirsiniz bu konuda onu gösteriyorum

Syserri veren kod bloğu şu şekilde
AffectFlagContainer.cpp;
Kod:
bool CAffectFlagContainer::IsSet(UINT uPos) const
{
    if (uPos/8>=BYTE_SIZE)
    {
        TraceError("CAffectFlagContainer::IsSet(uPos=%d>%d", uPos, BYTE_SIZE*8);
        return false;
    }

    const BYTE& c_rElement=m_aElement[uPos/8];

    BYTE bMask=BYTE(1<<(uPos&7));
    if (c_rElement&bMask)
        return true;

    return false;
}

Burada uPos değeri var olan AFFECT_NUM'dan büyük ise veya eşit ise bu hatayı verdirtecek bir kod mevcut BYTE_SIZE değeri şuanda 8'e eşit

Kod:
        enum
        {
            BIT_SIZE = 64,
            BYTE_SIZE = BIT_SIZE/8+(1*((BIT_SIZE&7) ? 1 : 0)),
        };


Burada BYTE_SIZE değerini yükseltecek herhangi bir değişiklik yapmanız gerekiyor isterseniz BIT_SIZE değerini yükseltin. İsterseniz oradaki matematik işlemini değiştirin

Yapmanız gereken sadece
Instancebase.h içindeki AFFECT_NUM = xx, değerini +1 geçecek şekilde ayarlamak
AFFECT_NUM = 99 ise BYTE_SIZE = BIT_SIZE/8+(1*(4*23), Şeklinde yapabilirsiniz size kalmış birşey matematik kısmını istediğiniz gibi değiştirebilirsiniz.
 
Diğer forumlardan çalıp paylaşıyorsun bari alıntı yaz :D İşine gelmeyincede yorumu sil
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst