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)
Repository for the diana chess competition. AI Lecture 21/22

Notes for Assignment 8 (Chess AI) We recommend using an IDE (like Pycharm) for working on this assignment. IMPORTANT: Please make sure you use python

Cognitive Systems Research Group 3 Jan 15, 2022
A game that depicts a real astronaut's struggles

Interstel-quickscooping-game Right from the beginning of our (i.e, me and me alone) journey in the creation of this game, our goal was to give a game

Sharath V 3 Jul 12, 2021
This repository contains the Unix Game challenges and metadata

This repository contains the Unix Game challenges and metadata

Nokia 7 Apr 06, 2022
MinMax Algo , Python

Write a PYTHON program to play the game of TIC-TAC-TOE on a 3×3 board with alternate inputs from user and computer.

Naman Anand 1 Nov 26, 2021
狼人杀,线下面杀用,服务端语音播报,浏览器操作,移动端友好。不再需要真人法官~

Wolf 狼人杀面杀法官系统 Preview 如何使用 安装 Python 3.5.2 版本及以上(PyWebIO 要求) pip install -r requirements.txt python main.py 所有玩家访问 Web 服务 TODO,欢迎PR TTS 目前仅支持 macOS 未

Lake Chan 33 Nov 11, 2022
A full featured game of falling pieces using python's pygame library.

A full featured game of falling shapes using python's pygame library. Key Features • How To Play • Download • Contributing • License Key Features Sing

Giovani Rodriguez 7 Dec 14, 2022
Hexagon game. Two players: AI and User. Implemented using Alpha-Beta pruning to find optimal solution for agent.

Hexagon game. Two players: AI and User. Implemented using Alpha-Beta pruning to find optimal solution for agent.

Anton 1 Oct 18, 2021
A base chess engine that makes moves on an instance of board.

A base chess engine that makes moves on an instance of board.

0 Feb 11, 2022
A sprite ripper and converter for Com2uS' 2007 game Music World.

Music World Sprite Dumper This repository contains a python script reads an UNCOMPRESSED Music World pxo file and attempts to dump sprites from it. Th

Buu342 1 Mar 16, 2022
Implementation of the famous puzle Tower of Hanoi

Tower_of_Hanoi Implementation of the famous puzle "Tower of Hanoi". The setup consists of three pegs (sticks) and a certain amount of discs (in this i

Raffaele Fiorillo 3 Mar 08, 2022
Python module providing simple game networking

nethelper Python module providing simple game networking This module was originally created to facilitate a class on creating multiplayer games in Pyg

Cort 3 Jan 11, 2022
A small, Pygame-based library project intended for personal use.

EzyGame Version 0.0.1 A simple library project intended for personal use with Pygame. Warning: I am a very amateur programmer, so the code will probab

Dorbell 1 Jan 08, 2022
A didactic GUI chess game made in Python3 using pygame.

Chess A didactic GUI chess game made in Python3 using pygame. At the moment, there is no AI. The only way you can test the game is by playing against

Leonardo Delfino 1 Dec 22, 2021
Hagia is a 2D game engine and toolset for Python.

HAGIA What is Hagia? Hagia is a 2D game engine and toolset for Python. Hagia has

star 3 Jun 01, 2022
Python Program: Hilo Game

Python Program: Hilo Game 🂡 Description Hilo is a game in which the player gues

2 Jan 22, 2022
An easy to use game engine/framework for python.

A game engine powered by python and panda3d.

Petter Amland 1.6k Jan 05, 2023
🎅 Celebrating 2021 Christmas with the development of this game

ChristmasGame (DEVELOPING) 🎅 Celebrating Christmas with the development of this game You can also use this engine to create your game too, just empty

Érik Freitas 5 Jan 10, 2022
TicTacToc - Simple TicTacToc game played by minimax algorithm

TicTacToc simple TicTacToc game played by minimax algorithm. This app is based o

5 Apr 05, 2022
Snake (PyGame-based) port for Minecraft:Bedrock Edition using PEWSAPI

Snake_PEWSAPI Snake (PyGame-based) port for Minecraft:Bedrock Edition using PEWSAPI And we are not going to make any change to the original Snake sour

Azuki 1 Mar 17, 2022
Game of life, with python code.

Game of Life The Game of Life, also known simply as Life, is a cellular automaton. It is a zero-player game, meaning that its evolution is determined

Mohammad Dori 3 Jul 15, 2022