Omg I need to try it! thanks a lot!
At the moment I was trying to solve it by making a plugin that makes me a rating system in Google's Firebase and at the moment it works well for me but if I can use Steam, much better!
In addition, Steam itself also provides a page that displays the leaderboards. Take the leaderboards of "OPUS: Rocket of Whispers" as an example, he will be on the View Stats of the community Hub in the following image..
* If you're in-game, you can see the leaderboard information by pressing "Shift+Tab" to open the "Achievements" section of Steam Overlay.
Thank you very much for the information!!
Just as a suggestion, instead of making the score a fixed number, I would use a game variable. I imagine i dont need to tell you how to program this, but I'll leave you what I've implemented in case you want to add it. for future versions:
Metadata:
* @arg scoreVariableID * @text Score Variable ID * @desc ID of the game variable storing the score. If set, it will override the Score setting. * @type variable * @default 0
Plugin command:
PluginManager.registerCommand(NekoGakuen_SteamworksAPI_PluginName, "NekoCommands SetLeaderboardScore_SteamLeaderboard", args => { const scoreValue = args.scoreVariableID && args.scoreVariableID !== '0' ? $gameVariables.value(Number(args.scoreVariableID)) : Number(args.score); if ($gameVariables.value(NekoGakuen_SteamworksAPI.LeaderboardsVariable) === 0) { SoundManager.playBuzzer(); } else { SteamworksAPIManager.setLeaderboardScore(scoreValue, args.scoremethod); } });
Switch:
case 'SetLeaderboardScore_SteamLeaderboard': const scoreValue = args[3] && args[3] !== '0' ? $gameVariables.value(Number(args[3])) : Number(args[1]); if ($gameVariables.value(NekoGakuen_SteamworksAPI.LeaderboardsVariable) === 0) { SoundManager.playBuzzer(); } else { SteamworksAPIManager.setLeaderboardScore(scoreValue, args[2]); } break;