Включите журнал#
Параметры запуска для диагностики скриптов:
-debug scripts -logfile debuglog.txtЖурнал создаётся в пользовательской папке игры. Ищите его в профиле, из которого действительно запущен процесс, особенно при нескольких тестовых профилях.
Для своего MD-кода добавьте отличимую метку:
<debug_text text="'WIKI: entered Read handler'" />В Lua UI для ошибки можно использовать имеющийся в игре DebugError:
if type(RegisterEvent) ~= "function" then
DebugError("[WIKI] UI event API unavailable")
return
endЧетыре разных отказа#
| Этап | Что проверять |
|---|---|
| Импорт | Корректность XML, схема, имя файла, зависимость |
| Событие | Имена screen/control, момент регистрации callback |
| Исполнение | Типы параметров, существование объекта, разрешения |
| Результат | Реальное значение в игре, объект, счёт или очередь |
Не добавляйте общий «успех» сразу после отправки события. Назовите метку точнее: sent, received, validated, applied, readback_ok.
Собирайте один полный снимок#
Сначала считайте все нужные факты, затем постройте отчёт о различиях. Если первая ошибка прерывает сбор, вы теряете сведения об остальных объектах и рискуете повторять дорогой сценарий без необходимости.
В изучаемой сборке UI стандартная библиотека Lua debug отсутствовала. Не делайте диагностический инструмент зависимым от неё без проверки. Для callbacks карты помогли короткие ограниченные метки входа и аргументов.