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)
Owner
null
A rhythm-based game that automatically generates obstacles based on a song's features.

DISCLAIMER: This is my first coding project, created in December 2019. The game may not be optimized, and looking back on it, there are a lot of chang

Kenneth Huang 1 Dec 27, 2021
TetrisAI - Tetris AI Bot using computer vision to play game automatically

Tetris AI Tetris AI Bot using computer vision to play game automatically bot.py

null 11 Aug 29, 2022
Mandaw 2 Mar 1, 2022
A near-exact clone of google chrome's no internet game, or the "google dinosaur game", with some additions and extras.

dinoGame A near-exact clone of google chrome's no internet game, or the "google dinosaur game", with some additions and extras. Installation Download

null 1 Oct 26, 2021
Mastermind-Game - A game to test programming and logical skills

Bem vindo ao jogo Mastermind! O jogo consiste em adivinhar uma senha que será ge

Marcelo Daros 0 Jan 27, 2022
Game-of-life - A simple python program to simulate and visualise the Conway's Game of life

Conway's game of life A simple python program to simulate and visualise the Conw

Dhravya Shah 3 Feb 20, 2022
Python code that gives the fastest path from point a to point b of a chess horse

PERSONAL-PROJECTS CARLOS MAGALLANES-ARANDA'S PERSONAL PROJECTS kchess.py is the code. its input is the start and the end. EXMPLE - a1 d5 its output is

Carlos Magallanes-Aranda 1 Dec 26, 2021
Snake game mixed with Conway's Game of Life

SnakeOfLife Snake game mixed with Conway's Game of Life The rules are the same than a normal snake game but you have to avoid cells created by Conway'

Aidan 5 May 26, 2022
Lint game data metafiles against GTA5.xsd for Rockstar's game engine (RAGE)

rage-lint Lint RAGE (only GTA5 at the moment) meta/XML files for validity based off of the GTA5.xsd generated from game code. This script accepts a se

GoatGeek 11 Sep 18, 2022
HTTP API for FGO game data. Transform the raw game data into something a bit more manageable.

FGO game data API HTTP API for FGO game data. Transform the raw game data into something a bit more manageable. View the API documentation here: https

Atlas Academy 51 Dec 26, 2022
Quantum version of the classical Nim game. An automatic opponent allows to game to not be as easy as it seems.

Nim game Running the game To run the program just launch : python3 game.py Rules This game is inspiring from the Nim game. You are 2 players face to f

Michaël 1 Jan 8, 2022
Average Clicker Game (AVG) is a Python made game using tkinter

Average-Clicker-Game Average Clicker Game (AVG) is a Python clicker game not made with pygame but with tkinter, it has worker, worker upgrades, times

Zacky2613 1 Dec 21, 2021
Ice-Walker-Game - This repository is about the Ice Walker game made in Python.

Ice-Walker-Game Ce dépot contient le jeu Ice Walker programmé en Python. Les différentes grilles du jeu sont contenues dans le sous-dossier datas. Vou

Mohamed Amine SABIL 1 Jan 2, 2022
Deal Or No Deal was a very popular game show. Even now, for a family party, it's a fun game to pass time

Deal Or No Deal was a very popular game show. Even now, for a family party, it's a fun game to pass time. I made a code to play the game right in your terminal/console. This isn't made to be a game which can be installed by everyone and played, I just made it as a fun project as I just started out with python. So if you have python installed and wanna have some fun, or just curious to see how I did this, feel free to check the code out!

null 1 Feb 15, 2022
Quiz Game: answering questions naturally with a friendly UI to enjoy the game

About Quiz Game : The Game is about answering questions naturally with a friendl

null 4 Jan 19, 2022
This is a simple telegram bot for the game Pyal, a word guessing game inspired by Wordle

Pyal Telegram Bot This is a simple telegram bot for the game Pyal, a word guessing game inspired by Wordle. How does it work? Differently from the ori

Rafael Omiya 4 Oct 6, 2022
Adventure-Game - Adventure Game which is created using Python

Adventure Game ?? This is a Adventure Game which is created using Python. Featur

ArinjoyTheDev 1 Mar 19, 2022
A python script that uses pygame to display fractals.

Pygame-Fractals A python script that uses pygame to display interactive fractals. There are 3 fractals on the script. They can be displayed on the col

michel 2 Feb 9, 2022
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