need help with strafe i think

Need some help with that macro you're working on or aren't quite sure how to get your macro to do something? Ask here!

Moderator: MacroQuest Developers

Ogre_Luvr
a lesser mummy
a lesser mummy
Posts: 52
Joined: Thu Dec 18, 2003 10:11 pm
Location: DC

need help with strafe i think

Post by Ogre_Luvr » Sun Apr 25, 2004 5:24 pm

I want to use this code on my war so he gets on the opposite side of the mob as my shammy pet... @partner is the ID of the shammy pet


this is the old code .. which worked

Code: Select all

Sub Do-turn
	/varset RangeMax 25 
	/varset RangeMin 10 
	/varset FastRange 14
:turnLoop
/call MoveToMob @MyTarget
/if $spawn(@MyTarget,type)==corpse /return
	/declare newHeading local
	/if n $spawn(@partner,heading)>=180 {
		/varset newHeading $calc($spawn(@partner,heading)-180)
	} else {
		/varset newHeading $calc($spawn(@partner,heading)+180)
	}
	/face nolook
	/if n $char(heading)>$calc(@newHeading+20) {
		/sendkey down ctrl
		/press left
		/face nolook
		/press left
		/sendkey up ctrl
	}
	
	/if n $char(heading)<$calc(@newHeading-20) {
		/sendkey down ctrl
		/press right
		/face nolook
		/press right
		/sendkey up ctrl
	}
	
/if n $char(heading)<$calc(@newHeading+20) /return
/if n $char(heading)<$calc(@newHeading-20) /return
	
/goto :turnLoop
/return

new jacked up code ... doesn't work

Code: Select all

Sub Do-turn
:turnLoop
	/if (${Target.Distance}>10) { 
		/face fast nolook
		/keypress forward 
		/keypress forward hold 
	} else /if (${Target.Distance}<5) {
		/face fast nolook    
		/keypress forward 
		/keypress back 
		/keypress back hold 
	} else { 
		/keypress back 
	} 
    
	/declare newHeading local
	/if (${Spawn[@partner].Heading.Degrees}>=180) {
		/varset newHeading ${Math.Calc[${Spawn[@partner].Heading.Degrees}-180]}
	} else {
		/varset newHeading ${Math.Calc[${Spawn[@partner].Heading.Degrees}+180]}
	}

	/face fast nolook
	/if (${Me.Heading.Degrees}>${Math.Calc[@newHeading+20]}) {
		/keypress strafe_left hold
		/delay 1
		/keypress strafe_left
		/face fast nolook
	} else {
		/echo /keypress strafe_left
		|/keypress strafe_left
	}
	
	/if (${Me.Heading.Degrees}<${Math.Calc[@newHeading-20]}) {
		/keypress strafe_right hold
		/delay 1
		/face fast nolook
	} else {
		/echo /keypress strafe_right	
		|/keypress strafe_right	
	}
    
/if (${Me.Heading.Degrees}>${Math.Calc[@newHeading-20]} || ${Me.Heading.Degrees}<${Math.Calc[@newHeading+20]}) {
	|/keypress strafe_left
	|/keypress strafe_right
	/return
}
/goto :turnLoop
/return
any help would be great

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Sun Apr 25, 2004 5:29 pm

The old heading stuff was all counterclockwise. Change all your .Degrees to .DegreesCCW
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

Ogre_Luvr
a lesser mummy
a lesser mummy
Posts: 52
Joined: Thu Dec 18, 2003 10:11 pm
Location: DC

awsome thanks

Post by Ogre_Luvr » Sun Apr 25, 2004 5:37 pm

Works like a charm .. is anyone has a better way of doing this let me know =)

Code: Select all

Sub Do-turn
:turnLoop
	/if (${Target.Distance}>15) { 
		/face fast nolook
		/keypress forward 
		/keypress forward hold 
	} else /if (${Target.Distance}<9) {
		/face fast nolook    
		/keypress forward 
		/keypress back 
		/keypress back hold 
	} else { 
		/keypress back 
	} 
    
	/declare newHeading local
	/if (${Spawn[@partner].Heading.DegreesCCW}>=180) {
		/varset newHeading ${Math.Calc[${Spawn[@partner].Heading.DegreesCCW}-180]}
	} else {
		/varset newHeading ${Math.Calc[${Spawn[@partner].Heading.DegreesCCW}+180]}
	}

	/face fast nolook
	/if (${Me.Heading.DegreesCCW}>${Math.Calc[@newHeading+20]}) {
		/keypress strafe_left hold
		/delay 1
		/keypress strafe_left
		/face fast nolook
	}
	
	/if (${Me.Heading.DegreesCCW}<${Math.Calc[@newHeading-20]}) {
		/keypress strafe_right hold
		/delay 1
		/keypress strafe_right
		/face fast nolook
	}
    
/if (${Me.Heading.DegreesCCW}>${Math.Calc[@newHeading-20]} || ${Me.Heading.DegreesCCW}<${Math.Calc[@newHeading+20]}) /return
/goto :turnLoop
/return