I'm having issues with my achievements. They work fine in my VN's native achievement tracker and display, but not on Steam itself. I'll try to include all the relevant details below.
I first want to say that I've read the Ren'Py achievement documentation and even followed VND's achievement video on YouTube.
First off, I have the Steam ID in the options.rpy (I changed the number in the code below):
Code: Select all
## Steam APP ID
define config.steam_appid = 1234567
Code: Select all
## Register Achievements
init python:
achievement.register("Completed_Act_1")
achievement.register("Completed_Act_2")
achievement.register("Completed_Act_3")
achievement.register("Completed_Act_4")
Code: Select all
## Variables
default persistent.has_achievement = True
default persistent.has_all_achievement = False
default persistent.achievement_total = 0
default i_achieve = str(None)
default i_achieve_tag = str(None)
Code: Select all
## Achievement Label
label grantAchievement(a="error"):
$ i_achieve_tag = str(a)
call achieveText()
if achievement.has(str(a)):
$ persistent.has_achievement = False
$ achievement.grant(str(a))
$ achievement.sync()
if persistent.has_achievement == True:
$ persistent.achievement_total += 1
show screen achievement()
$ persistent.has_achievement = True
$ achievement.progress("Earned_All_Achievements", persistent.achievement_total)
if persistent.achievement_total >= 12:
if not achievement.has("Earned_All_Achievements"):
show screen achievement()
$ achievement.grant("Earned_All_Achievements")
$ achievement.sync()
return
Also, a chunk of the label includes the "Earned_All_Achievements" stuff, just to track how many achievements the reader has earned and to grant the final achievement once 12 have been earned.
Lastly, in the script, I have this line of code to give the reader their earned achievement
Code: Select all
call grantAchievement("Completed_Act_1")
Of course, the problem here is that the Steam indicator doesn't pop up, and the reader never earns the achievement according to Steam.
In-game, I bring up the console to be sure the achievement is being awarded, and it is.
In Steamworks under the Achievement Configuration settings, I have the achievements with their correct names (For example "Completed_Act_1" [without the quotes]), with the 'Set By' set to 'Client'.
Lastly, I have 'Steam Support' installed via Ren'Py preferences.
Why isn't this working for me!! T~T
EDIT: Still not working, but I have done some additional things to add to the list.
First, I've added the position of Steam notifications with the following:
Code: Select all
init python:
achievement.steam_position = "bottom right"
After doing all of this, it is still not working...