Swapping Party Formation using Events

Suppose your story is at a point where a particular actor must be the leader. There could be any number of reasons why you’re forcing the leader to be that actor: maybe your game has a mechanic where the leader can use a specific skill on the map, and different actors have different skills available. Maybe you just want that actor to be a leader.

In any case, you want the leader to be a specific actor in the party, so you may need to perform a party formation swap. But how do you do this?

There are several ways to accomplish this.

First, you could prevent the player from moving forward until they change the party formation, as I show in this video

But that might be annoying. Alternatively, you can use script calls.

Game_Party has a method called swap_order which takes two indices. When you call this method, the actors at the specified indices will be swapped.

Let’s say our party formation looks like this:

But because we are currently hunting slime, we would like Yuki the Slime Hunter Samurai to take the lead. We will need to know a few pieces of information

What index if Yuki currently at? Basically, we want to know her position in the party

Which index will we change it with? The leader.

The leader is easy: it’s index 0.

The less trivial part is to figure out the correct index we want to swap it with. To do this, we will use a method from Game_Actor called index, which returns the index of that actor in the party.

Once you make that script call, the party formation will change as you need.

What can you do with the swap_order script?

Spread the Word

If you liked the post and feel that others could benefit from it, consider tweeting it or sharing it on whichever social media channels that you use. You can also follow @HimeWorks on Twitter or like my Facebook page to get the latest updates or suggest topics that you would like to read about. I also create videos showcasing various RPG Maker techniques on my Youtube channel.

5 Responses

hello, nice one! what if i want to force the order of the formation with actor 1 being party member 0, actor 2 party member 1, etc?
if use swap i need to know the position of each actor in the formation, i can use $gameParty.leader() === $gameActors.actor(x) to check who is leader, but how to check who is member 1, 2, etc ? thank you

To create code blocks or other preformatted text, indent by four spaces:

This will be displayed in a monospaced font. The first four
spaces will be stripped off, but all other whitespace
will be preserved.
Markdown is turned off in code blocks:
[This is not a link](http://example.com)