С триггером так же, но ивент OnTriggerEnter + проверку, что именно попало в триггер. И желательно disable сам триггер, чтоб больше не срабатывал.
Добавлено (08 Мая 2015, 13:50) --------------------------------------------- Можно еще сделать, чтоб они не просто появлялись, а хоть за спиной ГГ... Или прибегали откуда-то.
GF_RiseD, картинка нифига не отображается... Какое там окно? И что за скрипт? Event OnActivate? Я бы не трогал ванильные объекты. Можно попробовать сделать перк с "Add Activate Choice". При активации воркбенча игроку будет вываливаться выбор. Для выбора можно использовать стандартное окошко или сделать своё собственное. Если игроку нужно активировать не стандартный воркбенч, то можно просто засунуть его в проперти и вызывать методом Activate. Будет открываться меню крафта даже если воркбенч на другом конце света.
Поставить где-то свой воркбенч. Засунуть его в какую-то проперти скрипта. Пусть будет Bench. А потом вот так активировать из любого места: Bench.Activate(Game.GetPlayer()) С сундуками тоже работает, если нужно будет... Можно, к примеру, сделать простенькое заклинание, открывающее из любого места сундук, стоящий дома. С "Add Activate Choice" тоже желательно разобраться... Это лучше, чем редактировать ванильные объекты.
Добавлено (10 Мая 2015, 01:50) --------------------------------------------- Картинка так и не открылась. Может, я воще не так всё понял.
Одно лишь вешанье на объект скрипта с ивентом OnActivate не предотвращает его обычную активацию... Заблокировать её можно методомBlockActivation(True), но это отстой... Если пользователь решит отключить твой мод, то так больше никогда и не сможет использовать бенчи, для которых была заблокирована активация. Я бы все-таки пилил с помощью перка. И еще:
Цитата GF_RiseD
Activate(ForcePoisonArrowsMenu)
Вообще не по теме... Я в предыдущем сообщении приводил пример.
Можно посмотреть перк DA04BloodHarvestPerk. Он используется в квесте на сбор крови эльфов. При определенных условиях (которые там видны) при активации трупа появляется выбор: обыскать или собрать кровь.
Да, видно... Так что конкретно ты предпринял для того, чтоб не активировался обычный алхимический стол? Ох, я прямо отсюда чую, как тебе лень разбираться с Entry Point перков :-D Но это было бы правильно.
Если крафт должен быть доступен с любого стола во всем мире, то лучше через перк... А если делать свой собственный уникальный стол, который будет стоять в одном месте... Тогда можно и через ивент, наверное. Только подпилить его, чтоб он не считался алхимическим столом. Чтоб был как-бы обычной фурнитурой. Тогда никакое меню крафта не будет выскакивать, пока ты его сам не вызовешь.
All55, такой фильтр можно добавить когда даешь вещи какому-то NPC... А для сундука - вряд ли. Никогда ничего подходящего не видел. Боюсь, выплевывание неподходящих вещей - это максимум, чего можно добиться. Во всяком случае, без SKSE.
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №581
| Тема: Вопросы по скриптам Papyrus
написано: 13 мая 2015, 20:06
| Отредактировано: Dsion - 13 мая 2015, 20:07
Можно, наверное. Но с этим меню принятия/получения подарков там еще всякие другие проблемы. Например, оно может работать только на принятие вещей или на получение. Не одновременно. И еще там по мелочам.
При активации контейнера просматриваем все вещи в инвентаре и сравниваем со списком разрешенных вещей для данного сундука. Лишние складываем в отдельный контейнер.При закрытии сундука, вещи из контейнера забираем.
एक अच्छा विचार!
Добавлено (18 Мая 2015, 09:37) --------------------------------------------- Можно сделать так, чтоб, при активации сундука, вся руда, что есть у игрока, сама туда складывалась. Или при возвращении игрока домой... Или сразу после попадания к игроку.
Можешь называть это "недостающие файлы", если совесть не мирится со словом "пиратка"... Я не в курсе, в чем проблема. Может, вовсе и не в отсутствии файлов. Хорошо бы сначала уяснить, какой именно скрипт расширяется и проверить его наличие в упомянутой папке.
А чего бы и не узнать? Скриптом, например. Есть функции для определения любой из координат. http://www.creationkit.com/ObjectReference_Script Вот только у интерьеров свои системы координат... И у разных World. Про прописать в КС не понял...
Из списка пакетов выбирается первый, на котором выполняются все условия (Conditions). Если, допустим, на первом пакете условие "с 7 утра до 7 вечера", то в это время он и будет выполняться. А в другое время игра его пропустит и пойдет дальше по списку пакетов.
Если один NPC находится в нескольких алиасах разных квестов, то первыми будут проверяться пакеты на том квесте, у которого приоритет установлен выше... А если на алиасах валидных пакетов нету, будут проверяться те, что прицеплены к самому NPC.
Если серьезно, то воспользоваться функцией поиска в CK и найти инфо с этой фразой. Посмотреть условия на этом инфо, подумать и сделать так, чтоб они не выполнялись.
Но веселее было бы добавить скрипт к этому инфо... Например, чтоб собака отвечала "пошел ты" и колдовала в супруга "Фус".
Вроде, нашел. Но у меня Скайрим только английский. Не уверен, что это именно та фраза. На фразе "Good dog." у меня только одно условие: GetRalationshipRank Alias:SceneDog > 0.0
Как бы исправить...? Ясное дело, можно отредактировать квест с этой сценой. Убрать условие или, наоборот, добавить какое-то. Если редактирование ванильных записей - не проблема, то вариантов много.
А если без этого... Черт знает. У меня есть скриптик в три строчки, который раз и навсегда помирил бы супругу и собаку. Но куда же его прикрутить? Так, чтоб выполнился один раз и всё. Самый тупой вариант: сделать диалог "Перестань обзывать собаку!". И перестанет. Но это не очень, да?
То не та дружба... А даже если бы была и та, то чем это лучше? Не перезаписывать же весь HF квест ради добавления алиасу собаки какой-то фракции? Лучше уж изменить тот квест с фразой "тупая псина" - там всего одна сцена и больше ничего важного. Можно и перезаписать.