Page 1 of 1

Triggering script based on enemy's HP?

PostPosted: Sat Nov 16, 2019 9:05 am
by gloomiest666
I'm trying to make an ACS execute after a certain mob that has a TID of 3 loses 50% of its health points or more (in this case the monster has 100 base HP).

I've tried with:


script 1 OPEN
{
When (GetActorProperty (3, APROP_HEALTH,"monstername") <= 50)
{
Acs_Execute(2,0);
}
}


and also:


script 1 OPEN
{
if (GetActorProperty (3, APROP_HEALTH) <= 50)
Acs_Execute(2,0);
}


Yet none worked. What am I doing wrong?

Re: Triggering script based on enemy's HP?

PostPosted: Sat Nov 16, 2019 9:19 am
by KeksDose
It's pretty close. There's no "when", but there's "while" and delays, so you can do this:

Code: Select allExpand view
script 1 OPEN
{
   while(50 < GetActorProperty(3, APROP_HEALTH))
   {
      Delay(1);
   }
   Acs_Execute(2, 0);
}

Usually, you'll be writing scripts that wait a lot like that to time your triggers.

Re: Triggering script based on enemy's HP?

PostPosted: Sat Nov 16, 2019 11:53 am
by gloomiest666
KeksDose wrote:It's pretty close. There's no "when", but there's "while" and delays, so you can do this:

Code: Select allExpand view
script 1 OPEN
{
   while(50 < GetActorProperty(3, APROP_HEALTH))
   {
      Delay(1);
   }
   Acs_Execute(2, 0);
}

Usually, you'll be writing scripts that wait a lot like that to time your triggers.


Thank you very much :)