После убийства Грелод, Авентус Аретино говорит какую-то фразу и уходит в Приют. Каким образом можно заставить его вступить в диалог, не вмешиваясь при этом в ванильный квест?
Сделать другой квест со своими диалогами и пакетами. Если приоритет нового квеста будет выше ванильного, его пакеты будут "выше" в списке.
Чет ничего не получается. Задача в том, чтобы вступить в диалог с Авентусом после убийства Грелод Доброй. А он, поганец, говорит приветственную фразу и разговор заканчивается. Может кто-нибудь расписать по шагам, что нужно сделать для появления диалога, не трогая ванильный квест? Я создал новый квест, диалог, алиас Авентуса. Из условий пока только то, что эту фразу говорит только он. до убийства - диалог появляется, а вот после...
Поставь в условия первой фразы не Альяс Авентуса, а GetIsID Авентуса иногда это помогает..хотя может и не помочь.....тогда второй вариант, найти эту фразу в Creation Kit и снять галку с условия GoodBay
Первый вариант не прокатил, а что касается "снять галку Goodbay", то не хотелось бы потрошить ванильный квест. Ведь должна быть возможность заставить новый квест срабатывать ДО ванильного. Кстати, приоритет ванильного - 60, на свой установил 40. Не сработало.
Кто может глянуть, что заставляет Авентуса Аретино пойти в приют Рифтена после убийства Грелод? Квест DB01. Вроде никаких пакетов нет, в скриптах тоже ничего такого... И ещё вопрос: каким образом можно ПОНИЗИТЬ стадию квеста? SetStage() в этом случае не работает.
Можно в квесте поставить галочку AllowRepeatStages - тогда вроде Setstage может работать на установку более ранней стадии. Проверьте, если я неправильно сказал.
Всем привет. Есть задача - в темной пещере надо отыскать письмо. Оно становится видно (Enabled) только после применения посоха магического света (то есть во время действия заклинания "магический свет"). Какой скрипт нужно прицепить к этому письму?
andrelo-1, Dsion - спасибо за ответы. OnEffectStart() действительно не срабатывает. А какое событие надо отслеживать на источнике света? И как будет выглядеть скрипт?
Может, кто-то в курсе... Актеру в сцене назначен Travel-пакет. Он начинает движение, проходит мимо маркера назначения, идет к выходу из пещеры, выходит, затем опять входит в нее и только потом идет на свое место. Хотя в итоге цель и достигнута, но этот поход длится довольно долго. Непонятно, почему он сразу не идет к маркеру, а проходит мимо? В сцене есть еще актеры - они свои пакеты отрабатывают корректно.
Вопрос к знатокам скриптинга. В квесте есть алиас, который периодически случайным образом заполняется разными НПС (Actor1 - Actor8). Эти НПС подходят к ГГ и вступают с ним в диалог. Вопрос: что нужно написать в скрипте диалога, чтобы отследить в этом алиасе конкретного НПС (скажем, Actor1) и в случае, если это именно он вступает в разговор, увеличить на 1 некую переменную (скажем, count). Заранее благодарю за помощь.
Благодарю за помощь, это работает. Только мне нужно, чтобы MyGlobal изменялась только один раз при разговоре с конкретным НПС. Почему-то вот такой код работает неправильно:
Actor Property MyActor Auto GlobalVariable Property MyGlobal Auto bool doOnce IF (akSpeakerRef as Actor == MyActor) && !doOnce MyGlobal.Value += 1.0 doOnce = true ENDIF MyGlobal увеличивается при каждом разговоре с MyActor. Может, в скриптах диалогов есть какие-то особенности?
Multigone: Странно, конечно, но эффект тот же - MyGlobal постоянно увеличивается на 1 независимо от того, есть MyActor в форм-листе или нет.
Добавлено (16 Октября 2016, 18:37) ---------------------------------------------
Цитата Dsion
Чего-то мне интуиция подсказывает, что gumpus двинулся по неправильному пути несколько шагов назад.Как именно заполняется алиас? Перезапуском квеста или скриптом?
Алиас заполняется скриптом. Мне нужно чтобы переменная увеличивалась на 1 после разговора с конкретным НПС (одним из тех, кем заполняется алиас). Повторный разговор с этим же НПС ни на что влиять не должен. Всего таких НПС - 10 человек, т.е. после разговора с каждым из них переменная должна быть равна 10.
Не совсем понял... К ГГ подходит НПС (это и есть заполненный алиас) и начинает диалог. Вот в этом диалоге я и пишу скрипт. То есть akSpeakerRef и есть этот самый алиас AliasNPC (условие диалога GetIsAliasRef AliasNPC ==1). Что мне написать вместо GetAlias(0)?
Да, этот вариант работает, но он не совсем точно решает задачу. MyGlobal установится в 10, когда в диалог вступят любые (разные) 10 НПС. Мне же нужно, чтобы это были 10 КОНКРЕТНЫХ НПС.
Есть ли какая-то возможность скриптом выводить на экран список с возможностью выбора из него? Например, я нажимаю кнопку и на экране появляется список из 10 пунктов (именно список, а не 10 кнопок). Выбрав определенный пункт в этом списке, происходит некое действие. Или, как вариант, вместо списка появляется поле ввода с предложением вписать туда цифру от 1 до 10, которая затем обрабатывается скриптом.
Есть ли скриптовая команда, позволяющая установить курсор (камеру) на указанную цель? После диалога применяется функция Spell.Cast (Player, Target1), Spell.Cast (Player, Target2) и т.д. на несколько рядом стоящих целей, но срабатывает только на спикере, так как остальные спеллы пролетают тупо мимо своих целей (все летят в спикера, т.к. на него сфокусирована камера). Или можно как-то по-другому это реализовать?
Загрузил плагин в CK. Пытаюсь зайти в Gameplay->Animations и CK вылетает на рабочий стол. Опытным путем удалось выяснить, что дело в Unofficial Skyrim Legendary Edition Patch (его требует плагин). Без него в Animations заходит без проблем. BSA в SkyrimEditor.ini прописан. Может, кто-то сталкивался? Как это пофиксить?
Кто-нибудь может загрузить в Creation Kit Unofficial Skyrim Legendary Edition Patch (USLEEP) и зайти в Gameplay->Animations? Появится список hkx-файлов или нет? Хочется убедиться, что это моя локальная проблема, а не общая.
Всем привет! По окончании нескольких РАЗНЫХ диалогов должен запускаться ОДИН И ТОТ ЖЕ скрипт. Можно, конечно, компилировать этот код в конце каждого диалога (End Fragment), но тогда получится куча одинаковых скриптов с разным именем. Как заставить топики использовать один и тот же скрипт? Если использовать кнопку Add в поле Script Name, в какой момент запустится добавленный скрипт? Аналогичный вопрос по сценам. Как добавить ОДИН скрипт, чтобы он запускался в конце РАЗНЫХ сцен?
Всех с наступившим! Нужна помощь со скриптом. Допустим, игрок подбирает Предмет. По умолчанию, этот Предмет оказывается в инвентаре игрока и исчезает из игрового мира. Как сделать так, чтобы Предмет оказался в инвентаре игрока, но не исчез из игрового мира, а отключился (Disable). А после того, как предмет удалится из инвентаря игрока, он вновь появился (Enable) там, откуда его взяли. Буду рад любой помощи.
Приоткрою завесу тайны ) Предмет - это мыло. В игре это выглядит так: мыло лежит на тумбочке (не в контейнере!), игрок берет это мыло и идет в душ. По окончании процесса (анимация запускается только при наличии у игрока мыла) оно удаляется из инвентаря игрока и вновь появляется на тумбочке. Локация всегда одна - дом игрока. Как должен выглядеть скрипт в части появления мыла? Можно как-то вместо удаления переместить его из инвентаря на прежнее место?