If you take a look at the source code for practically any RenPy game, you'll usually find a file called
screens.rpy
.
Within there, you'll find the majority of the predefined screens. From your post,
screen say
and
screen choices
are certainly included.
If you look at both, you'll find code that looks something like:
Python:
screen say(who, what):
style_prefix "say"
window:
id "window"
if who is not None:
window:
id "namebox"
style "namebox"
text who id "who"
text what id "what"
# -----------------------------------------------------------
screen choice(items):
style_prefix "choice"
vbox:
for i in items:
textbutton i.caption action i.action
In both cases, you'll see that the parameters passed to the screen are listed in brackets after the screen name.
screen say(who, what):
screen choice(items):
Each screen is unique, and therefore what is passed to it will be unique. There's no common list of variables used, just the parameters passed along by the underlying functions. The "names" of those variables is local to the screen. I could call a screen with
show screen say(my_variable1, my_variable2)
, but the screen itself would still think the variables are called "who" and "what".
In the case of
screen say():
, the
what
and
who
parameters are passed, and used as plain
You must be registered to see the links
fields.
The
screen choices():
is a little more complex, as it is passed an object it knows locally as
items
, which looks to be a list of other objects. Each item within the list has a
caption
and an
action
property (what the RenPy documentation calls "fields"), and the
caption
is used as a
You must be registered to see the links
. Exactly how you'd know that
items
is a list and that list has objects which have properties including "caption" and "action" isn't something that will immediately jump out at you without some digging (or documentation).
On the documentation front, there is this from the RenPy documentation:
You must be registered to see the links
Which lays out all the predefined screens and what their parameters (variables) are. Again, remember the names of the variables are just the standard names.