function minetest.get_connected_players()
local temp_table = {}
for index, value in pairs(player_list) do
- table.insert(temp_table, value)
+ if value:is_player_connected() then
+ table.insert(temp_table, value)
+ end
end
return temp_table
end
return 1;
}
+// is_player_connected(self)
+int ObjectRef::l_is_player_connected(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ Player *player = getplayer(ref);
+ lua_pushboolean(L, (player != NULL && player->peer_id != 0));
+ return 1;
+}
+
// get_player_name(self)
int ObjectRef::l_get_player_name(lua_State *L)
{
luamethod(ObjectRef, get_luaentity),
// Player-only
luamethod(ObjectRef, is_player),
+ luamethod(ObjectRef, is_player_connected),
luamethod(ObjectRef, get_player_name),
luamethod(ObjectRef, get_look_dir),
luamethod(ObjectRef, get_look_pitch),
// is_player(self)
static int l_is_player(lua_State *L);
+ // is_player_connected(self)
+ static int l_is_player_connected(lua_State *L);
+
// get_player_name(self)
static int l_get_player_name(lua_State *L);