Просмотр полной версии : Неиспользованные записи в locales_*
Обнаружил довольно много неиспользованных записей.
SELECT * FROM locales_creature WHERE entry NOT IN (SELECT entry FROM creature_template)
SELECT * FROM locales_gameobject WHERE entry NOT IN (SELECT entry FROM gameobject_template)
SELECT * FROM locales_item WHERE entry NOT IN (SELECT entry FROM item_template)
SELECT * FROM locales_npc_text WHERE entry NOT IN (SELECT ID FROM npc_text)
SELECT * FROM locales_page_text WHERE entry NOT IN (SELECT entry FROM page_text)
SELECT * FROM locales_points_of_interest WHERE entry NOT IN (SELECT entry FROM points_of_interest)
SELECT * FROM locales_gossip_menu_option
LEFT JOIN gossip_menu_option ON
locales_gossip_menu_option.menu_id = gossip_menu_option.menu_id AND locales_gossip_menu_option.id = gossip_menu_option.id
WHERE gossip_menu_option.menu_id IS NULL
Решайте сами, что с ними делать (удалить или найти соответствие).
Vladimir
25.10.2010, 19:05
Хм... разве они у нас не детектируются O.o
Просто у нас идут в основном русскоязычные данные (кеши, сниффы), вот и бывает что локаль особенно в текстовых данных опережает "оригинальные".
Vladimir
26.10.2010, 09:28
Нет - я имел ввиду при загрузке ядра. И они действительтно не детектируются...
Попытаюсь поправить...
Vladimir
09.11.2010, 00:45
Просьба протестировать: https://gist.github.com/668321
Данные проверки должны детектировать неиспользуемые данные в locales.
NeatElves
09.11.2010, 01:11
А можно еще помечтать ? Если, например у нпц - поле госсипменю не пустое - проверять, есть ли такое меню с текстом и смотреть далее по флагу, если 2, есть ли опция меню квестера и т.д. ??))
NeatElves
SELECT * FROM locales_gossip_menu_option
LEFT JOIN gossip_menu_option ON
locales_gossip_menu_option.menu_id = gossip_menu_option.menu_id AND locales_gossip_menu_option.id = gossip_menu_option.id
WHERE gossip_menu_option.menu_id IS NULL
5 штук в фулле осталось, "пристрой" их куда нибудь.
И останутся только эти:
SELECT * FROM locales_npc_text WHERE entry NOT IN (SELECT ID FROM npc_text)
SELECT * FROM locales_page_text WHERE entry NOT IN (SELECT entry FROM page_text)
Но тут ситуация понятна:
Просто у нас идут в основном русскоязычные данные (кеши, сниффы), вот и бывает что локаль особенно в текстовых данных опережает "оригинальные".
NeatElves
09.11.2010, 17:06
Я проверил, вот лог.))
2010-11-09 16:04:35 Table `locales_gameobject` has data for nonexistent gameobject entry 0, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8877, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7457, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8494, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8654, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8889, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10262, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8257, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10331, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10638, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 13662, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 11070, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 11304, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 11428, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 12603, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 12306, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 9380, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 9381, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 9224, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8436, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8655, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7913, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7915, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7910, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7921, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7919, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7908, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7906, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7867, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7871, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7877, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7926, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7928, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8528, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 9519, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7775, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 12508, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 13730, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 13727, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 13721, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 13718, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 13724, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 13723, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 13717, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 12130, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 12628, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 12089, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 9660, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 13481, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 13136, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8095, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10941, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10942, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10943, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10944, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10945, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10946, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 13944, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 14121, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 14122, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8244, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8252, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8296, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8295, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8293, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8255, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8247, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8256, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8336, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10367, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 9984, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 9396, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10564, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 6739, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 12522, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 11479, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 11478, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 11069, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10998, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 11014, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 11024, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7821, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8831, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10123, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 12071, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7672, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 7938, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 0, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 11870, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8322, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 12558, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 5091, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 5349, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8121, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 8122, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 9819, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 9821, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 9822, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 9823, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 9824, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 9825, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10120, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 10366, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 11093, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 13467, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 14852, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 15075, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 15213, skipped.
2010-11-09 16:04:37 Table `locales_npc_text` has data for nonexistent gossip text entry 15239, skipped.
2010-11-09 16:04:37 Table `locales_page_text` has data for nonexistent page text entry 3048, skipped.
2010-11-09 16:04:37 Table `locales_page_text` has data for nonexistent page text entry 3350, skipped.
2010-11-09 16:04:37 Table `locales_page_text` has data for nonexistent page text entry 3351, skipped.
2010-11-09 16:04:37 Table `locales_page_text` has data for nonexistent page text entry 3352, skipped.
2010-11-09 16:04:37 Table `locales_page_text` has data for nonexistent page text entry 3455, skipped.
2010-11-09 16:04:37 Table `locales_page_text` has data for nonexistent page text entry 3456, skipped.
2010-11-09 16:04:37 Table `locales_page_text` has data for nonexistent page text entry 3457, skipped.
2010-11-09 16:04:37 Table `locales_page_text` has data for nonexistent page text entry 3458, skipped.
2010-11-09 16:04:37 Table `locales_page_text` has data for nonexistent page text entry 3459, skipped.
2010-11-09 16:04:37 Table `locales_page_text` has data for nonexistent page text entry 3460, skipped.
2010-11-09 16:04:37 Table `locales_page_text` has data for nonexistent page text entry 3488, skipped.
2010-11-09 16:04:37 Table `locales_page_text` has data for nonexistent page text entry 3489, skipped.
2010-11-09 16:04:38 Table `locales_gossip_menu_option` has data for nonexistent gossip menu 11345 item 0, skipped.
2010-11-09 16:04:38 Table `locales_gossip_menu_option` has data for nonexistent gossip menu 11345 item 1, skipped.
DELETE FROM `locales_gameobject` WHERE `entry` = 0;
Vladimir
09.11.2010, 19:52
Я могу сделать вывод только в отладочном режиме теста DB: при выключеном LogFilter_DbStrictedCheck (по умолчанию включен и отфильтровывает вывод).
Но как я понимаю записи корректно сообщают о реальных случаях использования для несуществующих базовых данных.
Тогда я добавляю с LogFilter_DbStrictedCheck - данные не будет загружаться но ошибка будет только при включенном выводе (в смысле выключенном фильтре)
NeatElves
09.11.2010, 20:02
Да, наверное так и надо, только при фильтре.)
Vladimir
10.11.2010, 01:02
А можно еще помечтать ? Если, например у нпц - поле госсипменю не пустое - проверять, есть ли такое меню с текстом и смотреть далее по флагу, если 2, есть ли опция меню квестера и т.д. ??))
Частично добавлено в [10712] (проверка menu ids)
Про флаги не понял.
зы: Он помоему про проверку "npcflag" у моба на соответствие этому (флаг есть, а есть ли запись соотв. в госсипе):
(0,0,0,'GOSSIP_OPTION_QUESTGIVER',2,2,0,0,0,0,0,NU LL,0,0,0,0,0,0,0,0,0),
(0,1,1,'GOSSIP_OPTION_VENDOR',3,128,0,0,0,0,0,NULL ,0,0,0,0,0,0,0,0,0),
(0,2,2,'GOSSIP_OPTION_TAXIVENDOR',4,8192,0,0,0,0,0 ,NULL,0,0,0,0,0,0,0,0,0),
(0,3,3,'GOSSIP_OPTION_TRAINER',5,16,0,0,0,0,0,NULL ,0,0,0,0,0,0,0,0,0),
(0,4,4,'GOSSIP_OPTION_SPIRITHEALER',6,16384,0,0,0, 0,0,NULL,0,0,0,0,0,0,0,0,0),
(0,5,4,'GOSSIP_OPTION_SPIRITGUIDE',7,32768,0,0,0,0 ,0,NULL,0,0,0,0,0,0,0,0,0),
(0,6,5,'GOSSIP_OPTION_INNKEEPER',8,65536,0,0,0,0,0 ,NULL,0,0,0,0,0,0,0,0,0),
(0,7,6,'GOSSIP_OPTION_BANKER',9,131072,0,0,0,0,0,N ULL,0,0,0,0,0,0,0,0,0),
.... и т.д.
Vladimir
10.11.2010, 06:44
Так это стандартные, как их проверишь - они как раз выбираются по флагу.
Не, я не про стандартные (их привел для примера), я про те что имеют связь с "gossip_menu_id", конкретно каждого моба.
Например моб имеет gossip_menu_id=ХХХ и является квест-гивером (npcflag=2), а записи в госсипах для него нет:
(ХХХ,0,0,'GOSSIP_OPTION_QUESTGIVER',2,2,0,0,0,0 ,0,NU LL,0,0,0,0,0,0,0,0,0),
Получается моб есть, квест есть, а не дает, он вот это имел ввиду.
Vladimir
11.11.2010, 18:15
В [10720] добавлена проверка - только для меню явно использующихся для creatures.
NeatElves
15.11.2010, 21:16
Питомцам таланты сбрасывают дрессировщики, бывшие их учителя - пункт меню выдает ошибку в логе, что нет такого флага, а если ставим им флаг 16 - в игре пишет - список тренера пустой.)
(0,15,2,'GOSSIP_OPTION_UNLEARNPETSKILLS',17,0x0000 10,0,0,0,0,0,NULL,0,0,0,0,0,0,0,0,0);
Vladimir
22.11.2010, 00:55
В [10769] поправлено - в смысле - разрешено иметь для пет-тренеров пустой список при наличии флагов тренеров.
vBulletin® v3.8.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot