Is there a way to stop text covering faces?

TenebrisCrow

Veteran
Veteran
Joined
Oct 19, 2015
Messages
109
Reaction score
12
First Language
English
Primarily Uses
RMMZ
example.png

I have tried everything. Only way I can think to fix this is by inserting a transparent face to push the text or pressing space many times every message. I would rather not have to do that though. Is there a way to push the text over to the right permanently?
 

Ahuramazda

The Last Elementalist
Veteran
Joined
Nov 9, 2012
Messages
337
Reaction score
231
First Language
English
Primarily Uses
RMMZ
You need to actually use the face graphic box so the text will offset, even if its just a blank image since you're using a plugin apparently to draw faces.

Going to take a moment and see how easy it would be to get rid of the offset since you would prefer to not do that....


Save this as a plugin and put it kinda close to the top of your plugin list and it should work. Just be warned, this will cause all messages to offset even if you have no images (using your existing plugin) selected due to the nature of what it changes.

Code:
/////////////////////////////////////////////////////////
///// Simulates message as having an image selected /////
/////////////////////////////////////////////////////////
Window_Message.prototype.newLineX = function(textState) {
    const faceExists = true //$gameMessage.faceName() !== ""; // Edit: set to true forces text shifting
    const faceWidth = ImageManager.faceWidth;
    const spacing = 20;
    const margin = faceExists ? faceWidth + spacing : 4;
    return textState.rtl ? this.innerWidth - margin : margin;
};
 
Last edited:

RushLog

Villager
Member
Joined
Jun 26, 2022
Messages
12
Reaction score
3
First Language
English
Primarily Uses
RMVXA
First off, tell me which RPG maker software you are using.

I use VX Ace, and I have no trouble with your issue.

You need to actually use the face graphic box so the text will offset, even if its just a blank image since you're using a plugin apparently to draw faces.

Going to take a moment and see how easy it would be to get rid of the offset since you would prefer to not do that....
Oh yeah...The face is blank...Just put a face there

Also sorry for my blank profile pic i dont know how to change it
 

KawaiiKid

Local Weeb
Veteran
Joined
Oct 13, 2015
Messages
389
Reaction score
214
First Language
English
Primarily Uses
RMMV
Why aren't you using the regular face box if you're getting the exact results with message core lmao
 

TenebrisCrow

Veteran
Veteran
Joined
Oct 19, 2015
Messages
109
Reaction score
12
First Language
English
Primarily Uses
RMMZ
Why aren't you using the regular face box if you're getting the exact results with message core lmao
I use multiple facial expressions in one message box. lmao

You need to actually use the face graphic box so the text will offset, even if its just a blank image since you're using a plugin apparently to draw faces.

Going to take a moment and see how easy it would be to get rid of the offset since you would prefer to not do that....


Save this as a plugin and put it kinda close to the top of your plugin list and it should work. Just be warned, this will cause all messages to offset even if you have no images (using your existing plugin) selected due to the nature of what it changes.

Code:
/////////////////////////////////////////////////////////
///// Simulates message as having an image selected /////
/////////////////////////////////////////////////////////
Window_Message.prototype.newLineX = function(textState) {
    const faceExists = true //$gameMessage.faceName() !== ""; // Edit: set to true forces text shifting
    const faceWidth = ImageManager.faceWidth;
    const spacing = 20;
    const margin = faceExists ? faceWidth + spacing : 4;
    return textState.rtl ? this.innerWidth - margin : margin;
};

That worked perfectly thank you very much! At the risk of asking too much is there a way to modify it to have a plugin command to turn on/off? There is a possibility I might have something like "A door is locked" for example which could lead to problems in the future?

Forgive me if that is a lot to ask.
 

Ahuramazda

The Last Elementalist
Veteran
Joined
Nov 9, 2012
Messages
337
Reaction score
231
First Language
English
Primarily Uses
RMMZ
I can add a switch to it easy enough if you want? I don't really know how to add/create plugin commands very well myself, plus its been a while since I've actually worked on coding and I'm sloppy again ;(

Change the switch value to whatever one you need to use, in this sample I just picked Switch 100

Code:
/////////////////////////////////////////////////////////
///// Simulates message as having an image selected /////
/////////////////////////////////////////////////////////
Window_Message.prototype.newLineX = function(textState) {
    if ($gameSwitches.value(100) == true) {
        // if switch 100 is true, the offset will happen
        faceExists = true
    }
    else {
        // if switch 100 is false, the offset will not happen
        faceExists = false
    }
    const faceWidth = ImageManager.faceWidth;
    const spacing = 20;
    const margin = faceExists ? faceWidth + spacing : 4;
    return textState.rtl ? this.innerWidth - margin : margin;
};
 

KawaiiKid

Local Weeb
Veteran
Joined
Oct 13, 2015
Messages
389
Reaction score
214
First Language
English
Primarily Uses
RMMV
I use multiple facial expressions in one message box. lmao
So when they change expressions you choose another facial expression? I don't understand the problem here? In the face sheets you just have the expressions for your characters, and when they change expressions you just select the corresponding face, or am I missing something here?

(BTW inside the options for Yanfly message core, the 3rd option is the face indent)
 

Ahuramazda

The Last Elementalist
Veteran
Joined
Nov 9, 2012
Messages
337
Reaction score
231
First Language
English
Primarily Uses
RMMZ
I think he can use his plugin to change the face mid-sentence so he can make it look like the talking character changes emotions while the text is still coming on screen if its not instant. Thats my guess.

As in multiple possible faces per message window instead of having to create a new message event in the editor for every change.
 

KawaiiKid

Local Weeb
Veteran
Joined
Oct 13, 2015
Messages
389
Reaction score
214
First Language
English
Primarily Uses
RMMV
I think he can use his plugin to change the face mid-sentence so he can make it look like the talking character changes emotions while the text is still coming on screen if its not instant. Thats my guess.

As in multiple possible faces per message window instead of having to create a new message event in the editor for every change.
That's what I got after his response. The answer to his question is literally the 3rd option in the plugin though, I guess he just decided not to check.
 

TenebrisCrow

Veteran
Veteran
Joined
Oct 19, 2015
Messages
109
Reaction score
12
First Language
English
Primarily Uses
RMMZ
I can add a switch to it easy enough if you want? I don't really know how to add/create plugin commands very well myself, plus its been a while since I've actually worked on coding and I'm sloppy again ;(

Change the switch value to whatever one you need to use, in this sample I just picked Switch 100

Code:
/////////////////////////////////////////////////////////
///// Simulates message as having an image selected /////
/////////////////////////////////////////////////////////
Window_Message.prototype.newLineX = function(textState) {
    if ($gameSwitches.value(100) == true) {
        // if switch 100 is true, the offset will happen
        faceExists = true
    }
    else {
        // if switch 100 is false, the offset will not happen
        faceExists = false
    }
    const faceWidth = ImageManager.faceWidth;
    const spacing = 20;
    const margin = faceExists ? faceWidth + spacing : 4;
    return textState.rtl ? this.innerWidth - margin : margin;
};

This is PERFECT! Thank you very much! You have been an amazing help! I tested it and it works perfectly.

I truly cannot thank you enough, this will be so helpful in the future!

So when they change expressions you choose another facial expression? I don't understand the problem here? In the face sheets you just have the expressions for your characters, and when they change expressions you just select the corresponding face, or am I missing something here?

Faces mid-sentence. It allows their faces to move while the text is moving along. Rather than a face expression changing after each message box, it happens during the text. So one moment they can be smiling for example:

[Angry]You're beginning to annoy me. [Happy]But since I'm nice I'll help ya out. [Closed eyes]So this is how you do it.

This all happens in one box, it makes the faces look almost animated without being animated.

I think he can use his plugin to change the face mid-sentence so he can make it look like the talking character changes emotions while the text is still coming on screen if its not instant. Thats my guess.

As in multiple possible faces per message window instead of having to create a new message event in the editor for every change.

100% correct haha! Thanks for clearing it for me.
 

Latest Threads

Latest Posts

Latest Profile Posts

Coin Locker title screen:
Still in progress...

Screenshot_134.png
the girls.png
So, these are all the girls of the party =3 (beside the protagonist if you play as a female.)
Now, I just have one more character sheet of the guys left and I'm done with their presentations =3
Can you recognize where this area is from? :kaocry:
Mq9QM3h.png
For those with up to 9 elements of magic; how do you structure your database. By element? Or by what is offensive vs supportive spells?
would anyone here be interested in rough concept art for the main protagonist of my game that might get changed later? :kaoswt2:

Forum statistics

Threads
124,442
Messages
1,163,678
Members
163,256
Latest member
onbetltd
Top