Re: RPG Maker 2 Tips & Tricks 2.0
Well, for (part of) my bit in the Reconstruction Effort, here is that silly tutorial I posted for simple Doors and Chests (I just cut and pasted the final draft, so some quotes may not exist anymore... but they were real, I swear! I'll search my text files for other data that may have been lost (if you are reading this much after August, 2005, there was a problem with the server and much data was lost)..
OK, OK already...
Here is how to make a fully functioning door (remember, this takes less then 5 minutes to do, but may take markedly longer to explain):
To do this you will need to make 3 scripts and a two page event (don't you dare complain about it being complex... that's why nobody posted it before... and if you think about the number of purely mechanical steps involved in walking through an actual door in the real world, it is truly much simpler).
This door will open and let you pass when you touch it. It will then stay open forever. It is the simplest example. There are many ways to make doors work in a game. You can have them close behind you. You can have them stay open and then be closed when you reenter the map. You can ring doorbells, or require passwords, or even make the player stand on his head in a bucket of treacle going "Squawk! Squawk! Squawk!" before they can use the door. This open-endedness may be why people never posted anything when Our PG Programmer asked before (I just ignored him) (and to those of us who've been doing this for years... what's your excuse?).
Anyway, first make 2 "Action" scripts. I shall assume you are brand new to RPGM2 and do not know what that means (just to keep RPGProgrammer happy). When creating a new script there is a "box" that defaults to the word "Content" (actually there are two, but you want the one that is labeled "Type" not the one labeled "Note"). Highlight that, press X, and then select "Action" from the drop down menu.
Then make a one line script consisting of the command:
Event: Motion Change=Action A Speed=0
This is created with the following sequence:
Events > Effects > Motion Change
This opens a window with several options. Stare at it in disbelief and confusion, then change the Model from Character to Object. Then change the speed from 100 to 0. Select object 152 (Door Single B) for your model (unless your taste prefers another door).
Name this Script "Door: Closed."
That's one.
Now make a two line action script that reads:
Event: Single Action=Action A Speed=100
Event Move: Bypass Members=Yes
This is created with the following sequences:
First
Events > Effects > Single Action
That opens a similar window to the last one. Once again change the Model from Character to Object, only this time leave the speed at 100. Then find and "Check" the Disable Motion After Action box. And select object 152 (Door Single B) for your model (unless your taste prefers another door) again.
Then:
Events > Movement > Bypass Members
When the window for this command opens, "Just Say 'Yes'" (with apologies to Nancy Reagan).
Now, name this script "Door : Open" and that's Two!
Almost done scripting. Now make a normal "Content" script. It, too, is only one line and should read:
Sound : SFX [Creak] Volume=100 Pitch=0 tempo=100
This is done vis the commands:
Sound > SFX and selecting Sound 035 [Creak]. This is just for effect and so you know where the content script goes for if you want to get fancy later.
Name this script "MOO!" for no good reason.
Now we need an event for these scripts, but first a detour over to :
Game > Game Settings > Custom Tab > Flag
Then select an unused one. I usually start at 989 and work back (the system sometimes uses the "Temporary" flags and variables). So, for those who can't decide, I'll just order you to use flag 989 unless you feel confident selecting your own. Highlight it and press X.
Now rename it to Door 1. This not only makes life easier when you need another flag (you can tell at a glance that you already used this one) but makes it easier to read in the event page conditions... which, conveniently, is our next destination (after another detour).
Exit Game Settings and save your changes (Update and Exit).
I do everything in crazy sequences (I am not at all a well cat) and now have to go back to the content script we created and add a second line which will read:
Data:Flag: [Door 1] On
This is created with the following sequence:
Data > Flags
and selecting "Single Flag," highlighting and entering the list, going to the flag we renamed (989) and choosing it. Then go to the bottom of the window and choose "On" from the Change options.
Now go to Scripts > Events and choose Create New Data.
Give the new event a name if you like (Door 1 is a good idea... it matches the flag).
Events default to page zero. On this page scroll down to the "Display Type" option. Select object from the drop down menu.
Right below that is the "Model" thingy. Select object 152 (Door Single B) (unless your taste preferred another door).
Below that is the Motion slot. Highlight that and choose our "Door : Closed" script.
Below that is the "Start" option. It defaults to Touch. Leave it alone unless you want to get fancy (more on that later... just get the basic version working first).
And the last bit is the Apply slot. For that select the Content script we created and then modified by adding the flag command (remember "MOO!"?).
Next we need a second page for this event. Up top, where the Page 0/0 data appears is an option labeled "New." Highlight that and press X. Select the same model (Display Type = Object / Model = Object 152 {Door Single B}). Now go to the Motion slot and choose our "Door : Open" script.
In the middle of the page is a big list for "Conditions." Pick the first one and make as a condition "Flag: Door 1: On" (if you can't figure this one out after all this, go take some Logic courses (I tutor Logic as well as Chemistry, Physics, Math and just about anything else I can get somebody to pay me for... you're not paying, so do this one on your own)).
Now we get to place it. Go to Event Placement and put it somewhere logical (or not if you think that way). Go into Test Play and walk up to it, bump into it, watch in awe as it opens all by itself, rejoice with great gladness and walk through the door.
To get fancy you could add a wait command to the content script (right after the Single Action command) so the player can't walk through it as it is opening. That is also the script where you would put your password requests, messages, traps, or whatever else your devious mind decides. Although most of those would go before the door opens in the script.
Change the model to a chest and you have the working scripts for a chest! Just add the rewards and messages as above. You could even create a second content script for page 2 of the event (shows up as page 1/1 because they start at 0) which states that the chest has been emptied already.
That's all there is to it.
Wasn't that simple?
Peace.
Well, for (part of) my bit in the Reconstruction Effort, here is that silly tutorial I posted for simple Doors and Chests (I just cut and pasted the final draft, so some quotes may not exist anymore... but they were real, I swear! I'll search my text files for other data that may have been lost (if you are reading this much after August, 2005, there was a problem with the server and much data was lost)..
Originally posted by RPGProgrammer
Originally posted by RPGProgrammer
Here is how to make a fully functioning door (remember, this takes less then 5 minutes to do, but may take markedly longer to explain):
To do this you will need to make 3 scripts and a two page event (don't you dare complain about it being complex... that's why nobody posted it before... and if you think about the number of purely mechanical steps involved in walking through an actual door in the real world, it is truly much simpler).
This door will open and let you pass when you touch it. It will then stay open forever. It is the simplest example. There are many ways to make doors work in a game. You can have them close behind you. You can have them stay open and then be closed when you reenter the map. You can ring doorbells, or require passwords, or even make the player stand on his head in a bucket of treacle going "Squawk! Squawk! Squawk!" before they can use the door. This open-endedness may be why people never posted anything when Our PG Programmer asked before (I just ignored him) (and to those of us who've been doing this for years... what's your excuse?).
Anyway, first make 2 "Action" scripts. I shall assume you are brand new to RPGM2 and do not know what that means (just to keep RPGProgrammer happy). When creating a new script there is a "box" that defaults to the word "Content" (actually there are two, but you want the one that is labeled "Type" not the one labeled "Note"). Highlight that, press X, and then select "Action" from the drop down menu.
Then make a one line script consisting of the command:
Event: Motion Change=Action A Speed=0
This is created with the following sequence:
Events > Effects > Motion Change
This opens a window with several options. Stare at it in disbelief and confusion, then change the Model from Character to Object. Then change the speed from 100 to 0. Select object 152 (Door Single B) for your model (unless your taste prefers another door).
Name this Script "Door: Closed."
That's one.
Now make a two line action script that reads:
Event: Single Action=Action A Speed=100
Event Move: Bypass Members=Yes
This is created with the following sequences:
First
Events > Effects > Single Action
That opens a similar window to the last one. Once again change the Model from Character to Object, only this time leave the speed at 100. Then find and "Check" the Disable Motion After Action box. And select object 152 (Door Single B) for your model (unless your taste prefers another door) again.
Then:
Events > Movement > Bypass Members
When the window for this command opens, "Just Say 'Yes'" (with apologies to Nancy Reagan).
Now, name this script "Door : Open" and that's Two!
Almost done scripting. Now make a normal "Content" script. It, too, is only one line and should read:
Sound : SFX [Creak] Volume=100 Pitch=0 tempo=100
This is done vis the commands:
Sound > SFX and selecting Sound 035 [Creak]. This is just for effect and so you know where the content script goes for if you want to get fancy later.
Name this script "MOO!" for no good reason.
Now we need an event for these scripts, but first a detour over to :
Game > Game Settings > Custom Tab > Flag
Then select an unused one. I usually start at 989 and work back (the system sometimes uses the "Temporary" flags and variables). So, for those who can't decide, I'll just order you to use flag 989 unless you feel confident selecting your own. Highlight it and press X.
Now rename it to Door 1. This not only makes life easier when you need another flag (you can tell at a glance that you already used this one) but makes it easier to read in the event page conditions... which, conveniently, is our next destination (after another detour).
Exit Game Settings and save your changes (Update and Exit).
I do everything in crazy sequences (I am not at all a well cat) and now have to go back to the content script we created and add a second line which will read:
Data:Flag: [Door 1] On
This is created with the following sequence:
Data > Flags
and selecting "Single Flag," highlighting and entering the list, going to the flag we renamed (989) and choosing it. Then go to the bottom of the window and choose "On" from the Change options.
Now go to Scripts > Events and choose Create New Data.
Give the new event a name if you like (Door 1 is a good idea... it matches the flag).
Events default to page zero. On this page scroll down to the "Display Type" option. Select object from the drop down menu.
Right below that is the "Model" thingy. Select object 152 (Door Single B) (unless your taste preferred another door).
Below that is the Motion slot. Highlight that and choose our "Door : Closed" script.
Below that is the "Start" option. It defaults to Touch. Leave it alone unless you want to get fancy (more on that later... just get the basic version working first).
And the last bit is the Apply slot. For that select the Content script we created and then modified by adding the flag command (remember "MOO!"?).
Next we need a second page for this event. Up top, where the Page 0/0 data appears is an option labeled "New." Highlight that and press X. Select the same model (Display Type = Object / Model = Object 152 {Door Single B}). Now go to the Motion slot and choose our "Door : Open" script.
In the middle of the page is a big list for "Conditions." Pick the first one and make as a condition "Flag: Door 1: On" (if you can't figure this one out after all this, go take some Logic courses (I tutor Logic as well as Chemistry, Physics, Math and just about anything else I can get somebody to pay me for... you're not paying, so do this one on your own)).
Now we get to place it. Go to Event Placement and put it somewhere logical (or not if you think that way). Go into Test Play and walk up to it, bump into it, watch in awe as it opens all by itself, rejoice with great gladness and walk through the door.
To get fancy you could add a wait command to the content script (right after the Single Action command) so the player can't walk through it as it is opening. That is also the script where you would put your password requests, messages, traps, or whatever else your devious mind decides. Although most of those would go before the door opens in the script.
Change the model to a chest and you have the working scripts for a chest! Just add the rewards and messages as above. You could even create a second content script for page 2 of the event (shows up as page 1/1 because they start at 0) which states that the chest has been emptied already.
That's all there is to it.
Wasn't that simple?
Peace.







5198-2124-7210 Smash
Comment