Showing posts with label utility. Show all posts
Showing posts with label utility. Show all posts

Dec 29, 2013

The Variables Binder or How I Made Something Easy Even Easier

Faithful users of my works know that I like event-controlled system, when appliable. For example, my Balloon Messages System relies not on clumsy commands input in messages or stuff like that, but rather on regular switches and variables, which are easier to handle. Those switches and variables are then read by the scripts which in turn do their job. To achieve this, the scripts have to know which switches/variables were appointed to this or that purpose, because from one project to another, a same switch/variable may very well have a different ID - like, if I use switches #2 and #3 in my demo, they might already be allocated, and you'd like to use other ones instead.

Up to now, you had to manually set up constants for that purpose. You had to choose free switches/variables in your project editor, then you had to open the script where the constants were set and replace each of them with the ID you'd chosen, and then it was all cool and easy. That was, until I decided I was too lazy to do the manual part anymore. I decided it was not that hard for the scripts to find the matching switches/variables after all and they could very well do it on their own. From that decision, a new script was born. Behold... here's the Variables Binder!



So what does it do?

Basically, automate the process of binding switches/variables as set in the project editor with the scripts. Say you install the Balloon Messages System to your project, you run it just after, then return to your project editor and poof! a couple of variables and switches which control this system have installed themselves in free slots, saving you the trouble of naming them manually. From then on, those switches/variables will automatically be recognised by the script you've just installed and you don't need to worry about that anymore. So, in short, it's simple as 1-2-3.



Any recommendations?

The Variables Binder will never ever mess with switches/variables which already have a name so it's absolutely safe to use on a project you have already started a while ago - however, it decides whether a switch/variable is free based on whether its name is empty or not, so make sure all of the switches/variables you're using at this time have a name, otherwise you could get surprises.

You can see that your newly named switches/variables have got a tag before their name. This makes it easier to see which variables group together, but it also works as an identification code. That is, you're free to rename the switch/variable as long as you keep its tag intact.

If you were already using one of my event-controlled scripts prior to the arrival of the Variables Binder, please make sure the variables you've set manually have the exact same name (without the tags) as in the original demo, since when the tag is absent, the Variables Binder will identify them based on their name, and automatically add the matching tag - so you end up with the exact same settings as if starting a fresh new project with the scripts' latest version.

If the switches/variables have not been installed prior to the Variables Binder's first launch, it will claim the first free slots it can find, so you might want to have several of them in a row so that they don't get scattered. Also, make sure you have set the maximum number of items so that there's enough room for the newcomers in the first place!



What if I still want to set the variables manually?

If you're not satisfied with the Binder's automated setup for whatever reason, there's nor problem at all. Just cut/paste the name of the variable you want to move to another slot. Since the setup is dynamic, the script will recognize the newly named variable as if it had set itself up on the next time you run the game.



Where can it be found?

The Variables Binder is part of the latest version of my Common pack. You should re-download it to ensure compatibility with my future scripts.

May 6, 2012

The Script Manager

The Script Manager is a tool that was initially designed to automate script installation and get rid of the troublesome copy/paste process. If you:
  • have only one RPG Maker project
  • don't mind copying.pasting scripts in the first place
  • aren't a scripter yourself
  • don't understand the first thing about this post
Then don't bother trying it, it is no longer needed to use my scripts like it used to be.

It is useful, however, if you:

  • wish to use the same script(s) in a variety of projects/demos and keep all of them up-to-date at all times
  • wish to experiment with installing or uninstalling scripts without actually modifying your projects
  • are a scripter and wish to test scripts in development withtout actually modifying your projects
  • have lots of scripts and wish to automate their extraction/installation




What's That?!


The Script Manager is a developer's tool that is useful when you wish to share scripts across several projects. Using it, instead of having a copy of your scripts in each and every project of yours, you can install a single, central copy all projects will then feed upon, pretty much like the RTP packages do with multimedia resources.





What For?


I initially designed the Script Manager to make my life as a scripter easier. I had this pack of scripting tools I called Moonpearl's Common, I kept updating (and am still updating every now and then) and I found it annoying to copy the newer version to all of my demos with each tiny change - plus, I sometimes wasn't able to tell which project had which version. Now I don't have this problem anymore because there's only one copy of those scripts on my hard disk, which all of my projects use at any time.






Should I Use It?


The Script Manager is essentially a scripter's tool. This means that as a casual RPG Maker user, trying and get it to work is probably too much trouble for you. It used to be a necessary feature for hits blog's demo, but starting with the latest update, it isn't anymore. Demos are now hybrid - that is, they have their own built-in copy of the custom scripts they use, which you can simply copy/paste to your own projects, and also meaning that they are stand-alone - but on the other hand, if a Script Manager is present on your system, they can also use it and override their internal scripts, allowing you to take advantage of its benefits.

For example, when I update one of my scripts, you can simply download the new version and replace your older copy with it in your RTP folder, and all Script Manager-using projects will automatically run the newer version instead of the older one they still have in memory, which saves you a lot of copying & pasting. In the end it's completely up to your own preference, now both ways work without hindering each other.





Will I Be Able to Distribute My Project?


Of course. While using the Script Manager, your project shall feed on script that are installed in your shared folder, meaning they're not in the project as such. However the Script Manager Project Builder will automatically (re)install all scripts into your project's script editor. So you can safely experiment with adding/removing scripts without changing your project's scripts until you're sure.





Can I Make My Own Scripts Compatible With the Script Manager?


Of course! And I would be delighted if you would do so! Especially considering it's not that difficult, you just have to make each entry into a .RB file (plain text file with the .RB extension) and write a setup file which will tell the Script Manager in which order the entries need to be loaded (if it matters at all). Since projects are now hybrid, you can release both your regular demos with built-in scripts, and a separate scripts package for people who want to use the Script Manager.





Known Issues


  • There's a stupid bug when forcing game exit (clicking the red cross or pressing Alt+F4). This doesn't bring any harm since you were going to exit the game anyway. I promised I would fix this issue but  I still don't have the faintest idea as to why it occurs.




Instructions



  1. Go to your RTP folder (default Program Files/Common Files/Enterbrain/RGSS/Standard) and create a new folder called Scripts. This will be referred to as the shared scripts folder.
  2. Download the ZIP file and extract it to the shared scripts folder.
  3. Go to your project's folder and create a new folder called Scripts. This will be referred to as the local scripts folder.
  4. If you already have scripts installed in your project, drag-and-drop your project's folder onto the Script Manager Project Exporter shortcut. This will create a Local folder in your local scripts folder.
  5. Create a new file called Script Manager.ini inside the local scripts folder.
  6. Download the script bundles you wish to install to your projects and unzip them to the shared scripts folder.
  7. Edit your project's Script Manager.ini file and name the scripts you wish to install to your project (one per line). At this time your project's scripts have not been modified
  8. Drag-and-drop your project folder onto the Script Manager Project Loader shortcut to run it.This will load your project using the scripts you have previously named - this will not modify your project's scripts.
  9. When everything works fine and you are ready to replace your project's scripts with the selection you have made with the Script Manager, drap-and-drop your project's folder onto the Script Manager Project Builder shortcut. From then on loading your project with the Script Manager or running the Game.exe file will have the same outcome.




Downloads



You can find all scripts bundles of mine on the My Scripts Compilation page. You should download those three first since they will be required by virtually any of the others:


Note: remember to update the Common bundle once in a while, as it may potentially be expanded with each new release of mine. An outdated Common bundle is a common cause of problem.

Feb 23, 2012

RGSS Charset Maker

Ever tried using a character maker? I have, and have found out that most makers have too few materials, or lack essential features, or can't be used with custom images, or use graphics which clash with RMXP's style, or which are otherwise ugly... and sometimes all of that. Making my own was an option I had been considering for a long time, so when a pal at rmxpunlimited.net asked whether someone would come up with a complete and handy maker, I felt it was the right moment for me to show off. :p That's how, within a few days, I'd completed this utility I'm pretty proud of.



Features



  • Edit the hue, brightness and position of each feature individually, or edit all features at once
  • Preview changes before applying them
  • See your character animated while editing it
  • Change the superposition order at will
  • Render your characters as .PNG images or assign them to the player to test them live
  • Save your characters as presets and reload them later to make new variations rather than start again from scratch
  • Expand the libraries with your own custom graphics by simply adding files to the image folders, the program autodetects them
  • Growing and collaborative materials database, updated regularily with new resources



Screenshots


Hebergeur d'image

Hebergeur d'image

Hebergeur d'image




Download



Click the following link to download this script. Terms of use and instructions are provided within. Please credit me if you use it in your own project. A nice comment is always appreciated. 


Only a few graphics are included in this package as a preview. Download JonBon's materials database to get the most of Charset Maker. The database is still expanding, so please check for updates.

Download RMXP RTP Charset (permanent link)




Credits



This program uses Zeus81's Bitmap Export - thanks to him for enabling this core feature.
The materials database is provided and maintained by JonBon.




Share It!



If you like this work and wish to share it with friends or communities, you may use this widget, along with a link to this page.