PDA

Просмотр полной версии : Неиспользованные записи в locales_*


zergtmn
25.10.2010, 18:15
Обнаружил довольно много неиспользованных записей.
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

YuruY
26.10.2010, 07:35
Просто у нас идут в основном русскоязычные данные (кеши, сниффы), вот и бывает что локаль особенно в текстовых данных опережает "оригинальные".

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, есть ли опция меню квестера и т.д. ??))

YuruY
09.11.2010, 07:39
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 штук в фулле осталось, "пристрой" их куда нибудь.

YuruY
09.11.2010, 07:41
И останутся только эти:
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)

Про флаги не понял.

YuruY
10.11.2010, 06:35
зы: Он помоему про проверку "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
Так это стандартные, как их проверишь - они как раз выбираются по флагу.

YuruY
10.11.2010, 07:36
Не, я не про стандартные (их привел для примера), я про те что имеют связь с "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] поправлено - в смысле - разрешено иметь для пет-тренеров пустой список при наличии флагов тренеров.