aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/script/lua_api/l_env.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/script/lua_api/l_env.cpp b/src/script/lua_api/l_env.cpp
index 6e67e547b..a175569d8 100644
--- a/src/script/lua_api/l_env.cpp
+++ b/src/script/lua_api/l_env.cpp
@@ -667,15 +667,11 @@ int ModApiEnvMod::l_get_player_by_name(lua_State *L)
// Do it
const char *name = luaL_checkstring(L, 1);
RemotePlayer *player = env->getPlayer(name);
- if (player == NULL){
- lua_pushnil(L);
- return 1;
- }
+ if (!player || player->getPeerId() == PEER_ID_INEXISTENT)
+ return 0;
PlayerSAO *sao = player->getPlayerSAO();
- if(sao == NULL){
- lua_pushnil(L);
- return 1;
- }
+ if (!sao || sao->isGone())
+ return 0;
// Put player on stack
getScriptApiBase(L)->objectrefGetOrCreate(L, sao);
return 1;