Yardım Derlemede Scope Hatası

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

TonyMontana

Üye
Üye
Mesaj
112
Çözümler
1
Beğeni
31
Puan
459
Ticaret Puanı
0
Merhabalar, silah evrim sistemini ekliyorum fakat char_battle.cpp dosyasında eklediğim kod bloğunda bir hata var şöyle bir bildiri veriyor bunun anlamı nedir?

Scope tahminim TAB hatası ama bir çok kez denememe rağmen bulamadım yardımcı olursanız çok sevinirim.

1703964609589.png


Eklemeye çalıştığım kod bloğu:
    if (pkKiller && pkKiller->IsPC() && GetMobRank() == MOB_RANK_BOSS)
    {
        LPITEM weapon = pkKiller->GetWear(WEAR_WEAPON);
        if (weapon && IS_SET(weapon->GetFlag(), ITEM_FLAG_RARE_ABILITY))
        {
            int raritypoint = GetLevel()/10;
            if (weapon->GetAttributeValue(6) < ITEM_RARITY_MAX)
                weapon->SetForceAttribute(6, 0, weapon->GetAttributeValue(6)+raritypoint);
        }
    }
    else if (pkKiller && pkKiller->IsPC() && IsStone())
    {
        LPITEM weapon = pkKiller->GetWear(WEAR_WEAPON);
        if (weapon && IS_SET(weapon->GetFlag(), ITEM_FLAG_RARE_ABILITY))
        {
            int raritypoint = 1;
            if (weapon->GetAttributeValue(6) < ITEM_RARITY_MAX)
                weapon->SetForceAttribute(6, 0, weapon->GetAttributeValue(6)+raritypoint);
        }
    }
 
C++ işlem satırlarında Tab denilen girintileri umursamıyor, Python ile karıştırıyorsun. Scope kavramı c++'a özgü değil, scope demek gözlemlenebilir alan demek. Global scope ve local scope diye 2'ye ayrılır.
Global scope, local scope dışındaki tüm alanlar demek. C++ özelinde süslü parantezlerin ( {} ) içerisi local scope'ları ifade ederken, bu parantezlerin dışındaki her yer global scope'tur. Senin yaptığın hataya gelirsek, IS_SET fonksiyonuna ITEM_FLAG_RARE_ABILITY argümanını veriyorsun, derleyici ilgili scope'ta bu enum'ı arıyor ama bulamıyor. İlgili sistemin src/common/ altındaki dosyalarda (length.h ya da item_length.h) bu flag'ların tanımlanmış olması gerekiyor. Ardından o dosyayı bu dosyaya include etmen gerek.
 
C++ işlem satırlarında Tab denilen girintileri umursamıyor, Python ile karıştırıyorsun. Scope kavramı c++'a özgü değil, scope demek gözlemlenebilir alan demek. Global scope ve local scope diye 2'ye ayrılır.
Global scope, local scope dışındaki tüm alanlar demek. C++ özelinde süslü parantezlerin ( {} ) içerisi local scope'ları ifade ederken, bu parantezlerin dışındaki her yer global scope'tur. Senin yaptığın hataya gelirsek, IS_SET fonksiyonuna ITEM_FLAG_RARE_ABILITY argümanını veriyorsun, derleyici ilgili scope'ta bu enum'ı arıyor ama bulamıyor. İlgili sistemin src/common/ altındaki dosyalarda (length.h ya da item_length.h) bu flag'ların tanımlanmış olması gerekiyor. Ardından o dosyayı bu dosyaya include etmen gerek.
böyle mükemmel bir anlatım ile daha önce kesinlikle karşılaşmadım ellerinize sağlık üstadım
 
Geri
Üst