Can I force a script call while show text?

Parallax Panda

Got into VxAce ~2014 and never stopped...
Veteran
Joined
Oct 29, 2015
Messages
1,012
Reaction score
1,305
First Language
Swedish
Primarily Uses
RMMV
So I have some very long VN-styled cut scenes that goes on for quite some time. It's more or less a parade of "ShowText" commands which tends to block all other input. Normally this is fine because JRPG conversations don't go on for that long, but in my game it doesn't work. I'd like to give the player a way to quit the game without hitting Ctrl+Alt+delete, or F4 (to minimize the fullscreen I force) and then the (x) in the upper right corner. Having them wait for a "checkpoint" every 5th minute is also kind of unacceptable.

In this day and age, most players would expect to be able to quit whenever. But I'm not sure how to make that possible while the "Show Text" commands just go on and on and on.

Is there any solutions? Plugins, Sneaky eventing, anything really...

The event I'm running is an Auto-Run event which content basically looks like this:

◆Text:None, Window, Bottom : :( - text goes here- )
◆Text:None, Window, Bottom : :( - text goes here- )
◆Text:None, Window, Bottom : :( - text goes here- )
◆Text:None, Window, Bottom : :( - text goes here- )
◆Text:None, Window, Bottom : :( - text goes here- )
◆Text:None, Window, Bottom : :( - text goes here- )
.... (it goes on for a very long time)
 

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
2,207
Reaction score
728
First Language
Dutch
Primarily Uses
RMMV
if its in window mode, they dont need to worry though,

otherwise, make a conditional branch when a button is press (do stuff)
than the rest below can be only text, but as soon as they press that button, they can skip,
quite or save (maybe with a choice option?)

thats 1 way I can think off, else, I got no clue.
 

Parallax Panda

Got into VxAce ~2014 and never stopped...
Veteran
Joined
Oct 29, 2015
Messages
1,012
Reaction score
1,305
First Language
Swedish
Primarily Uses
RMMV
@ShadowDragon

Not sure what you mean but if this is it:


◆If:Button [Cancel] is pressed down

:Else
◆Text:None, Window, Bottom
: :Text
◆Text:None, Window, Bottom
: :Text
◆Text:None, Window, Bottom
: :Text
◆Text:None, Window, Bottom
: :Text
◆Text:None, Window, Bottom
: :Text
◆Text:None, Window, Bottom
: :Text
◆Text:None, Window, Bottom
: :Text
◆...(more text)
:End

Then that won't work because as soon as the event reads past the conditional branch and goes down the "else" path, button presses doesn't do anything. Unless I misunderstood what you meant?

@Soulrender

I've thought about that too actually, but it's a pretty "dirty" solution:


◆Text:None, Window, Bottom
: :text
◆Show Choices:Continue Reading, Quit Game (Window, Right, #1, -)
:When Continue Reading

:When Quit Game

:End
◆Text:None, Window, Bottom
: :text
◆Show Choices:Continue Reading, Quit Game (Window, Right, #1, -)
:When Continue Reading

:When Quit Game

:End
◆Text:None, Window, Bottom
: :text
◆Show Choices:Continue Reading, Quit Game (Window, Right, #1, -)
:When Continue Reading

:When Quit Game

:End
◆Text:None, Window, Bottom
: :text
◆Show Choices:Continue Reading, Quit Game (Window, Right, #1, -)
:When Continue Reading

:When Quit Game

:End
◆Text:None, Window, Bottom
: :text
◆Show Choices:Continue Reading, Quit Game (Window, Right, #1, -)
:When Continue Reading

:When Quit Game

:End
◆Text:None, Window, Bottom
: :text
◆Show Choices:Continue Reading, Quit Game (Window, Right, #1, -)
:When Continue Reading

:When Quit Game

:End

I don't think I've seen any VN do anything like it, most likely because it looks kinda bad? It could work, maybe. But that choice box would be in the way of portrait busts/backgrounds and it'll take away some of the focus from the textbox/portraits which isn't optimal.
 

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
2,207
Reaction score
728
First Language
Dutch
Primarily Uses
RMMV
more like:
if cancel is pressed down
Quit game
end

text here
more text
etc
etc

around this, but Idk if that would help, but it will check if the button is pressed , but I cant garanteed that.
the soulrender solution is usefull for books or every 3 text box.

Idk any other way, unless you can create a plugin for it :)
 

Parallax Panda

Got into VxAce ~2014 and never stopped...
Veteran
Joined
Oct 29, 2015
Messages
1,012
Reaction score
1,305
First Language
Swedish
Primarily Uses
RMMV
@ShadowDragon

If this is what you suggest than this doesn't work for obvious reasons:

◆If:Button [Cancel] is pressed down
◆Return to Title Screen

:End
◆Text:None, Window, Bottom
: :text
◆Text:None, Window, Bottom
: :text
◆Text:None, Window, Bottom
: :text

This is because it only checks for the button press the first split second, and when it doesn't detect it it moves on to showing the messages. At that point it doesn't matter if you press the button anymore.

I did some experimentation and this here kinda works... although I'm not sure exactly why:

◆If:Button [Cancel] is pressed down
◆Return to Title Screen

:Else
◆Text:None, Window, Bottom
: :text1

:End
◆If:Button [Cancel] is pressed down
◆Return to Title Screen

:Else
◆Text:None, Window, Bottom
: :text2

:End
◆If:Button [Cancel] is pressed down
◆Return to Title Screen

:Else
◆Text:None, Window, Bottom
: :text3

:End

Every message needs to be in a "if/else" condition though. And I suspect this only works becuase when you press ESC during a message that's the same as pressing any action button (space, enter, z and so on). However as soon as the message is over it'll go to the next point where they check for the esc button again and maybe the button press check is hyper sensitive so unless you're fast like lightning the button will still be pressed down during a split second and that will trigger the exit to menu? Is that why this is "working"? Because I'm not sure why it does.

---------------------------------------------------------------------

EDIT; Okay so I expanded on the above eventing and it almost work. There is one problem though, first let's take a look at the event commands:

◆Label:Message1
◆If:Button [Cancel] is pressed down
◆Show Choices:Quit to Menu, Cancel (Window, Middle, #1, #2)
:When Quit to Menu
◆Return to Title Screen

:When Cancel
◆Jump to Label:Message1

:End

:Else
◆Text:None, Window, Bottom
: :text1

:End
◆Label:Message2
◆If:Button [Cancel] is pressed down
◆Show Choices:Quit to Menu, Cancel (Window, Middle, #1, #2)
:When Quit to Menu
◆Return to Title Screen

:When Cancel
◆Jump to Label:Message2

:End

:Else
◆Text:None, Window, Bottom
: :text2

:End
It would be kinda troublesome to set up a custom label for each show text command but it's doable - even it it would take some time. This however does still not work and I think I know why. It's because when you press "ESC" you activate the trigger at the same time as you trigger the message to activate. I think this is the case.

So what will happen here is that if you have message 1, message 2 and message 3. If you press ESC on message 1 and then cancel it'll go straight to message 3. Which of course isn't what we want.

Not sure how to fix that though....

---------------------------------------------------------------------

EDIT2: I found a solution. I think this is the best that can be done without actually coding a plugin. I share it here in case someone else is doing a VN (or hybrid) in RPGmaker and have the same problem. Also, if you (anyone really) sees a way to improve or polish this eventing even further, please do share!

◆Comment:-----------------------------------------------------------------------------
◆Label:Message1
◆Text:None, Window, Bottom
: :text1
◆If:Button [Cancel] is pressed down
◆Show Choices:Return to Game, Load Game, Options, Quit Game (Window, Middle, #1, -)
:When Return to Game
◆Jump to Label:Message1

:When Load Game
◆Script:SceneManager.push(Scene_Load)
◆Jump to Label:Message1

:When Options
◆Script:SceneManager.push(Scene_Options)
◆Jump to Label:Message1

:When Quit Game
◆Return to Title Screen

:End

:End
◆Comment:-----------------------------------------------------------------------------
◆Label:Message2
◆Text:None, Window, Bottom
: :text2
◆If:Button [Cancel] is pressed down
◆Show Choices:Return to Game, Load Game, Options, Quit Game (Window, Middle, #1, -)
:When Return to Game
◆Jump to Label:Message2

:When Load Game
◆Script:SceneManager.push(Scene_Load)
◆Jump to Label:Message2

:When Options
◆Script:SceneManager.push(Scene_Options)
◆Jump to Label:Message2

:When Quit Game
◆Return to Title Screen

:End

:End
◆Comment:-----------------------------------------------------------------------------
◆Label:Message3
◆Text:None, Window, Bottom
: :text3
◆If:Button [Cancel] is pressed down
◆Show Choices:Return to Game, Load Game, Options, Quit Game (Window, Middle, #1, -)
:When Return to Game
◆Jump to Label:Message3

:When Load Game
◆Script:SceneManager.push(Scene_Load)
◆Jump to Label:Message3

:When Options
◆Script:SceneManager.push(Scene_Options)
◆Jump to Label:Message3

:When Quit Game
◆Return to Title Screen

:End

:End
◆Comment:-----------------------------------------------------------------------------
 
Last edited:

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
2,207
Reaction score
728
First Language
Dutch
Primarily Uses
RMMV
its a nice solution though, but what you can try (make a clean project) is an NPC with only text
and on the map corner a parallel event when a button is pressed (im not sure if this work during messege).

if not, than your solution is probably the best for now available =) good job on creating one :)
 

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

Latest Threads

Latest Profile Posts

Well... My game plays better at 1920x1080, so I guess that's the new resolution. Still runs at 60FPS. :LZSexcite: Also... I really want a boss to be able to build new maps around the player... Mostly because it's visually spectacular! I'm er... not quite sure yet how I can do that without making MV explode.... But I'll find a way, anything in service to the "sparkles"! :kaopride:
How to change your netbooks screen resolution

Forum statistics

Threads
100,787
Messages
979,537
Members
132,430
Latest member
Timiti
Top