I know you weren't asking about this but, for starters, you should consider changing your healing to targeting self instead of click location. I was also unsure about your use of cmppix, totally unnecessary.
Here's an example, but note that I may have mistakes here, I'm at work and going off memory:
If #FINDCNT > 0 && #HITS > 81 && #MANA > 50 && %PETS_KILL = #TRUE && %Cast_Wait_Timer <= #sCnt2
{
set #ltargetkind 1 ;<=== need to define targetkind when using target system
Event macro 15 28 ; cast Greater Heal
target 5s
event macro 23 0 ;<=== target self
wait 10
}
Now, on your question - here's the thing, you want to capture the #jindex value before you use discordance, then perform your actions, then scan EACH LINE of the journal that has changed since the last "synch" of the index.
You should also get rid of those "deletejournal" items, not necessary. Also you can see how I cleaned things up a little bit and made the code shorter.
For example:
If #FINDCNT > 0 && %PETS_KILL = #TRUE && %DISCORD = #FALSE
{
SET #LTARGETID %TARGET_FOUND
set %Index #jindex + 1 ;<=== sets a variable to the line following the current #jindex value
Event macro 13 15 ; use skill Discordance
Target 5s
Event macro 22 0 ; last target
if #jindex >= %Index ;<=== just make sure the the journal has new content before bothering to scan it
{
for %i %index #jindex ;<=== this for loop says "perform the following actions for all the lines of the journal that have changed
{
scanjournal %i ;<=== scans the index value given to %i in the for loop
if fail in #journal || another_skill in #journal ;<=== you really don't need this anyhow since you aren't doing anything with it
goto heal
if your_target's_strength in #journal || that_creature_is_already_in_discord in #journal
{
Set %DISCORD #TRUE
goto heal
}
}
}
}
Hope this helps!
XII