Yardım dungeon_get_map_index: no dungeon !! dungeon_set_flag: no dungeon !!!

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

texas1343

MT Üye
MT Üye
Mesaj
645
Çözümler
28
Beğeni
655
Puan
799
Ticaret Puanı
0
Kod:
Genişlet Daralt Kopyala
ungeon_get_map_index: no dungeon !!!
ungeon_set_flag: no dungeon !!!
ungeon_set_flag: no dungeon !!!
ungeon_set_flag: no dungeon !!!
ungeon_set_flag: no dungeon !!!
ungeon_set_flag: no dungeon !!!
ungeon_set_flag: no dungeon !!!
ungeon_set_flag: no dungeon !!!

iyi aksamlar ne yapsam çözemedim bu map sorunsuz ekledim quest te çalşıoyor içeride giriyor ama bu sysler veriyor nasıl çözebilriz?
 
Kod:
Genişlet Daralt Kopyala
ungeon_get_map_index: no dungeon !!!
ungeon_set_flag: no dungeon !!!
ungeon_set_flag: no dungeon !!!
ungeon_set_flag: no dungeon !!!
ungeon_set_flag: no dungeon !!!
ungeon_set_flag: no dungeon !!!
ungeon_set_flag: no dungeon !!!
ungeon_set_flag: no dungeon !!!

iyi aksamlar ne yapsam çözemedim bu map sorunsuz ekledim quest te çalşıoyor içeride giriyor ama bu sysler veriyor nasıl çözebilriz?
böyle bir çözüm buldum deneyebilir misin
questlua_dungeon.cpp:
Genişlet Daralt Kopyala
questlua_dungeon.cpp aç ve arat

int dungeon_set_flag(lua_State* L)

arat değiştir

    int dungeon_set_flag(lua_State* L)
    {
        if (!lua_isstring(L,1) || !lua_isnumber(L,2))
        {
            sys_err("wrong set flag");
        }
        else
        {
            CQuestManager& q = CQuestManager::instance();
            LPDUNGEON pDungeon = q.GetCurrentDungeon();

            if (pDungeon)
            {
                const char* sz = lua_tostring(L,1);
                int value = int(lua_tonumber(L, 2));
                pDungeon->SetFlag(sz, value);
            }
            else
            {
                return 0;
            }
        }
        return 0;
    }

sonra bunu arat

int dungeon_get_flag(lua_State* L)

ve değiştir

    int dungeon_get_flag(lua_State* L)
    {
        if (!lua_isstring(L,1))
        {
            sys_err("wrong get flag");
        }

        CQuestManager& q = CQuestManager::instance();
        LPDUNGEON pDungeon = q.GetCurrentDungeon();

        if (pDungeon)
        {
            const char* sz = lua_tostring(L,1);
            lua_pushnumber(L, pDungeon->GetFlag(sz));
        }
        else
        {
            return 0;
        }

        return 1;
    }
 
böyle bir çözüm buldum deneyebilir misin
questlua_dungeon.cpp:
Genişlet Daralt Kopyala
questlua_dungeon.cpp aç ve arat

int dungeon_set_flag(lua_State* L)

arat değiştir

    int dungeon_set_flag(lua_State* L)
    {
        if (!lua_isstring(L,1) || !lua_isnumber(L,2))
        {
            sys_err("wrong set flag");
        }
        else
        {
            CQuestManager& q = CQuestManager::instance();
            LPDUNGEON pDungeon = q.GetCurrentDungeon();

            if (pDungeon)
            {
                const char* sz = lua_tostring(L,1);
                int value = int(lua_tonumber(L, 2));
                pDungeon->SetFlag(sz, value);
            }
            else
            {
                return 0;
            }
        }
        return 0;
    }

sonra bunu arat

int dungeon_get_flag(lua_State* L)

ve değiştir

    int dungeon_get_flag(lua_State* L)
    {
        if (!lua_isstring(L,1))
        {
            sys_err("wrong get flag");
        }

        CQuestManager& q = CQuestManager::instance();
        LPDUNGEON pDungeon = q.GetCurrentDungeon();

        if (pDungeon)
        {
            const char* sz = lua_tostring(L,1);
            lua_pushnumber(L, pDungeon->GetFlag(sz));
        }
        else
        {
            return 0;
        }

        return 1;
    }
sadece bu syser kaldı

dungeon_get_map_index: no dungeon !!!


fakat burada yapılan işlem syser vermesin iptal etmek olmuyor mu
 
evet ama bu işlem syser kapatmak için olmuyor mu?

Kod:
Genişlet Daralt Kopyala
sys_err("no dungeon !!!");
lua_pushnumber(L, 0);

bu ikisi iptal ediliyor
 
Geri
Üst