Changing Outfits and Expressions - shawna-p/mysterious-messenger GitHub Wiki

Notice

These pages are out of date! The most recent version of the documentation can be found here: https://mysterious-messenger.readthedocs.io/en/stable/

This page is retained so that it can still be linked to.

Changing Outfits and Expressions

Example files to look at: tutorial_6_meeting.rpy, tutorial_3b_VN.rpy

To show a character, look at character_definitions.rpy and find the character you want to show under the Character VN Expressions Cheat Sheet header.

To show a character, use their name tag (usually their first name) + any additional expression, position, outfit, or accessory tags as applicable. In practice, this means if you want to show jaehee with the expression happy and wearing her glasses, write

show jaehee glasses happy

Since Jaehee does not have any additional positions (such as a "side" or "front" position), you don't need to include that when you show her on-screen. However, a character like V does have multiple positions, and so a similar statement for him would look like

show v side angry glasses

where v is the character, side is the position, angry is his expression, and glasses indicates he should be shown wearing glasses.

To change the character's outfit, when you show them you should include the attribute name of the outfit you'd like them to wear e.g.

show yoosung suit surprised

In this case, yoosung is the character, suit is his outfit, and surprised is his expression.

Note that attributes can be listed in any order after the character, so show yoosung surprised suit is equally correct.

Characters with accessories (glasses, hoods, masks) can include those keywords as well e.g.

show v front mint_eye worried hood_up at vn_right with easeinright

which will show V in his front position wearing his mint_eye cloak with the hood_up at the position vn_right after being "eased in" (easeinright) from the right side of the screen.

Luckily, after you've shown a character on-screen the first time, Ren'Py will remember which attributes you showed them with so that you don't have to write out the whole attribute list every time after that. For example

show v front mint_eye worried hood_up at vn_right with easeinright
v "Some sample dialogue."
show v thinking
v "More dialogue."

The second show statement remembers the attributes v was shown with previously, namely front mint_eye hood_up since the thinking expression replaces the worried expression. So he will still be shown in his front position with the mint_eye cloak and his hood_up, just with the thinking expression.

Attribute Shorthand

There is also another way of simplifying showing characters even further -- since characters are defined with an "image" tag, after showing them on screen the first time you can change tags directly during dialogue like so:

show seven front happy party
s "Some dialogue while happy."
s worried "Some dialogue with the party outfit in the front pose, but worried."
s normal "Now in the normal outfit, and still worried and in the front position."

Note that you can only change expressions this way after the character has already been shown on-screen.

For more on Image Attributes, see the Ren'Py documentation pages on Dialogue and Narration.

Hiding Characters

When you're done showing a character on-screen, you only have to use their name to hide them:

show seven front happy party
s "Some dialogue while happy."
hide seven