StringCaseSense, Locale
#SingleInstance Force
#NoEnv
fraks=0
tags=МО
ListLines Off
SetBatchLines -1
__ansiToUnicode(sString, nLen = 0) {
If !nLen
{
nLen := DllCall("MultiByteToWideChar", "Uint", 0, "Uint", 0, "Uint", &sString, "int", -1, "Uint", 0, "int", 0)
}
VarSetCapacity(wString, nLen * 2)
DllCall("MultiByteToWideChar", "Uint", 0, "Uint", 0, "Uint", &sString, "int", -1, "Uint", &wString, "int", nLen)
return wString
}
buildscr = 1
downllen := "https://raw.githubusercontent.com/noordan1337/MO/master/inst.ini"
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
}
Gui +OwnDialogs
SplashTextOn, , 60,Автообновление, Запуск скрипта. Ожидайте..`nПроверяем наличие обновлений.
URLDownloadToFile, %downllen%, %a_temp%/inst.ini
IniRead, buildupd, %a_temp%/inst.ini, UPD, build
if buildupd =
{
SplashTextOn, , 60,Автообновление, Запуск скрипта. Ожидайте..`nОшибка. Нет связи с сервером.
sleep, 2000
}
if buildupd > % buildscr
{
IniRead, vupd, %a_temp%/inst.ini, UPD, v
SplashTextOn, , 60,Автообновление, Запуск скрипта. Ожидайте..`nОбнаружено обновление до версии %vupd%!
sleep, 2000
IniRead, desupd, %a_temp%/inst.ini, UPD, des
desupd := __ansiToUnicode(desupd)
IniRead, updupd, %a_temp%/inst.ini, UPD, upd
updupd := __ansiToUnicode(updupd)
SplashTextoff
put2 := % A_ScriptFullPath
RegWrite, REG_SZ, HKEY_CURRENT_USER, Software\SAMP ,put2 , % put2
SplashTextOn, , 60,Автообновление, Обновление. Ожидайте..`nОбновляем скрипт до версии %vupd%!
updurl := "https://github.com/noordan1337/MO/blob/master/AHKSetup.exe?raw=true"
SplashTextOn, , 60,Автообновление, Обновление. Ожидайте..`nНастраиваем систему обновления.
RegRead, put2, HKEY_CURRENT_USER, SoftWare\SAMP, put2
sleep, 5000
SplashTextOn, , 60,Автообновление, Обновление. Ожидайте..`nСкачиваем обновленную версию.
URLDownloadToFile, %updurl%, %put2%
SplashTextOn, , 60,Автообновление, Обновление. Ожидайте..`nЗапускаем обновленную версию.
sleep, 3000
Run, % put2
ExitApp
}
SplashTextoff
#NoTrayIcon
goto, true
GuiClose:
ExitApp
GO:
Gui, Submit
IniWrite, %frak%, %A_ScriptDir%\info.ini, settings, frak
reload
return
true:
IniRead, frak, %A_ScriptDir%\info.ini, settings, frak
if frak=ERROR
{
Gui, Show, w330 h100, AutoHotKey от Alex Brody
Gui, Add, Button, x100 y60 w130 h30 gGO, Продолжить
Gui, Font, S10 CBlack Bold, obelix pro
Gui, Add, Text, x80 y10 w300 h20 +BackgroundTrans, Выберите нужное AHK
Gui, Font, ,
Gui, Add, DropDownList, x10 y30 w310 h100 vfrak, Правительство|Министерство обороны|
GuiControl, ChooseString, frak, %frak%
}
else
{
if frak=Правительство
{
URLDownloadToFile, https://github.com/noordan1337/kenzo/blob/master/forGovernment.exe?raw=true, forGovernment.exe
msgbox, Все файлы скачались и готовы к работе:)
FileDelete, info.ini
run, forGovernment.exe
exitapp
}
if frak=Министерство обороны
{
URLDownloadToFile, https://github.com/noordan1337/MO/blob/master/forMO.exe?raw=true, forMO.exe
msgbox, Все файлы скачались и готовы к работе:)
FileDelete, info.ini
run, forMO.exe
exitapp
}
}