update module autoupdate & bump version 28.01.2023

test-utf-8
rubin 2 years ago
parent 3c3c1623d3
commit f2c1ab77d3
  1. 119
      TruckHUD.lua
  2. 6
      changelog
  3. 2
      version

@ -1,6 +1,6 @@
script_name("TruckHUD")
script_author("Serhiy_Rubin")
script_version("27.01.2023.1")
script_version("28.01.2023")
local inicfg = require "inicfg"
local dlstatus = require("moonloader").download_status
@ -4274,31 +4274,33 @@ script_update = {
version_url = "http://git.deadpoo.net/rubin/TruckHUD/raw/branch/master/version",
script_url = "http://git.deadpoo.net/rubin/TruckHUD/raw/branch/master/TruckHUD.lua",
changelog_url = "http://git.deadpoo.net/rubin/TruckHUD/raw/branch/master/changelog",
address_ini = "rubin-mods-updates.ini",
address_ini = string.format("rubin-mods-updates\\%s.ini", thisScript().name),
main = function()
local name = thisScript().name
if not doesDirectoryExist("moonloader\\config\\rubin-mods-updates") then
createDirectory("moonloader\\config\\rubin-mods-updates")
end
local ini = inicfg.load({
[name] = {
settings = {
check_update = true,
auto_update = true,
server_version = ""
}
}, script_update.address_ini)
ini[name].version_url = script_update.version_url
ini[name].script_url = script_update.script_url
ini[name].changelog_url = script_update.changelog_url
ini[name].version = thisScript().version
ini[name].script_name = thisScript().name
ini.settings.version_url = script_update.version_url
ini.settings.script_url = script_update.script_url
ini.settings.changelog_url = script_update.changelog_url
ini.settings.version = thisScript().version
ini.settings.script_name = thisScript().name
local command = (thisScript().name:gsub(" ", "").."-update"):lower()
sampRegisterChatCommand(command, script_update.command)
if ini[name].check_update or ini[name].auto_update then
if ini.settings.check_update or ini.settings.auto_update then
local fpath = os.tmpname()
local result, text = pcall(openURL, script_update.version_url, fpath)
if result then
ini[name].server_version = text
ini.settings.server_version = text
if text ~= "" and not string.find(text, thisScript().version) then
addChatMessage( string.format("Вышла новая версия '%s'. Текущая: '%s'", text, thisScript().version) )
if ini[name].auto_update then
if ini.settings.auto_update then
addChatMessage( string.format("Автообновление скрипта включено. Процесс запущен!") )
script_update.command()
else
@ -4337,8 +4339,8 @@ script_update = {
end)
end,
menu = {
text = {},
dialog = {},
ini = {},
init = function()
if not sampIsChatCommandDefined("rubin-mods") then
sampAddChatMessage("{667dff}[RUBIN MODS]{FFFFFF} Управление обновлениями скриптов: /rubin-mods", 0xFFFFFFFF)
@ -4347,7 +4349,7 @@ script_update = {
wait(0)
local result, button, list, input = sampHasDialogRespond(2160)
if result and button == 1 then
if script_update.menu.text[list+1] ~= nil and script_update.menu.dialog[list+1] ~= nil then
if script_update.menu.ini[list+1] ~= nil and script_update.menu.dialog[list+1] ~= nil then
script_update.menu.dialog[list+1](script_update.menu.ini[list+1])
end
end
@ -4369,20 +4371,28 @@ script_update = {
end
end,
show = function()
script_update.menu.text = {}
script_update.menu.dialog = {}
script_update.menu.ini = {}
local ini = inicfg.load({}, script_update.address_ini)
for k,v in pairs(ini) do
script_update.menu.ini[#script_update.menu.ini+1] = v
script_update.menu.text[#script_update.menu.text+1] = string.format("%s\t%s%s", k, (v.version == v.server_version and "{59fc30}" or "{ff0000}"),v.version)
script_update.menu.dialog[#script_update.menu.dialog+1] = function(data)
script_update.menu2.show(data)
end
end
local text = ""
for i = 1, #script_update.menu.text do
text = text..script_update.menu.text[i].."\n"
if doesDirectoryExist("moonloader\\config\\rubin-mods-updates") then
local FileHandle, FileName = findFirstFile("moonloader\\config\\rubin-mods-updates\\*")
while FileName ~= nil do
if FileName ~= nil and FileName ~= ".." and FileName ~= "." and FileName:find("%.ini") then
local address = string.format("moonloader\\config\\rubin-mods-updates\\%s", FileName)
if doesFileExist(address) then
local ini = inicfg.load({}, address)
script_update.menu.ini[#script_update.menu.ini+1] = address
text = string.format("%s%s\n", text, string.format("%s\t%s%s", ini.settings.script_name, (ini.settings.version == ini.settings.server_version and "{59fc30}" or "{ff0000}"),ini.settings.version))
script_update.menu.dialog[#script_update.menu.dialog+1] = function(data)
script_update.menu2.show(data)
end
end
end
FileName = findNextFile(FileHandle)
end
findClose(FileHandle)
else
text = "Не найдена директория:\t\n moonloader\\config\\rubin-mods-updates\t"
end
sampShowDialog(2160,"Обновление скриптов: Rubin Mods","Скрипт\tВерсия\n"..text,"Выбрать","Закрыть",5)
end
@ -4395,45 +4405,44 @@ script_update = {
script_update.menu2.data = data
script_update.menu2.text = {}
script_update.menu2.dialog = {}
local ini = inicfg.load({}, script_update.address_ini)
local k = data.script_name
script_update.menu2.text[#script_update.menu2.text+1] = string.format("Автообновление %s", (ini[k].auto_update and "{59fc30}ON" or "{ff0000}OFF"))
script_update.menu2.dialog[#script_update.menu2.dialog+1] = function()
ini[k].auto_update = not ini[k].auto_update
inicfg.save(ini, script_update.address_ini)
script_update.menu2.show(data)
end
if not ini[k].auto_update then
script_update.menu2.text[#script_update.menu2.text+1] = string.format("Проверять обновления %s", (ini[k].check_update and "{59fc30}ON" or "{ff0000}OFF"))
if doesFileExist(data) then
local ini = inicfg.load({}, data)
script_update.menu2.text[#script_update.menu2.text+1] = string.format("Автообновление %s", (ini.settings.auto_update and "{59fc30}ON" or "{ff0000}OFF"))
script_update.menu2.dialog[#script_update.menu2.dialog+1] = function()
ini[k].check_update = not ini[k].check_update
inicfg.save(ini, script_update.address_ini)
ini.settings.auto_update = not ini.settings.auto_update
inicfg.save(ini, data)
script_update.menu2.show(data)
end
if not ini.settings.auto_update then
script_update.menu2.text[#script_update.menu2.text+1] = string.format("Проверять обновления %s", (ini.settings.check_update and "{59fc30}ON" or "{ff0000}OFF"))
script_update.menu2.dialog[#script_update.menu2.dialog+1] = function()
ini.settings.check_update = not ini.settings.check_update
inicfg.save(ini, data)
script_update.menu2.show(data)
end
end
script_update.menu2.text[#script_update.menu2.text+1] = string.format("Последние изменения")
script_update.menu2.dialog[#script_update.menu2.dialog+1] = function()
script_update.changelog(ini.settings.changelog_url, ini.settings.script_name)
end
script_update.menu2.text[#script_update.menu2.text+1] = string.format("Удалить из списка")
script_update.menu2.dialog[#script_update.menu2.dialog+1] = function()
os.remove(data)
script_update.menu.show()
end
local text = ""
for i = 1, #script_update.menu2.text do
text = text..script_update.menu2.text[i].."\n"
end
sampShowDialog(2162,"Настройки обновления для "..ini.settings.script_name,text,"Выбрать","Назад",2)
end
script_update.menu2.text[#script_update.menu2.text+1] = string.format("Последние изменения")
script_update.menu2.dialog[#script_update.menu2.dialog+1] = function()
script_update.changelog(ini[k].changelog_url)
end
script_update.menu2.text[#script_update.menu2.text+1] = string.format("Удалить из списка")
script_update.menu2.dialog[#script_update.menu2.dialog+1] = function()
ini[k] = nil
inicfg.save(ini, script_update.address_ini)
script_update.menu.show()
end
local text = ""
for i = 1, #script_update.menu2.text do
text = text..script_update.menu2.text[i].."\n"
end
sampShowDialog(2162,"Настройки обновления для "..data.script_name,text,"Выбрать","Назад",2)
end
},
changelog = function(url, data)
changelog = function(url, name)
local fpath = os.tmpname()
local result, text = pcall(openURL, url, fpath)
if result then
sampShowDialog(2161,"Changelog - "..thisScript().name,text,"Выбрать","Назад",4)
sampShowDialog(2161,"Changelog - "..name,text,"Выбрать","Назад",4)
end
end
}

@ -12,4 +12,8 @@
Версия от 27.01.2023
Скрипт переведён на UTF-8
Добавлена проверка версии скрипта /truck users
Добавлена проверка версии скрипта /truck users
Версия от 28.01.2023
Обновлен модуль /rubin-mods

@ -1 +1 @@
27.01.2023.1
28.01.2023
Loading…
Cancel
Save