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

I have no idea.i donā€™t remember now, but I am not in the habit of copying someone elseā€™s posts.

You got me interested with the camera though. How does it work? I did not check that mod, because I want my camera to be as far away as possible.

If you.know of a possibility to make it very far away and turn around with my char, Iā€™d be very grateful. I tried your script, but it turns too fast for my liking :frowning:.

Doing some sleuthing of Kwiatos history @medea_fleecestealer it looks like Kwiatos might be a bot. His first post was a word-for-word copy (and wasnā€™t quoting, unlike medierra and Zantaiā€™s replies to innoruuk) of someone elses as can be seen here:

1 Like

Youā€™d need to ask the author of the TPP mode or someone else
knowing how to mod the camera to be far away, maybe also faster
rotation if I am to automate it in any way :thinking:

But his other reply is an original as far as I can see unless he took it from another thread.

I saw. Either way it goesā€¦ highly suspicious behavior. 3 posts total - Posts 1 and 3 are copy/pastes of someone else. Post 2 I cannot find an instance of so it seems to be some kind of weird anomaly - I do wonder tho if possibly it was a copy/paste of a post in the thread that was deleted (or a post of a deleted user). Any way moderators can see that?

All his posts are copy paste

:crate: making bots to pretend GD not ded?

1 Like

What the heck? Why isnā€™t that users post popping up when I search the thread?

because you only search in this topic : )

Noā€¦ thatā€™s the same thread in which he posted it.

Interestingly IT DOES list if you untick the optionā€¦

ā€¦and it links to Smithersonā€™s post. Very odd that it subsequently leaves out Kwiatos copy/paste from the results tho. Overall, it is at odds with the search behavior elsewhere, like with his copy paste in your thread here:

It shows both when ā€˜Search this topicā€™ is ticked.

1 Like

Well either way, I think weā€™ve shown that it is a bot and good find going your route :wink:

Strange that the search didnā€™t call up the original though in that thread. Something weird going on with Discourse because yesterday I only got kwiatos and eardā€™s (#183/184 posts) for results while today I get this, both times with search this topic ticked.

image
:thinking:

@GaeanC Now I think I remember why this hack for native function passthrough is not appropriate.
In AutoHotkey you cannot define the same hotkey two times
(bind two different function to the same button)
thatā€™s why I have a class HotkeysCollectorthat gathers all functions for a specific button
and executes them one by one.

How does this class know which functions belong to the same hotkey / button?
By the name of the button, without modifiers such as ~, * or $
(these modifiers used to be a part of the name of the hotkey button but now I separate them)

And hereā€™s whereā€™s the problem. Suppose you define two hotkeys on Right Mouse Button:
(blocking passthrough on RButton in Grim Dawn doesnā€™t work in Grim Dawn anyway IIRC
but letā€™s forget it for simplicityā€™s sake)

[autocast by hold]
cast1=RButton:1

[combo presses]
combo1=~RButton:2

Notice that the first hotkey is without ~ and the second has it.

Now because of ~ my program think these belong to different buttons
And attempts to create separate hotkeys instead of one which is bad
because itā€™s impossible in Autohotkey
One of them will not work or maybe youā€™ll get an error
(donā€™t remember at the moment)

@GaeanC

This brings one important thing I need to mention to you.
Suppose you define something like this in the current version of the program:

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

[combo presses]
combo1=Space:2
key_native_function1=true

Notice that these two hotkeys different in whether they allow pass through or not.
The thing is itā€™s impossible in AutoHotkey
I create only one Hotkey for Space and it can either have passthrough or not

Iā€™ve made it so that it will still work (both cast and combo above)
but whether it has passthrough or not is undefined
depends on the order of creation of these hotkeys in the code
the first one defines whether Space has passthrough or not

@GaeanC
For this reason ~ update is cancelled
and also beware of using ~hack.

If you define i.e. ~Space hotkey somewhere,
donā€™t create Space hotkey (without ~) anywhere in your config.

[edit] Well I could parse ~ while reading config but it but this would make
the hack kinda pointless since now I have to complicate the code for it.

[edit2] Iā€™ve made a warning and force program exit if youā€™re defining two functions
for the same button but differing in whether they allow passthrough or not:

Screenshot%20(410)

Fixed.

@GaeanC
Important update!
>> Download GDAutocaster! <<


Now hotkeys are suspended if they were suspended before.



There was a huge bug. If you had some Autocast on Toggles on,
then you minimize the game and then went back, they were restored,
but the flag (bit_mask) was incorrectly switched on for all possible timer indexes,
not only those that actually exist. As a result, after maximizinig the game
youā€™d always have all Autocast on Toggles on, even if you turned them all off,
because the program was thinking some Toggles were on so it thought
they should be on but in reality all REAL timers were off.


Command line option for having Suspended Keys or not at start:
GDAutocaster.exe config.ini Ā Ā Ā  (reads config.ini and skips file selection dialog)


GDAutocaster.exe config.ini BIT_MASK

  • reads config.ini
  • skips file selection dialog
  • BIT_MASK
    • first bit is for whether keys are Suspended after you first launch the game
    • second bit is for whether Autocasts on Toggle are started when you first launch the game
    • if BIT_MASK=
      • 0 it means none of the bits are set
      • 1 it means 1st bit it set
      • 2 it means 2nd bit is set
      • 3 it means both bits are set

Oh boy!

I was taking a GD break, playing Divinity: Original Sin 2 (D:OS2) and Conan Exiles (CE), but now I have so much stuff to play around with.

Iā€™m pretty sure my fairly simple use of ā€œ~ā€ for CE wonā€™t violate the rules, but good to know. I donā€™t have any scripts for DOS:2 yet, although Iā€™ve thought about it. GD is where I do all the complex stuff.

1 Like

Something is still not working the way I expected it to work.

The toggle key and reset key interaction is working the way I expected (reset only works if toggle is on), but if I tab away from the game and then return a while later (game was paused), the toggle is turned off even though it was turned on when I paused and alt-tabbed away. I kind of expected the timer to just keep going or be paused when I alt-tabbed out and then continue when I returned to the game. Instead every time I alt-tab away, I have to turn the toggle back on and press reset.

Relevant part of my script:

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

CMT= t toggles Word of Recall (on 5) going off every 17.5 seconds
cast1=t:q
delay1=17500
autocast_right_away1=True
reset_key1=q

Mmmm, When I start up or switch back the toggle is off, shouldnā€™t it be on due to ā€œautocast_right_away1=Trueā€?

Am I misunderstanding how this is all supposed to work again. :frowning:

1 Like

Havenā€™t read the post yet but there isnā€™t such thing
Thereā€™s only global autocast_right_away=True
for the whole section.

yes it should work as you expect let me think
and please post the whole config

Thereā€™s no global for this in this section.
This doesnā€™t do anything.
But native function is True by default so itā€™'s ok

Just tested this precise config (toggle timer on, minimize the game, go back)
and it works for me, even with some errors I mentioned above.
How long do you wait for timer to start?
Wait 18 seconds, not paused, donā€™t do anything in the meantime
Maybe test with shorter delay.

[edit] autocast_right_away=false wonā€™t work
if autocasting is saved and you minimize and go back
autocasting will be still working

The reason the way I program is kinda
force_autocasting_if_not_working_already=true