Если в конфиге поставить LogFilter_DbStrictedCheck = 0, то получаем много ошибок вида
Код:
... Table `gossip_menu` contain unused (in creature or GO or menu options) menu id XXX.
При этом большинство из этих menu_id есть в базе.
Проблема в том, что не учитываются коды меню из таблицы `creature_template`.
Код:
diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp
index 75c7d30..629b253 100644
--- a/src/game/ObjectMgr.cpp
+++ b/src/game/ObjectMgr.cpp
@@ -8698,7 +8698,10 @@ void ObjectMgr::LoadGossipMenuItems(std::set<uint32>& gossipScriptSet)
for(uint32 i = 1; i < sCreatureStorage.MaxEntry; ++i)
if (CreatureInfo const* cInfo = sCreatureStorage.LookupEntry<CreatureInfo>(i))
if (cInfo->GossipMenuId)
+ {
+ menu_ids.erase(cInfo->GossipMenuId);
menu2CInfoMap.insert(Menu2CInfoMap::value_type(cInfo->GossipMenuId, cInfo));
+ }
do
{
Результаты проверки:
1. Чистое ядро: в логе 1414 номеров menu_id, совпадения с таблицей `creature_template` есть.
2. С патчем: в логе 111 номеров menu_id. В таблицах `creature_template`, `gameobject_template` и `gossip_menu_option` совпадений нет.