void ClientInterface::UpdatePlayerList() { if (m_env) { std::vector<u16> clients = getClientIDs(); m_clients_names.clear(); if(!clients.empty()) infostream<<"Players:"<<std::endl; for (u16 i : clients) { RemotePlayer *player = m_env->getPlayer(i); if (player == NULL) continue; infostream << "* " << player->getName() << "\t"; { MutexAutoLock clientslock(m_clients_mutex); RemoteClient* client = lockedGetClientNoEx(i); if (client) client->PrintInfo(infostream); } m_clients_names.emplace_back(player->getName()); } } }
// set_inventory_formspec(self, formspec) int ObjectRef::l_set_inventory_formspec(lua_State *L) { NO_MAP_LOCK_REQUIRED; ObjectRef *ref = checkobject(L, 1); RemotePlayer *player = getplayer(ref); if (player == NULL) return 0; std::string formspec = luaL_checkstring(L, 2); player->inventory_formspec = formspec; getServer(L)->reportInventoryFormspecModified(player->getName()); lua_pushboolean(L, true); return 1; }
// get_player_name(self) int ObjectRef::l_get_player_name(lua_State *L) { NO_MAP_LOCK_REQUIRED; ObjectRef *ref = checkobject(L, 1); RemotePlayer *player = getplayer(ref); if (player == NULL) { lua_pushlstring(L, "", 0); return 1; } // Do it lua_pushstring(L, player->getName()); return 1; }