|
---|
|
Другое / Other Другие ошибки базы. Если сообщение не подходит под ошибки заселения, баги предметов, или отсутствие рабочих скриптов - в этот раздел. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
25.10.2010, 18:15 | #1 |
MaNGOS Dev
Регистрация: 10.11.2009
Сообщений: 69
Сказал(а) спасибо: 6
Поблагодарили 48 раз(а) в 35 сообщениях
|
Неиспользованные записи в 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 Последний раз редактировалось zergtmn; 25.10.2010 в 18:36. |
25.10.2010, 19:05 | #2 |
MaNGOS Dev
Регистрация: 20.11.2009
Сообщений: 25
Сказал(а) спасибо: 17
Поблагодарили 93 раз(а) в 35 сообщениях
|
Хм... разве они у нас не детектируются O.o
|
26.10.2010, 07:35 | #3 |
YTDB dev
Регистрация: 05.11.2009
Адрес: Thunder Bluff
Сообщений: 3,625
Сказал(а) спасибо: 7,839
Поблагодарили 3,255 раз(а) в 498 сообщениях
|
Просто у нас идут в основном русскоязычные данные (кеши, сниффы), вот и бывает что локаль особенно в текстовых данных опережает "оригинальные".
|
09.11.2010, 00:45 | #5 |
MaNGOS Dev
Регистрация: 20.11.2009
Сообщений: 25
Сказал(а) спасибо: 17
Поблагодарили 93 раз(а) в 35 сообщениях
|
Просьба протестировать: https://gist.github.com/668321
Данные проверки должны детектировать неиспользуемые данные в locales. |
09.11.2010, 01:11 | #6 |
YTDB dev
Регистрация: 05.11.2009
Сообщений: 5,920
Сказал(а) спасибо: 91
Поблагодарили 5,383 раз(а) в 4,847 сообщениях
|
А можно еще помечтать ? Если, например у нпц - поле госсипменю не пустое - проверять, есть ли такое меню с текстом и смотреть далее по флагу, если 2, есть ли опция меню квестера и т.д. ??))
Последний раз редактировалось NeatElves; 09.11.2010 в 01:13. |
09.11.2010, 07:39 | #7 |
YTDB dev
Регистрация: 05.11.2009
Адрес: Thunder Bluff
Сообщений: 3,625
Сказал(а) спасибо: 7,839
Поблагодарили 3,255 раз(а) в 498 сообщениях
|
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 |
09.11.2010, 07:41 | #8 | ||
YTDB dev
Регистрация: 05.11.2009
Адрес: Thunder Bluff
Сообщений: 3,625
Сказал(а) спасибо: 7,839
Поблагодарили 3,255 раз(а) в 498 сообщениях
|
И останутся только эти:
Цитата:
Цитата:
|
||
09.11.2010, 19:52 | #10 |
MaNGOS Dev
Регистрация: 20.11.2009
Сообщений: 25
Сказал(а) спасибо: 17
Поблагодарили 93 раз(а) в 35 сообщениях
|
Я могу сделать вывод только в отладочном режиме теста DB: при выключеном LogFilter_DbStrictedCheck (по умолчанию включен и отфильтровывает вывод).
Но как я понимаю записи корректно сообщают о реальных случаях использования для несуществующих базовых данных. Тогда я добавляю с LogFilter_DbStrictedCheck - данные не будет загружаться но ошибка будет только при включенном выводе (в смысле выключенном фильтре) |
09.11.2010, 20:02 | #11 |
YTDB dev
Регистрация: 05.11.2009
Сообщений: 5,920
Сказал(а) спасибо: 91
Поблагодарили 5,383 раз(а) в 4,847 сообщениях
|
Да, наверное так и надо, только при фильтре.)
|
10.11.2010, 01:02 | #12 |
MaNGOS Dev
Регистрация: 20.11.2009
Сообщений: 25
Сказал(а) спасибо: 17
Поблагодарили 93 раз(а) в 35 сообщениях
|
|
10.11.2010, 06:35 | #13 | |
YTDB dev
Регистрация: 05.11.2009
Адрес: Thunder Bluff
Сообщений: 3,625
Сказал(а) спасибо: 7,839
Поблагодарили 3,255 раз(а) в 498 сообщениях
|
зы: Он помоему про проверку "npcflag" у моба на соответствие этому (флаг есть, а есть ли запись соотв. в госсипе):
Цитата:
|
|
10.11.2010, 06:44 | #14 |
MaNGOS Dev
Регистрация: 20.11.2009
Сообщений: 25
Сказал(а) спасибо: 17
Поблагодарили 93 раз(а) в 35 сообщениях
|
Так это стандартные, как их проверишь - они как раз выбираются по флагу.
|
10.11.2010, 07:36 | #15 |
YTDB dev
Регистрация: 05.11.2009
Адрес: Thunder Bluff
Сообщений: 3,625
Сказал(а) спасибо: 7,839
Поблагодарили 3,255 раз(а) в 498 сообщениях
|
Не, я не про стандартные (их привел для примера), я про те что имеют связь с "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), |
Пользователь сказал cпасибо: | Vladimir (10.11.2010) |
15.11.2010, 21:16 | #17 |
YTDB dev
Регистрация: 05.11.2009
Сообщений: 5,920
Сказал(а) спасибо: 91
Поблагодарили 5,383 раз(а) в 4,847 сообщениях
|
Питомцам таланты сбрасывают дрессировщики, бывшие их учителя - пункт меню выдает ошибку в логе, что нет такого флага, а если ставим им флаг 16 - в игре пишет - список тренера пустой.)
Код:
(0,15,2,'GOSSIP_OPTION_UNLEARNPETSKILLS',17,0x000010,0,0,0,0,0,NULL,0,0,0,0,0,0,0,0,0); |
Пользователь сказал cпасибо: | Vladimir (22.11.2010) |
22.11.2010, 00:55 | #18 |
MaNGOS Dev
Регистрация: 20.11.2009
Сообщений: 25
Сказал(а) спасибо: 17
Поблагодарили 93 раз(а) в 35 сообщениях
|
В [10769] поправлено - в смысле - разрешено иметь для пет-тренеров пустой список при наличии флагов тренеров.
|