Giter Site home page Giter Site logo

eoakley / artifacthelper Goto Github PK

View Code? Open in Web Editor NEW
40.0 8.0 9.0 19.03 MB

Helps you pick cards in draft mode on Valve's Artifact game. Made with Python.

License: GNU General Public License v3.0

Python 2.49% Tcl 96.53% Shell 0.36% Makefile 0.04% Mask 0.04% F# 0.10% C# 0.37% GLSL 0.05% Forth 0.02%
game helper assist guide dota valve artifact card overlay

artifacthelper's Introduction

Artifact Helper

A helper for Valve's Artifact draft mode that displays an overlay on individual cards showing stats gathered from Artibuff, tier lists (default tier list is Hyped's from DrawTwo), prices and custom annotations.

Artifact Helper showing card tiers, win rates and pick rates

Installing

Download latest release.

Run the Artifact Helper executable file and follow the instructions.

Prerequisites

  • Windows only

  • Artifact running on borderless window or windowed mode

  • If you are using Windows scale options (zooms text, apps, icons), you need to disable it by right clicking the Artifact Helper shortcut -> Compatibility tab -> Change high DPI settings -> check High DPI scaling override and select Application

Optional - Running from source

If you have Python 3, you can run Artifact Helper pretty easily.

  1. Install requirements by running "pip install -r requirements.txt".

  2. Run on terminal "python artifact_helper.py"

It is also possible to build your own installation (.exe file) if you are an adventurer. Instructions are on file "How to build.txt".

How to use

After installation, simply launch the program via the start menu shortcut whenever you are going to draft.

When you are on a draft card selection screen click the "Launch Overlay" button and then switch back to your game.

If the program has properly loaded you will notice the Artifact Helper banner on top of the game. (remember that it won't work unless it is on borderless window or windowed mode).

Whenever you want to see the stats of the cards on display just click the "Scan Cards". After you finished the draft close the overlay window (click on the X on the top-right corner).

If you have problems, try the 'Customize Grid' option.

How does it work

Uses a hash heuristic to match images via brute force.

Using tier lists and historic data, we can show each card's win rate, pick rate and tier.

We built an interface using Tkinter to create the overlay on top of the game.

Artifact Helper was built with Python 3.6.5 and is distributed via a self contained environment (built with Pynsist).

Tested only on Windows 10.

To do

  • Deck tracker
  • Advanced card recomendadion (based on synergy and mana curve)

Authors

artifacthelper's People

Contributors

budgieinwa avatar emerald000 avatar eoakley avatar miojo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

artifacthelper's Issues

scaling 4k

good day! if the system includes scaling fonts, and at 4k is usually enabled, the program does not work. Thanks you

Overlay postition depends on launch window position

When I switching from the Launch Window to the overlay, the window doesn't move and so the overlay is offset towards the bottom right (depending on the position of the original window). These screenshots demonstrate it.

Notice the position of the top left corner of the launch window:
artifacthelper launch window

Notice the the overlay is starting at that same location:
artifacthelper overlay

(Also of note, the overlay is in the screenshot, so it covers up the names of some cards which aren't recognised. The overlay in this position would actually cause the right_border to fail, but I hard coded that during theses tests.)

If I move the Launch Window, launch the Overlay, then close the Overlay, the Launch Window does return to its hard coded size/location.


It looks like this root.geometry() call is failing to set the position. No matter what numbers I put in place of (100, 0), the overlay origin is always the same as the top left of the launch window.

As a workaround I position the launch window at (100, 0) on line 280 and don't move it.

See updated Tier list here. Paste this into your tier_list.txt

#################################################################################################################################

This file represents your tier list file. Default values are taken from https://drawtwo.gg/hypeds-limited-tier-list

Tiers vary from S to F (S is the strongest) and each tier has an inside tier rank (1 is the best position inside the tier)

Besides the tier and tier rank values you can also customize a custom value for each card that will be printed on the screen

#################################################################################################################################

HEROES:

#card name; tier; tier rank; custom rank
Abaddon;C;14;
Axe;S;1;
Beastmaster;B;2;
Bloodseeker;C;2;
Bounty Hunter;A;5;
Bristleback;B;1;
Centaur Warrunner;C;7;
Chen;B;5;
Crystal Maiden;D;1;
Dark Seer;C;1;
Debbi the Cunning;C;2;
Drow Ranger;S;2;
Earthshaker;B;14;
Enchantress;B;3;
Farvhan the Dreamer;C;5;
J'Muy the Wise;C;4;
Kanna;S;3;
Keefe the Bold;D;11;
Legion Commander;S;6;
Lich;S;4;
Lion;D;4;
Luna;B;4;
Lycan;A;2;
Magnus;B;8;
Mazzie;C;3;
Meepo;F;2;
Necrophos;C;6;
Ogre Magi;A;6;
Omniknight;A;3;
Outworld Devourer;F;4;
Phantom Assassin;A;2;
Prellex;C;13;
Pugna;D;3;
Rix;F;3;
Skywrath Mage;C;10;
Sniper;A;7;
Sorla Khan;A;1;
Storm Spirit;F;1;
Sven;C;9;
Tidehunter;D;12;
Timbersaw;C;10;
Tinker;S;3;
Treant Protector;A;8;
Ursa;B;7;
Venomancer;B;7;
Viper;D;9;
Winter Wyvern;C;3;
Zeus;B;8;
#################################################################################################################################

MAIN:

#card name; tier; tier rank; custom rank
...And One For Me;C;10;
Aghanim's Sanctum;A;6;
Altar of the Mad Moon;C;25;
Annihilation;S;4;
Arcane Assault;C;9;
Arcane Censure;F;12;
Arm the Rebellion;A;25;
Assassin's Apprentice;B;23;
Assassin's Shadow;B;38;
Assured Destruction;D;22;
At Any Cost;A;4;
Avernus' Blessing;C;19;
Bellow;D;28;
Better Late Than Never;D;12;
Bitter Enemies;D;21;
Bolt of Damocles;B;37;
Bronze Legionnaire;A;7;
Burning Oil;B;28;
Buying Time;D;13;
Call the Reserves;D;18;
Caught Unprepared;C;7;
Champion of the Ancient;B;2;
Cheating Death;B;12;
Cleansing Rite;F;13;
Clear The Deck;B;16;
Collateral Damage;D;25;
Combat Training;C;20;
Compel;B;6;
Conflagration;S;8;
Coordinated Assault;A;23;
Corrosive Mist;C;24;
Crippling Blow;D;7;
Cunning Plan;B;7;
Curse of Atrophy;C;27;
Cursed Satyr;C;17;
Defend the Weak;B;34;
Defensive Bloom;B;26;
Defensive Stance;F;1;
Diabolic Revelation;D;10;
Dimensional Portal;A;1;
Dirty Deeds;F;9;
Disciple of Nevermore;A;13;
Divine Intervention;B;14;
Divine Purpose;D;32;
Emissary of the Quorum;S;5;
Enough Magic!;B;29;
Escape Route;C;22;
Fight Through The Pain;D;1;
Fog of War;D;16;
Foresight;B;5;
Forward Charge;D;23;
Fractured Timeline;C;11;
Friendly Fire;A;8;
Gank;A;15;
Glyph of Confusion;D;19;
Grand Melee;F;2;
Grazing Shot;C;18;
Hellbear Crippler;B;39;
Heroic Resolve;D;3;
Hip Fire;B;13;
Homefield Advantage;B;31;
Howling Mind;D;14;
Incarnation of Selemene;B;10;
Intimidation;B;33;
Iron Branch Protection;D;29;
Iron Fog Goldmine;A;9;
Juke;D;27;
Keenfolk Golem;C;26;
Keenfolk Turret;B;15;
Legion Standard Bearer;A;29;
Lightning Strike;C;16;
Lodestone Demolition;F;10;
Lost in Time;B;32;
Marrowfell Brawler;A;18;
Mercenary Exiles;A;28;
Messenger Rookery;B;27;
Mist of Avernus;S;1;
Murder Plot;B;3;
New Orders;C;14;
Oglodi Catapult;F;8;
Oglodi Vandal;A;16;
Ogre Conscript;A;12;
Ogre Corpse Tosser;B;21;
Path of the Bold;D;5;
Path of the Cunning;F;11;
Path of the Dreamer;D;30;
Path of the Wise;D;15;
Payday;B;19;
Pick A Fight;C;15;
Pick Off;A;22;
Pit Fighter of Quoidge;B;22;
Poised to Strike;D;2;
Rampaging Hellbear;C;4;
Ravenhook;D;26;
Ravenous Mass;C;21;
Raze;D;8;
Rebel Decoy;B;1;
Rebel Instigator;C;2;
Red Mist Pillager;A;3;
Relentless Pursuit;B;9;
Relentless Zombie;C;3;
Remote Detonation;B;30;
Rend Armor;F;3;
Restoration Effort;F;14;
Revtel Convoy;A;27;
Revtel Investments;C;8;
Rising Anger;D;4;
Rolling Storm;F;6;
Roseleaf Rejuvenator;B;11;
Routed;D;9;
Rumusque Blessing;A;20;
Satyr Duelist;B;20;
Satyr Magician;B;8;
Selemene's Favor;B;18;
Self Sabotage;D;17;
Selfish Cleric;A;24;
Sister of the Veil;B;25;
Slay;B;4;
Smash Their Defenses!;B;35;
Smeevil Armsmaster;C;6;
Smeevil Blacksmith;D;31;
Soul of Spring;A;5;
Spot Weakness;C;23;
Spring the Trap;S;6;
Stars Align;C;13;
Steal Strength;A;19;
Steam Cannon;A;21;
Stonehall Elite;A;2;
Strafing Run;D;11;
Sucker Punch;C;5;
Temple of War;D;6;
The Cover of Night;C;28;
The Oath;A;10;
The Omexe Arena;B;17;
The Tyler Estate;D;24;
Thunderhide Alpha;B;24;
Thunderhide Pack;A;14;
Thunderstorm;A;11;
Time of Triumph;S;3;
Tower Barrage;B;36;
Trebuchets;D;20;
Tresdin's Standards;A;17;
Troll Soothsayer;A;26;
Tyler Estate Censor;S;7;
Unearthed Secrets;S;2;
Unsupervised Artillery;C;29;
Untested Grunt;C;30;
Ventriloquy;C;1;
Vhoul Martyr;C;12;
Watchtower;F;4;
Whispers of Madness;F;5;
Wrath of Gold;F;7;
#################################################################################################################################

ITEMS:

#card name; tier; tier rank; custom rank
Apotheosis Blade;U;19;
Assassin's Veil;C;9;
Barbed Mail;U;2;
Blade of the Vigil;U;3;
Blink Dagger;A;2;
Book of the Dead;U;9;
Bracers of Sacrifice;B;8;
Broadsword;C;6;
Chainmail;U;4;
Claszureme Hourglass;B;2;
Claymore;U;13;
Cloak of Endless Carnage;U;12;
Demagicking Maul;B;1;
Fur-lined Mantle;C;3;
Golden Ticket;B;9;
Helm of the Dominator;B;1;
Hero's Cape;U;14;
Horn of the Alpha;B;4;
Jasper Daggers;B;6;
Keenfolk Musket;C;8;
Keenfolk Plate;U;7;
Leather Armor;C;11;
Nyctasha's Guard;U;20;
Obliterating Orb;U;10;
Phase Boots;C;2;
Platemail;U;15;
Poaching Knife;C;10;
Red Mist Maul;C;3;
Revtel Signet Ring;A;3;
Ring of Tarrasque;U;11;
Ristul Emblem;U;1;
Rumusque Vestments;U;8;
Seraphim Shield;C;6
Shield of Aquila;C;4;
Shield of Basilius;C;5;
Shiva's Guard;U;16;
Shop Deed;U;18;
Short Sword;B;5;
Stonehall Cloak;A;1;
Stonehall Pike;C;7;
Stonehall Plate;B;7;
Traveler's Cloak;A;4;
Vesture of the Tyrant;B;5;
Wingfall Hammer;U;17;
#################################################################################################################################

Card Detection not working.

As a follow-up to #13, version v0.9 still isn't working. I tried running from master too (4eaecc0) and it's not working either. Here's the output I get from master (after the price collection) from starting the overlay and clicking on "Scan Cards" a couple of times:

Detecting grid once... (1080, 1920, 3)
It worked! At least one card is not empty.
['Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot'] (270, 640, 960)
It worked! At least one card is not empty.
['Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot'] (270, 640, 960)
It worked! At least one card is not empty.
['Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot', 'Empty Slot'] (270, 640, 960)

detects only 3 cards on 3840x2160

only detects first 3 cards. not sure if it has to do with my resolution.

screenshot
screen_shot

debug screen
screen_shot_debugg

default setup
image

switching to this and hitting apply does nothing, then reverts to the above when re-opening the settings screen
image

Windowsed support

I have some issues with "borderless window" mode (artifacthelper doesn't stay on top and disappear when clicking on cards). I tried to find why it wasn't working on "windowsed" mode.
In fact, on windowsed mode there is a little black offset captured with the screen that is messing up with the detection process:

screen_shot_debugg

Adding this offset to the grid positioning makes artifacthelper working on "windowsed" mode. :)
If those modes can't be detected by the app, maybe it could be interesting to provide an app-setting to handle both cases?

Don't work on my computer

Still doesn't work on my computer.
My system: windows 7, two monitors, resolutions: 1920x1080 and 1600x1200. Artifact on first one with resolution 1440x960 16:10 borderless.

Now without any error messages, Only after push the button "Scan Cards" nothing happens.

Cannot detect cards.

Unsure if I am doing something wrong or I hit a bug. Game is in 1600x900 (Borderless Windowed) running on Windows 10. I tried restarting both Artifact and the Helper with no changes.

Screenshot

Still having issues detecting cards.

I am running in 1960x1080 borderless window. Here's what my full monitor looks like:

Screenshot

I do not have a second monitor. I also do not have a file named screen_shot_debugg.png anywhere in the installation folder (or anywhere else on my computer).

not displaying with correct spacing

i can now set up a custom grid that works, but only by dragging off the popup screen, which is too zoomed in

afterward it seems to detect cards properly, but doesn't display them in the right places

setup

  • 4k 1 monitor (3840x2160)
  • "Change the size of text, apps, and other items": 150% (Recommend)
  • screen_shot_debugg.png not created, because detection doesn't trigger an error
  • screenshot_draft.png is updated, included below, shows similar zoom-in as custom grid popup screen

windows display screen
image

custom grid popup screen
image

draft screen
image

screenshot_draft.png
screenshot_draft

Not working

Case 1 Laptop: tried using both 1360x768 and 1280x720 resolutions (yes, borderless windowed was on), get an error either way

Case 2 Desktop: dual monitor setup, one monitor running on 1920x1080 (16:9) native, second monitor running on 1680x1050 (16:10) native, game is ran on the 16:9 monitor, I don't get any error message,but nothing happens either (note: there is no error message regardless on which screen I am)

It does work now but still a few major issues

image

this problem happens, when you set your dispay size to 125% or greater in windows, (which alot of people do on small laptops)

another issue is, that if i tab out of the draft the helper doesnt stick to the game, but instead follows onto the browser, or whatever i tab to

doesnt work on my laptop

screen_shot_debugg

i run the game on my msi gs 65 on fullhd borderless window mode,
only one monitor... i am guessing it might have something to do with the dual gpu setup the gaming laptops have, the game is running on my dedicated cpu

21:9 3440x1440 support

Hello, I know that you're only supporting 16:9 right now but I managed to make it work on my own so here is some insight that may help you supporting 3440x1440 resolution (21:9).

First here is the debug image:
screen_shot_debugg

At first the error message itself wasn't displaying (cropped in the center):
error_message_missing

I have hard-coded the top_border, left_border, right_border (why don't you rely on presets instead of your calculations?) and changed the root.geometry() values and it fixed it:
3440x1440_fixed

Please find my modifications and values in this commit.
It's my first time with a python project, but if I can help you in any way, let me know.

Dont work on my resolution

Unfortunately still doesn't work on my computer.
My system: windows 7, two monitors, resolutions: 1920x1080 and 1600x1200. Artifact on first one with resolution 1440x960 16:10 borderless.

Screen in attach:
screen_shot_debugg
artifact_issue1

Card Detection not working with custom grid

Still only workinng on version 0.6. Tried the new feature "Custom Grid" and it still doesnt detect cards.
Dont know if its intended but when i set a new custom grid it only shows a black screen, not like the png your guys showed.

screenshot_debugg.png
screenshot_debugg

screenshot_draft.png
screenshot_draft

Log Here ...And One For Me, Abaddon, Aghanim's Sanctum, Altar of the Mad Moon, Annihilation, Apotheosis Blade, Arcane Assault, Arcane Censure, Arm the Rebellion, Assassin's Apprentice, Assassin's Shadow, Assassin's Veil, Assured Destruction, At Any Cost, Avernus' Blessing, Axe, Barbed Mail, Beastmaster, Bellow, Better Late Than Never, Bitter Enemies, Blade of the Vigil, Blink Dagger, Bloodseeker, Bolt of Damocles, Book of the Dead, Bounty Hunter, Bracers of Sacrifice, Bristleback, Broadsword, Bronze Legionnaire, Burning Oil, Buying Time, Call the Reserves, Caught Unprepared, Centaur Warrunner, Chainmail, Champion of the Ancient, Cheating Death, Chen, Claszureme Hourglass, Claymore, Cleansing Rite, Clear the Deck, Cloak of Endless Carnage, Collateral Damage, Combat Training, Compel, Conflagration, Coordinated Assault, Corrosive Mist, Crippling Blow, Crystal Maiden, Cunning Plan, Curse of Atrophy, Cursed Satyr, Dark Seer, Defend the Weak, Defensive Bloom, Defensive Stance, Demagicking Maul, Diabolic Revelation, Dimensional Portal, Dirty Deeds, Disciple of Nevermore, Divine Intervention, Divine Purpose, Drow Ranger, Earthshaker, Emissary of the Quorum, Enchantress, Enough Magic!, Escape Route, Fight Through the Pain, Fog of War, Foresight, Forward Charge, Fractured Timeline, Friendly Fire, Fur-lined Mantle, Gank, Glyph of Confusion, Golden Ticket, Grand Melee, Grazing Shot, Hellbear Crippler, Helm of the Dominator, Hero's Cape, Heroic Resolve, Hip Fire, Homefield Advantage, Horn of the Alpha, Howling Mind, Incarnation of Selemene, Intimidation, Iron Branch Protection, Iron Fog Goldmine, Jasper Daggers, Juke, Kanna, ------ Collected, 100 prices.

Keenfolk Golem, Keenfolk Musket, Keenfolk Plate, Keenfolk Turret, Legion Commander, Legion Standard Bearer, Lich, Lightning Strike, Lion, Lodestone Demolition, Lost in Time, Luna, Lycan, Magnus, Marrowfell Brawler, Mazzie, Meepo, Mercenary Exiles, Messenger Rookery, Mist of Avernus, Murder Plot, Necrophos, New Orders, Nyctasha's Guard, Obliterating Orb, Oglodi Catapult, Oglodi Vandal, Ogre Conscript, Ogre Corpse Tosser, Ogre Magi, Omniknight, Outworld Devourer, Path of the Bold, Path of the Cunning, Path of the Dreamer, Path of the Wise, Payday, Phantom Assassin, Phase Boots, Pick a Fight, Pick Off, Pit Fighter of Quoidge, Platemail, Poaching Knife, Poised to Strike, Prellex, Pugna, Rampaging Hellbear, Ravenhook, Ravenous Mass, Raze, Rebel Decoy, Rebel Instigator, Red Mist Maul, Red Mist Pillager, Relentless Pursuit, Relentless Zombie, Remote Detonation, Rend Armor, Restoration Effort, Revtel Convoy, Revtel Investments, Revtel Signet Ring, Ring of Tarrasque, Rising Anger, Ristul Emblem, Rix, Rolling Storm, Roseleaf Rejuvenator, Routed, Rumusque Blessing, Rumusque Vestments, Satyr Duelist, Satyr Magician, Selemene's Favor, Self Sabotage, Selfish Cleric, Seraphim Shield, Shield of Aquila, Shield of Basilius, Shiva's Guard, Shop Deed, Sister of the Veil, Skywrath Mage, Slay, Smash Their Defenses!, Smeevil Armsmaster, Smeevil Blacksmith, Sniper, Sorla Khan, Soul of Spring, Spot Weakness, Spring the Trap, Stars Align, Steal Strength, Steam Cannon, Stonehall Cloak, Stonehall Elite, Stonehall Pike, Stonehall Plate,

Collected, 200 prices.

Storm Spirit, Strafing Run, Sucker Punch, Sven, Temple of War, The Cover of Night, The Oath, The Omexe Arena, The Tyler Estate, Thunderhide Alpha, Thunderhide Pack, Thunderstorm, Tidehunter, Timbersaw, Time of Triumph, Tinker, Tower Barrage, Treant Protector, Trebuchets, Tresdin's Standards, Troll Soothsayer, Tyler Estate Censor, Unearthed Secrets, Unsupervised Artillery, Untested Grunt, Ursa, Venomancer, Ventriloquy, Vesture of the Tyrant, Vhoul Martyr, Viper, Watchtower, Whispers of Madness, Wingfall Hammer, Winter Wyvern, Wrath of Gold, Zeus,

Collected, 237 prices.

Screenshot of the game
SS saved to file D:\l\ArtifactHelper2\screenshot_draft.png
Launching Grid Selector
Deleted file D:\l\ArtifactHelper2\custom_grid.npy
Creating overlay with size: 2560 1440
Detecting grid once... (1440, 2560, 3)
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: (360, 853, 1280)
Screenshot of the game
SS saved to file D:\l\ArtifactHelper2\screenshot_draft.png
Launching Grid Selector
Grid selected manually and saved to file "D:\l\ArtifactHelper2\custom_grid.npy"
It will be loaded automatically when you scan cards.
Creating overlay with size: 2560 1440
Custom Grid file exists: D:\l\ArtifactHelper2\custom_grid.npy

Using custom grid with borders: [110, 160, 1810]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [110, 160, 1810]

Using custom grid with borders: [110, 160, 1810]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [110, 160, 1810]

Using custom grid with borders: [110, 160, 1810]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [110, 160, 1810]

Using custom grid with borders: [110, 160, 1810]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [110, 160, 1810]

Using custom grid with borders: [110, 160, 1810]

Using custom grid with borders: [110, 160, 1810]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [110, 160, 1810]

Using custom grid with borders: [110, 160, 1810]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [110, 160, 1810]

Using custom grid with borders: [110, 160, 1810]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [110, 160, 1810]

Using custom grid with borders: [110, 160, 1810]

Using custom grid with borders: [110, 160, 1810]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [110, 160, 1810]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [110, 160, 1810]

Screenshot of the game
SS saved to file D:\l\ArtifactHelper2\screenshot_draft.png
Launching Grid Selector
Grid selected manually and saved to file "D:\l\ArtifactHelper2\custom_grid.npy"
It will be loaded automatically when you scan cards.
Creating overlay with size: 2560 1440
Custom Grid file exists: D:\l\ArtifactHelper2\custom_grid.npy

Using custom grid with borders: [105, 160, 1813]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [105, 160, 1813]

Using custom grid with borders: [105, 160, 1813]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [105, 160, 1813]

Using custom grid with borders: [105, 160, 1813]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [105, 160, 1813]
Creating overlay with size: 2560 1440
Custom Grid file exists: D:\l\ArtifactHelper2\custom_grid.npy

Using custom grid with borders: [105, 160, 1813]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [105, 160, 1813]

Using custom grid with borders: [105, 160, 1813]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [105, 160, 1813]

Using custom grid with borders: [105, 160, 1813]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [105, 160, 1813]

Using custom grid with borders: [105, 160, 1813]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [105, 160, 1813]

Using custom grid with borders: [105, 160, 1813]
['Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card', 'Empty Card']
Borders: [105, 160, 1813]

[EDIT]
Version 0.6 screen_shot_debugg.png

screen_shot_debugg

Don't work on my computer. Error detecting cards.

"Error detecting cards. Are you on draft screen? Try Customizing Grind. Saved screenshot_debugg.png on installation dir."

Still doesn't work on my computer.
Did Grid about 20 times, cant find cards anyway.
It is difficult to make a grid, because the artifact application is under the grid, and you can’t see where to drag, you have to hold your finger to the point where to drag, which makes the process much less accurate.
Log file is empty, screenshots in attach.

screenshot_debugg
screenshot_draft

My system: windows 7, two monitors, resolutions: 1920x1080 and 1600x1200. Artifact on first one with resolution 1440x960 16:10 borderless.

the percentages are off

the percentages are not one the cards. they divide the screen into 6 parts and each percentage has its own

Allow user to specify bounding box for cards

The new dragging feature could be improved to provide a fully user-configurable way of working. Instead of having a drag handle that is always visible, have a "configure" button that switches to "configure mode". While in configure mode, draw a box around the border of the windows and provide handles in the corners. Ask the user to position the box so that all of the cards are inside the box and the banner is above them. Then the detection algorithm can find the exact edges.

The top left handle could act like the drag currently does, and the bottom right handle could scale the rectangle, maintaining the aspect ratio.
image

This method should work for any configuration that cannot be predicted (like running in a small window) so it might be useful to have, even if all of the common configurations work out of the box.

Make the "move" button move the banner, not the window

With #22, the "move overlay" button is no longer needed to work around #2. It should be transformed into a "move banner" button, simply changing the offset at which the banner is drawn, instead of moving the window. Alternatively, it is not useful enough and should be removed.

Can't launch the program on my computer

When I'm trying to run program nothing happenes.

At log file:
Traceback (most recent call last):
File "E:\Users\Gamer\AppData\Local\Artifact Helper\Artifact_Helper.launch.pyw", line 31, in
from artifact_helper import main
File "E:\Users\Gamer\AppData\Local\Artifact Helper\pkgs\artifact_helper.py", line 7

^
SyntaxError: invalid syntax

My system: windows 7, two monitors, resolutions: 1920x1080 and 1600x1200. Artifact on first one with resolution 1440x960 16:10 borderless.

Missing Icon

File "artifact_helper.py", line 243, in main
root.iconbitmap(path('favicon.ico'))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.