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


Фотография

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

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

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

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

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


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

Отправлено

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

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

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

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



 




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

#482 Ссылка на это сообщение CISCO.:i:..:i:.

CISCO.:i:..:i:.
  • Талант
  • 257 сообщений
  •  

Отправлено

1. Советую тебе почитать, что такое функции и ивенты, и как это связано. Целый учебник про папирус уже давно есть в сети (ссылка).

 

 

2. Олсо, если ты вызываешь функцию, описанную с самом же скрипте, то не обязательно просить скрипт обращаться к самому себе, он и так это поймет.

Спасибо огромное - очень подробно пояснили - за ссылку отдельно спасибо. Хорошо что многие не проходят мимо со словами - ещё один новичок парит тут мозги не всякими глупостями - а пытаются разъяснить  этому бедолаге как нужно сделать и с чего начать.



#483 Ссылка на это сообщение BornToNight

BornToNight
  • Новенький
  • 11 сообщений

Отправлено

Приветствую всех. Новичку сложно найти из горы функций нужную. Надеюсь поможете хоть с чем-то. Название функции/пример или просто направьте меня в нужное русло.
 

Функции:

1. Телепорт персонажа в рандомную точку на карте (если это не возможно, то хотя бы в рандомный город)
2. Оставить персонажу 1 хп (не общее количество, а просто 1 из 100, например)

3. Сменить погоду и время суток

4. Создать взрывы рядом с персонажем (чтобы они охватывали среднюю область около персонажа)

5. Ускорить или замедлить персонажа на время (например, на 1 минуту)

6. Наложить баф или дебаф на время

7. Убрать возможность управление персонажем на время или сделать инверсию мышки/управления

8. Добавить уровень преступности

9. Сломать (убрать прочность) экипированного оружия и брони


Сообщение отредактировал BornToNight: 07 ноября 2018 - 08:57


#484 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 034 сообщений
  •    

Отправлено

1. https://www.creation...omInt_-_Utility потом https://www.creation...rOnCell_-_Debug или https://www.creation...ObjectReference

2. https://www.creation...orValue_-_Actor потом https://www.creation...orValue_-_Actor

3. Время https://www.creation..._GlobalVariable. Погода https://www.creation...ctive_-_Weather

4. https://www.creation...eAtMe_(Papyrus) или https://www.creation...le=Cast_-_Spell

5. Скрипт не нужен. Используй ванильные магические эффекты. Накладывай через https://www.creation...le=Cast_-_Spell

6. Тоже самое. https://www.creation...le=Cast_-_Spell

7. https://www.creation...Controls_-_Game и https://www.creation...Controls_-_Game

8. https://www.creation...mentStat_-_Game и https://www.creation...ueryStat_-_Game

9. Нужен СКСЕ. https://www.creation...rnObject_Script

 

И вообще, вот тебе страница, изучай.

https://www.creation...:Script_Objects


Сообщение отредактировал Azazellz: 07 ноября 2018 - 10:55


#485 Ссылка на это сообщение BornToNight

BornToNight
  • Новенький
  • 11 сообщений

Отправлено

 

Спасибо огромное!



#486 Ссылка на это сообщение BornToNight

BornToNight
  • Новенький
  • 11 сообщений

Отправлено

Не могу понять почему срабатывают только NUM1, NUM2 и NUM3. Скрипт предназначен для того, чтобы при нажатии определённой кнопки вызывалась функция. Всё идентично, но срабатывает только три кнопки.

Скрипт

Сообщение отредактировал BornToNight: 07 ноября 2018 - 16:50


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

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

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

Отправлено

Не могу понять почему срабатывают только NUM1, NUM2 и NUM3.

Написано-то нормально. Попробуй вместо неработающих NUM-ов поставить что-нибудь с основной клавиатуры (G,H,Y,U и т.п.). И посмотри, что будет. Возможно (я когда-то краем глаза читал), не все кнопки можно забиндить. Если же все и так работать не будет, то имеет смысл убедиться в правильности указанных FORM. Я бы на время тестирования еще туда debug.notification(....) какой-нибудь вставил. На случай если в FORM ошибка, и PlaceAtMe() возвращает NONE, но при этом сама функция-макрос срабатывает. Видно будет.



#488 Ссылка на это сообщение BornToNight

BornToNight
  • Новенький
  • 11 сообщений

Отправлено

Написано-то нормально. Попробуй вместо неработающих NUM-ов поставить что-нибудь с основной клавиатуры (G,H,Y,U и т.п.). И посмотри, что будет. Возможно (я когда-то краем глаза читал), не все кнопки можно забиндить. Если же все и так работать не будет, то имеет смысл убедиться в правильности указанных FORM. Я бы на время тестирования еще туда debug.notification(....) какой-нибудь вставил. На случай если в FORM ошибка, и PlaceAtMe() возвращает NONE, но при этом сама функция-макрос срабатывает. Видно будет.

Написано нормально, потому что это ваш код :D. Вообще, я уже много что проверил. Проверял через debug.notification(), всё стопорится именно на проверке ikey == 71. Ибо все функции я проверил на NUM1,2,3 и они работают, дело не в них. Также, пытался забиндить на другую кнопку (U), тоже не получилось. Вставлял "Debug.notification(ikey)" в "Event OnKeyDown(Int iKey)"  и выводились только те номера кнопок, которые работают (т.е. NUM1,2,3). Щас попробую ещё другие кнопки побиндить.

UPD: Попробовал F1 и J - не работает


Сообщение отредактировал BornToNight: 08 ноября 2018 - 10:12


#489 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 034 сообщений
  •    

Отправлено

Вообще, в том же Позиционере все нумы работют.

Но там они не напрямую заданы, их можно перебиндить.

Попробуй не напрямую их прописывать, а через int проперти.

Может, поможет.



#490 Ссылка на это сообщение BornToNight

BornToNight
  • Новенький
  • 11 сообщений

Отправлено

Вообще, в том же Позиционере все нумы работют.

Но там они не напрямую заданы, их можно перебиндить.

Попробуй не напрямую их прописывать, а через int проперти.

Может, поможет.

Не-а. Беда :(. Есть ещё идеи?



#491 Ссылка на это сообщение BornToNight

BornToNight
  • Новенький
  • 11 сообщений

Отправлено

Короче, создал новый квест, новый скрипт и всё стало работать. Причину так я и не понял. Всем спасибо, кто пытался помочь с "проблемой". Как говорится, аномалия кодинга Kappa



#492 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 034 сообщений
  •    

Отправлено

Короче, создал новый квест, новый скрипт и всё стало работать. Причину так я и не понял. Всем спасибо, кто пытался помочь с "проблемой". Как говорится, аномалия кодинга Kappa

Cкорее уж кто-то просто не до конца понимает, как persistent-скрипты в Скае работают =)

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

Надо либо сделать еще один инстанс с другим скриптом - либо удалить из сейва инстанс текущий (через сейв-эдитор или путем сохранения-удаления мода-сохранения-очистки сейва).

Вот скрипты, прикрепленные к магическим эффектам, которые не постоянно на игроке висят - можно править и без чистых сейвов.


Сообщение отредактировал Azazellz: 08 ноября 2018 - 13:06


#493 Ссылка на это сообщение BornToNight

BornToNight
  • Новенький
  • 11 сообщений

Отправлено

Cкорее уж кто-то просто не до конца понимает, как persistent-скрипты в Скае работают =)

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

Надо либо сделать еще один инстанс с другим скриптом - либо удалить из сейва инстанс текущий (через сейв-эдитор или путем сохранения-удаления мода-сохранения-очистки сейва).

Вот скрипты, прикрепленные к магическим эффектам, которые не постоянно на игроке висят - можно править и без чистых сейвов.

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



#494 Ссылка на это сообщение Sociolog

Sociolog
  • Профи
  • 472 сообщений
  •    

Отправлено

Хожу с Сераной, изменил ей внешность но есть проблема с ее анимациями. В разговоре она ведет себя как американский негр – реппер. Переминается с ноги на ногуб  делает специфические движения руками и т.д. Как убрать/сменить эти анимации на обычные lдля женщин НПС? Где они находятся?
И еще. Можно ли как то убрать радостную улыбку с ее физиономии?



#495 Ссылка на это сообщение Siovkara

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

Отправлено

Доброго времени суток! Товарищи, только-только начал заниматься скриптами, есть цель сотворить книжку, которая при чтении будет выкидывать игрока на определенную локацию. Книжка есть, локация тоже. А вот скрипт на книжке не работает. Может кто поможет нубу?><  Заранее благодарствие

Вот оно:

scriptName a1bktp extends ObjectReference

objectreference property aaaameltdown auto
Actor Player
function OnRead()

	utility.Wait(1.50000)
	game.FadeOutGame(false, true, 2.00000, 1.00000)
	Player.MoveTo(aaaameltdown, 0.000000, 0.000000, 0.000000, true)
	game.FastTravel(aaaameltdown)
endFunction


#496 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 034 сообщений
  •    

Отправлено

Вместо функции - ивент.

https://www.creation...ObjectReference

Фасттревел не нужен, если ты MoveTo сделал.

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

 

И вообще. У тебя же есть игра. Есть ДЛЦ. Вскрой скрипт для черных книг из Драгонборна, посмотри как он устроен - всего и делов.



#497 Ссылка на это сообщение Siovkara

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

Отправлено

Вместо функции - ивент.

https://www.creation...ObjectReference

Фасттревел не нужен, если ты MoveTo сделал.

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

 

И вообще. У тебя же есть игра. Есть ДЛЦ. Вскрой скрипт для черных книг из Драгонборна, посмотри как он устроен - всего и делов.

Большое спасибо! Действительно, стоило начать с очевидного, но как-то не сразу вспомнил про черные книги

Буду учить все дальше

Спасибо еще раз



#498 Ссылка на это сообщение CISCO.:i:..:i:.

CISCO.:i:..:i:.
  • Талант
  • 257 сообщений
  •  

Отправлено

У меня вопрос почему скрипт не работает? Делаю дом в нём будет несколько телепортов но они не должны быть видны пока не будут выполнены определённые квесты по сюжету игры. Сам скрипт вешаю на Хмаркер - скрипт скомпилировался - но не работает(! То есть я хочу что бы при выполненном квесте при заходе на локацию появлялись нужные мне объекты (телепорты) и появлялось окно с оповещением. 

 

Скрипт



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

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

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

Отправлено

У меня вопрос



Гораздо уместнее использовать OnCellAttach() вместо OnCellLoad(). Вдобавок, убедись, что этот квест вообще помечается игрой как Completed, возможно разумнее проверять по GetStageDone(). Заполнение properties проверь.

#500 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 034 сообщений
  •    

Отправлено

Я вообще сомневаюсь, что маркер ивент OnCellLoad получает.

Имхо, куда нажнее это вот "включение телепортов" в сам квест встроить.



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

mr Jyggalag
  • Ветеран

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

Отправлено

Я вообще сомневаюсь, что маркер ивент OnCellLoad получает.
Имхо, куда нажнее это вот "включение телепортов" в сам квест встроить.

Там помимо включения телепортов ещё же месседж показывается.





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

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

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