Coder Social home page Coder Social logo

ajunlonglive / wow-fishing-bot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rsamf/wow-fishing-bot

0.0 0.0 0.0 55.91 MB

A fishing bot for World of Warcraft that uses template matching from OpenCV. No GPU

Python 97.23% C 2.64% Fortran 0.07% PowerShell 0.01% Batchfile 0.01% Cython 0.05%

wow-fishing-bot's Introduction

wow-fishing-bot

A fishing bot for World of Warcraft created with OpenCV.

How it Works

This program captures a portion of the screen and simulates mouse and keyboard events. No GPU needed since this doesn't use object detection. It detects the fishing bobber using template matching, and then clicks on it once there are enough white pixels, which is perceived as a splash. This is possible with these simple methods because the fishing bobber has a predicable rotation and the image of the splash is always expected to have brighter pixels in grayscale. Fixed things like fishing bait, fishing pole, loot, and cast action are found by user setup.

How to Use

You may follow the steps below. You can also watch a demo video down below.

First-Time Setup

The first thing to do is to gather some template images. These are images of the fishing bobber casted independently. Multiple images of different orientations and sizes of the fishing bobber is required to improve accuracy. To capture these images, I recommend reducing the game window to the size that you think botting will proceed with and to capture these images with the Snipping Tool app. Save these images to wherever you want, and in settings.py, provide the paths to these images that you want to use.

Steps

  1. Turn liquid quality to ultra.
  2. Find a body of water that is not reflecting the sun.
  3. Run the program state_machine.py as administrator.
  4. Look in first person, and start drawing the border to the area of interest. This area is the body of water where the fishing bobber may appear. You will draw it by placing at least 3 points that define the shape, and these points are placed when the cursor hasn't moved for 1 second. Leaving the cursor at the ending point will finish the shape.
  5. Now, point to the casting ability for 1 second.
  6. It will start fishing on its own, but you're not done...
  7. On the first round of fishing, it won't know where to loot, so hold the cursor at the appropriate location when your loot pops up.
  8. Now, you're done!

Note: Once a splash is detected, there is an added click delay that ranges .5 - 1.5 seconds. This is intended to show human-like reaction to any admin that may suspect you for botting. Also, I wouldn't fish for more than a couple of hours.

If attach_bait is set to True

To do this, make sure that the attach_bait property is set to true in settings.py. This will attach fishing bait to the fishing pole every 10min.

  1. Follow steps 1-3 above.
  2. Point to the location of the bait in your inventory for 1 second.
  3. Point to the location of your fishing pole in your character menu for 1 second.
  4. Resume following the rest of the steps above, starting from step 4.

Demo Video (Includes Attaching of Fishing Bait to Pole)

IMAGE ALT TEXT HERE

Why?

Because World of Warcraft fishing mechanism is pretty simple, this can easily be automated with a program. I decided to take this challenge on as an educational opportunity and to practice my skills with OpenCV. If you decide to use this program, use at your own risk because I believe it does not abide with their rules, so if you get banned it's not on me. I think I had an encounter with an admin as I was working and testing this program, but since I was supervising it, I was able to take command and show human-like reactions.

Also, this program is really accurate if you catch decent template images.

Todo:

  • Find best bob location, continually (not on first frame)
  • Create documentation: how to use, how it works, etc...
  • If splash wasn't detected for casting time length, then recast. This means it fails. <- Statistic opportunity here.
  • Create demo video
  • Create better demo video
  • Create programmatic way to capture new templates

wow-fishing-bot's People

Contributors

anthonygauthier avatar dependabot[bot] avatar rsamf avatar

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.