Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
-
Supa
- Newbie
- Posts: 3
- Joined: Mon Sep 18, 2017 1:58 pm
- Projects: Motherly Love, Go To Hell
- Deviantart: supalexi
- Discord: Supalexi#9952
-
Contact:
#1
Post
by Supa » Thu Aug 11, 2022 1:32 pm
I'm trying to create a disclaimer message before the main menu shows up. It's a lot of text so I want to make sure the player can click to progress to the next lines of text. However, the {p} command to wait for a click doesn't seem to work when it's text on a splashscreen. My only options at this point are to either break up the text on a timer like:
Code: Select all
label splashscreen:
scene black
with Pause(1)
show text "This game contains scenes that touch on adult oriented themes such as horror." with dissolve
with Pause(5)
hide text with dissolve
with Pause(1)
show text "If you would like to opt out of the graphic content, you can toddle them off in the options menu." with dissolve
with Pause(6)
hide text with dissolve
with Pause(1)
show text "This is not meant to be played by those under the age of 18, or of weak constitution." with dissolve
with Pause(3)
hide text with dissolve
with Pause(1)
show text "Please play at your own risk." with dissolve
with Pause(1)
return
...or implement what I want to show AFTER the player clicks play.
Any help would be appreciated!
p.s. My dream for this disclaimer would be to have the text slowly reveal on each click until the entire disclaimer is displayed on screen before the final click to the main menu. If you can help me do that, that would be greatly appreciated!

Demons are a witch's best friend.
-
Imperf3kt
- Lemma-Class Veteran
- Posts: 3636
- Joined: Mon Dec 14, 2015 5:05 am
- Location: Your monitor
-
Contact:
#2
Post
by Imperf3kt » Thu Aug 11, 2022 4:10 pm
Don't use the splashscreen for this, instead use
before_main_menu
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.
Current project:
GGD Mentor
Free Android GUI - Updated occasionally
Twitter
Imperf3kt Blackjack - a WIP blackjack game for Android made using Ren'Py
-
m_from_space
- Veteran
- Posts: 302
- Joined: Sun Feb 21, 2021 3:36 am
-
Contact:
#3
Post
by m_from_space » Thu Aug 11, 2022 4:45 pm
Huh? Why, I think it's exactly what the splashscreen is for.
Supa wrote: ↑Thu Aug 11, 2022 1:32 pm
p.s. My dream for this disclaimer would be to have the text slowly reveal on each click until the entire disclaimer is displayed on screen before the final click to the main menu. If you can help me do that, that would be greatly appreciated!
I suggest building a screen, that can show text and continues on click and/or with a timer.
Code: Select all
transform fadein:
alpha 0.0
linear 0.4 alpha 1.0
screen disclaimer(what, t=None):
modal True
dismiss action Hide('disclaimer', transition=Dissolve(0.4)),Return()
frame:
background None
xfill True yfill True
text what xalign 0.5 yalign 0.5 at fadein
if t is not None:
timer t action Hide('disclaimer', transition=Dissolve(0.4)),Return()
label splashscreen:
scene black
call screen disclaimer('This text moves on after 5.0 seconds...', 5.0)
pause 1.0
call screen disclaimer('This text waits for the user to click')
return
-
Ocelot
- Eileen-Class Veteran
- Posts: 1882
- Joined: Tue Aug 23, 2016 10:35 am
- Github: MiiNiPaa
- Discord: MiiNiPaa#4384
-
Contact:
#4
Post
by Ocelot » Fri Aug 12, 2022 5:37 am
THere is distinct difference:
before_main_menu executes in menu context.
splashscreen is not. Splashcreen is not shown after restarting engine (by exiting into main menu, before_main_menu is). Not that it would make a difference for most people, but something to keep in mind.
< < insert Rick Cook quote here > >
-
Imperf3kt
- Lemma-Class Veteran
- Posts: 3636
- Joined: Mon Dec 14, 2015 5:05 am
- Location: Your monitor
-
Contact:
#5
Post
by Imperf3kt » Fri Aug 12, 2022 6:59 am
There is that, but there is also the purpose of a
splashscreen is not to give the user disclaimers.
Splash screens are typically used by particularly large applications to notify the user that the program is in the process of loading. They provide feedback that a lengthy process is underway. Occasionally, a progress bar within the splash screen indicates the loading progress. A splash screen disappears when the application's main window appears.
It is also a requirement of some app stores (Google Play for instance) that a splash screen does not contain anything that would slow down loading times, or is not stricty necessary for loading.
https://developer.android.com/guide/top ... ash-screen
Semantics, but it was asked what the difference was.
Ocelot wrote: ↑Fri Aug 12, 2022 5:37 am
THere is distinct difference:
before_main_menu executes in menu context.
splashscreen is not. Splashcreen is not shown after restarting engine (by exiting into main menu, before_main_menu is). Not that it would make a difference for most people, but something to keep in mind.
For this, assuming they don't want the message to appear on subsequent playthroughs, I would just treat it like any other issue of this sort > add a boolean and check if True before showing the disclaimer. After showing the disclaimer, toggle the boolean from True to False, with a way to reset it in the settings.
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.
Current project:
GGD Mentor
Free Android GUI - Updated occasionally
Twitter
Imperf3kt Blackjack - a WIP blackjack game for Android made using Ren'Py
-
Ocelot
- Eileen-Class Veteran
- Posts: 1882
- Joined: Tue Aug 23, 2016 10:35 am
- Github: MiiNiPaa
- Discord: MiiNiPaa#4384
-
Contact:
#6
Post
by Ocelot » Fri Aug 12, 2022 7:33 am
Imperf3kt wrote: ↑Fri Aug 12, 2022 6:59 am
There is that, but there is also the purpose of a
splashscreen is not to give the user disclaimers.
Splash screens are typically used by particularly large applications to notify the user that the program is in the process of loading. They provide feedback that a lengthy process is underway. Occasionally, a progress bar within the splash screen indicates the loading progress. A splash screen disappears when the application's main window appears.
It is also a requirement of some app stores (Google Play for instance) that a splash screen does not contain anything that would slow down loading times, or is not stricty necessary for loading.
https://developer.android.com/guide/top ... ash-screen
Technically, what RenPy calls a splashscreen is not actually a splascreen as commonly defined and is not a splashcreen by Google standards. It is not called until after everything is already loaded (a
presplash image is used on mobile devices to define splashcreen displaying loading process). Splashcreens in RenPy are more similar to those screens that annoy you by telling you who developer is, who publisher is, which engine is used, disclaimer, which graphic card should you use to gain best experience, all in unskippable 5-second animations.
Imperf3kt wrote: ↑Fri Aug 12, 2022 6:59 am
For this, assuming they don't want the message to appear on subsequent playthroughs, I would just treat it like any other issue of this sort > add a boolean and check if True before showing the disclaimer. After showing the disclaimer, toggle the boolean from True to False, with a way to reset it in the settings.
That still doesn't solve different context problem (granted, amount of people who care about difference is even less than those who cares about repeat warnings), and still doen't allow to not show it if you just exited into main menu, but show it if game is launched again.
< < insert Rick Cook quote here > >
-
Supa
- Newbie
- Posts: 3
- Joined: Mon Sep 18, 2017 1:58 pm
- Projects: Motherly Love, Go To Hell
- Deviantart: supalexi
- Discord: Supalexi#9952
-
Contact:
#7
Post
by Supa » Fri Aug 12, 2022 5:01 pm
m_from_space wrote: ↑Thu Aug 11, 2022 4:45 pm
I suggest building a screen, that can show text and continues on click and/or with a timer.
This is exactly what I was looking for! Thank you so much!

Demons are a witch's best friend.
Users browsing this forum: Bing [Bot]