Çözüldü At Çağırırken Syserr

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ı.

LethalStrikeR

Yardımsever Üye
Yardımsever Üye
Üye
Mesaj
688
Çözümler
41
Beğeni
163
Puan
609
Merhaba;

At çağırmaya çalışınca böyle bir syserr alıyorum. Ve at gelmiyor.

Kod:
SYSERR: Feb 27 18:25:54 :: RunState: LUA_ERROR: [string "horse_summon"]:8: attempt to call field `get_mount_vnum' (a nil value)
SYSERR: Feb 27 18:25:54 :: WriteRunningStateToSyserr: LUA_ERROR: quest horse_summon.start leave
 
Çözüm
questlua_pc.cpp dosyasını açın ve get_mount_vnum bunu aratın.
Bulduğunuz bloğu aşağıdaki ile karşılaştırın.

C++:
    ALUA(pc_get_mount_vnum)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

        lua_pushnumber(L, ch && ch->IsRiding() ? ch->GetMountVnum() : 0);
        return 1;
    }

Eğer böyle bir blok hiç yoksa ALUA olarak veya int olarak eklemeyi deneyin.

Daha sonra aynı cpp dosyası içinde şunu aratın:

C++:
void RegisterPCFunctionTable()

Bunun altında şöyle bir şey var mı kontrol edin. Eğer yoksa aralara bir yerlere ekleyin:

C++:
{"get_mount_vnum", pc_get_mount_vnum},
questlua_pc.cpp dosyasını açın ve get_mount_vnum bunu aratın.
Bulduğunuz bloğu aşağıdaki ile karşılaştırın.

C++:
    ALUA(pc_get_mount_vnum)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

        lua_pushnumber(L, ch && ch->IsRiding() ? ch->GetMountVnum() : 0);
        return 1;
    }

Eğer böyle bir blok hiç yoksa ALUA olarak veya int olarak eklemeyi deneyin.

Daha sonra aynı cpp dosyası içinde şunu aratın:

C++:
void RegisterPCFunctionTable()

Bunun altında şöyle bir şey var mı kontrol edin. Eğer yoksa aralara bir yerlere ekleyin:

C++:
{"get_mount_vnum", pc_get_mount_vnum},
 
Çözüm
Rica ederim, çözüldüğüne göre kapatıyorum.
İyi çalışmalar.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst