Of course I understand logic and it's perfect, and would you work on commission for this function?
Viewing post in NekoGakuen SteamworksAPI comments
I'm really sorry... but with my current abilities, I can't implement this feature yet...
Although I've made some progress on the leaderboards so far through the APIs on the following sites, it may be a long, long time before I'm done...
https://partner.steamgames.com/doc/webapi/ISteamLeaderboards
https://steamapi.xpaw.me/#ISteamLeaderboards
However, the Leaderboards and Microtransactions are still in the Alpha testing stage!
https://rabbitteaparty.itch.io/nekogakuen-steamworksapi/devlog/585239/update-ver...
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;