tanjeffreyz / auto-maple Goto Github PK
View Code? Open in Web Editor NEWArtificial intelligence software for MapleStory that uses various machine learning and computer vision techniques to navigate challenging in-game environments
Artificial intelligence software for MapleStory that uses various machine learning and computer vision techniques to navigate challenging in-game environments
sorry to trouble u again! but what bind is this for E? looks like movement bind to me or is it a skill?
def main(self):
num_presses = 3
time.sleep(0.05)
if self.direction in ['up', 'down']:
num_presses = 2
if self.direction != 'up':
key_down(self.direction)
time.sleep(0.05)
if self.jump:
if self.direction == 'down':
press('space', 3, down_time=0.1)
else:
press('space', 1)
if self.direction == 'up':
key_down(self.direction)
time.sleep(0.05)
press('e', num_presses)
key_up(self.direction)
if settings.record_layout:
config.layout.add(*config.player_pos)
auto-maple is able to solve runes initially but when the arrows turn orange, blueish, the rune solver gets stuck on
Solving rune:
and the program loops on solving runes.
I see that the problem has been brought up before. Has it already been resolved or am i missing something?
Appreciate any advice on this. Thanks!
help
Hello
Jeffrey Tan
Is there a separate way I can contact you?
I want to know Discord or other SNS contacts.
My discord is maplek#7646
please reply !
the dcup2 routine is old and no kanna farm there anymore if you can make side path routine without tengu its will be great
example: https://www.youtube.com/watch?v=3YM3gmeFj6M&t=157s
I found that it's hard to change skill keys in command_books
maybe you could make keys as enum
I want to use it for my own model training
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Users\Jae\AppData\Local\Programs\Python\Python39\lib\threading.py", line 973, in _bootstrap_inner
self.run()
File "C:\Users\Jae\AppData\Local\Programs\Python\Python39\lib\threading.py", line 910, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\Jae\Downloads\auto-maple-2\auto-maple-2\bot.py", line 64, in _main
model = detection.load_model()
File "C:\Users\Jae\Downloads\auto-maple-2\auto-maple-2\detection.py", line 19, in load_model
return tf.saved_model.load(model_dir)
File "C:\Users\Jae\AppData\Local\Programs\Python\Python39\lib\site-packages\tensorflow\python\saved_model\load.py", line 936, in load
result = load_internal(export_dir, tags, options)["root"]
File "C:\Users\Jae\AppData\Local\Programs\Python\Python39\lib\site-packages\tensorflow\python\saved_model\load.py", line 949, in load_internal
loader_impl.parse_saved_model_with_debug_info(export_dir))
File "C:\Users\Jae\AppData\Local\Programs\Python\Python39\lib\site-packages\tensorflow\python\saved_model\loader_impl.py", line 57, in parse_saved_model_with_debug_info
saved_model = parse_saved_model(export_dir)
File "C:\Users\Jae\AppData\Local\Programs\Python\Python39\lib\site-packages\tensorflow\python\saved_model\loader_impl.py", line 115, in parse_saved_model
raise IOError(
OSError: SavedModel file does not exist at: assets/models/rune_model_rnn_filtered_cannied/saved_model{saved_model.pbtxt|saved_model.pb}
I'm getting this when I run main.py, i've installed all the requirements for the program. If you could help with fixing this that would be great.
is there a crash log somewhere so I can try to find out why this happens?
the bot wasn't working, so I cross checked the terminal with the one in the video and noticed a lot of errors relating to dynamic libraries.
before the program asks for command book, and routine:
2021-10-14 06:04:29.128356: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2021-10-14 06:04:29.129062: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
after starting main bot loop, and initializing detection algorithm:
2021-10-14 06:04:49.403627: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2021-10-14 06:04:49.406102: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cublas64_11.dll'; dlerror: cublas64_11.dll not found
2021-10-14 06:04:49.408572: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cublasLt64_11.dll'; dlerror: cublasLt64_11.dll not found
2021-10-14 06:04:49.410361: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cufft64_10.dll'; dlerror: cufft64_10.dll not found
2021-10-14 06:04:49.412048: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'curand64_10.dll'; dlerror: curand64_10.dll not found
2021-10-14 06:04:49.413640: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cusolver64_11.dll'; dlerror: cusolver64_11.dll not found
2021-10-14 06:04:49.415485: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cusparse64_11.dll'; dlerror: cusparse64_11.dll not found
2021-10-14 06:04:49.417231: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudnn64_8.dll'; dlerror: cudnn64_8.dll not found
2021-10-14 06:04:49.417483: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1835] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
2021-10-14 06:04:49.421086: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
I can't seem to figure out what is causing the issues,
I have the latest version of cuda
hey the bot cant detect my mini map like it do it for you
my monitor res is 1360x768
and i want to run the maplestory on 800x600 what i need to change?
ty
title
Hey man just want to ask if you ever got this error while doing runes and how you solved it if you did.
Solving rune:
2021-09-05 00:51:59.250454: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:185] None of the MLIR Optimization Passes are enabled (registered 2)
2021-09-05 00:52:01.567329: I tensorflow/stream_executor/cuda/cuda_dnn.cc:369] Loaded cuDNN version 8204
2021-09-05 00:52:05.763227: W tensorflow/core/common_runtime/bfc_allocator.cc:272] Allocator (GPU_0_bfc) ran out of memory trying to allocate 2.32GiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
2021-09-05 00:52:05.792733: W tensorflow/core/common_runtime/bfc_allocator.cc:272] Allocator (GPU_0_bfc) ran out of memory trying to allocate 2.60GiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
2021-09-05 00:52:05.869473: W tensorflow/core/common_runtime/bfc_allocator.cc:272] Allocator (GPU_0_bfc) ran out of memory trying to allocate 3.59GiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
I tried to use only the simulated keyboard in the project, but it didn't work in the game, what's going on?
Hi Jeffrey,
Not sure since when but the bot doesn't seem to be detecting elite bosses anymore. The only part of the code i've changed for elites is the threshold (been slowly lowering it to test but it still doesn't detect). I used the bot with maple on full screen could that be why?
`
ELITE_TEMPLATE = cv2.imread('assets/elite_template.jpg', 0)
elite_frame = frame[height // 4:3 * height // 4, width // 4:3 * width // 4]
elite = utils.multi_match(elite_frame, ELITE_TEMPLATE, threshold=0.3)
if len(elite) > 0:
self._alert()
def _alert(self):
"""
Plays an alert to notify user of a dangerous event. Stops the alert
once the key bound to 'Start/stop' is pressed.
"""
config.enabled = False
config.listener.enabled = False
self.mixer.load('./assets/alert.mp3')
self.mixer.set_volume(0.75)
self.mixer.play(-1)
while not kb.is_pressed(config.listener.key_binds['Start/stop']):
time.sleep(0.1)
self.mixer.stop()
time.sleep(1.5)
config.listener.enabled = True
`
hi i would like to start by saying i appreciate the work you put in to this, its truly great and super versatile. thank you for sharing your code for a passion project.
i have this issue kinda where it solves the rune but after that it would pretend like it didnt? the pink dot on the GUI stays and it would come back to it later.
might this have to do with any of my libraries failing? i uninstalled cuda recently to use the bot without autorune but it recently solved without cuda so im not sure. thank you!
https://drive.google.com/drive/folders/1XpcftgBA_UH6dMvmpbQqc33xIwRf2ykD?usp=sharing
for #23
@tanjeffreyz02 let me know if you need more or anything.
ty for the great program!
If i remove the rune related code, can i use the other function basically?
Hi all, the rune solve is not worked for me.
Do you guys have the same problem?
The command prompt only prints the string "Solving rune" and without solving the rune
First, I would like to thank you for creating this tool.
In the course of my use of this tool, I have noticed that there is a problem with it stopping working when a player goes to the edge of the map.
This problem was solved by cropping the player image vertically.
I provide this information in the hope that it will be a better tool.
Also, on another matter, regarding the rune solver, I found that it is a more accurate one by detecting gradients, as I referred to another person's tool. This way you can find arrows that change from orange to green, but also blue and purple arrows.
I have not used github much, so I don't know if I can give out the url of someone else's project. I think this tool would be even more awesome if you referenced that code.
This sentence is using machine translation. Sorry it is hard to read.
The rune detector isn't working for certain rune variations, I noticed that it doesn't have much problems with yellow, orange, greenish arrows, but isn't able to solve purple and blueish arrows. Are you experiencing this as well?
If the model isn't good enough then I can help by giving you more samples to feed it if needed, just lmk.
EDIT: im using the model your provided here https://drive.google.com/drive/folders/1SPdTNF4KZczoWyWTgfyTBRvLvy7WSGpu
Hey man just want to ask if you ever got this error while doing runes and how you solved it if you did.
Solving rune:
2021-09-05 00:51:59.250454: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:185] None of the MLIR Optimization Passes are enabled (registered 2) and than the bot just stop works
After using this nearly 8 month, i just found i'm using the cpu to run the Tensorflow! 🤣 Seems thats why each rune solve cost nearly 20s and sometime even failed.
I have change the my graphic card from 1060 to AMD yes, so i think i can not directly use the tensorflow-gpu
package, kind curiosity does the model can running with tensorflow-directml
. Sorry i have 0 knowledge about ML.
Hi first of all thanks for your great work, I've been using it for a while (with customizing code a bit, to get it work with windowed maple).
I'm afraid if this shouldn't be an issue for auto-maple considering it in the first place doesn't contain a feature to handle lie detector, but I'd be grateful if you give me an advice.
I've been using auto-maple and it's been great for like a month, but recently I'm kinda struggling with lie detector.
I got some code and asset added to auto-maple (in uh, notifier.py for the lastest release ig, though my code is based off the older one so it's in capture.py) to emit an alarm when lie detector comes in, and at first it works quite well thanks to cv2 template matching.
But here comes a problem, as I solve detectors repeatedly, they are now getting harder to make match templates as they rotate or become rainbow etc etc etc.
Some of them seem to be in range out of capability of cv2 template matching.
And I think I'm all out dealing with them by simple template matching. So frankly … how are you dealing with them?
ps/ If it's way too off topic or not suitable here for any reason i'd also appreciate if you gave some advice to me in discord (me: Fnas#5715)
When I first came into contact with Python, I learned to create a virtual environment a week later, and finally started auto maple without errors.After solving the first problem.Editing scripts is a challenge for me.I can read some scripts, but if I edit a new script from scratch, I believe I will miss many details.Can someone give me some tips?I read "read me" carefully.I don't quite understand.Should I learn Python from start from the very beginning?This may be difficult for me who has not been exposed to programming.But I'm trying to read it hard.I want to make maple script to skip boring and repetitive fram time.Who can help me?
Is there a list of keybinds for Kanna? I'm kind of confused on which skills should be on which letter
Thanks! This project is amazing and looks promisng!
how i can do it
what code i need to delete in yours bot
Thanks a lot for sharing. can you share about model. I can run it but fail in load model.
Started main bot loop.
Initializing detection algorithm...
Exception in thread Thread-3:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\threading.py", line 973, in _bootstrap_inner
self.run()
File "C:\ProgramData\Anaconda3\lib\threading.py", line 910, in run
self._target(*self._args, **self._kwargs)
File "C:\auto-maple\bot.py", line 123, in _main
model = detection.load_model()
File "C:\auto-maple\detection.py", line 19, in load_model
return tf.saved_model.load(model_dir)
File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\saved_model\load.py", line 900, in load
result = load_internal(export_dir, tags, options)["root"]
File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\saved_model\load.py", line 913, in load_internal
loader_impl.parse_saved_model_with_debug_info(export_dir))
File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\saved_model\loader_impl.py", line 60, in parse_saved_model_with_debug_info
saved_model = _parse_saved_model(export_dir)
File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\saved_model\loader_impl.py", line 118, in parse_saved_model
raise IOError(
OSError: SavedModel file does not exist at: assets/models/rune_model_rnn_filtered_cannied/saved_model{saved_model.pbtxt|saved_model.pb}
im new for here,but i love maple,i try it.i try use python 1st time,and there is eorr cant find cv2,
how should i do it
dcce
hft
bd1
In the README.md, there are example videos where you are using what I believe is full screen borderless mode ( where maple is not exactly in full screen but not in windowed mode either )? Could you tell me how you're doing that? I'm guessing with a third party application?
I want to be able to do this because in between usage of the bot, I have to manually place it at the top left hand corner of the screen, and even being a few pixels off in placement can throw off the routine coordinates. It seems like in your example videos, maple is fixed in one area.
hello,I want to know which RNN model is used。
Looking to run it on a vm and was wondering if there was an easy way of disabling the rune solving functionality
I cant for the life of me figure out how to open this. I have IDLE and when i go to run main.py i just get the error cannot find cv2.
Hi Jeffrey I want to edit the code to make it do the same notification on guild, buddy etc players entering the map as well. I know that I can just reuse your current code for unknown players entering the map but I just want to ask where you got the mini map icon for it?
Thanks alot!
Can you post model? couldn't figure how to make it work without it
I wanted to use this on my laptop but the graphics card is far from powerful enough, just wondering how I could use it without a rune solver at all and just manually solve runes without it trying to solve and getting stuck.
Cheers.
It seems auto-maple is able to detect runes easier on maps with a darker background. This may be because the template rune image used has a black background?
Lowering the confidence level on rune detection to 0.75 helps, but still on maps with lighter backgrounds runes aren't being detected.
NOTE: I understand that this is a passion project of yours ( @tanjeffreyz02 ), and that fixing this would probably be a chore. I may take a shot at fixing this in the future, its just my computer vision knowledge is low.
Starting from the latest patch, less than a day ago whenever the maplestory window is focused the bot doesn't input keys.
When the bot is enabled and maplestory is the focused window nothing happens. Whenever anything else is in focus it still works obviously but Nexon must've changed how they handle virtual keys or something in the last patch, just wondering if there was any solution to this either through using a different method to input keystrokes or something else.
Thank you,
[~] Loading routine '':
[!] File path not provided, no routine was previously loaded either.
[~] Loading routine '':
[!] File path not provided, no routine was previously loaded either.
OSError: SavedModel file does not exist at: assets/models/rune_model_rnn_filtered_cannied/saved_model{saved_model.pbtxt|saved_model.pb}
pls help me
Hi, pardon me for being clueless.
Am able to get the program up and running (installed requirements.txt, CUDA, cuDNN, with Auto Maple starting smoothly without any error). However I couldn't get it to work with Maple too much.
Sorry that I couldn't fully understand the README so please allow me to clarify a few things:
P.S. just want to say thanks for the great work! am excited to try to get this to work. love both maple and python and it's great seeing both being able to (hopefully) work together here!
I am running it on VM (parallels) and only use CPU for tensorflow.
log:
Started video capture.
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\threading.py", line 973, in _bootstrap_inner
self.run()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\threading.py", line 910, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\xx\Downloads\auto-maple-1.0.1\capture.py", line 41, in _main
with mss.mss() as sct:
AttributeError: enter
Could you give some hints on where is the problem
How to setting Routines? I can't understand how to write csv file in Routines file.
ERROR: Could not find a version that satisfies the requirement requirements.txt (from versions: none) HINT: You are attempting to install a package literally named "requirements.txt" (which cannot exist). Consider using the '-r' flag to install the packages listed in requirements.txt ERROR: No matching distribution found for requirements.txt
trying to run the install for requirements
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.