• 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

CombatSkills.mac

Joined
Feb 6, 2007
RedCents
1,683¢
EDIT: Jul 5, 2007
Change the way it follows / sticks to mobs, should work a lot more smooth now. I am also adding a version that will not follow / stick to the mob, called CombatSkillsOnly.mac

Original:
This is my first ever macro from scratch. I really want to thank Decker and siddin for their help.

I have been having "issues" with the melee and/or moveutils plugins, in that my toon would sit down down instead of attacking. This is my attempt to get around that:).

The macro will automatically trigger various combat skills and disciplines, as well as, follow the mob when it starts to run away.

If anyone has suggestions to improve or additional abilities that can be added, please let me know. The macro is not really intended for afk use, so I didn't try to program any GM or PC checks.

There are 2 places that should be edited by warriors and/or monks depend on level. I marked them as best I could.

The macro will attempt to us ethe "Mend" ability at 60% health and "Feign Death" at 20% health.

The macro will end if health drops below 20%, so you can run away if you desire:).


Rich (BB code):
|
|
|CombatSkills.mac by Hoosierbilly  
| 3 July 2007
|
|
|Purpose: To automatically use certain combat skills, ie: Kick, taunt...
|
|
|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.
|
|
|


#Event Target	"#*#You must first click on the being you wish to attack#*#"
#Event Yourself	"#*#Try attacking someone other than yourself#*#"

Sub Main

	/echo combat skills macro on
	/if (${Target.ID}==FALSE) /Call Endmacro
	/delay 1
	/if (${Target.Distance}>15) /call MoveToTarget 
	/attack on
	/delay 1s
	/doevents

| Warriors insert your best provoke type discipline here

	/disc provoke



:loop
	/if (${Target.ID}==FALSE) /Call Endmacro
	/doevents
	/if (${Target.Distance}>15)	/call MoveToTarget 
	/if (${Target.Distance}<5) /call Moveback

|Monks enter your best special ability on the next line.

	/if (${Me.AbilityReady[Round Kick]}) /doability "Round Kick"
	/delay 1
	/if (${Me.AbilityReady[taunt]}) /doability taunt
	/delay 1
	/if (${Me.AbilityReady[Kick]}) /doability Kick
	/delay 1
	/if (${Me.AbilityReady[Bash]}) /doability Bash
	/delay 1
	/if (${Me.AbilityReady[Disarm]}) /doability Disarm
	/delay 1
	/if (${Me.AbilityReady[Backstab]}) /doability backstab
	/delay 1
	/if (${Me.PctHPs}<=60) /doability Mend
	/delay 1
	/if (${Me.PctHPs}<=20) {
		/if (${Me.AbilityReady[Feign Death]}) /doability "Feign Death"
		/Attack off
		/beep
		/echo You are near dead - ending macro!
		/popup You are near dead - ending macro!
		/endmacro
	}

	/if (${Target.Distance}>15) /call MoveToTarget 
	/if (${Target.Distance}<5) /call Moveback
	/doevents
	/delay ${Math.Calc[${Math.Rand[10]}+10]}
	/goto :loop

/endmacro
/return

Sub MoveToTarget 
:KeepMoving 
	/if (${Target.ID}==FALSE) /Call Endmacro
	/face nolook
	/delay 1 
	/keypress forward hold 
	/if (${Target.Distance}>15) /goto :KeepMoving 
:StopMoving 
	/keypress forward 
	/return 

Sub Moveback
:Backup
	/if (${Target.ID}==FALSE) /Call Endmacro
	/face nolook
	/keypress back hold
	/delay 1
	/keypress back
	/if (${Target.Distance}<5) /goto :backup
	/return

Sub Event_Target
	/echo You do not have a target - ending macro!
	/attack off
	/endmacro
/return

Sub Event_Yourself
	/echo You can't attack yourself - ending macro!
	/attack off
	/endmacro
/return

Sub Endmacro

	/echo You do not have a target - ending macro!
	/attack off
	/endmacro
/return



Rich (BB code):
|
|
|CombatSkillsOnly.mac by Hoosierbilly  
| 3 July 2007
|
|
|Purpose: To automatically use certain combat skills, ie: Kick, taunt...
|
|
|Useage: Pull target to camp and activate macro when ready to attack.
|
|
|Recommendation: Create a social with the command < /mac combatskillsOnly.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.
|
|
|


#Event Target	"#*#You must first click on the being you wish to attack#*#"
#Event Yourself	"#*#Try attacking someone other than yourself#*#"

Sub Main

	/echo combat skills macro on
	/if (${Target.ID}==FALSE) /Call Endmacro
	/delay 1
	/attack on
	/delay 1
	/doevents

| Warriors insert your best provoke type discipline here

	/if (${Target.Distance}<25) 	/disc provoke



:loop
	/if (${Target.ID}==FALSE) /Call Endmacro
	/doevents

|Monks enter your best special ability on the next line.

	/if (${Me.AbilityReady[Round Kick]}) /doability "Round Kick"
	/delay 1
	/if (${Me.AbilityReady[taunt]}) /doability taunt
	/delay 1
	/if (${Me.AbilityReady[Kick]}) /doability Kick
	/delay 1
	/if (${Me.AbilityReady[Bash]}) /doability Bash
	/delay 1
	/if (${Me.AbilityReady[Disarm]}) /doability Disarm
	/delay 1
	/if (${Me.AbilityReady[Backstab]}) /doability backstab
	/delay 1
	/if (${Me.PctHPs}<=60) /doability Mend
	/delay 1
	/if (${Me.PctHPs}<=20) {
		/if (${Me.AbilityReady[Feign Death]}) /doability "Feign Death"
		/Attack off
		/beep
		/echo You are near dead - ending macro!
		/popup You are near dead - ending macro!
		/endmacro
	}

	/delay ${Math.Calc[${Math.Rand[10]}+10]}
	/goto :loop

/endmacro
/return


Sub Event_Target
	/echo You do not have a target - ending macro!
	/attack off
	/endmacro
/return

Sub Event_Yourself
	/echo You can't attack yourself - ending macro!
	/attack off
	/endmacro
/return

Sub Endmacro

	/echo You do not have a target - ending macro!
	/attack off
	/endmacro
/return
 
Last edited:
Nice macro, bud. I posted about ending the macro in your other thread.

Does anyone know if it's possible to have a macro detect your class?

It would be nice to get a macro like this to detect your class and level and do specific functions based on that information. It could be an all-in-one combat skills macro for everybody to use.
 
My apologiyes then darkeros, I missed thanking you for your help...
So Thank you :).

I am hoping that this is generic enough to be used by at least any melee type. So far it seems to work good with my warrior, monk and bard.

EDIT: I went back to see your post in teh other thread, lol, I wanted the macro to end so I could go pull something else, also a couple times it got stuck in the backup loop and i ran backwards until i manually stoped the macro, that seems to have been fixed by ending when I lose my target.

EDIT AGAIN: Another reason to end the macro after the mob is killed: I was an autoloot.mac to loot my kills, can't have two of them running at the same time :). Prehaps later I can combine the two and just have one that kills and loots...hummmm
 
Haha, I wasn't asking for a thanks bro, just letting you know I posted there. I rarely ever post anything worthy of thanks, but a vote in the monthly polls so I can get a new account? Heck yea!

I may be retarded, but I think there's a way to call other macros, or at least parts of other macros, without ending your macro. Someone with higher level knowledge can help you out with that one.
 
Yes, a macro can detect your class. /echo ${Me.Class} I believe works
There is also ${Target.Class.ShortName}
 
siddin said:
Yes, a macro can detect your class. /echo ${Me.Class} I believe works
There is also ${Target.Class.ShortName}

Concurr ... ${Me.Class} ftw ...
 
i don't exactly see why this macro will end if it dosn't have a target, if this is suppose to be versatile and act as a replacement for MQ2Melee or MQ2Moveutils it should offer support for all classes and some command line options.
 
unity0110 said:
i don't exactly see why this macro will end if it dosn't have a target, if this is suppose to be versatile and act as a replacement for MQ2Melee or MQ2Moveutils it should offer support for all classes and some command line options.

1 The macro ends when it loses a target becuase thats the way I wrote it. Reason: So I can go pull another mob and bring it back to where I want to fight it.


2 As stated the macro is primarily for melee type classes.

One of the greatest things about writing your own macros is that they do exactly what you want them to do. I have had reoccuring problems with mq2melee and mq2moveutls, so for me this will replace them.

BTW does anyone know how to detect the movement keys from the keyboard?

Also I would be interested in how to add commands to enable or disable certain features.

If they are particular abilities that you would like to see, I can try to add them.
 
I could be wrong, been well over a year since I wrote a macro, have a lot more reading to do before I start writing any.
BUT:
I think if you add this bit into your macro, it should auto loot for you.
This is taken from a FH mac I have, but the mac is broken and I havent taken the time to play with it yet. But worth a shot.

:drink


Rich (BB code):
Sub Loot 
    /declare numitems int local 
    /declare lootslot int local 
    /target corpse radius 220 
    /stick 5 hold 
  :Moveto 
    /if (${Target.Distance} > 5) { 
        /delay 1s 
        /goto :Moveto 
    } 

    /stick off 
    /loot 
    /delay 1s 
  :DoLoot 
    /varset numitems ${Corpse.Items} 
    /for lootslot 1 to ${numitems} 
        /itemnotify loot${lootslot} rightmouseup 
        /delay 1s 
    /next lootslot 
    /if (${Corpse.Items} > 0) /goto :DoLoot 
    /notify LootWnd DoneButton leftmouseup 
/return
 
CombatSkills.mac

Users who are viewing this thread

Back
Top
Cart