Since 5.1.0, AcceptBattlefieldPort and JoinBattlefield have become protected. Here's an updated macro for those who do not have the ability to update it themselves.
I use Macro Toolkit personally, but the script can just as easily be spread over multiple macros (with some slight configuration).
Code:
/script RepopMe()
/stopmacro [target=player, dead]
/click PVPFrameLeftButton
/click StaticPopup1Button1
/cast [nomounted] Mount Name
/targetfriendplayer
/follow
/cast [target=targettarget] Ranged attack #1
/cast [target=targettarget] Ranged attack #2
/cast [target=targettarget] Ranged attack #3
/script if WorldStateScoreFrame:IsShown() == 1 then LeaveBattlefield() end
Be sure to replace the red text accordingly. You can have as little or as many attacks as you like. When configuring the script, just keep in mind that any successful attacks will remove the "Inactive" debuff, assuming you ever have it placed on you. I personally prefer to choose spells that are instant cast and have a long range.
Now that your macro is set up, you're ready to set up a key-repeater or auto-clicker. There are multiple guides for doing this, but since my AutoIt script is still open and running, I may as well post it here as well:
Code:
Global $WindowTitle = "World of Warcraft"
Global $PauseKey = "{F7}"
Global $TerminateKey = "{F8}"
Global $PVPOpenKey = "{h}"
Global $MacroBindKey = "{-}"
Global $Paused = False
HotKeySet( $PauseKey, "Pause" )
HotKeySet( $TerminateKey, "Terminate" )
While 1
If Not $Paused Then
ControlSend( $WindowTitle, "", 0, $PVPOpenKey )
Sleep( 500 )
ControlSend( $WindowTitle, "", 0, $MacroBindKey )
EndIf
Sleep( 500 )
WEnd
Func Pause()
$Paused = Not $Paused
EndFunc
Func Terminate()
Exit
EndFunc
How can I use this information?
1. Set a "Do not disturb" message. I often use the message 'Watching TV - I may not reply! I am using a /follow macro FYI'.
2. Find a spot where you can get yourself stuck. You do not want the script to /follow someone to your death!
3. Open the PvP window, and select the battleground you wish to bot.
4. Configure the macro and copy it into WoW.
5. Place the macro on your bars and bind it to the $MacroBindKey setting from the AutoIt script.
6. Download and install AutoIt, open SciTE (included), save and run the script (starts immediately - by default: F7 to pause, F8 to stop).
7. Enjoy your free honor!
Why use this script?
Blizzard can not ban you for using macros! As for the AutoIt script, even though it breaks EULA terms, Blizzard cannot distinguish real keystrokes from simulated ones - they can't know if you're at your computer or not (here's where the DND message helps). I understand that this could be changed in the future, but for the whole 8 years that WoW has existed, they have never had this ability. I highly doubt they will be adding it any time soon.
I can generally get 4000 honor overnight, using this script. However, the rate you gain honor while using this macro/script, entirely depends on your battlegroup and faction. It is possible that I'm just lucky!
I hope you find this useful!
Jadd.