Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
Moonpearl

Moonpearl's Script Manager - a way to share scripts between multiple projects

Recommended Posts

If, just like me, you want to share scripts between several projects, or have common scripts you'd be able to use in all of them at once, then the Script Manager is exactly what you need. Instead of copying script entries to your projects' script editor over and over again, you can put them into Ruby files on your hard disk, and the Script Manager will load them from there.

 

 

 

 

Benefits

  • No need to make a copy of your scripts for each project
  • No need to update each project manually when modifying scripts - just update the shared copy
  • No need to add/remove dozens of entries to install/uninstall scripts - ideal for debugging compatibility issues
  • You can edit scripts with your favorite text editor and use them directly in your projects
  • Duplicate instances of existing scripts in the project folder will override the shared copy - allowing for local modifications without altering the shared copy
  • The manager can trace errors back to external scripts and tell you which file and line caused it

 

 

 

Screenshots

 

 

Sample Script Manager for the new

Animated Custom Menu System demo

As you can see, all scripts have been removed from the editor and put in a shared folder as Ruby files instead. The project now only contains info as to which scripts from the shared folder should be loaded.

 

 

40_1.png

 

41_1.png

 

42_1.png

 

 

 

 

Donwload

 

Get full detail (including download link) at my blog.

Edited by Moonpearl

Share this post


Link to post
Share on other sites

Wow, your stuff is too impressive mate. I don't think people 'get' it, ha. I had to read this three times, look at the pictures twice until I fully understood what and how it did this. With that said, um wow for sure. This is an extremely handy application, and I'll be downloading it when I do my scripting again, it's going to be so easy to setup my sequels now.

Cheers, keep up the WAY outside the box thinking, never cease to impress me.

 

I did think of one question though, would having to read the scripts from the files rather then inside the script editor cost any extra processing power, or would it be minute of a difference or none at all?

Share this post


Link to post
Share on other sites

Thanks JonBon, I'm pretty satisfied myself even though I made it mainly for my own use. I agree it might be a bit complicated to understand but I could not come up with any better way to put it yet;

 

As to your question, I believe there's virtually no difference in the performances, because it's still about reading Ruby scripts. If there should be any differences, it should be at the time the scripts are loaded, that is when the game is launched. As far as I'm concerned, I didn't experience any significant slowdown whenever launching a project bundled with the Script Manager. Tell me what you think as soon as you've tried it.

Share this post


Link to post
Share on other sites

Out of curiosity,

How does this script affect the distribution process? Like, if someone is releasing project A, does that mean there are more files that will need to be distributed along with the project?

 

How does this script affect the encryption process?

Share this post


Link to post
Share on other sites

I made a tut to this a while back. I thought I posted over here, but I can't find it...

The tut goes a little more in depth on setting Notepad++ up as the editor that will launch RMXP.

 

Anyways, here be the link if anyone wants to check it out.

http://forum.chaos-project.com/index.php/topic,9938.0.html

Share this post


Link to post
Share on other sites

Out of curiosity,

How does this script affect the distribution process? Like, if someone is releasing project A, does that mean there are more files that will need to be distributed along with the project?

I'm not sure I get what you mean. This script is intended for developers. If you want to release your project to people who don't use the Script Manager, and more generally who don't give a damn about game-making and RMXP, you just have to make a copy of all shared scripts into the project's Scripts folder.

 

How does this script affect the encryption process?

Well, shared scripts won't be encrypted, that's all.

Share this post


Link to post
Share on other sites

Could this add the possibility of modding?huh.png

If so that would be awesome. People could write scripts to mod the game and just insert them.

Share this post


Link to post
Share on other sites

Could this add the possibility of modding?huh.png

If so that would be awesome. People could write scripts to mod the game and just insert them.

If I understand what you mean by 'modding' correctly, yes it does. Script can be located both in the shared folder and the project folder. Whenever loading files from the shared folders, the manager checks the project folder for copies of those same file, and loads them instead if they exist, which allows for local modifications without altering the shared copy. Also, any scripts found in the local scripts folder is automatically loaded. Besides, making your own scripts available for use with the Script Manager is easy as 1-2-3, you just have to copy them as .RB files to a new folder and load them from there.

Share this post


Link to post
Share on other sites

Here's a little "export" snippet that will output all the scripts in the editor to external .rb files automatically.

I think it would make a great addition to your manager to help get people started.

 

Dir.mkdir('Exported') unless File.directory?('Exported')
Dir.chdir('Exported')
no_name = 0
count = 0
$RGSS_SCRIPTS.each {|script|

 title = script[1]
 if title == ''
   no_name += 1
   title = 'untitled ' + no_name.to_s
 end
 title = title.gsub(/[\x00\/\\:\*\?\"<>\|]/, '_') + '.rb'
 File.open(title, 'wb') {|file| file.write(script[3]) }
 count += 1
}
print "#{count} scripts successfully exported!"
exit

Edited by ForeverZer0

Share this post


Link to post
Share on other sites

Thanks for the tip. I'd been thinking about it, but had no idea how to do it.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...