Party Switching Scene

In RPG Maker, you have a party of actors. This is the party that you control normally when you explore the world, participate in battle, and so on.

However, what happens if there are more actors available in the game than you can recruit? We need to put those actors somewhere.

This is where a party switching scene comes in: it provides a simple solution for you to allow players to manage their parties.

This plugin provides a scene where you can trade actors between two parties. I provide a “reserve” party which is just another party which holds all of the actors that aren’t in the current party.

So for example, let’s say you completed a quest for someone and he was really moved by your cause and decides to join your adventure, and tells you that he will be available in the “guild hall”.

When you go to the guild hall, you can speak to an NPC to check your party status, and you will find the new actor ready to add to your party. If you already have too many actors in your party, then you will either have to swap someone out, or choose to leave him in the guild hall.

If you are using the Party Manager plugin, you can use this party switching scene to trade actors between different parties of your choice.

You can also lock actors to their party so that specific parties must have specific members.

Download

Plugin: download here (right-click, save-as)

Required: Party Manager

Installation

Download the plugin and place it in the “plugins” folder in your project’s “js” folder. Then open your Plugin Manager (F10), double-click an empty row, and select the HIME_PartySwitchingScene plugin.

Once it is in your list of plugins, turn the plugin on.

Usage

Calling the Scene

To go to the party switching scene, use the script call

SceneManager.push(Scene_PartySwitch)

If successful, you will see something like this:

partySwitchingScene2

Notice the help text at the top of the window. In the plugin parameters, you can set up what text will be shown during the scene.

Switching Party Members

Once you’re in the scene, you should see two windows by default. The window on the left holds the current party, and the window on the right holds the other party.

Adding actors

To add an actor to your party, if you have enough room, select an empty space in the list. You will then be prompted to select an actor from the other party to add to your current party.

partySwitchingScene3

Removing actors

To remove an actor from your party, select one of your actors, and then select an empty space in the other window.

partySwitchingScene4

Swapping actors

To swap actors between parties, select one of your actors, and then select another actor from the other window.

Leaving the Scene

To leave the scene, press the cancel button. However, if you have no party members in the current scene, it will play a buzzer sound and you cannot leave.

Maximum Party Members

This plugin assumes that you have a limit on how many actors will be in the party. It is determined by the max number of battle members.

Working with Reserve Party

This plugin provides a default “reserve” party for you. The purpose of this reserve party is to hold all of the actors that are currently not in your party, but can be recruited into the party through the scene.

The reserve party can be accessed using a script call

var party = $gameSystem.reserveParty()

Which will return a Game_Party object. You can then interact with this party like any other party:

var party = $gameSystem.reserveParty()
party.addActor(2)    // add actor 2 to reserve party
party.removeActor(3) // remove actor 3 from reserve party

Initially, the reserve party has no actors.

Specifying a different party to trade

Perhaps you would like to have multiple reserve parties, or just have other parties that you would like to trade with.

The scene assumes the default party that you will trade with is the reserve party provided by this plugin, but if you are using a plugin such as the Party Manager, you may have other parties that you would like to use.

To have the scene use a different party, you can say

SceneManager.push(Scene_PartySwitch)
SceneManager.prepareNextScene(OTHER_PARTY)

Where the OTHER_PARTY is a reference to another Game_Party object.
The OTHER_PARTY will be shown on the right side.

So for example, using the Party Manager, you would write

SceneManager.prepareNextScene(Party.get(3))

To trade with party 3.

Refer to the other plugins for instructions on how to retrieve a reference to a party.

Working with Locked Actors

If certain actors should be locked to certain parties, you will need locking functionality. To use this functionality, you will need to use the Party Manager to lock actors.

The party manager allows you to lock actors to the party using the following script call:

   $gameActors.actor( ACTOR_ID ).lockToParty(true)

When an actor is locked, the scene will gray out the character, as well as play an error sound when the player attempts to select that actor.

partySwitchingScene5

Custom Scene Design

Want something different? You can send a request with a design that you’re looking for and we can see how it might be implemented.

You may also like...

64 Responses

  1. Extraproxies says:

    The very next time I read a blog, Hopefully it does not disappoint me just as much as this one. I mean, I know it was my choice to read through, however I really thought you’d have something interesting to say. All I hear is a bunch of crying about something that you could possibly fix if you weren’t too busy searching for attention.

  2. Thanks for every other fantastic post. The place else may anyone
    get that kind of info in such an ideal means of writing?
    I have a presentation next week, and I am at the search for such information.

    Stop by my web site; vpn special coupon code 2024

  3. coupon says:

    This is very interesting, You’re a very skilled blogger.
    I’ve joined your feed and look forward to seeking more of your great post.
    Also, I have shared your site in my social networks!

    Check out my webpage coupon

  4. Orry says:

    After exploring a number of the articles on your web site,
    I truly appreciate your way of blogging. I bookmarked it to my
    bookmark webpage list and will be checking back soon. Take a look at my web site too and tell me your opinion.

  5. Milagro says:

    I have been browsing online greater than 3 hours nowadays, but I by no means discovered any attention-grabbing article like yours.
    It is lovely worth sufficient for me. Personally, if all
    webmasters and bloggers made excellent content material as you probably did, the internet will probably be much more useful than ever before.

  6. Marquite says:

    Now I am going away to do my breakfast, afterward having my
    breakfast coming again to read other news.

  7. Maretta says:

    Excellent blog you’ve got here.. It’s hard to find quality writing like yours these days.
    I honestly appreciate people like you! Take care!!

  8. Karie says:

    If you want to improve your experience just keep visiting this website and be updated with the
    hottest news update posted here.

  9. Abby says:

    Hello, after reading this awesome piece of writing i am too cheerful to share my familiarity here with colleagues.

  10. Shaneaka says:

    Hello to all, the contents existing at this website are truly amazing for people experience, well, keep up the nice work fellows.

  11. Akila says:

    You really make it seem so easy with your presentation but I find this topic to be actually something which I think I would never understand.
    It seems too complicated and extremely broad for me.
    I’m looking forward for your next post, I’ll try to get the hang of it!

  12. Lor says:

    I do not even know how I ended up here, but I thought this post was good.
    I do not know who you are but definitely you are going
    to a famous blogger if you aren’t already 😉 Cheers!

  13. Adekunle says:

    Hello would you mind letting me know which web host you’re using?
    I’ve loaded your blog in 3 different internet browsers and I must say this blog loads a lot faster then most.
    Can you suggest a good web hosting provider at a
    fair price? Thank you, I appreciate it!

  14. Andee says:

    Can I simply just say what a relief to find an individual who really understands
    what they are discussing over the internet. You certainly
    understand how to bring an issue to light and make
    it important. More and more people need to read this and understand this
    side of your story. I was surprised you are not
    more popular because you certainly have the gift.

  15. Marcella says:

    I’ll immediately take hold of your rss feed
    as I can’t to find your e-mail subscription link
    or newsletter service. Do you have any? Kindly let
    me know so that I may subscribe. Thanks.

  16. It’s a shame you don’t have a donate button! I’d most certainly donate to this fantastic blog! I guess for now i’ll settle for bookmarking and adding your RSS feed to my Google account. I look forward to fresh updates and will share this website with my Facebook group. Chat soon!

  17. Dhyana says:

    Thanks a bunch for sharing this with all people you
    actually realize what you’re talking about! Bookmarked.

    Kindly also talk over with my website =). We could have a hyperlink alternate contract
    among us

  18. Krieg says:

    Hi are using WordPress for your site platform? I’m new to the blog world but I’m trying to get started and set up my own. Do you need any html coding knowledge
    to make your own blog? Any help would be greatly appreciated!

  19. Sequia says:

    I think this is among the most important information for me.
    And i’m glad reading your article. But want to remark on few
    general things, The web site style is ideal, the articles is really great :
    D. Good job, cheers

  20. Marven says:

    Thanks for your personal marvelous posting!
    I certainly enjoyed reading it, you’re a great
    author. I will ensure that I bookmark your blog
    and will eventually come back in the foreseeable future.
    I want to encourage one to continue your great posts, have
    a nice day!

  21. Marino says:

    This is a topic which is close to my heart…
    Many thanks! Exactly where are your contact details though?

  22. Shauntee says:

    Good article. I definitely appreciate this site.
    Keep writing!

  23. Kolleen says:

    I visit each day a few websites and blogs to read
    articles or reviews, but this website presents quality based posts.

  24. Demecia says:

    Everything is very open with a really clear explanation of the
    issues. It was truly informative. Your site is extremely helpful.

    Many thanks for sharing!

  25. Raeanne says:

    Amazing! Its genuinely awesome piece of writing, I
    have got much clear idea regarding from this article.

  26. Yashira says:

    I was wondering if you ever thought of changing the layout of your blog?
    Its very well written; I love what youve got to
    say. But maybe you could a little more in the way of
    content so people could connect with it better. Youve got an awful lot of text for only
    having one or 2 images. Maybe you could space it out
    better?

  27. Baudelio says:

    Hi, I wish for to subscribe for this web site to get most up-to-date updates, so where can i do it please help.

  28. Sharief says:

    Good information. Lucky me I discovered your website by accident (stumbleupon).

    I’ve saved as a favorite for later!

  29. Santia says:

    hello!,I really like your writing very so much! proportion we be in contact more
    about your article on AOL? I require an expert in this space to resolve my problem.
    Maybe that is you! Looking forward to see you.

  30. Chrysta says:

    Oh my goodness! Awesome article dude! Many thanks, However I am going through difficulties with your RSS.
    I don’t know why I cannot subscribe to it. Is there
    anybody having identical RSS problems? Anyone that knows the solution will you kindly respond?
    Thanks!!

  31. Brandice says:

    Hi there! I’m at work surfing around your blog from my new iphone 4!
    Just wanted to say I love reading through your blog and look forward to all your
    posts! Carry on the great work!

  32. You ought to be a part of a contest for one of the highest quality blogs on the net. I am going to highly recommend this web site!

  33. Saved as a favorite, I love your web site!

  34. Gala says:

    Hey there this is kind of of off topic but I was wanting to
    know if blogs use WYSIWYG editors or if you have to manually code with HTML.
    I’m starting a blog soon but have no coding expertise so I wanted to get advice from someone with experience.

    Any help would be greatly appreciated!

  35. Ludivina says:

    Hey there I am so happy I found your blog page, I really found
    you by accident, while I was browsing on Bing for something else,
    Anyways I am here now and would just like to say kudos for a incredible
    post and a all round thrilling blog (I also love the theme/design), I don’t have time to
    read through it all at the minute but I have saved it and also added your RSS
    feeds, so when I have time I will be back to read a great deal more, Please do keep
    up the fantastic work.

  36. Jonas says:

    Greetings from California! I’m bored to tears at work so
    I decided to check out your blog on my iphone during lunch break.

    I really like the knowledge you provide here and can’t wait
    to take a look when I get home. I’m surprised at how fast your blog loaded on my phone ..
    I’m not even using WIFI, just 3G .. Anyhow, wonderful blog!

  37. Ransen says:

    Can I simply say what a relief to find a person that really understands what
    they’re discussing over the internet. You definitely
    realize how to bring a problem to light and make it important.
    A lot more people must look at this and understand
    this side of the story. I was surprised that you’re not more
    popular given that you most certainly possess the gift.

  38. Linette says:

    Hello there! I simply wish to give you a huge
    thumbs up for the great information you have right here on this post.
    I will be returning to your website for more soon.

  39. This entry could include so much more 🙁 You should write more about it when you get the chance?

  40. Kurot says:

    There is a way to swap only with other members insted of blank spaces? That way we can overcome the problem of limit characters and add through events just the numbers of members we want.

  41. Anonymous says:

    I received an bug error of “Cannot read property ‘facename’ null. Even I turn off the every other plug-ins, the problem still persists.
    When I set the Second Party’s maximum party member hold to “4”, but in-game, I get to add another remaining actor in second party.
    However, once I add another party member, the game crashes because it overrides the limit party member max.

    This is what the script that I tried to reposition:
    Party.create(2);
    Party.setMaxPartyMembers( 2, 4 )
    $gameParty.isPartyFull()
    Party.isPartyFull( 2 )
    SceneManager.push(Scene_PartySwitch)
    SceneManager.prepareNextScene(Party.get(2))

    When removing the max limit, everything else went okay.

  42. Richilye says:

    Shame that it never got an update, such a cool plugin, yet the bug would kill the game as players wouldn’t be able to know the limit apart from being told on the top of the screen.

  43. Anonymous says:

    An issue I’ve come across is that the plugin allows you to add members to your party beyond the limit you specify in the plugin parameters. If you do this, the game crashes. The same thing happens if your current party is at its limit and you want to swap a party member for a different one from the reserve party; you didn’t actually go over the limit, but the game crashes anyway.

  44. Wicksta says:

    I get a type error cannot read property “facename” of null whenever the reserve party contains more than 4 actors

  45. Anonymous says:

    Hi, for some reason if I am at my main party’s actor limit, it will let me try to add another then I get “Cannot read property ‘ isAppeared’ of null” any idea whats going on?

    • Anonymous says:

      Getting the same problem as above, for example if party size max is set to 4, in game it allows me to select a 5th member but then crashes? Shame as it seems like a great script!

  46. TheGonzoGamer says:

    Hime great work on this plugin. Truly.

    is it possible to have this plugin work off followers instead of battle members.
    For example: I would like to have one battle member who at the start of the battle can switch out for a different member but only ever 1 battle member fighting at a time. If I have 4 followers with me in the current party I can swap myself out for one of them.

    Currently, If I set my battle member size to 1 then upon using these (Amazing) plugins I can only have myself in the current party when I go to switch out members. I have tested by starting a game with 4 members.

    I hope my request is clear.

    • TheGonzoGamer says:

      I went into the code and figured out a work around
      the line

      return this._data ? Math.min(this._data.size() + 1, this._data.maxBattleMembers()) : 1;

      is what determines how many character the plugin allows to swap in. I still have my game set to 1 Battle Member so I changed the line to

      return this._data ? Math.min(this._data.size() + 1, this._data.maxBattleMembers() + 4) : 1;

      It’s a workaround that allows me to still have one Battle Member but the party switching to let me swap out 5 total members.

  47. Alby says:

    Is it possible to get this to be accessed in the main menu? In my project, the game revolves around having three members active and three in reserve, but they still mainly travel together. It would be quite nice if I could access this from the main menu instead of having to call up a script by talking to an NPC or something of the sort.

  48. Ztzhaiyang says:

    Bug report: when your team is full and you wants to swap your character from reserve team to replace one of team member, it will be error: cannot read “IsAppeared” of null.

  49. eaed says:

    I am using this script and I am attempting to use multiple parties with this system. However, when I am making party two and three I have to put multiple people in before the first one shows up in the party on the left. If I am not explaining this correctly I can send you a demo. Let me know, thanks.

  50. victor says:

    All I get from the script call is: “undefined is not a function”

  51. Corbas says:

    I’m having a issue right when I call SceneManager.push(Scene_PartySwitch) from the Event Editor.

    TypeError: undefined is not a function rpg_managers.js:1618
    at Window_PartySwitchList.isEnabled (/G:/Jogos/KADOKAWA/GAMES/TESTES/js/plugins/HIME_PartySwitchingScene.js:381)
    at Window_PartySwitchList.drawItem (/G:/Jogos/KADOKAWA/GAMES/TESTES/js/plugins/HIME_PartySwitchingScene.js:390)
    at Window_PartySwitchList.Window_Selectable.drawAllItems (rpg_windows.js:1250)
    at Window_PartySwitchList.refresh (/G:/Jogos/KADOKAWA/GAMES/TESTES/js/plugins/HIME_PartySwitchingScene.js:405)
    at Window_PartySwitchList.initialize (/G:/Jogos/KADOKAWA/GAMES/TESTES/js/plugins/HIME_PartySwitchingScene.js:348)
    at new Window_PartySwitchList (/G:/Jogos/KADOKAWA/GAMES/TESTES/js/plugins/HIME_PartySwitchingScene.js:181)
    at Scene_PartySwitch.createListWindow (/G:/Jogos/KADOKAWA/GAMES/TESTES/js/plugins/HIME_PartySwitchingScene.js:259)
    at Scene_PartySwitch.createAllWindows (/G:/Jogos/KADOKAWA/GAMES/TESTES/js/plugins/HIME_PartySwitchingScene.js:248)
    at Scene_PartySwitch.create (/G:/Jogos/KADOKAWA/GAMES/TESTES/js/plugins/HIME_PartySwitchingScene.js:230)
    at Function.SceneManager.changeScene (rpg_managers.js:1654)
    SceneManager.catchException rpg_managers.js:1618

  52. Merc says:

    Looks like the picture didn’t take in previous post. The script calls are:

    SceneManager.push(Scene_PartySwitch)
    SceneManager.prepareNextScene(2)

    Where party 2 is created beforehand.

  53. Merc says:

    This Plugin is great, but I’m having issues with specifying a different party. I’m using the script calls below:

    and am getting the error message: “Cannot read property ‘prepare’ of null”

    Anything I’m doing wrong?

  54. hanzomon says:

    Hey Hime,

    How do we lock certain party members so they cannot be switched out of the party?

    Thanks!

    • Hime says:

      The plugin has been updated to support actor locking.
      See the updated instructions for details.

      The party manager is required for that functionality.

  55. Todoquisque says:

    Hi Hime! Great work!

    I have a question about it. How could I make a reserve party bigger? I mean, I don’t want to change the maxBattleMembers method in Game_Party because it’s global for all parties. So, how I change it specifically for the reserve party. There’s any way to do it?

    Thanks! 😀

Leave a Reply to TheGonzoGamer Cancel reply

Your email address will not be published. Required fields are marked *