Help with characters faces.

Status
Not open for further replies.

Fazztastic

Warper
Member
Joined
Aug 9, 2013
Messages
2
Reaction score
0
First Language
English
Primarily Uses
Hey guys,
 
Let me explain my situation. I have so far made my game so the player can choose their name, gender and class but...

Untitled-2.jpg
As you can see from this picture, the players sprite is female where as the face graphic is a guy. The sprite change is automatic depending on the players chosen gender. Is there anyway I can change it so the face graphic changes automatically in the dialogue box depending on the players gender. I know I how to change the actors face graphic in the databass just not so i changes automatically in the text box...
 
If you dont understand it let me know, Im not sure if I explained it well.
 

joeyhugg

Ace Attorney
Member
Joined
Jan 28, 2013
Messages
47
Reaction score
2
First Language
Snarf
Primarily Uses
Yeah, that's the problem with character customization. I once had a gender option in my game, and i made two event pages, one with a male face and one with a female face. oOn the left, I had the specifications with whether it was a male or female character picked. If you don't undrstand, you can PM me and I can send you a copy of my game to show how it worked.
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
How are you doing the character selection? Are you using just a single actor, or do you have several (or many)?


I would have ONE actor, use a series of Show Choices to determine gender, class, etc and a Name Input to get their name (into a dummy name field), and then use Change Actor Graphic, Change Actor Class and Change Actor Name to set all of those details on the single actor that's already in the party. Change Actor Graphic lets you change the sprite AND face graphic. And whatever you change the face graphic to is what will appear in the text box.


You tend to get unstuck when you try to set up multiple actors and add/remove them based on the player's choices (and it also makes showing text harder because there's no "use the graphic of the first player in the party" option) - easier to have just one actor and customize it.
 
Last edited by a moderator:

Espon

Lazy Creator
Veteran
Joined
Mar 20, 2012
Messages
1,810
Reaction score
192
First Language
Gibberish
Primarily Uses
RMMV
Change Actor Graphic lets you change the sprite AND face graphic. And whatever you change the face graphic to is what will appear in the text box.
When you're setting up dialogue, you choose which face to use.  Unless you're using a script, you can't pick a face based on how an actor looks.  You would either have to do what joeyhugg suggested or use a conditional branch every time the main character spoke.
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
oh, darn! You'd think the maker would be a bit more clever about it. An option to choose an actor instead of an actual face would be nice.


I use custom message scripts, so I never have to choose a face for the dialogue. Otherwise I wouldn't have made that mistake.
 

Fazztastic

Warper
Member
Joined
Aug 9, 2013
Messages
2
Reaction score
0
First Language
English
Primarily Uses
That what I'm doing Shaz with the one character and just changing the graphic. I think I know what you mean Joeyhugg is it a condition branch like;

if player = female then show female dialogue

or

if player = female then show male dialogue

I know thats not how it looks Im just saying for an example.

It looks let a lot of unneeded work just for a simple gender choice but if you want a quality game you gotta put the work in ay,

developing aint easy. lol
 

Beniwa

Villager
Member
Joined
Dec 24, 2012
Messages
23
Reaction score
0
First Language
English
Primarily Uses
If you're interested, I actually recently made a youtube tutorial of a character selection screen. http://www.youtube.com/watch?v=UfnUeFQD2Qk&list=PLO_IAr1lo-kvub07Twfl8CJU-equATwmK&index=8
Basically, what I do is make Actor 1 a "CS" (Character Selection) with no graphic and face and then make Actor 2 and 3 Male and Female, respectively, with graphics and face.

Then when they select male or female I add in the respective actor in the party and remove CS from the party. So that the character they selected is what they are using

for the duration of the game, with the correct face and graphic.

Just for kicks, after they select their gender. I make a variable called "gender" and add 1 to it if they chose male and add 2 if they chose female. With this variable

i can tell the game what gender was chosen for things like dialogue and whatnot.
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
That's not the problem though Beniwa - the selection of the actor is working fine. It's the face in the message boxes that's wrong, because it's not reflecting the new graphics on the actor, but the face that was initially selected in the Show Message option.


Fazztastic, the only ways to fix this are: non-scripting - write all your messages twice, once for female, once for male (this obviously becomes more complex if you have more options to let them customize the appearance of their character); scripting - find or write a script that will let you enter a control code at the start of a message, which tells it to use the face of Actor[n] instead of the one that's specified in the message box (I do this, which is why I made the mistake with my original suggestion)
 

Beniwa

Villager
Member
Joined
Dec 24, 2012
Messages
23
Reaction score
0
First Language
English
Primarily Uses
That's not the problem though Beniwa - the selection of the actor is working fine. It's the face in the message boxes that's wrong, because it's not reflecting the new graphics on the actor, but the face that was initially selected in the Show Message option.
Actually I think it's relevant because what I think he's doing is that he's just changing the graphic of actor 1 depending on the gender the player chooses (which of course doesn't change the face in dialogue or menu), rather than switching actor 1 for another which could have its own graphic AND face. 
 
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
Changing the graphic on actor 1 is EXACTLY what he's meant to do. The Change Actor Graphic command lets you assign a new sprite AND face to the actor. Have you SEEN the number of help requests people make when they try to have a separate actor in the database for each combination that can be chosen? In addition to having to remove/add the correct actors, there are a lot of other complications. So, actually, the way you suggest it be done is the way WE try and DISCOURAGE people from doing.


But the Show Text does not let you USE the actor's face - you have to select it manually. So the issue would still occur even if the OP used a dozen different actors (and that's what I said above - the more actor possibilities you have, the more complicated it's going to be, if you're using conditional branches to display the same text with different faces).
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
The question the OP is trying to have answered, is how to make the face in text boxes match the face on the actor, after you've used a Change Actor Graphic command to change the actor's face. The answer is to either have multiple Show Text commands using conditional branches to determine which one to display, or use a script that lets you say "show the face of actor 1".

@Fazztastic, copy the script here and paste it into a new slot below materials (make it the last one).

Code:
class Window_Base < Window  alias shaz_ffa_convert_escape_characters convert_escape_characters  def convert_escape_characters(text)    result = shaz_ffa_convert_escape_characters(text)    result.gsub!(/\eF\[(\d+)\]/i) {      $game_message.face_name = $game_actors[$1.to_i].face_name      $game_message.face_index = $game_actors[$1.to_i].face_index      ''    }    result  endend
Then in your messages, when an actor is speaking, you can leave out the face altogether, and begin the message with \f[n] where n is the actor id whose face you want to display. It will then use the face assigned to that actor, whether that is what's in the Actors tab, or it was altered by a Change Actor Graphic command. Then you don't need to use conditional branches to determine which face to show based on the player's gender choice.
 
Last edited by a moderator:

Beniwa

Villager
Member
Joined
Dec 24, 2012
Messages
23
Reaction score
0
First Language
English
Primarily Uses
The Change Actor Graphic command lets you assign a new sprite AND face to the actor.

So, actually, the way you suggest it be done is the way WE try and DISCOURAGE people from doing.
Wow, I totally missed the fact that 'Change Actor Graphic' existes O____O because it was under system settings and not Actor (which seems kinda ******ed to me, but whatever. 

Gotta thank you for that one, this might help alot...

Wait, you discourage people from switching actors?! Why? I've always found them to be very useful... 
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
We discourage people from setting up a dozen actors in the database when they don't represent a dozen different party members. If you want your player to choose a gender and a class, and have multiple "appearances" based on their choices, it's really best done with just one actor, and the Change Actor Graphic and Change Actor Class commands. Because then anything you want to do with your actor requires ONE command on ONE actor - not heaps of conditional branches to determine which actor they have and then the appropriate command over each actor.
 

madisonx

Villager
Member
Joined
Oct 9, 2013
Messages
5
Reaction score
1
Primarily Uses
Shaz, just wanted to say 'thank you' for this handy little script. HUGE help, since I am trying to allow for a wide range of character customization that will be reflected with different Faces.

Thanks!
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
Glad you found it useful, AND that you actually searched for a solution to your problem instead of just asking for help straight away :)


Since it's been a few months and the OP has never come back and said if it worked or not, I'm going to assume it did, and go ahead and lock this up.
 
Status
Not open for further replies.

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

Latest Threads

Latest Posts

Latest Profile Posts

so hopefully tomorrow i get to go home from the hospital i've been here for 5 days already and it's driving me mad. I miss my family like crazy but at least I get to use my own toiletries and my own clothes. My mom is coming to visit soon i can't wait to see her cause i miss her the most. :kaojoy:
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

Forum statistics

Threads
105,868
Messages
1,017,074
Members
137,578
Latest member
JamesLightning
Top