[Tool] GDAutocaster - play šŸŽ¹ builds with ease, autocasting of skills, combos, faster / automatic camera, autohiding of items, centered Inquisitor Seal and more for all games!

@steve01055 Iā€™ve just noticed / recalled that at least with melee when you spam 2 cooldown Primal Strike like that and hold LMB (Savagery) very close to your character when there are no monsters around / highlighted - Primal Strike is activated in place without targeting any monsters which can be kinda meh at times. One can probably used to it but Iā€™ll think now if it can be avoided.

The build is Melee.
And the first solution worked for the cooldown based Primal Strike. Had the delay set to 3000 so thereā€™s no ā€œskill isnā€™t readyā€ announcement, works great so far. Tested it on the dummies, the no-target-activation doesnā€™t seem to be happening.
Thanks for the help!

1 Like

You need to turn it off in options. I cannot imagine using GDAutocaster with these on
And I recommend revert the delay back to 200

There are 2 separate options (in different menus I believe) for

  • message on the screen
  • sound informing you about the cooldown

The thing I mentioned happens when no monster / dummies are around / highlighted. When you are just running with your char, holding LMB and move it very close you your character.


[edit] I donā€™t think thereā€™s a solution for that but itā€™s not that big of a deal. This is how Grim Dawn works for the most part. Only skills on LMB donā€™t behave like that.

Alternative could be having

  • Move on LMB
  • Primal Strike + Savagery on RMB

(probably better for Ranged Shaman)

Depends on preferences.

MY bad, the 3000 was perhaps not the right choice.
Otherwise Solution 2 is working great. The initial delay-short hold is much better ingame.

And yes the secondary issue isnā€™t that big of a deal. Thanks for the quick response!

1 Like

Yeah, you want that PS button to be spammed so that it fires as soon as off cooldown in various different scenarios.

3s delay could cause very long delays, for example if PS was pressed just before targetting the monster
it would activate nearly 3 second after you started fighting with it because thatā€™s when the next press would be
(at least if you kept holding LMB the whole time and not release + press down again after highlighting the monster)

When I load the .ini file that is posted here, or attempt any edits to it, I get the following error and GD Autocaster closes:
ā€œSome functions bound to 1 differ in
whether they allow 1 native function.ā€

1 Like

Hi. I donā€™t think you should attempt to load this super extensive config by the program. Itā€™s just a showcase of options not meant to work, Iā€™ve never loaded it. Better to write config from scratch or ask me to write you some basic one with stuff you want.

Anyway, hereā€™s some example when you can get such error (or rather a warning):

[autocast by hold]
cast1=1:Space
key_native_function1=false

[combo presses]
combo1=1:Enter
key_native_function1=true

See that one function bound to 1 has key_native_function equal to false, another to true.
This warning tells you to make it consistent because

  • in one place ([combo presses]) you say you want pressing 1 to still send 1 press
  • in other ([autocast by hold]) you say you donā€™t want 1 press signal sent after pressing 1

(ā€œ1ā€ being sent after pressing ā€œ1ā€ is buttonā€™s 1 native function)


Anyway, the easy solution is just to delete the key_native_function thing from the config:

[autocast by hold]
cast1=1:Space

[combo presses]
combo1=1:Enter

(or just delete all features activated by 1 altogether)


although it might be possible that some features (aka sections of the config) have different default setting for this nativeness but it should be pretty rare

Hi, Iā€™m trying to use the modifiers you added. By making me hold space to use my LMB skill stationary

[autocast by hold]
cast1=Space:+LButton
delay1=0

but it doesnā€™t seem to work for that, only after I take away the + (shift) does it start registering LButton clicks

1 Like

Iā€™ll look into this but one thing Iā€™ve noticed already:

  • [autocast by hold] spams button so it seems youā€™d like to spam LButton clicks instead
    • wouldnā€™t you prefer for the LButton to be held ([combo holds] feature)?
      (for the game to spam the skill and not rely on spamming LMB click)

    • if really not and youā€™d like clicks to be spammed and not LMB to be held:

      Iā€™d recommend to set the delay to 200 or 100, no need to spam that many clicks
      (although my program probably doesnā€™t allow click / 1ms or something as itā€™s too slow for that)


[edit] Ok. So it seems to be that I only added this i.e. + modifiers thing to [combo presses].
I could most probably add them to [autocast by hold] if you need it but first Iā€™d like you to read / consider
what I wrote in my previous message and maybe also write what you need it for in-game.

Also you could just add [combo hold] Space:Shift to it instead of having +LButton :thinking: in this scenario I believe
Or instead of spamming +LButtons you could hold both Shift and LMB perhaps.


Maybe this could work (Iā€™ll test it)

[combo holds]
combo1=Space:Shift,LButton

[edit] Yep, Iā€™ve tested and it works, dude is attacking in-place with Savagery

Upon download both chrome and windows flags the exe as a virus does anyone else have the same issue?

False positive, antyviruses and other programs flag unknown programs like that left and right.
Doesnā€™t mean anything - the antyvirus just doesnā€™t have it in its database.
You can compile yourself a ā€œHello Worldā€ program and your AV will probably flag it as well :man_facepalming:

If you want you can download the code from GitHub, check out the .ahk files that thereā€™s nothing there besides pressing buttons
and compile it with AutoHotkey (nothing complicated, just a few clicks and need to select GDAutocaster.ahk and click Convert)

Compiling is not even needed because AutoHotkey can just run GDAutocaster.ahk script
but then you need to have AutoHotkey installed permanently on your machine.

Trust me bro :wink:

1 Like

I looked around and I guess it is a common issue with AHK so thatā€™s reassuring. Thanks for the reply and the awesome tool!

1 Like

No problem, let me know if youā€™d like some configuration ideas / missing some feature.

1 Like

Hi Tqfan,

Itā€™s been a while since I played GD, but Iā€™m back, I hope everything is going well for you.

Iā€™m playing the Dawn of Masteries mod, but I donā€™t think that should have any affect on how GDAutocaster works. The build Iā€™m playing with at the moment has a bunch of powers that I want to cast all the time, essentially keeping them running, like one would Blood of Dreeg, so Iā€™m using [autocast by toggle]. Hereā€™s that part of the relatively short profile:

[autocast by toggle]
autocast_right_away=true

	cast1=t:a
	delay1=4750
	reset_key1=a
	
	cast2=t:q,x
	delay2=200
	reset_key2=q
	
	cast3=c:c,v
	delay3=5050
	inner_delay3=5050
	reset_key3=v

Cast1 and Cast2 work fine, but Cast3 doesnā€™t. Cast3 is setting off two instances of the same skill each of which is on a ring and the game allows there to be 2 simultaneous instances. Each of the skills last 6 seconds and has a 10 second cooldown, so what Iā€™m trying to do is have the instance on ā€œcā€ go off and 5.05 seconds later the one on ā€œvā€ goes off, then 5.05 seconds later ā€œcā€, and so on, essentially casting each just one of them go off every 5 seconds.

When I turn the toggle on, it works perfectly and it continues to work until I zone at which point both instances (c and v) start going off at the same time. If I turn off the toggle and wait until both instances cooldown, I can turn the toggle back on and it works fine until the next time I zone. There may be other things that are causing the loss of delay, but I can definitely see it happen every time I zone. Iā€™ve also tried it with and without inner_delay specified. That doesnā€™t seem to matter.

Is there a better way to do this or should it work, but is bugged?

Edit ā€“ It actually doesnā€™t seem to do it every time I zone either, although that often causes it. All I can say is that eventually, the two instances will start going off simultaneously. Sometimes, using the reset key will fix it, but not always.

1 Like

Hi. delay3 needs to be 2 times longer than inner_delay3 for it to work as you want.
For example with delay3=11000 and inner_delay3=5500 youā€™ll achieve the following:

  • every 11 seconds
    • c is presssed
    • 5500 ms gap
    • v is pressed

which will result in them alternating roughly every 5500ms.


But you donā€™t even have to use a trick like that since thereā€™s alternate option (not sure when added so better to redownload)! Btw seems itā€™s autocast_on_launch now

[autocast by toggle]
autocast_on_launch=true

cast3=c:c,v
delay3=5100
alternate3=true

It alternates c and v with 5100 ms in between.

My post-Covid brain strikes again. I completely missed that ā€œalternate=ā€ keyword when looking at the doc again. There is an example, but it isnā€™t explained in words.

So , ā€œdelayā€ is the total time before the entire set of actions loops and the ā€œalternateā€ keyword makes the loop choose a different inner action (stuff between commas), that it does during a loop. ā€œInner_delayā€ controls the gap between the inner actions (without ā€œalternateā€).

Iā€™d guess that inner_delay and alternate donā€™t play well together. :slight_smile:

Thanks.

1 Like

Precisely :slight_smile:

I donā€™t even now, would have to look in the code[edit] I looked


inner_delay wonā€™t work if alternate is true, itā€™s in a separate part of the code / different branch of IF

if (index)
            {
                key := keys_pressed[this.current_buttons[index]]
                Send {%key%}
                this.current_buttons[index] := 1 + Mod(this.current_buttons[index], keys_pressed.Length())
            }
            else
                Common.PressButtons(keys_pressed, inner_delay)

before adding this feature I just had the last line Common.PressButtons...

This is for Advanced character because beginner might be slightly different


Here are my hotbars, 1st is active and the 2nd one is for toggling passive buffs once:

image


In-game Bindings recommendation for this specific config:

  • Q - skill 4, for manual Pneumatic Burst casts

    • could potentially be also configured in GDAutocaster no in game but I chose native pressing
      by [combo presses] such as combo1=q:4
  • I also have W for Health pot and E for Blade Barrier so that

    • Q, W, E are in a row just like on the hotbar (4,5,6) and you should cast them in that order of priority when your Health drops
      and itā€™s easy to look at the hotbar and choose the first one thatā€™s not on cooldown
  • Y configured for Hotbar swap in gameā€™s Keybindings

  • Space configured to be skill 7 - not needed as it spammed on Space by GDAutocaster anyway
    but it might speed up Shadow Strike activation by 100ms or so sometimes


Here the most important thing from my config:

[general]
suspend_key=Tab
suspend_stops_autocast=true

[autocast by toggle]
autocast_on_launch=true

cast1=`:4,4,4,4,4
delay1=23000
inner_delay1=1000
reset_key1=q
key_native_function1=true

cast2=`:2
delay2=2000
key_native_function2=true

[combo presses]
combo2=r:y,0,7,8,9,0,y
delay2=500

[autocast by hold]
delay=200

cast1=Space:7,8
cast2=RButton:7,0,9
cast3=s:9,0

(I have other minor stuff there like fast keyboard camera rotation / one click map / freezing Tribues for Crucible / camera speed hack / 1press to drink multiple potions etc.) Let me know if youā€™re interested in stuff like that.


Here is explanation of all the things:

[autocast by toggle]

cast1=`:4,4,4,4,4
delay1=23000
inner_delay1=1000
reset_key1=q
key_native_function1=true

cast2=`:2
delay2=2000
key_native_function2=true

The first one casts Pneumatic Burst automatically very rarely (every 23 second) but presses the buttons 5 times (which lasts less than PBā€™s cooldown so itā€™s not cast multiple times) to prevent it not being cast in loading screen / when youā€™re Shadow Striking and cannot cast then. Also makes the 23s timer reset when after you press Q (which is meant for manual PB casts).

The second one presses Word of Renewal button (2) every 2 seconds. I just spam it for more heals. No resetting / manual casts here because the heal amount is too small for it to be worth it

You can turn this on / off if needed with the ` in this config (over Tab)

The first one might look complicated because it uses many options [autocast by toggle] provides.

The key_native_function is a technical thing that I should honestly get rid of in GDAutocaster so itā€™s not needed here.


[combo presses]

combo2=r:y,0,7,8,9,0,y
delay2=500

This one casts perma buffs and Spirits from the 2nd hotbar after pressing R.
Y needs to be configured for Hotbar swap in gameā€™s Keybindings.

You can also have one just for 3 buffs w/o Spirits for when youā€™re nullified (Spirit donā€™t disappear then)
and maybe even smaller delay.


[autocast by hold]

delay=200

cast1=Space:7,8
cast2=RButton:7,0,9
cast3=s:9,0
  • cast1 (Space) spams Shadow Strike and another Movement Skill on Space just for movement / initiating the fight not for the fight itself

  • cast2 (RMB) is spamming Rune of Hagarrad, Shadow Strike and the Seal during the fight with RMB

    • notice in this way Seal is spammed as often as possible, this can be configured in a different way so that Seal is cast only once per RMB Click + Hold if you prefer to cast it once per its whole life time which depends on your playstyle
  • cast2 (S) can be sometimes used to place Seals and Runes of Hagarrad manually before a fight

oh thank you a lot for this(i rearranged some bindings and it works fine now)

1 Like

Great tool overall, but may I make the suggestion to enable comments in the config file?