Skip to content

sethmachine/mmrpg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Update (October 23, 2018): All the code is available for unrestricted usage.  Disregard my message below about needing my permission.  If you find anything useful here, I am glad my old code could have been of use to someone else!  

All of the code for the mmrpg project, also known as Monster Master Rpg II is the original work of sethmachine@gmail.com, also known as sethmachine on www.hiveworkshop.com, except where indicated (e.g. third party vJASS libraries).  Do not distribute or use this code for any purpose other than learning or curiosity unless you have explicit permission from the developer sethmachine.  

The code of the project is split into two directories: 
	(1) /mmmrpg/code/jass
	(2) /mmrpg/code/lua 

The /jass/ directory contains all of the vJASS code and is the core of the project.  The /lua/ directory is responsible for generating every and all custom objects.  This includes spells, units, items, doodads, and any custom object that can be made by the WC3 Object Editor.  

To run the project out of the box, you will need to have a working copy of Jass NewGen Pack, which is essentially a modded version of the default WC3 World Editor that supports many useful features.  I recommend sticking with v5d and not using 2.0, since the project is untested on the newest version.  You can download v5d at this link: http://www.wc3c.net/showthread.php?t=90999

Once you have Jass NewGen Pack up and running, you will need to have a Python interpreter / development kit.  This is because the project needs to be built and compiled by a series of Python scripts, which build file and directory paths tailored to the organization of your local file system.  Please get a stable version of Python 2.x; the scripts may not work with a Python 3.x; Python can be downloaded here for free: https://www.python.org/download

Under trunk/python, there is a .py file called "scripts.py".  You simply need to run this file in order to compile the project.  A simple way to do this is to open the command prompt and type in "python /path/to/your/trunk/python/scripts.py".  Alternatively, you can simply open the file with the IDLE interpreter and run it by holding F5.  Do not edit this file or any of the Python scripts unless you know what you are doing.  They are poorly documented currently, so change them at your own risk.  The building can take up 3-5 minutes depending on your system.  

Once you have run this command and build the paths, finally you can load the project into /any/ map.  Go into the map and create a single custom trigger (like you would do to write a vJASS library).  Then add in each line depending on how you want to build the code into your map.  

(1) Load all vJASS: 
//! import "/path/to/mmrpg/scripts/jass.j"

(2) Load all custom objects:
//! import "/path/to/mmrpg/scripts/lua.j"

(3) Load a light portion of custom objects:
//! import "/path/to/mmrpg/scripts/lua_light.j"

Simply save the map once you've put in the lines you want.

Loading the vJASS is straightforward, once is it loaded in and successfully passes JassHelper, you can comment out the import line.  However, if you update the vJASS code, you will need to re-import it each time.  

Load the Lua custom objects is a bit more time consuming.  Once you run the (2) and save the map, Lua will build ALL the custom objects.  This is not recommended unless you are releasing a full version because: this adds over 1 MB to the filesize and significantly increases load time (there are several thousand custom objects).  The "lua_light.j" is designed to create a bare minimum set of custom objects in order to keep development time as short as possible but give the developer a chance to touch the map's custom objects and how they interface with the vJASS code.  In any case, once you run either Lua script, you need to save the map, and then CLOSE the world editor.  Then restart it and reload the map.  Uncomment the Lua script lines and then save the map again.  The custom objects will now be visible.  


About

Automatically exported from code.google.com/p/mmrpg

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published