/AutoNodestone

A Python program to assist MapleStory players in finding the ideal combination of Nodestones.

Primary LanguagePython

AutoNodestone

Python program for MapleStory that help palyer find ideal combination of Nodestones.

✅Features

  • Nodestone Skills identification is based on Template Matching,
    which theoretically supports all languages (as long as all Maplestory server share same skill icon).
  • Batch scan all the 11 Nodestones on V-martix UI at once without any manual input.
  • Intuitive and convenience UI. (See Usage)

🔨Setup

🙌Note :
For user's convenience, a executable (AutoNodestone_PyQt_start.exe) is provided.
You can execute the program without setting-up Python envierment.

  1. Download and install Python3.
  2. Download and unzip whole AutoNodestone folder.
  3. Inside your AutoNodestone directory, open a command prompt and run :
pip install -r requirements.txt

🕹Usage

Inside your AutoNodestone directory, open a command prompt and run :

python AutoNodestone_PyQt_start.py

OR
Just doble click AutoNodestone_PyQt_start.exe

And then follow the instruction below :

  1. Select the job of your charater.
step.red.and.yellow.mp4


  1. (Optional) If yod find that the skill icons doesn't match the skill icons in-game :
  • Open the skill icon directory by clicking Open directory and delete those unneeded icons.
  • Generate skill icons from game by clicking Generate skill icon, the program will detect skill icons your screen and save to skill icon directory.
step.green.mp4


  1. Scan Nodestones by clicking Scan Nodestones button.
step.blue.mp4


  1. Select your required skills in Skill selection area, and get combination by clicking Get combination.
step.purple.and.black.mp4


  1. Equip the Nodestones in the combination.
final.step.mp4


🤔How program evaluate combination?

A valid combination must not violate the rules :

  1. Nodes with the same main skills(skill that appear on first row) can not appear more than once.
  2. Each required skills(selected by user) must appear at least twice.

Program will find 3 different valid combinations with minimal number of Nodes.

Because Nodes with the same main skill can be stacked and enhanced, if there are several valid combinations with same number of Nodes,
the combination with higher stack count will has higer priority.

stack count and priority example

📃Further information

Please refer to https://forum.gamer.com.tw/Co.php?bsn=07650&sn=6415998. (Written in Traditional Chinese)

❤Special thanks

  • Source of skill icon image : NodestoneBuilder repository
  • Thank my classmates in NTUST for disscusing how to formulate the problem with me.
  • Thank Prof. S.-Y. Fang. I learned ILP and some useful programing skills in the EDA course.
  • Thank 星星(peggy7992) gave me helpful advise, which help me come up with batch identify method.
  • Thank 煎熬(dcda5460170) gave me helpful advise, which give me the idea of Generate skill function and UI.