For convenience, the demo can be downloaded for quicker installation and study. This is a complete project, including the RTP, so you can extract it directly into your RM2K3 Projects folder.
- Common Events
Set up 3 Variables: Randomize, Num Battles and Battles Left. In this example, the variables are assigned to 1, 2 and 3 respectively.
We will only need one Common Event for this (set up in the Database). Let’s call it "Battle Check" and set its "Trigger" to "None" so we can call it when we need it.
In the "Events Conditions":
- Create a Conditional Branch (with an Else Handler) to check if the variable "Battles Left" is set to zero.
- Under the Conditional Branch, create a message stating that the monsters have been cleared out.
- Change the Switch "Cleared Out 1" to ON.
- Then, under the Else Handler, create another message to display how many battles are remaining. We do this by adding the variable switch, V[x], where x is the number of the "Battles Left" variable (in this case set to 3).
On the map (where you’d like the multi battles) to take place, we’ll need to create several events. For this tutorial we’ll only use one battlefield event, but you can modify it for more than one battlefield event.
The first is called "Inn" for this tutorial. This is so that you can save or restore HP in between battles. Set the "Trigger" to "Player Touch" and the "Priority" to "Below Characters".
- Create a message saying, "What would you like to do?" or something similar.
- Show Choices, with the options set as "Restore", "Save" and "Exit".
- Under the "Restore" handler, set the screen tone to all zeroes with a wait time of 0.3s, fully heal, create a message that all HP and MP have been restored, and set the screen tone back to normal with a wait time of 0.3s.
- Under the "Save Handler", open the Save Menu.
- For the "Exit Handler", just leave blank.
The next event is a two-page event named "Battle 1" (or something else to your liking), which is where the battles will take place until the monsters are cleared out. Set the "Trigger" condition to "Player Touch" and the "Priority" to "Below Characters".
- Set "Graphic" to something appropriate to indicate the battle location. For this example, I used the skull graphic from "Tileset2".
- Change the variable "Randomize" to a random number between 1 and 3.
- Next we will create 3 conditional branches, each with a different number from 1 through 3. This is to make random monster parties. For this tutorial, we’ll use the default Monster Groups: Grassland 1, Forest 1 and Desert 1.
- In the first Conditional Branch (based on the variable "Randomize" being set to the "same" as 1) start a combat with Grassland 1 being set, with the "If Defeated" handler set to "Conditional Branch".
- Under the "If Won" condition, set the variable "Battles Left" to subtract 1, then call "Battle Check".
- Under the "If Defeated" condition, set a message to display the final score, using the V commands for the values stored in the "Battles Fought" and "Battles Left" variables. Also create a "Game Over" command here.
- Finally, create a new page and make the "Event Conditions" so that the Switch "Cleared Out 1" is ON. This way, once all the monsters have been defeated there won’t be any more.
- You might also want to change "Graphic" as well to reflect this. I used the rubble one right next to the skull from "Tileset2".
Do the same thing with the other two Conditional Branches, changing the monster party and increasing the value of Randomize each time. The full code should look something like this:
The final event is to pre-define the starting variables.
Make a blank event in one corner with 2 pages.
In the "Event Commands":
- Change the "Num Battles" variable to "Battle Count" (under"Other").
- Change the "Battles Left" variable set to 5 (although you can increase or decrease this amount according to your preference).
- Change the Switch "Battle Setup" to ON.
Since this is only a one multi-battle event, you could easily add more by adding more variables (Battle 2, Battle 3, etc.) and changing the command preferences for each.
Rather than having an autostarting event that predefines the variables, you could make it a "Call Event" intead. That way, you can call it after a victory rather than having to rely on a switch to toggle it on/off. Alternatively, add it to each battle event at the beginning and directly afterwards turn the Battle Setup switch on accordingly.
You could also add a reward after all the monsters have been defeated, such as gold or a "special" item.