diff --git a/server/gameserver/mt/Map.cc b/server/gameserver/mt/Map.cc index 63fb05e3..67351151 100644 --- a/server/gameserver/mt/Map.cc +++ b/server/gameserver/mt/Map.cc @@ -238,6 +238,22 @@ namespace mt _world_objects.push_back(obj); } } + { + auto group = root.At("group"); + for (int i = 0; i < group->Size(); ++i) { + auto group_obj = group->At(i); + for (int ii = 0; ii < group_obj->Size(); ++ii) { + std::vector keys; + group_obj->GetKeys(keys); + for (auto key : keys) { + int ikey = a8::XValue(key); + if (_group_world_objects.find(ikey) != _group_world_objects.end()) { + abort(); + } + } + } + } + } } } diff --git a/server/gameserver/mt/Map.h b/server/gameserver/mt/Map.h index 6fd48606..41cacf54 100644 --- a/server/gameserver/mt/Map.h +++ b/server/gameserver/mt/Map.h @@ -34,6 +34,7 @@ namespace mt std::map car_num_limit_; std::vector safearea_list; std::vector> _world_objects; + std::map>> _group_world_objects; MapCollider* collider_info = nullptr; std::string RandTemplate() const;