diff --git a/server/gameserver/mapservice.cc b/server/gameserver/mapservice.cc index 01b10f6..dc735a9 100644 --- a/server/gameserver/mapservice.cc +++ b/server/gameserver/mapservice.cc @@ -193,6 +193,9 @@ void MapService::GetColliders(Room* room, } struct CellNode *node, *tmp; list_for_each_entry_safe(node, tmp, head, entry) { + if (!node->collider->active) { + continue; + } if (node->collider->tag != 0 && !a8::HasBitFlag(node->collider->tag, kHalfWallTag)) { continue; } diff --git a/server/gameserver/obstacle.cc b/server/gameserver/obstacle.cc index aa0430e..e8dcc78 100644 --- a/server/gameserver/obstacle.cc +++ b/server/gameserver/obstacle.cc @@ -115,6 +115,12 @@ void Obstacle::RecalcSelfCollider() if (IsHalfWallCollider()) { a8::SetBitFlag(collider->tag, kHalfWallTag); } +#if 1 + //长宽为0的物件 + if (meta->i->width() <= 0 && meta->i->height() <= 0) { + collider->active = false; + } +#endif } }