[RPGM/VXAce] Altering dialogue depending on Active Party members

Radical

Villager
Member
Joined
Mar 7, 2014
Messages
18
Reaction score
0
First Language
English
Primarily Uses
http://forums.rpgmakerweb.com/index.php?/topic/12733-question-about-actor-x-in-the-party-conditions/

I wanted to make a simple dialogue where a girl asks various party members to dance, asking various members of the (active) party (if they are present) and potentially being thwarted by a jealous female party member (if she is present).

Looking at the conditions tab, it seemed simple enough, but it turns out the Actor in Party) section will trigger if the member has been recruited at all, regardless of active party.

When I tried using the fix mentioned here, it creates an error on line 450 of Game_Interpreter.

Is there any way I can make this work?  I really like dialogue that changes based on what party members you have in the active group and planned to use it often, if I could!

https://dl.dropboxusercontent.com/u/52884399/Error/error1.jpg

https://dl.dropboxusercontent.com/u/52884399/Error/error2.jpg

https://dl.dropboxusercontent.com/u/52884399/Error/error3.jpg

https://dl.dropboxusercontent.com/u/52884399/Error/error4.jpg
 

IceSage

Sage of Ice
Member
Joined
Jul 18, 2013
Messages
29
Reaction score
3
First Language
English
Primarily Uses
You're attempting to use a script to check if someone is a battler. I think you misunderstood Shaz's advice. He wasn't advising you to use that script, he was saying if you wanted to check if someone was a Battler (Someone who exists in the database regardless if in your party) then you would use that script call.

Since you want to check people in your active party, all you need to do is use the normal conditional event. No scripting needed!

So basically, replace all those "Script Calls" and replace them with the normal option for party checking, located on Page 2 of the Conditional Branch. :D

Here's essentially the same thing from your 1st image only with RPG Maker's built in "Check if in party" conditional

Essentially, if my Actor "Eric" is in the party, he'll have the option to agree to a dance. If "Terrance" is in the party, and he accepts the dance, "Terrance" will interrupt and tell him they "Don't have time to dance."

So, based on the above, If "Eric" isn't in the party, she'll simply say, "I love to dance!" (I only gave an example of the first image.)
 
Last edited by a moderator:

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
hmmm ... that is not correct, and is not what I said at all (and I'm a girl ;) )


That explanation I gave in the other thread has nothing to do with people who are set up in the database but are not in your party. It ONLY lists actors who are IN your party. What I said was that the list of actors it gives you may be different, depending on whether you are in battle or not. When you're NOT in battle, it will give you a list of ALL your active party members (those you have recruited and not removed since). When you ARE in battle, it will only give you a list of your active battlers (the first 4 party members, by default). Those who are in the database but NOT in your party will NEVER be reported by this.


You MAY misunderstand what "in your party" means. If you recruit someone, they are in your party. If you recruit 10 people, 10 people are in your party, even though you only see 4 of them in battle. The other 6 are STILL "in your party". In battle, $game_party.members will only give you the first 4. Outside of battle, $game_party.members will give you all 10. And that is what the event command does. If they are in your party, regardless of their position (so even if they are not one of your 4 battlers), that condition will be met.


If you do not WANT them to be in your party at all - you don't want them to show up in the menu - then there must have been a point in your game where they "left" your party. You should do a Change Party Members and Remove them.


If you want to check if the actor is an actual BATTLER (one of the first 4 in your party, who will be present in battles), you are on the right track. But you MUST remember this rule:


When doing scripts, do NOT include leading zeros!


So change your $game_actors[005] to $game_actors[5] - do this all the way through - get rid of any 00 at the start of those numbers.


Then if you still have errors, post back with a new screenshot and the error text.


Also, you can wrap the URL in an image tag (and spoiler tags):

Code:
[spoiler][img=URL][/spoiler]
to include it in your post, so people don't have to click on external links and open new pages to see your screenshots :)
 

IceSage

Sage of Ice
Member
Joined
Jul 18, 2013
Messages
29
Reaction score
3
First Language
English
Primarily Uses
My apologies for not reading your profile, Shaz. :p

Regardless, I think the user simply wanted to make a scene if someone was "in the party" (added to the troop) not check if they were one of the top 4 battlers who could participate in battle. I could be wrong, though. I just imagine people who add people to their "party" expect that these people are traveling companions and are always with them. I guess there are some people who just add every single person in the database to their party, never remove them, and assume the first 4 people are the only 4 people walking around and traveling.

So, if the OP NEVER boots a party member, and decides who is "traveling" with them determined by the first 4 people in the group... Your way of doing it makes more sense. 

Though, I rarely over-complicate things like that and usually just have the 4 people who can do things at the time in my "party" at the time, which is why I assumed using the built in check to the party would be easier for the OP.

I didn't even notice the leading 0's he put. Derp.
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
Looking at the conditions tab, it seemed simple enough, but it turns out the Actor in Party) section will trigger if the member has been recruited at all, regardless of active party.
No, the Actor [x] In Party already tells you if someone is in the party. The OP said they tried that and it wasn't what they wanted. "Recruited at all" and "active party" mean the same thing. That's why I said I believe the OP misunderstands what it means to be "in the party", and in fact is only interested in battle members.


The leading zeros is a common mistake, and people usually don't realize it's a mistake (nor is there any reason why they should) unless someone points it out :)
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,365
Reaction score
7,674
First Language
German
Primarily Uses
RMMV
Have you tried to do a different approach for those conversations?


No matter how you structure it, if you want to make individual conversations based on who is in your party, and then allow for a large number of possible actors, the neccessary logic to place everything into a single event would get rather convoluted. As you have seen in your example in the first post.


I would suggest making each possible conversation a single event, and then place the conditions for that event in front and select that event before the sequence.


That will result in partially double text codes, but that's what copy&paste is for, and it should simplify the coding a lot.


Or you might try this for your conversations:


http://diamondandplatinum3.wordpress.com/rpg-maker-scripts/rgss3-vxa/system-utilities/skit-system/
 

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,299
Reaction score
11,712
First Language
English
Primarily Uses
RMVXA
If you want this to be specific to who is in the active party, then your event first needs to determine who they are.  To do that, you need a variable switch

1) Create a variable and NAME it e.g. Active Member #1

2) Select 'Game Data' as your operand (towards the bottom of the box)

3) Click on the ...  on the right

4) this takes you to a 'Game Data' choice box.  Select 'Party'

5) This brings up Member #1's Actor ID

6) Click OK twice.

7) Repeat with new switch for Actor #2 and so on until you have all 4 actors identified.

Use that for your conditional branches
 

Radical

Villager
Member
Joined
Mar 7, 2014
Messages
18
Reaction score
0
First Language
English
Primarily Uses
For the sake of others with the same issue, Shaz was right.

$game_actors[x].battle_member? does exactly what I want, and the leading zeros were what was causing the crashes.

IceSage: I apologise for not being more clear.  I did in fact want the dialogue to progress based on who was in the active party (though for main plot related dialogue, I usually just use the method you use which checks if the actor has been recruited.  Essentially the former are kind of Easter Eggs incentivising people to try conversations with different party members, as this is a game I'm primarily making for friends.

Andar: I was using this function as a test case, but generally the idea is as you go through the adventure certain party members might chime in with a comment if they're in the active party, and sometimes entire conversations might go differently (if one of the sidequest bosses is the Thief's dad, you might have a brief conversation with him before and after the battle discussing his motivations, but Kindly Priestess would definitely go out of her way to try to talk him out of his life of banditry, and the Thief himself might open up a whole different conversation path

At any rate, thanks for all the help, and I think this is solved now!  =D
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,862
Messages
1,017,049
Members
137,570
Latest member
fgfhdfg
Top