The changelog was getting too large, I split it into just the most recent major version and the rest in an archive text.
it took a second for it to refresh or something, but the auto-update should be working again.
Keep em coming, incrimental updates as they are made
Only patch bugs, seperate new features to another branch
The changelog was getting too large, I split it into just the most recent major version and the rest in an archive text.
it took a second for it to refresh or something, but the auto-update should be working again.
Last edited by thebbandit; 12-03-2019 at 11:22 PM.
I submitted a bug report on github but I wonder why the GUI isn't showing up? I have the latest AHK and version of AHK - but when I open PoE-Wingman.ahk it just shows up as the shield icon on the bottom right and no GUI comes up with the check boxes or anything? Do I need to downgrade my AHK? (1.1.32.00)
Hey thebbandit,
First and foremost thanks for this and it's greatly appreciated for all the work you put into it. This is working great and is extremely responsive for being an ahk.
Thanks!
I checked if updating AHK was an issue, and there is none there. Provide any updates to this on your bug report, I'm sure you will get it working.
Definitely my dude, more than welcome. Thanks for the kind words
This patch is another major improvement for the library when it comes to the OHB, huge reduction in the time it takes for a scan, and also no longer affected by the healthbar rapidly moving around. I think I may have finally gotten this function at its peak performance. Using the improvements implimented by feiyue on his FindText library, I can now resample the same screenshot for all the pixel colors. This is what has fixed the stuttering issue, and has reduced the time it takes to perform from +400ms to around 100ms. This alongside the changes to the GuiStatus and ClientLog get the total duration to around 250ish ms.
Along with the new features he implemented, there is also a new edit interface. I was a lot more careful this time when modifying his code, and have preserved much more of the functionality.
There is a new button which allows you to quickly test your strings from the script, so you can copy your string and then hit the Test Clipboard button to check if it has a result.
I also now allow for the script to be copied as the lib was designed, in case anyone wants to try making their own using this.
But this is a library for use with WingmanReloaded, and we only need the strings! So like the way it worked before, you can click Copy String to just grab the part we need.
The other thing is a new method of binding hotkeys I am trying out in the FindText GUI. Double click on the hotkey box and it will open a binding menu, it allows you to simply hold down the button combination you want to bind, and then hit submit and your done. Since its only one hotkey, I am trying it out here first. It seems pretty straightforward, and seems to work very well. Keep the FindText window open or minimized while you want to use the Screenshot Hotkey. If you hit escape or close, the window will exit. This new hotkey is useful for capturing those buffs that are very brief.
Code:-------------------------------------------------------------------------------- Release Notes -------------------------------------------------------------------------------- Version .08.00 December/06/2019 -------------------------------------------------------------------------------- I have decided to incriment the major version and make this the new stable release for people to download. This version finally fixes issues with the OHB for good! It should now be reliable to use Auto-Quit in the mines without being accidentally D/C Old changelogs can be read in the Changelog_Archive.txt file Summary of changes since last major version: Bugfixes for OHB Improvements to Debug messages, show readouts of Flask loop and Client log Improvements to the Tooltip display system Restructured calibration section in main menu Improvements to bulk vendor of Flasks and Skill gems Bugfixes for windows that need to be AlwaysOnTop Added automation for searching for Stash to click on, or vendor after stash Improved Movestash to use the arrow keys Added loading indicators for when script is starting New Client.txt monitor that checks for being in town, hideout, or mines New options for Auto-Quit health thresholds, and exit using a portal -------------------------------------------------------------------------------- Patch Notes -------------------------------------------------------------------------------- Version .08.00 December/06/2019 -------------------------------------------------------------------------------- Updated library for FindText() function Lib now offers ways of capturing and manipulating screenshots using this I have reduced the delay of the OHB from +400MS to ~100MS incidentally this also fixes issues with the healthbar quickly moving Lib has improved edit menu that remains the same size when scaling area you can now scroll the edit panel to select the correct pixels Can now assign a screenshot hotkey in the findtext GUI grab a screenshot and go back to capture buffs / debuffs later Can now test strings straight from the clipboard General adjustments for other parts of the scripts that use FindText() Coordinate input has been adjusted to match the new format GGF script finally utilizes variables coming from the Rescale function Should allow for people using a secondary monitor to play the game Opening the FindText GUI is now its own thread seperated from the main script This allows for using the screenshot feature without it being overwritten Pressing escape will exit the app while its active, closing the window as well Minimize allows you to keep it open for using the screenshot hotkey Introducing Advanced Hotkeys library for easier binding of hotkeys as a proof of concept I have modified the FindText lib Screnshot hotkey to use this Double click on the binding editbox to bring up the hotkey assignment window Also added DynaRun and CreateScript in library for later use These allow for scripts which can be run in a seperate thread
I am running as limited user and having no issues. Which part of the script are you having issues with, maybe I can give advice.
And a very small patch to fix Syndicate Safehouse having the zone name Syndicate Hideout
Code:Version .08.01 December/07/2019 -------------------------------------------------------------------------------- Quick patch to fix Location issue with Syndicate Hideout Since I assumed any zone with word Hideout was a Hideout, it paused script It now makes an exception for this zone
Someone said "doing the same thing over and over and expecting different results" is what would describe insanity. You have to understand that this is simply a program that does what you tell it to do, so the common element in all of your issues is yourself. Take a moment to relax, look at the numerable pages of wiki information I have provided, and see if you cannot answer the questions you have about how this works. And Yes, my script has everything to do with math, what a silly statement.
thebbandit is doing amazing job but I still cant understand why AHK. C# offers same easy to write code. But with better GUI, easier to multithread, write unit tests so your old code wont get fucked later and so on
I have become more than aware of the shortcomings of AHK this far into the project. I actually learned this language as a fun thing to play with, and was inspired by the original wingman to do so. If I had a background of writing code in another language I may have instead just rewritten the app while it was only a few functions. But being that as it is, now that I know its shortcomings I have been researching methods of getting around them. Multithreading for AHK_L is a thing, but I am just recently starting to fully understand what I will need to do to impliment it. If you look at the 8.00 patch notes you will notice some libraries that have been added to acheive quasi-multithreading, and I am looking into how to impliment this into the script to replace the child scripts with dynamic created ones. I think the first two to tackle will be the controller function all into its own thread, and then doing the same for the Quicksilver script, and then I can remove GottaGoFast.ahk from the directory and instead create them dynamically using pipes.
But the GUI downsides will not be something to overcome as easily. I have come up with some workarounds to help with some of the rather complex GUI elements, but at the end of the day its true, the GUI portion of AHK is not the best when it comes to adjusting the elements on the fly. At this point though, I have committed to AHK, I do not see myself rewriting this in another language.
The error is the same in every situation, if the health check is triggering, your colors are not correct. I know that your OnChar calibration is correct because the flasks are triggering. So that leaves me with one situation that likely occured, you pressed save configuration while the game menu was open, and you were not on your character. I added a failcheck to ensure that you are on a character first. Now it makes sure you are registering OnChar and then samples, and gives you a messagebox if you try and save but it hits an error. This way you wont grab false samples.
I have also had a similar thing occur, but I know exactly how to fix it. I just go onto my character, and then hit save configuration. I thought that the tooltip prompts were helping to make it more clear of the requirements, I guess they can be easy to miss. They warn you if you save while the game was open, to tell you it resampled. The reason that it is on the save button, is because you actually need to recalibrate quite often when you switch from one character to another. Some values don't change much, but others can vary like ES for example.
Code:Version .08.02 December/07/2019 -------------------------------------------------------------------------------- Added a check for being on character before resampling health and mana values This affects the Save Configuration button Will receive messagebox prompts if there is an issue resampling will not resample if script cannot detect being on character If everything checks out, it instead displays a tooltip that it's all clear
When I run the ahk there is no GUI popping up. I tested some other ahk's like trade macro and they are working. is there a hotkey I'm supposed to press? I read through the first page but couldn't see anything.
Last edited by PinkiPan; 12-08-2019 at 04:52 AM.
Which GUI are you talking about, the overlay in the bottom left corner? Or are you talking about the main interface for the Settings? If you are meaning the settings interface, the default hotkey is Alt+F10. If you are talking about the overlay, the should automatically appear once you have the game window active. If that is not appearing, then go onto a character and hit save configuration, if it prompts you with a messagebox that you are not in the game, something is going wrong with your game window being identified.
You can also open the games settings by double clicking the tray icon, or by right clicking the tray icon and selecting the option at the top "WingmanReloaded"
Last edited by thebbandit; 12-08-2019 at 08:24 PM.
Yeah i meant the gui settings as shown on the first page of this thread. I can see the script is running in the tray but when I press alt+f10 nothing happens and double clicking it in the tray just brings up ahk editing for the script.
EDIT: Seems to work with steam version so ill just use that.
Last edited by PinkiPan; 12-09-2019 at 01:25 PM.
working
Last edited by PinkiPan; 12-09-2019 at 02:20 PM.
Any chance of separating the inventory stash from everything else? I don't change a thing and this program always has problems after a few days. It's the only thing I use. I have to start fresh each time to get the GUI to pop up and then re enter settings.
It gives this window and I have to start fresh to get it to work again.
Capture.PNG
Last edited by anyhtinggoes; 12-10-2019 at 03:45 AM.
If you can provide me a translation of the very specific phrases as they appear in your client log, we can add your language to the client parser. Currently it is only written for English.
I have made a new testbench which can help you in translating the needed phrases. It will give you feedback if its working or not, and also write to the log when the data changes.
ClientLogTestBench.zip
Here is what I did for spanish. You will want to modify Language value, in this case it would be "Spanish".
Code:Else If (Lang = "Spanish") ; This is for Translation { ; This phrase must only be contained in zone changes. If InStr(cStr, " : Has entrado a ") { ; We split away the rest of the sentence for only location ; Spanish: CurrentLocation := StrSplit(cStr, " : Has entrado a "," .`r`n")[2] ; We should now have our location name and can begin comparing ; This compares the captured string to a list of town names If indexOf(CurrentLocation,ClientTowns) OnTown := True Else OnTown := False ; Now we check if it's a hideout, make sure to whitelist Syndicate ; Look for a definitive word that only shows up when your on the hideout If (InStr(CurrentLocation, "Guarida") && !InStr(CurrentLocation, "Sindicato")) OnHideout := True Else OnHideout := False ; Now we check if we match mines If (CurrentLocation = "Mina de Azurita") OnMines := True Else OnMines := False Return True } }
Add the names of the towns into the ClientTowns list just like they are formatted , "Name of Town", "Next name", etc. Add in towns like so, with any translations added on the same line, this makes it easy to know which is which.
Code:Global ClientTowns := [ "Lioneye's Watch", "La Vigilancia de Lioneye" ,"The Forest Encampment", "El Campamento Forestal" ,"The Sarn Encampment", "El Campamento de Sarn" ,"Highgate", "Atalaya" ,"Overseer's Tower", "La Torre del Capataz" ,"The Bridge Encampment", "El Campamento del Puente" ,"Oriath Docks", "Las Dársenas de Oriath" ,"Oriath" ]
So to sum up the above, you need some phrases like "You have entered" to check for zone change.
Then you take that and compare to the list of the towns names, you will have to grab the translations for those from log file.
Then you need the Translation for "Hideout" , "Syndicate" and "Azurite Mine" from your client log file.
Last edited by thebbandit; 12-11-2019 at 05:54 AM.