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)
A module for use with Pygame. Includes fully customisable buttons, textboxes, sliders and many more, as well as the ability to create and run animations on these widgets.

Pygame Widgets A helper module for common widgets that may be required in developing applications with Pygame. It supports fully customisable buttons,

37 Jan 02, 2023
A set of functions compatible with the TIC-80 platform

Pygame-80 A set of functions from TIC-80 tiny computer platform ported to Pygame 2.0.1. Many of them are designed to work with the NumPy library to im

7 Aug 08, 2022
A "guess the number" game on a GUI interface using Tkinter library🙂

A "guess the number" game on a GUI interface using Tkinter library🙂

Arsalan 2 Feb 01, 2022
Space Invaders x Asteroid Game

Retro Journey 1: Space Invaders A simple implementation of a retro style video game where users compete against asteroids and the goal is to destroy a

Sandesh Lamsal 2 Aug 05, 2022
CTF (Capture The Flag) started from DEFCON CTF, a competitive game among computer security enthusiasts

CTF Wiki 中文 English Welcome to CTF Wiki! CTF (Capture The Flag) started from DEFCON CTF, a competitive game among computer security enthusiasts, origi

CTF Wiki 6.4k Jan 03, 2023
Scalable computer implemented in the game of life.

scalable-gol-computer This is a computer built in Conway’s game of life. It supports variable sizes of 8, 16 and 32 bit. Maximum program size: 256 lin

Nicolas Loizeau 19 Nov 19, 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
HackNC 2021 Project

pyTunes HackNC 2021 Project Setting Up Once the repo is cloned, install the requirements through pip install -r ./requirements.txt Once that is done,

Demo 1 Nov 07, 2021
Snake - Code for "Deep Snake for Real-Time Instance Segmentation" CVPR 2020 oral

Good news! Snake algorithms exhibit state-of-the-art performances on COCO dataset: DANCE Deep Snake for Real-Time Instance Segmentation Deep Snake for

ZJU3DV 1.1k Dec 26, 2022
AI that plays Flappy Bird Game using the python module NEAT.

Flappy Bird AI [NEAT] AI that plays Flappy Bird Game using the python module NEAT. Instructions Install Python Modules: pip3 install -r requirements.t

Abhisht 5 Jan 26, 2022
Simple Game created using Python & PyGame, as my Beginner Python Project!

Space Invaders This is a simple SPACE INVADER game create using PYGAME whihc have sound and lot's of keyboard functions. Prerequisites More Experience

Gaurav Pandey 2 Jan 08, 2022
View your VALORANT performance in different areas of every map in the game!

Valorant-Zone-Stats Inspired by Leetify's awesome Map Zones Tool for CS:GO A simple desktop program to view your VALORANT performance in different are

Louis 76 Jan 01, 2023
Creates a landscape with more accurate river generation in Minecraft version 1.12 using python.

MinecraftLandRiverGen View the following youtube video to set up a world that can interact with the python programs

23 Dec 25, 2022
Open source Board Games Like Tic Tac Toe, Connect 4, Ludo, Snakes and Ladder etc...

Board-Games What to do... Add Board games like Tic Tac Toe, Connect 4, Ludo, Snakes and Ladder etc... How to do... Fork the repo Clone the repo git cl

Bit By Bit 1 Oct 10, 2022
BritishTrainsDepartureBoard - A pygame program that immitates the dot matrix departure screens found at National Rail stations

BritishTrainsDepartureBoard - A pygame program that immitates the dot matrix departure screens found at National Rail stations

Finn O'Neill 3 Aug 10, 2022
Finding a method to objectively quantify skill expression in games, using reinforcement learning

Analyzing Skill Expression in Games This is a repo where I describe a method to measure the amount of skill expression games have. Table of Contents M

Marcus Chiam 4 Nov 19, 2022
Tic-Tac-Toe Game in python3 Tkinter

Tic Tac Toe Tic-Tac-Toe Game in python3 Tkinter About: Tic Tac Toe or Noughts and Crosses as called in British is a pencil and paper game for two play

Sai Swarup Yakkala 5 Nov 06, 2022
Bingo game now in python play as much you want :) no need to give me credit it's open as fuck

Bingo-py-game A game coded with Python Introduction This is a Terminal-based game currently in its initial stage. I am working on adding more efficien

Frey 5 Aug 12, 2021
A stat tracker for the bedwars hypixel game in python

A hypixel bedwars stat tracker. Features Get stats in your current lobby Get stats in a guild Installation & Configuration git clone https://github.co

Le_Grand_Mannitout 3 Dec 25, 2021
The Bowling Club (Facebook Game) get all strikes.

TheBowlingClubBot The Bowling Club (Facebook Game) get all strikes. FAQ Q: What is this? A: TheBowlingClubBot is a automation bot with 99.99% guarante

#~Rith 1 Jan 19, 2022