bennybroseph / autohotkey_scripts Goto Github PK
View Code? Open in Web Editor NEWAHK script used to play games similar to Diablo 3 with a controller
AHK script used to play games similar to Diablo 3 with a controller
So, I have been trying out this script, mainly in D3 so far, using keyboard and mouse, during testing it became quickly apparent that both Targeted Actions and Movement Actions show the same behavior(targeting at my feet/mouse position, and not the software cursor) I am not sure whether this has to do with any potential changes to D3 in the recent season, or whether I did something wrong(I disabled controller, enabled KBM)
i got it to work befor just updated it to v4.0 but when i use it it wont let me use it in gamer it switches to my desktop i re configured a few times and reinstalled it but idk why it is doing this i cant use autp pick up or any butten really but attack PS THIS THING IS AMAZING WHEN IT WORKS THANK YOU SO MUCH !!!!!!
Pausing the script with F10 disables the script as expected but makes the cursor unmovable with the actual mouse. Current workaround is to completely terminate the scripts with F12, do regular mouse + keyboard stuff then start the script again.
Is there any way to "auto lef click" when I move the left stick?
Especially interested in "MacOS Ventura" compatibility and M1/M2 chips compatibility.
@bennybroseph update this for steam deck layout Diablo III Controller support for Steam Deck
There is no support for inventory mode in ultra-wide resolutions like 2560x1080, changing the numbers in the inventory options custom scaling doesn't seem to work, I have tried to set them to:
Custom_Scaling_Width 21
Custom_Scaling_Height 9
Custom_Scaling_Width 1.3333
Custom_Scaling_Height 1
Custom_Scaling_Width 2560
Custom_Scaling_Height 1080
Nothing seems to work if I put the either the first or third the mouse goes to very wrong places, and in the second option the scripts get bugged and I have to restart it, it doesn't seem to take floats too well
Thx very much for this, appreciating a lot. Some bugs I've noticed
You can set Right Stick Senstivity to -1 but not -0.75 (raise a popup error while playing). Pretty sure its an float/integer issue.
Same issue with inventory scaling, integers don't raise errors but floats makes everything buggy (basically have to relaunch).
Globally 21/9 resolution is not well handled, either trying 2520 * 1080 or 3440 * 1440 my actual resolution creates strange results for Inventory and Overlay.
Maybe a rounding issue? :) tried 0,8 and 0,9, in PoE, as I found the cursor to move a bit too fast in free mode.
On a side note, thank you so much for this, it's enabling me to play PoE again (can't play much using KB+M due to wrist issues).
Firstly, this is an amazing project, everything you've implemented so far is brilliant, especially the Configuration menu that allows you to edit almost every aspect of it.
I'm running Path of Exile with DS4Windows on Full screen Windowed at 1440p and everything with the upscaling seems to work really well. I haven't had many issues with the basic operations and I've been able to play the game relatively easily once I adjusted keybindings etc. however, there are some bugs I've noticed and also some ideas that could potentially improve the experience.
There's one issue that for me is a game breaking one, a reason why I cannot currently use the script to play the game past act 2. It's the movement abilities that activate in the direction you're moving. With abilities such as Shield Charge and Leap Slam they target where the cursor is, they have a variable range. This causes those abilities to only activate on the spot, instead of reaching their max range, so currently they're useless for movement. A fix for this would to have another movement field in the config menu for abilities that when activated would move the walk cursor to the max range in the the same direction when those abilities are activate. Similar to the targeting reticle that briefly activates the cursor at the targeted location. I could use them as normal abilities with the targeting reticle but I'd have to change the layout of all the abilities and it just wouldn't work very well.
Also an advanced option for this feature, which is present on the console version is that these movement skills can be targeted at the closest enemy to you. So theres an option to have the skill operate at max range all the time for pure movement or an option to target the closest enemy. For example if you have it set to target enemy then with Ground slam you can use it to traverse the environment very quickly as it activates at max range when there's no target present but then when an enemy is in front of you it will immediately target that enemy instead of overshooting them, which is very useful for certain builds. I have no idea if this would even be viable with this script though.
The targeting reticles path around the edge of the screen draws an unconventional oval, where the reticle moves closer to the middle of the screen when passing the centre of each side of the monitor. Is this a design feature? I can't see why it would be advantageous in POE.
The aiming reticle is inverted, I fixed this by altering the X and Y input in DS4Windows.
Under Set Keybindings for the D-Pad inputs, they correspond to #1-5 on the keyboard. When attempting to edit that field you're only given the option to enter a number value and cannot input a letter or key name. You can edit this from the text document however. Also if you change a keybinding to a number you cannot change it back as you are presented with the same issue.
The inventory grid system is brilliant but when you select some types of armour the default position of the cursor in the item slot highlights the gem and not the armour piece, so you cannot move the item using the grid system. Not a big issue but noteworthy. A slight change to the cursor positioning would resolve this.
The inventory cursor reverts back to its previous location even though "Remember_Position" is set to false.
The R3 button on the image overlay doesn't appear. I can see the D-Pad arrows, Trigger and Bumper buttons but the R3 that is designated to the quick move flask isn't visable on the 5th slot.
Whilst the invertory grid system is active, if you activate the free cursor, the grid arrow still remains in the inventory, sometimes even when you've closed the inventory. I realise that holding the inventory button disables this but it has caused issues when trying to move items and then attempting to move afterwards etc. Making the grid lock D-Pad interface disable itself upon closing the inventory or pressing the space key (cancel all windows) would be a nice addition.
I have some ideas that makes the whole inventory and free cursor system work a lot better so please hear me out. Firstly with the grid system itself, I realise that time is precious and you probably have a lot of ideas for improvement yourself and in the future you probably plan to extent the grid system to cover the stash and shop grids as well.
This system would make moving items and interacting with the other grids much easier. So you'd develop 3 grids, one for the inventory (already done), one for the stash and one for the shops. Once these were setup you could then set the LB and RB buttons to navigate between them. For example pressing the inventory button would open the inventory and activate grid mode, you could pick up an item using the D-Pad and LButton (A) from the inventory and then cycle to the stash grid by press LB or RB, with said item still selected, use the stash grid to select which tile to drop it on in. This would also work for selling and buying items from the shop. I've measured the shop grids and each one sits on the screen at a slightly differently location but not so much that a single grid layout couldn't work for them both. There would be a slight overlap on the top and bottom of each one where the bottom row of slots would be below the grid on the opposite interface but even then those slots could be utilised to change tabs 1/2/3/4 whilst buying items and click dismiss and accept whilst selling them, one grid would be sufficient.
Furthermore to this grid system, there could be a keyboard grid, image overlay interface developed. This could be bound to a hold command on the R3 stick. So for example upon holding the R3 button, the in game chat menu would be selected(enter) and an on screen keyboard overlay would appear next to the chat menu, that was bound by a similar grid system using the D-Pad like the inventory system. This would utilise the chat feature in game, which is currently inaccessible when only using a controller. Holding R3 or closing all windows (space) would close the interface and resume normal input.
L3 currently releases the fixed position of the cursor to free mode to allow you to navigate menus easier and loot etc. A free cursor mode is essential in the PC version. However using R3 as the free cursor would be a lot more useful in my opinion (or at least have the option to make this possible for players that wanted to use it as such). I've personally ran into issues when trying to alternate between movement and free mode when using the inventory grid and a few other things with the Lstick.
Upon pressing L3 it would turn the Rstick from Aiming mode to Free Cursor mode. The Free cursor mode would only then activate when the Rstick was moved however, so you could still use the Lstick for normal player movement even when Free curson mode was active on the Rstick. Upon pressing L3 again the Rstick would resume its normal targeting mode.
Furthermore to this, a more advanced method of interaction between the use of said cursor actions would be that, for instance, when a D-Pad grid mode is active on one of the stash/ inventory tabs, using free cursor mode would temporarily suspend the D-Pad navigation briefly. For example I've opened the inventory and I'm using the D-Pad to navigate through it but then I decide to use the Rstick (which is already activate for free cursor mode) to navigate myself, the fixed cursor and D-Pad navigation would deactivate. Then when I release the Rstick, after a set time (2000ms) the D-Pad grid navigation would resume and return the cursor to the last known position. Basically suspending the grid navigation when using Free cursor, making it more user friendly, not having to deactivate grid mode manually like it's currently set up. (it would be cool if the inventory grid mode deactivated automatically on the current build when closing the inventory screen. It would also be advantageous if it also suspended itself while using the Free cursor mode). Closing all windows (space) would also deactivate said grid mode as well.
Notifications can be set to true or false. I've found being able to see their status very helpful but at the same time can get in the way of seeing things in the game. Therefore having the option for them to appear only briefly (3000ms) would be very advantageous. Also the ability to change duration etc.
The End.
Haha, I'm really excited about this project and I think you've done an amazing job so far. The reality though I assume is that working on your own even if you completely agreed with my write up, that amount of work would take hundreds of hours more.
Where are you at currently with development and time spent on it? What assets do you have available and are you seeking partners to work on this with you? I myself have little knowledge but would be willing to learn and provide assistance.
I'm more interested in the POE side of this development. What programs would I need to edit and expand this sort of thing on a professional level?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.