Closed DykeRz closed 3 months ago
Эта ошибка значит что в какой-то момент на бота был надет предмет, в данном случае оружие, который позже по неизвестным причинам исчез из базы данных (item_instance
).
Последние коммиты для логирования направлены на то чтобы иметь документальную базу происходящего.
"Исправить" её можно, удалив предмет из соотвутствующего пересечения в таблице characters_npcbot
, слот 0 это equipMhEx.
Если в дальнейшем подобная ошибка снова вылезет её можно репортнуть, приложив дамп таблицы characters_npcbot_logs
.
https://gist.github.com/DykeRz/83b5b278fdb846339494fb06c4a6885b
Вот репорт
Их очень много оказалось)
https://gist.github.com/DykeRz/83b5b278fdb846339494fb06c4a6885b
Вот репорт
Их очень много оказалось)
а, я понял, я ничего не исправлял, только применил все коммиты и запустил сервер, и я не знаю как это исправить
вот лог Server.log
"Исправить" её можно, удалив предмет из соотвутствующего пересечения в таблице
characters_npcbot
, слот 0 это equipMhEx.
UPDATE characters_npcbot SET equipmhex = 0 WHERE equipmhex != 0 AND equipmhex NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equipohex = 0 WHERE equipohex != 0 AND equipohex NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equiprhex = 0 WHERE equiprhex != 0 AND equiprhex NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equiphead = 0 WHERE equiphead != 0 AND equiphead NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equipshoulders = 0 WHERE equipshoulders != 0 AND equipshoulders NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equipchest = 0 WHERE equipchest != 0 AND equipchest NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equipwaist = 0 WHERE equipwaist != 0 AND equipwaist NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equiplegs = 0 WHERE equiplegs != 0 AND equiplegs NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equipfeet = 0 WHERE equipfeet != 0 AND equipfeet NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equipwrist = 0 WHERE equipwrist != 0 AND equipwrist NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equiphands = 0 WHERE equiphands != 0 AND equiphands NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equipback = 0 WHERE equipback != 0 AND equipback NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equipbody = 0 WHERE equipbody != 0 AND equipbody NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equipfinger1 = 0 WHERE equipfinger1 != 0 AND equipfinger1 NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equipfinger2 = 0 WHERE equipfinger2 != 0 AND equipfinger2 NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equiptrinket1 = 0 WHERE equiptrinket1 != 0 AND equiptrinket1 NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equiptrinket2 = 0 WHERE equiptrinket2 != 0 AND equiptrinket2 NOT IN (SELECT guid FROM item_instance);
UPDATE characters_npcbot SET equipneck = 0 WHERE equipneck != 0 AND equipneck NOT IN (SELECT guid FROM item_instance);
Затем запускаешь сервер и
.npcbot log clear
Теперь лог будет содержать информацию о получении и отъёме предметов. После этого можно начать отслеживать указанные ошибки. Если / когда появятся снова - тогда кидаешь лог сервера (или копипастишь ошибки) и прикладываешь дамп таблицы логов. Всё.
DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE
Description
Привет, у меня вопрос по поводу коммита "NPCBots: Report assigned bot items if not found in DB"
Теперь в логе сервера пишет: InitEquips: bot 80640 Bromosi has item guid 2486445 assigned to slot 0 which doesn't exist in DB!
Что это значит, ошибка ли это или нет и как исправить?
TrinityCore or AzerothCore
TrinityCore
Core rev. hash/commit
TrinityCore rev. d2417736cfd2 2024-05-29 12:49:14 +0300 (main branch) (Unix, RelWithDebInfo, Static) (worldserver-daemon)
Operating system
debian 12