Dota macros - Dota 2 scripts AutoHotkey

Post gaming related scripts
Player
Posts: 7
Joined: 03 Feb 2018, 15:21

Dota macros - Dota 2 scripts AutoHotkey

03 Feb 2018, 15:54

I share here 3 types of scripts:
- Queue script
- Looping script
- Script with delays

Is using macros considered as cheating?

They aren't cheats, they do not hack the game. Also the main macro presented here rely on an in game feature called "Action Queue" or "Shift Queue". The macro will simply hold shift and press your items and abilities shortcut then release shift. The main difference are that the queue is created automatically for you and it is created instantly, so it does not reflect your real skill.

Recommendations

- Enable your numbad, I have noticed that the Queue script doesn't stop your character if it's not enabled
- Set every spells and items to quickcast. Every shortcuts here are those by default.
- I recommend you to use Ctrl + right click to trigger the main macro so don't use this shortcut for anything else.
- For the courier I recommend you to use the shortcut "g".
- Quick Attack must be enabled in the options and Smart Attack Move in the advanced options.
- I recommend you to use one ability at the end because they have cast animations and backswing while items are instantly used, excepted for the Mask of Madness and Refresher Orb.

- I recommend using the macros on ranged intelligence heroes because a lot of their items have actives.

Queue script

To use the script you will need to put your cursor on an enemy and activate it. You can do it from far away, your heroe will use everything in the order when he will get in range.

When you execute it, it closes the shop and the chat, it stops your hero for a fraction of second then it queue your items and abilities then it uses the m key to move where the cursor is pointing, it is to allow to keep moving toward your target in case you have missclicked.
Remove the shortcut that you use manually, for example I like to use the c for the shadow blade so I remove it from the script.
End with a single spell, for example with Nature Prophet the queue is "zxvq" to use every items then sprout.

Code: Select all

items = jzxcvbn
abilities = rqwedf

^RButton::
SendInput, {esc}{esc}s{shift down}{alt down}%items%{alt up}%items%%abilities%m{shift up}
return
Note: you can't use effectively the blink dagger with the script above because the scripts presses alt on all your slots first so you blink in direction to your base.

Here are the self-cast items:
- Blink Dagger (if you want to blink back to base)
- Ethereal Blade
- Eul
- Force Staff
- Lotus Orb
- Mjollnir
- Urn

Important: items that stop the queue if not used in priority (you can end with one of them too):
- arcane boots
- blademail
- cloack
- crimson
- drum
- dust
- glimmer cape
- mek
- necronomicon
- phase boots
- satanic
- shiva
- soul ring

Items that stop the queue that must be the last used:
- abyssal blade
- manta style
- mask of madness
- refresher orb
- mjollnir

Advices on items and abilities' order

When you queue your ability if you start with a blademail make sure you will quickly get in range to attack your enemy with a blink dagger just after or activate the macro once you are almost in range.

Do not use in priority an item with a small cast range like for example a nullifier, because your heroe will need to be close to the enemy to cast it then will use the other items. Use a blink dagger first or get close with a shadow blade.

For safer blink you can use hex before blinking because if your heroe is facing the wrong direction after blinking that will delay the cast of the other items (though the enemy will need to have a very good reaction time or see you coming).

Items not recommended:
- Halberd: the range is lower than your spells so I do not recommend it
- Solar Crest: the disable is not powerful enough
- Etheraal blade: because it's used in a queue everything will be cast on your enemy before the projectile touch him therefore the Dagon is not recommended
- Dagon: because the ehteraal blade uses a projectile it will damage the enemy before the amplification

Note: careful with self-cast items, they are activated when you use the macro, so this could use a blademail for example before you join the fight

Pre-initiation:
- Shiva
- Cloak
- Blademail
- Glimmer Cape
- Lotus Orb

Initiation:
- Blink dagger

Item with long range:
- Rod of Atos (priority)
- Medallion
- Veil of Discord

Items with travel speed:
- Ethereal blade
- Nullifier

Strong disablers:
- Scythe of Vyse
- Orchid
- Halberd

Items with small range:


Disablers:
- Diffusal blade
- Solar Crest

Items active:
- almost every items with an active including Necronomicon

Items with an aura:
- Drum of Endurance
- Pipe of Insight

Abilities:
- Every abilities without cast animation then use progressively the ability with the highest cast animation unless they need a specific order of execution like a damage amplification.

Last item:
- Mask of Madness
- Refresher

Rat macro:

- necronomicon
- manta style
- drum of endurance

The use your shortcut to select other units shortcutm I recommend you the shortcut F3. Use F2 for all units and F1 for your hero.

Builds:

Win every fights with ranged int heroes:
Build order is: power treads, orchid, blademail.

z: Blademail
x: orchid

Offensive Blink physical build:

z: Blink Dagger
x: Bloodthorn
c: Nullifier
v: Mask of Madness

Start with power treads then orchid, blink, MoM, nullifier and finally bloodthorn. If the enemies gets blademail go for a nullifier before the MoM. If needed you can buy a shadow blade as defensive and offensive item, do not include it in the macro.
All those items have very low cooldown, the longest is the MoM which is 22 seconds.

Offensive Blink magical build:

z: Blink Dagger
x: Ethereal Blade
c: Dagon
v: Eul (to run away)

The Blink is to allow the projectile to hit the enemy before the Dagon so make sure you are in range with the Blink Dagger. You can add a veil, orchidor hex to the build and remove the Eul. An Aether Lens or Shadow Blade can be purchased to approach your enemy.

Looping script

Here is another script, it loops. Toggle it On or Off with the ` key. Use the minimum amount of inputs to avoid lags and abilities with no cast animations. The backswing is avoided since it's not queued, to avoid the auto-attack backswing you can add a "Click, right" bellow the SendInput. It could make your hero do less attacks if you can't track the enemy with the mouse. The riht click can also be used with {tab} to switch between every controlled units and move them to the cursor.

Code: Select all

Toggle = 0
#MaxThreadsPerHotkey 2

`::
SendInput, {esc}{F1}
Toggle := !Toggle
While Toggle{
	SendInput, zxcvrqwedf{tab}
	Click, right
	sleep 70
}
return
Here are a set of script you can use in a loop

Fast click. Minimum sleep 1. Useful if there are invisible enemies trying to grab the bounty rune.

Code: Select all

Click, right
Call the courrier. Minimum sleep 40:

Code: Select all

SendInput, g
Instapick on a 1920*1080 resolution, select your hero first, then activate it to spam left click on the lock pick button. Minimum sleep 1.

Code: Select all

Click, left, 1520, 794
Scripts you can use (not looped):

This script will quickly buy an healing salve and a mango then call the courier, you can adjust it to only buy one item:

Code: Select all

MouseGetPos, xpos, ypos
Click, 1730, 1050 ;shop
Click, right, 1655, 414 ;mango
Click, right, 1660, 375 ;salve
MouseMove, %xpos%, %ypos%
SendInput, {esc}g
return
Bonus macros:

You can add a taunt shortcut at the end of a macro if you want.

Auto laugh: it will trigger the laugh of your hero every 15 seconds:

Code: Select all

f8::
SendInput, {esc}
Toggle := !Toggle
While Toggle{
	SendInput, {esc}
	sleep 25
	SendInput, {enter}
	sleep 25
	SendInput, /laugh
	sleep 25
	SendInput, {esc}
	sleep 25
	SendInput, {enter}
	sleep 25
	SendInput, {esc}
	sleep 15000
}
return
Re-enter the lobby after being kicked:

Code: Select all

f9::
Toggle := !Toggle
While Toggle{
	Click, left, 960, 615
	sleep 50
	Click, left, 1500, 870
	sleep 50
}
return
Crazy last hitter:

Code: Select all

f4::
SendInput, {esc}{F1}
Toggle := !Toggle
While Toggle{
	SendInput, s
	Click, right
	sleep 40
}
return
Script with delays

This is the easiest to use, you press the macro key and it executes. You must add a sleep of 80 ms minimum between each keys. If the character needs to face the enemy add an additional 200 ms. For example after blinking you want to use the orchid, then after you want to use a nullifier, you must do 80 ms after the blink, then 200 + 80 after the orchid so you are sure the heroe has the time to turn and use it before the nullifier.
If there is a cast animation include the time in the sleep then add 80 ms: https dota2.gamepedia.com /Cast_animation#Ability_cast_points_and_backswings Broken Link for safety
For example Sprout has a 0.35 cast point, so use 350 + 80 before adding a macro after. You can also end with a macro with long cast point. Try to avoid than a macro last more than half of a second.

Code: Select all

^RButton::::
SendInput, z
sleep 200+80
SendInput, x
sleep 80
SendInput, c
sleep 80
SendInput, v
sleep 80
SendInput, e
sleep 80
SendInput, q
return
Latency tester (for me the number goes down until 67, then it goes to 65 so my lowest value is 67 ms between each key. Launch the script several time to be sure this is your lowers value. You can then increase this number sightly, for me I use 70 ms)

Code: Select all

Toggle = 0
#MaxThreadsPerHotkey 2

f4::
wait = 90
Toggle := !Toggle
While Toggle{
	sendinput {enter}
	sleep wait
	sendinput %wait%
	sleep wait
	sendinput {enter}
	sleep wait
	if (wait > 1)
		wait -= 1
	sleep wait
}
return

Return to “Gaming”

Who is online

Users browsing this forum: No registered users and 47 guests