Gw Temp


Tutorial - 'Monster Trapping System' by ATARI

An item about RPGMaker 2000 posted on


A tutorial on how to make an item that can trap monsters for a certain perdiod of time.


Hi folks! It’s ATARI again! This time I’m going to be talking about how to make a monster trapping
system in your RPG.

Things that you will need to know for this tutorial:
1. Variables
2. Fork Conditions
3. Switches
4. Common Events
5. Set Event Place
6. Labels

NOTE: For this tutorial to work, you need to have a non-random encounter battle system in your RPG. (Or an ABS) You will have to make one before you can do anything with this tutorial. (Random encounter system is like the final fantasy series, and the default way of doing monster encounters in Rm2k. Non-random encounter systems are like the systems you will find in RPGs like Super Mario RPG, and XenoSaga.)

So what exactly do I mean when I say a “monster trapping system?” Let’s say that you are in a dungeon, and there are monsters everywhere. Don’t want to have to deal with them? This tutorial tells you how to make some kind of trapping item, that has a radious around it. If the monster steps into the radius of this item, they get stuck and cannot move. However, this item will only work for about 20 seconds, so once the item is used up, monsters can move again. The item that is closest to this is the beef jerky in the Silent Hill series, except this item doesn’t attract enemies to the trap.

The first thing that you need to do is make a new map. Make this map 20 x 15. Name the map
whatever you want. This map will most likely not be used in your game. This map is just going to be where you are going to make the system. Now on this map, make a monster event. Use whatever code that you have set up for your system in your RPG. Name this event “Monster.” Make the page where you have the event when your monster dies on it as well. There is nothing special that you have to have in this event, other than the code for your “non-random encounter” system. Now make another event on the map. Have this events graphics be blank. Name this event, “Monster Trapper.” Have it be push key, and have blank graphics. You will be working with this event later. Then make another eight events (you might make more in your actual game, depending on what distance you want around your trapping event), and name them “trap 1” through “trap 8.” These items will be used later, so just leave where they are at. Make them the same properties as “Monster Trapper.” Then create on more event on this map called “Monster Trapping System.” Have this be the same. We will be using this later as well. Last, but not least, have all of these event’s move speed be the fastest possible. As for their locations, keep them out of reach from the player in the actual game. Follow the example of this diagram.

Next, go into your database (f8) and go into the item’s tab. In here, make a new item. Name the item, “Monster Trapping Device” (you can name it anything that you want actually, but I will be calling in a “Monster Trapping Device” in this tutorial). Make this item’s type be, “switch.” Have the “Use number” be set to 1. Make it’s price 500. (You can change this later when you actually use it within your game.) Make any explanation that you want. Check the box for “Field,” but not for “Battle.” Make the switch that it turns on be a new switch called “MonsterTrap.” Hit the apply button, and then go into the common events tab of the database.

In the common events tab, create a new common event. Name this common event “Monster Trapping
System Timer.” Have this event be a parrell process. Have it’s starting condition switch be
“MonsterTrap.” This event is going to be the timer on the item, so that it only lasts for about 30 seconds. (You can change the amount of time when the tutorial is finished.) First of all, in this common event; firstly; put in a change variable event. In this change variable event, make it add 1 to the variable “MonsterTimer.” Then make it wait 1.0 seconds. Below that, put in a fork condition. In this fork, make it say “IF variable ‘MonsterTimer’ is equal to 30, then” have it set variable “MonsterTrapDie” to 1. Then make it wait 2.0 seconds, and then set “MonsterTrapDie” to 0. Below that make it set the variable “MonsterTimer” to 0 as well. Then have it turn off the switch “MonsterTrap.” Hit the apply button and then hit the OK button. Now go back to the map that you made earlier on in the tutorial.

Now on this map, go to the “Monster Trapper” event. Make a new page in this event. In this page, have the graphics be the graphics on whatever you think the item would look like when put on the ground. It can be a canister, some kind of bomb looking thing, or whatever. Make sure that it has an animation. (Like something spraying out of a canister or something. You can edit a character set in any paint program to make it do that. It’s not very hard to do. You don’t need to really detailed with it or anything.) Just make sure that the event is “below hero.” Make it’s animation type be “Fixed Direction.” Make it stay still. Have this new page’s starting switch be “MonsterTrap.” Copy this page, and paste it. On this new page, have there be a second starting condition. Have this starting condition be variable “MonsterTrapDie” being 1 above. Have it’s animation type be “without stepping” and have it, (like all the other pages of this event) stay still. Now hit the OK button.

Next, go into the event “Monster Trapping System.” Make this event an auto start, and have it’s starting condition switch be “MonsterTrap.” Put in a “memorize hero position” command. Memorize using variables “HeroX,” “HeroY,” and “HeroID.” Then put in a wait 0.1 seconds command. Below that, make a set event place command. Make it move event “Monster Trapper” to that location. Put in another wait 0.1 seconds, and then using the set event place command, put events“Trap 1” through “Trap 8” at the same location as “Monster Trapper.” (By using the variables used in the memorize hero position thing earlier). Now below that, make a move event command for event “Trap 1.” Have it repeat action, and check the other box. Have it’s move frequency the fast possible. Have it do the following:

|Move Speed Up x 6 | Face Left | Move Left |

Make another move event. This time, for event “Trap 2.” This one is going to be a diagonal position, so have it do the following:

|Move Speed Up x 6| Face Left | Move Left | Face Up | Move Up |

Now follow the following diagram to where the next trap events would. For diagonals, have them be like trap 2, except so they get to their designated position on the diagram below. (This is an improved version of I one have used in a previous tutorial. :D)

Below all of the move events that you just put, put in a label event. Use the next available label that you have. (In this tutorial, it will be “label 1.”) Under this label, put in a wait 0.1 seconds event. Below that, put in a fork option that says, “IF variable ‘MonsterTimer’ is below 29, then,” have it wait 0.1 seconds and go back to label 1 using a goto label command. In this fork options, else case, have it wait 0.1 seconds, and then move all the trap events back to the place where they originally were using the set event command. Then wait 2.5 seconds, and then put the “Monster Trapper” back to it’s original spot as well. At the end of this event, at the very last end case of anything, have a second label. Back under where “Monster Trapper” go put away to it’s original spot using a set event command, have it go to the second label. Hit the apply button and then the okay button.

Somewhere in the out of reach zone where all your other events are, create yet another event. Name this event “Monster Trapping System Two.” Have this event be a blank, parrell process. Have it’s starting condition switch be “MonsterTrap.” In here, put in a wait 0.1 seconds, then followed by a change variable event. In this change variable event, have it set event “trap 1’s” X coordinate to variable Trap1X. (This is done by click on the event radio button on the bottom half of the change variable screen, and choosing “trap 1” in the first drop box, and then “X Coordinate in the next drop box). Then with another change variable event, set variable; “Trap1Y” to, you guessed it, “Trap 1’s” Y coordinate. Then do the same with “trap 2” through “trap 8.” Below “trap 8’s” last change variable event, put in a wait 0.1 seconds, and then set your monster event’s x and y coordinates with variables “monster1x” and “monster1y.” Now make a new fork condition below that that says, “IF variable ‘monster1x’ is equal to variable ‘trap1x’, then” and the as a co-fork, put “IF variable ‘monster1y’ is equal to variable ‘trap1y’, then” (co-fork means that it would be all one fork with more than one condition). Make it turn on switch “Monster1stop.” In the else case, make forks with “Trap2x” and “y”, and “Mosnter1x” and “y” and have it turn on switch “Monster1stop.” Do this through “Trap8x” and “y”. In the next else case, have it turn off the switch “Monster1stop.” Now we have it that so that a switch goes on that makes monster 1 stop. Hit the apply button, and then the okay button.

[Note: You have to make individual switches and variables for each monster on the map when in your
game. Like have “Monster2stop,” “monster2x”, etc.]

Now go to your monster. Copy the page that when that the monster have when it is first on the map,
paste it, and then add the starting condition switch of “Monster1stop” and have it stay still. Now copy the page for when your monster is “dead.” Paste it, and have this new page have a starting condition of “Monster1stop.” Since it is dead, it shouldn’t be moving, or have any commands in it, or anything like that.

So that is all there is to making a monster trap system in your RPG! Remember, this is only the basic engine of how you would make the system. You can edit it so that it fits your RPG all that you want.

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