@Hudell Wanted to pop in again and ask a question.
When playtesting through the RPGMaker software, if I use the code to activate an achievement, nothing happens (which is normal). However, when the game is deployed and the script to activate an achievement runs, the game instantly closes itself without leaving an opportunity to check the console.
Is this intended behavior? I haven't had the chance to check if it works after the game is properly uploaded and connected to Steam.
static getAchivement(achievementId) {
if (!achievementId) {
console.error('Achievement name not provided.');
return false;
}
if (!this.greenworks) {
return false;
}
if (!this.running) {
return;
}
return this.greenworks.getAchivement(achievementId, () => {
// #ToDo
}, () => {
console.log(`Failed to check achievement: ${ achievementId }`);
});
@Hudell I wanted to bring up the "game crashing when attempting to activate an achievement" issue again if you don't mind.
When I released Celestial Hearts on Aldorlea awhile back, I had to update it to remove your achievements plugin because anyone who wasn't logged onto Steam would have their game crash every time an achievement tried to activate.
That's understandable considering the plugin shouldn't have been there to begin with. However, I did get a report from a Steam user today who is experiencing the same issue. My assumption is that either the user pirated the game or, they ran the game without Steam running (or weren't connected to the internet maybe?)
Right now I'm trying out a fix where I have the game check to see if Steam is running first (via CycloneSteam.running) before activating an achievement. That said, I still wanted to bring up the problem with you again in case you had time to look into it.
Also a bug that should be easier to fix:
}Code:static getAchivement(achievementId) { if (!achievementId) { console.error('Achievement name not provided.'); return false; } if (!this.greenworks) { return false; } if (!this.running) { return; } return this.greenworks.getAchivement(achievementId, () => { // #ToDo }, () => { console.log(`Failed to check achievement: ${ achievementId }`); });
The script "CycloneSteam.getAchievement('ACHIEVEMENT_NAME')" won't work because you've spelled it "getAchivement" in the plugin.
No, because the game crashes instantaneously alongside the console log.Do you know what is the error that happens when the game crash with the achievement?
The plugin already checks CycloneSteam.running before trying to do anything, so checking it again won't make any difference.
CycloneSteam.isSteamRunning()
CycloneSteam.restartAppIfNecessary(appId)
In case you haven't figured it out, or someone else is looking, I am pretty sure these are all scripts, so you have to use the script function and not the plugin command feature.@Hudell
Hello there, I am kinda new here,
I have downloaded Cyclonesteam and I have put it in the plugin folder and I have turned it on in the plugin manager but when I want to use the plugin command it just doesn't show in the list, Am I using it wrong? or is there something else that I need to do?
In case you haven't figured it out, or someone else is looking, I am pretty sure these are all scripts, so you have to use the script function and not the plugin command feature.
Third tab, advanced "Script..."
That said @Hudell thanks for the plugin and write up.