BUG: $combat

A forum for feature requests/discussions and user submitted patches that improve MQ2

Moderator: MacroQuest Developers

eqjoe
a grimling bloodguard
a grimling bloodguard
Posts: 984
Joined: Sat Sep 28, 2002 12:26 pm

BUG: $combat

Post by eqjoe » Tue Mar 11, 2003 1:27 am

The line in a macro :

Code: Select all

 /if $combat!=TRUE /attack on 
This causes a crash or lockup. However it works when typed in on the commandline.

I have not figured out why yet... Easter week and the kids are out of school.

All in all.. this build is working very, very well. Nice job.

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Tue Mar 11, 2003 1:58 am

Salutations,
at this time I believe we don't have the attack offset... [quote]Attack=0[quote]

eqjoe
a grimling bloodguard
a grimling bloodguard
Posts: 984
Joined: Sat Sep 28, 2002 12:26 pm

Post by eqjoe » Tue Mar 11, 2003 2:22 am

Doh!

How did I miss that?


/em digs out debugger ..... I know attack is in there somewhere.

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Tue Mar 11, 2003 6:31 am

lol I missed that too... which is strange, because my melee scripts were working fine yesterday.

Code: Select all

#include routines.mac
#include macrokit.inc
sub Main
/call Melee
/endmacro
I use that in a hotkey. Keeps me in range and meleeing, and takes care of the annoying bash/kick buttons. Has been working fine... then again, haven't really picked apart L124RD's MacroKit code.

eqjoe
a grimling bloodguard
a grimling bloodguard
Posts: 984
Joined: Sat Sep 28, 2002 12:26 pm

Fixed

Post by eqjoe » Fri Mar 28, 2003 1:39 am

Sorry for not posting the fix sooner. I have been real busy (ya ya.. you have heard it all before) :)

Attack=006fa374

Change the code in EQLib. Search for $combat.

Code: Select all

               // $combat
					} else if (!strncmp("combat",szVar,6)) {
						if (!EQADDR_ATTACK) return FALSE;
						BYTE bAttack = *EQADDR_ATTACK;
						i+=5;
						if (bAttack == 0) {
							strcat(szOutput,"TRUE");
							j+=4;
						} else {
							strcat(szOutput,"FALSE");
							j+=5;
						}		
Regards and stuff...

Wishbringer
Contributing Member
Contributing Member
Posts: 230
Joined: Thu Nov 14, 2002 7:00 am

Post by Wishbringer » Fri Mar 28, 2003 3:18 am

Don't know, but my $combat macros works without code changes at Offset :

Attack=00725FDE

Edit: Oops, just saw, your mentioned codechange is in CVS since a week or more.
Last edited by Wishbringer on Fri Mar 28, 2003 3:21 am, edited 1 time in total.

User avatar
dont_know_at_all
Developer
Developer
Posts: 5450
Joined: Sun Dec 01, 2002 4:15 am
Location: Florida, USA
Contact:

Post by dont_know_at_all » Fri Mar 28, 2003 3:20 am

Updated in the CVS depot.

Thanks, eqjoe!

eqjoe
a grimling bloodguard
a grimling bloodguard
Posts: 984
Joined: Sat Sep 28, 2002 12:26 pm

Post by eqjoe » Fri Mar 28, 2003 1:53 pm

At 006fa374 there is a single byte that has a value of (hex) 01 or 00. It is the perfect place to look for attack status, and some other client status flags. I will be keeping an eye on this part of memory on future patchs....