-
Публикаций
2 980 -
Пожертвование
0,00 ₽ -
Зарегистрирован
-
Посещение
-
Победитель дней
171
Сообщения, опубликованные Shadd Ashborn
-
-
Вот что выдало:
Через scof тупо не успеваю словить, оно мгновенно в момент прогрузки игры уже уплывает далеко вверх.
-
UPD - вдруг поможет, инфа с ловерслаба как раз про этот эррор, вроде от кого-то, кто понимает, что там такое.
This one has to do with Companions. You won't get that message if you have any followers at all (modded, ED-E, etc.). It only occurs when the Courier has no Companion, the script is easy to find, I don't see any glaring flaws with it except I thought the "default" return value if none of the checks for companions pass must be messed up, so I don't know what point of that script is broken to return a bad value. -
По идее надо бы это в логе всё выложить, но вот сразу же после входа в игру полезло после print 3.
scn alxUDCompanionsFnUpdateArrays array_var arrEntry array_var arrExtraTeammates array_var arrActiveTeammates array_var arrFormerTeammates ref rActor int iIndex int iArraySize begin Function {} let alxUDCompanions.bLocked := 1 if eval !(alxUDCompanions.arrActiveCompanions) let alxUDCompanions.arrActiveCompanions := Ar_Construct array endif if eval !(alxUDCompanions.arrFormerCompanions) let alxUDCompanions.arrFormerCompanions := Ar_Construct array endif let arrActiveTeammates := GetTeammates if eval (GetDebugMode) && (alxUDDebugLog.arrDebugLogModesEnabled["CM"]) let iArraySize := Ar_Size arrActiveTeammates call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: %.0f player companions found." iArraySize) 1 let iIndex := 1 print "1" foreach arrEntry <- arrActiveTeammates let rActor := arrEntry["value"] call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: # %3.0f: %n (%i)." iIndex rActor rActor) 1 let iIndex += 1 loop endif call alxUDFnCheckFormList UDApiExtraCompanionsList (Ar_List 42 43) let arrExtraTeammates := GetListForms UDApiExtraCompanionsList if eval (arrExtraTeammates) let iArraySize := Ar_Size arrExtraTeammates if eval iArraySize > 0 call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: %.0f extra companions found (UDApiExtraCompanionsList)." iArraySize) 1 let iIndex := 1 print "2" foreach arrEntry <- arrExtraTeammates let rActor := arrEntry["value"] if eval rActor.IsActor if eval (Ar_Find rActor arrActiveTeammates) == Ar_BadNumericIndex Ar_Append arrActiveTeammates rActor call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: # %3.0f: %n (%i)." iIndex rActor rActor) 1 let iIndex += 1 endif endif loop endif endif let iArraySize := Ar_Size arrActiveTeammates call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: Total companions found: %.0f." iArraySize) 1 print "3" foreach arrEntry <- arrActiveTeammates let rActor := arrEntry["value"] if eval !(rActor) continue endif if eval GetType rActor == 0 continue endif if eval !(rActor.IsActor) continue endif let iIndex := Ar_Find rActor alxUDCompanions.arrActiveCompanions if eval iIndex != Ar_BadNumericIndex Ar_Erase alxUDCompanions.arrActiveCompanions iIndex endif let iIndex := Ar_Find rActor alxUDCompanions.arrFormerCompanions if eval iIndex != Ar_BadNumericIndex Ar_Erase alxUDCompanions.arrFormerCompanions iIndex endif loop let arrFormerTeammates := Ar_Construct "array" print "4" foreach arrEntry <- alxUDCompanions.arrFormerCompanions let rActor := arrEntry["value"] if eval !(rActor) continue endif if eval GetType rActor == 0 continue endif if eval !(rActor.IsActor) continue endif Ar_Append arrFormerTeammates rActor loop print "5" foreach arrEntry <- alxUDCompanions.arrActiveCompanions let rActor := arrEntry["value"] if eval !(rActor) continue endif if eval GetType rActor == 0 continue endif if eval !(rActor.IsActor) continue endif Ar_Append arrFormerTeammates rActor loop let alxUDCompanions.arrActiveCompanions := Ar_Copy arrActiveTeammates let alxUDCompanions.arrFormerCompanions := Ar_Copy arrFormerTeammates let arrActiveTeammates := Ar_Null let arrFormerTeammates := Ar_Null if eval (GetDebugMode) && (alxUDDebugLog.arrDebugLogModesEnabled["CM"]) call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: Companion arrays updated." iArraySize) 1 let iArraySize := Ar_Size alxUDCompanions.arrActiveCompanions call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: Active companions: %.0f." iArraySize) 1 if eval iArraySize > 0 let iIndex := 1 print "6" foreach arrEntry <- alxUDCompanions.arrActiveCompanions let rActor := arrEntry["value"] call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: # %3.0f: %n (%i)." iIndex rActor rActor) 1 let iIndex += 1 loop endif let iArraySize := Ar_Size alxUDCompanions.arrFormerCompanions call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: Former companions: %.0f." iArraySize) 1 if eval iArraySize > 0 let iIndex := 1 print "7" foreach arrEntry <- alxUDCompanions.arrFormerCompanions let rActor := arrEntry["value"] call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: # %3.0f: %n (%i)." iIndex rActor rActor) 1 let iIndex += 1 loop endif endif let alxUDCompanions.bLocked := 0 end
-
Еще раз всем драсте.
У меня тут есть проблема с модом Unethicsl Deeds - он постоянно спамит в консоль ошибку такого типа:
Cкрипт я нашла, пересохранение в ГЕКК не выдает ошибок. Можно ли как-то этот скрипт исправить? Очень бы не помешало, т.к. я думаю, что именно из-за спама в консоль ошибки (судя по всему, не критичной и на работу мода то и не влияющей) и при включенном АВОП я получаю очень частые зависания игры (уже было раз, что спам в консоль к такому приводил, когда разбирались с hookups).
Вот текст скрипта:
scn alxUDCompanionsFnUpdateArrays array_var arrEntry array_var arrExtraTeammates array_var arrActiveTeammates array_var arrFormerTeammates ref rActor int iIndex int iArraySize begin Function {} let alxUDCompanions.bLocked := 1 if eval !(alxUDCompanions.arrActiveCompanions) let alxUDCompanions.arrActiveCompanions := Ar_Construct array endif if eval !(alxUDCompanions.arrFormerCompanions) let alxUDCompanions.arrFormerCompanions := Ar_Construct array endif let arrActiveTeammates := GetTeammates if eval (GetDebugMode) && (alxUDDebugLog.arrDebugLogModesEnabled["CM"]) let iArraySize := Ar_Size arrActiveTeammates call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: %.0f player companions found." iArraySize) 1 let iIndex := 1 foreach arrEntry <- arrActiveTeammates let rActor := arrEntry["value"] call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: # %3.0f: %n (%i)." iIndex rActor rActor) 1 let iIndex += 1 loop endif call alxUDFnCheckFormList UDApiExtraCompanionsList (Ar_List 42 43) let arrExtraTeammates := GetListForms UDApiExtraCompanionsList if eval (arrExtraTeammates) let iArraySize := Ar_Size arrExtraTeammates if eval iArraySize > 0 call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: %.0f extra companions found (UDApiExtraCompanionsList)." iArraySize) 1 let iIndex := 1 foreach arrEntry <- arrExtraTeammates let rActor := arrEntry["value"] if eval rActor.IsActor if eval (Ar_Find rActor arrActiveTeammates) == Ar_BadNumericIndex Ar_Append arrActiveTeammates rActor call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: # %3.0f: %n (%i)." iIndex rActor rActor) 1 let iIndex += 1 endif endif loop endif endif let iArraySize := Ar_Size arrActiveTeammates call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: Total companions found: %.0f." iArraySize) 1 foreach arrEntry <- arrActiveTeammates let rActor := arrEntry["value"] if eval !(rActor) continue endif if eval GetType rActor == 0 continue endif if eval !(rActor.IsActor) continue endif let iIndex := Ar_Find rActor alxUDCompanions.arrActiveCompanions if eval iIndex != Ar_BadNumericIndex Ar_Erase alxUDCompanions.arrActiveCompanions iIndex endif let iIndex := Ar_Find rActor alxUDCompanions.arrFormerCompanions if eval iIndex != Ar_BadNumericIndex Ar_Erase alxUDCompanions.arrFormerCompanions iIndex endif loop let arrFormerTeammates := Ar_Construct "array" foreach arrEntry <- alxUDCompanions.arrFormerCompanions let rActor := arrEntry["value"] if eval !(rActor) continue endif if eval GetType rActor == 0 continue endif if eval !(rActor.IsActor) continue endif Ar_Append arrFormerTeammates rActor loop foreach arrEntry <- alxUDCompanions.arrActiveCompanions let rActor := arrEntry["value"] if eval !(rActor) continue endif if eval GetType rActor == 0 continue endif if eval !(rActor.IsActor) continue endif Ar_Append arrFormerTeammates rActor loop let alxUDCompanions.arrActiveCompanions := Ar_Copy arrActiveTeammates let alxUDCompanions.arrFormerCompanions := Ar_Copy arrFormerTeammates let arrActiveTeammates := Ar_Null let arrFormerTeammates := Ar_Null if eval (GetDebugMode) && (alxUDDebugLog.arrDebugLogModesEnabled["CM"]) call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: Companion arrays updated." iArraySize) 1 let iArraySize := Ar_Size alxUDCompanions.arrActiveCompanions call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: Active companions: %.0f." iArraySize) 1 if eval iArraySize > 0 let iIndex := 1 foreach arrEntry <- alxUDCompanions.arrActiveCompanions let rActor := arrEntry["value"] call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: # %3.0f: %n (%i)." iIndex rActor rActor) 1 let iIndex += 1 loop endif let iArraySize := Ar_Size alxUDCompanions.arrFormerCompanions call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: Former companions: %.0f." iArraySize) 1 if eval iArraySize > 0 let iIndex := 1 foreach arrEntry <- alxUDCompanions.arrFormerCompanions let rActor := arrEntry["value"] call alxUDDebugLogAppend "CM" (Sv_Construct "__UD:CM: # %3.0f: %n (%i)." iIndex rActor rActor) 1 let iIndex += 1 loop endif endif let alxUDCompanions.bLocked := 0 end
Заранее спасибо.
-
Опачки, алко-Митин, любимый собеседник-собутыльник на нашей кухоньке!
-
подскажите,это надо ставить или как? для чего?
Уже вшили в раздачу из первого поста. Это просто патч оптимизации, добавляющий портал маркеры самым загруженным локациям мода (спец. штуки в ГЕКК, которые позволяют скрывать статики, когда ГГ вне пределов портал маркера, т.е. не может их видеть, что сильно облегчает нагрузку на движок).
- 1
-
-
Могу ошибаться, но вроде как не наблюдаю вшитым AWOP Portal Rooms, то бишь, собственно, очень важный оптимизатор, добавляющий портал-маркеры самым загруженным интерьерам АВОП (вообще, если на чистоту, там везде надо делать маркеры. В АВОП их вообще нет, при том, что интерьеры сильно заполнены обьектами, потому он такой груженый).
Я перенаправила мастер патча на эту версию и скопипастила названия ячеек. Вот:
https://mega.nz/#!YVgyyBzA!YcUvNFCox1pflvWbwvS8ijV2SfzmP3lJU44-eO1e5Zo
-
Если что, сделала задачу на всякий случай - http://falcon-lair.com/tracker/issue-1798-ra-awop-chastye-vylety-pri-zagruzke-lokatcii/ , вдруг какие идеи/фиксы будут. х)
-
Какой интерьер то?
В последний раз Дьвольская Впадина (вроде как; в общем, овраг возле Гудспрингс), пещера, добавляемая АВОП (в оригинале там просто овраг и всё).
То же самое ловила в окрестностях Вегаса (уже не помню чо там), в притоне на фрисайде, еще в ряде интерьеров - счас честно не упомню.
-
Только что вот подключила АВОП, и без всяческих фолловеров меня первый же интерьер послал гулять, выбив игру на рабочий стол.
Так что я напоминаю, что Вегасовский АВОП с модулями RA неиграбелен, и если это не будет исправлено, мне как бы не хочется отказываться от обнов модуля Пустошей потому, что оттуда будет вырезан АВОП-Ф3 и сшит с модом, который у меня (и наверняка не только у меня) просто не будет работать, посылая на раб. стол в 80% случаев загрузки интерьеров.
-
По скрину вижу, что некорректная версия блендера.
Экпорт нормально работает только на версии 2.49b, только х32.
-
-
Ага, уже разобралась и с тем, и с другим.
Я все равно вижу в консоли айди ячейки, но я так понимаю, этого не избежать - скрипт все равно будет бегать по кругу, пока я не зайду в разрешенное помещение.
Всё равно спасибо.)
-
Ок, насчет кулдауна:
if fDelay > 0 set fDelay to fDelay - GetSecondsPassed return endif set fDelay to loopDelay
Я не понимаю логики этого блока, т.е. я не понимаю, откуда берутся значения того же fDelay. Как уменьшить этот самый кулдаун?
-
Какие именно строки? Сейчас проверка на ячейку прописана подблоком в цикле проверок на аборт подката.
-
Воот, а с такой строкой пошло дело.
В принципе, теперь цель на проверку ячейки вроде как достигнута. Но появилась другая проблема - кулдаун скрипта. Я могу его убрать, но боюсь, что тогда скрипт будет без толку бомбить всю игру, будучи где-то в 80% игрового процесса просто обузой, грузящей производительность.
Сам скрипт подцеплен к квесту, да. Я так понимаю, нужно сунуть в квест условие на этот формлист?
-
Если закомментить сроки
Let rCurCell := Player.GPC printc "%i" rCurCell If rCurCell.IsInList aaHookUpAllowedCells
И endif в конце соответственно - мод работает, как и раньше.
В консоль спамятся айдишники НПС (я так понимаю, не прошедших проверку)
Мне кажется, тут нужен принципиально другой подход - нужно сделать так, чтобы этот скрипт вообще запускался только в нужных ячейках. Как минимум из-за его кулдауна - если ГГ пришел в Мегатонну и сразу рванул в салун - скрипт уже отбомбил, и в салуне он напорется на банальный кулдаун, и в итоге работа мода сведется на нет.
-
Попробовала - результат абсолютно идентичный.
-
Выдает такое (айдишник появляется раз в несколько игровых часов, т.к. насколько я поняла, у сканера есть кд):
Первый айди появился на улице мегатонны, второй регулярно появляется раз в несколько часов в салуне мориарти. Тем не менее, никто не разе не подкатил (в настройках выставила макс. шанс, т.. харизма ГГ*5), т.е. сканер все еще не работает как надо.
-
Она не появилась и когда я зашла в разрешенную (второй скрин, салун мориарти).
-
Сделала принт после блоков, цифра 3 не появляется.
-
А вообще не понимаю, почему тебе просто не убивать сканер вообще, если ГГ не в разрешённых ячейках находится?
Потому что я понятия не имею, как это сделать?
-
Судя по всему, не работает (сканер вообще стопорится).
Текст текущего скрипта:
scn 00SexoutHookupQuestScript short playing float approach short legion short powder short kings short khans short ncrWhore short Whoring short doLegion short doPowder short doKings short doKhans short doNCRwhore short doWhoring short mLegion short mPowder short mKings short mKhans short mNCRwhore short mWhoring ref SexoutNCRWhore ref targetRef int iSelf short init short scanChance short scanIndex short scanCount short subLoops short loopDelay ref rCurCell float fDelay Begin GameMode Let rCurCell := Player.GPC if init < 5 set init to 5 set approach to 1.5 set scanIndex to 0 set subLoops to 5 set loopDelay to 300 / subLoops endif if GetGameLoaded PrintC "SexoutHookups: загрузка..." set iSelf to GetModIndex "SexoutHookups.esm" if 255 == iSelf set iSelf to GetModIndex "SexoutHookups.esp" endif if 255 == iSelf set iSelf to GetModIndex "SexoutHookupsAlt.esm" endif if 255 == iSelf set iSelf to GetModIndex "SexoutHookupsAlt.esp" endif set targetRef to BuildRef iSelf 2781 PrintC "SexoutHookups: Quest is %i" targetRef set targetRef to BuildRef iSelf 18649 PrintC "SexoutHookups: DebugQuest is %i" targetRef set targetRef to BuildRef iSelf 18651 PrintC "SexoutHookups: DebugOffQuest is %i" targetRef endif if GetGameRestarted set SexoutNCRWhore to 0 set mKhans to 0 set mKings to 0 set mLegion to 0 set mNCRwhore to 0 set mPowder to 0 set mWhoring to 0 if IsModLoaded "sexoutKhans.esp" set mKhans to GetModIndex "sexoutKhans.esp" endif if IsModLoaded "sexoutKhans.esm" set mKhans to GetModIndex "sexoutKhans.esm" endif if IsModLoaded "sexoutKings.esp" set mKings to GetModIndex "sexoutKings.esp" endif if IsModLoaded "sexoutKings.esm" set mKings to GetModIndex "sexoutKings.esm" endif if IsModLoaded "sexoutLegion.esp" set mLegion to GetModIndex "sexoutLegion.esp" endif if IsModLoaded "sexoutLegion.esm" set mLegion to GetModIndex "sexoutLegion.esm" endif if IsModLoaded "sexoutNCR.esp" set mNCRwhore to GetModIndex "sexoutNCR.esp" set SexoutNCRWhore to BuildRef mNCRwhore 160621 endif if IsModLoaded "sexoutNCR.esm" set mNCRwhore to GetModIndex "sexoutNCR.esm" set SexoutNCRWhore to BuildRef mNCRwhore 160621 endif if IsModLoaded "sexoutPowderGangers.esp" set mPowder to GetModIndex "sexoutPowderGangers.esp" endif if IsModLoaded "sexoutPowderGangers.esm" set mPowder to GetModIndex "sexoutPowderGangers.esm" endif if IsModLoaded "sexoutProstitutes.esp" set mWhoring to GetModIndex "sexoutProstitutes.esp" endif if IsModLoaded "sexoutProstitutes.esm" set mWhoring to GetModIndex "sexoutProstitutes.esm" endif if IsModLoaded "sexoutWorkinhGirl.esp" set mWhoring to GetModIndex "sexoutWorkinhGirl.esp" endif if IsModLoaded "sexoutWorkinhGirl.esm" set mWhoring to GetModIndex "sexoutWorkinhGirl.esm" endif endif short startwhile short endwhile set endwhile to 1 set doKhans to Khans * mKhans set doKings to Kings * mKings set doLegion to Legion * mLegion set doNCRwhore to NCRwhore * mNCRwhore set doPowder to Powder * mPowder set doWhoring to Whoring * mWhoring set targetRef to playerRef ref scan set scan to GetFirstRef 200 ; lets put a little delay here if fDelay > 0 set fDelay to fDelay - GetSecondsPassed return endif set fDelay to loopDelay set scanChance to (scanChance + 1) % subLoops ; one of 'subLoops' people tested at a time set scan to GetFirstRef 200 set scanCount to 0 set scanIndex to 0 Label startwhile set scanIndex to (scanIndex +1) % subLoops if scan if (scanIndex == scanChance) if scan.IsChild set scan to GetNextRef Goto startwhile endif if ListGetFormIndex aaHookUpsBannedNPC scan > -1 && rCurCell.IsInList aaHookUpAllowedCells == 0 set scan to GetNextRef Goto startwhile endif if scan.IsInList aaHookUpsBannedNPC set scan to GetNextRef Goto startwhile endif if scan == playerRef set scan to GetNextRef Goto startwhile endif if scan.GetDisabled set scan to GetNextRef Goto startwhile endif if scan.GetIsCreature set scan to GetNextRef Goto startwhile endif if scan.GetPlayerTeammate || scan.GetFactionRank FollowerFaction > -1 set scan to GetNextRef Goto startwhile endif if scan.IsChild set scan to GetNextRef Goto startwhile endif if scan == playerRef set scan to GetNextRef Goto startwhile endif if scan.GetDisabled set scan to GetNextRef Goto startwhile endif if scan.GetDead set scan to GetNextRef Goto startwhile endif if scan.GetUnconscious set scan to GetNextRef Goto startwhile endif if scan.GetRestrained set scan to GetNextRef Goto startwhile endif if ListGetFormIndex SexoutSLActorDataIsReserved scan > -1 set scan to GetNextRef Goto startwhile endif if scan.IsInList SexoutSLActorDataIsReserved set scan to GetNextRef Goto startwhile endif if ListGetFormIndex SexoutListBannedActor scan > -1 set scan to GetNextRef Goto startwhile endif if scan.IsInList SexoutListBannedActor set scan to GetNextRef Goto startwhile endif if ListGetFormIndex SexoutSLActorDataHatesSex scan > -1 set scan to GetNextRef Goto startwhile endif if scan.IsInList SexoutSLActorDataHatesSex set scan to GetNextRef Goto startwhile endif if ListGetFormIndex SexoutSLActorDataIsNotLookingForSex scan > -1 set scan to GetNextRef Goto startwhile endif if scan.IsInList SexoutSLActorDataIsNotLookingForSex set scan to GetNextRef Goto startwhile endif if ListGetFormIndex SexoutSLActorDataIsPartneredFaithfully scan > -1 set scan to GetNextRef Goto startwhile endif if scan.IsInList SexoutSLActorDataIsPartneredFaithfully set scan to GetNextRef Goto startwhile endif if scan.GetIsClass Prostitute set scan to GetNextRef Goto startwhile endif if doPowder if scan.GetInFaction vDialoguePowderGangerFaction set scan to GetNextRef Goto startwhile endif endif if doLegion if scan.GetInFaction vCaesarsLegionFaction set scan to GetNextRef Goto startwhile endif endif if doKings if scan.GetInFaction vKingsDialogueFaction set scan to GetNextRef Goto startwhile endif endif if doKhans if scan.GetInFaction vGreatKhansDialogueFaction set scan to GetNextRef Goto startwhile endif endif if doNCRwhore if scan.GetinFaction vNCRMilitaryDialogueFaction if targetRef.GetEquipped SexoutNCRWhore set scan to GetNextRef Goto startwhile endif endif endif if doWhoring ; what we really want is: ; set scan to BuildRef mWhoring 139704 ; if scan.whoremode if targetRef.GetEquipped SexoutListProstituteOutfits ; far from perfect as WorkingGirl allows whoring in arbitrary clothes set scan to GetNextRef Goto startwhile endif endif if (0 == (scan.IsSpellTarget SexoutHookupEffect)) && (0 == (scan.IsSpellTarget SexoutHookupOld)) short Limit ; base change 50 over 200 (1 in 4) set Limit to 50 ; if night, double limit if Gamehour > 19 set Limit to 2 * Limit endif ; if nympho, double limit again or for first time if not night if ListGetFormIndex SexoutSLActorDataIsNymphomaniac scan > -1 set Limit to 2 * Limit endif ; boosts ; + charisma * approach ; + 1/100 of Evil Karma set Limit to (Limit + (scan.GetAv Karma / -100) + (targetRef.GetAV Charisma * approach)) ; if wearing any armor with DT, make limit 0 if player.getav damagethreshold > 25 set Limit to 0 * Limit else set Limit to 1 * Limit endif short random set random to 2 * GetRandomPercent if random < Limit scan.CIOS SexoutHookupEffect else scan.CIOS SexoutHookupOld endif endif endif set scan to GetNextRef Goto startwhile endif End
Что может быть не так?
Вопросы по моддингу Fallout 3 и New Vegas
в Fallout 3 / NV - Мастерская по созданию модов
Опубликовано
Заменила - да, вроде как пошло гладко.
Доходит до 5 блока, потом через какое-то время снова прогоняет до 5-го. Я так понимаю, остальные блоки уже работают с фолловером, которого пока нет.
UD, конечно, наверняка имеет еще много подводных камней, но одним эррором, мучающим консоль, меньше - уже весьма неплохо. Спасибо.)