diff options
Diffstat (limited to 'src/cat/LuaScriptInterface.cpp')
| -rw-r--r-- | src/cat/LuaScriptInterface.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/cat/LuaScriptInterface.cpp b/src/cat/LuaScriptInterface.cpp index 9d563a8..4561d5d 100644 --- a/src/cat/LuaScriptInterface.cpp +++ b/src/cat/LuaScriptInterface.cpp @@ -936,10 +936,20 @@ int luatpt_test(lua_State* l) int luatpt_getelement(lua_State *l) { int t; - char * name = (char*)luaL_optstring(l, 1, "dust"); - if ((t = luacon_ci->GetParticleType(name))==-1) - return luaL_error(l,"Unrecognised element '%s'", name); - lua_pushinteger(l, t); + if(lua_isnumber(l, 1)) + { + t = luaL_optint(l, 1, 1); + if (t<0 || t>=PT_NUM) + return luaL_error(l, "Unrecognised element number '%d'", t); + lua_pushstring(l, luacon_sim->elements[t].Name); + } + else + { + char* name = (char*)luaL_optstring(l, 1, "dust"); + if ((t = luacon_ci->GetParticleType(name))==-1) + return luaL_error(l, "Unrecognised element '%s'", name); + lua_pushinteger(l, t); + } return 1; } |
