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

  • 0
Авторизация  
Grim_Munchkin

Баг с нпс после завершения задания "Эффект Саммер"

Вопрос

После завершения задания "Эффект Саммер" путем возвращения синта Саммер нанимателям сама Саммер (xx600936) и четыре ее конвоира (xx60093C, xx60093A, xx600939, xx60093B) притопали в Общину Кентербери зашли в ратушу Кентербери и теперь всей толпой тусят возле входной двери и похоже идти дальше нику не собираются. Насколько я понимаю по задумке мода Саммер должны были отконвоировать в Содружество и сдать на перепрошивку в Институт.

 

Изменено пользователем Grim_Munchkin

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


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

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

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

  • 0

SledTravel1 [PACK:0C600953] 

В нем зашито отключение через 

if (getDistance Player > 8000)
   disable
endif

Нужно заменить на getdistance2d или 3d.

Во вторых, этот пакет паровоза, я так понимаю, привязан только самому "работодателю", а остальные похоже просто следуют за ним вагонами. И я нигде не вижу такого же отключения вагонов.
 

Изменено пользователем pz_4

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


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

А нет, вагоны отключаются пакетами:
FollowKommander [PACK:0C600954]
FollowKommander1 [PACK:0C600958]
FollowKommander2 [PACK:0C600959]

FollowKommander3 [PACK:0C60095A]

 

SummerFollow2 [PACK:0D600952]


но тоже с проблемным getDistance Player, который тоже нужно заменить на getdistance2d или 3d.

Изменено пользователем pz_4

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


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

тусят

На пробу прав ли я. Нужно выбрать любого из васянов в завхат консоли, и проверяя вводя в консоль getdistance2d player - отойти на 8000 попугаев, после чего вернуться и проверить пропадут ли они.
Если да, то кроме дисейбла, надо будет еще и markfordelete их.
 

packeti_sammer.esp

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


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

На пробу прав ли я. Нужно выбрать любого из васянов в завхат консоли, и проверяя вводя в консоль getdistance2d player - отойти на 8000 попугаев, после чего вернуться и проверить пропадут ли они.

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

Изменено пользователем Grim_Munchkin

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


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

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

Команда должна только показать расстояние. Как только она покажет больше 8000 - надо вовзращаться и проверять.
Размеры комнаты ни на что не влияют, нужно выйти из комнаты и уходить подальше, периодически вбивая(при выбранном в активный объект "следопыте") её для проверки расстояния, пока значение не будет больше 8000. 

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

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

Изменено пользователем pz_4

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


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

Команда должна только показать расстояние. Как только она покажет больше 8000 - надо вовзращаться и проверять.
Размеры комнаты ни на что не влияют, нужно выйти из комнаты и уходить подальше, периодически вбивая(при выбранном в активный объект "следопыте") её для проверки расстояния, пока значение не будет больше 8000. 

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

Изменено пользователем Grim_Munchkin

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


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

Буду подумать завтра. Если магнум не опередит и не найдет других проблем.

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


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

Подумал.

С большой долей вероятности, проблема в следующем. У Паровоза, скрипт отключатор работает сразу дважды, on begin пакета и on end(в принципе это лишнее, ну да ладно), у вагонов же, он поставлен только в on end. 

Но, они априори не могут завершить свой пакет, ведь они вагоны, у них приказ следовать за паровозом. По идее назначение пакетам того же отключатора в on begin, решит проблему. Но это не сработает на уже зависших в доме дядюшки Роу вагонах, их нужно отключать вручную(консолью), увы.
Возможно(я не эксперт в пакетах и логике НПЦ), поможет еще и задача "end location" в пакете. 



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

packeti_sammer.esp

Изменено пользователем pz_4
  • Спасибо! 1

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


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

"end location" в пакете. 

Помогает и в случае уже зависших в локации васянов.

С сейва до окончания квеста проверил, вроде бы всё работает, паровоз и вагоны уходят.

Изменено пользователем pz_4

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


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

Поправлю сам себя. Помогло по сути, именно добавление "END location", блок  on begin для всех указанных пакетов - бесполезен, т.к. срабатывает он едниноразово, при старте пакета. А игрок в момент старта пакета разговаривает с НПЦ, и ну никак не сможет за секунду отойти от них на 3000 попугаев.

 

Кстати поэтому же не работает фича от авторов мода, где по их задумке при удалении на 3000 метров от игрока - должна всплыть смска, типа "нееш подумой". 
SummerFollow2 [PACK:0C600952]

Цитата

if (getDistance2d Player > 3000)
ShowMessage SummerMsg6
endif

SummerMsg6 [MESG:0C600924]

Короче если решать по красоте - нужно этот момент тоже переделать. Но мне лично, оно нафиг не сдалось и я этим заниматься не буду.

Изменено пользователем pz_4

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


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

С большой долей вероятности, проблема в следующем. У Паровоза, скрипт отключатор работает сразу дважды, on begin пакета и on end(в принципе это лишнее, ну да ладно), у вагонов же, он поставлен только в on end. 

Поставил. Проверил. Работает. Разбежались из ратуши до моего прихода в Кентербери.

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


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

@MagnuMspec при подшитии, надо убрать у "вагонов" он бегины, от них толку один черт нет.

 

А для Саммер, т.е. пакета SummerFollow2 - добавить в её он энд, к disable и markfordelete - ShowMessage SummerMsg6.

 

Эта смска типа эпилоговая должна быть, я ее перепутал с другой, это 5ая была "нееш подумой".

 

И тогда можно считать, что проблема решена "по красоте".

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


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

А для Саммер, т.е. пакета SummerFollow2 - добавить в её он энд, к disable и markfordelete - ShowMessage SummerMsg6.

Так, у пакета в твоем фиксе:

он бегин:

Спойлер

if (getDistance2d Player > 3000)
ShowMessage SummerMsg6
endif
if (getDistance2d Player > 8000)
   disable
markfordelete
endif

 

в он енд:

Спойлер

if (getDistance2d Player > 8000)
   disable
endif

 

Верно понимаю, что он бегин сносим, в то что в он бегин - перекидываем в он енд?

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


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

понимаю

Он бегин полностью сносим, проверка на 3000 попугаев тоже не нужна, после Марк фор делит ставим вызов мессаджа.

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


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

Чисто теоретически, все ещё остаётся шанс, что этих дураков можно будет навсегда заблокировать в доме дядюшки, если игрок:

 

В момент прибытия этих ребят в дом, окажется в нём же, т.е. получится, что при сработке ОнЭнда, игрок будет в меньше чем 8000 попугаев от нпц.

 

В этом плане, конечно, надежнее было бы удаление полностью переделать с нуля, и отработать его по триггеру или скриптом... Но блин, стоит ли оно того любиться с этим?

Ситуация даже в теории крайне синтетическая, не зная и не стремясь сломать - это один на сотню шанс что так сойдутся звёзды.

 

Хотя... ещё можно просто снести проверку на расстояние. Она вообщем то нафиг не нужна.

Изменено пользователем pz_4

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


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

Хотя... ещё можно просто снести проверку на расстояние. Она вообщем то нафиг не нужна.

Логично. Для пакета работодателя то же? Да и для пакета Саммер..

 

Смысл по сути чтоб снести непися при достижении пункта назначения. Проверка на расстояние будто бы нужна чтобы не пропал на глазах у игрока, не понятно куда девшись. Но думаю это не важно. Забежал в пожарную часть, вылез через окно, след простыл)

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


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

Проверка на расстояние будто бы нужна чтобы не пропал на глазах у игрока,

Глядя на то, как написан пакет, я уверен, что автор мода просто думал, что скрипт будет работать постоянно при выполнении пакета до нужного результата, а не два конкретных раза в начале и конце. Потому и впихнута проверка по расстоянию.

Хотя я не знаю, мб в тройке оно так и работало? В любом случае нам это не важно.

  • Нравится 1

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


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

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

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

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

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

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

Войти

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

Войти
Авторизация  


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

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

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