Номер ноль: Схема местами (сам ведь знаешь, какими) представляет собой "ядерный писец" ((с) народ). "В грязном коде баги водятся, и чем грязнее код - тем толще баги".
Номер раз: Зачем связь onStop -> doStop? Это что за онанизм, простите мой французский?
Номер два: Для кого nesco запилил компонент EnvVars?
Вот эта колбаса
Add(Dir,3732171,64,105)
{
Point(SendToDir)
}
Add(StrCat,9559343,64,161)
{
Str1="!"
link(onStrCat,1304200:doSearch,[])
link(Str2,3732171:DesktopDir,[])
}
Add(BlockFind,1304200,106,161)
{
IncludeBlock=1
Delete=0
StartBlock="!"
EndBlock="Desktop"
link(onSearch,2158649:doString,[])
link(Text,9559343:Result,[(112,156)(92,156)(92,200)(70,200)])
}
Add(FormatStr,2158649,147,161)
{
DataCount=1
Mask="%1appdataRoaming.alexcraft"
Point(FString)
}
Add(EnvVars,13481656,966,322)
{
Name="AppData"
link(onExpand,6267438:doStrCat,[])
}
Add(StrCat,6267438,1029,322)
{
Str2="\.alexcraft\"
}
Номер три: Ещё раз DNR (каламбур, однако!). Повторять должен не ты, а твой комп: он не ошибается. Почувству разницу:
Add(MultiElement,16049185,1050,308)
{
}
BEGIN_SDK
Add(EditMulti,10413824,49,371)
{
EventCount=1
WorkCount=1
Width=538
link(doWork1,15214164:doEvent1,[(80,377)(80,510)])
}
Add(DirTools,13541774,427,455)
{
NoConfirmation=1
Point(doExists)
link(onOK,12907621:doCase,[])
link(Source,139965:Result,[(433,443)(370,443)(370,520)(307,520)])
}
Add(StrCat,139965,301,476)
{
Str2="bin"
link(onStrCat,13541774:doExists,[])
link(Str1,2863309:Var,[])
}
Add(GlobalVar,2863309,301,448)
{
Name="sysdir"
}
Add(Hub,15214164,91,504)
{
link(onEvent1,11307181:doEnum,[(175,510)(175,482)])
link(onEvent2,10413824:onEvent1,[(546,517)(546,377)])
}
Add(StrList,12526498,231,399)
{
Strings=#3:bin|6:config|8:coremods|4:mods|
}
Add(ArrayEnum,11307181,245,476)
{
link(onItem,139965:doStrCat,[])
link(Array,12526498:Array,[])
}
Add(Case,12907621,483,455)
{
Value=Integer(0)
link(onNextCase,13541774:doDelete,[(526,461)(526,435)(415,435)(415,475)])
}
END_SDK
Номер четыре: я уверен, что использовать StrList для чтения и записи бинарной информации - это плохая идея. Используй связку
Add(FileStream,11110613,280,49)
{
link(onLoad,7879394:doConvert,[])
}
Add(StreamConvertor,7879394,329,49)
{
Mode=6
}
Номер пять: Правильно "Обнаружено", а не "Обнoружено". Спасибо хоть, что "пароль", а не "пороль"

Номер шесть: почему-то скрипт обновлений выдаёт ответ в два приёма (206 Partial Content с начальной кавычкой, затем 200 OK с "{ret: punt}"), это (по всей видимости) сбивает с толку HTTP_Get.
Пока хватит. Как это исправишь - выкладывай обновлённую схему, продолжим разговор.