Equality checking not working?

Bearcub

Lifetimer
Joined
Feb 17, 2007
Messages
1,002
Reaction score
3
Points
38
Hi guys, another question related to my other one a little earlier, so the thing thats up now is CombatState always returns 'ACTIVE' for my SK, no matter where she is and what she is doing. Also, I dont remember what plugin or include allows for CombatState, any one know?

Has CombatState been deprecated? Specifically this fails now cause the state is always active; If I use $(Me.Combat) it doesn't work cause I have to be swinging to be in Me.Combat

Code:
|-- have aggro, return to camp
   /if (${Me.CombatState.Equal[COMBAT]}) /goto :return
|-- move to target to initiate aggro
   /if (${Me.CombatState.NotEqual[COMBAT]}) /call movetoTarget
 
I have not done that investigation yet, no - sorry man. Will try to get to it soon. Do you use MQ2Melee at all, and would a workaround be using like ${Melee.Combat}?

htw
 
Yeah I use mq2melee.
This is actually one of my older pull macros that used to work pretty damn well. I got the circling problem fixed (it was pretty specific luclin zones... go figure) but the aggro loop is getting horked up.

This is due to me using an SK to pull/tank - when I wrote this I found it to be a lot more reliable than other pull methods, since I generate a ton of hate with the pull.

Code:
/if (${Cast.Result.Equal[CAST_CANNOTSEE]}) /goto :movementLoop
/if (${Cast.Result.Equal[CAST_OUTOFRANGE]}) /goto :movementLoop
/if (${Cast.Result.Equal[CAST_SUCCESS]}) /return

The cast success returns out of the movement portion to go to pull loop which checks combat state.

Code:
/if (${Me.CombatState.Equal[COMBAT]}) /goto :return
/if (${Me.CombatState.NotEqual[COMBAT]}) /call movetoTarget

The return of that continues to the run back to camp and engage the target portion.


The pull portion of this works fine, but since the above, CombatStatus never returns correctly, I constantly try to cast cast cast instead of running back to camp . ${Me.Combat} wouldn't work, because I'd have to run up, smack the mob, and run back - which for a host of reasons is... problematic (auto sticking, getting beat down, etc etc) I guess I could try rewriting that portion if you don't think you will get to this fix for awhile.
 
Quick question, does the cooldown state (icon) show correctly when you have aggro or not? If it does, server is sending the info, but MQ2 is off - which I can fix up if that's the case. If it's something to do with the particular emu data stream not being right, no way around that.

htw
 
Ah, could be that? The cool down icon happens whenever I sit, no matter if I am in combat or not.

Could that be it? Crap if it is. Guess I could bug server dev?

Next question. I have a macro that loads all my bots... with params passed on load. Those laod in fine... and I can get them with ${Param0} ${Param1} ${Param2}


Code:
/call variant_initialize ${Param0} ${Param1} ${Param2}
...
 Sub variant_initialize(string tankname, string healPoint, string SA)
    /declare    RV_tankname     string  outer   ${tankname}
    /declare    RV_healpoint  	int     outer   ${healPoint}
    /declare    RV_secondassist string  outer   ${SA}
 /return

... 
/bca //tar ${RV_tankname}

/if (${Me.Class.ShortName.Equal[ROG]}) /mac bot_melee 98 ${RV_secondassist}

So what is supposed to happen is the BCA gets everyone to target the tank (it does) and then call the class specific macro... it also does.

HOWEVER, the subsequent macro gets all sort of null values whenever it tries to do a declaration of vars. For example the loaded in cleric, will be targetting my MT, due to the BCA command, but this
Code:
/declare	int_MTID           		int		outer	${Target.ID
Returns NULL.

Bizzare right? I remember all this stuff working immaculately when I left.
 

Attachments

  • bot_loader.mac
    2.6 KB · Views: 3