Disallow object:remove() if the object is a player
Rebased by Zeno- (conflict in lua_api.txt)master
parent
cd4324e5a8
commit
38cf080a9c
|
@ -2294,6 +2294,7 @@ This is basically a reference to a C++ `ServerActiveObject`
|
||||||
|
|
||||||
#### Methods
|
#### Methods
|
||||||
* `remove()`: remove object (after returning from Lua)
|
* `remove()`: remove object (after returning from Lua)
|
||||||
|
* Note: Doesn't work on players, use minetest.kick_player instead
|
||||||
* `getpos()`: returns `{x=num, y=num, z=num}`
|
* `getpos()`: returns `{x=num, y=num, z=num}`
|
||||||
* `setpos(pos)`; `pos`=`{x=num, y=num, z=num}`
|
* `setpos(pos)`; `pos`=`{x=num, y=num, z=num}`
|
||||||
* `moveto(pos, continuous=false)`: interpolated move
|
* `moveto(pos, continuous=false)`: interpolated move
|
||||||
|
|
|
@ -131,6 +131,7 @@ int ObjectRef::l_remove(lua_State *L)
|
||||||
ObjectRef *ref = checkobject(L, 1);
|
ObjectRef *ref = checkobject(L, 1);
|
||||||
ServerActiveObject *co = getobject(ref);
|
ServerActiveObject *co = getobject(ref);
|
||||||
if(co == NULL) return 0;
|
if(co == NULL) return 0;
|
||||||
|
if(co->getType() == ACTIVEOBJECT_TYPE_PLAYER) return 0;
|
||||||
verbosestream<<"ObjectRef::l_remove(): id="<<co->getId()<<std::endl;
|
verbosestream<<"ObjectRef::l_remove(): id="<<co->getId()<<std::endl;
|
||||||
co->m_removed = true;
|
co->m_removed = true;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue