• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

melee macro

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 :)
 
I am currently working on a simple macro that will do almost exactly what you describe, should be ready later today (Ihope). The name is CombatSkills.mac, I'll upload after bit more testing.
 
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
 
Roguish said:
Nobody likes the plugins that do this for you?

MQ2Melee
MQ2Combat


NOPE, I have ongoing and reoccuring problems with both plugins making my melee toon simple sit down and turns off attack, have to completely shutdown my computer and restart everything to get it to work for while, but it only works for couple hours and i have to shutdown again.
 
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
Cart