- 1,296
- 1,179
Салам всем форумчаненам, решил показать с примера qrlk, как сделать автообнову.
Тутор только для хомяков и только, приступим.
Заходим на сайт https://jsonbin.io и там создаём вот такое чудо
Так, всё сделали, теперь код, полностью расписанный.
Снизу пример автообновы с имжуй, можете посмотреть
Тутор только для хомяков и только, приступим.
Заходим на сайт https://jsonbin.io и там создаём вот такое чудо
Код:
{
"latest": "Тут вашу версию, версия должна быть больше тут, а в скрипте меньше",
"updateurl": "ссылку на скачку самой новой версии"
}
Так, всё сделали, теперь код, полностью расписанный.
Lua:
local dlstatus = require('moonloader').download_status
function update()
local fpath = os.getenv('TEMP') .. '\\testing_version.json' -- куда будет качаться наш файлик для сравнения версии
downloadUrlToFile('https://gist.githubusercontent.com/atiZZZ/7507f7d4a51dc036bd275b96cc7bed38/raw/a78a8ef401c553c4309efd6a80075f56567c6c93/atiz', fpath, function(id, status, p1, p2) -- ссылку на ваш гитхаб где есть строчки которые я ввёл в теме или любой другой сайт
if status == dlstatus.STATUS_ENDDOWNLOADDATA then
local f = io.open(fpath, 'r') -- открывает файл
if f then
local info = decodeJson(f:read('*a')) -- читает
updatelink = info.updateurl
if info and info.latest then
version = tonumber(info.latest) -- переводит версию в число
if version > tonumber(thisScript().version) then -- если версия больше чем версия установленная то...
lua_thread.create(goupdate) -- апдейт
else -- если меньше, то
update = false -- не даём обновиться
sampAddChatMessage(('[Testing]: У вас и так последняя версия! Обновление отменено'), color)
end
end
end
end
end)
end
--скачивание актуальной версии
function goupdate()
sampAddChatMessage(('[Testing]: Обнаружено обновление. AutoReload может конфликтовать. Обновляюсь...'), color)
sampAddChatMessage(('[Testing]: Текущая версия: '..thisScript().version..". Новая версия: "..version), color)
wait(300)
downloadUrlToFile(updatelink, thisScript().path, function(id3, status1, p13, p23) -- качает ваш файлик с latest version
if status1 == dlstatus.STATUS_ENDDOWNLOADDATA then
sampAddChatMessage(('[Testing]: Обновление завершено!'), color)
thisScript():reload()
end
end)
end
-- ВСЁ!
Снизу пример автообновы с имжуй, можете посмотреть