Информация Поиск и решение ошибки в .lua скрипте

Всем привет, с каждым днем на форуме появляется все больше тем, связанных с неработоспособностью некоторых скриптов. В этой мини-статье я постараюсь показать Вам как можно самому решить некоторые проблемы и не засорять форум.

Поиск ошибки
Для поиска проблем нам необходимо открыть moonloader.log ("папка с игрой"\moonloader\moonloader.log). Мунлог хранит в себе информацию о работе всех .lua/.luac скриптов. Открыть мунлог можно используя любой текстовый редактор.
После открытия мунлога Вам необходимо найти строку, которая содержит название скрипта и слово "error", сделать это можно даже используя функцию поиска по текстовому документу (CTRL + F).

Нет файла moonloader.log?
Файл moonloader.log должен появится в любом случае (даже если игра крашится). Если же у вас его нет, то это значит что не работает сам moonloader. Убедитесь что у вас установлен ASI Loader и есть файл moonloader.asi в папке с игрой.

Примеры ошибок

Пример №1. Отсутствие библиотеки
moonloader.log:
[00:14:16.642461] (error)   helper lovli privat: D:\GTA 130K BY DAPO SHOW\moonloader\HelpLovlZin.lua:5: module 'imgui' not found:
В данной строке мы видим название скрипта (это может быть или название файла или текст указанный автором скрипта через script_name), путь к файлу скрипта, строку на которой произошла ошибка и текст самой ошибки.
1.png

В этом случае:
  • название - "helper lovli privat"
  • файл - "D:\GTA 130K BY DAPO SHOW\moonloader\HelpLovlZin.lua"
  • строка - "5"
  • ошибка - "module 'imgui' not found"
Для решения данной проблемы нам необходимо знать английский на "базовом" уровне, ну или научится использовать переводчик. После перевода ошибки на русский мы понимаем что скрипт не может найти модуль "imgui" (в данном случае модуль = библиотека). Что бы решить эту ошибку нам надо просто установить imgui. Если ошибка связана с отсутствием модулей sampfuncs.lua, moonloader.lua, vector3d.lua, bitex.lua или matrix3x3.lua, то Вам необходимо переустановить moonloader: https://www.blast.hk/threads/13305/.

Пример №2. cannot load incompatible bytecode
Lua:
[21:22:16.064337] (error)    MHManager.luac: C:\Games\ARIZONA GAMES\bin\Arizona\moonloader\MHManager.luac: cannot load incompatible bytecode
Данная ошибка связана с "несовместимостью" скрипта с вашей версией moonloader. Для начала стоит узнать вашу версию moonloader. Что бы это сделать смотрим на 4 строку в moonloader.log. В нашем случае версия мунлоадера "v.026.5-beta loaded.", это значит что "вылетевший" скрипт скомпилирован для версии мунлоадера 0.25. Для исправления ошибки можете установить этот скрипт: https://www.blast.hk/threads/35380/.

Пример №3. Неверное написание кода
Небольшое дополнение первого примера: в некоторых случаях вместо пути к файлу самого скрипта может быть путь к файлу библиотеки, например:
2.png

Для "уточнения" причины стоит ввести текст в переводчик. В данном случае ошибка произошла в файле moonloader\lib\requests.lua. Вероятнее всего ошибка была вызвана неправильным использованием функции библиотеки в самом скрипте.
Lua:
[21:05:59.066798] (error)    weaptag.lua: opcode '0B2B' call caused an unhandled exception
[21:05:53.400168] (error)    mimgui_shadow.lua: X:\SAMP Medium PC by chapo\moonloader\mimgui_shadow.lua:77: attempt to call global 'doesFileExists' (a nil value)
[21:19:56.473206] (error)    skinbreaker.lua: X:\SAMP Medium PC by chapo\moonloader\skinbreaker.lua:26: unexpected symbol near '<eof>'
[21:20:21.228567] (error)    skinbreaker.lua: X:\SAMP Medium PC by chapo\moonloader\skinbreaker.lua:25: 'end' expected (to close 'function' at line 19) near '<eof>'
и т.д
Такие сообщения связаны с неверным написанием кода, Вам следует написать автору скрипта.

Пример №4. Microsoft Visual C++ Runtime Libruary (imgui_draw.cpp Line: 1314)
1665598429159.png

Ошибка связана с отсутствием шрифта, необходимого для работы скрипта. Чаще всего с такой ошибкой сталкиваются из-за отсутствия шрифта Font Awesome. Установить файлы FontAwesome можно тут: https://www.blast.hk/threads/111224/.

Пример №5. Ошибки с GET request
Lua:
[20:12:23.455320] (error)    Rvanka-taker.luac: C:\Games\GTA 140K BY DAPO SHOW\moonloader\lib\requests.lua:106: error in GET request: timeout
В этом случае нам нужно сделать то же самое что и в первом примере (перевести и загуглить).

Примеры (причины и решения) ошибок будут пополнятся.

*moonloader.log - это текстовый файл, находящийся по пути папка с игрой\moonloader\moonloader.log, он хранит в себе информацию о работе всех .lua/.luac скриптов.
 
Последнее редактирование:

ARMOR

kjor32 is legend
Модератор
4,843
6,061
А ещё лучше - просто логически подумайте над тем что у вас пишет. SF Integrator дает достаточную информацию для того чтобы можно было понять что вы не так сделали, там в 90% случаев указана строка в которой ошибка, и даже с базовыми знаниями Английского языка вы поймете что не так.
 

purpleee

Активный
180
80
И мимгуи "О привет!". Если происходит ошибОчка в мимгуи, то твоя гта просто идёт либо на рабочий стол, либо краш сообщение в чат, либо краш гта (после перезапуска гта всё воркает). В моонлоадере никаких ошибОчек нету и так пердишь. Мимгуи - это вообще рофло библиотека с приколами
 
  • Нравится
Реакции: lorgon

why ega

РП игрок
Модератор
2,540
2,223
Норм

А ещё лучше - просто логически подумайте над тем что у вас пишет. SF Integrator дает достаточную информацию для того чтобы можно было понять что вы не так сделали, там в 90% случаев указана строка в которой ошибка, и даже с базовыми знаниями Английского языка вы поймете что не так.
Не всегда есть сф интегратор. Помню в какой-то сборке ебался, думал почему лог в консоль не идет, пока не понял что автор сборки удалил интегратор 🤣
 

dedyska

Потрачен
5
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
здарова, подскажите пожалуйста что за ошибка [15:12:13.702670] (error) Tram bot by ik0nka for Arizona-RP: Script died due to an error. (0F2D5024)
 
  • Bug
Реакции: Sadow

SSSSSSGHOUL

Новичок
1
0
[16:58:56.364632] (error) scriptManager.luac: Z:\GTA San Andreas\moonloader\scriptManager.luac: cannot load incompatible bytecode
[16:58:56.364632] (error) scriptManager.luac: Script died due to an error. (0967D854)
СКАЖИТЕ ЧТО ЭТО ПОЖАЛУЙСТА
 

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Автор темы
Друг
8,763
11,198
[16:58:56.364632] (error) scriptManager.luac: Z:\GTA San Andreas\moonloader\scriptManager.luac: cannot load incompatible bytecode
[16:58:56.364632] (error) scriptManager.luac: Script died due to an error. (0967D854)
СКАЖИТЕ ЧТО ЭТО ПОЖАЛУЙСТА
Скрипт несовместим с твоей версией мунлоадера
 
  • Клоун
Реакции: legendanakaharaaaaa и Fott