Helper for simple lua function calls.

This commit is contained in:
Steve Checkoway
2006-08-18 00:04:08 +00:00
parent 33881b9b1f
commit a7487918b1
2 changed files with 24 additions and 0 deletions
+20
View File
@@ -504,6 +504,26 @@ bool LuaHelpers::RunScriptFile( const RString &sFile )
return true;
}
bool LuaHelpers::Call( Lua *L, const RString &sFunction, int iArgs, int iResults )
{
LuaHelpers::Push( sFunction, L );
lua_gettable( L, LUA_GLOBALSINDEX );
if( lua_isnil(L, -1) )
{
lua_pop( L, 1 );
Dialog::OK( ssprintf("Unknown Lua function \"%s\".", sFunction.c_str()), "LUA_ERROR" );
return false;
}
if( !lua_pcall(L, iArgs, iResults, 0) )
return true;
RString sError;
LuaHelpers::PopStack( sError, L );
Dialog::OK( ssprintf("Lua runtime error calling functin \"%s\": %s", sFunction.c_str(), sError.c_str()), "LUA_ERROR" );
return false;
}
bool LuaHelpers::RunScript( Lua *L, const RString &sScript, const RString &sName, RString &sError, int iReturnValues )
{
// load string