Jump to content


Photo

switchMove. Как во время анимации юнита сохранить его статус повреждения?


  • Please log in to reply
3 replies to this topic

#1 OFFLINE   sharkman

sharkman

    Ефрейтор

  • Пользователи
  • 68 posts
  • Откуда:Хабаровск

Posted 02 May 2018 - 11:23

Здравствуйте уважаемые гуру скриптования! Очередная загадка образовалась для меня...

 

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

a1 setDamage 0.6; a1 switchmove "Acts_InjuredLyingRifle02"; a1 DisableAi "ANIM";

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

if ((damage a1)==0) then {a1 switchMove "AmovPpneMstpSrasWrflDnon_AmovPercMstpSrasWrflDnon";};

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

 

 

Может у кого есть идеи?

 

 


  • 0

#2 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 02 May 2018 - 17:25

как вариант залезть в ванильный функционал армы по поводу воскрешения, и посмотреть как там реализовано.


  • 0

#3 OFFLINE   sharkman

sharkman

    Ефрейтор

  • Пользователи
  • 68 posts
  • Откуда:Хабаровск

Posted 04 May 2018 - 05:05

как вариант залезть в ванильный функционал армы по поводу воскрешения, и посмотреть как там реализовано.


Эх, ещё бы знать куда лезть и где найти эти функции....
  • 0

#4 OFFLINE   ReXcOr

ReXcOr

    Ст.сержант

  • Пользователи
  • 264 posts
  • Откуда:Moscow

Posted 10 May 2018 - 19:01

Вы в цикле каждый раз устанавливаете юниту дамаг в размере 0.6
Соответственно даже когда его полечат, следующий тик цикла снова надамажит его до 0.6, по этому образовывается замкнутый круг
Я предполагаю, что нужно вынести из цикла команду сэтДэмждж 0.6
И ещё момент, если вы его лечите перевязочными пакетами, то он никогда не восстановится полностью, тк перевязочный восстанавливает максимум до 75 процентов.
Только аптечка у медика лечит на все 100.
Так что в условии if, я бы поставил уровень урона не 0, а 0.25
  • 0




Яндекс.Метрика