- 955
- 333
Приветствую уважаемые.
Данная тема создана для облегчения работы с ошибками в скриптах.
Приступим.
ШАГ 1 - Начальная подготовка
Данная тема создана для облегчения работы с ошибками в скриптах.
К сожалению не нашел на BlastHack гайд как это сделать. Это будет удобно, если вашим скриптом пользуются обычные люди, которые не знают даже что такое moonloader.log
Это будет напрочь упрощать задачу вашим пользователям, просто взял, заскринил, отправил.
Это будет напрочь упрощать задачу вашим пользователям, просто взял, заскринил, отправил.
ШАГ 1 - Начальная подготовка
В начале скрипта мы вводим имя скрипту, дабы было легче работать.
Если вы хотите скрыть лишние файлы, вы можете создать папку в папке config.
Делается это следующим образом:
Созрел вопрос. Что за файл мы качаем?
К сожалению я не знаю как работать с этим прямо в одном файле.
Если бы я вставил код в один файл - он бы работал и на обычную перезагрузку скрипта.
ШАГ 2 - Подгрузка файла.
Lua:
script_name("Имя скрипта")
Делается это следующим образом:
Lua:
--в main
if not doesDirectoryExist(getWorkingDirectory()..'\\config\\Имя папки') then
sampAddChatMessage('Скрипт не увидел рабочей папки. Создаем папку..',0x00BFFF)
createDirectory(getWorkingDirectory()..'\\config\\Имя папки') --создаем папку с вашим именем в папке config
wait(500)
downloadUrlToFile('Прямая ссылка на скачивание файла', getWorkingDirectory()..'\\config\\Имя папки\\errors.lua'--[[Путь сохранения]], function (id, status, p1, p2)
if status == dlstatus.STATUSEX_ENDDOWNLOAD then
sampAddChatMessage('Скачивание файла ошибок успешно завершено.',0x00BFFF)
end
end)--качаем файл по прямой ссылке, сохраняем в вашу созданную папку.
errors = script.load(getWorkingDirectory()..'\\config\\Имя папки\\errors.lua')
end
К сожалению я не знаю как работать с этим прямо в одном файле.
Если бы я вставил код в один файл - он бы работал и на обычную перезагрузку скрипта.
ШАГ 2 - Подгрузка файла.
Теперь нам надо загрузить созданный нами файл, если директория существует.
Залазим выше, прямо к названию вашего скрипта
Подгружаем ваш скрипт.
Это можно делать прямо после имени скрипта, но обязательно выше всего кода!! Это важно.
Если вы укажите загрузку файла ниже, скрипт может крашнуть выше, и тогда ошибка не выведется, т.к. файл с ошибками не был загружен!
ШАГ 3 - Основное
Залазим выше, прямо к названию вашего скрипта
Lua:
if doesDirectoryExist(getWorkingDirectory()..'\\config\\Название папки') then errors = script.load(getWorkingDirectory()..'\\config\\Название папки\\errors.lua') end
Это можно делать прямо после имени скрипта, но обязательно выше всего кода!! Это важно.
Если вы укажите загрузку файла ниже, скрипт может крашнуть выше, и тогда ошибка не выведется, т.к. файл с ошибками не был загружен!
ШАГ 3 - Основное
Что за скрипт? Все просто.
Данный скрипт имеет всего 6 строчек кода, он отвечает за появление диалога, когда срабатывает ошибка именно в вашем скрипте.
Вместо диалогов вы можете указать любое другое действие.
Теперь перейдем в Git Hub'у.
Что за ссылки были выше? Все верно, на загрузку этого скрипта в 6 строк.
Диалог вы можете сами редактировать под себя.
Думаю смысла нет рассказывать как загружать и получать прямую ссылку с Git Hub, об этом есть полно гайдов в интернете.
В итоге мы получаем красивый диалог с ошибкой внутри когда скрипт крашится.
Жду вашей критики, мне будет полезно.
Данный скрипт имеет всего 6 строчек кода, он отвечает за появление диалога, когда срабатывает ошибка именно в вашем скрипте.
Lua:
require 'lib.sampfuncs'
function onSystemMessage(msg, type, script)
if msg:find('Имя скрипта%.luac?:%d+:.+') and type == 3 then
sampShowDialog(252,'Что-то пошло не так','{FFFFFF}Произошла непредусмотренная ошибка в скрипте {00BFFF}Имя вашего скрипта{FFFFFF}.\nЕсли данная ошибка повторяется отправьте скриншот данного окна в ВК создателя {00BFFF}vk.com/Ссылка на вк{FFFFFF}\n\n'..msg,'Закрыть',_,0)
end
end
Теперь перейдем в Git Hub'у.
Что за ссылки были выше? Все верно, на загрузку этого скрипта в 6 строк.
Диалог вы можете сами редактировать под себя.
Думаю смысла нет рассказывать как загружать и получать прямую ссылку с Git Hub, об этом есть полно гайдов в интернете.
В итоге мы получаем красивый диалог с ошибкой внутри когда скрипт крашится.
Жду вашей критики, мне будет полезно.
Последнее редактирование: