According to this page, getAllAchievements() is not returning the progress field. I do see all other fields in the returned table.
Can someone at CL confirm? None of my achievements is returning this field, regardless of whether it is a progress based or non-progress based achievement.
I just dumped the results of getMyUnlockedAchievements, and I do not see a progress percentage in there either, but wouldn’t the percentage in getMyUnlockedAchievements always be 100% since it is unlocked?
It would be helpful to have this in getAllAchievements in order to build an achievement list. Reading Alex’s post, I have to ask if that going to happen, since I am not sure.
Here is how progress based achievements are implemented.
All achievements are locked by default and are set to 0% progress.
The minute a player starts to progress on this, we shift this to the unlocked state but is not awarded.
A progress based achievement is only awarded when progress is set to 100%
For example if you have an achievement where a player must play 10 rounds. After the 1st round, you would set that achievement to 10% and so on.
The idea here is that it is technically unlocked but not completed.
The reason why we don’t show progress on getAllAchievements, is because this is supposed to return all available achievements and is not the state for a specific user.
I checked the results of getMyUnlockedAchievements, and the progress field is not being returned there either. I do see all other fields, except progress. Could someone confirm?
To further the discussion, would you guys consider adding the progress field to getAllAchievements() as well? Since I want to create a list of achievements in my game, along with status, I would have to call getAllAchievements, then call getMyUnlockedAchievements (once the progress field is being returned :) ), then cycle through both tables to see where there is overlap, and create a list.
If progress was returned in getAllAchievements, then there is only 1 call, 1 table, and it would be so much easier to pass through that table and pull that data.
I have 1 “unlocked” achievement, and here is the dump from the call…
I am now wondering… This achievement is not progress based, so is that why the progress field is not being returned? Would progress percent be returned if this was a progress based achievement?
Thanks… I will try it again with a progress based achievement and will check the results.
Is there any plan to always return progress, even for non-progress based achievements? The varied return fields for progress/non-progress based achievements makes coding more complex.
Also, is there a plan to return progress in getAllAchievements?
Well the thing is, if we added progress on the standard achievement, then you as a developer can’t distinguish between the two types.
The idea is when you pull the achievement, all that is needed is an if statement that detects the ‘progress’ parameter to identify the achievement type.
In regards to putting the progress in getAllAchievement, we are shying away from doing that, as it not ment to be for a specific user, so it doesn’t make sense to have the state there.
In any case, I will share your feedback with the team.
I just dumped the results of getMyUnlockedAchievements, and I do not see a progress percentage in there either, but wouldn’t the percentage in getMyUnlockedAchievements always be 100% since it is unlocked?
It would be helpful to have this in getAllAchievements in order to build an achievement list. Reading Alex’s post, I have to ask if that going to happen, since I am not sure.
Here is how progress based achievements are implemented.
All achievements are locked by default and are set to 0% progress.
The minute a player starts to progress on this, we shift this to the unlocked state but is not awarded.
A progress based achievement is only awarded when progress is set to 100%
For example if you have an achievement where a player must play 10 rounds. After the 1st round, you would set that achievement to 10% and so on.
The idea here is that it is technically unlocked but not completed.
The reason why we don’t show progress on getAllAchievements, is because this is supposed to return all available achievements and is not the state for a specific user.
I checked the results of getMyUnlockedAchievements, and the progress field is not being returned there either. I do see all other fields, except progress. Could someone confirm?
To further the discussion, would you guys consider adding the progress field to getAllAchievements() as well? Since I want to create a list of achievements in my game, along with status, I would have to call getAllAchievements, then call getMyUnlockedAchievements (once the progress field is being returned :) ), then cycle through both tables to see where there is overlap, and create a list.
If progress was returned in getAllAchievements, then there is only 1 call, 1 table, and it would be so much easier to pass through that table and pull that data.