• To improve security, we will soon start forcing password resets for any account that uses a weak password on the next login. If you have a weak password or a defunct email, please update it now to prevent future disruption.

Ren'Py say screen modification

hector333

New Member
Jan 31, 2018
4
1
Hello!. I am kinda trying to modify the say screen to receive custom parameters i send. idk how to receive the parameters in this screen in particular.
With the information i gathered in the forum and in the documentation i found some code wich i try to use with little sucess.


x "So, trola, still ready for tonight ?" ( SMS="threesomePlaning", NPCC=brenda)

If i do this and try to catch SMS or NPCC in the say screen or add it to a list, it never recive a value, but it shows the text

i erased my say parameters but i have something like this

screen say(who, what, SMS=None, NPCC=None):

if i do print SMS or NPCC it nevers shows anything so i cant log what i want.

(i know that you can do the sms thing with nvl, but i want to explore some other methods for fun or curiosity mostly)

i try to use anne O'nymous example but i was not posible to apply it ( ty anne O'nymous for all the answers in the forum, i found a lot of them very helpful)

Ty guys in advance, and srry for my poor english :(.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,202
14,938
x "So, trola, still ready for tonight ?" ( SMS="threesomePlaning", NPCC=brenda)
[...]
screen say(who, what, SMS=None, NPCC=None):
Initially the say arguments only refer to Character properties (who color, what style, etc). Initially it worked without problem, but at some time a change appeared (perhaps the multi say, but I don't remember precisely) and it implied to rely on a trick to continue using the arguments for something else. A trick that isn't really obvious, because it imply that the arguments passed to the screen don't have the same name than the arguments the screen is expecting.

The screen declaration is correct, but the dialog line should be x "So, trola, still ready for tonight ?" ( show_SMS="threesomePlaning", show_NPCC=brenda).



i try to use anne O'nymous example but i was not posible to apply it
I'm not infallible, and it doesn't help that sometimes what worked with a version of Ren'Py do not works anymore due to some changes in the core ; what from memory is the case here.
 
  • Red Heart
Reactions: hector333

hector333

New Member
Jan 31, 2018
4
1
i made some progress, i can show the text if the parameters in the screen thanks to this, so its nice to see some progress. the say behavior is strange.


screen say(who, what, SMS=None, NPCC=None):
style_prefix "say"

window:
id "window"
if who is not None:
window:
id "namebox"
style "namebox"
text who id "who"
text SMS #JUST TO SEE IT IN THE SCREEN
text NPCC #JUST TO SEE IT IN THE SCREEN
if SMS:
$ listaquien.append(NPCC)
$ listapalabras.append(SMS)
text what id "what"

in this case, the test list i add to if SMS: ... are always full of None, and rarely i can see the real SMS value or the NPC value, in them. This screen in particular (i think) doesnt follow a standar flow and bypass the if SMS or whatever condition i add to this. Idk if its a redraw thing or what but i cant see how i can store what i want (wich are the parameters of the say)

Do you have any clue on how this works? i spend some time reading the renpy core, but its out of my level, i learn 1 or 2 thing but none of them very ussefull for the issue i have.

Ty in advance.