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


Фотография

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

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

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

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

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


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

Отправлено

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

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

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

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



 




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

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

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

Отправлено

Азазель, в следующий раз читай внимательно людей! 

Друг тебе тут - никто ни чего не обещал!  Ведешь себя так будто все тебе должны - хотя бы свои портянки скрывал под спойлер - но нет - ты же звезда и твои проблемы важнее всех.


Сообщение отредактировал CISCO.:i:..:i:.: 16 сентября 2018 - 17:19


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

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

Отправлено

хотя бы свои портянки скрывал под спойлер

Ну, он хотя бы код проставил - уже неплохо =)

 

Самое главное - он вроде как смог разобраться, что там в скрипте надо поменять, чтоб вместо пик - водопады активировались.



#444 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 118 сообщений

Отправлено

Друг тебе тут - никто ни чего не обещал!  Ведешь себя так будто все тебе должны - хотя бы свои портянки скрывал под спойлер - но нет - ты же звезда и твои проблемы важнее всех.

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



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

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

Отправлено

Доброго времени суток Azazellz) - сразу к тебе - так как только ты оперативен.

 

написал скрипт - он работает без проблем:

Скрипт

Но есть одно но. Строка функции Object_activate_02.activate(actronaut) добавлена от безысходности. мне нужно что бы эта строка функции вызывала активацию анимации открытия или закрытия двери у большого сейфа - но этого не происходит.  Добиться нужного эффекта получается лишь когда я привязываю в Properties к Object_activate_02 - другой триггер активатор - а вот уже к нему через Activate Parents привязываю большой сейф  и дверь сейфа открывается или закрывается в зависимости от положения. Так вот - что мне прописать вместо  Object_activate_02.activate(actronaut) что бы убрать промежуточное звено?


Сообщение отредактировал CISCO.:i:..:i:.: 21 сентября 2018 - 08:23


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

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

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

Отправлено

Тебе не обязательно вводить такую конструкцию.

Просто открой/закрой дверь командой SetOpen(). А текущее состояние, открыт ObjectReference или закрыт, ты можешь проверять например локальным проперти типа bool.

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

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

Отправлено

Просто открой/закрой дверь командой SetOpen()

Спасибо за подсказку - помогло - но увы лишь но половину - только открывает - закрывать не хочет - даже написал скрипт простейший - но и он работает только на открытие. ObjectReference property Object_Animation Auto

Function onActivate (objectReference actronaut)

Object_Animation.SetOpen()

endFunction

Лама я коматозная - ведь точно что то не понял, но вот что ума не приложу. (голова не варит вторые сутки не сплю)



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

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

Отправлено

Так этот SetOpen - он по умолчанию для открытия чего-нибудь работает.

Чтоб это "чего нибудь" закрыть - надо SetOpen(false) использовать.



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

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

Отправлено

Чтоб это "чего нибудь" закрыть - надо SetOpen(false) использовать

Да - теперь то понятно - нужно было поспать просто) 

помнишь ты мне писал про добавление магического эффекта (хороший отдых) PlayerRef.AddSpell(GoodRestSpell) - так вот тогда я при проверке не обратил внимание на один нюанс а именно: если ты перед тем как использовать этот скрипт - предварительно поспал - то эффект хороший отдых плюсуется к эффекту отдых от кровати - что нужно сделать что бы он не плюсовался а заменял эффект полученный от кровати а так же эффект Объятия любви и прочие?



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

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

Отправлено

Хм.

Ну, вводишь несколько проверок "если у игрока есть определенный спелл - он удаляется".

И так по всему списку.

HasSpell, RemoveSpell, и все в таком духе. На СК вики смотри подробный синтаксис.


Сообщение отредактировал Azazellz: 21 сентября 2018 - 21:01


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

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

Отправлено

На СК вики смотри подробный синтаксис.

спасибо - поищу



#452 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 118 сообщений

Отправлено

как правильно написать условие определения умер ли нпс?

Actor Property Actor1 Auto

If (Actor1.GetDead())
	Debug.MessageBox("Yippee!")
EndIf

(середину не смотри)



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

Vitalyudin
  • Existential Void Guardian


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

Отправлено

как правильно написать условие определения умер ли нпс?

GetDead - это получение инфы о статусе "мёртв" актёра, ты её типа получаешь, но ничего дальше не делаешь. В твой пример больше подойдёт IsDead.



#454 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 118 сообщений

Отправлено

GetDead - это получение инфы о статусе "мёртв" актёра, ты её типа получаешь, но ничего дальше не делаешь. В твой пример больше подойдёт IsDead.

мне и нужно получить статус, чтобы потом воскресить...

будут ещё строчки wait и воскрешение.. (кстати какой оператор это делает??? но мне нужно, чтобы не на том месте где его грохнули, а на том где он первый раз появился, т.е. стоит маркер)

и ещё одно: можно ли менять уровень сложности нпс командой?


Сообщение отредактировал stanislavd: 27 сентября 2018 - 07:44


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

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

Отправлено

Здравствуйте. Рылся в интернете весь, установил Creation Kit, посмотрел пару уроков. Информации очень много и почти вся она мне не подходит. Собственно сам вопрос, мне нужно вызывать определённый скрипт на нажатию клавиши. Т.е., например я нажимаю NumPad1 и около меня спавнится какой-нибудь монстр. Думаю, сам скрипт я смогу написать, вопрос в том, как играя вызывать скрипт нажатием клавиши.



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

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

Отправлено

Здравствуйте. Рылся в интернете весь, установил Creation Kit, посмотрел пару уроков. Информации очень много и почти вся она мне не подходит. Собственно сам вопрос, мне нужно вызывать определённый скрипт на нажатию клавиши. Т.е., например я нажимаю NumPad1 и около меня спавнится какой-нибудь монстр. Думаю, сам скрипт я смогу написать, вопрос в том, как играя вызывать скрипт нажатием клавиши.

https://www.creation...nKeyDown_-_Form

Ну или

https://www.creation...=OnKeyUp_-_Form

 

Но сначала нужно кнопку зарегистрировать этим

https://www.creation...erForKey_-_Form

 

Нужен СКСЕ.



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

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

Отправлено

https://www.creation...nKeyDown_-_Form

Ну или

https://www.creation...=OnKeyUp_-_Form

 

Но сначала нужно кнопку зарегистрировать этим

https://www.creation...erForKey_-_Form

 

Нужен СКСЕ.

SKSE поставил. К какому объекту привязывать скрипт?



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

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

Отправлено

SKSE поставил. К какому объекту привязывать скрипт?

Это уж тебе виднее.

 

Обычно такие штуки к квесту с алиасом игрока в нем привязываются.



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

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

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

Отправлено

SKSE поставил. К какому объекту привязывать скрипт?


К квесту. Последняя вкладка (Scripts).

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

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

Отправлено

2 дня пытался написать скрипт (о котором говорил выше). Не получилось( По ощущениям, у меня как будто не подхватываются функции SKSE. Направьте меня, пожалуйста(. Желательно ответ более обширней

Scriptname A2 extends Quest  

GlobalVariable Property myKey  Auto  


int hotKey = 71
int enabled

Event OnInit()
	Debug.Notification("Started AutoCombatCam")
	RegisterForSingleUpdate(1)
EndEvent

Event OnKeyDown(Int KeyCode)
	If  Input.IsKeyPressed(hotkey) ; Only run code when the status changes
		Debug.Notification("Hotkey Pressed")
		If enabled == 1
			Debug.Notification("Turned On")
			RegisterForUpdate(1)
			Debug.Notification("Started")
			enabled = 0
		Else ; If enabled == 0
			Debug.Notification("Turned Off")
			UnregisterForUpdate()
			Debug.Notification("Killed")
			enabled = 1
		EndIf
	EndIf
EndEvent

Event OnUpdate()
	Debug.Notification("EXEC")
	RegisterForKey(hotkey)

	hotkey = myKey.getValueInt()
	If enabled == 1
		Game.GetPlayer().AddItem(Gold001, 10)
	EndIf
	RegisterForSingleUpdate(1)
EndEvent

Ошибки
D:\Games\R.G. Mechanics\Skyrim - Legendary Edition\Data\Scripts\Source\temp\A2.psc(15,5): variable Input is undefined
D:\Games\R.G. Mechanics\Skyrim - Legendary Edition\Data\Scripts\Source\temp\A2.psc(15,11): none is not a known user-defined type
D:\Games\R.G. Mechanics\Skyrim - Legendary Edition\Data\Scripts\Source\temp\A2.psc(33,1): RegisterForKey is not a function or does not exist
D:\Games\R.G. Mechanics\Skyrim - Legendary Edition\Data\Scripts\Source\temp\A2.psc(37,27): variable Gold001 is undefined
No output generated for A2, compilation failed.


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

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

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

Отправлено

2 дня пытался написать скрипт (о котором говорил выше). Не получилось( По ощущениям, у меня как будто не подхватываются функции SKSE. Направьте меня, пожалуйста(. Желательно ответ более обширней

Я накидал по-быстрому рабочий шаблон с комментариями:


В твоем коде ошибки. Также, похоже, что SKSE неправильно установлен -- компилятор его действительно не подхватывает, судя по ошибке "(33,1): RegisterForKey is not a function or does not exist".





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

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

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