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

https://github.com/kowariantny/GDAutocaster/raw/master/GDAutocaster.exe
Adding additional option to Autocast by Hold for perfect ABB / Bone Harvest casts

The new option is called time_out

[autocast by hold]
cast7=RButton:1,1,1
delay7=100
time_out7=4000
inner_delay7=100

Here it prevents 1, 1, 1 to be cast for 4 seconds after you press
(and maybe hold to have 1,1,1 instead of just 1 due to inner_delay)

Before without this option even if you spammed every 4 seconds
if you released and pressed RMB again, you could restart the whole thing
and cast ABB far before 4 seconds passed.

Now you can press and release RMB multiple times and it still wonā€™t press 1
for the duration of 4 seconds after first cast.

We have inner_delay and 1,1,1 instead of just normal 1 spam
to attempt to cast ABB 3 times in 100ms intervals to ensure itā€™s not
interrupted by something else

1 Like

Since GD only allows for one key being held, for this particular example, I assume either 1 or 2 is going to be treated as held down if ā€œqā€ is pressed, but not both. Probably not too useful, for GD, but maybe for another application.

In fact, it is perfect for my CE usage as I can toggle both mount and character sprint with one key that way, since CE does allow for multiple simultaneously held keys.

1 Like

Iā€™m probably doing something wrong, but the following script isnā€™t working for me. The [autocast by toggle] part seems to be working, but not the [toggle holds] part.

[[toggle holds]
key_native_function=false
initial_delay=0

CMT= pressing ā€œzā€ makes up be held down which makes me move
CMT= constantly toward the cursor until pressed again.
toggle1=z:Up

[autocast by toggle]
key_native_function=true
delay=100
initial_delay=0

CMT= toggling ā€œzā€ on makes move fasts go off whenever they are ready.
CMT= Z and X are Blitz and Amatokā€™s Breath, respectively.
CMT= Blitz only activates if cursor is on a valid target.
cast2=z:z,x
key_native_function2=false

I made sure to download the latest version as linked in your last post.

? Ā Ā 

Post 424 above describes and I thought announces {toggle holds] being implemented.

I meant did you see this typo? Iā€™m literally quoting your config

1 Like

OH! /10chars

Would anyone like for
Suspend
to be preserved if alt-tabbing / minimizing the game?

I alt-tab away all the time, usually with the game paused. The fact the behavior changes (losing toggle casts for example) is actually quite irritating. I donā€™t often use Suspend, so I didnā€™t realize that reset, but if I did and it changed when the game lost focus, Iā€™d find that irritating too.

tl:dr, I do think it should be preserved (as should toggles).

1 Like

[autocast by toggle] is preserved
(can be also forced to be either on or off)
Maybe you mean something else?

Anyway, I find Suspend not being preserved irritating too.
It was preserved in some earlier version of the program
but I lost it after forcing restart after game regains focus
(which is necessary) but Iā€™ll re-add it.

Maybe it is because I have ā€œautocast_right_awayā€ coded and so it is overriding the default of preserving the state?

I usually code autocast_right_awayX=false, because I like to start it up myself, but I always lose the autocast when I alt-tab away and back and have to use the reset key to start it back up.

As an aside, there is clearly an interaction between the toggle key and the reset key, because whether togged on or off, the reset key will start the casting cycle.

1 Like

Is it possible to have multiple suspend_keys?

In another game, Iā€™d like to be able to have a suspend key on all the things that end up putting me into some form of chat (Enter,/,`), since I want to just enter text at that point. Pressing Enter again to remove the suspend.

Done. You can use either
suspend_key=Tab,Enter
or
suspend_keys=Tab,Enter

Wow, fast! I do see a problem, the suspend key isnā€™t passed through at all, so enter now doesnā€™t put me in to chat, it only suspends. I think it needs a ā€œkey_native_function=ā€ sort of thing to be used in the way I was thinking.

Hmmmā€¦ Actually thereā€™s a hack which you can use to enable pass-through.
Just precede key-name with ~, i.e.

suspend_keys=~Enter,~Tab

[edit] Iā€™d change it to pass-through by default but there probably was a reason
why I did it like this :thinking: I donā€™t remember now though

1 Like

@GaeanC

Maybe we should make NOT pass-trough the default optiion
throw out key-native altogether and use these ~~~~~ if wanting pass-through?

Thatā€™s an interesting idea. Youā€™d need some sort of compatibility setting so with the default being the way it is now, so that existing scripts donā€™t break. Itā€™s a lot of work on your end to update all the documentation too.

As an aside, how do you specify something like control-A? I donā€™t think specifying ^A works in the script. I tried it, but I wasnā€™t very thorough, so I could be wrong on this.

I think Autocast By Hold is the only feature that has it
and it should work by writing something like this:

[autocast by hold]
cast1=Ctrl,Space:1
delay1=100

How it works in the program:

  • if program detects the last activating button being pressed
    (Space here)
    it activates the appropriate function which then checks
    if previous buttons are held - only Ctrl here

and then it sends 1

Which seems about right

I think itā€™s flexible enough for all needs?

I donā€™t think it would be a lot of work.
Making the code more elegant and shorter has higher priority
for me than backward compatibility and stuff :slight_smile: