- 80
- 12
Вам нужен свой сайт.
Шаг 1: Создать файл json на сайте Создайте файл json на своем сайте, который будет содержать информацию о текущей версии вашего скрипта и ссылку на файл с новой версией:
Шаг 2: Добавить в свой скрипт следующий код:
Работоспособность проверял на локальном сайте, через OpenServer, работало корректно.
Шаг 1: Создать файл json на сайте Создайте файл json на своем сайте, который будет содержать информацию о текущей версии вашего скрипта и ссылку на файл с новой версией:
JSON:
{
"current_version": "1.0",
"update_url": "https://example.com/script_v2.lua"
}
Шаг 2: Добавить в свой скрипт следующий код:
Проверка и обновление:
require "moonloader"
local requests = require("requests")
local json = require("json")
local json_url = "https://example.com/version.json"
local my_script_version = "1.0.0"
local download_url = ""
function check_for_updates()
local response = requests.get(json_url)
if response.status_code == 200 then
local version_info = json.decode(response.text)
if version_info.latest_version ~= nil and version_info.download_url ~= nil then
if version_info.latest_version ~= my_script_version then
sampAddChatMessage("[MyScript] Доступно обновление! Последняя версия: " .. version_info.latest_version, 0xFFFFFF)
sampAddChatMessage("[MyScript] Для загрузки новой версии используйте команду /downloadupdate", 0xFFFFFF)
download_url = version_info.download_url
else
sampAddChatMessage("[MyScript] У вас установлена последняя версия.", 0xFFFFFF)
end
else
sampAddChatMessage("[MyScript] Неверный формат файла версии", 0xFF0000)
end
else
sampAddChatMessage("[MyScript] Невозможно получить информацию о последней версии.", 0xFF0000)
end
end
function download_update()
if download_url ~= "" then
local response = requests.get(download_url)
if response.status_code == 200 then
local file = io.open("moonloader\\MyScript.lua", "w")
file:write(response.text)
file:close()
sampAddChatMessage("[MyScript] Новая версия успешно загружена. Перезапустите скрипт для обновления.", 0xFFFFFF)
else
sampAddChatMessage("[MyScript] Невозможно загрузить новую версию.", 0xFF0000)
end
else
sampAddChatMessage("[MyScript] Новая версия не обнаружена. Проверьте доступность обновления командой /checkupdate", 0xFFFFFF)
end
end
function main()
sampRegisterChatCommand("checkupdate", check_for_updates)
sampRegisterChatCommand("downloadupdate", download_update)
end
Работоспособность проверял на локальном сайте, через OpenServer, работало корректно.
Последнее редактирование: