[Урок] Автоматизированное обновление скриптов - Страница 2 - Форум Cheat-Master.ru
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
Форум » Программирование » AHK Программирование » [Урок] Автоматизированное обновление скриптов (Полностью автоматическое обновление)
[Урок] Автоматизированное обновление скриптов
[CM]Coockie Дата: Понедельник, 08.05.2017, 14:07 | Сообщение # 16
developer
Сообщений: 67
Статус: Offline
MrGPro,
Код

FileRead, find404, %ScriptDir%/LST_Version.ini ; проверяем файл на строку 404
IfInString, find404, 404

Дальше читать даже не стал, у большинства нормальных сервисов стоят редиректы на ошибки Apache, а если где-то еще будет цифра 404 и самой ошибки не будет? Проще сделать в JSON виде обмен информацией
NiceShot1337 Дата: Понедельник, 18.06.2018, 17:20 | Сообщение # 17
Новичок
Сообщений: 1
Статус: Offline
Код
Utf8ToAnsi(ByRef Utf8String, CodePage = 1251)
{
    If (NumGet(Utf8String) & 0xFFFFFF) = 0xBFBBEF
        BOM = 3
    Else
        BOM = 0

    UniSize := DllCall("MultiByteToWideChar", "UInt", 65001, "UInt", 0
                    , "UInt", &Utf8String + BOM, "Int", -1
                    , "Int", 0, "Int", 0)
    VarSetCapacity(UniBuf, UniSize * 2)
    DllCall("MultiByteToWideChar", "UInt", 65001, "UInt", 0
                    , "UInt", &Utf8String + BOM, "Int", -1
                    , "UInt", &UniBuf, "Int", UniSize)

    AnsiSize := DllCall("WideCharToMultiByte", "UInt", CodePage, "UInt", 0
                    , "UInt", &UniBuf, "Int", -1
                    , "Int", 0, "Int", 0
                    , "Int", 0, "Int", 0)
    VarSetCapacity(AnsiString, AnsiSize)
    DllCall("WideCharToMultiByte", "UInt", CodePage, "UInt", 0
                    , "UInt", &UniBuf, "Int", -1
                    , "Str", AnsiString, "Int", AnsiSize
                    , "Int", 0, "Int", 0)
    Return AnsiString
}
WM_HELP(){
    IniRead, vupd, %a_temp%/verlen.ini, UPD, v
    IniRead, desupd, %a_temp%/verlen.ini, UPD, des
    desupd := Utf8ToAnsi(desupd)
    IniRead, updupd, %a_temp%/verlen.ini, UPD, upd
    updupd := Utf8ToAnsi(updupd)
    msgbox, , Список изменений версии %vupd%, %updupd%
    return
}

OnMessage(0x53, "WM_HELP")
Gui +OwnDialogs

SplashTextOn, , 60,Автообновление, Запуск скрипта. Ожидайте..`nПроверяем наличие обновлений.
URLDownloadToFile, %downllen%, %a_temp%/verlen.ini
IniRead, buildupd, %a_temp%/verlen.ini, UPD, build
if buildupd =
{
    SplashTextOn, , 60,Автообновление, Запуск скрипта. Ожидайте..`nОшибка. Нет связи с сервером.
    sleep, 2000
}
if buildupd > % buildscr
{
    IniRead, vupd, %a_temp%/verlen.ini, UPD, v
    SplashTextOn, , 60,Автообновление, Запуск скрипта. Ожидайте..`nОбнаружено обновление до версии %vupd%!
    sleep, 2000
    IniRead, desupd, %a_temp%/verlen.ini, UPD, des
    desupd := Utf8ToAnsi(desupd)
    IniRead, updupd, %a_temp%/verlen.ini, UPD, upd
    updupd := Utf8ToAnsi(updupd)
    SplashTextoff
    msgbox, 16384, Обновление скрипта до версии %vupd%, %desupd%
    IfMsgBox OK
    {
        msgbox, 1, Обновление скрипта до версии %vupd%, Хотите ли Вы обновиться?
        IfMsgBox OK
        {
            put2 := % A_ScriptFullPath
            RegWrite, REG_SZ, HKEY_CURRENT_USER, Software\SAMP ,put2 , % put2
            SplashTextOn, , 60,Автообновление, Обновление. Ожидайте..`nОбновляем скрипт до версии %vupd%!
            URLDownloadToFile, %downlurl%, %a_temp%/updt.exe
            sleep, 1000
            run, %a_temp%/updt.exe
            exitapp
        }
    }
}
SplashTextoff

(13) : ==> Duplicate function definition.
13 строка это Utf8ToAnsi(ByRef Utf8String, CodePage = 1251)
Как исправить?
Salamakeykum Дата: Понедельник, 18.06.2018, 21:40 | Сообщение # 18
salam bratka
Сообщений: 378
Статус: Offline
Цитата [Avicii] ()
Запятые друг

Забыл запятую при обращении crazy


Помогу с AHK чем смогу VK

Мои темы:
CNN Helper
Fast AirDrop
autoMechanic
Fake Общак ARZ
Счетчик денег для таксистов
ZeusGang Дата: Понедельник, 18.06.2018, 23:35 | Сообщение # 19
Боец
Сообщений: 100
Статус: Offline
NiceShot1337, в коде два раза используется функция.
Во так должно работать:
Цитата
Utf8ToAnsi1(ByRef Utf8String, CodePage = 1251)
{
If (NumGet(Utf8String) & 0xFFFFFF) = 0xBFBBEF
BOM = 3
Else
BOM = 0

UniSize := DllCall("MultiByteToWideChar", "UInt", 65001, "UInt", 0
, "UInt", &Utf8String + BOM, "Int", -1
, "Int", 0, "Int", 0)
VarSetCapacity(UniBuf, UniSize * 2)
DllCall("MultiByteToWideChar", "UInt", 65001, "UInt", 0
, "UInt", &Utf8String + BOM, "Int", -1
, "UInt", &UniBuf, "Int", UniSize)

AnsiSize := DllCall("WideCharToMultiByte", "UInt", CodePage, "UInt", 0
, "UInt", &UniBuf, "Int", -1
, "Int", 0, "Int", 0
, "Int", 0, "Int", 0)
VarSetCapacity(AnsiString, AnsiSize)
DllCall("WideCharToMultiByte", "UInt", CodePage, "UInt", 0
, "UInt", &UniBuf, "Int", -1
, "Str", AnsiString, "Int", AnsiSize
, "Int", 0, "Int", 0)
Return AnsiString
}
WM_HELP(){
IniRead, vupd, %a_temp%/verlen.ini, UPD, v
IniRead, desupd, %a_temp%/verlen.ini, UPD, des
desupd := Utf8ToAnsi1(desupd)
IniRead, updupd, %a_temp%/verlen.ini, UPD, upd
updupd := Utf8ToAnsi1(updupd)
msgbox, , Список изменений версии %vupd%, %updupd%
return
}

OnMessage(0x53, "WM_HELP")
Gui +OwnDialogs

SplashTextOn, , 60,Автообновление, Запуск скрипта. Ожидайте..`nПроверяем наличие обновлений.
URLDownloadToFile, %downllen%, %a_temp%/verlen.ini
IniRead, buildupd, %a_temp%/verlen.ini, UPD, build
if buildupd =
{
SplashTextOn, , 60,Автообновление, Запуск скрипта. Ожидайте..`nОшибка. Нет связи с сервером.
sleep, 2000
}
if buildupd > % buildscr
{
IniRead, vupd, %a_temp%/verlen.ini, UPD, v
SplashTextOn, , 60,Автообновление, Запуск скрипта. Ожидайте..`nОбнаружено обновление до версии %vupd%!
sleep, 2000
IniRead, desupd, %a_temp%/verlen.ini, UPD, des
desupd := Utf8ToAnsi1(desupd)
IniRead, updupd, %a_temp%/verlen.ini, UPD, upd
updupd := Utf8ToAnsi1(updupd)
SplashTextoff
msgbox, 16384, Обновление скрипта до версии %vupd%, %desupd%
IfMsgBox OK
{
msgbox, 1, Обновление скрипта до версии %vupd%, Хотите ли Вы обновиться?
IfMsgBox OK
{
put2 := % A_ScriptFullPath
RegWrite, REG_SZ, HKEY_CURRENT_USER, Software\SAMP ,put2 , % put2
SplashTextOn, , 60,Автообновление, Обновление. Ожидайте..`nОбновляем скрипт до версии %vupd%!
URLDownloadToFile, %downlurl%, %a_temp%/updt.exe
sleep, 1000
run, %a_temp%/updt.exe
exitapp
}
}
}
SplashTextoff
Alikkuc Дата: Среда, 09.01.2019, 17:40 | Сообщение # 20
Новичок
Сообщений: 19
Статус: Offline
Ребят, у меня бесконечно идет. Сначала скрипт устанавливается новый, но потом он бесконечно строчит мне о том что вышло новое объявление.
Salamakeykum Дата: Пятница, 11.01.2019, 13:03 | Сообщение # 21
salam bratka
Сообщений: 378
Статус: Offline
Цитата Alikkuc ()
бесконечно строчит мне о том что вышло новое объявление.

SplashTextOff попробуй


Помогу с AHK чем смогу VK

Мои темы:
CNN Helper
Fast AirDrop
autoMechanic
Fake Общак ARZ
Счетчик денег для таксистов
Alikkuc Дата: Суббота, 12.01.2019, 19:40 | Сообщение # 22
Новичок
Сообщений: 19
Статус: Offline
Цитата Salamakeykum ()
SplashTextOff попробуй


и в скрипте и в updt.exe пробывал ничего не помогает

Добавлено (15.01.2019, 13:49)
---------------------------------------------
ну кто то мне поможет нет, я не могу сделать у меня бесконечно открывается о том что 'доступно обновление '

Salamakeykum Дата: Вторник, 15.01.2019, 19:19 | Сообщение # 23
salam bratka
Сообщений: 378
Статус: Offline
Цитата Alikkuc ()
доступно обновление

Проблема может быть какая угодно, никто не видел твоего кода, может с загрузкой файла ошибка..


Помогу с AHK чем смогу VK

Мои темы:
CNN Helper
Fast AirDrop
autoMechanic
Fake Общак ARZ
Счетчик денег для таксистов
ZeusGang Дата: Вторник, 23.07.2019, 23:41 | Сообщение # 24
Боец
Сообщений: 100
Статус: Offline
Alikkuc, цифры проверь или ифки, проблема скорее всего там
Lisov212441 Дата: Суббота, 27.08.2022, 17:43 | Сообщение # 25
Новичок
Сообщений: 1
Статус: Offline
Здравствуйте, сделал все как в инструкции. Но выскакивает ошибка



Сообщение отредактировал Lisov212441 - Суббота, 27.08.2022, 17:45
Sakurai Дата: Вторник, 25.10.2022, 15:11 | Сообщение # 26
Новичок
Сообщений: 1
Статус: Offline
Цитата MrGPro ()
https://raw.githubusercontent.com/MrGPro....ion.ini

Модифицированный код на основе данного

Код

global ScriptVersion, ScriptVersion = "0.0.9" ; Версия данного скрипта
global UrlServerInfo, UrlServerInfo = "https://raw.githubusercontent.com/MrGPro/TestUpdate/master/LST_Version.ini" ; Ссылка на файл с версией, ссылкой на файл, описанием, и лог изменений
ScriptDir := A_ScriptDir

Utf8ToAnsi(ByRef Utf8String, CodePage = 1251)
{
    If (NumGet(Utf8String) & 0xFFFFFF) = 0xBFBBEF
        BOM = 3
    Else
        BOM = 0

    UniSize := DllCall("MultiByteToWideChar", "UInt", 65001, "UInt", 0
                    , "UInt", &Utf8String + BOM, "Int", -1
                    , "Int", 0, "Int", 0)
    VarSetCapacity(UniBuf, UniSize * 2)
    DllCall("MultiByteToWideChar", "UInt", 65001, "UInt", 0
                    , "UInt", &Utf8String + BOM, "Int", -1
                    , "UInt", &UniBuf, "Int", UniSize)

    AnsiSize := DllCall("WideCharToMultiByte", "UInt", CodePage, "UInt", 0
                    , "UInt", &UniBuf, "Int", -1
                    , "Int", 0, "Int", 0
                    , "Int", 0, "Int", 0)
    VarSetCapacity(AnsiString, AnsiSize)
    DllCall("WideCharToMultiByte", "UInt", CodePage, "UInt", 0
                    , "UInt", &UniBuf, "Int", -1
                    , "Str", AnsiString, "Int", AnsiSize
                    , "Int", 0, "Int", 0)
    Return AnsiString
}

ConnectedToInternet(flag=0x40) ; интернет коннектор статус сети
{
Return DllCall("Wininet.dll\InternetGetConnectedState", "Str", flag,"Int",0)
}

if ConnectedToInternet() ; есть подключение к сети
{
SplashTextOn, , 60, Менеджер обновлений, Проверка обновления`n------------------------`nОжидайте
URLDownloadToFile, %UrlServerInfo%, %ScriptDir%/LST_Version.ini
FileRead, find404, %ScriptDir%/LST_Version.ini ; проверяем файл на строку 404
IfInString, find404, 404
{
    FileServer := False ; файл настроек не верный
}
else
{
    FileServer := True ; файл настроек верный
    IniRead, f_LastVersion, %ScriptDir%/LST_Version.ini, Script, Last_Version
    IniRead, f_LastDescription, %ScriptDir%/LST_Version.ini, Script, Last_Description
    IniRead, f_LastChangLog, %ScriptDir%/LST_Version.ini, Script, Last_Changlog
    If (f_LastChangLog != Null) ; если ссылка на файл лога не пуста
    {
  URLDownloadToFile, %f_LastChangLog%, %ScriptDir%/Chatlog.txt ; скачиваем файл лога
  FileRead, f_ChatlogText, %ScriptDir%/Chatlog.txt ; читаем файл лога
  conv_MsgChangLog := Utf8ToAnsi(f_ChatlogText) ; конвертируем кодировку
  If (conv_MsgChangLog == "ERROR") ; если файл пустой
  {
   FormChatLogLoad := ; записываем пустоту в форму
  }
  else
  {
   FormChatLogLoad := conv_MsgChangLog ; записываем текст с файла в форму
  }
    }
}
if (FileServer == False) ; если в файле есть 404
{
    SplashTextOn, , 60, Менеджер обновлений, Ошибка подключения`n------------------------`nНет связи с сервером
    sleep, 2000
    SplashTextoff
    goto, Script
}
else if (f_LastVersion > ScriptVersion and f_LastVersion != Null) ; версия больше и последняя версия не равна пустоте
{
    SplashTextOn, , 60, Менеджер обновлений,  Ожидайте`n------------------------`nОбнаружена версия %f_LastVersion%
    sleep, 2000
    SplashTextoff
    IniRead, f_LastChangLog, %ScriptDir%/LST_Version.ini, Script, Last_Changlog
  ; удаляем иконку с формы
  Gui +LastFound
  DllCall("uxtheme\SetWindowThemeAttribute", "ptr", WinExist()
  , "int", 1, "int64*", 6 | 6<<32, "uint", 8)
  
  ; загружаем форму
  Gui, Update:Color, FFFFFF
  Gui, Update:-MinimizeBox
  Gui, Update:Add, TreeView, x240 y375 w240 h84,
  Gui, Update:Add, Edit, x10 y10 w480 h240 ReadOnly, %FormChatLogLoad%
  Gui, Update:Add, Button, x90 y260 w125 h30 gUpdate, Обновить
  Gui, Update:Add, Button, x285 y260 w125 h30 gUpdateGuiClose, Отмена
  Gui, Update:Show, w500 h300, Доступно обновление %ScriptVersion% до %f_LastVersion%
  return
    }
}
else ; нет доступа к интернету
{
    MsgBox, 48, Менеджер обновлений, Доступ к интернету не обнаружен`n-----------------------------------------`nПроверьте своё интернет соединение
    goto, Script
}

; запускаем обновление по тыку кнопки обновить
Update:
IniRead, f_LastDownload, %ScriptDir%/LST_Version.ini, Script, Last_Download
IniRead, f_FileName, %ScriptDir%/LST_Version.ini, Script, Last_Name
msgbox, 1, Обновление до %f_LastVersion%, Хотите ли Вы обновиться?
IfMsgBox, OK
{
    SplashTextOn, , 60 ,Менеджер обновлений, Ожидайте`n------------------------`nОбновляем до %f_LastVersion%
    sleep, 1000
    SplashTextOn, , 60,Менеджер обновлений, Ожидайте`n------------------------`nСкачиваем обновление
    URLDownloadToFile, %f_LastDownload%, %ScriptDir%/%f_FileName%
    sleep, 1000
    SplashTextOn, , 60,Менеджер обновлений, Ожидайте`n------------------------`nЗапускаем скрипт
    sleep, 3000
    run, %ScriptDir%/%f_FileName%
    ExitApp
  
}
IfMsgBox, CANCEL
{
    Gui, Update:Destroy ; удаляем форму обновления
    goto, Script
}
return

UpdateGuiClose:
Gui, Update:Destroy
goto, Script
return

; ваш скрипт
Script:
MsgBox, Скрипт запущен
ExitApp


Я взял твой код и у меня ошибка а в чем проблема хз
скрин
Форум » Программирование » AHK Программирование » [Урок] Автоматизированное обновление скриптов (Полностью автоматическое обновление)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:
Статистика Форума
Лучшие пользователи
АК_47 [38306]

GеNius [7210]

[CM]Russel [5557]

romka619 [5008]

[CM]AGRESSOR [4638]

Snake_Firm [4452]

Сэс [4416]

Artem_Buero [4224]

[CM]Durman [3204]

[CM]Рафаэль [3080]

iMaddy [2855]

sky_Woker [2854]

getrekt [2745]

Новые пользователи
netsmanov00 [08:05]

staryjded35 [08:04]

mrpamp1122 [07:59]

chester2141 [07:28]

79920055714 [07:26]

UNKNOWNMILLER [06:50]

ds1959559q [06:45]

netsmanov030 [06:39]

timatikabircik [06:23]

Brooklyn181822 [05:42]

Urdjxnf [05:41]

allenmo11 [05:36]

ri60 [03:19]