Многие игроки World of Warcraft жалуются на появление ошибок LUA при запуске игры. В сообщении таких ошибок обычно указывается, что некоторые из аддонов работают не совсем корректно. Ошибки не препятствуют игровому процессу, однако их постоянное появление в чат-боксе может изрядно раздражать. Windows 7, 8 и 10 — от этих ошибок страдают пользователи всех современных версий ОС Майкрософт.
Содержание
- Что такое LUA?
- Как исправить LUA-ошибку в World of Warcraft
- Метод №1 Перезагрузка игрового интерфейса WoW
- Метод №2 Полный сброс интерфейса WoW и удаление аддон-менеджера
- Метод №3 Сброс переменных кастомной консоли
- Метод №4 Удаление аддона Cartographer (или любого другого устаревшего аддона)
- Метод №5 Отключение сообщений ошибок LUA
Что такое LUA?
Прежде чем мы двинемся дальше, важно понять, что такое LUA и с чем его едят.
LUA — это скриптовый язык программирования, который привносит модулярность в самые разные приложения посредством эмбеддинга. LUA — излюбленный язык моддерского сообщества WoW, а все потому, что он относительно прост в освоении и с его помощью можно разрабатывать действительно впечатляющие модификации.
Ознакомившись с проблемой поближе, мы пришли к выводу, что LUA-ошибки в World of Warcraft могут возникать по следующему ряду причин:
- Глитч/баг в работе аддона/файла интерфейса. Зачастую ошибки LUA возникают в результате некорректно работающих аддонов или файлов, относящихся к игровому интерфейсу WoW. Происходит это из-за «кривого» или неактуального кода модификаций. Начиная от перезагрузки интерфейса и заканчивая обновлением версии мода — решения самые разные.
- «Битые» файлы аддон-менеджера. Если элементарная перезагрузка файлов не помогла, то можно попробовать осуществить полный сброс интерфейса WoW.
- Остаточные переменные кастомной консоли. LUA-ошибку можно ожидать в том случае, если игрок запускает WoW с переменными кастомной консоли, относящимися с аддону, который давно был удален. Чтобы разрешить ситуацию, достаточно избавиться от этих переменных.
- В WoW установлены устаревшие или более не поддерживаемые аддоны. Тут все довольно просто: в актуальной версии WoW установлены модификации, которые давно не обновлялись своими разработчиками или которые более не поддерживаются текущей версией игры. Либо обновляем аддоны, либо полностью удаляем их.
Как исправить LUA-ошибку в World of Warcraft
Метод №1 Перезагрузка игрового интерфейса WoW
Если ошибка возникла в результате бага или ситуации, когда не все аддоны загрузились вместе с WoW, вы должны легко избавиться от нее, выполнив перезагрузку интерфейса посредством консольной команды. Впрочем, стоит сразу предупредить, что ошибка практически наверняка является симптомом какой-то иной проблемы, например, устаревшего аддона, который отказывается нормально работать с текущей сборкой WoW.
Итак, чтобы перезагрузить интерфейс WoW, вам нужно просто открыть игровой чат (чат-бокс) и выполнить в нем следующую команду:
/reload
Заметка: этот метод не работает на самых последних версиях WoW, однако он должен сработать на «ванильной» версии.
Метод №2 Полный сброс интерфейса WoW и удаление аддон-менеджера
Если элементарная перезагрузка интерфейса не устранила ошибку LUA, то мы рекомендуем заняться полным сбросом интерфейса WoW, чтобы избавиться от всего ненужного кода, который мог остаться в вашей игре от ранее удаленного аддона или аддон-менеджера.
Также очень важно избавиться от используемого вами в данный момент (!) аддон-менеджера и файлов аддонов, расположенных в трех основных папках WoW.
- Полностью закройте WoW и ее лаунчер (обязательно проверьте, не осталось ли процессов игры в диспетчере задач);
- нажмите Win+R и выполните appwiz.cpl;
- найдите в списке установленных программ аддон-менеджер WoW;
- кликните ПКМ на менеджер и выберите «Удалить»;
- выполняйте все инструкции перед вами, чтобы избавиться от аддон-менеджера;
- перезагрузите компьютер;
- перейдите в корневую папку World of Warcraft;
- переименуйте следующие три папки:
- Cache→Cache.Damaged
- Interface→Interface.Damaged
- WTF→WTF.Damaged
- закройте все открытые окна и запустите WoW.
Проверьте, перестала ли появляться ошибка LUA или нет.
Метод №3 Сброс переменных кастомной консоли
Перезагрузка/сброс основного интерфейса не произвел желаемого эффекта? Тогда вы должны попробовать осуществить сброс всех переменных кастомной консоли WoW. Подобная процедура сработает только в том случае, если вы ранее устанавливали и играли с аддонами, которые имели параметры, потенциально входящие друг с другом в конфликт.
Вот как производиться сброс переменных консоли WoW:
- запустите WoW и откройте чат-бокс, когда это будет возможно;
- выполните в чат-боксе следующие команды:
- /console Cvar_reset
- /console cvar_defaut
Заметка: игнорируйте любые ошибки о правах после ввода этих команд — все нормально.
- перезапустите WoW и проверьте, исчезла ли ошибка LUA.
Метод №4 Удаление аддона Cartographer (или любого другого устаревшего аддона)
Оказывается, LUA-ошибки можно получить в том случае, если вы запускаете WoW с устаревшими аддонами, которые больше не могут работать с текущей версией игры. Вам необходимо избавиться от всех устаревших аддонов, после чего снова зайти в игру и проверить, была ли решена проблема. Сразу хочется отметить, что каждый аддон удаляется по разному, а поэтому мы не сможем помочь вам с процессом деинсталляции. Интересный факт: зачастую ошибки LUA возникают из-за аддона Cartographer.
Метод №5 Отключение сообщений ошибок LUA
Если у вас не получается избавиться от надоедливых LUA-ошибок (или вы не можете определить причину их появления), то мы рекомендуем не заморачиваться и попросту отключить сообщения о них. Делается это следующим образом:
- запустите WoW и откройте чат-бокс, когда появится такая возможность;
- пропишите в чат-боксе команду /console scriptErrors 0 и нажмите Enter;
- перезапустите WoW.
После этого вы гарантировано перестанете видеть ошибки LUA. Выполните команду /console scriptErrors 1, чтобы снова активировать функцию отображения сообщений об ошибках.
The best way would be to fix the warning, but if that is not possile, you can ignore them.
I found no way of ignoring all warnings with one flag, but you can just list them all and ignore them with this in your config file:
ignore = {
"011", -- A syntax error.
"021", -- An invalid inline option.
"022", -- An unpaired inline push directive.
"023", -- An unpaired inline pop directive.
"111", -- Setting an undefined global variable.
"112", -- Mutating an undefined global variable.
"113", -- Accessing an undefined global variable.
"121", -- Setting a read-only global variable.
"122", -- Setting a read-only field of a global variable.
"131", -- Unused implicitly defined global variable.
"142", -- Setting an undefined field of a global variable.
"143", -- Accessing an undefined field of a global variable.
"211", -- Unused local variable.
"212", -- Unused argument.
"213", -- Unused loop variable.
"221", -- Local variable is accessed but never set.
"231", -- Local variable is set but never accessed.
"232", -- An argument is set but never accessed.
"233", -- Loop variable is set but never accessed.
"241", -- Local variable is mutated but never accessed.
"311", -- Value assigned to a local variable is unused.
"312", -- Value of an argument is unused.
"313", -- Value of a loop variable is unused.
"314", -- Value of a field in a table literal is unused.
"321", -- Accessing uninitialized local variable.
"331", -- Value assigned to a local variable is mutated but never accessed.
"341", -- Mutating uninitialized local variable.
"411", -- Redefining a local variable.
"412", -- Redefining an argument.
"413", -- Redefining a loop variable.
"421", -- Shadowing a local variable.
"422", -- Shadowing an argument.
"423", -- Shadowing a loop variable.
"431", -- Shadowing an upvalue.
"432", -- Shadowing an upvalue argument.
"433", -- Shadowing an upvalue loop variable.
"511", -- Unreachable code.
"512", -- Loop can be executed at most once.
"521", -- Unused label.
"531", -- Left-hand side of an assignment is too short.
"532", -- Left-hand side of an assignment is too long.
"541", -- An empty do end block.
"542", -- An empty if branch.
"551", -- An empty statement.
"561", -- Cyclomatic complexity of a function is too high.
"571", -- A numeric for loop goes from #(expr) down to 1 or less without negative step.
"611", -- A line consists of nothing but whitespace.
"612", -- A line contains trailing whitespace.
"613", -- Trailing whitespace in a string.
"614", -- Trailing whitespace in a comment.
"621", -- Inconsistent indentation (SPACE followed by TAB).
"631", -- Line is too long.
}
Ignoring an error is more difficult, which is a problem, since there are some false errors like: https://github.com/mpeterv/luacheck/issues/152
In order to troubleshoot potential issues, particularly when the addon isn’t loading correctly, you’ll need to post any error messages Lua will display in the game. These are disabled by default in the most current client versions.
You can, however, enable them using this command:
/console scriptErrors 1
Once you’re done reporting a problem, and no longer wish to see error messages, feel free to disable them with this command:
/console scriptErrors 0
Important: There is no confirmation after typing these commands, and you’ll need to reload your interface or restart/relog to see the relevant error messages if Rarity failed to load.
Please understand that you’re making it extremely difficult, if not impossible, for me to help you if you don’t give me all the information that you can. The more I know about the specifics of a potential issue, the faster I’ll be able to fix it, and the more likely it is to become a higher priority for me to do so.
——
Note: If you’d like to collect and report script errors more easily to help addon authors out and/or get your addon problems fixed quickly, I recommend using specific addons to do so. Here are some good reasons for why you should consider this.
Original by Omegal (Tech Support MVP) — saved here in case the forums are shut down:
Honestly the best thing to do is to install buggrabber/bugsack
it replaces blizzard lua errors with better system.
1. duplicates of same error are not reported in additional popups. they are aggregated
2. popups do not occur when doing anything important such as in combat
3. popups can be disabled entirely if you’d rather manually open error report at leisure.
4. all errors are saved so you can actually go through them at any time and report them to addon authors or just diagnose them yourself to figure out what addons are erring when multiple are occurring
People hate blizzards error reports because they suck. are invasive and not intuitive at all. They block gameplay in most inconvenient times and are often dismissed and forgotten as a result.
So look up Bugsack and BugGrabber on curse (need both, one is the core other is GUI). Install. and now you can diagnose errors properly in future. yes you can just turn errors off but that’s about as recommended as putting fingers in your ears and going «lalalalalala». your gameplay experience will suffer ignoring errors. So instead make the reporting better and tolerable.
Links:
BugSack on CurseForge
BugGrabber on CurseForge
Posts Quoted:
Reply
Clear All Quotes
Loading
Хорошо! Новыми для Legion и предварительного патча являются изменения в меню интерфейса. Многие параметры были скрыты, но они все еще присутствуют, если мы используем команды. Чтобы упростить нашу задачу (а не изучать все команды) у нас есть аддон AdvancedInterfaceOptions. Мы также предоставляем вам команды на случай, если вам понадобится какая-либо опция.
В лице Дополнительные параметры интерфейса У нас будет панель, где вы сможете активировать / деактивировать параметры, недоступные в новой панели. Передний конец. Есть много основных опций, таких как отображение или скрытие заголовка, плавающий текст в бою, ошибки LUA и т. Д., Которые мы привыкли (или должны) использовать, и использование команд для активации или деактивации этих опций доставляет неудобства. Мы можем скачать его с здесь (Проклинать).
Мы можем открыть аддон в Interface / Addons или с помощью команды / aio.
Внешний вид аддона довольно прост и позволяет нам активировать / деактивировать следующие параметры.
Общие настройки
- Титулы.
- Имена братства.
- Братские титулы.
- Остановите автоатаку.
- Атакуйте, помогая.
- Выполнить действие при нажатии клавиши.
- Тусклая карта при движении.
- Безопасный факультет (на панели действий).
- Показать ошибки LUA.
- Удалите фильтр повреждений на цели.
- Обратная чистка рюкзака (функция сортировки).
Мы также можем настроить автоматическое отслеживание миссий по списку или по близости.
Наконец, он позволяет нам активировать, деактивировать и изменять новую функцию. ActionCam.
Варианты чата
- Окно мгновенного чата.
- Активируйте прокрутку колеса мыши.
Параметры плавающего текста
В этом меню мы можем изменить плавающий текст во время боя. Первый вариант позволяет отображать текст сверху, снизу или по дуге. Мы можем добавлять и скрывать следующие плавающие текстовые данные:
-
Полученная энергия.
- Ауры.
- Повторное использование.
- Честь заработала.
- Репутация.
- Комбо-очки.
- Боевое пребывание.
- Механика заклинаний.
- Выздоровление
- Поглощение (собственное).
- Поглощение (цели).
- Направленная шкала (увеличивает размер плавающего текста).
- Низкое здоровье / мана.
- Периодические заклинания.
команды
В случае, если мы хотим активировать / деактивировать одну из скрытых опций нового интерфейса без надстройки, мы можем прибегнуть к команды в чате.
Команды /приставка их можно активировать, изменив окончательный номер команды. 0 равно отключен y 1 равно активированный. Пример: с «/ console ThreatShowNumeric 0» процент угроз не будет отображаться, а с «/ console ThreatShowNumeric 1» будет отображаться угроза.
Игровая мышь WoW
/ запустить SetCVar («enableWoWMouse», 1) DetectWowMouse ()
Скрыть ошибки LUA
/ console script Ошибки 0
Чистка перевернутого мешка
/ запустить SetSortBagsRightToLeft (true)
Отключить падение добычи слева направо
/ запустить SetInsertItemsLeftToRight (ложь)
Скрыть свободные промежутки в сумках
/ запустить SetCVar («displayFreeBagSlots», 0) ReloadUI ()
Активировать вращение миникарты
/ console rotateMinimap 1
Показать урон по целям
/ console noBuffDebuffFilterOnTarget 1
Скрыть продолжительность собственных выгод
/ запустить SetCVar («buffDurations», 0) ReloadUI ()
Отключить плавающий текст в бою повреждений
/ консоль FloatingCombatTextCombatDamage 0
Отключить плавающий текст в исцеляющем бою
/ консоль FloatingCombatTextCombatHealing 0
Увеличьте количество плавающего текста в бою и сделайте его линейным
/ консоль с плавающей запятойCombatTextCombatDamageDirectionalScale 0
Плавающий текст в строке вниз
/ запустить SetCVar («FloatCombatTextFloatMode», «2»); ReloadUI ()
Плавающий текст дуги
/ запустить SetCVar («FloatCombatTextFloatMode», «3»); ReloadUI ()
Активировать прозрачность карты при прокрутке
/ console mapFade 1
Отключить яркость экрана в полноэкранном режиме
/ консоль ffxGlow 0
Показать номера шкалы опыта
/ консоль xpBarText 1
Показать процент угрозы (агро)
/ console ThreatShowNumeric 1
Отключить безопасный факультет
/ console secureAbilityToggle 0
Отключить автоматическое отслеживание миссий
/ консоль autoQuestWatch 0
Скрыть имена / титулы союзников / врагов
/ console UnitNameFriendlyPlayerName 0
/ console UnitNameEnemyPlayerName 0
/ console UnitNamePlayerPVPTitle 0
Отключить прогноз потребляемой энергии
/ console showSpenderFeedback 0
Отключить предсказание жизни при получении урона или исцелении
/ запустить SetCVar («predictedHealth», 0) ReloadUI ()
Включение настраиваемого допуска задержки (0-400 мс)
/ запустить SetCVar («ReducedLagTolerance», 1) SetCVar («MaxSpellStartRecoveryOffset», 50)
Спасибо Proenix за список команд.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.