Script Installation in 3ds max
It's a common problem. I've seen this question posted and re-posted in so many forms it's amazing. It generally goes something like this: "How the heck do I install this script!?!" or "Why does the script not DO anything when I run it!?!?!" or "Maxscripts suck cuz no worky 4 me" ... Ok, so I made all those quotes up, but the fact is that installing maxscripts is a very commonly misunderstood process, but it's actually really easy to do once you realize how it works. Personally, I always think that understanding WHY something works is paramount to truly understanding HOW to make it work. So, if you already understand some basics of maxscript, read on to the installation, otherwise indulging yourself in a bit of maxscript history will make you a more informed maxer - and that's what we all want to be right? :-)
Maxscript 101. A history lesson. Debunking some myths.
- MAXScript was developed as a plugin for 3D Studio Max 1.x, but before it was released it was brought in-house by discreet (at that time Kinetix) and released with max 2.0. Initially maxscript was rudimentary in comparison to its features today. Maxscripts could only be .MS files and had to be run via the maxscript panel / run script command. There was no ability to call maxscripts from within the 3ds interface.
- The customizable user interface (CUI) developed with max 3 redefined how commands could be called from within 3ds and allowed maxscripts for the first time to be embedded in many different parts of the 3ds UI... New maxscripts were referred to as Macroscripts and carried the extension .MCR to differentiate themselves. These scripts were able to be added to menus and given keyboard shortcuts exactly like other features in max. This was the beginning of the maxscript explosion.
- There are currently 4 types of maxscripts. The original maxscript file is a .MS file and has to be run by using the Run Script command. The newer generation of maxscripts are Macroscripts and are identified by a .MCR file, they are installed by using the Run Script command but are run by assigning a shortcut in the Customize UI menu. The third type is a encrypted maxscript signified by a .MSE file, these files are encrypted for security to protect the author's source code primarily in cases where the author is selling the maxscript either to the public or to a company they are working for. The fourth type of maxscript is really just a distribution method. Maxscript Zip Package signified by an .MZP extension. Zip packages are automated installations designed to make it easier for all us artists to install complicated scripts with tons of buttons and stuff that need to be put in specific paths. Zip packages are installed by either dragging them into the max viewports or by using the Run Script command. Basically think of these as glorified MCR's where the install is automated but you will of course still need to assign a shortcut / menu / quad to execute the script in the Customize UI menu.
- Maxscript is mostly FORWARD compatible and in many ways BACKWARDS compatible... Mostly. Since scripts are just text, in general from version to version of max, a script will continue to work, UNLIKE plugins... The biggest exception is for scripts prior to max 4 as some fundamental changes occurred that made many scripts code changes in order to be compatible. Other than that, there are often scripts that are made for max 7 that would work in max 4. The only time a script would not work at all from one version to another is if you were trying to utilize a feature that was new. For example, if a poly modeling script that uses the new bridge functionality in max 7 was to be run in max 6, it would generate errors because the necessary functionality in 3ds did not exist yet. However, a max 6 poly modeling script WOULD work in max 7 as there were no crippling script changes between the two. So, the script version numbers on scriptspot reflect what has been tested, so if you see something you like, go ahead and give it a try...
- Maxscript is not some super complicated nerd language. It has very simple punctuation and formatting as it is intended for those of us who don't necessarily have multiple PhD's in computer engineering / science / etc...
Script Installation and Usage
Maxscripts are not all created equal. Since scripts can be made by anyone there is definately a lot of difference in quality as some scripts like Orionflame have hundred and hundreds of hours in development / tutorials / examples while small scripts might have been completed in 15 minutes. Quality differences aside, there are a couple things to keep in mind when using / installing scripts
When you "Run" a macroscript (.MCR) you're actually just "Installing" it... Confusing eh? After it is installed, to actually run the script you need to assign it a shortcut key or menu or quad. To do this you use Customize User Interface found under the Customize menu at the top of the screen. Change the "Category" to the category the script will be found in. THIS IS THE CONFUSING PART as there is no standard category - everyone who writes a macroscript gets to pick their own category name. So, a macroscript I write might be in the "CG Tools" category while a macroscript Bobo writes might be in Bobo_s Tools. So, how do you know for sure? You could scroll through the Category list and look for something that seems correct or you could just open up the script in a text editor or maxscript editor to find out for sure.
I've made a quick little video showing how to install / run a macroscript and another video showing how to open a macroscript in a text editor to quickly see what category it will be displayed under. Videos have been encoded using Windows Media Encoder and require the Windows Media 9 Screen Capture codec included with all WM9 and WM10 installs...
Note: this video is old and needs to be updated. if any user can take the time to create a few videos on basic script installation, I will gladly replace this one with yours and give credit!
MZP(MAXScript ZIP Package)
MZP's are a new addition to 3ds max 4 which allow authors to package their scripts into a zip file that max will unzip and put in the correct place... For a complete description, keep reading...
Thanks to Borislav Petrov for the following detailed explanation of MZP usage...
"[MZP]is actually a regular ZIP file (you can configure WinZip to open MZPs if you want) containing some script sources, possibly related files like bitmaps etc, and a control file called mzp.run containing commands telling what to do when the MZP is being Run or dropped in MAX. Using these commands, the contained script files can be copied to the right places and even executed if needed, so by just running the MZP you get a fully functional installation of a scripted package without knowing anything about how to install it. In addition, if used on a correctly prepared web page (using XML), an MZP file could be dropped directly from a homepage onto your running max copy and it would install immediately. (I don't know of any popular sites yet doing this though)
Take a look at the MAXScript Online Help under
"Zip-file Script Packages" and
"i-drop - drag and drop"
To launch an MZP, simply go to MAXScript>Run Script and select it."
I'm repeating myself a bit here, if you don't know what a function is then it is almost totally useless to you... If you do know what a function is then there really isn't anything new I can tell you... :-)
Extension Installation and Usage
Extensions are just MAX plugins, so you install them the same way you install any other plugin - by copying the file into the MAX plugins folder... Since MAX is built around a plugin architecture, accessing an extension via scripting is just as easy(or complicated :-) as any other command in MAX.