Moderator: MacroQuest Developers

It's my fault for not testing again after recent changes.. do thisClueless_Coder wrote:Ok. Fixed that and tested again.
Now I'm getting:
{} pairing ran into anther subroutine
aeheal.mac@76 (HealcheckTank): /if (${Target.PctHPs}<65) {
aeheal.mac@60 (Classcheck):/if (${TankList.Find[|${Target.Class}|]}&&${Target.Distance}<120) /call HealcheckTank
aeheal.mac@40 (Main) /call ClassCheck
The current macro has ended
Any other thoughts?
Sorry to be such a pain :\
Code: Select all
Sub ClassCheck
/if (${CasterList.Find[|${Target.Class}|]}) /call HealcheckCaster
/if (${TankList.Find[|${Target.Class}|]}) /call HealcheckTank
/returnCode: Select all
Sub HealcheckTank
/if (${Target.PctHPs}<65)&&(${Target.Distance}<120) {
/call Cast "Supernal Light"
}
/return
Actually, that's exactly what it does. Every second or so, your client retrieves HP updates for all NPCs and PCs within a given distance around you (I'm unsure of the actual distance, but it could be worked out - certainly higher than 350 units). This is exactly why you can target something or someone, and if you run to the other side of the zone, then they take damage, you will not receive an update on their HP until you get back within range. This is also why ShowEQ and the like cannot update mob HP percentages on mobs a great distance away from you - you will only see Mob01 at 100% then Mob01's Corpse 0%; unless you get within the client update range, at which point you'll get it's current HP the next client to server check.Fantom409 wrote:When you target someone, you're qerying the server for the hp. Your client is not notified of PC HP within a given radius.

Code: Select all
Sub HealcheckTank
/if (${Target.PctHPs}<65)&&(${Target.Distance}<120) {
/call Cast "Supernal Light"
}
/return
Step One: I opened the MQ2\Release\Macros folder and (using File -> New -> MacroQuest Macro) created a blank macro named AEHeals.macNeolesh wrote:Did you recopy from the new version shown on page 1? Usually I end up with this error when there is no space between the final ) and { in a given /if statement. So make sure HealcheckTank looks like this.

I'm not sure if this makes any sense at all, or if it's even accurate, or just a fluke, but I've noticed that if I start the macro with no target it runs with no errors, reporting that there are no players within the the target radius.aeheal.mac@76 (Healcheck Tank) /if (${Target.PctHPs}<65)&&(${Target.Distance}<120) {
aeheal.mac@62 (Class Check) /if (${TankList.Find[|${Target.Class}|]})
aeheal.mac@48 (Main) /call ClassCheck /if (${Players}<1) {
Code: Select all
Sub HealcheckTank
/if (${Target.PctHPs}<65)&&(${Target.Distance}<120) {
/call Cast "Supernal Light"
}
/return