Gw Temp


Tutorial - 'Submarine System' by ATARI

An item about RPGMaker 2000 posted on


A tutorial explaining how to make a submarine system similar to the FF7 one.


Hi folks! It’s ATARI again. This time I’m going to talk about how to make a submarine system for your
Things you’ll need to know to use this tutorial

1. Fork Options
2. Password Functions
3. Switches
4. Two Map Numbers (The “F9” technique)*
5. Variables

* - Only accessible in Test Play.

In this tutorial, you will learn how to ascend your sub and descend your sub, and to be able to go inside your sub when your in it. (Kind of like in FF6 or FF7. When you’re in the airship, you can hit the menu button, and you’ll show up inside your airship.) You can also go into underwater places as well.

The first thing you need to do is take one of your vehicles and make it into a sub. (In this tutorial, I will
be choosing the vehicle “SHIP.”) Make it’s graphics a submarine graphic. Then save and exit your database. Make a new map. Call it “Sub In Between.” Map. Make it nothing but grass except in one spot, and that spot should be able to be walked on. Your player will never see this map, but it’s very important.

Now you want to make is an underwater map. All you have to do to make this, is to copy your regular world map, take away all the towns and turn all the water chips into ground chips, and all the terrain chips into whatever. You mustn’t actually alter the shapes of landforms though. If you’re wondering how it’s going to look like water, you’ll have it set up, so it looks blue. I’ll explain that later. Anyway, now that you have your map done, now it’s time to make your common events.

Make a new common event. Call It “Sub[ABOVE]Inside.” Basically the title means that you’re
in the sub, above water, and this event makes you go inside your sub. Now make the common event a Parrell process. Make it’s starting condition switch “Sub[above]inside.” Now the first thing you want to put in the common event is a new enter password function. Make it use variable “Sub_Status.” Make it “Wait until
key is hit.” and choose the option “Cancel(6)” Now below that event. Make a new fork that says, “If Vehicle ‘ship’ is being rode, then,” below that fork, make a memorize hero position event. Choose variables, “Sub ID” “SubX” and “SubY”, putting them in the right slots. Then below that, disable the system menu. Below that make another fork that says “If variable ‘sub_status’ is equal to 6, then” have it erase the screen, then teleport to the map “Sub In Between” on that one walkable spot. Next wait 0.1, then put in a ride vehicle event. (Of course, since you’re already riding the vehicle, you disembark from it) then move the hero. Have “Face Left, Move Left, Left.” This is all we can do here for right now. Hit apply and OK.

Now make a new map. This is the map your hero will show up when they go “inside” the sub. Make it anything you want. Just be sure to have,
- A pilot (The way to go back “out” of the sub and control it again)
- A Control screen. (To make it more realistic. It has to be all Panorama)
- A Door to exit the sub and into underwater places. (should be an event door. Make it have to pages. The first one with no switch, (the closed door) and the other one with switch “ExitSub=True.”

A-Okay! Now let’s go back into our common event and make it so it teleports us there. Below the last event (the move event, event) teleport to your sub map, right behind where the pilot would be. Wait 0.1, change the Panorama to some kind of “on water” panorama, wait 1.5, enable the system menu, then show the screen. Congratulations. You can now get “inside” the sub. Now it’s time to program the pilot.

Make two pages. The first one having the switch “Sub[above]inside” Make him display a message like “Ready to Depart?” Then show choices “YES” and “NO”. Under “NO” have nothing. Under “YES” have it erase screen, teleport to your in between map, make it setup vehicle place, left one space of your hero. (So If you teleported your to 006,005, the vehicle would be at 005,005.) Make the hero face left and
move left one, wait 0.1, Ride Vehicle (or Ride Vehicl: as it is in the code) wait 0.1, goto memorized place using the variables you used earlier, and show screen. Congratulations, you’ve now got it to work above water. Now it’s time to make your sub able to descend. However, before we can descend, we’re going to need to figure out our maps, “Numbers.”

How to do this? It’s actually not to hard. First, change your hero starting condition to somewhere on the map. Make a new event that memorizes the hero’s position using variables, “MAP” “X” and “Y.” Of course, variable “MAP” is the only variable that matters. Test play. Once you’ve executed that event, hit F9, find the variable, “MAP” and right down it’s value. (Don’t worry. Players can’t F9 in your game.) Do the same with the underwater map. Then delete both events, and set you’re hero’s starting place back to where it normally is. Of course, if you never named your world map and your underwater map, you don’t need to do this. Chances are you have though.

Now that that is done, make a new common event. Make it a parrell process. Call it “Sub[above]down.” Make it’s starting switch “Sub[above]inside.” First, Make a new enter password event. Make it use variable “Sub_descend1.” Make it “Wait Until Key is hit,” and “Cancel(6).” Make another below that, using variable “Sub_descend2.” Make it “Wait until key is hit,” and “Decision(5).” Because of RM2K’s lack of available buttons, you have to press the Decision Key and the Cancel Key to go down under, but you have to make do. Anyway, then, below that, make a new fork that says, “If vehicle ‘ship’ is being ridden, then” have it memorize hero position using variables, “Descend(ID)” “d(X)” “d(Y).” Make it disable the
system menu. Below that, have a fork that says, “IF variable ‘sub_descent1’ is equal to 6,” and below that “IF variable ‘sub_descend2’ is equal to 5, then” erase the screen, then change the variable “Descend(ID)” to the Underwater map number. Wait 0.1, change the screen tint to a very blue tint. (I would suggest using R000, G040, B100, S090) Make it wait while it’s doing it and make it take 0.1 seconds. Turn on switch “Sub[down]inside” and off with “Sub[above]inside.” Then show screen. Now you’re on the other map, with the same X and Y coordinates. Now you see why you shouldn’t alter your
land masses’ shapes.

Now copy that common event. Change the name to “Sub[down]above.” Change the starting switch to “Sub[down]inside.” Change the tint option to the normal “Above water” tint and the change variable event. (Have it set to the regular “above water” map number”) Now copy the common event “Sub[ABOVE]inside.” Only changing the “Change Panorama” (AKA: Change BG”) to change the Panorama into an underwater panorama. Call it “Sub[DOWN]Inside” Now go to the pilot event. Make use of the other page. Have it’s starting switch be “Sub[down]inside.” Copy the code from the previous page to this page. Only adding a “Set screen tone” event (making it the same tint setting as the descend common event used) right after the first wait 0.1 event. (Right after the erase screen event.) Now you have
you’re sub system done, except for two things.

First of all, we need to make it so your hero can go into underwater places by using the door. Make an event on the underwater map. Make it an on hero touch. Now go into your “Sub[DOWN]inside” event and copy from the “Erase Screen” Event, to the “show screen.” Put it in that event. Delete the enable system menu event. Then below the “Show Screen” event, make it turn on switch “ExitSub=True.” Then below that, make it turn on switch “UnderwaterPlace1.” Then on the door event, add the starting switch of “UnderwaterPlace1.” Then make it an on hero touch event, and teleport them to a new place.” Now you have the door set up. Of course, you have to make more pages for other places.

The last thing you have to do, is at the place where you want to your hero to be able to starting using the sub, turn on switch “Sub[ABOVE]inside.” Now the Sub Cycle is started. Now you have a brand spankin’ new sub system! :D

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