diff --git a/server/gameserver/roomobstacle.cc b/server/gameserver/roomobstacle.cc index a0e29b8..ff54bbe 100644 --- a/server/gameserver/roomobstacle.cc +++ b/server/gameserver/roomobstacle.cc @@ -131,6 +131,10 @@ void RoomObstacle::ActiveTimerFunc() void RoomObstacle::UpdateTimerFunc() { + if (!grid_list_) { + grid_list_ = new std::set(); + room->grid_service->GetAllCellsByXy(room, GetPos().x, GetPos().y, *grid_list_); + } if (grid_list_ && master.Get() && !IsDead(room)) { std::set human_list; room->grid_service->TraverseAllLayerHumanList