За это отвечает функция _ERRORMESSAGE, которая выводит сообщения типа (Script) ERROR
errormsg = _ERRORMESSAGE function _ERRORMESSAGE(string) if string ~= "Гитлер капут" then errormsg(string) end end
Это если выводимая строчка одна и та же, иначе надо приравнять _ERRORMESSAGE = parse('') на некоторое время.
function DoNotShowErrorMessage() local err = _ERRORMESSAGE _ERRORMESSAGE = parse('') -- или _ERRORMESSAGE = function()end sleep(1) _ERRORMESSAGE = err end
А если ошибка создаётся игрой, типа: "attempt to call a nil value" И строчку надо убрать лишь в одном случае. _ERRORMESSAGE = "attempt to call a nil value" ?
А если ошибка создаётся игрой, типа: "attempt to call a nil value" И строчку надо убрать лишь в одном случае. _ERRORMESSAGE = "attempt to call a nil value" ?
Тогда пойдёт первый вариант.
errormsg = _ERRORMESSAGE function _ERRORMESSAGE(string) if string ~= "attempt to call a nil value" then errormsg(string) end end
Такая ошибка могла вылезти при передаче в функцию сообщения (...Box) c аргументом. Например MessageBox(path..'a.txt','yes("'..hero..'")'). В этом случае нужны другие финты ушами, а именно return parse('') в конце этой функции (yes).
Такая ошибка могла вылезти при передаче в функцию сообщения (...Box) c аргументом. Например MessageBox(path..'a.txt','yes("'..hero..'")'). В этом случае нужны другие финты ушами, а именно return parse('') в конце этой функции (yes).
Создается карта про эльфов: Воссоединение - готовность 71%
SpectralСтатистика
Зарегистрирован:
Сообщения:156
Нужно создать скрипт, где герой в начале боя колдует на вражеских существ заклинания, но если у врага иммунитет, скрипт выдает ошибку. Пробовал поставить перехватчик, но после этого игра виснет и я не могу завершить бой. Что делать?
Создается карта про эльфов: Воссоединение - готовность 71%
Вместо UnitCastAimedSpell(unit,spell,target) поставьте startThread(UnitCastAimedSpell,unit,spell,target). Ошибка останется, но не будет влиять на дальнейшую работу скрипта.