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

  • 0
FNVFUN

RA-Followers - Виктор - Трэнквилити-лейн

Вопрос

Виктор (ID xx000f8c) портуется за ГГ в Трэнквилити-лейн. Обычно спутники, насколько я знаю, при входе в режим симуляции автоматически переводится в режим ожидания.

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


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

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

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

  • 0
11 часов назад, FNVFUN сказал:

Да. Могу без скриптраннера сделать, просто влом было создавать квест и плодить еще два скрипта.

 

Да это я тупанул) Делал разные фиксы в одном плагине, а потом забыл один пакет перекинуть в этот фикс.

SFWRAFollowersWaits.zip

Спасибо! подшил.

  • Нравится 1

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


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

Баг все еще актуален. Существует исправление хоть для кого-нибудь из модуля спутников?

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


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

Баг все еще актуален. 

А разве есть альтернатива ручному перебору всех напарников по айди и их отправлению по домам для таких мест?

С точки зрения скриптинга, имею ввиду.

Особенно с учётом того, что чуть более чем все напарники из СФВ не оформлены(зачастую авторами исходных модов) как напарники, многие имеют кастрированные диалоги напарника, многих нельзя даже домой отправить по человечески.

Лично я даже оригинальных то напарников не очень переношу, от них больше головняка чем пользы, но людям, судя по всему по кайфу собирать паровозы на 3-5 вагонов.

И я без понятия как вот такое вот учитывать в квестах типа Анкориджа, Лейна, и многих других местах.

Почти каждый мод в составе сборки рекомендует не брать на сюжет компаньонов те же Дэвил Виш, Метрополис, например и многое другое, но почти все такие места не имеют технической проверки на напарников.

Хотя...

Стотит глянуть код из комнаты Хауса(той, где он через мониторы даёт задания) в Лаки 38, вроде бы там как то сделан запрет на посещение её напарниками, даже "временными" без их перевода в ожидание или роспуска.

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


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

А разве есть альтернатива ручному перебору всех напарников по айди и их отправлению по домам для таких мест?

С точки зрения скриптинга, имею ввиду.

Я что-то типа такого и спрашиваю) Для оригинальных напарников есть общий скрипт, который вызывается в нужных местах. Я спрашиваю, есть ли такой же универсальный скрипт для RA-Followers, чтобы туда вписать напарников, которые еще туда не вписаны.

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

 

7 часов назад, pz_4 сказал:

Стотит глянуть код из комнаты Хауса(той, где он через мониторы даёт задания) в Лаки 38, вроде бы там как то сделан запрет на посещение её напарниками, даже "временными" без их перевода в ожидание или роспуска.

Интересно. Предположу, что используется функция wait

Еще тут как-то реализовано ожидание для всех напарников.

Спойлер

 

 

В любом случае пока надо ждать ответа Магнума.

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


Ссылка на сообщение
  • 0
В 10.06.2023 в 17:41, FNVFUN сказал:

Баг все еще актуален. Существует исправление хоть для кого-нибудь из модуля спутников?

Тот же вопрос, но насчет увольнения спутников в некоторых сценках) Если есть какой-нибудь универсальный скрипт, куда можно вписать спутников?

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


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

Тот же вопрос, но насчет увольнения спутников в некоторых сценках) Если есть какой-нибудь универсальный скрипт, куда можно вписать спутников?

Я щетаю, что можно создать само-завершающийся квест увольнения спутников.

 

И стартовать его для деда Мани, Анкориджа, Трэнквилити итд

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


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

Тот же вопрос, но насчет увольнения спутников в некоторых сценках) Если есть какой-нибудь универсальный скрипт, куда можно вписать спутников?

в ванильных ситуациях юзается SFWFNFireAllFollowers

и SFWFNWaitAllFollowers, а потом SFWFNFollowAllFollowers

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

 

Примерно так я сделал совместимость между правками ванильных квестов и скриптов между модулями, пример: DoNothingForNinerReasonSCRIPT [SCPT:0B905750]

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


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

в ванильных ситуациях юзается SFWFNFireAllFollowers

Вопрос был в том, сделано ли что-то подобное в модулях, хотя бы в зачаточном состоянии?) Т.е. мне с нуля создавать скрипт, или уже ранее созданный тобой скрипт редактировать)

 

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

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

Конкретно для увольнения так и сделал. Скрипт SFWFNFireAllFollowers вызывает другой скрипт, в котором увольняются компаньоны из RA-Followers. Вписал туда Виктора, Рональда, Ванессу и Делайлу.

 

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

Примерно так я сделал совместимость между правками ванильных квестов и скриптов между модулями, пример: DoNothingForNinerReasonSCRIPT [SCPT:0B905750]

Тут не понял, про какой конкретно модуль идет речь)

 

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

и SFWFNWaitAllFollowers, а потом SFWFNFollowAllFollowers

А вот тут другой вопрос. Тут надо (можно) сделать именно универсальный вариант увольнения ожидания, чтобы вручную не прописывать переменные ожидания для каждого компаньона (т.к. помимо переменной Waiting там еще куча других переменных может быть). Пока что есть идея сделать это через функцию wait или добавлять универсальный пакет ожидания на время. Еще pz_4 предложил посмотреть, как эта механика реализована при входе в комнату с Хаусом.

Есть еще идеи, как реализовать данную механику? Чтобы сразу все обмозговать, а потом браться за дело.

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


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

Я щетаю, что можно создать само-завершающийся квест увольнения спутников.

Через call будет лучше, я думаю)

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


Ссылка на сообщение
  • 0
Только что, FNVFUN сказал:

Через call будет лучше, я думаю)

Хотел предложить через Call сначала, но чёт передумал, НЭ ЗНАЮ ЧОМУ

 

Можно ИД компаньонов добавить в форм-лист и обрабатывать циклом

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


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

Можно ИД компаньонов добавить в форм-лист и обрабатывать циклом

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

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


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

Тут не понял, про какой конкретно модуль идет речь)

Followers и PlayerHomes.

 

Или вот возьми этот DoNothingForNinerHeliosReasonSCRIPT [SCPT:11905774]

Изначально он пустышка. Но Followers впиливает в него контент Найнера, а сам скрипт вызывается в Quests. 

 

49 минут назад, FNVFUN сказал:

Вопрос был в том, сделано ли что-то подобное в модулях, хотя бы в зачаточном состоянии?) Т.е. мне с нуля создавать скрипт, или уже ранее созданный тобой скрипт редактировать)

Не, только примеры DoNothingForБлаблабла.

 

50 минут назад, FNVFUN сказал:

А вот тут другой вопрос. Тут надо (можно) сделать именно универсальный вариант увольнения, чтобы вручную не прописывать переменные ожидания для каждого компаньона (т.к. помимо переменной Waiting там еще куча других переменных может быть). Пока что есть идея сделать это через функцию wait или добавлять универсальный пакет ожидания на время. Еще pz_4 предложил посмотреть, как эта механика реализована при входе в комнату с Хаусом.

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

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

 

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


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

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

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

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

 

Можешь еще какой-нибудь пример отличий между спутниками привести, который не позволяет им всем на время добавить универсальный пакет ожидания, а потом его убрать?

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


Ссылка на сообщение
  • 0
В 11.06.2023 в 00:22, pz_4 сказал:

Стотит глянуть код из комнаты Хауса(той, где он через мониторы даёт задания) в Лаки 38, вроде бы там как то сделан запрет на посещение её напарниками, даже "временными" без их перевода в ожидание или роспуска.

Оказалось, что такого нет) Ванесса спокойно входит туда вместе с игроком.

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


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

Попробовал сделать универсальный скрипт ожидания, и вроде вышло хорошо.

Просто получаю массив npc, которые следуют за игроком, с помощью функции Player.GetFollowers. И назначаю их пакетам режим Wait.

Режим Wait пропадает при активации любого из этих спутников. Для этого использую обработчик событий ShowOff:OnPreActivate.

 

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

  • Нравится 3

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


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

Попробовал сделать универсальный скрипт ожидания, и вроде вышло хорошо.

Просто получаю массив npc, которые следуют за игроком, с помощью функции Player.GetFollowers. И назначаю их пакетам режим Wait.

Режим Wait пропадает при активации любого из этих спутников. Для этого использую обработчик событий ShowOff:OnPreActivate.

Т.е. пакет не сменяется, а просто меняется текущий? С ожиданием надо аккуратно в том плане, что для того чтобы спутник не телепортировался за ГГ в другую ячейку, ему нужна переменная Waiting=1, вроде как.

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


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

Т.е. пакет не сменяется, а просто меняется текущий? С ожиданием надо аккуратно в том плане, что для того чтобы спутник не телепортировался за ГГ в другую ячейку, ему нужна переменная Waiting=1, вроде как.

Не, используется функция Wait. Она переводит действующий пакет в режим ожидания. И все) Менять переменную Waiting не нужно.

  • Нравится 1

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


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

Не, используется функция Wait. Она переводит действующий пакет в режим ожидания. И все) Менять переменную Waiting не нужно.

Тогда по идее должно работать, и не тп-шить спутников за ГГ при смене ячейки. Круто! :)

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


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

Тогда по идее должно работать, и не тп-шить спутников за ГГ при смене ячейки. Круто! :)

Дьявол кроется в деталях. Если изменить пакет спутника, то снять флаг "Wait" с пакета, на котором этот флаг стоит, будет нельзя. Так что нужно будет танцевать с бубнами, чтобы просчитать все моменты, которые могут привести к конфликтам. Либо у игрока не должно быть никакого способа изменять пакеты спутников до тех пор, пока флаг "Wait" с их текущих пакетов не будет снят.

Если же попробовать сделать фикс через добавление универсального пакета, то тоже не выйдет, т.к. универсальный пакет активен только для текущего игрового сеанса, что создает еще больше проблем, чем с функцией Wait.

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

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


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

Дьявол кроется в деталях.

Эх, если это не вариант, тогда может и правда как я написал, сделать скрипты ожиданий для всех спутников по одному на модуль, и прописать их вызов внутрь sfw-шных?

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


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

Эх, если это не вариант

Пока что хз) Еще что-нибудь попробую.

 

13 минут назад, MagnuMspec сказал:

тогда может и правда как я написал, сделать скрипты ожиданий для всех спутников по одному на модуль, и прописать их вызов внутрь sfw-шных?

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

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


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

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

Окей)

Только скрипт пустышку закинуть в мастер, вписать его через call в скрипт ожидания, и уже в фолловерах добавить в него записи для фолловеров. :)

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


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

Эх, если это не вариант, тогда может и правда как я написал, сделать скрипты ожиданий для всех спутников по одному на модуль, и прописать их вызов внутрь sfw-шных?

С горем пополам сделал универсальный скрипт, только он конфликтует с оригинальным скриптом SFWFNWaitAllFollowers. Т.е. надо для SFW-RA в этом скрипте закомменить строчки для ориг. спутников. Пойдет такой вариант? По крайней мере, пока кто-нибудь не возьмется вручную прописывать каждому спутнику и фолловеру режим ожидания.

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


Ссылка на сообщение
  • 0
Только что, FNVFUN сказал:

С горем пополам сделал универсальный скрипт, только он конфликтует с оригинальным скриптом SFWFNWaitAllFollowers. Т.е. надо для SFW-RA в этом скрипте закомменить строчки для ориг. спутников. Пойдет такой вариант? По крайней мере, пока кто-нибудь не возьмется вручную прописывать каждому спутнику и фолловеру режим ожидания.

Можешь под спойлер скинуть сорц скрипта? Очень интересно.

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


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

С горем пополам сделал универсальный скрипт, только он конфликтует с оригинальным скриптом SFWFNWaitAllFollowers. Т.е. надо для SFW-RA в этом скрипте закомменить строчки для ориг. спутников. Пойдет такой вариант? По крайней мере, пока кто-нибудь не возьмется вручную прописывать каждому спутнику и фолловеру режим ожидания.

подойдет.

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


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

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

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

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

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

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

Войти

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

Войти


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