Çözüldü Game Build Warningleri #2

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

aykutleee

Üye
Üye
Mesaj
108
Çözümler
5
Beğeni
25
Puan
454
Ticaret Puanı
0
Merhabalar. Filesimdeki game buildde ortaya çıkan warnınglerin devamı bu şekilde. Başka fileslerle kıyasladım ancak ekstra fonksiyonlar ekli olduğu için 1-1 bulamadım. Gelen hatalar bu şekilde ;

############################
Warning - 1
############################

Adsız.png


C++:
    m_pOwner->BuffOnAttr_RemoveBuffsFromItem(this);

    m_pOwner->SetWear(GetCell() - INVENTORY_MAX_NUM, NULL);

    DWORD dwImmuneFlag = 0;
    LPITEM item = NULL;

    for (int i = 0; i < WEAR_MAX_NUM; ++i)
    {
        if (item=m_pOwner->GetWear(i))   /* 1204. satır */
        {
            if (item->GetImmuneFlag() != 0)
                SET_BIT(dwImmuneFlag, item->GetImmuneFlag());
            if (item->GetAttributeCount() > 0)
            {
                if (item->HasAttr(APPLY_IMMUNE_STUN))
                    SET_BIT(dwImmuneFlag, IMMUNE_STUN);
                if (item->HasAttr(APPLY_IMMUNE_SLOW))
                    SET_BIT(dwImmuneFlag, IMMUNE_SLOW);
                if (item->HasAttr(APPLY_IMMUNE_FALL))
                    SET_BIT(dwImmuneFlag, IMMUNE_FALL);
            }
        }
    }

############################
Warning - 2 (Binek yanında gezme sistemi ancak 2 filesle karşılaştırdım halde aynısı olmasına rağmen bu şekilde hata veriyor)
############################

Adsız1.png


item..cpp 1654. satır
C++:
    if (current > item->GetSocket(0))
    {
        switch (item->GetVnum())
        {
            if (item->IsNewMountItem())    /*1654.satır*/
            {
                if (item->GetSocket(2) != 0)
                    item->ClearMountAttributeAndAffect();
            }
            break;
        }

        ITEM_MANAGER::instance().RemoveItem(item, "REAL_TIME_EXPIRE");

        return 0;
    }

item.cpp de :IsNewMountItem()

C++:
bool CItem::IsNewMountItem()
{
    switch(GetVnum())
    {
        case 76000: case 76001: case 76002: case 76003:
        case 76004: case 76005: case 76006: case 76007:
        case 76008: case 76009: case 76010: case 76011:
        case 76012: case 76013: case 76014:
            return true;
    }
    return false;
}

item.h
C++:
        bool        IsNewMountItem();

############################
Warning - 3
############################

Adsız2.png


C++:
    if (pinfo->type == CHAT_TYPE_SHOUT)
    {

        const int SHOUT_LIMIT_LEVEL = bagirmalevelimin;

        if (ch->GetLevel() < SHOUT_LIMIT_LEVEL)//BlackDragonx61
        {
            ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("bagirmalevel"), SHOUT_LIMIT_LEVEL);
            return (iExtraLen);

        }

        ch->SetLastShoutPulse(thecore_heart->pulse);

        char chatbuf_global[CHAT_MAX_LEN + 1];

#if defined(ENABLE_GLOBAL_CHAT) // FLAG IMAGES SYSTEM    
        
        const char* kingdoms[3] = {"[1]   ","[2]   ","[3]   "};
        
        if(((ch->GetEmpire() > 0) && (ch->GetEmpire() == 1 or ch->GetEmpire() == 2 or ch->GetEmpire() == 3))) {
/*883*/        int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s%s",kingdoms[ch->GetEmpire()-1], chatbuf);    
        }
            
        else {
/*887*/        int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s", chatbuf);
        }
#endif
 
Çözüm
Bir önceki konunuzda 1. warningin neden kaynaklandığını ve çözümünü göstermiştim onu o şekilde düzenleyin.

2. Sorun:
C++:
    if (current > item->GetSocket(0))
    {
        if (item->IsNewMountItem())
        {
            if (item->GetSocket(2) != 0)
                item->ClearMountAttributeAndAffect();
        }
        ITEM_MANAGER::instance().RemoveItem(item, "REAL_TIME_EXPIRE");

        return 0;
    }

3. Sorun:
len_global tanımlanmış fakat hiçbir yerde kullanılmamış. Yani kontrolü tamamen kaldırabilirsiniz.
Bir önceki konunuzda 1. warningin neden kaynaklandığını ve çözümünü göstermiştim onu o şekilde düzenleyin.

2. Sorun:
C++:
    if (current > item->GetSocket(0))
    {
        if (item->IsNewMountItem())
        {
            if (item->GetSocket(2) != 0)
                item->ClearMountAttributeAndAffect();
        }
        ITEM_MANAGER::instance().RemoveItem(item, "REAL_TIME_EXPIRE");

        return 0;
    }

3. Sorun:
len_global tanımlanmış fakat hiçbir yerde kullanılmamış. Yani kontrolü tamamen kaldırabilirsiniz.
 
Son düzenleme:
Çözüm
Bir önceki konunuzda 1. warningin neden kaynaklandığını ve çözümünü göstermiştim onu o şekilde düzenleyin.

2. Sorun:
C++:
    if (current > item->GetSocket(0))
    {
        if (item->IsNewMountItem())
        {
            if (item->GetSocket(2) != 0)
                item->ClearMountAttributeAndAffect();
        }
        ITEM_MANAGER::instance().RemoveItem(item, "REAL_TIME_EXPIRE");

        return 0;
    }

3. Sorun:
len_global tanımlanmış fakat hiçbir yerde kullanılmamış. Yani kontrolü tamamen kaldırabilirsiniz.

Öncelikle teşekkür ederim.

Warning2 çözüldü
Warning3 de buradaki defined(ENABLE_GLOBAL_CHAT) blogunu kaldırdım hata tabiki hata da kalktı :) oyuna girince sorun yaratıyor mu bakacam
Warning1 de ise

C++:
    for (int i = 0; i < WEAR_MAX_NUM; ++i)
    {
        if (item=m_pOwner->GetWear(i))
        {
            if (item->GetImmuneFlag() != 0)
            {
                SET_BIT(dwImmuneFlag, item->GetImmuneFlag());
            }
            if (item->GetAttributeCount() > 0)
            {
                if (item->HasAttr(APPLY_IMMUNE_STUN))
                {
                    SET_BIT(dwImmuneFlag, IMMUNE_STUN);
                }
                if (item->HasAttr(APPLY_IMMUNE_SLOW))
                {
                    SET_BIT(dwImmuneFlag, IMMUNE_SLOW);
                }
                if (item->HasAttr(APPLY_IMMUNE_FALL))
                {
                    SET_BIT(dwImmuneFlag, IMMUNE_FALL);
                }
            }
        }
    }

Dediğiniz gibi süslü parantez yaptım ama gene aynı hatayı verdi
 
Öncelikle teşekkür ederim.

Warning2 çözüldü
Warning3 de buradaki defined(ENABLE_GLOBAL_CHAT) blogunu kaldırdım hata tabiki hata da kalktı :) oyuna girince sorun yaratıyor mu bakacam
Warning1 de ise

C++:
    for (int i = 0; i < WEAR_MAX_NUM; ++i)
    {
        if (item=m_pOwner->GetWear(i))
        {
            if (item->GetImmuneFlag() != 0)
            {
                SET_BIT(dwImmuneFlag, item->GetImmuneFlag());
            }
            if (item->GetAttributeCount() > 0)
            {
                if (item->HasAttr(APPLY_IMMUNE_STUN))
                {
                    SET_BIT(dwImmuneFlag, IMMUNE_STUN);
                }
                if (item->HasAttr(APPLY_IMMUNE_SLOW))
                {
                    SET_BIT(dwImmuneFlag, IMMUNE_SLOW);
                }
                if (item->HasAttr(APPLY_IMMUNE_FALL))
                {
                    SET_BIT(dwImmuneFlag, IMMUNE_FALL);
                }
            }
        }
    }

Dediğiniz gibi süslü parantez yaptım ama gene aynı hatayı verdi

C++:
    m_pOwner->BuffOnAttr_RemoveBuffsFromItem(this);

    m_pOwner->SetWear(GetCell() - INVENTORY_MAX_NUM, NULL);

    DWORD dwImmuneFlag = 0;
    LPITEM item = NULL;

    for (int i = 0; i < WEAR_MAX_NUM; ++i)
    {
        if ((item=m_pOwner->GetWear(i)))   /* 1204. satır */
        {
            if (item->GetImmuneFlag() != 0)
                SET_BIT(dwImmuneFlag, item->GetImmuneFlag());
            if (item->GetAttributeCount() > 0)
            {
                if (item->HasAttr(APPLY_IMMUNE_STUN))
                    SET_BIT(dwImmuneFlag, IMMUNE_STUN);
                if (item->HasAttr(APPLY_IMMUNE_SLOW))
                    SET_BIT(dwImmuneFlag, IMMUNE_SLOW);
                if (item->HasAttr(APPLY_IMMUNE_FALL))
                    SET_BIT(dwImmuneFlag, IMMUNE_FALL);
            }
        }
    }
 
C++:
    m_pOwner->BuffOnAttr_RemoveBuffsFromItem(this);

    m_pOwner->SetWear(GetCell() - INVENTORY_MAX_NUM, NULL);

    DWORD dwImmuneFlag = 0;
    LPITEM item = NULL;

    for (int i = 0; i < WEAR_MAX_NUM; ++i)
    {
        if ((item=m_pOwner->GetWear(i)))   /* 1204. satır */
        {
            if (item->GetImmuneFlag() != 0)
                SET_BIT(dwImmuneFlag, item->GetImmuneFlag());
            if (item->GetAttributeCount() > 0)
            {
                if (item->HasAttr(APPLY_IMMUNE_STUN))
                    SET_BIT(dwImmuneFlag, IMMUNE_STUN);
                if (item->HasAttr(APPLY_IMMUNE_SLOW))
                    SET_BIT(dwImmuneFlag, IMMUNE_SLOW);
                if (item->HasAttr(APPLY_IMMUNE_FALL))
                    SET_BIT(dwImmuneFlag, IMMUNE_FALL);
            }
        }
    }
Teşekkür ederim bu şekilde çözüldü. warning3 te blogu kaldırdığım zaman oyunda bağırma kısmında yazılan yazılar gözükmedi ancak sistem ekli bir altyapı kullanmıştım global chatin 2014 daki versiyonu eklenmiş onu yenileyeyim yani kısacası sorunlar çözüldü (y)
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst