This repository consists of two programs: a bot and a data cleaner. The programs are intended for use with MapleSaga, a private, pre-Big Bang MapleStory server.
The bot is used to extract data from a game. Specifically, this bot extracts free market data from Frederick, an NPC in MapleSaga.
The bot is written in written in Python and relies heavily on pyautogui, a GUI automation library.
If you'd like to use the bot, you must install the following:
- pyautogui (Python library)
- Pillow (Python library)
- pytesseract (Python library)
- Tesseract (OCR)
You must also calibrate the following
- Scroll speed in the
scroll
module - Coordinates of various Fredrick links in the
navigator
module - Coordinates of GUI elements in the
vision
module
The cleaner is written in Ruby. The cleaner takes the raw data from the scraper and performs a variety of tasks:
- Strips the raw data of any superfluos information
- Ensures entry names are correct
- Removes duplicate entries (Fredrick lists several)
- Removes erroneous entries (again, Fredrick lists several)
- Exports the data as JSON
To ensure correctness for item names, the cleaner cross references extracted raw data names against a list of verified correct entry names, which is available from sagasquare. Obtaining the list of correct item names from sagasquare is necessary, as the official MapleSaga library is incomplete and contains many errors.
To use the cleaner, you must have the fuzzy_match
gem installed.
If you're just interested in the raw data, please check out ./cleaner/fredrick_data.json