• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

melee macro (1 Viewer)

lunatic47

New member
Joined
Aug 26, 2006
RedCents
can anyone suggest a simple melee macro, sometimes i box and whenever i try run a macro i copy and paste i get an error message. also by simple i mean just turn attack on and stick to the target, combat skills would be nice but not necessary. thanks for any info :)
 
edit: Found an issue with the combat range, adjusted the macro and uploaded newe file.

Here is a macro I'm working on I plan to add more features later, mostly for monk classes, I think this will work nicely for you.

I attached the file at the bottom, you should be able to just download it to your macro's folder.


Rich (BB code):
|
|
|CombatSkillsLt.mac by Hoosierbilly  
| 7 July 2007
|
|
|Purpose: To automatically use basic combat skills: Taunt, Kick, Bash & Disarm
|	Will attack the mob when it is within close range, use basic conbat skills,
|
|	Warriors will use the provoke discipline one time when engaging mob.
|
|	The macro will warn you and end if health falls below 20%
|
|	It will also follow the mob when it tries to run away due to low health
|
|
|Useage: Pull target to camp and activate macro when ready to attack.
|
|
|Recommendation: Create a social with the command < /mac combatskills.mac >
|	Make the social a hotbutton to use when ready to attack.
|
|Note: The combat abilities must be selected on your abilities "ctrl A" or combat "ctrl C" page for this to work.
|
|
|


Sub Main

	/echo Combat Skills macro is active.
	/if (${Target.ID}==FALSE) /call endmacro
	/if (${Target.ID}==${Me.ID}) /call endmacro
	/if (${Target.Distance}>50) /call wait

	/if (${Me.Moving}==FALSE) {
		/if (${Target.Distance}>15) /call MoveToTarget
		/if (${Target.Distance}<5) /call MoveBack
	}

	/if (${Me.Class.ID}==1) {
		/if (${Me.Level}>62) /disc incite
		/if (${Me.Level}>51) /disc bellow
		/if (${Me.Level}>19) /disc provoke
		/if (${Me.AbilityReady[taunt]}) /doability taunt
	}

	/face nolook
	/attack on
:Loop

	/if (${Me.AbilityReady[taunt]}) /doability taunt
	/delay 5
	/if (${Me.AbilityReady[Kick]}) /doability Kick
	/delay 5
	/if (${Me.AbilityReady[Bash]}) /doability Bash
	/delay 5
	/if (${Me.AbilityReady[Disarm]}) /doability Disarm
	/delay 5

	/if (${Me.PctHPs}<=20) {
		/beep
		/echo You are near dead - TAKE ACTION NOW!
		/popup You are near dead - TAKE ACTION NOW!
	}


	/if (${Me.Moving}==FALSE) {
		/face nolook
		/if (${Target.Distance}>15) /call MoveToTarget
		/if (${Target.Distance}<5) /call MoveBack
	} else {
		/call wait
	}

	/delay ${Math.Calc[${Math.Rand[10]}+5]}

/goto :Loop
/return
/endmacro


Sub wait

:wait
	/if (${Target.Distance}>50) {
	/if (${Target.ID}==FALSE) /call endmacro
	/if (${Target.ID}==${Me.ID}) /call endmacro
	/delay 5
	/goto :wait
	}
/return

Sub MoveToTarget

	/echo Moving to engage ${Target.CleanName}.
:KeepMoving 
	/if (${Target.ID}==FALSE) /Call Endmacro
	/face nolook
	/delay 1 
	/keypress forward hold 
	/if (${Target.Distance}>15) /goto :KeepMoving 
|Stop Moving 
	/keypress forward 
	/return 

Sub MoveBack

	/echo Backing away from ${Target.CleanName}.
:Backup
	/if (${Target.ID}==FALSE) /Call Endmacro
	/face nolook
	/keypress back hold
	/delay 1
	/if (${Target.Distance}<5) /goto :backup
|Stop Moving
	/keypress back
	/return

Sub endmacro

	/echo You have an invalid Target - Macro ending
	/if (${Me.Combat}==TRUE) /attack off
	/squelch /endmacro
 
Last edited:
here's mine... As a note change the Healer define.
Rich (BB code):
 #event xp "#*#you have slain#*#"
 #event xp "#*#has been slain#*#"
 #event xp "#*#party experience#*#"
 #event enraged "#*#become ENRAGED#*#"
 #include mage_routines.inc
 #include spell_routines.inc
 
 sub main
 	/plugin mq2melee
   /if (${Me.State.Equal[SIT]}) /stand
 /declare Healer string outer HealerNameHere
 /declare HomeXLoc          int    outer ${Me.X}
 /declare HomeYLoc          int    outer ${Me.Y}
 /declare ExtraTarget int outer 0
 /declare AskBuffs int outer 0
 /declare Furious int outer 0
 /declare VortexTimer timer outer 5s
 /declare enraged int outer 0
 /declare Enrage int outer 0
 /declare AggroRadius int outer 30
 
 /fs You can /varset AggroRadius ## to change the aggro radius is currently set at ${AggroRadius} units.
 :Loop
 /if (!${SpawnCount[npc radius ${AggroRadius}]} && !${AskBuffs}) /call checkbuffs
 /if (${SpawnCount[npc radius ${AggroRadius}]}>=1) /call engage
 /doevents
 /goto :Loop
 /return
 
 
 Sub ReturnHome
 /if (${SpawnCount[npc radius ${AggroRadius} zradius 20]}>=1) /return
 :returnhome
   /if (${Me.State.Equal[SIT]}) /stand
   /face fast nolook loc ${HomeYLoc},${HomeXLoc}
   /if (${Math.Distance[${HomeYLoc},${HomeXLoc}]}>10) /nomodkey /keypress forward hold
   /if (${Math.Distance[${HomeYLoc},${HomeXLoc}]}<=10) {
     /nomodkey /keypress back
 /return
   }
 /goto :returnhome
 /return
 
 sub event_xp
 /attack off
 /varset AskBuffs 0
 /varset ExtraTarget 0
 /varset enraged 0
 /if (${SpawnCount[npc radius ${AggroRadius} zradius 20]}==0) /call ReturnHome
 } else {
 /varset ExtraTarget 1
 }
 /if (${Math.Distance[${Spawn[${Healer} pc].Y},${Spawn[${Healer} pc].X}]}>=${AggroRadius} && !${ExtraTarget})  /call MoveMe "${Spawn[${Healer pc].Y},${Spawn[${Healer} PC].X}
 /return
 
 sub event_enraged
 /varset enraged 1
 /return
 
 sub engage
 /if (${ExtraTarget}==0) {
 /varset HomeXLoc     ${Me.X}
 /varset HomeYLoc     ${Me.Y}
 }
 /if (!${Target.ID} || ${Target.Type.Equal[pc]}) /target npc radius ${AggroRadius} zradius 20
 /delay 5 ${Target.ID}
 /if (!${Target.ID} || ${Target.Type.Equal[PC]}) /return
 /if (${Target.Type.NotEqual[PC]} && ${Target.Distance}>${AggroRadius}) {
 /target clear
 /return
 }
 /face fast
 /killthis
 /stick 12 moveback
 /delay 2s ${Target.Distance}<=20
 /disc Bazu Bellow
 /dps reset
 /declare thistarget int local ${Target.ID}
 :engagewatch
 /if (!${Me.Standing}) /stand
 /doevents
 /if (!${Enraged} && !${Me.Combat}) /attack on
 /if (!${Stick.Active}) /stick 12 moveback
 /if (${Enraged} && ${Me.Combat}) /attack off
 /if (!${VortexTimer} && ${Me.Combat} && ${Target.Distance}<=25 && ${SpawnCount[npc radius ${AggroRadius}]}>=2) /call VortexBlade
 /if (${Me.TargetOfTarget.ID}!=${Me.ID} && ${Target.ID}) /doability taunt
 /if (${Me.PctHPs}<=15 && !${Enraged} && ${Target.ID} && ${Target.PctHPs}>=40 && !${Furious}) {
 /varset Furious 1
 /disc Furious Discipline
 }
 /if (${Target.ID}!=${thistarget}) /return
 /if (${Target.Type.Equal[corpse]}) /target clear
 /goto :engagewatch
 /return
 
 
 Sub VortexBlade
 /if (${Target.Distance}<=25 && !${VortexTimer} && ${SpawnCount[npc radius 45]}>=2) {
 /disc vortex blade
 /varset VortexTimer 3s
 }
 /return
 
 sub checkbuffs
 /if (${AskBuffs}==1) /return
 /if (!${Me.Song[Champion's Aura effect].ID}) {
 /delay 1s
 /disc Champion's aura
 /delay 3s
 }
 /varset AskBuffs 1
 /return
 
 Sub MoveMe(MoveToLoc)
 :moveloop
 /if (${Me.State.Equal[sit]}) /stand
 /face fast nolook loc ${MoveToLoc}
 /if (${Math.Distance[${MoveToLoc}]}>2) /nomodkey /keypress forward hold
 /if (${Math.Distance[${MoveToLoc}]}<=2) {
   /nomodkey /keypress forward
   /return
 }
 /goto :moveloop
 /return
 
siddin, thanks for the information.
hoosierbilly, thanks for the macro link but it brings up a blank page when i click on it. you guys helped out a great deal
 
lunatic47 said:
siddin, thanks for the information.
hoosierbilly, thanks for the macro link but it brings up a blank page when i click on it. you guys helped out a great deal

Really, I downloaded the macro to my wives computer without any issue. Click on the link and choose save the file, I've never tried to upload a file before so who knows.

You should be able to copy all the code into notepad and save it as a .mac file, I have to change notepad default so that it will use the correct file extension.

This is my first macro so I'm not sure how much help I can provide but it should do just about exactly what you asked for.
 
I use mq2melee, the macro just makes sure that mq2melee does what I want it to do. Sometimes without the macro mq2melee will drop the target if the tank can't see it, gets pushed around too much, etc. Basically its just a safeguard in my case. I'd rather have too much redundancy than have it fail at an inoportune moment.
 
melee macro

Users who are viewing this thread

Back
Top