diff options
author | Perttu Ahola <celeron55@gmail.com> | 2011-01-15 03:28:19 +0200 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2011-01-15 03:28:19 +0200 |
commit | 3fb0d2fb65c968f91c333a1d31d2d7a1a02ab7d1 (patch) | |
tree | e6e30b538fe9d3e779122111c39a56b727114e0d /src/environment.cpp | |
parent | cfaa15895ad73ce3cef174f770d877059e9708e0 (diff) | |
download | minetest-3fb0d2fb65c968f91c333a1d31d2d7a1a02ab7d1.tar.gz minetest-3fb0d2fb65c968f91c333a1d31d2d7a1a02ab7d1.tar.bz2 minetest-3fb0d2fb65c968f91c333a1d31d2d7a1a02ab7d1.zip |
Players are left on server while server is running. No passwords yet.
Diffstat (limited to 'src/environment.cpp')
-rw-r--r-- | src/environment.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/environment.cpp b/src/environment.cpp index c43525c37..906bab611 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -243,11 +243,44 @@ Player * Environment::getPlayer(u16 peer_id) return NULL; } +Player * Environment::getPlayer(const char *name) +{ + for(core::list<Player*>::Iterator i = m_players.begin(); + i != m_players.end(); i++) + { + Player *player = *i; + if(strcmp(player->getName(), name) == 0) + return player; + } + return NULL; +} + core::list<Player*> Environment::getPlayers() { return m_players; } +core::list<Player*> Environment::getPlayers(bool ignore_disconnected) +{ + core::list<Player*> newlist; + for(core::list<Player*>::Iterator + i = m_players.begin(); + i != m_players.end(); i++) + { + Player *player = *i; + + if(ignore_disconnected) + { + // Ignore disconnected players + if(player->peer_id == 0) + continue; + } + + newlist.push_back(player); + } + return newlist; +} + void Environment::printPlayers(std::ostream &o) { o<<"Players in environment:"<<std::endl; |