Page 1 of 1
Bash Macro Help
Posted: Sun Mar 16, 2008 4:36 pm
by Mickey3506
i am looking for a simple macro that will just spam bash when i activate it...pressing the "2" button on my keyboard is just getting old and i need to build up my bash on my warrior for aggro purposes. if anyone can just get me started with something or point me to a post where one exists. i have searched the forums for bash but have not found anything that works. (i have tried doing my own but i still have little understanding of how to write them)
Posted: Sun Mar 16, 2008 6:06 pm
by jacensolo
Have you checked out MQ2Melee or Skill_Routines.inc? Melee is a plugin that does all combat skills, but you could set it up to just do bash. Skill_Routines is an include, and you could easily setup a macro to use Bash. I'd recommend skill_routines, since Melee is a bit over the top to use just for bash.
Bash Macro Help
Posted: Wed Oct 08, 2008 10:49 pm
by skeet
I found this a while back. I do not recall who the author was but all props go to him as this is not my work. I made some modifications to suit my needs since I have carpal tunnel, but understand that I'm not a coder. It's not fancy but it gets the job done.
Code: Select all
|bash.mac -- 5.08.2004
|
|
|******************************************************************|
|******************************************************************|
|** When using the defaults, this will resort to kick if no **|
|** shield is equipped. However, equipping a shield does not **|
|** revert back to kick. **|
|** You will need to re-issue the /mac bash command again with **|
|** either no options, or the options that are listed below. **|
|** **|
|** If you are going to issue the command with args, you must **|
|** use either 0 or 1 as the first arg in the command or it **|
|** won't work correctly. **|
|** **|
|** I opted to turn off auto-face for the default parameter **|
|** for obvious reasons. **|
|******************************************************************|
|******************************************************************|
|
| For the <auto-face> parameter 0=off, 1=on (default is 0)
|
|/mac bash (taunt-on, bash-on, disarm-on, auto-face off.) -- default
|/mac bash 0/1 0 (taunt-on, bash-on, disarm-on, kick-off)
|/mac bash 0/1 1 (taunt-on, bash-off, disarm-off, kick-off)
|/mac bash 0/1 2 (taunt-off, bash-on, disarm-off, kick-off)
|/mac bash 0/1 3 (taunt-off, bash-off, disarm-on, kick-off)
|/mac bash 0/1 4 (taunt-off, bash-off, disarm-off, kick-on)
|/mac bash 0/1 5 (taunt-on, bash-on, disarm-off, kick-off)
|/mac bash 0/1 6 (taunt-on, bash-off, disarm-off, kick-on)
|/mac bash 0/1 7 (taunt-off, bash-on, disarm-on, kick-off)
|/mac bash 0/1 8 (taunt-off, bash-off, disarm-on, kick-on)
|/mac bash 0/1 9 (taunt-on, bash-off, disarm-on, kick-off)
|
|
|example: /mac bash 1 1 will auto-face target and only taunt
|
#event NoShield "You need to equip a shield in order to BASH"
Sub Main
/declare face int local
/echo ${Macro.Name} Started....
/varset face ${Param0}
/if (${Defined[Param1]}) {
/if (${Param1.Equal[0]}) {
/echo Taunt ON
/echo Bash ON
/echo Disarm ON
/echo Kick OFF
/goto :LoopTaunt_Bash_Disarm
}
/if (${Param1.Equal[1]}) {
/echo Taunt ON
/echo Bash OFF
/echo Disarm OFF
/echo Kick OFF
/goto :LoopTaunt
}
/if (${Param1.Equal[2]}) {
/echo Taunt OFF
/echo Bash ON
/echo Disarm OFF
/echo Kick OFF
/goto :LoopBash
}
/if (${Param1.Equal[3]}) {
/echo Taunt OFF
/echo Bash OFF
/echo Disarm ON
/echo Kick OFF
/goto :LoopDisarm
}
/if (${Param1.Equal[4]}) {
/echo Taunt OFF
/echo Bash OFF
/echo Disarm OFF
/echo Kick ON
/goto :LoopKick
}
/if (${Param1.Equal[5]}) {
/echo Taunt ON
/echo Bash ON
/echo Disarm OFF
/echo Kick OFF
/goto :LoopTaunt_Bash
}
/if (${Param1.Equal[6]}) {
/echo Taunt ON
/echo Bash OFF
/echo Disarm OFF
/echo Kick ON
/goto :LoopTaunt_Kick
}
/if (${Param1.Equal[7]}) {
/echo Taunt OFF
/echo Bash ON
/echo Disarm ON
/echo Kick OFF
/goto :LoopBash_Disarm
}
/if (${Param1.Equal[8]}) {
/echo Taunt OFF
/echo Bash OFF
/echo Disarm ON
/echo Kick ON
/goto :LoopDisarm_Kick
}
/if (${Param1.Equal[9]}) {
/echo Taunt ON
/echo Bash OFF
/echo Disarm ON
/echo Kick OFF
/goto :LoopTaunt_Disarm
}
} else {
/varset face 0
/echo Taunt ON
/echo Bash ON
/echo Disarm ON
/echo Kick OFF
/goto :LoopTaunt_Bash_Disarm
}
:LoopTaunt_Bash_Disarm
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopTaunt_Bash_Disarm
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Bash]}) /doability "Bash"
/if (${Target.Distance}<15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
}
}
/delay 5
/goto :LoopTaunt_Bash_Disarm
:LoopTaunt
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopTaunt
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
}
}
/delay 5
/goto :LoopTaunt
:LoopBash
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopBash
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Bash]}) /doability "Bash"
}
}
/delay 5
/goto :LoopBash
:LoopDisarm
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopDisarm
/if (${Target.Distance}<15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
}
}
/delay 5
/goto :LoopDisarm
:LoopKick
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopKick
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Kick]}) /doability "Kick"
}
}
/delay 5
/goto :LoopKick
:LoopTaunt_Bash
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopTaunt_Bash
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Bash]}) /doability "Bash"
}
}
/delay 5
/goto :LoopTaunt_Bash
:LoopTaunt_Kick
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopTaunt_Kick
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Kick]}) /doability "Kick"
}
}
/delay 5
/goto :LoopTaunt_Kick
:LoopBash_Disarm
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopBash_Disarm
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Bash]}) /doability "Bash"
/if (${Target.Distance}<15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
}
}
/delay 5
/goto :LoopBash_Disarm
:LoopDisarm_Kick
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopDisarm_Kick
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Kick]}) /doability "Kick"
/if (${Target.Distance}<15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
}
}
/delay 5
/goto :LoopDisarm_Kick
:LoopTaunt_Disarm
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopTaunt_Disarm
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
/if (${Target.Distance}<15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
}
}
/delay 5
/goto :LoopTaunt_Disarm
/return
Sub Event_NoShield
/echo You have no shield equipped. Resorting to Kicking
:LoopTaunt_Kick_Disarm
/doevents
/if (${Me.Combat}) {
/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
/if (${face}==1) /face nolook
/if (${Me.Casting.ID}) /goto :LoopTaunt_Kick_Disarm
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
/if (${Target.Distance}<=17 && ${Me.AbilityReady[Kick]}) /doability "Kick"
/if (${Target.Distance}<15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
}
}
/delay 5
/goto :LoopTaunt_Kick_Disarm
/return
re:
Posted: Thu Oct 09, 2008 2:46 pm
by Bhero01
This should work just fine
Code: Select all
submain
:loop
/if (${Me.AbilityReady[Bash]}) /doability Bash
/delay 2s
/goto :loop
/return
Posted: Thu Oct 09, 2008 3:43 pm
by Slackro
Code: Select all
/if (${Me.Combat}) {
/if (!${Me.Casting.ID}) /if (${Target.ID}) /if (${Target.Distance}<15) /doability 6
}
Is what I use on my non-bot macro.
Re: Bash Macro Help
Posted: Mon Jan 12, 2026 1:46 pm
by xyilla
Re: Bash Macro Help
Posted: Mon Jan 12, 2026 1:47 pm
by xyilla
Re: Bash Macro Help
Posted: Mon Jan 12, 2026 1:48 pm
by xyilla
Re: Bash Macro Help
Posted: Mon Jan 12, 2026 1:49 pm
by xyilla
Re: Bash Macro Help
Posted: Mon Jan 12, 2026 1:50 pm
by xyilla
Re: Bash Macro Help
Posted: Mon Jan 12, 2026 1:52 pm
by xyilla