Tool for Path of Exile game to automatically scan Archemesis inventory and display related information

Overview

poe-archnemesis-scanner

Tool for Path of Exile game to automatically scan Archemesis inventory and display related information

Features

Controls

When you start the program three small buttons will pop up in the top left corner of your screen.

controls

  • '[X]' button just closes the program.
  • 'Settings' button open settings window (see below).
  • 'Scan' button does all the magic. Once you press it, the program will enter the scanning mode and the button will change to 'Scanning...'. It will scan your screen according to the scanning window area and will create a list of all possible recipes. After the scan completes, the button will change again to 'Hide'. Once you examine the scan result, click the 'Hide' button to hide them.

Settings

The setting window allows you to adjust some parameters to improve the searching efficiency or change the display settings:

settings_window

  • 'Set scanner window' button modifies the scanning area. The format for the window position is the following x, y, width, height. x and y are the horizontal and vertical offset from the top left corner of the screen. width and height are horizontal and vertical size of the window.

    When you press the button, a white rectangle will pop up for a moment and then disappear. This rectangle shows the scanning window area to help with adjustments. The default value should work in most cases, but if you want to speed the search, it's recommended to adjust it.

  • 'Set image scale' button sets the scaling factor for the source images. The current search algorithm expects the source image and the image on the screen to be the same size. Thus, we'll need to scale down/up the source images in order to get reliable results.

    The default calculated automatically based on the screen resolution and should work for most of the people. However, if you have some non-standard resolution, the search algorithm may not work properly, so you'll need to adjust this parameter manually.

  • 'Set confidence threshold' button sets the threshold used by the search algorithm to filter the results. If the algorithm was able to find an area with confidence value higher than the confidence threshold then it will treat it as a match. The default value is 0.94 (or 94%) and should work in most of the cases.

  • 'Display inventory items' checkbox turns additional display setting for scan window. The scan results will also include a list of all of your archnemesis items in the inventory.

The settings are persistent and will be saved/loaded from settings.ini file.

Scan results

The scan result will be displayed at the top of the screen like that:

scan_results

It shows you all available recipes that you can create right now. If the text is green, then that means you already have such item in the inventory. If the text is orange, then this item doesn't exist in your inventory.

You could then hover over any of the recipes to highlight the items in your inventory that could be combined to create it:

scan_results_highlight

If you checked 'Display inventory items' box, then your scan results will also include a list of all of your items in inventory (colored in white):

scan_results_display_inventory_items

Again, hover over any items to display them in your inventory.

Installation

Standalone

You could download a standalone version from release page: https://github.com/4rtzel/poe-archnemesis-scanner/releases. The package was created using pyinstaller.

Manual

You'll need to install Python and all project dependencies. Python could be installed from Microsoft Store and from the main site: https://www.python.org/downloads/ (doesn't include pip, so you'll have to install it separately).

Once the Python and pip are installed, run this command from the project directory to install all project dependencies:

pip.exe install -r requirements.txt

and then start the program

python.exe poe_arch_scanner.py

Known Issues

  • Doesn't work if the game is in the fullscreen.
  • Only works for the primary monitor (Tk limitation).
  • Occasionally hangs.
Comments
  • Script does nothing, just hangs on start

    Script does nothing, just hangs on start

    Hi, I have tried running both through the release executable and the script after installing the dependencies. Both just hang with no output at all. I am using python 3.10 on Windows 11, running with admin rights. The game is running in the background when I try.

    bug 
    opened by cyrilbos 17
  • Added a

    Added a "Shopping List" mode feature

    • Added a "Shopping List" mode, where you can specify items that you want and the scan will inform you of everything you are missing. It also adds a dynamically added "Trash" recipe that identifies items in your inventory that you don't need to accomplish your goal

      • If it isn't clear in the screenshots, the recipe list is filtered to only show the recipes that are in the chain for the specified shopping list
      • The recipe list also includes the "trash" recipe, which selects up to 4 items that aren't in the shopping list tree PathOfExile_wBUXXeDmJc PathOfExile_MVR1rlmPUG
    • I also just refactored the initial code base to break it out into multiple files, which I think is just easier to maintain

      • The first two commits are 100% the refactor, all commits beyond that are my feature changes
    • Fixed misspelled Treant Horder > Treant Horde

    • I noticed the settings.ini file wasn't commited to the repo, so I added it to the .gitignore

    opened by williammetcalf 10
  • Entangler not detected

    Entangler not detected

    Thank you again for this league-changing tool. Version 0.0.3 has everything needed to be optimal and not lose time in maps. The new recipe tree idea is brilliant. Everything's perfect for me except for Entangler not being detected correctly, even when changing the threshold or image scale.

    bug 
    opened by vaelrock 6
  • Group rectangles

    Group rectangles

    изображение

    16 berserkers found, but actually 7 is in inventory

    Seems you don't group rectangles with cv2, do you?

    For example:

    def get_rectangles(image, template, THRESHOLD = 0.8):
        result = cv2.matchTemplate(image, template, cv2.TM_CCOEFF_NORMED)
        yloc, xloc = np.where(result >= THRESHOLD)
    
        rectangles = []
    
        [ht, wt] = template.shape
        for (x, y) in zip(xloc, yloc):
            rectangles.append([int(x), int(y), int(wt), int(ht)])
            rectangles.append([int(x), int(y), int(wt), int(ht)])
    
        rectangles, weights = cv2.groupRectangles(rectangles, 1, 0.1)
    
        return rectangles
    
    opened by antofa 6
  • Green markers block clicks

    Green markers block clicks

    The green markers that also seem to have no way to get rid of block interactions.

    So once you've clicked a recipie, you are blocked from interacting with the items you want.

    Also recipie trees seem to not be closable.. I can't get rid of green markers or some trees with any interaction but closing the app.

    bug 
    opened by Davst 4
  • Error when scanning inventory

    Error when scanning inventory

    Just downloaded the latest commit and getting this error message when I press "Scan"

    https://pastebin.com/cNkMA2NN

    Not sure which commit is the cause, but yesterday it was scanning properly

    bug 
    opened by drac69 3
  • Populate clipboard with recipe clicked in tree

    Populate clipboard with recipe clicked in tree

    Your tree UI is amazing for discovery but doesn't quickly allow you to highlight all the components again after moving onto the second/third mob in a recipe chain.

    My solution is to:

    • Iterate over the tree for component names, or use the top-level item if no components
    • Push these items to the clipboard wrapped in ^(componet_1|component_2):
      • Example: Clicking on Trickster icon copies this to my clipboard ^(Overcharged|Assassin|Echoist)
    • Hide your tree UI
    • Hit ctrl+f and paste into the in-game filter for easy highlighting when spending the components

    Thanks for making this tool, it's fantastic!

    opened by alexberryman 3
  • Try to translate into simplified Chinese(zh-cn)

    Try to translate into simplified Chinese(zh-cn)

    Hello, I'm trying to translate this software into Chinese. Would you mind? I posted it on website "17173", a Chinese forum website about Poe, Of course, I will indicate the author and source.

    this is the link: http://bbs.17173.com/thread-11336859-1-1.html

    (sry, my english is pretty poor).

    opened by RoyXin 2
  • count max 1 per slot, show warning if there is no match for some? show total matchs

    count max 1 per slot, show warning if there is no match for some? show total matchs

    *so first of all maybe you can add some that check if slot number x already got a match and a new match for same slot come take the best one and ignore the other one

    *show the total count of match can help so ppl know that the scan is not 100% real

    *maybe show "7x unnacounted" if 7 slot had not match

    here you can check what i mean Sin título

    opened by kevindevm 2
  • [Enhancement] Ingredient used in

    [Enhancement] Ingredient used in

    At the moment when you left click an recipe or ingredient, when displaying inventory items, it shows how to make what was clicked.

    It would be cool with the ability to show what something that was clicked is used for. This could be done on click with mouse button three or maybe left click while holding shift or something similar.

    i.e clicking a "Toxic", would show two combination, one to make "Entangler" and one for "Treant Horde".

    enhancement 
    opened by andr9528 2
  • [GitHub] Improvement to GitHub usage.

    [GitHub] Improvement to GitHub usage.

    It would appear that your experience using GitHub is low, from how few repositories you have . As such i have a few suggestion, to improve readability for you and others visiting the GitHub. You already got the hang of Markdown it would seems from the Readme on the frontpage. Markdown can be used anywhere on GitHub, afaik.

    At the moment you are adding things like "Bug" and "Feature Request" in the titel. This can be easiliy done by adding Labels to an Issues. By default, afaik, there exists 9 different Labels, but you can freely create more as needed. Among the default ones exists "Bug", for Bugs, and "Enhancement" for Feature Requests. As the owner of this GitHub repository, you can add Labels while creating an issues, and on existing issues. Labels can also be sorted by, so you can easier find all the ones labeled bugs or anything else. Skærmbillede 2022-02-12 105459

    I'd also suggest enabling "Discussions" in the settings. This adds another tap, just like Issues, where users can discuss anything. This would be an ideal area get feedback from user through, or discuss any changes you might be working on with users. Skærmbillede 2022-02-12 104344

    Hope you like my suggestions.

    opened by andr9528 2
  • Feature: Inventory Cap -> Trash

    Feature: Inventory Cap -> Trash

    So. I do appreciate the shopping list mode and the trash can setting as well.

    One way I believe the trash feature could be improved would be if the app could calculate the inventory and put spillover items in the trash.

    When running several recipies, sometimes complex ones, it is hard to keep the total number of individual components in mind... a setting where you could limit the collection to the amount of components you need to finish a tracked set

    eg. take the base components needed and remove the ones you have in inventory and the ones built from the base list.. you maybe could select to have one spare each .. or to ignore certain uncommon ones.

    This would help to decide what to throw away.

    opened by Davst 0
  • does not work for 2560 monitors

    does not work for 2560 monitors

    Tried latest version 2.2 I also tried to directly set window location

    poe_arch_scanner.exe --scanner-window-x 112 --scanner-window-y 383 --scanner-window-width 640 --scanner-window-height 640

    opened by kirillp 6
  • Feature request - Show missing T1 ingredients

    Feature request - Show missing T1 ingredients

    Just like a tittle. There is an option to show not available recipes, but no option to show missing T1 ingredients. This would be really helpful method of showing what we should pick from the ground to fill the "blanks". I think it should be separate option in the menu. By the way, big thanks for this app.

    opened by trusql 0
  • [Bug] Multiple different in same spot

    [Bug] Multiple different in same spot

    At the moment, if the confidence is set too low, a spot can end up being multiple different ones, As of PoE v. 3.17.1, with a confidense of 0.91, Bloodletter and Frenzied can end up being in the same spot.

    If a set of cordinates for an inventory slot has been used already, any additional ones that want to use that same spot, should be flaged as conflicting, indicating that the tool is unsure of which piece it is.

    bug 
    opened by andr9528 2
Releases(v0.2.2)
  • v0.2.2(Feb 20, 2022)

    • Fix scanner window calculation for 1920x1080 resolutions.
    • Add debug command line options to help with troubleshooting:
      • --show-capture-image -- display the image that was captured by scanner window.
      • --scanner-window-{x,y,width,height} -- sets scanner window position and size.
    • Add output message for the number of items found.
    Source code(tar.gz)
    Source code(zip)
    poe_arch_scanner.zip(54.91 MB)
  • v0.2.1(Feb 18, 2022)

    • Use "best match per slot" to improve scan algorithm accuracy (thanks https://github.com/meepen).
    • Change log message to show which slots the algorithm was able to match.
    • Change the default confidence threshold from 0.94 to 0.88.
    • Remove scanning window setting. The scanning window is now calculated automatically.
    • Fix copy to clipboard for recipes that contain spaces (thanks https://github.com/alexberryman)
    Source code(tar.gz)
    Source code(zip)
    poe_arch_scanner.zip(54.90 MB)
  • v0.2.0(Feb 16, 2022)

    • Add a "Shopping List" feature that allows you to specify the recipes that you're interested in. Only these recipes, and the recipes that are needed to create them, will show up in scanning results (thanks https://github.com/williammetcalf).
    • Add a Scan/Hide hotkeys.
    • Add an option to disable overlay mode.
    Source code(tar.gz)
    Source code(zip)
    poe_arch_scanner.zip(54.90 MB)
  • v0.1.0(Feb 13, 2022)

    • Update images for Entangler, Innocence-Touched, Kitava-Touched, Lunaris-Touched, Opulent, Solaris-Touched to match their in-game equivalents.
    • Add copy recipe to clipboard feature (thanks https://github.com/alexberryman).
    • Fix an issue where highlights would stay on the screen when interacting with the recipe tree.
    • Add a way to hide the tree by clicking on the top recipe.
    • Add a list of recipes that the currently selected recipe is used in.
    • Add an error message box pop up when start the tool without game running.
    • Add a warning message box pop up when the tool wasn't able to detect game resolution.
    • Add "Other languages" section to the README.
    Source code(tar.gz)
    Source code(zip)
    poe_arch_scanner.zip(54.83 MB)
  • v0.0.3(Feb 11, 2022)

    • Add the drag feature with right mouse button held for UI elements.
    • Add support for the windowed mode.
    • Add recipe tree browser.
    • Add a new setting to show unavailable recipes.
    • Fix multiple detection of the same item by using rectangle grouping for the scan results.
    Source code(tar.gz)
    Source code(zip)
    poe_arch_scanner.zip(54.81 MB)
  • v0.0.2(Feb 10, 2022)

    • Adjust algorithm for the default scale value calculation.
    • Add confidence threshold setting. Bump the default value to 0.94.
    • Move the settings window to the controls between close and scan buttons. The program will now skip settings window when started.
    • Change Drought Bringer picture to the proper one.
    • Make settings persistent. The program now will retrieve/save them from setting.ini file.
    • Change the size calculation for highlight windows.
    Source code(tar.gz)
    Source code(zip)
    poe_arch_scanner.zip(53.70 MB)
N-Queens game made using pygame library

N-Queens N-Queens game using pygame for AIML201 Testing: 1. git clone https://github.com/python-game-dev/N-Queens.git 2. cd N-Queens 3. python main.py

1 Sep 24, 2021
Editor for Bioware's Original Neverwinter Nights Game

neveredit This is an import of an old sourceforge project. Neveredit is an editor for Bioware's Neverwinter Nights game. It also includes all the low

Peter Gorniak 2 Apr 12, 2022
Editing tool (read/write) .sc files (*_tes.sc , *.sc, *_dl.sc ) from Supercell games (Brawl Stars, Clash Royale, Clash of Clans and others).

SupercellSWF Version 0.1.0.2 About Editing tool (read/write) .sc files (*_tes.sc , *.sc, *_dl.sc ) from Supercell games (Brawl Stars, Clash Royale, Cl

Fred31 11 Jun 23, 2022
A Neural Network based chess engine and GUI made with Python and Tensorflow/Keras.

Haxaw-Chess Haxaw: Haxaw is the Neural Network based chess engine made with Python and Tensorflow/Keras. Also uses the python-chess library. (WIP: Imp

Sarthak Bharadwaj 8 Dec 10, 2022
We tried to recreate this classic game using python physics libraries.

We tried to recreate this classic game using python physics libraries. The result is certainly hilarious but enjoyable. One of my very first physics application.

Delwys Glokpor 2 Dec 12, 2021
A program to read, edit, and write save files for the game Railroads! Online

RROSE - v0.3.6 This program is intended to be used as an external tool to Railroads Online server hosts. It will read save files, allow to modify entr

17 Dec 09, 2022
A python program for playing rock-paper-scissors with computer .

Rock_Paper_Scissors_Cut A time passing famous hand game known as rock paper scissors cut game. Starting from children to adults everyone plays this ga

Arghya Banerjee 1 Dec 16, 2021
You can play TicTacToe with the engine running UI.py with python3

TicTacToe An "Engine" for TicTacToe You can play TicTacToe with the engine running UI.py with python3. The file engine.py is designed so you can make

Ahnaf Syndeed 3 Feb 20, 2022
Jiminy, fast and portable Python/C++ simulator of poly-articulated systems with OpenAI Gym interface for reinforcement learning.

Jiminy is a fast and portable cross-platform open-source simulator for poly-articulated systems. It was built with two ideas in mind: provide a fast y

Alexis DUBURCQ 122 Dec 29, 2022
Simple Covid-19 shooter game in python.

Covid_game 🍹 Simple Single Player Covid Game Using Python. 🍹 Has amazing background music theme. 😄 Game Instructions: Initial Health is 5, try to s

Tanya Yadav 2 Aug 05, 2022
Flappy Bird hack using Deep Reinforcement Learning (Deep Q-learning).

Using Deep Q-Network to Learn How To Play Flappy Bird 7 mins version: DQN for flappy bird Overview This project follows the description of the Deep Q

Yen-Chen Lin 6.4k Dec 30, 2022
Algorithm to solve Wordle correctly 100% of the time within 6 attempts.

WordleSolver © Zulkarnine, 2022. Algorithm to solve Wordle 100% of the time within 6 attempts. You can go ahead and run main.py to run it for all 2315

Zulkarnine Mahmud 69 Dec 11, 2022
user friendly python script who is able to catch fish in the game New World

new-world-fishing-bot release 1.1.1 click img for demonstration Download guide Click at latest release: Download and extract bot.zip: When you run fil

297 Jan 08, 2023
Useful guides, tutorials, and FAQs related to LEGO Universe and Darkflame Universe.

Awesome Lego Universe A curated list of awesome things related to LEGO Universe. LEGO Universe was a kid-friendly massively-multiplayer online role pl

Eric Myllyoja 33 Dec 12, 2022
The Original Snake Game. Maneuver a snake in its burrow and earn points while avoiding the snake itself and the walls of the snake burrow.

Maneuver a snake in its burrow and earn points while avoiding the snake itself and the walls of the snake burrow. The snake grows when it eats an apple by default which can be disabled in the setting

17 Nov 12, 2022
A top-down arcade space shooter made in pygame.

About: Journey Through Space is a top-down arcade shooter made in pygame. You play as a pilot who was left behind after a battle and the goal is to go

Crimson Sane 0 Jan 01, 2022
A Minecraft clone written in python and pyglet.

PyCraft A Minecraft clone written in python and pyglet. Running PyCraft To run PyCraft, run the following code: git clone https://github.com/TheWebCra

The WebCrafters 17 Dec 29, 2022
Simulate a Monopoly game to generate the probabilities of landing on each square.

Monopoly-Probabilities Simulate a Monopoly game to generate the probabilities of landing on each square. While this project originally was inspired by

George Waters 2 Jan 04, 2023
I automated the lumberjack game on telegram, by recognising pixels and using pyautogui module

Lumberjack Automated: @gamebot According to the official documentation, @gamebot is a demo bot for the Telegram Gaming Platform.` It provides some sam

Yew Chong 1 Dec 07, 2021
A multiplayer RPG Discord bot, where you play as a god.

To run Ensure your Python is up to date, and install packages from requirements.txt Duplicate secrets-template.yaml, and name it secrets.yaml Insert y

4 Jan 18, 2022