Перейти к содержанию
Авторизация  
Sabertooth

TES V CreationKit

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

В ходе квеста нужно включить следующую стадию - SetStage(20) в определенный час в 12.00 игрового времени. Как можно это сделать?

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

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


Ссылка на сообщение
Поделиться на другие сайты

Нужны дополнительные данные, хотя бы - повторяется действие или нет. От этого зависит вариант реализации.

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

Нужно описание ситуации.

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


Ссылка на сообщение
Поделиться на другие сайты

Нужны дополнительные данные, хотя бы - повторяется действие или нет. От этого зависит вариант реализации.

Нужно описание ситуации.

 

 

По квесту НПС предлагает встретиться в указанном месте в точное время 12.00. В это указанное время должна произойти смена стадии квеста и появиться через Enable() триггер на месте встречи. Т.к. разговор с НПС может произойти в любое игровое время, рассчитать сколько должно пройти до встречи невозможно. Поэтому через utility.Wait() не выйдет.

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


Ссылка на сообщение
Поделиться на другие сайты

По квесту НПС предлагает встретиться в указанном месте в точное время 12.00. В это указанное время должна произойти смена стадии квеста и появиться через Enable() триггер на месте встречи. Т.к. разговор с НПС может произойти в любое игровое время, рассчитать сколько должно пройти до встречи невозможно. Поэтому через utility.Wait() не выйдет.

"Команда (функция) GetCurrentTime возвращает текущее игровое время в десятичном формате. Т.е. 4:30 утра = 4.5, 7:45 вечера = 19.75."

Используй эту функцию и всё сможешь подсчитать и рассчитать.

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


Ссылка на сообщение
Поделиться на другие сайты

"Команда (функция) GetCurrentTime возвращает текущее игровое время в десятичном формате. Т.е. 4:30 утра = 4.5, 7:45 вечера = 19.75."

Используй эту функцию и всё сможешь подсчитать и рассчитать.

Не понял как работает эта функция.  Пытался всяко ее привентить в стадию. Есть хоть приблизительный пример ее использования в скрипте?

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


Ссылка на сообщение
Поделиться на другие сайты

Такой вариант пойдет?

 

; получаем текущее время в часах
float Time = Utility.GetCurrentGameTime()
Time -= Math.Floor(Time)
Time *= 24

; преобразуем в паузу до следующих 12-00
if Time > 12.0
    Time = 36 - Time
else
    Time = 12 - Time
endif

; запускаем таймер (в секундах)
RegisterForSingleUpdate(Time*3600)
.....
; обрабатываем прерывание
Event OnUpdate()
    ; делаем, что надо
EndEvent
 

* работает только если в скрипте нет других прерываний, иначе обработка сложнее

 

*Вместо таймера можно использовать Utility.WaitGameTime(Time) - тут в часах
 

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

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


Ссылка на сообщение
Поделиться на другие сайты

По квесту НПС предлагает встретиться в указанном месте в точное время 12.00. В это указанное время должна произойти смена стадии квеста и появиться через Enable() триггер на месте встречи. Т.к. разговор с НПС может произойти в любое игровое время, рассчитать сколько должно пройти до встречи невозможно. Поэтому через utility.Wait() не выйдет.

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

Нпц можно отправить в нужную точку через пакет, и после того как он войдет в зону, сработает триггер(который ты там разместил, только не надо его делать disable, а просто описать все условиями) и переключит в нужную стадию.

Допустим содержимое скрипта на триггере

 

Ontrigger(objectreference akactionRef)

if akactionRef == NPC && gamehour.value == 12 && mq.getstage() == текущая стадия

mq.setstage(переключаем в нужную стадию)

и тут уже, или в самой стадии, делаем то что нужно

endif

endevent

gamehour - это globalvariable

gamehour.value == 12 это можно и не писать так как в пакете для нпц мы указываем время в которое он будет работать, и когда нпц достигнет цели будет уже 12 или больше.

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


Ссылка на сообщение
Поделиться на другие сайты

* работает только если в скрипте нет других прерываний, иначе обработка сложнее

 

*Вместо таймера можно использовать Utility.WaitGameTime(Time) - тут в часах

 

 

В квесте есть прерывание на случай если ГГ не приходит в течении нескольких часов. В таком случае квест провален. 

Нпц можно отправить в нужную точку через пакет, и после того как он войдет в зону, сработает триггер(который ты там разместил, только не надо его делать disable, а просто описать все условиями) и переключит в нужную стадию.

 

 

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

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

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


Ссылка на сообщение
Поделиться на другие сайты

@DER2, ну, что? Решилось что-то? А то не мог следить.

Я с Dogma согласен полностью насчет использования нескриптовых возможностей, но все зависит от ситуации.

Судя по последнему абзацу, может обработать еще и смену локации игроком?

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

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


Ссылка на сообщение
Поделиться на другие сайты

Наверное ты там уже все порешал, но вот тебе еще один способ как можно справитбся с подобными задачами. Сцены. В первом блоке отправляешь непися через тревел к месту(в условиях можно выставить когда), потом в условиях окончания блока(когда непись уже на месте) ставишь, или больше 12 часов или персонаж находится в ячеке непися(или можно по дистанции чекнуть), в условиях начала следущего блока ставишь если персонаж не находится в ячейке/рядом непися, соответсвенно в скриптовом блоке пишеш все что тебе надо в данной ситуации. Ну а если мы пришли, сцена естественно проустит этот блок и в следущем уже форсгритим перса или любое другое действие на твое усмотрение.

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


Ссылка на сообщение
Поделиться на другие сайты

Пока не порешал. Застрял с другим квестом, который никак не запускается, игра его не распознает.

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

Со сценой бы подошло идеально, если она запустится в условиях разных ячеек для НПС и ГГ.

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


Ссылка на сообщение
Поделиться на другие сайты

@DER2, дык триггер под окно ему, и обрабатываем время в нем (ждет Джульетта или же уже с другим :-)

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

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


Ссылка на сообщение
Поделиться на другие сайты

Квест может не запуститься если алиасам по какойто причине не удалось заполниться, проверь, там косяк скорей всего(поставь всем флаг оптионал для проверки).

А по твоей проблеме, действительно что тебе мешает запихнуть все в блок условий триггера. Установи в условиях временные рамки. Только не через ontriggerenter a ontrigger тогда условия будут проверяться даже если мы просто стоим на триггере а не при входе в него.

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

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


Ссылка на сообщение
Поделиться на другие сайты

fedim, Dogma, спасибо за идеи

Скрытое содержимое

    Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
. Попробую оба способа с триггером и коллизией. Потом оставлю наиболее стабильный.

В квесте скорее всего косяк с алиасами, ты прав. Раньше я переписывал весь квест, откатываясь к ранней версии, но в этот раз так не выйдет. Не знал, что можно проверить флагом. Благодарен за подсказку.

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


Ссылка на сообщение
Поделиться на другие сайты

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

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


Ссылка на сообщение
Поделиться на другие сайты

Насчет алиасов. Если таковым назначить непися, который еще не выставлен в мир, это может быть проблемой в заполнении алиаса? 

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


Ссылка на сообщение
Поделиться на другие сайты

А как ты его назначишь если он еще не выставлен.

Делаешь пустой алиас с флагом optional, а потом в нужный момент заполняешь alias.forcerefto(ref). Потом если понадобится, его можно очистить alias.clear() и добавить в него любой другой референс.

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


Ссылка на сообщение
Поделиться на другие сайты

Прикрутил коллизию к окну, в ней обрабатываются условия на время. Вроде бы все пашет!

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

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


Ссылка на сообщение
Поделиться на другие сайты

Существует ли какое-нибудь событие вроде OnHavok или похожее, чтоб обработать прикосновение к предмету, любое, просто задел предмет ГГ, взял или ударил?

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


Ссылка на сообщение
Поделиться на другие сайты

@DER2,

Не слышал про такую, но можно запомнить координаты расположения предмета в мире, запустить проверку onupdate(), в которой проверять каждые несколько сек его расположение, и если предмет удалился на N-ное расстояние от дефолтных кооринат, уже делать там что тебе нужно в таком случае. Сам скрипт не могу написать так как не знаю когда буду за компом, а так наизусть все функции не помню которыми можно это написать.

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


Ссылка на сообщение
Поделиться на другие сайты

Всем привет. Можно ли в CreftionKit поменять текстуру тела у НПС определенной расы. Например бретонцев, имперцев и т.д.  И где находится этот файл Actors\Character\UpperBodyHumanFemale.egt ? Ни в папке meshes, ни в папке texture этого файла я не нашел.

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


Ссылка на сообщение
Поделиться на другие сайты

@mtos,

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

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


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От Koul999
      Тюремная альтернатива (LE/SE) | Prison Alternative
       
      Оригинал:
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
      Автор мода: Pamatronic
        Версия мода: 2.0.3
       
      Описание:
      Альтернативная тюремная система, которая разнообразит ваше пребывание в тюрьме за счёт событий SexLab и ZaZ. Чтобы перейти к событию после попадания в тюрьму, поспите на кровати в камере.
      Мод имеет модульную структуру, основанная на событиях. Благодаря этому можно добавлять легко новые события. События и их вероятность можно настроить в МСМ. События делятся на ежедневные, события наказания (например, за побег) и события освобождения. Мод можно настроить так, чтобы ваши компаньоны также попадали в тюрьму.
      Также изменена система побега. Теперь вам нужно покинуть город. Если вы совершили тяжёлое преступление или уже пытались бежать, на вас наденут наручники, что усложнит побег.
      Есть поддержка SimpleSlavery. Если у вас установлен SimpleSlavery, после отбывания заключения в тюрьме вы можете попасть на рабский аукцион.
       
      Совместимость:
      Этот мод работает с любыми другими модами, которые обычно отправляют игрока в ванильную тюрьму. Совместимо с Open Cities, Skyrim Sewers и другими модами, изменяющими городами. Совместимо с Sexlab Adventures. Мод не затрагивает шахту Сидна.
      Могут быть проблемы с модами на поражение в бою (нокдауны, зависящие от порога здоровья, должны быть отключены. Триггеры на поражение, основанные на кровотечении, работают без проблем). Не используйте Troubles of Heroine совместно с DCL. Got to bed необходимо отключить на время вашего пребывания в тюрьме. Для компаньонов, использующих системы, отличные от EFF, возможно потребуется отключить некоторые опции чтобы избежать проблем во время пребывания в тюрьме.
      Мод несовместим с Devious Devices и Devious Cursed Loot.
       
      Требования:
      Skyrim LE или Skyrim SE/AE
      SKSE
      SkyUI
      SexLab
      Zap8/Zap8+ (Необязательно, есть версия без необходимости в этом моде)
      Fores New Idles in Skyrim - FNIS
       
      Установка:
      Скачать мод и установить, используя любой менеджер модов.
      Подключить мод в используемом менеджере модов.
      После установки запустить в FNIS.
      Если вы установили дополнения для мода, зайдите в игру и в МСМ на вкладке Events сбросьте реестр событий, а затем зарегистрируйте их заново.
       
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте. | Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
       
    • От Holy mushroom
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
      Скачать 3.80 (@stas2503)
      Требования
      SkyUI 
       
      Необязательно
      SD Patches и его зависимости. 
       
      Описание
      Это дополнение для SD+
      Когда-либо был порабощен и подумал про себя, Ну это не так уж плохо, я могу просто подождать до наступления ночи и украсть ключ моего хозяина, пока он/она спит, и я снова свободен. Ну не больше, этот мод добавляет клетки в некоторые из бандитских мест, так что теперь, когда вы порабощены хозяин помести вас в запертую клетку с 0: 00 до 8: 00 для предотвращения побега
      Хозхяева повсюду будут благодарны вам, потому что теперь они могут хорошо выспаться, чтобы набраться сил, которые им понадобятся, чтобы бить вас и делать с вами невыразимые вещи весь следующий день.
      Я проложил NavMesh в самых камерах, чтобы НПС не действовали  как дебилы и пытались идти прямо через них.
      Этот мод также добавляет несколько видов крутых NPC в различные места - настраивается в MCM.
       
    • От stas2503
      SkyTweak Ru v. 7.14


      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте. Этот перевод единственный, который полностью на русском языке, включая МСМ
       
      Что такое SkyTweak?
      SkyTweak - это игровое меню с буквально сотнями вариантов балансировки игры.
      Когда вы объединяете кучу модов игрового процесса, конечный результат почти никогда не будет сбалансированным.
      SkyTweak исправляет это за вас и часто полностью заменяет множество более мелких модификаций.
      Перейдите на страницу со статьями, чтобы ознакомиться со списком функций. Обратите внимание, что скриншоты сделаны с опозданием на несколько лет.
       
      Требования:
      SkyUI
      SKSE

      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
      Grimy's Plugin (Уже включен в архив)  
      FISS - это инструмент, который позволяет  сохранять данные в файл XML.
      Что, в свою очередь, дает вам возможность передавать настройки SkyTweak между файлами сохранения.
      Без него вам придется переделывать настройки SkyTweak при каждой новой игре, которую вы запускаете.
      SkyTweak использует модифицированную версию SkyUILib. Это предварительно упаковано.
      Моды меню MCM могут не появиться, если вы поместите их за пределы 127-го слота мода.
       
      Совместимость
      Ни один из SkyTweak не запрограммирован жестко, поэтому у него практически нет проблем совместимости с другими модами.
      SkyTweak редактирует настройки через скрипт, когда вы загружаете файл сохранения.
      Это означает, что SkyTweak может и будет отменять настройки из других модов.
       
      Однако настройки SkyTweak будут идентичны настройкам вашего порядка загрузки, пока вы не внесете изменения.
      Кроме того, вы можете использовать опцию повторного импорта, чтобы сообщить SkyTweak о необходимости еще раз просканировать настройки вашего порядка загрузки.
      Если вы запускаете моды, которые динамически изменяют настройки игры в течение игры, вы захотите использовать параметры SkyTweak «Сохранить и выйти», чтобы выйти из игры, вместо выхода традиционным способом. Это даст SkyTweak время для записи обновленных настроек перед выходом.
       
      Скачать
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
    • От Dogma
      В разработке.

       Что это - приключенческий квест для женского персонажа, с нелинейным прохождением, некоторой, авторской анимацией, и не требующий никаких дополнительных секс систем.
      Мод может вам показаться не совсем обычным, я использовал несколько... нестандартный подход при его создании. У персонажа есть скрытый параметр, который будет повышаться в зависимости от выбора, я называю его "КАРМА". Это должно отразиться на диалогах, их вариативности и в самих сценах тоже должны быть различия.
       
      В моде присутствуют сцены для взрослых, по этому он не рекомендован детям младше 18 лет.  
       
      Требования -
       
      -
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.    - Для правильной работы скриптов.
      - Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.    - Расширение для скриптового языка.
      - Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.       - Для того чтобы диалоги не проскакивали.
      - Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.              - Версии 6.3 и выше. Для работы анимации.
      -                     - SoS-совместимый скелет, для мужских персонажей.
      - Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.      - Нужен только для отображения румянца на лице персонажей. Не надо ставить если у вас установлен racemenu. -
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте. - (необязательно) Для отображения времени в подземке.  
      Дополнительные требования для SE:

      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
                   
      Условия старта -
      - Ваш персонаж должен быть женского пола.
      - У вас не должно быть с собой спутников.
      - В кармане у вас должно быть больше ста монет.
       
      Квест начнется после того, как с вами заговорит незнакомец в таверне Рифтена.
      На данном этапе, вы можете пропустить события до версии 0.7 (Фолкрит начало), 0.8(Фолкрит - третий ингредиент), 0.9(Солитьюд начало), до 0.95(Подземка), 1.0(Освобождение Руны). Для этого зайдите в МСМ меню, и нажмите "Пропустить", затем покиньте меню, и пройдите опрос, который поможет настроить ваш выбор. Это доступно, до того момента, пока не начат основной квест.
      Пока мод находится в стадии разработки, советую сделать сохранение до установки мода, чтобы после прохождение, можно было к нему вернуться. Так как следующее обновление будет несовместимо с сохранением, на котором находятся данные прошлой версии мода.
      Установка.
       
      - Распаковать содержимое архива в папку Data.
      - Подключить DogmaEngine.esm и Dogma - Thief.esp в лаунчере или любом удобном менеджере плагинов.
      - Сгенерировать FNIS.
      - Играть.
       
      Удаление.
      Удалить файлы, запустить FNIS.

       
      Распространенные проблемы
       - В МСМ меню вас просят подключить мод, но мод уже подключен. Обновите papyrusutil до последней версии.
       - Персонажи во время анимации имеют некорректное выравнивание. 1-  у вас не установлен скелет xpmse. 2) Пропорции вашего персонажа отличаются от стандартных, причиной может быть настройка пропорций костей в racemenu. 3) Вы используете расу которая использует свой собственный скелет, отличающийся от xpmse. Либо у вашей расы нестандартные пропорции.
      - Во время сцен вы наблюдаете двойной "шланг" у персонажей. Пока я не могу решить эту проблему. Если вам это сильно мешает, отключите мод мужских тел который вы используете, на время прохождения квеста.
      - Если у вас слишком много анимационных файлов, у вас могут быть проблемы с генерацией FNIS. Если вы с этим столкнулись попробуйте скачать новую версию Fnis xxl. Или попробуйте на время убрать некоторые большие наборы анимации, переместив их файлы из папки Data\Meshes\actors\character\behaviors в другое место, например можно создать в этой папке новую папку и бросить их на время туда, в этом случае Fnis будет просто игнорировать их при генерации.
       
      FAQ.
      1- Будет ли продолжение?                 - Да, я не собираюсь прекращать работу над модом, до тех пор, пока он не будет полностью готов.
      2- Когда ждать продолжения?            - Это зависит от количества контента, который я собираюсь поместить в дополнение. 
      3- Могу ли я чем-то помочь?              - Если у вас есть желание и возможность, вы можете поддержать меня материально, подписавшись на мой
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте. .
      4- Можно ли будет поиграть за мужского персонажа? - Это исключено, так как идет в разрез с общим сюжетом. 
      5.- Мне это, и это не нравится!          - Значит этот мод не для вас.  
      Прохождение Маленький Негодник
       
       
      Изменения.
       

       



      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.

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

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

By using this site, you agree to our Условия использования.