Hi i'm trying to update the leaderboard from a cloud script the problem is that it register the user correctly but it doesn't update the current score (Its a sum leaderboard)
This is my code from CloudScript
handlers.UpdateLeaderboard = function (args, context) { var AddScore = UpdatePlayerScore(args.Leaderboardname, args.Playerscore); if (AddScore.leaderboardupdated == true) log.info("Statistics updated."); else log.info("Couldn't update statistics."); var resultleaderboard = server.GetLeaderboard( { PlayFabID: currentPlayerId, StatisticName : args.Leaderboardname, ProfileConstraints: { ShowDisplayName : true } }); } function UpdatePlayerScore(leaderboardname, score) { var result = server.UpdatePlayerStatistics({ PlayFabId: currentPlayerId, Statistics :[{ StatisticName : leaderboardname, Value : score }] }); if (result.Error == null) return { leaderboardupdated: true }; else return { leaderboardupdated: false }; }
And this is my current code in Unity
private void UpdatePlayerScore(string leaderboardname, string playerscore) { var result = new ExecuteCloudScriptRequest { FunctionName = "UpdateLeaderboard", FunctionParameter = new { Leaderboardname = leaderboardname, playerscore }, GeneratePlayStreamEvent = true }; PlayFabClientAPI.ExecuteCloudScript(result, OnLogginSuccess, OnErrorSuccess); }