Giter Club home page Giter Club logo

auto-maple's People

Contributors

tanjeffreyz 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

auto-maple's Issues

way to cope with lie detector

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)

rune undetectable on certain maps

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.

Losing players when moving to the edge of the map

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.

Notifying on guild/buddy/alliance member entering map

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!

No Rune Solving

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.

Rune not work

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

Model issue

Can you post model? couldn't figure how to make it work without it

not working

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}

Could not load dynamic library

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

rune image on minimap not updating

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!

Eror when it solve rune

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

jeffreyz help me!

I tried to use only the simulated keyboard in the project, but it didn't work in the game, what's going on?

Elite boss detection not working

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?

`

The Elite Boss's warning sign

ELITE_TEMPLATE = cv2.imread('assets/elite_template.jpg', 0)

Check for elite warning

            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

`

difficulty getting consistent coordinates

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.

Error when solving runes

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.

about model

Thanks a lot for sharing. can you share about model. I can run it but fail in load model.

Error installing requirements.txt

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

capture not working

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

OS Error: SavedModel file does not exist

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.

Yeah I finally started it.

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?

Issue with keybinds

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!

Unsure of how to get this working within Maple

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:

  • do i have to manually write the routine in an excel and save as a .csv for every map? is there any way else to develop this .csv file e.g. using registered key stroke (understand this would be map-specific)?
  • command books are pre-defined for 2 classes (kanna and blaster); would i have to write the command book for my class manually (e.g. shadower)?
  • what does the 'reload routine' hot key in key bindings do?

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!

keybind in kanna.py

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)

keys not inputting anymore

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,

run with GPU

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.

the bot cant detect my minimap

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

Call me stupid but...

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.

Could not load dynamic library error

Hi there, seem to be getting the following error message. Can I ask what maybe causing this issue? Thank you :)

Also, Im using CUDA v10.1. Can I ask which version is required? Have already downloaded CUDNN and put the bin files into CUDA's bin directory.

Screenshot 2022-02-03 045243

Routines

How to setting Routines? I can't understand how to write csv file in Routines file.

how to fix? also how to load command book

[~] Loading routine '':
[!] File path not provided, no routine was previously loaded either.

[~] Loading routine '':
[!] File path not provided, no routine was previously loaded either.

hi

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

Rune Solving Problem

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!

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.