Loading lua files directly from ILuaInterface is shitty and has a lot of bullshit you don't need to deal with. There's a much better method.
Get your lua state however you normally would.
Code:
lua_State* state = g_Lua->GetLuaState();
Then make sure nothing is on the stack so you don't fuck anything up. Using loadstring and loadfile only puts the chunk on the stack, then you have to manually call it using call or pcall.
Note: pcall is extremely recommended. The difference is pcall is just protected call and will stop if there is an error.
Code:
if (!lua_gettop( state ))
{
luaL_loadstring( state, "print(\"My message\")" );
lua_pcall( state, 0, 0, 0 );
luaL_loadfile( state, "file.lua" );
lua_pcall( state, 0, 0, 0 );
}
It pops the chunk off the stack, so you don't need to worry with that.
Enjoy having tons of swag.