A road planning tool for cruising quests in MapleStory
This tool investigates and traces a quest trajectory for a given player at any point in mapling. Expected inputs range from environment rates, to current player level and completed quests.
Status: Released.
With non-profitting means intended, provide keen quest-leveling maplers world-wide a quality time with quest management.
By seeking several aspects of utility within quests, look forward to route possibilities for a desirable quest cruising.
- Autonomy, seek self-improvement for finding new ways to do a task;
- Orientation, plan ahead and perceive the surroundings to model a smooth activity;
- Aptitude, enjoy the good moments provided throughout the cruise, be active to course-correct in staggering moments;
If you liked this project, please don't forget to star the repo ;) .
-
Download items:
- Git - Open-source distributed version control system, LuaRocks operates with it - https://git-scm.com/
- mingw32-gcc - GNU C Compiler, LuaRocks operates with it - https://sourceforge.net/projects/mingw/
- LuaRocks - Lua modules manager, standalone flavor with Lua interpreter embedded - https://luarocks.github.io/luarocks/releases/
- LOVE - a graphic interface engine for Lua - https://love2d.org/
Git and GCC compiler, proceed to install one suitable for your system.
- Git - download and install with default paths, select-default all options on installation wizard;
- mingw-get-setup.exe - download and install with default paths, at package catalogue: "All packages" tab -> opt for "mingw32-gcc": "bin" and "dev";
LuaRocks and LOVE packages selected during development were:
- luarocks-3.3.1-win32.zip;
- love-11.3-win64.exe;
-
Install items:
For expediency later when setting environment variables, it is recommended to use the following install paths:
- Git - use default install path;
- Open and install mingw32-gcc, opt to place into "C:\MinGW" (default path);
- Extract LuaRocks into "C:\Program Files (x86)";
- Open and install LOVE, opt to place into "C:\Program Files";
Then, set "MapleQuestAdvisor" the folder on a place of your preference. The selected path will be referred next as <LOCATION_FOLDER>
.
Find the LuaRocks folder in your file system and, in there, right-click "install.bat", and click "Run as administrator", as you will need admin privileges to install this package manager.
-
Add into User Variables:
- LUADATA -
C:\Program Files (x86)\luarocks-3.3.1-win32\win32\lua5.1
- LUADATA -
-
Add into System Variables:
- LUA_CPATH -
%LUADATA%\LuaRocks\lib\lua\5.1\?.dll;c:\program files (x86)\luarocks-3.3.1-win32\win32\lua5.1\lib\lua\5.1\?.dll;
- LUA_PATH -
C:\Program Files (x86)\LuaRocks\lua\?.lua;C:\Program Files (x86)\LuaRocks\lua\?\init.lua;%LUADATA%\LuaRocks\share\lua\5.1\?.lua;%LUADATA%\LuaRocks\share\lua\5.1\?\init.lua;c:\program files (x86)\luarocks-3.3.1-win32\win32\lua5.1\share\lua\5.1\?.lua;c:\program files (x86)\luarocks-3.3.1-win32\win32\lua5.1\share\lua\5.1\?\init.lua;
- LUA_CPATH -
-
Edit "Path" System Variable, and ADD the following path:
- Path -
C:\MinGW\bin;C:\Program Files (x86)\luarocks-3.3.1-win32\win32\lua5.1\bin;C:\Program Files (x86)\LuaRocks;%LUADATA%\LuaRocks\bin;C:\Program Files\LOVE;
- Path -
Use the now installed LuaRocks to install the required modules.
-
For this, open command prompt (Right-click, "Run as administrator") and type to install each dependency module:
luarocks install luabitop
: bit-to-bit operations.luarocks install penlight
: STL-like for operating data structures with Lua.luarocks install xml2lua
: XML parser.luarocks install json-lua
: JSON parser.luarocks install lsqlite3complete
: SQLite DB library.
-
Verify whether the packages have been installed by your LuaRocks with:
luarocks list
.
Use the HaRepacker application, encryption "GMS (old)".
Select and export each WZ file at a time:
-
For the XMLs, EXPORT (using the "Private Server..." exporting option), to the following location:
<LOCATION_FOLDER>/lib/xml
-
For the images, EXPORT (using the "PNG/MP3" exporting option), to the following location:
<LOCATION_FOLDER>/ui/media/images
After exporting, at both folder locations should be present therein subfolders ending with ".wz".
This tool is designed to be a standalone, running in Lua.
This tool provides 2 running options:
- The quest route skimming.
- The graphic UI, in which the intended end-user experiences the application.
To run, open the command prompt and point directory with "cd <LOCATION_FOLDER>\src", then for each running option:
> lua5.1 router/main.lua
: runs the quest routing process.> launch.bat
: opens the application.
The route skimming runs through a group of quests around the player's level, and displays volume measurement from quests traveled.
Basing on a player entry (with level, job, current map and inventory/quest/skill data), each generation loads a board of quests that the player is very likely to try. Within the board, quests are selected arbitrarily but in an arranged way, to build a "desirable" path for the player to track.
The MapleQuestAdvisor loads info from "lib/userdata" to predict next quests for the player, using CSV files in 4 flavors:
- Character - Pertinent info such as Level, EXP, Job...
- Inventory - Items the player has gotten.
- Quest - Holds current quest states the player has achieved.
- Rates - Environment info, such as ongoing EXP, Meso, Drop rate.
During application use, the user can view several informations regarding current quest prediction:
- The HUD Ongoing Quest element, on top of the screen, shows the quest in progress. More information about it can be retrieved from the Book icon.
- By selecting an element inside the Resource book, the user is able to quickly reach areas in which the item can be found.
- Sift through next quest predictions by quest selecting and pressing the "NEXT" button, or return from with the "BACK" button.