• Страница 1 из 1
  • 1
Форум » Записи участника [keboard]

Результаты поиска
keboard  Offline  Сообщение №1 | Тема: Вопросы по скриптам Papyrus написано: 20 октября 2015, 20:11 | Отредактировано: keboard - 21 октября 2015, 01:34



6
Приветствую всех, пытаюсь сделать спелл, возник вопрос по скриптам, подскажите, пожалуйста.



Проблема в том, что функция Actor.GetActorValuePercentage работает некорректно, возвращает не то, что должна. В SKSE есть GetMaximumValue, но я не совсем понимаю на чём её
вызывать и как вообще использовать.

P.S. Извиняюсь, если вопрос покажется совсем нубским, это моя первая попытка работы со скриптами, буду рад любым вариантам, заранее благодарю!

keboard  Offline  Сообщение №2 | Тема: Вопросы по скриптам Papyrus написано: 22 октября 2015, 14:18



6
С SKSE функциями тоже не удаётся восстановить изначальный уровень ХП цели, что я делаю неверно?
Код
Event OnEffectStart(Actor akTarget, Actor akCaster) 
; Запоминаем уровень ХП
       ActorValueInfo aviHealth = ActorValueInfo.GetActorValueInfobyName("Health")
       Float currentHealth = aviHealth.GetCurrentValue(akTarget)
       Float maxHealth = aviHealth.GetMaximumValue(akTarget)
       Float dmgHealth = maxHealth - currentHealth 
;"Побочный эффект" - у цели восстанавливается фул ХП
       Debug.SendAnimationEvent(akTarget, "BleedOutStart")
       akTarget.SetUnconscious(true)
; Восстанавливаем изначальный уровень ХП
       akTarget.ForceAV("Health", maxHealth)
       akTarget.DamageAV("Health", dmgHealth)
EndEvent

keboard  Offline  Сообщение №3 | Тема: Вопросы по скриптам Papyrus написано: 22 октября 2015, 17:42



6
Цитата Dsion

По-моему, ты круто запутался и было бы хорошо начать всё с нуля...

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

keboard  Offline  Сообщение №4 | Тема: Вопросы по скриптам Papyrus написано: 22 октября 2015, 22:48 | Отредактировано: keboard - 22 октября 2015, 22:52



6
Цитата Dsion

Попробуй в первой версии скрипта заменить ForceAV на RestoreAV

Спасибо за наводку, удалось решить проблему с хп, кстати, методом тыка установлено:




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

keboard  Offline  Сообщение №5 | Тема: Вопросы по скриптам Papyrus написано: 23 октября 2015, 01:45



6
Я так понимаю, что независимо от того истекает ли время действия эффекта или он применяется повторно до истечения времени - мы в любом случае попадаем в OnEffectFinish. Можно ли определить, какая из этих двух причин нас туда привела?

keboard  Offline  Сообщение №6 | Тема: Вопросы по скриптам Papyrus написано: 23 октября 2015, 02:43 | Отредактировано: keboard - 23 октября 2015, 02:44



6
Повесил условие HasMagicEffect - эффект не накладывается повторно пока предыдущий не спадёт, но косяк с анимацией всё равно полностью не вылечился - если кастануть спелл на цель, когда предыдущий эффект только
закончился и она "в процессе вставания с колен" xD - анимация "вернуться на колени" не срабатывает, она как бы зависает в положении стоя.

Форум » Записи участника [keboard]
  • Страница 1 из 1
  • 1
Поиск:





Ответ на жалобу смотрите в разделе жалоб