Aryam777

Villager
Member
Joined
Mar 8, 2017
Messages
17
Reaction score
17
First Language
Polish
Primarily Uses
RMMV
I know this normally happens by default.
However in this specific situation I have to use scripts to display a message that will provide info for the choices.
So
$gameMessage.setFaceImage('Actor1',0);
$gameMessage.setBackground(1);
$gameMessage.setPositionType(2);
$gameMessage.add("My message containing data");

All this works great except if "Show Choices" event command follows this script, text disappears before choices appear.
I'm looking trough $gameMessage class and scripts but I can't seem to find how the game devs made the text stay.
I'll keep looking and testing but perhaps someone already knows the answer.
 

Trihan

Speedy Scripter
Regular
Joined
Apr 12, 2012
Messages
6,530
Reaction score
7,038
First Language
English
Primarily Uses
RMMZ
The reason it works the way it does is that the "Show Message" part of Game_Interpreter checks to see if the next command code is a "Show Choice" and if so does all the setup as part of processing it. If you just do $gameMessage.add, you're skipping that check.
 

Aryam777

Villager
Member
Joined
Mar 8, 2017
Messages
17
Reaction score
17
First Language
Polish
Primarily Uses
RMMV
That was quick. ^^

Well I'm only using the "Script Calls" spreadsheet as a main source of "inspiration". It doesn't mention anything about "Show Message". I did find "Show Text" note in the rpg_objects.js however. I can't seem to figure out how to call command101 from inside the script... Or maybe I should try to "setWaitMode('message')" for the interpreter. I'll try that.

Thank you for a really great hint! I was stuck without this. :)
 
Last edited:

Aryam777

Villager
Member
Joined
Mar 8, 2017
Messages
17
Reaction score
17
First Language
Polish
Primarily Uses
RMMV
SOLVED AGAIN!!! xD

This however doesn't seem to pretty and neat.

After your $gameMessage.add() function you should simply add these three lines:

this._index++;
this.setupChoices(this.currentCommand().parameters);
this.setWaitMode('message');

And now questions show perfectly. :)
But I still think there's a batter way to do this... But you don't look a gift solution in the code. ;)

I said, before the edit, that setWaitMode() isn't necessary, but without it, altough the game does wait for key input it doesn't get ready to handle the choice you make. Interpreter simply moves on.

Thanks a BUNCH Trihan! :D
 
Last edited:

Aryam777

Villager
Member
Joined
Mar 8, 2017
Messages
17
Reaction score
17
First Language
Polish
Primarily Uses
RMMV
Here's what we did:Tadaa.jpg
 

Aryam777

Villager
Member
Joined
Mar 8, 2017
Messages
17
Reaction score
17
First Language
Polish
Primarily Uses
RMMV
Also if you want to add custom Choices with scripts right after your message... Remove the line this.index++, and replaces this.setupChoices with what you want. In fact I think I'll make a choice scripting tutorial because I myself couldn't find any single clear explanation about how that works... Found out through trial and error. If anyone thinks there's a need for that let me know and I'll do it.
 

Latest Threads

Latest Posts

Latest Profile Posts

We've been tricked, we've been backstabbed and we've been, quite possibly, bamboozled.

1695643923498.png

Finally figured out the source of my problems - WindowBase's contentsWidth() doesn't actually return the width of its contents :kaoswt2:
Lies of P. 5/10. It's like Dark Souls if you removed everything great about Dark Souls. It makes me want to replay Dark Souls.
poor Edward has some kind of affliction

ewd.png
Keeping on my crowdfunding page rigging, making gifs to make the wall of text look more sparkly glowy.
Made this one and it made me laugh.

ezgif-4-abff258a04.gif
New sprite in action! A-1-2 looks kinda goofy might need to upscale some of the tiles and decorations. And maybe change eliza's creepy laugh to more of a neutral mouth

Forum statistics

Threads
134,789
Messages
1,250,601
Members
177,574
Latest member
SLK
Top