Iām confused. Your examples in the first post clearly show āinitial_delayā and āinner_delayā in the [autocast by hold] section and here you say it isnāt supported.
Hmmm⦠Iāve never thought of that, thatās a great idea!
That would be sweet if it works - I actually didnāt think about it
just made it for Capslock to not toggle its light.
Let me make the following test with in-game bindings
and holding these buttons
a - 1
s - 2
d - 3
(best if they are some cooldown skills because otherwise
one may dominate with just its animation yet buttons are pressed)
[autocast by hold]
cast1=a:1
cast2=s:2
cast3=d:3
@GaeanC
TEST RESULTS of the above simple spam of 3 cooldown skills
[autocast by hold]
cast1=a:1
cast2=s:2
cast3=d:3
-
NOTHING IS BOUND IN-GAME TO A, S, D
- WORKS
-
SKILLS 1, 2, 3 BOUND TO A, S, D IN-GAME
- DOESNāT WORK - ONLY LAST PRESSED SKILL SPAMS
-
NOW LETāS MAKE YOUR MODIFICATION
WITH 1, 2, 3 BOUND TO A, S, D IN-GAME
[autocast by hold]
cast1=a:1
key_native_function1=false
cast2=s:2
key_native_function2=false
cast3=d:3
key_native_function3=false
- IT WORKS! THANKS, IT WILL HELP ME WITH MY CONFIG TO!
Beware I may donāt have key_native_function in some of my features / sections
so you have to tell me if youād like it somewhere added when itās not there
I have so very many scripts to fix because of my addiction to making new characters with new builds!!!
Yeah, and try making Primal Strike with Savagery with PS on Combo Holds
(assuming you cast some debuff beforehands and use initial_delay because otherwise it can be on RMB natively I guess)
HEREāS LOGGING VERSION OF GDAUTOCASTER FOR CENTER CASTS FEATURE
https://mega.nz/file/EJtSgJbL#cpZhBTNHwf6cW9u47R0cx_85t8fghDxDI49NTcb7KMA
Please make such test
-
Run GDAutocater.exe
-
Load the config thatās provided there
- use your dual-monitor setup where it doesnāt work properly
-
Get into GDās Main Menu
- you donāt have to get in-game
-
Make a Screenshot where the cursor is before pressing Q
-
Not Cursor moves somewhere - you got 5 seconds toā¦
-
Make another screenshot so that I can see where the cursor is landed
-
Send me
-
GDAutocaster.log
-
Screenshots
-
Description of your monitors resolution, i.eā¦
- 2nd with Grim Dawn has AxB resolutioon
- 1st without Grim Dawn has CxD resolution
-
If youāre configs get ugly because you have million key_native_function entries there
you can always ask me to ask for default global key_native_function options somewhere
Then attach your ugly config and I can see where it add is most appropriately
Something isnāt working right with the special version you wanted me to use.
- When I press q, I get a notification sound from windows as if the key was not allowed. I tried it in the GD main menu and in game.
- I canāt find any log file.
Also, Iām guessing that in step 5, you want me to press āqā without moving the cursor.
I tried using ākey_native_function=falseā at the top of [autocast by hold] and things seemed to be working, but maybe it isnāt and Iām just still confused about how it should be working. This is in a different script than the example above. Now Iāll have to try coding it on each entry and see what changes.
Something is wrong indeed, it even makes that sound outside of the game, lol. Iāll fix it.
Iāll add some default option for that w8
Upon more careful testing, it is clear the using it as a default wasnāt working, so yes, it would definitely be nice to be able to specify it that way.
Also, changing the script Iām currently working upon per this discussion (and some things you pointed out in your major critique of my script) makes it work much better. What is amazing is that my previous way of doing things worked at all.
Updated. Now "ākey_native_function=falseā at the top of [autocast by hold] " should work (not tested)
https://github.com/kowariantny/GDAutocaster/raw/master/GDAutocaster.exe
New version, donāt know what went wrong with the previous one
https://mega.nz/file/dNlVhA4Z#1OpmxPivnOa6yweCxy6PpE-kcNWB-3D64ewZV5tvypg
Iāve made some changes to the OP / Documentation so that itās more readable / easy to use.
Might it be worth documenting which keywords (xxx=) are valid in each section ([xx yy])? I know that Iāve caused myself lots of trouble trying to use keywords in sections that didnāt support them.
All keywords that are available have some sample cast / combo in section documentations.
All globals for sections are listed.
Looking through your critique of the long script I posted above, the things that seem most major are:
-
My double mapping of keys and failure to fully understand the implications of GD only allowing 1 key to be held down at a time. We discussed this at length already.
-
I was defining a lot of keys then needed, because Iād often have a key defined in [combo presses] for itās press and in [autocast by hold] when all I had to do was define it in the latter with zero or a small delay.
Just based on those two items, Iād change a lot of things, probably mostly similarly to how you suggest. Some other things:
I was trying to make sure Bloodthirster goes off as when I want it, I really want it.
I definitely need to revisit this with my newfound knowledge. To clarify, what I was trying to do was to be able to have Savagery interspersed with many Primal Strikes on just RButton. It wasnāt working for me using [combo hold], but that may have been because of my double mapping of the keys. It does point out the need for key_native_function=false support on [combo hold].
That formula makes so much sense. It should probably be documented in the documentation included in the OP. I like documentation as youāve probably guessed by now.
Your guess as to why I have it that way is exactly correct. A lot of builds are starved for energy when attacking small groups as they kill fast and donāt get to use energy absorption to refill. This script is for one of those builds, so I sort of micro-manage skills. You are right that I probably could incorporate it into Rbutton holds.
The skill on 8 is a āmove fastā, a skill that jumps, teleports, or rushes forward. This plus my āZā key being defined as āmoveā with a combo hold. makes me constantly move toward the cursor, using the āmove fastā whenever it is ready.
[combo holds]
CMT= āUpā keeps me moving toward my cursor (Up)
combo1=z:Up
initial_delay1=150
Please answer my short questions from my last PM!
But when its in autocast by hold like that
cast3=w:6,6,6,6
all those four 6 button presses are made in almost the same exact moment I feel like
(right next to each other in the code, without any time delay, not like in Combo Presses)
To ensure its cast I would put it into Combo Press with 100 or maybe 200 ms delay,
something like this:
[combo presses]
combo1=w:6,6,6,6,6
delay1=200
I think it might a better insurance.
Combo Holds does currently have local key_native_functionX
Thatās kinda lazy - not wanting to hold LMB while holding Z with Movement Skill
You could also have it in autocast by hold with movement skill spam activated on double LMB Press + Hold
This way after this double click + hold youāre both moving and spamming movement skill
and itās more natural than having special z button.
[edit] But Your Move doesnāt target Monster or anything so I think itās different than LMB movement if I remember Move correctly.
It is and it isnāt ālazyā. Iāve had repetitive strain issues in the past and my mousing hand/wrist is the one that tends to get tired and achy. Less button pressing/holding is good for me and might extend the life of my mouse too.
Ok, if you want I can implement
HOLD ON TOGGLE
so that you can combine it with
AUTOCAST ON TOGGLE
and have all these
ON TOGGLE
so that you donāt have to hold Z
Btw Iāve sent you another test on PM.
If it doesnāt work (or rather improve / is the same as 1st test)
then Iām taking a break from it
and come back some other time with fresh mind / different approach.
[hold on toggle] seems great. It would probably even solve the one thing for which Iām still using native AutoHotKey - implementing a toggle hold for sprinting in Conan Exiles.
@GaeanC
https://github.com/kowariantny/GDAutocaster/raw/master/GDAutocaster.exe
Programmed to work with such configs
[toggle holds]
key_native_function=true
initial_delay=0
toggle1=Q:1
toggle2=Q:2
toggle3=A:1,2
key_native_function3=false
toggle4=LButton:7
initial_delay4=150
double_press4=true
double_press_time_gap4=300
I havenāt tested it too much but this worked:
[toggle holds]
toggle1=a:1
toggle2=d:LButton