Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

However, the Leaderboards and Microtransactions are still in the Alpha testing stage!
https://rabbitteaparty.itch.io/nekogakuen-steamworksapi/devlog/585239/update-ver...

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!

(1 edit)

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;

Thank you very much. 🙏
I have now added the functionality for you to record leaderboard scores using variables.

Thanks to you!