click skip disable?

A place to discuss things that aren't specific to any one creator or game.
Forum rules
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
Post Reply
Message
Author
Kxela
Newbie
Posts: 13
Joined: Fri Feb 20, 2009 10:34 pm
Projects: "Can't Just Add Water"
Location: FL, USA
Contact:

click skip disable?

#1 Post by Kxela »

so I did a search through the forums before this,
I found a fairly old topic about whether there should be a click skip-disable funtion
or not (click skipping through text transitions).
I like the idea of having click skip disabled the first play through, then enabling it after beating it once.
that topic ended with hopes of it, I think.


so, is there such a function? :3
if not too bad, but if it was created I'd like to know ^^

yummy
Miko-Class Veteran
Posts: 733
Joined: Fri Jul 07, 2006 9:58 pm
Projects: Suna to Majo
Location: France
Contact:

Re: click skip disable?

#2 Post by yummy »

I posted this cookbook recipe, based on the thread you mentioned.

It's a little more detailed, so I hope you find it helpful.

chronoluminaire
Eileen-Class Veteran
Posts: 1153
Joined: Mon Jul 07, 2003 4:57 pm
Completed: Elven Relations, Cloud Fairy, When I Rule The World
Tumblr: alextfish
Skype: alextfish
Location: Cambridge, UK
Contact:

Re: click skip disable?

#3 Post by chronoluminaire »

Hm. I think what Kxela's asking for is not a way to skip through transitions, but rather a way to prevent people clicking through text, or prevent people skipping.

Could you clarify what you're after, precisely, Kxela? Do you want to allow the user to skip something, or prevent the user from skipping something, and what precisely is that thing? :) It'd also be handy if you could post the URL to that thread you mentioned, rather than just mentioning that it exists.
I released 3 VNs, many moons ago: Elven Relations (IntRenAiMo 2007), When I Rule The World (NaNoRenO 2005), and Cloud Fairy (the Cute Light & Fluffy Project, 2009).
More recently I designed the board game Steam Works (published in 2015), available from a local gaming store near you!

yummy
Miko-Class Veteran
Posts: 733
Joined: Fri Jul 07, 2006 9:58 pm
Projects: Suna to Majo
Location: France
Contact:

Re: click skip disable?

#4 Post by yummy »

I found this. This piece of code disallows user interaction while the scene goes on (I presume). Simply replace 1.0 with the desired duration (in seconds)

Code: Select all

$ renpy.pause(1.0, hard='True')
This might be the thread you were looking for. Don't know if it still works.

Kxela
Newbie
Posts: 13
Joined: Fri Feb 20, 2009 10:34 pm
Projects: "Can't Just Add Water"
Location: FL, USA
Contact:

Re: click skip disable?

#5 Post by Kxela »

chronoluminaire wrote:Hm. I think what Kxela's asking for is not a way to skip through transitions, but rather a way to prevent people clicking through text, or prevent people skipping.

Could you clarify what you're after, precisely, Kxela? Do you want to allow the user to skip something, or prevent the user from skipping something, and what precisely is that thing? :) It'd also be handy if you could post the URL to that thread you mentioned, rather than just mentioning that it exists.
oh yeah, I should have done that... but I lost the url and wasnt gonna search again ;p

Anyways yes, what I want is to prevent people from clicking through text (when there's a transition applied to the text of course), and to possibly undo it after the first completion. Right and by skipping I dont mean to turn off the ctrl button skipping.

thanks yummy I'll try working with that recipe and that piece of code

Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: click skip disable?

#6 Post by Jake »

Kxela wrote: Anyways yes, what I want is to prevent people from clicking through text (when there's a transition applied to the text of course)
Do you mean:

- Preventing people from clicking in order to complete the whole line of text instantly when the text is being typed out character-by-character?

- Preventing people from clicking while a line of text is displayed for a certain period of time to clear it before that period is elapsed?

- Preventing people from clicking while a line of text is being introduced by a dissolve (or fade, or wipe, or whatever) to terminate the dissolve (or whatever) instantly and get the whole line of text?

Or something else?

The 'hard pause' solution that Yummy mentioned will help for the second one of those, but not for the other two...
Server error: user 'Jake' not found

Kxela
Newbie
Posts: 13
Joined: Fri Feb 20, 2009 10:34 pm
Projects: "Can't Just Add Water"
Location: FL, USA
Contact:

Re: click skip disable?

#7 Post by Kxela »

oh uh, the first one (though I'm not sure what the difference is between that and the third one)

for now though I think hard pause would be good enough, but I want to find out if what I want to do can be done.

Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: click skip disable?

#8 Post by Jake »

Kxela wrote:oh uh, the first one (though I'm not sure what the difference is between that and the third one)

for now though I think hard pause would be good enough, but I want to find out if what I want to do can be done.
The difference is that the first one - character by character - is a feature of Ren'Py, which would use the normal dialogue syntax, e.g.:

Code: Select all

    b "Look, I said to get the cinnamon and raisin ones, and I meant it! For this insolence, you must die!"
However, it's also a feature that's configurable by the user anyway, so they can always just set the text speed to maximum if they don't want to wait for it anyway. There are, of course, ways around it, but what you want to do there is not something that one gets the impression Ren'Py was designed to allow.

The second one would involve a syntax like this:

Code: Select all

    show text "Bob: Look, I said to get the cinnamon and raisin ones, and I meant it! For this insolence, you must die!" with dissolve
and would result in a configurable transition (the 'dissolve' part) being used to show the text on the screen.



However, neither of them would really work with a hard pause, because of the way interactions and timings and so on work in Ren'Py. Firstly, the example you want to do:

Code: Select all

    b "Look, I said to get the cinnamon and raisin ones, and I meant it! For this insolence, you must die!"
    $ renpy.pause(3, hard=True)
What this does, is:
- Shows the dialogue, character by character if the text-speed setting isn't set to full; if the user clicks at any point while the text is typing out, it will skip to the end and display all the text at once.
- Waits for a mouse click to advance beyond the dialogue line, like it always does with dialogue. After the mouse is clicked, the dialogue is cleared.
- Hits the pause statement and waits for 3 seconds, with no dialogue on the screen (Ren'Py even, annoyingly, hides the dialogue window during pauses), with no option to skip.

The obvious problem with this method being that Ren'Py has already hidden the dialogue by the time you hit the unskippable pause.

The other one:

Code: Select all

    show text "Bob: Look, I said to get the cinnamon and raisin ones, and I meant it! For this insolence, you must die!" with dissolve"
    $ renpy.pause(3, hard=True)
works a little closer (presuming you're happy with a dissolve or a wipe or something instead of the typing-out feature), but it's still not right:
- Shows the dialogue, fading it in with a dissolve, which Ren'Py waits for. If the user clicks during the dissolve, the dissolve will jump to the end and the wait will finish.
(However, it's important to note that like this, the text is a displayable (like a character sprite or something) rather than actually dialogue.)
- Hits the pause, and with the dialogue still on the screen, waits for three seconds without allowing the user to skip it at all.
- After the three seconds have elapsed, Ren'Py carries on with the next instruction without waiting for anything.

The problem with this method is that if the user doesn't do anything, then three seconds + the time of the dissolve later, Ren'Py moves on to the next line regardless of what the user does. So you have two choices - either hide the text then, and hope that everyone finishes reading in three seconds and doesn't get up to get a drink or something, or stick an actual user-controlled pause in (renpy.pause() on its own with no parameter just waits for a click) and leave the user with the frustrating situation where they click to advance the text, the dissolve finishes, but the text doesn't go away... so they keep clicking, and some seemingly-random period later, the text finally leaves.



In summary, I don't think you can do what you want to do in Ren'Py that easily.

(From a personal point of view, I'd also find a game which did that pretty obnoxious, and it would have to be a really gripping story to keep me playing it, I think. Everyone reads at a different pace, so it's hard to pick a single speed which is good for everyone... myself, I find reading at a speed other than my natural reading speed is pretty frustrating.)
Server error: user 'Jake' not found

Guest

Re: click skip disable?

#9 Post by Guest »

ahh now I get it ^^
What I am aiming for is the first one, to disable clicking so that the user cannot click while the text is typing out and have it skip and show all the dialogue at once.

It really is kinda annoying, I found a game that did it (although I'm not sure if it actually was a renpy made one)
but I thought it might be handy if it was possible :P

thanks for all the help anyways :D

Kxela
Newbie
Posts: 13
Joined: Fri Feb 20, 2009 10:34 pm
Projects: "Can't Just Add Water"
Location: FL, USA
Contact:

Re: click skip disable?

#10 Post by Kxela »

^^^ and that was meh --"

Post Reply

Who is online

Users browsing this forum: No registered users