Перейти к содержанию

  • 0
Bulbyan

Невозможно попасть после прохождения

Вопрос

операции Анкоридж на аванпост Изгоев. После нажатия на кнопу лифт тупа не едет. Так же в консоли появляется некое сообщение об ошибке.

ScreenShot1339.jpeg

Поделиться сообщением


Ссылка на сообщение

20 ответов на этот вопрос

Рекомендуемые сообщения

  • 0
В 24.07.2025 в 15:45, Bulbyan сказал:

Это сообщение перестало появляться.

Походу движковый баг NVSE, когда раз в сто лет команда возвращает 0 вместо нормального значения.

 

В 24.07.2025 в 15:45, Bulbyan сказал:

Вообще подойдет любое, где Анкоридж пройден. Неужели у тебя такого нет? )

Давно не играл, но на последнем сохранении, которое мне уже и не помню, кто скинул, есть)

 

Elevator-fix.esp

 

Древний баг оригинала, я думал, ранее у нас он уже был поправлен. Есть другая тема на форуме.

 

Изменения:

Поправлены все косяки, связанные с лифтом.

 

Чтобы фикс внедрить в оригинальный SFW, надо в скрипте DLC02ElevatorSCRIPT [SCPT:02003EC6] убрать строчку

Спойлер

CallWhen ({} => call SFWRAManagerPackagesWaitFollowers 2) ({} => player.IsInInterior == 0) 

 

А также в скрипте DLC02ElevDoorSCRIPT [SCPT:02003EC8] заменить строчку увольнения спутников на ту, что есть в оригинале:

Спойлер

        call SFWFNWaitAllFollowers - эту строку заменить на оригинал.

        CallAfterFrames 4 ({} => activate player 0) - вместо этой строчки просто оставить activate player.

 

Изменено пользователем FNVFUN
  • Нравится 2

Поделиться сообщением


Ссылка на сообщение
  • 0
4 часа назад, Bulbyan сказал:

После нажатия на кнопу лифт тупа не едет. Так же в консоли появляется некое сообщение об ошибке.

 

Убрал увольнение спутников, если Анкоридж пройден. Если на этом спотыкается..

GRA_AnchShaft_Endgame.esp

 

@FNVFUN, посмотришь плиз, почему может такая ошибка на увольнении валиться?

Поделиться сообщением


Ссылка на сообщение
  • 0
9 часов назад, MagnuMspec сказал:

Если на этом спотыкается..

Сообщение пропало, но лифт все равно не едет. 

Поделиться сообщением


Ссылка на сообщение
  • 0
4 часа назад, Bulbyan сказал:

Сообщение пропало, но лифт все равно не едет. 

а так?

 

GRA_AnchShaft_Endgame.esp

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
  • 0
35 минут назад, MagnuMspec сказал:

а так?

Тоже самое, не едет. 

Поделиться сообщением


Ссылка на сообщение
  • 0
3 часа назад, Bulbyan сказал:

Тоже самое, не едет. 

Если нажать на кнопку и ввести sv. Какое значение будет у state?

*Лучше на предыдущем фиксе.

Поделиться сообщением


Ссылка на сообщение
  • 0
13 минут назад, MagnuMspec сказал:

Если нажать на кнопку и ввести sv. Какое значение будет у state?

Вот SV до и после нажатия. 

ScreenShot1340.jpeg

 

Поделиться сообщением


Ссылка на сообщение
  • 0

Херня какая-то.

 

Так, если верно понимаю, логика такая.

Снаружи нажимаем на переключатель:

[REFR:02003BFC] (places DLC02ElevAboveSwitch "Переключатель" [ACTI:0200A4C6] in GRUP Cell Persistent Children of [CELL:02000805] (in DLC02BaileysCrossroads "Бейлиз Кроссроудз" [WRLD:02000804]) at 7,-8)

Он делает такую штуку:

Спойлер

    if getActionRef == player
        set DLC02LD.elevFlag to 1

        if ( ClearOnce == 0 )
            if ( DLC02OA1.OutcastsHostile == 0 )
                DLC02DefenderSibleyRef.ClearActorsFactionsPlayerEnemyFlag 
                set ClearOnce to 1
            endif
        endif
        DLC02ElevAboveDoorREF.activate player 1

    endif

 

Тем самым активируется дверь:

DLC02ElevAboveDoorREF [REFR:02003293] (places DLC02ElevDoor "Грузовой лифт" [DOOR:02003EC7] in GRUP Cell Persistent Children of [CELL:02000805] (in DLC02BaileysCrossroads "Бейлиз Кроссроудз" [WRLD:02000804]) at 7,-8)

Спойлер

begin onActivate

    if getActionRef == player
        player.scaonactor
        set DLC02LD.elevFlag to 1
        setRumble 0.2 0.1 3
        triggerHitShader 1

;While we're running this block, set any followers to Waiting so they don't wander into Anchorage
        if GetQuestCompleted DLC02OA4 == 0
                call SFWFNWaitAllFollowers
        endif
        activate player
    else
        ; do nothing
    endif

end

 

Мы попадаем внутрь аванпоста, где у панели лифта скрипт такой:

Спойлер

scn DLC02ElevatorSCRIPT

; this script contrls the elevator on the DLC02VSS01 side of things

short state        ; 0 = not running, at top
                    ; 1 = going down
                    ; 2 = not running, at bottom
                    ; 3 = going UP
ref actronaut


begin onActivate

    set actronaut to getActionRef

    if actronaut == player
        if state == 2
            set state to 3
            DLC02ElevShaft.playgroup backward 0            ; send the elevator back up
            DLC02ElevGate.playgroup backward 0            ; raise the little gate
            activate                                    ; play my little switch anim
        else
            ; do nothing
        endif
    else
        ; if not the player
        actronaut.activate DLC02VSStoBaileys

    endif

end


begin gameMode

    if DLC02LD.elevFlag  == 1                                                ; if we're flagged to run by the global var
        
        if state == 0                                                ; run once to establish correct state
            DLC02ElevShaft.playgroup forward 0                ; jump right into running the elevator
            DLC02ElevGate.playgroup forward 0                ; lower gate with it.
            set state to 1
        endif
        
        if DLC02ElevShaft.isAnimPlaying forward == 0                                    ; when the anim is finished....
            
            set DLC02LD.elevFlag to 0
            set state to 2

        endif

    endif

    if state == 3
        if DLC02ElevShaft.isAnimPlaying backward == 0
            set state to 0
            DLC02VSStoBaileys.activate player            ; send player through to Bailey's Crossroads
        endif
    endif    

    if DLC02ElevShaft.isAnimPlaying forward == 1 || DLC02ElevShaft.isAnimPlaying backward == 1
        triggerHitShader 0.1
        setRumble 0.15 0.1 0.01                                                                ; going for a low, constant rumble
    endif

end

Нас интересует блок gameMode, потому что OnActivate работает чтоб уехать вверх потом.

Т.е. попадая в интерьер (шахту лифта) мы сразу должна начать ехать.

DLC02LD.elevFlag == 1 у нас выставилось при переходе в интерьер, state == 0. Следовательно, должно запуститься это:

 

            DLC02ElevShaft.playgroup forward 0                ; jump right into running the elevator
            DLC02ElevGate.playgroup forward 0                ; lower gate with it.
            set state to 1

 

Но не запускается.

Хрен знает, что не так. Мне на ум приходит только если квест DLC02LD остановлен.

 

Попробуй сделать sqv XX000803. Вроде должно писать статус квеста.

Поделиться сообщением


Ссылка на сообщение
  • 0
28 минут назад, MagnuMspec сказал:

Попробуй сделать sqv XX000803. Вроде должно писать статус квеста.

Running?  Yes

Current Stage : 0

Priority 60

Поделиться сообщением


Ссылка на сообщение
  • 0
2 часа назад, Bulbyan сказал:

Running?  Yes

Current Stage : 0

Priority 60

А elevFlag там была? 1 должна быть, если стоим в лифте.

Поделиться сообщением


Ссылка на сообщение
  • 0
21 минуту назад, MagnuMspec сказал:

1 должна быть, если стоим в лифте.

=0 

Поделиться сообщением


Ссылка на сообщение
  • 0
3 часа назад, Bulbyan сказал:

=0 

ткни плиз консолью на объект, куда ты нажимал на Бейлиз-Кроссроудс, перед чтобы попасть внутрь.

Поделиться сообщением


Ссылка на сообщение
  • 0
8 часов назад, MagnuMspec сказал:

ткни плиз консолью на объект, куда ты нажимал на Бейлиз-Кроссроудс, перед чтобы попасть внутрь.

ScreenShot1341.jpeg

Поделиться сообщением


Ссылка на сообщение
  • 0
13 часов назад, Bulbyan сказал:
Спойлер

ScreenShot1341.jpeg

 

Сделал тупую проверку

GRA_AnchShaft_Endgame.esp

 

Но я все равно не понимаю, почему это происходит. Почему DLC02LD.elevFlag у тебя ноль, хотя кнопка снаружи должна была выставить 1.

 

Единственное что приходит на ум... в PlayerHomes есть мод на шахту Найки, там тоже юзается функционал лифта. Может быть как-то пакостит... Если подключен модуль, конечно.

Поделиться сообщением


Ссылка на сообщение
  • 0
10 часов назад, MagnuMspec сказал:

Сделал тупую проверку

Не помогает, лифт не едет.

10 часов назад, MagnuMspec сказал:

Если подключен модуль, конечно.

Не подключен, я им в этом прохождении не пользовался .

Поделиться сообщением


Ссылка на сообщение
  • 0

@FNVFUN может быть сможешь помочь разобраться?

тут какая-то фигня. При попадании в шахту лифта согласно скрипту DLC02ElevatorSCRIPT должна начинаться анимация движения. Условие для начала:

    if DLC02LD.elevFlag  == 1
        if state == 0     

У Bulbyan'а state=0 и DLC02LD.elevFlag=0.

Хотя попадает он в лифт нажатием на переключатель [REFR:02003BFC] (places DLC02ElevAboveSwitch "Переключатель" [ACTI:0200A4C6]

В котором написано:

    if getActionRef == player
        set DLC02LD.elevFlag to 1

 

Т.е. должно встать в 1. я попробовал вписать выставление 1 прям в скрипте лифта, но не помогло.

Хотя квест DLC02LD запущен.

Сделал небольшой поиск по плагинам, StopQuest DLC02LD никто не делает.

 

Причем, получается, проблема именно при повторном посещении Аванпоста, т.е. при первом все было нормально.

 

Поделиться сообщением


Ссылка на сообщение
  • 0
2 часа назад, MagnuMspec сказал:

@FNVFUN может быть сможешь помочь разобраться?

Гляну, но когда хз)

@Bulbyan, можешь скинуть свое сохранение? Желательно там где еще ошибка в консоли вылазит.

Поделиться сообщением


Ссылка на сообщение
  • 0
1 час назад, FNVFUN сказал:

можешь скинуть свое сохранение? Желательно там где еще ошибка в консоли вылазит.

Это сообщение перестало появляться. Пробовал на разных сохранениях. Вообще подойдет любое, где Анкоридж пройден. Неужели у тебя такого нет? )  Вообще баг этот я давно заметил, да как-то отписаться все руки не доходили.

Поделиться сообщением


Ссылка на сообщение
  • 0
3 часа назад, FNVFUN сказал:

Изменения:

Поправлены все косяки, связанные с лифтом.

Слушай, вопрос, ты убрал выключатель внутри, а он по идее связан с подъемом наверх. Сейчас подъем и без него должен быть норм?

Поделиться сообщением


Ссылка на сообщение
  • 0
1 час назад, MagnuMspec сказал:

Слушай, вопрос, ты убрал выключатель внутри, а он по идее связан с подъемом наверх. Сейчас подъем и без него должен быть норм?

Там прикол в том, что два выключателя в одном месте торчат) С одним и тем же объектным скриптом.

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


×
×
  • Создать...

Важная информация

Мы используем файлы cookie для обеспечения корректной работы сайта. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Узнать больше об обработке данных поможет Политика конфиденциальности