Hello! Thank you for your work. I want to ask which is the part that is controlling the achievement popup? I have a scene where 2 achievement can be granted at the same time, but when I test it, it seems only one popup show up (the other still get unlocked in the gallery though).
Viewing post in Need Support? Post here!
It's likely showing both popups in the same place on top of one another - if you look at the default achievement_popup screen, there's a special bit:
## Allows multiple achievements to be slightly offset from each other. ## This number should be at least as tall as one achievement. default achievement_yoffset = num*170 frame: style_prefix 'achieve_popup' ## The transform that makes it pop out at achievement_popout() ## Offsets the achievement down if there are multiple yoffset achievement_yoffset
That yoffset bit makes sure that if there are multiple achievements shown at the same time, they get offset so they're not stacking on top of each other. Make sure you have that code, or something similar, in your own popup screen!
Thank you! I do have that yoffset part in my code. When I toggle the achievements in the gallery, the multiple popups show stacking on each other just fine, but in the game, only one popup show up at a time .
Here is the code for granting two achievements at the same time, I think it works because the if A is unlocked and I have B, the C will get unlocked in the gallery, its just that C popup doesn't show in the game.
Currently, I'm using renpy 8.5.2
$ ending_A.grant() if ending_A.has() and ending_B.has(): $ ending_C.grant()
All right, unfortunately I don't really have any further actionables - it sounds like things are set up properly if you see multiple achievements from the gallery, so it probably makes sense to debug around the time you're trying to grant your achievements. Do you have any LinkedAchievements or similar? Usually in a case like this, where you automatically grant an achievement if two others have been earned, LinkedAchievement is useful. I'd also include some debug lines like "Do you have ending_A achievement? [ending_A.has()]" to see what the values for everything are. It might be that you already have ending_C's achievement accidentally or something, so its popup is not appearing.