View previous topic :: View next topic |
Author |
Message |
happyTugs Cheater Reputation: 0
Joined: 23 Apr 2020 Posts: 26
|
Posted: Tue Mar 14, 2023 12:34 pm Post subject: Auto Parry/Auto Dodge |
|
|
Hello.
The game I am looking at is the Witcher 3 DX11, and I am trying to figure out how the dodge mechanic works to create a script that automatically dodges enemy attack.
I was largely inspired by Fang's demonstration. https://www.youtube.com/watch?v=2R5wquxz-_4
From my research and investigation with W3's proprietary .ws scripts, a float timer is activated before an enemy attack, and the player must input a keypress that presumably sets the is_dodging flag before the timer ends. Since finding the timer is difficult due to the small timeframe, I tried to find the flag activated by the keypress by searching for Boolean values; however, this venture was not successful. I was thinking about acquiring a handle to DirectX, checking for the dodge keypress (i.e. VK_LMENU), and tracing upwards to search for that particular flag. Is this feasible, or is there an easier method, or should I be focusing on something else entirely?
If you have coded an auto parry/auto dodge before, do you have any tips that you can share with me, or what the process was like?
Warm regards,
happyTugs
_________________
This is a block of text that can be added to posts you make. There is a 300 character limit |
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Tue Mar 14, 2023 4:41 pm Post subject: |
|
|
It may depend on how the data is being handled.
If you know that there is a dodge timer, then that would be an easy approach. If the window for scanning is tight, try to slow the process down with CE's speedhack or similar.
Once found, you can just write a script that will initialize the appropriate key inputs for the dodge or parry to occur.
With Sleeping Dogs, if I recall correctly, there was a flag that would be triggered whenever an enemy was attacking you. Once that was found, it was simply a matter of artificially relaying user input for the block to occur.
In my case, I ended up using the game's code for that, since I could not get LUA to work properly. I also had to create an artificial timer that would forcefully send the input signal multiple times as a guarantee, since it would not always trigger, otherwise (I believe, since my memory has become toilet).
|
|
Back to top |
|
|
happyTugs Cheater Reputation: 0
Joined: 23 Apr 2020 Posts: 26
|
Posted: Wed Mar 15, 2023 6:27 am Post subject: |
|
|
++METHOS wrote: | It may depend on how the data is being handled.
If you know that there is a dodge timer, then that would be an easy approach. If the window for scanning is tight, try to slow the process down with CE's speedhack or similar.
Once found, you can just write a script that will initialize the appropriate key inputs for the dodge or parry to occur.
With Sleeping Dogs, if I recall correctly, there was a flag that would be triggered whenever an enemy was attacking you. Once that was found, it was simply a matter of artificially relaying user input for the block to occur.
|
greetz ++METHOS!
Thank you for the advice. and I figured out the issue.
I opened up the Witcher 3 mod SDK, logged any relevant calls, and traced how the dodge function was called. It turns out that there is a class responsible for how actions are managed called W3DamageManagerProcessor. Specifically, there is a member function called ProcessAction that processes actions.
It seems I wasted a lot of time looking for the wrong thing.
Anyways, I will hook the function inside Cheat Engine, invoke the dodge keypress, and then call it a day....
cheers!
happyTugs
_________________
This is a block of text that can be added to posts you make. There is a 300 character limit |
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Wed Mar 15, 2023 11:25 am Post subject: |
|
|
Glad to hear it. It is always nice when we have identifiable data to work with.
|
|
Back to top |
|
|
Csimbi I post too much Reputation: 92
Joined: 14 Jul 2007 Posts: 3102
|
Posted: Wed Mar 15, 2023 1:57 pm Post subject: |
|
|
happyTugs wrote: |
It seems I wasted a lot of time looking for the wrong thing.
|
That happens to me more than I can count.
But that's the fun part, right?
|
|
Back to top |
|
|
TsTg Master Cheater Reputation: 5
Joined: 12 Dec 2012 Posts: 334 Location: Somewhere....
|
Posted: Thu Mar 23, 2023 4:14 am Post subject: |
|
|
happyTugs wrote: |
It seems I wasted a lot of time looking for the wrong thing.
|
you're not alone my friend
|
|
Back to top |
|
|
vanko52 How do I cheat? Reputation: 0
Joined: 28 May 2023 Posts: 1 Location: Bulgaria
|
Posted: Sun May 28, 2023 12:42 am Post subject: Hi |
|
|
I am looking for this auto dodge table for so long and I currently don't have time learning how to make tables with CT I can only change values etc. Mind if you share it I will be greatful!
|
|
Back to top |
|
|
|