1

1 週間前に LuaBridge で最初の小さなテストを行ったところ、スクリプトから int を取得することができました。

今、このコードを削除し、ゲーム エンジンに Lua スクリプトを含めようとしましたが、機能しなくなりました。私はこれで基本的なコードに戻ろうとしました:

#include <iostream>

#include "lua5.2/lua.hpp"
#include "LuaBridge/LuaBridge.h"

using namespace luabridge;


int main()
{
    lua_State* L;
    L = luaL_newstate();

    if(!luaL_loadfile(L, "../../script.lua"))
        std::cout << "failed loading" << std::endl;

    LuaRef s = getGlobal(L, "nmbr");
    int luaInt = s.cast<int>();
    std::cout << luaInt << std::endl;

    return 0;
}

このスクリプトで

nmbr = 30

そして、それは私に与えます:

パニック: Lua API へのセルで保護されていないエラーが発生しました (不正な引数 #2 (数値が予期され、nil が得られました))
中止 (コアダンプ)

スクリプトから文字列または関数を取得しようとしたときも同じで、これで何が間違っているのかわかりません。

あなたの答えをありがとう:)

4

2 に答える 2