Gw Temp


Tutorial - 'Upgradable Magic' by ATARI

An item about RPGMaker 2000 posted on


Another Tutorial based on XenoSaga. This on is about how to make an upgradable magic system.


Hi folks! It’s ATARI again! This time I’m going to talk about how to make an upgradable magic system for your RPG.

Things you’ll need to know for this tutorial.

1. Variables.

2. Fork Options

3. Common Events

4. Switches

So what exactly do I mean when I say Upgradable Magic System? Well, it’s based upon the XenoSaga Ether System. But basically, in this tutorial, your buy little items that give you “Upgrade Points.” n Then you can buy different magic from a characters “Magic Tree,” and like XenoSaga, you can transfer some magic to other characters as you feel fit. (When you transfer, you still have that skill, but another character gains that skill as well. You cannot upgrade and transfer transferred skills from other characters.)

Note: Please note that this tutorial is designed for the DMS and the DBS. If you have a CMS and/or a CBS, you can probably figure it out and be able to tweak it for both of them. It is very possible and not very hard to do so.

The first things you need to do is make a new item. Make it a common good. Call it “Upgrade Point.” Make it’s price 40. Now make another item. Call it “Magic Access,” or something like that. Make it a switch object, and make it’s uses unlimited. Make it’s price 0. This item teleports us to a map where we use our “Upgrade Points.” Make the switch object turn on switch “MagicPlace.” Now go into the common events tab, and make a new common event. Make it an AutoStart Event and have it’s starting condition switch be “MagicPlace.” Now hit the OK button, and make a new map. Make sure it has room for all your characters, and that it shows all your characters. (Make sure some of the characters have switches on them so they don’t show up until you get them.) Name the map and save it. Now go back to your common event and do the following. Wait 0.1 seconds, memorize position using “MagicHeroX” “MagicHeroY” and “MagicHeroID,” teleport to your map, disable system menu, and turn off switch “MagicPlace.”

Now before you go on, let’s make an exit event for the map you just made. Make a new push key event, with graphics indicating that it is an exit. Make display a message that says, “Do you wish to leave?” then show choices, “[YES]” and “[NO].” Under “Yes,” have it go to the memorized position using the same variables, and enable the system menu. Under “No,” have it do nothing. Now you can go in, and exit out of your magic place freely. Free as a bird.

Now let’s make a tree. Let’s make it for our first hero. This tutorial’s tree will only feature 3 different spells, while you can put in as many spells as you want. The tree will have “Fire,” “Ice,” and “Bolt.” Both will take 200 upgrade points to get a new one, and take 100 upgrade points to transfer. (Transfer takes half of the upgrade cost.)

Now click on the event that has the graphics of your main character. Show a message that says, “Access [hero’s name]’s magic tree?” (Replacing [hero’s name] with the hero’s name, of course) Then show a choice that says, “Yes” and “No.” Under “No,” have it do absolutely nothing. Now hit apply and OK. Before we figure what to do with choice “Yes,” we have to make another map. Make a new map. Call it ‘[hero’s name]’s magic tree.” Make it’s size whatever you want, as long as it can fit all of the magic on it. For this tutorial, we will be using the smallest size possible. Now go back to the event and go under the “Yes,” case. Make it fade out screen, wait 0.1 seconds, change the hero’s graphics to a pointer graphic, wait 0.1 seconds, teleport to the map you just made, wait 0.1 seconds, and then show screen.

Now on this new map, have 3 events, they should look something in system based like this.

E1 = Event 1
E2 = Event 2
E3 = Event 3

Event 1 is going to be the root magic, let’s make this one fire. So give it the graphics of a fireball. Event 2 is the ice event, give it the graphics of ice, and event 3 is going to be bolt, so give it a bolt looking graphics. now the “-”’s and the “|”’s are linking events. Basically make them look as if they are linked to event one. Ignore the “.”’s, for they have no purpose, but for spacing in the tutorial. Have E2, and E3 have starting switches, so they don’t show up unless the switch is on. Give E2 switch “Ice,” and E3 switch, “Bolt.” Now on the top right side, make a sign that says exit. Make it teleport you back to the map where you were at before, and change your graphics back to the regular hero graphics. (By fade out, wait 0.1, change graphic, wait 0.1, teleport, wait 0.1, show screen)

Now on the E1 event, make it push key, and in the event commands, make it display message that says,
"Do what with skill, ‘Fire?’” Then show choices, “Upgrade,” “Transfer,” and “Nothing.” Under “Nothing,” have it do nothing. Under “Upgrade,” have it display a message that says, “To upgrade this skill, you require 200 upgrade points. Continue?” Then show choice, “Yes” and “No,” under “No,” have it do nothing. Under “Yes,” make a new change variable event, and set the owned number of “Upgrade Point” into variable “#U.P.” Next, make a fork option that says, “IF variable “#U.P.” is bigger than 200, then,” (FORK Optn:Varbl[xxxx:#U.P.]-200 More than) under that fork, make it remove 200 of item “Upgrade Point.” Then show choice that says, “Ice,” and “Bolt.” Under Ice, make it say, “Learned skill, Ice.” Then add skill “Ice” to your hero. Then turn on switch , “Ice.” Do the same for bolt, doing the obvious differences, of course. Now under that fork’s else case, make it display a message that says, “Not enough upgrade points.”

Now let’s talk about how to transfer skills. On the fire event, under the choice “Transfer,” make it turn on switch “firetrans,” teleport you to a new map called “[Your Hero’s name]’s transfers,” (this map is designed just for your hero, you should have one of these for each individual hero) , with events lined up in a row, with all the other characters that you have, (using switches that make sure that the characters you don’t have yet don’t show up,) Also on the events, make a second condition switch, make that switch be switch “firetrans.” We will do this part of the tutorial on the second character you get. On the top right of this page, make a event that teleports you back to the other page. Now on the second character, which should be a push key event (like all the other characters) make it display a message that says, “Do you want to transfer fire to this character? Requires 100 upgrade points.” Then show a choice that says, “Yes” and “No.” Have nothing under no. Under “Yes,” make another change variable event that sets the owned number of “Upgrade Point,” into variable “#U.P.” (Make sure it isn’t +, -, *, /, or mod, because if it is one of them, you will mess up this system entirely.) Then below that, make a fork that says, “IF variable “#U.P.” is above 100, then” (FORK Optn:Varbl[xxxx:#U.P.]-100 More than) make it say, “Transferred,” and add the skill, “FIRE,” to that hero. Under the else case, make it say, “not enough Upgrade Points.” Be sure to make new pages (in each separate character event) for each different skill that you have.

Now copy the first page, and make it have the starting condition be switch ,”Ice.” Now remove the “Ice” option from the show choice. The paste the page again, and have the starting switch be “Bolt,” and remove the bolt option from the show choice. Then paste the page once more, and have the starting switches be “bolt” and “ice.” This time remove the whole upgrade option, and have only transfer be there.

So that is all there is to making an Upgradable magic system in your RPG. Be sure to expand the hero’s magic trees beyond what is in this tutorial.

Good Luck!
"Even the greatest gamers were n00bs.”