jartanftw / kot-skipper Goto Github PK
View Code? Open in Web Editor NEWAutomatically find certain gems in King of Thieves
License: Apache License 2.0
Automatically find certain gems in King of Thieves
License: Apache License 2.0
Gold text recognition incorrectly adds a 1 to the end of the real gold count sometimes, likely due to the gold rim of the treasure chest.
Some sort of change should be made to improve the accuracy of this.
Low priority
Describe the bug
Program errors when chest location recognition fails:
Line 39 in 53af14f
Expected behavior
Program would catch error, throw custom error, and retry using already existing retry mechanism.
It should have the following functions:
player teleport,
speed change,
immortality,
auto search for gems,
turn off traps and collisions,
game acceleration
Add a config condition for the final skipping program to stop if a certain amount of gold is seen.
Can use a random text recognition module (I think most would work for this) on the chest to detect gold count.
https://github.com/JartanFTW/kot-skipper/blob/update/sorter/sorter.py#L17
It just doesn't work at all lol.
Expected behavior:
I installed everything that was in the requirements, but the program does not see the emulator
Screenshots:
https://user-images.githubusercontent.com/111542848/185511600-fcfe8b8a-a66c-437c-8732-d65cedec26a0.png
Desktop:
Additional context:
got this error, although the emulator was open
Implement into main cli tool:
Slots identification
Slots debug image saving
Slot cropping
Slot debug image saving
After, use the tool to gather model training images, sort them via the sorter, and then train the recognition model.
After, implement the recognition model into the main cli tool to identify gems.
Is your feature request related to a problem? Please describe.
The current program uses a static delay entered as an argument (default 1 second) which is waited after skipping a base to allow the game to load the next base. This works, but is inefficient and inconsistent as the time it takes to load the next based varies depending on the user's connection among other factors.
Describe the solution you'd like
A delay system that dynamically changes, increasing to "dungeon same as last dungeon" incidents, and gradually decreasing over time.
Can you add GPU support?
Is your feature request related to a problem? Please describe.
Chest identification commonly fails when there are traps or other objects in-front. This causes issues with gem identification, which is dependent upon chest identification to narrow down gem slot location.
Describe the solution you'd like
Additional context
A gem identification model that accepts full screen input was attempted previously, but I didn't have any way of creating the sheer amount of data I needed. Now, I can modify a version of the existing solution to generate training data for this new solution. Along with this, at the time I hadn't learnt much/anything about convolution layers which should also help significantly.
While it's been greatly improved, it still gets it wrong with an added 1 at the end because of the chest border on rare occasions.
Add another method of identifying the skip button. Identification fails with different text sometimes.
how to fix WinError 10061
If the Bluestacks subwindow has any name other than Bluestacks, program fails to identify it.
I'm thinking that the whole advanced specific window screenshot system I made (stole, with credit) from stackoverflow might be coming back to bite me. It was used for the upside that it screenshots the game even if another window is on-top of it, but really what I wanted was the ability to screenshot the window if it was minimized but I couldn't find any way to do that.
I think it might be a better idea to just screenshot the entire screen and filter through instead. Some sort of identification system still needs to be implemented for resized windows, see #10 and #11
Describe the bug
The program gives an error if the totem is blocked when trying to recognize a gem
To Reproduce
Launch the program and tries to recognize the blocked totem
Expected behavior
The program must try again
Desktop (please complete the following information):
Update the readme with more relevant information including command line arguments, and a basic explanation of what the tool can do.
Chest Identification fails consistently if the bluestacks window is resized. This is because it's trying to locate the exact chest dimensions.
Some alternative searching mechanism will need to be implemented in replacement. This system isn't maintainable.
Typo in README.md under the debug parameter, slots is listed as slot
. There is also a slot
option so it's listed twice.
Will fix next time this program has any noticeable updates.
Simplest solution and probably how it should have originally been made is to make gems identify_gems just use identify_gem.
Is your feature request related to a problem? Please describe.
In most cases, when the program finds a suitable gem with a chance of less than 70 percent, this stone is not suitable
Describe the solution you'd like
It would be possible to add a function that will automatically continue the search if the stone comes up with less than a certain percentage
Describe alternatives you've considered
You can also make the program identify the stone 2 times in order to increase the percentage of finding the correct gem.
it is also possible to add a delay of 5 seconds after a slot identification error so that the dungeon inscription disappears and the program can correctly identify the gem
Add a new option to the debug parameter "tgems" which saves screenshots of only target gems, versus the already implemented "gems" which saves all.
This can be used to reduce the amount of unneeded images, for example r3 gems which I have 2825 pictures of at the time of writing, versus y6 gems in which I have 5 pictures of.
Add credits for the project idea to https://github.com/23cku0r/KOT_AUTO_SKIP
Add an option to the scraper tool to not save empty slot screenshots.
The first tensorflow model I created can be used for this purpose.
Please send me your contacts
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.