Ren'Py Relationship stats screen not updating

79flavors

Well-Known Member
Respected User
Jun 14, 2018
1,581
2,219
If I'm understanding you correctly then... it's not actually screen prediction that is the issue - since the "normal behavior" is not to predict? Or the normal behavior is to predict, but not in a way it's easy to ... ermm... predict?

Honestly, if we're getting into this level of detail about a set of functions and their descriptions are this vague about... it's probably not the way to solve things.

Thankfully the workaround of "use % rather than []" doesn't need any of this background knowledge. So even if I'm wrong about the cause being predication... the solution remains the same.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,363
15,280
[...] Or the normal behavior is to predict, but not in a way it's easy to ... ermm... predict?

Honestly, if we're getting into this level of detail about a set of functions and their descriptions are this vague about... it's probably not the way to solve things.
The normal behavior is the prediction, but it's something fully automatic. Ren'py pass its time looking forward than the actual statement, and each time he found a show screen or call screen it will automatically predict the said screen.

As for the set of functions, it's for the case where Ren'py can not know that there will be a screen.
Imaine that you have a creator-defined statements that display a screen. By default Ren'py have no way to know that a screen will be displayed, and so no way to predict it. Therefore, you've to define a predict function for this statement, and inside it use renpy.start_predict_screen() to tell Ren'py that he have to predict your screen. Then in execute part of the statement, you use renpy.stop_predict_screen() to do the opposite.

As I said, it's simple, but not really intuitive.
 

Fancy Dan

New Member
Aug 2, 2018
13
4
Oh man, all that seems far and beyond my current level.

I actually got a much simpler solution from someone. Simply adding an if statement at the very beginning of the screen for whichever meaningless variable forces renpy to check variables before opening up the screen. Thus, it will always update them.

Of course, this is more of a workaround than an actual solution, but it's the best I've got :) I'll reserve the deeper solutions for those with much more coding expertise. I'm picking up a lot of new things even from this small exchange, so it's good that I know my limits.
 

AnimeKing314

Giant Perv
Game Developer
Jun 28, 2018
395
597
Oh man, all that seems far and beyond my current level.

I actually got a much simpler solution from someone. Simply adding an if statement at the very beginning of the screen for whichever meaningless variable forces renpy to check variables before opening up the screen. Thus, it will always update them.

Of course, this is more of a workaround than an actual solution, but it's the best I've got :) I'll reserve the deeper solutions for those with much more coding expertise. I'm picking up a lot of new things even from this small exchange, so it's good that I know my limits.
If it works then it's a solution.