diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 2eba5ff2..be9c3909 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -2085,12 +2085,16 @@ void Room::RandRemoveAndroid() { Human* hum = nullptr; if (!hum) { - for (auto& pair : human_hash_) { - if (pair.second->IsAndroid() && pair.second->team_uuid.empty()) { - hum = pair.second; - break; - } - } + TraverseHumanList + ( + [&hum] (Human* ele_hum) -> bool + { + if (ele_hum->IsAndroid() && ele_hum->team_uuid.empty()) { + hum = ele_hum; + return false; + } + return true; + }); } if (hum) { if (hum->team_id != 0) {