- 447
- 92
- Версия MoonLoader
- .027.0-preview
Есть крч вот такой код у меня.
как сделать так, чтоб после закачки всех функция он перезапускал скрипт?
(если его ваще надо перезапускать, а если не надо то нет)
123:
--===== [ Подключаем библиотеки ] =====--
local loadimgui, imgui = pcall(require, 'mimgui') -- Графический модуль mimgui.
local loadfa, fa = pcall(require, 'fAwesome6') -- Дополнение к графическому модулю с его помощью можно добавлять разного рода иконок.
local loadblur, blur = pcall(require, 'mimgui_blur') -- Добавляет возможность размывать определённую область.
local loadsampev, sampev = pcall(require, 'lib.samp.events') -- Этот модуль добавляет событийную обработку входящих и исходящих RakNet пакетов.
local dlstatus = require('moonloader').download_status -- Модуль предостовляет функционал для отслеживания статуса загруски файлов.
------------------------------
--===== [ Главная функция ] =====--
function main()
--===== [ Проверки, перед окончательным запуском скрипта ] =====--
--
if not isSampLoaded() or not isSampfuncsLoaded() then return end -- Проверяем загрузку SAMP и SampFuncs
while not isSampAvailable() do wait(100) end -- -- Ждём пока функция isSampAvailable() вернет true, после ставим задержку, что-бы игра не зависла.
checkLibs()
------------------------------
--===== [ Беск. Цикл. ] =====--
--[[В нём обязательно должна присутствовать хотя-бы нулевая задержка, иначе игра попросту зависнет...
...объясняется это тем, что весь процесс игры выполняется последовательно, в том числе и скрипты MoonLoader-а.
И поэтому периодически игре нужно давать возможность обработаться, делая паузу в каждом бесконечном цикле любого скрипта...
...нулевая задержка приостановит выполнение скрипта ровно на один кадр (задержка в main не оказывает влияния на выполнение остальных событий)]]
while true do
wait(0)
end
---
end
------------------------------
-==[Проверка наличие библиотек]-==
function checkLibs()
if not loadimgui then
print("Mimgui не обнаружен! Выполняю процесс загрузки данной библиотеки.")
-- тут downloadFile
end
if not loadfa then
print(tag..'Fawesome6 не обнаружен! Выполняю процесс загрузки данной библиотеки.')
-- тут downloadFile
end
end
------------------------------
-==[Упрощённая версия]-==
function downloadFile(name, path, link) -- Обязательно использовать в потоке!
if not doesFileExist(path) then
local At = os.time()
downloadUrlToFile(link, path, function(id, status, p1, p2)
if status == dlstatus.STATUS_ENDDOWNLOADDATA then
print(tag..'Файл «'..name..'»'..green..' загружен!')
end
if status == dlstatus.STATUS_ENDDOWNLOAD and not doesFileExist(path) then
sampfuncsLog('\n——————————————————————————————————————————————————————————————————————')
sampfuncsLog(tag..'>> {FFFFFF} Не удалось скачать файл: «'..red..name..white..'»!')
sampfuncsLog(tag..'>> {FFFFFF} Сообщить о проблеме: '..white..'vk.com/riko_costa')
sampfuncsLog('——————————————————————————————————————————————————————————————————————\n')
end
end)
while not doesFileExist(path) do wait(0)
if os.time() - At >= 10 then
print(tag..'>> {FFFFFF} Тайм-аут ожидания скачивания файла: «'..red..name..white..'»')
break
end
end
end
end
------------------------------
как сделать так, чтоб после закачки всех функция он перезапускал скрипт?
(если его ваще надо перезапускать, а если не надо то нет)