Home Technical Talk

MAXScriptManager

1
polycounter lvl 14
Offline / Send Message
Norman3D polycounter lvl 14

MAXScriptManager is a 3dsMax script that will will help users and developers get/push their scripts easily. It will hopefully streamline the process of downloading, updating and installing scripts.

I've been working on this for quite a while, but only recently have I had to focus on it. The script is not released yet, since I still need to do finish some stuff and create installers, I'm however eager to push this out the door as soon as possible.

I'm going to leave two videos here for now and a list of features:
  • Install scripts packed in MZP files by just double clicking on them from Windows Explorer.
  • Right click mzp, ms, mse and mcr files to get additional options such as installing script with a specific 3dsMax version. (MSM will need to be installed in the other versions as well)
  • Manage installed scripts.
  • Browse repositories for scripts.
    (Developers or websites such as ScriptSpot will have to create these repositories. Essentially they are just a text file with all necessary information such as download links to the scripts, version number and so on. I will create a tool myself in order to quickly create a repository and add and delete files.)
  • Directly contact script authors from MAXScriptManager, Follow them on Twitter, share the script through Facebook, visit their website and even donate!
  • Automatic update check on 3dsMax startup.
  • Option to automatically apply updates if found.
  • View script changelists.
  • When installing ms, mse or mcr files a button will be automatically added to the MainToolbar. (No need to hunt the script down under the Customize User Interface window :) )
  • MagicClipboard (More on this later)


[ame]http://www.youtube.com/watch?v=N3WSjnzydQA[/ame]

[ame]http://www.youtube.com/watch?v=zKRJbJMb1VM[/ame]

Now the more "technical" stuff for you developers out there:
As you may now, the whole script installing thing is a pain in the ass for developers and users. Here are just a couple of problems I have identified and I believe I'm tackling with this script.
  • Users getting MZP files and not knowing what to do with them.
  • Sometimes MZP files are renamed to ZIP files.
  • Users not knowing if an update is available for their scripts. They either find themselves hunting down updates in forums or just sticking with a very old version.
  • Users don't know exactly how to contact authors in order to report bugs. Developers don't get enough information, such as 3dsMax version, windows version and so on.
  • Statistics for developers. (I will add this later on)
  • Users don't know how to uninstall a script.
  • Users don't know how or where to find your script in order to add it to the toolbar.

I have tackled all of these problems, but some of them require your scripts to be packed in MZP files as well as proper install / uninstall scripts.
In order for your script to benefit from MAXScriptManager's features you will need to have a repository and some lines of code added to your install / uninstall scripts. Do not worry, your script will install and work just fine even if MSM is not installed on the users PC.
I will provide proper documentation for you guys once I release it.

Until then, I'd appreciate some feedback, ideas and suggestions. Personally I believe it has a lot of potential and there a lot of exciting features that could make this even better :)

Replies

  • Noors
    Offline / Send Message
    Noors greentooth
    This looks promising. It's a bit tedious to keep scripts up to date, even to see if you've already have it. How many time i have to re-open a script to localize it in the customize UI menu.
    I was thinking maybe an export/import scripts pack could be useful, to export non-native script to a fresh install/ a co-worker pc....
    And nice UI !
  • Eric Chadwick
    This looks excellent!

    Have you thought about working with Tech-Artists.Org to integrate into their system? http://tech-artists.org/forum/forumdisplay.php?f=27
    Kind of slow going there, but might kick-start something, plus give you access to scripting pros for testing and validation.
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    Noors wrote: »
    This looks promising. It's a bit tedious to keep scripts up to date, even to see if you've already have it. How many time i have to re-open a script to localize it in the customize UI menu.
    I was thinking maybe an export/import scripts pack could be useful, to export non-native script to a fresh install/ a co-worker pc....
    And nice UI !

    Thanks! As a matter of fact I already had that feature implemented, but I had to drop it since I rewrote the script too many times. But that feature is definitely in my to-do list. ;)

    And I'm glad you like the UI, it also went through a lot of iterations. It's actually inspired by the new 3dsMax 2012 graphite tools :)
    This looks excellent!

    Have you thought about working with Tech-Artists.Org to integrate into their system? http://tech-artists.org/forum/forumdisplay.php?f=27
    Kind of slow going there, but might kick-start something, plus give you access to scripting pros for testing and validation.

    Thanks Eric! I've actually been in touch with a couple maxscript developers, (RTTAssist, TexTools, ToTex and so on). And they have given me a lot of great feedback! That forum seems pretty dead, though.
    But I will definitely start posting about MSM in other forums, just to get the discussion going. Unfortunately it's more of a "feature" that interests developers right now rather than "the average artist". But I'm sure they will understand the potential it has once they see other scripts taking advantage of it. :)
  • haiddasalami
    Offline / Send Message
    haiddasalami polycounter lvl 14
    this sounds cool. Looking forward to the release
  • Pjanssen
    This looks like an interesting project. Together with another person, I was actually just thinking of making a tool like this.
    The Outliner tool that I developed basically has all base functionality (one-click installer/uninstaller, automatic updates, statistics, the lot). It'd just be a matter of generalizing it and opening it up for other developers.
    I don't know how far along you are with this project, but if you are interested in something like a collaboration, let me know.
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    Very nice, I was also thinking of making something like this, but I guess now I dont have to :P
  • Nysuatro
    Ah, I heard about this project. Nice to hear again from it :)
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    hey guys! I got a new video for you of MaxScriptManager in action!
    I'll be releasing it next week if everything goes well :)

    [ame]http://www.youtube.com/watch?v=zKRJbJMb1VM[/ame]
  • SpeCter
    Offline / Send Message
    SpeCter polycounter lvl 14
    Yeah!
    Like i said,i´m loving it and can´t wair for the release :D
  • CodeFather
    Offline / Send Message
    CodeFather polycounter lvl 15
    As I already said, great script, man ! Really valuable.
    Can't wait to try it out and start using it. :) Also I hope
    you are planning the admin version we were talking about it
    will turn out to be a quite good feature.

    Cheers!
  • Kwramm
    Offline / Send Message
    Kwramm interpolator
    sounds very very cool.

    Say does it support command line options?

    We do have an automated updater in place which downloads scripts and other software from a depot and then installs them via a batch script. Automatically pushing mzp files via this would be extremely awesome.
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    Kwramm wrote: »
    sounds very very cool.

    Say does it support command line options?

    We do have an automated updater in place which downloads scripts and other software from a depot and then installs them via a batch script. Automatically pushing mzp files via this would be extremely awesome.

    Yes absolutely! MaxScriptManager comes with an exe. You can specify through the command line which version of 3dsMax to install it on and the location of the script.

    Although as CodeFather said, I plan on creating a specific feature in order to push updates or script installs through a network. ;)
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    Here is yet another video! This time it's the Repository Manager, that will allow developers to create or edit repositories.

    [ame]http://www.youtube.com/watch?v=j7s2tDCdXYw[/ame]
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    this project is growing very promising norman, nice recent updates- keep it up. I haven't been scripting that much mxs recently but once I get into something bigger for mxs again I will give this a shot.
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    renderhjs wrote: »
    this project is growing very promising norman, nice recent updates- keep it up. I haven't been scripting that much mxs recently but once I get into something bigger for mxs again I will give this a shot.

    Thanks man! :)

    I have a new exciting feature to show. ScriptSpot integration!
    If the user provides a ScriptSpot page when installing the script, MaxScriptManager will be able to check for updates without the script needing a repository!


    [ame]http://www.youtube.com/watch?v=QuesnDk6sf4[/ame]
  • SpeCter
    Offline / Send Message
    SpeCter polycounter lvl 14
    Come on stop teasing us, this looks just too good to let us wait :D
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    SpeCter wrote: »
    Come on stop teasing us, this looks just too good to let us wait :D

    haha There you go! It's out! Go go go!

    http://norman3d.com/MaxScriptManager/
  • Ace-Angel
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    I fucking love you man!
  • SpeCter
    Offline / Send Message
    SpeCter polycounter lvl 14
    Just one word: Brilliant! :D
    And really nice to see it´s not encrypted, i hope people can learn from it.
  • Kwramm
    Offline / Send Message
    Kwramm interpolator
    SpeCter wrote: »
    And really nice to see it´s not encrypted, i hope people can learn from it.

    that makes it just twice as awesome! :thumbup:
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    SpeCter wrote: »
    Just one word: Brilliant! :D
    And really nice to see it´s not encrypted, i hope people can learn from it.
    maybe because he learned or was inspired from sources that were not encrypted or obfuscated ;)
    Ha ha I also like the concepts of guidance are used on the website very similar to TexTools (animated gif, single page, heaps of illustrative images,...). I wish more people would push some effort into ease of read/ guidance or usability of their UI's and documentations/ websites. I mean just looking at the website already scares me less to try it out because its not bloated and explains first with images after that with contextual texts. Nice job!
  • Noors
    Offline / Send Message
    Noors greentooth
    Pretty slick ! The donate button rollover is epic xD
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    renderhjs wrote: »
    maybe because he learned or was inspired from sources that were not encrypted or obfuscated ;)
    Ha ha I also like the concepts of guidance are used on the website very similar to TexTools (animated gif, single page, heaps of illustrative images,...). I wish more people would push some effort into ease of read/ guidance or usability of their UI's and documentations/ websites. I mean just looking at the website already scares me less to try it out because its not bloated and explains first with images after that with contextual texts. Nice job!

    Yes exactly! I hope you don't mind that I bascially used your site as a template,haha. It's just that, it's exactly what you are saying, your TexTools site is readable, understandable, it's exactly what every script site needs imo.
    And a simple thing as the animated gif is a must! When working on GoMax I got plenty of emails asking me just how to install the script.

    But I won't need the gif in future scripts, hopefully everybody will have MaxScriptManager installed by then :P
    Noors wrote: »
    Pretty slick ! The donate button rollover is epic xD

    Haha, you noticed! :P
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    renderhjs wrote: »
    maybe because he learned or was inspired from sources that were not encrypted or obfuscated ;)

    Precisely! At first I wanted to encrypt it, so I had more time to polish it and then release it un-encrypted. But it would have made the task of finding bugs harder.

    But yes, I'm all for unencrypted scripts. There are a couple of functions that might be interesting. But what I'm most proud of is the idea and the design of the script, which can't be encrypted... so... :P

    And please you should also check out the "About" window! There are a ton of credits there, pointing to various code snippets and artwork by some very talented people.
  • haiddasalami
    Offline / Send Message
    haiddasalami polycounter lvl 14
    Thanks for not making this un-encrypted. Want one for maya :P Excelled stuff Norman.
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    Thanks for not making this encrypted. Want one for maya :P Excelled stuff Norman.

    Heh, no problem ;) Btw, you meant to say un-encrypted, right? Cause that's what it is :P
  • haiddasalami
    Offline / Send Message
    haiddasalami polycounter lvl 14
    Norman3D wrote: »
    Heh, no problem ;) Btw, you meant to say un-encrypted, right? Cause that's what it is :P

    haha yeah. :poly136: Was typing fast and its 8am in the morning. Gonna take a look at the code later in the day.
  • Spatz
    Offline / Send Message
    Spatz polycounter lvl 13
    hi norman i love your scripts ...but this time i ran into problems, how can i deinstall maxscriptmanager?
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    Spatz wrote: »
    hi norman i love your scripts ...but this time i ran into problems, how can i deinstall maxscriptmanager?


    Under settings you have a big red "Uninstall" button. ;)
  • Spatz
    Offline / Send Message
    Spatz polycounter lvl 13
    thanks norman...but my problem is that i cant install it properly and everytime i start max i receive a error message :screen.jpg

    can you help me please?
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    Spatz wrote: »
    thanks norman...but my problem is that i cant install it properly and everytime i start max i receive a error message :screen.jpg

    can you help me please?

    Sure, I've pm'ed you my email so we can resolve this issue faster ;)
  • Spatz
    Offline / Send Message
    Spatz polycounter lvl 13
    thanks norman, now it works! ^^
  • Noors
    Offline / Send Message
    Noors greentooth
    Hey
    Anyway to change a script informations (name/author, etc...) afterwards ?
    I mean, without editing the .ini manually ^^
  • Noors
    Offline / Send Message
    Noors greentooth
    Me again
    It seems the maxscript manager is desactivating the listener (max 2010 32 bit here) ! It is very annoying.

    baby-crying.jpg
  • Mr. Smith
    Spatz wrote: »
    thanks norman...but my problem is that i cant install it properly and everytime i start max i receive a error message :screen.jpg

    can you help me please?

    I have the same issue, can you please help me resolve it?
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    Noors wrote: »
    Hey
    Anyway to change a script informations (name/author, etc...) afterwards ?
    I mean, without editing the .ini manually ^^

    Not currently, but it would make sense to add in the future versions. ;)
    Noors wrote: »
    Me again
    It seems the maxscript manager is desactivating the listener (max 2010 32 bit here) ! It is very annoying.

    Are you sure it's MaxScriptManager? I know some scripts can cause the listener to deactivate, but so far no one has reported this issue. And I can't reproduce it myself.
    Mr. Smith wrote: »
    I have the same issue, can you please help me resolve it?
    Try running 3dsMax as admin and let me know if it fixes the issue.
  • Mr. Smith
    Norman3D wrote: »
    Try running 3dsMax as admin and let me know if it fixes the issue.

    That fixed the issue.:) What could be the problem?
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    Mr. Smith wrote: »
    That fixed the issue.:) What could be the problem?

    you are probably working in a restricted work space, probably at work. You have not been granted total admin rights, so you need to run 3dsMax as admin in order for MaxScriptManager to install properly. It requires access to the registry in order to associate the MZP filetype to MaxScriptManager. ;)
  • Mr. Smith
    Norman3D wrote: »
    you are probably working in a restricted work space, probably at work. You have not been granted total admin rights, so you need to run 3dsMax as admin in order for MaxScriptManager to install properly. It requires access to the registry in order to associate the MZP filetype to MaxScriptManager. ;)

    I'm not at work, but your right about the admin rights.:)
    Thanks for the quick help.
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    In order to mask my procrastination i've finally gotten around to installing your script manager, and it seems to work quite well!

    a couple of notes:

    - upon installing a script, an extra text box for adding your own notes would be nice. i have lots of scripts that i've just copy/pasted from forums or whatever, and after half a year, i rarely even remember what they're for or even how to use them exactly.

    - shell integration with .mzp works fine, .ms i could not get to work (they were linked to notepad before, now just opening with maxscriptmanager.exe throws an error)
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    cptSwing wrote: »
    In order to mask my procrastination i've finally gotten around to installing your script manager, and it seems to work quite well!

    a couple of notes:

    - upon installing a script, an extra text box for adding your own notes would be nice. i have lots of scripts that i've just copy/pasted from forums or whatever, and after half a year, i rarely even remember what they're for or even how to use them exactly.

    Ah that's a nice idea! I'll put it in my to do list. Hopefully I'll find time soon to get working on the next version!
    cptSwing wrote: »
    - shell integration with .mzp works fine, .ms i could not get to work (they were linked to notepad before, now just opening with maxscriptmanager.exe throws an error)
    Could you PM me the error message? ;) Thanks!
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    Still playing around with it and reinstalling all my scripts through this..

    the error message is as follows (hope it's ok i didn't PM you):
    cx_Freeze: Python error in main script (traceback unavailable)


    Exception raised when calling format_exception.
    Exception: 'str' object has no attribute '__cause__'
    Original Exception: list index out of range

    The clipboard install works around this nicely, though.

    Also loving the scriptspot feature, too bad some script authors don't use it as frequently as one would hope ;)

    an absolutely awesome feature would be portability, packaging everything the user has installed into one big ol' mzp and include your MaxScriptManager as well.. moving from workplace to workplace would be a matter of seconds. Scanning for quad/toolbar/keyboard customizations would be icing on that cake, but i'm pretty sure it's a nightmare to wade through, without even regarding the differences between Max versions..

    Does the maxscriptmanager check for already installed scripts, especially those installed in other locations (directly in program files\autodesk for instance, as opposed to c:\Users\...) ?

    Either way, great idea for a script and i'll be excited about future updates, as well as hoping that more script authors embrace the possibilities!


    EDIT: oh, and the "Run Script" feature seems to be hit and miss. sometimes the option is there, sometimes it isn't, and if it is, it doesn't always work. this is probably dependant on the script, though ;-)
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    cptSwing wrote: »
    the error message is as follows (hope it's ok i didn't PM you)

    Ok, I recompiled the exe a couple of weeks ago with a bunch of fixes. If it's not fixed in the next version let me know.
    cptSwing wrote: »
    An absolutely awesome feature would be portability, packaging everything the user has installed into one big ol' mzp and include your MaxScriptManager as well.. moving from workplace to workplace would be a matter of seconds. Scanning for quad/toolbar/keyboard customizations would be icing on that cake, but i'm pretty sure it's a nightmare to wade through, without even regarding the differences between Max versions..

    Yes! I actually started implementing this, but I completely dropped it for now, since it's such a big feature. I still need to polish the inner workings of MaxScriptManager and the way it handles MZP files and so on. I'm also working on the installer so it's more compatible with certain work environments. But after I improve this, I'll definitely start working on this feature.
    cptSwing wrote: »
    Does the maxscriptmanager check for already installed scripts, especially those installed in other locations (directly in program files\autodesk for instance, as opposed to c:\Users\...) ?

    It currently only checks for scripts that have been installed through MaxScriptManager. If you were to install MaxScriptManager on a machine were MaxScriptManger-compatible scripts have been installed, they would then show up in the list.
    I do have some ideas for the future, where it could check the files locally and cross reference them with files in some sort of online database (ScriptSpot for example), and then automatically add them to the list. This feature however is for the distant future. :P
    cptSwing wrote: »
    EDIT: oh, and the "Run Script" feature seems to be hit and miss. sometimes the option is there, sometimes it isn't, and if it is, it doesn't always work. this is probably dependant on the script, though ;-)

    Right! It only appears if you install MS, MSE and MCR files through MaxScriptManager, but if you install a MZP file, there is no way of knowing which installed MS file should be picked for the Run functions, that's why I don't add any. But in the future I'll let the user know which MS files have been installed, and let him pick one as the default "Run Script" :)
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    Man, sounds like this script is going places..! i'll keep looking for bugs in the meantime ;)

    :thumbup:


    EDIT: another suggestion.. in order to facilitate finding macroscripts when customizing, maybe a tooltip or some such which displays the category and name of the installed script? not the most important, granted ;)
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    moar bugs.. regardless of whether i check or uncheck "check for updates on startup", listener output proves that it does it anyway.. slows max's startup times a little ;-)

    EDIT: and at the risk of getting on your nerves, another little suggestion: alphabetic sorting of the installed scripts :)
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    cptSwing wrote: »
    EDIT: another suggestion.. in order to facilitate finding macroscripts when customizing, maybe a tooltip or some such which displays the category and name of the installed script? not the most important, granted ;)

    I'm not sure I know what you mean. When customizing? Do you mean that there should be a list that specifies what macroscripts belong to which script? That would be a good idea!

    cptSwing wrote: »
    moar bugs.. regardless of whether i check or uncheck "check for updates on startup", listener output proves that it does it anyway.. slows max's startup times a little ;-)

    Yes, that might be possible. I believe I fixed that for version 0.3 (not out yet). I'll double check though.
    cptSwing wrote: »
    EDIT: and at the risk of getting on your nerves, another little suggestion: alphabetic sorting of the installed scripts :)

    ha ha, no problem. This is definitely possible, but I'd give it a low priority right now :P
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    Norman3D wrote: »
    I'm not sure I know what you mean. When customizing? Do you mean that there should be a list that specifies what macroscripts belong to which script? That would be a good idea!

    I probably worded it badly.. um, pretty much every script author whacks his script into it's own category in 'MainUI' .. finding them can be a bit of a hassle sometimes. a quick tooltip with this information might be helpful. but come to think of it, it probably doesn't make sense that you code this into maxscriptmanager when all one really needs to do is open up the script and check it out ourselves :)

    ha ha, no problem. This is definitely possible, but I'd give it a low priority right now :P

    ;)


    been installing pretty much everything through your manager now.. even made my own custom mzp's for scripts that didn't have any, in order to be able to run them through maxscriptmanager.. and really looking forward to what you cook up regarding portability :)
  • foxymop
    Hi! Great script! But i have a small problem..

    The same as Spatz had but i already ran 3ds max in admin mode.

    I also lost the "run script" option from script roll down menu.

    Is the a way i can "reset" and get the run script back without reinstal max?

    Thanks!
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    foxymop wrote: »
    Hi! Great script! But i have a small problem..

    The same as Spatz had but i already ran 3ds max in admin mode.

    I also lost the "run script" option from script roll down menu.

    Is the a way i can "reset" and get the run script back without reinstal max?

    Thanks!

    You can uninstall MaxScriptManager from the options window. Let me know if you need help ;)
  • devingeesr
    Offline / Send Message
    devingeesr polycounter lvl 13
    dose this work for max 2013? I can't install it.
1
Sign In or Register to comment.