From 7030f9118d2ead1be0c391a383183f7704b8f276 Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Pueyo Date: Sun, 6 Jan 2013 02:28:58 +0100 Subject: [PATCH] Fixes #31 Server crash in health regeneration --- src/API/PlayerAPI.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/API/PlayerAPI.php b/src/API/PlayerAPI.php index 3982eb345..3848438e9 100644 --- a/src/API/PlayerAPI.php +++ b/src/API/PlayerAPI.php @@ -42,10 +42,12 @@ class PlayerAPI{ public function handle($data, $event){ switch($event){ case "server.regeneration": - $result = $this->server->query("SELECT ip,port FROM players WHERE EID = (SELECT EID FROM entities WHERE health < 20);"); + $result = $this->server->query("SELECT EID FROM players WHERE EID = (SELECT EID FROM entities WHERE health < 20);"); if($result !== true and $result !== false){ while(false !== ($player = $result->fetchArray())){ - $player->entity->setHealth(min(20, $player->entity->getHealth() + $data), "regeneration"); + if(($player = $this->server->api->player->getByEID($player["EID"])) !== false){ + $player->entity->setHealth(min(20, $player->entity->getHealth() + $data), "regeneration"); + } } } break;