Hpp_ <= 99%

Language: JP EN DE FR
users online
Forum » Windower » Support » hpp_ <= 99%
hpp_ <= 99%
Offline
Posts: 21
By usagiboi 2012-10-04 16:29:49
Link | Quote | Reply
 
I would like autoexec to preform a trigger spell anytime I drop bellow 100% HP. I looked at all the autoexec options, and know there is no hpplt (except 76/75).

What I thought of as a work around was..
<register event="criticalhp|hpp_2*|hpp_3*|hpp_4*|hpp_5*|hpp_6*|hpp_7*|hpp_8*|hpp_9*">

The above was also just a "would this work?". It does seem impractical. Mostly because I just want it to trigger when I go from 100% to anything <.
But this does nothing when I drop bellow 100%.
How would I go about this, correctly?
 Bismarck.Kelhor
Administrator
Offline
Server: Bismarck
Game: FFXI
user: Rooks
Posts: 509
By Bismarck.Kelhor 2012-10-04 16:35:24
Link | Quote | Reply
 
Why would you even want to do this? If you're swapping gear, you're going to be under 100% a lot (unless none of your gear has HP or somehow has the exact same amount).
 Bahamut.Deijixfx
Offline
Server: Bahamut
Game: FFXI
user: Deijixfx
Posts: 17
By Bahamut.Deijixfx 2012-10-04 16:36:19
Link | Quote | Reply
 
i'm no expert on xml coding, but how about changing the formula around so hpplt have it determine if hp = not 100%?
 Fenrir.Nightfyre
Offline
Server: Fenrir
Game: FFXI
user: Nightfyre
Posts: 11681
By Fenrir.Nightfyre 2012-10-04 16:46:28
Link | Quote | Reply
 
Bahamut.Deijixfx said: »
i'm no expert on xml coding, but how about changing the formula around so hpplt have it determine if hp = not 100%?
AutoExec =/= Spellcast, the only hpplt rule for AE is hpplt76.

Would be slightly cleaner to do <register event="hppt76|hpp_7*|hpp_8*|hpp_9*">, but that wouldn't fix any issues you're having with that code and it would still trigger every time your hp changed regardless of the base value. The only thing that comes to mind is pairing <register event="hpp_*"> with a Spellcast rule that grabs your current HP%, compares it to your prior value, then executes whatever rule if appropriate and stores the "new" value in the "old" variable.

EDIT: I didn't explain that well at all, let me write up something for it real quick.
Offline
Posts: 21
By usagiboi 2012-10-04 16:53:06
Link | Quote | Reply
 
Fenrir.Nightfyre said: »
Bahamut.Deijixfx said: »
i'm no expert on xml coding, but how about changing the formula around so hpplt have it determine if hp = not 100%?
AutoExec =/= Spellcast, the only hpplt rule for AE is hpplt76.

Would be slightly cleaner to do <register event="hppt76|hpp_7*|hpp_8*|hpp_9*">, but that wouldn't fix any issues you're having with that code and it would still trigger every time your hp changed regardless of the base value. The only thing that comes to mind is pairing <register event="hpp_*"> with a Spellcast rule that grabs your current HP%, compares it to your prior value, then executes whatever rule if appropriate and stores the "new" value in the "old" variable.

EDIT: I didn't explain that well at all, let me write up something for it real quick.
I get the jist of what you are saying. This request is based on something just as convoluted. I am helping a friend make a rule for Scarlet Delirium. First thing that came to mind was what I use for sublimation, but SD is the same buff Active or Charged.
[+]
 Fenrir.Nightfyre
Offline
Server: Fenrir
Game: FFXI
user: Nightfyre
Posts: 11681
By Fenrir.Nightfyre 2012-10-04 16:53:21
Link | Quote | Reply
 
Code
<if spell="trigger17">
<if HPPLT="100" advanced='(int)$OldHP=100'>
<do stuff here/>
</if>
<var cmd="set OldHP %HPP"/>
<cancelspell/>
<return/>
</if>


So not quite what I said originally, but like I said I didn't explain it that well anyway. Note that this will trigger every time your HP% changes, so you'd potentially need to adjust rule handling in other parts of your xml to prevent it overriding prior rules still in progress (midcast/aftercast swaps) since Spellcast doesn't multithread anything except <cmd> inputs.
[+]
Offline
Posts: 21
By usagiboi 2012-10-04 16:56:34
Link | Quote | Reply
 
Fenrir.Nightfyre said: »
Code
<if spell="trigger17">
<if HPPLT="100" advanced='(int)$OldHP=100'>
<do stuff here/>
</if>
<var cmd="set OldHP %HPP"/>
<cancelspell/>
<return/>
</if>


So not quite what I said originally, but like I said I didn't explain it that well anyway. Note that this will trigger every time your HP% changes, so you'd potentially need to adjust rule handling in other parts of your xml to prevent it overriding prior rules still in progress (midcast/aftercast swaps) since Spellcast doesn't multithread anything except <cmd> inputs.

Ok thank you very much for that.
Log in to post.