• Прежде, чем задать вопрос, пожалуйста, убедитесь, что такой вопрос не задавался раньше. Старайтесь описать суть вопроса как можно подробней. • Прежде, чем опубликовать ответ на вопрос, пожалуйста, убедитесь, что обладаете необходимыми для этого знаниями. Старайтесь cформулировать суть ответа как можно лаконичней. • При желании ответить в приватном порядке, пожалуйста, воспользуйтесь ЛС. • При желании поблагодарить ответившего, пожалуйста, воспользуйтесь кнопкой "+" полезного сообщения.
Сообщения, не относящиеся к вопросам по скриптам Papyrus, ответам на них или уточнениям, являются оффтопом и могут быть удалены.
Красное солнце Есть вопросы по скриптам Papyrus? Пиши не в ЛС, а в эту тему.
nepewka, не возражаю, доделывай. Вкратце, алгоритм: в алиас квеста для игрока добавляется абилити с эффектом констант-селф-плащ. Квест запускается стандартным скриптом (флаги runOnce, startGameEnabled, может что еще)...
EVENT OnInit() IF !IsCompleted() Start() ENDIF ENDEVENT
Как выглядит и работает плащ, ты знаешь, а если нет, посмотри ваниль. На конечном эффекте плаща указываешь заметный шейдер (контроль работы) и скрипт "при старте этого эффекта дать перк". В условиях эффекта указать "если субъект не имеет этого перка". Подавляющее большинство вопросов по функционалу скриптов можно изучить в СК-вики.
Это все для Скайрима, исключая выдачу перка, что там для F4 - не в курсе.
в алиас квеста для игрока добавляется абилити с эффектом констант-селф-плащ. Квест запускается стандартным скриптом
В референс алиас квеста, изначально заполненный игроком. Абилити можно добавить только в окно Spells алиаса. Скрипт со Start() вешается во вкладку Scripts квеста. Это ж все базовые вещи.
Добрый День! Прошу вас помочь в одной проблеме. При создании какого либо мода в CreationKit не работает Папирус. Хоть то какието квесты, хоть при создании простого торговца. Что только не пробовал. Решил писать уже на форумах. Проблема с какимто флагом. Ниже стандартное сообщение
Starting 1 compile threads for 1 files... Compiling "TIF__02008F83"... (0,0): Unable to find flags file: TESV_Papyrus_Flags.flg E:\Skyrim Special Edition\The Elder Scrolls V Skyrim - Special Edition\Data\Scripts\Source\temp\TIF__02008F83.psc(3,0): Unknown user flag Hidden No output generated for TIF__02008F83, compilation failed.
Batch compile of 1 files finished. 0 succeeded, 1 failed. Failed on TIF__02008F83
Что у меня: Пиратка Скайрима Спец Издания последней версии со SKSE последней версии. архив с Scripts распакован, CreationKit запускается от имени админа. Пользуюсь МО2, и при работе с модификациями не содержащими скрипты проблем нет. CreationKit от "кракозябр" вылечен... Чисто интуитивно предполагаю, что ответ на поверхности, но вообще не знаю что уже и думать..
Mgichko, попробуй следующее (не уверен, что подойдет для SE): в Data/Scripts/Source создай текстовый файл с указанным содержанием, затем переименуй его в TESV_Papyrus_Flags.flg
Flag Hidden 0 { Script Property } Flag Conditional 1 { Script Variable }
Изменение репутации для пользователя valambar
valambarOffline
Сообщение №3097
написано: 30 Май 2022, 23:40
| Отредактировано: valambar - 30 Май 2022, 23:43
Пытаюсь создать книгу, при прочтении которой будет выучено слово силы. Разумеется, наткнулся на полнейший темный лес в отношении синтаксиса.
Вопросы:
1. Как выбрать тип эвента - OnEquipped или OnRead? И соответственно - что у них должно быть прописано в скобочках?
2. При компиляции конструктор ругается, что ID слова силы, которое я прописал в скобках после Teachword, не определено. Что нужно прописать, чтобы оно было компилятором найдено?
Изменение репутации для пользователя Multigone
MultigoneOffline
Сообщение №3098
написано: 31 Май 2022, 12:24
| Отредактировано: Multigone - 31 Май 2022, 12:53
Скрипт сохранился без сообщений об ошибках, но при прочтении слово все равно не изучается.
_____
Ага, в окне редактирования пропертей нажал "Автозаполнение" - теперь все изучается, только что интересно - когда читаешь из инвентаря, ничего не происходит, а чтобы слово выучилось, надо выбросить из инвентаря и в таком положении прочитать.
Но еще не разобрался, как написать результирующий скрипт для диалога, чтобы в ходе диалога вещь (в данном случае книга) добавлялась в инвентарь игрока. В Обливионе и Фоллауте 3 и Нью Вегас это было предельно легко, а вот здесь...
Я не нашел подходящего типа эвента, чтобы он работал в диалоге.
valambar, общее правило для пустого окна скрипт-фрагментов диалогов: в одном из окон написать ";", скомпилировать, сохранить (закрыть) окно диалога, открыть его, добавить нужное Property (кнопка сбоку), стереть ";", написать желаемый код, в котором выполняются операции с этим Property. Скомпилировать.
Событий там нет, код выполняется в момент начала или конца диалога (это и есть события скрипт-фрагментов диалогов). Сам код будет выглядеть так:
Всё скомпилировалось. Сейчас попробую в игре (задумка мода такова, что за квест с гробницей Валока Тарстан дает в награду не какие-то там жалкие септимы, а свою книгу - драконий словарь, который позволяет выучить слова силы, еще не выученные игроком).
________________
В игре несмотря на то, что я добавил эвент OnEquipped - всё равно срабатывает только на чтение вне инвентаря, т.е. эвент OnRead.
________________
Теперь слова изучаются и при прочтении из инвентаря.
А выдается книга при диалоге с Тарстаном почему-то дважды. Надо поглядеть, где я накосячил.
Форум » TES V: Skyrim » Мастерская » Вопросы по скриптам Papyrus (О скриптах Papyrus (Skyrim). Скриптеры не проходите мимо!)