Code: Select all
Sub Main
:loop
/if (${Target.ID}!=${Spawn[MONK].ID}) /tar id ${Spawn[MONK].ID}
/delay 1s ${Target.ID}==${Spawn[MONK].ID}
/if (${Target.PctHPs}<70) {
:castagain
/cast 2
/delay 5
/if (!${Me.Casting.ID}) /goto :castagain
/delay 5s !${Me.Casting.ID}
}
/if (${Target.ID}!=${Spawn[BEAST].ID}) /tar id ${Spawn[BEAST].ID}
/delay 1s ${Target.ID}==${Spawn[BEAST].ID}
/if (${Target.PctHPs}<70) {
:castagain2
/cast 2
/delay 5
/if (!${Me.Casting.ID}) /goto :castagain2
/delay 5s !${Me.Casting.ID}
}
/goto :loop
/return
Try that...first off, you had a { at the end of your Sub Main, and then had a Sub with no name. What this looks like it will do is keep targeting each of the 2 chars, then, once it gets a target who is under 70% hps, he will cast #2 on the target. For a personal macro that i wouldnt plan on sharing, i'd just do /if (!${Target.CleanName.Equal[MyToon1]}) or whatever. I played my cleric before i got mq2, and i've not tested your code nor my code, so i could be completely wrong here.
Cheers
:EDIT: also, i'm fairly sure your macro gets killed when you get your error. I've never had that one before, but I'd imagine it stops running your macro, as the errors i do see tend to do that.