I’m trying to retrieve the current players high score through iOS GameCenter (see code below). However, im currently only able to retrieve the ‘global’ high score of all players (i.e. the highest score recorded in GameCenter) and not the score of only the current logged in player.
//init.. coronaGameNetwork.init( "gamecenter", initCallback ) --------------------------------------------------------- -- Called after the "init" request has completed --------------------------------------------------------- local function initCallback( event ) if event.data then loggedIntoGC = true requestloadLocalPlayer() -- Get player name, then get score and rank data end end --------------------------------------------------------- -- Get Gamecenter Data --------------------------------------------------------- function requestloadLocalPlayer() coronaGameNetwork.request( "loadLocalPlayer", { listener = savePlayerName -- Get player name, then request score and rank data }) end --------------------------------------------------------- -- Save Player Name + loadScores --------------------------------------------------------- local PLAYERName = " "; local function savePlayerName( event ) PLAYERName = event.data.alias -- Get player name requestloadScores() -- then request score and rank data end --------------------------------------------------------- -- Get Latest Gamecenter Scores --------------------------------------------------------- function requestloadScores() coronaGameNetwork.request( "loadScores", { leaderboard = { playerID = PLAYERName, category = GameCenterApplicationID, playerScope = "Global", -- Global, FriendsOnly timeScope = "AllTime", -- AllTime, Week, Today playerCentered = true, -- and this player is the player that is logged in }, listener = saveScores }) end --------------------------------------------------------- -- Save Player Score --------------------------------------------------------- local playerID = "-"; local category = "-"; local curScore = 0; local playerRank = 0; local function saveScores( event ) if event.data then playerID = event.data[1].playerID; category = event.data[1].category; curScore = event.data[1].value; playerRank = event.data[1].rank; end end
The above is an extended version that first retrieves the playerID, before calling " requestloadScores() " method as i thought that would help.
I’ve also tried a number of different variations of the " requestloadScores() " method above to try and get only the users high score (see code below), but mostly to no avail (as the documentation isnt very clear) any clarification on how to alter to code to retrieve only the players high score would be helpful.
--------------------------------------------------------- -- Get Latest Gamecenter Scores --------------------------------------------------------- function \_.requestloadScores() coronaGameNetwork.request( "loadScores", { leaderboard = { category = GameCenterApplicationID, playerScope = "Global", -- Global, FriendsOnly timeScope = "AllTime", -- AllTime, Week, Today range = {1,1} --,Just get one player playerCentered = true, -- and this player is the player that is logged in }, listener = saveScores }) end
--------------------------------------------------------- -- Get Latest Gamecenter Scores --------------------------------------------------------- function \_.requestloadScores() coronaGameNetwork.request( "loadScores", { leaderboard = { category = GameCenterApplicationID, playerScope = "Global", -- Global, FriendsOnly timeScope = "AllTime", -- AllTime, Week, Today range = {1,5} --,Just get one player --playerCentered = true, -- and this player is the player that is logged in }, listener = saveScores }) end
thanks