Limiting party formation change access, and letting inactive party members gain EXP.

TakumaGao

Veteran
Veteran
Joined
May 22, 2019
Messages
203
Reaction score
60
First Language
English
Primarily Uses
RMMZ
Sorry for making so many threads in such a short time, I hope it's not a problem!

So here's my next little issue: I want to have a party system where once you recruit a new party member, if your current party is full, the new party member will be sent to the Inn. Once you visit any Inn, there will be an option to change your party. I'd prefer if I could do this just by opening the party formation menu via the innkeeper and letting the player choose their party that way, but I don't want them to be able to put party members into the reserve slots. I want you to only be able to leave the Inn with no more than 4 people in your entire group. That way the player cannot do things like change the equipment of inactive party members.

I could make it where you can physically interact with your party members' sprites within the inn, in order to add/remove them that way, and check whether you have too many party members via event commands, however... due to the sort of minimalist design of my maps and buildings... that would end up making things get pretty crowded. Here's an example:

1656774868543.png

I mean I COULD make the Inn larger, but... I'd prefer to keep things small. Looks pretty cramped that way though, no? That's why I'd rather do it via the Innkeeper event and have it all handled in a menu, if I can. So is there any way to achieve the Innkeeper formation changing event that I want, or do I have no choice but to deal with a cramped Inn full of people?

And now we come to my second question: I want inactive party members to gain EXP. Problem is... if they're not in your reserve slots, and are totally removed from the party via the event command, the "EXP for Reserve Members" checkbox in the System tab doesn't affect them. So how can I make it so that even party members who aren't physically traveling with you can gain the same EXP that everyone else is?
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
36,746
Reaction score
9,887
First Language
German
Primarily Uses
RMMV
1) you can use the control variable command to get the ID of the actor in any party position.
if that returns zero, there is no actor. if party member#5 is zero then your party has four or less members.

just check that way before allowing the player to leave.

2) if the actor is not in the party, then it can't be done automatically.
but you can check the party member #1 EXP with control variable, and then add the difference to the added actor to push them up to the current level on adding
 

TakumaGao

Veteran
Veteran
Joined
May 22, 2019
Messages
203
Reaction score
60
First Language
English
Primarily Uses
RMMZ
1) you can use the control variable command to get the ID of the actor in any party position.
if that returns zero, there is no actor. if party member#5 is zero then your party has four or less members.

just check that way before allowing the player to leave.

2) if the actor is not in the party, then it can't be done automatically.
but you can check the party member #1 EXP with control variable, and then add the difference to the added actor to push them up to the current level on adding

1. Hmm... I don't think that's really what I need though? I feel like it should be something like... if you're in the formation menu via the innkeeper, it would need to remove anyone that you didn't put in your active party from your reserve members, and the game would also need to know who you've recruited already in order to add them to the formation list when you first open it? I don't want the check to be as you leave the inn itself, I want the check to occur before you finish the innkeeper event, before you can access your menu again. Sorry if this is kind of confusing - I'm kind of sick right now so my brain isn't working all that well at the moment.

2. I already thought of that, but mentally I ran into two problems - #1, what happens if let's say the main character has died a lot and is thus a lower level than other party members - would that cause the newly added party member to actually go *down* in a level since it would be basing their EXP on the main character's EXP? #2 Wouldn't it be strange if like... lets say the main character is level 10 and the knight is level 5, and you go to the inn, take the knight out of the party, and then immediately go and put him back into the party... and suddenly he jumps 5 levels in the span of 10 seconds... So would there be any way to prevent that from happening?
 

WilsonE7

Veteran
Veteran
Joined
Oct 12, 2019
Messages
137
Reaction score
66
First Language
English
Primarily Uses
RMMZ
What about removing access to the Party Formation command in the main menu (you can do that in the Database). Then you can leave inactive members in the reserve amd they won't display on the map or in battle. Then you can use an event in the in that uses a script call that pushes the Formation scene. (I don't have the script call list on hand right now, I'll edit when I find the specific code.) That way you can only access it through that event. Then you can check "EXP for reserve Actors" (paraphrasing) in the System tab of the Database. The reserves will get their EXP but you can only swap them out in battle. As for not equipping gear on reverse members, if the player knows they can't swap out their reserves unless they're in the Inn, they should know better than to equip to them as that would be pointless. I see your point of not wanting to be able to take stronger equipment from inactive members when they're supposed to be in a whole different place from the party, but this is the closest I can come to what you described.
 

TakumaGao

Veteran
Veteran
Joined
May 22, 2019
Messages
203
Reaction score
60
First Language
English
Primarily Uses
RMMZ
What about removing access to the Party Formation command in the main menu (you can do that in the Database). Then you can leave inactive members in the reserve amd they won't display on the map or in battle. Then you can use an event in the in that uses a script call that pushes the Formation scene. (I don't have the script call list on hand right now, I'll edit when I find the specific code.) That way you can only access it through that event. Then you can check "EXP for reserve Actors" (paraphrasing) in the System tab of the Database. The reserves will get their EXP but you can only swap them out in battle. As for not equipping gear on reverse members, if the player knows they can't swap out their reserves unless they're in the Inn, they should know better than to equip to them as that would be pointless. I see your point of not wanting to be able to take stronger equipment from inactive members when they're supposed to be in a whole different place from the party, but this is the closest I can come to what you described.

Yeah, that was my first train of thought, but I really want to be able to completely eliminate them from the party when they're not active. Like you said, you'd still be able to swap equipment like this, and that's something I want to avoid. I'm going for a retro feel (and look) for the game and I want players to have to commit to a specific team before they head out of town, y'know?
 

Marrend

Bludgeon of Inspiration
Veteran
Joined
Aug 26, 2014
Messages
73
Reaction score
16
First Language
English
Primarily Uses
RMVXA
I think the cleanest solution for the experience problem is that the surviving members are awarded EXP as normal. However, the party also gains a pool of EXP to distribute at the player's option.

Otherwise, I'm envisioning an array of variables that keeps track of "missed out EXP" for each possible party-member, and therefore, needing a loop to see who wasn't in the party, how much EXP the fight was worth, and adding to the value as necessary. When the actor gets into the party, their "missed out EXP" variable would be awarded, and that variable would be set to 0.

*Edit: The idea is more usable with event-commands in regards to scripted/on-screen encounters. If you're using the encounter table from the map properties, that feels like a plug-in.
 
Last edited:

TakumaGao

Veteran
Veteran
Joined
May 22, 2019
Messages
203
Reaction score
60
First Language
English
Primarily Uses
RMMZ
I think the cleanest solution for the experience problem is that the surviving members are awarded EXP as normal. However, the party also gains a pool of EXP to distribute at the player's option.

Otherwise, I'm envisioning an array of variables that keeps track of "missed out EXP" for each possible party-member, and therefore, needing a loop to see who wasn't in the party, how much EXP the fight was worth, and adding to the value as necessary. When the actor gets into the party, their "missed out EXP" variable would be awarded, and that variable would be set to 0.

*Edit: The idea is more usable with event-commands in regards to scripted/on-screen encounters. If you're using the encounter table from the map properties, that feels like a plug-in.

How would I event that?

Also I thought of another route that I could possibly take - What if the inactive party members are still in your party and you can scroll down to see their portrait and stuff... BUT... the game wouldn't allow you to access them in any way. If you tried to select them, or use an item on them, or interact with them in any other way, it would just play a buzzer noise. Any idea how I could do this?
 

myenemy

Veteran
Veteran
Joined
Jan 17, 2014
Messages
131
Reaction score
63
First Language
Spanish
Primarily Uses
RMMZ
What if the inactive party members are still in your party and you can scroll down to see their portrait and stuff... BUT... the game wouldn't allow you to access them in any way. If you tried to select them, or use an item on them, or interact with them in any other way, it would just play a buzzer noise. Any idea how I could do this?


1. Make a Status that seals all equipment.
2a. Then, once you are outside the inn, check or track what characters are in slots 1 to 4. For the rest of the playable actors (in party or not), add this status.
2b. You can also add to every actor then remove the status from actors in slots 1 to 4 for the same result.
3. When you enter the inn, remove this status.
That said, I never tried to apply status outside party, I also try to keep them smaller... It is still worth a shot

Otherwise, I'm envisioning an array of variables that keeps track of "missed out EXP" for each possible party-member, and therefore, needing a loop to see who wasn't in the party, how much EXP the fight was worth, and adding to the value as necessary. When the actor gets into the party, their "missed out EXP" variable would be awarded, and that variable would be set to 0.
1. Keep a list of switches with every unlocked character.
2. Keep track of what actors are in party, into 4 different variables.
3. Through every single battle troop, track the exp, add it to a variable.
4.1 Wherever party switching is allowed or happen, stop all tracking before doing next step.
4.2 If switch for actor X is on (unlocked character),
4.3 Check if they are in party (if var actor1 = myActorId)[…] (four times)
4.4 if all 4.3 says no (Not in party), add the tracked experience.
4.5 Go to the next playable actor and repeat from 4.2
4.6 Set tracked exp to 0
4.7 Perform party switching at will
4.8 Enable all the disabled tracking.
 
Last edited:

TakumaGao

Veteran
Veteran
Joined
May 22, 2019
Messages
203
Reaction score
60
First Language
English
Primarily Uses
RMMZ
I'll look into that stuff in a bit, but I just had another crazy idea...

What if I requested a plugin that was literally just "Hide inactive party members"?

That way they're just hidden from view, and since they're technically still there, they'll still gain reserve EXP.
 

Latest Threads

Latest Profile Posts

What is a thing you like to see in RPGs?
Well, I hope things go well tomorrow. I think I might be coming down with a cold, so gonna warm up some chicken soup and sleep.
Status too sad. Pls delete, mods. Thanks.
The most important thing to design your game for is fun. If a game isn't fun, why would anyone want to play it? Well, that and "can you play the game?". Anything else is incidental.
I just realized that I have been on this site for nearly 1/3 of my life...

Forum statistics

Threads
124,678
Messages
1,165,188
Members
163,488
Latest member
williswhere
Top