Перейти к содержимому


Фотография

Вопросы по скриптам

papyrus help скрипты вопросы

  • Авторизуйтесь для ответа в теме

#121 Ссылка на это сообщение Potatoider

Potatoider
  • Знаменитый оратор


  • 4 350 сообщений
  •    

Отправлено

Тема для вопросов по скриптингу.

Функции папируса:

На английском

На русском (не все, но базис)



 




  • Авторизуйтесь для ответа в теме
Сообщений в теме: 832

#122 Ссылка на это сообщение LokiLegioner

LokiLegioner
  • Скиталец
  • 34 сообщений

Отправлено

У меня такая проблема: я делаю урок - стандартный описанный во многих источниках, - урок "как сделать квест", у Кальяна, и на других форумах он одинаковый. Там где несколько стадий квеста 0, 10, 20. Я прописывал все диалоги и зачитывал их. Не сразу, но дерево диалогов, и аудио записанное стало работать (кстати здесь оставлю замечание, что нигде не написано, что диалог будет работать, только если ты сделал диалог в Ките, установил мод, загрузил своию игру, СОХРАНИЛСЯ в игре с модом, снова ЗАГРУЗИЛСЯ и только после этого всё будет работать как надо с деревом диалогов квеста. Нигде не сказан нюанс с сохранением/зугрузкой и их ролью для внесения правок в собственный мод).

 

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

 

Я почитал про то что для того чтоб скрипты работали нужно загрузить пару архивчиков. Сделал, это решило проблему того, что ранее скрипты даже в Ките не компилились (речь идёт о простых скриптах, в которых ошибки быть не может, десять раз проверял, тот же GetOwningQuest().SetObjectiveDisplayed(10)

GetOwningQuest().SetStage(10) ). В общем скрипты компилятся, ошибку Кит не выдаёт, но не работают.

 

У меня редактор и папка с игрой Стимовская, рускоязычная (все правки в инфо файл в связи с русской версией внёс)

 

В чём может быть проблема? 


Сообщение отредактировал LokiLegioner: 28 февраля 2017 - 14:49


#123 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 733 сообщений
  •    

Отправлено

да, я и хочу так сделать, подскажите как?

И в третий раз... сделать это в интерьерной или экстерьерной ячейке?

#124 Ссылка на это сообщение -Miro-

-Miro-
  • Профи
  • 339 сообщений
  •    

Отправлено

И в третий раз... сделать это в интерьерной или экстерьерной ячейке?

в Любой Ячейке и в интерьере и в экстерьере!!



#125 Ссылка на это сообщение -Miro-

-Miro-
  • Профи
  • 339 сообщений
  •    

Отправлено

в Любой Ячейке и в интерьере и в экстерьере!!

ну так, не знаете как это сделать?  :)



#126 Ссылка на это сообщение LokiLegioner

LokiLegioner
  • Скиталец
  • 34 сообщений

Отправлено

А что с моим вопросом не понятно?



#127 Ссылка на это сообщение RobbyWhite

RobbyWhite
  • Новенький
  • 5 сообщений

Отправлено

Здравствуйте уважаемые, если не затруднит поясните мне такую деталь - есть евент который откликается на нажатие определенной кнопки, к примеру RegisterForKey(*anykeycode*) или OnKeyDown(Int KeyCode), очень интересная штука, но вот куда повесить скрипт с этим евентом, чтобы его можно было вызвать игроку всегда и везде?



#128 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 733 сообщений
  •    

Отправлено

Здравствуйте уважаемые, если не затруднит поясните мне такую деталь - есть евент который откликается на нажатие определенной кнопки, к примеру RegisterForKey(*anykeycode*) или OnKeyDown(Int KeyCode), очень интересная штука, но вот куда повесить скрипт с этим евентом, чтобы его можно было вызвать игроку всегда и везде?


На элиас игрока в квесте.

#129 Ссылка на это сообщение SICreef

SICreef
  • Следопыт
  • 71 сообщений
  •  

Отправлено

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

Скрипт

 

Этот скрипт задержавшись на 15 секунд, должен добавить слитки в пустые уровневые листы, а пустые уровневые листы, в свою очередь, уже добавлены в контейнер. Проблема в том, что слитки не появляются в контейнере. Сообщение появляется и добавляется только записка.Сам контейнер расположен в ячейке, в заброшенной тюрьме (EditorID: AbandonedPrison01), то есть в том помещении где начинается Alternate Start. Я не могу понять, что я делаю не так.

Прикладываю esp и скрипт.

Прикрепленный файл  TestScript.zip   2,87К   226 Количество загрузок:



#130 Ссылка на это сообщение Amiball

Amiball
  • Новенький
  • 4 сообщений

Отправлено

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

Скрипт

 

Этот скрипт задержавшись на 15 секунд, должен добавить слитки в пустые уровневые листы, а пустые уровневые листы, в свою очередь, уже добавлены в контейнер. Проблема в том, что слитки не появляются в контейнере. Сообщение появляется и добавляется только записка.Сам контейнер расположен в ячейке, в заброшенной тюрьме (EditorID: AbandonedPrison01), то есть в том помещении где начинается Alternate Start. Я не могу понять, что я делаю не так.

Прикладываю esp и скрипт.

attachicon.gifTestScript.zip

 

 

Слушай, а уровневые листы ты настроил правильно? Ошибка многих в том, что когда в уровневом листе они ставят шанс появления прдмета на 100, они не знают, что это не шанс появления, а шанс "не появления". Тоесть, что бы вещь появилась - надо ставить не 100 а к примеру 1.



#131 Ссылка на это сообщение SICreef

SICreef
  • Следопыт
  • 71 сообщений
  •  

Отправлено

Слушай, а уровневые листы ты настроил правильно?

 

Ну в уровневых листах я боле менее разбираюсь. Там у меня 0 стоит. Я пробовал заместо AddForm, AddItem поставить, но Leveleditem не поддерживает функцию эдитем. Мне бы соурс скрипта рабочего посмотреть, который и предметы добавляет в уровневые листы и уровневые листы в другие уровневые листы.



#132 Ссылка на это сообщение Amiball

Amiball
  • Новенький
  • 4 сообщений

Отправлено

Ну в уровневых листах я боле менее разбираюсь. Там у меня 0 стоит. Я пробовал заместо AddForm, AddItem поставить, но Leveleditem не поддерживает функцию эдитем. Мне бы соурс скрипта рабочего посмотреть, который и предметы добавляет в уровневые листы и уровневые листы в другие уровневые листы.

Я щас не могу точно посмотреть - но вроде есть дефолтные скрипты добавления и работы в формлистах. Поищи в них.



#133 Ссылка на это сообщение SICreef

SICreef
  • Следопыт
  • 71 сообщений
  •  

Отправлено

Поищи в них.

 

Увы, но я ничего полезного не нашёл.



#134 Ссылка на это сообщение bv1112223333

bv1112223333
  • Новенький
  • 9 сообщений

Отправлено

Есть ли скрипт на покраснение экрана? Очень надо для моего мода.

 

И ещё вопрос: как проигрывать звуки скриптом? Есть звук NPCHumanVampireFeed, в файлах игры он зовётся иначе - npc_human_vampirefeed_01.wav.

 

Сделал команду NPCHumanVampireFeed.Play(akSpeaker) (ибо звук должен проигрываться в разговоре), но в Properties скрипта нужный звук не находится, такого названия просто нет. Как быть?

 

 

__________

 

Разобрался. Звук был в разделе Sound discriptor, но отсутствовал в разделе Sound marker. Создал новый айди, вписал в него название айди из первого раздела и звук стал доступен в Properties.

 

Если кто теперь подскажет команду на покраснение экрана, буду благодарен.


Сообщение отредактировал bv1112223333: 14 мая 2017 - 19:45


#135 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 733 сообщений
  •    

Отправлено

Если кто теперь подскажет команду на покраснение экрана, буду благодарен.

Это можно сделать с помощью Image Space Modifier-a. Среди ванильных вроде бы даже есть подходящий (absorb red), но и самому просто красный фрейм изготовить не трудно. Вызывается он (ISM) командой ApplyCrossFade(Float time). Это для плавного нарастания эффекта. Ну или просто Apply() для молниеносного.

#136 Ссылка на это сообщение Pactifirus

Pactifirus
  • Новенький
  • 2 сообщений

Отправлено

Здравствуйте, у меня тут назрел вопрос, можно ли как-то отследить степень заряда зачарования на предмете и как это сделать?



#137 Ссылка на это сообщение Vitalyudin

Vitalyudin
  • Existential Void Guardian


  • 323 сообщений
  •    

Отправлено

При попытке использовать функцию SKSE (конкретно - "GetModByName") компилятор пишет, что это не функция или такой не существует.
Как его заставить признать SKSE? Или, быть может, есть другой способ проверить, установлен ли мод?
-
Вопрос снят, это я дико затупил, забыв, что SKSE ставил инсталлятором, который не вбрасывает SKSE-шные ресурсы. Всё норм.
 
 

Здравствуйте, у меня тут назрел вопрос, можно ли как-то отследить степень заряда зачарования на предмете и как это сделать?

В SKSE имеется такая функция - GetItemCharge, по ссылке и пример есть.



#138 Ссылка на это сообщение Vitalyudin

Vitalyudin
  • Existential Void Guardian


  • 323 сообщений
  •    

Отправлено

-

Решено.



#139 Ссылка на это сообщение Vitalyudin

Vitalyudin
  • Existential Void Guardian


  • 323 сообщений
  •    

Отправлено

А теперь реально вопрос, который решить у меня не получается.
В общем, есть МКМ, в котором включается мод, после чего ГГ добавляется спелл, на котором висит скрипт, сканирующий (по идее) оружие и выставляющий его скорость атаки, вычисляемую по формуле. Но дело в том, что скрипт не срабатывает, даже вырезав весь код и прописав одно только уведомление, я это уведомление никак не получаю.

Для проверки переместил это дело в МКМ и вызывал по нажатию на триггер, также этот спелл делал активируемой абилкой - всё работает и меняется, значит, дело в старте самого эффекта.
Потому вопрос таков - как его нормально запустить? Нагугливал всякие OnUpdate, но так и не понял, как оно по-человечески применяется и эта ли функция должна вообще применяться. Если не сложно, объясните, пожалуйста, дубу. Хорошо бы перезапускать его при переэкипировке, но опять же - как?


Есть.

#140 Ссылка на это сообщение mr Jyggalag

mr Jyggalag
  • Ветеран

  • 609 сообщений
  •    

Отправлено

Вопрос: я создаю квест, у которого два пути активации: при прочтении письма в Покоях Архимага или при получении письма (гонец приходит после прохождения квеста "Око Магнуса"), тоесть это взаимоисключающие пункты.
Насчет их взаимоисключения я придумал как сделать:
1) письмо в ПА (Покоях Архимага) удаляется после прохождения квеста
2) гонец приходит, после получения титула архимага и получения ГГ уровня
Вопрос заключается в следующем:
1) как мне проверить, что ГГ - архимаг (знаю, что можно получить его ранг, но какой [по номеру] ранг у архимага - я хз);

2) как мне проверить, получил ли игрок уровень после прохождения квеста? Я знаю, что такая система в квесте "Пробуждение Королевы-Волчицы", но при попытке разобраться, я не понял, что да как там работает. Может кто мне объяснить как это работает?

__________

UPD-решено. Изменил суть - письмо игрок получает от Толфдира, а условия взял с повторяющегося квеста на аномалию ("Отголоски" - MGR30). Таким образом, сам разобрался с проблемой, пока ждал, когда ответят


Сообщение отредактировал wdsaasdw: 01 августа 2017 - 13:46


#141 Ссылка на это сообщение L347z4

L347z4
  • Новенький
  • 10 сообщений

Отправлено

Помогите поправить скрипт. Нужно, чтобы по окончании диалога книга (Book1) добавилась в левеллист (Container1). Этот сделан по примеру добавления книг игроку Урагом по окончании квеста  "Библиотечные книги", но не врубаюсь, как заставить его работать с левел листом.

Это оригинал:

 

А это то, что я пытался сотворить:

LeveledItem Property FavorRewardGoldLarge Auto[/spoiler]
Book Property Book1 Auto
LeveledItem Property Container1 Auto
Function Fragment_0(ObjectReference akSpeakerRef)
Actor akSpeaker = akSpeakerRef as Actor
Container1.AddItem(Book1)
EndFunction


Сообщение отредактировал L347z4: 06 августа 2017 - 14:37






Темы с аналогичным тегами papyrus, help, скрипты, вопросы

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых