I've fixed the image link.
MZ - Steam Greenworks plugin for MZ
● ARCHIVED · READ-ONLY
-
-
That will help hopefully.
Edit: It didn't. -
@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.
@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. -
@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.
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. -
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.
If you ever have a couple minutes, this problem is super easy to replicate. All you have to do is set up an event that activates an achievement, deploy the project (this is the important part, it wont crash if you run in RPG Maker) and run the project. When the achievement attempts to activate, the game will crash.
If you or nobody else can replicate the problem by following those steps, then the problem is on my end. I assume I have the correct files since everything works normally otherwise. -
@jkweath
If you use Visustella Core, you could make a common event that always starts at the new game checks
Code:CycloneSteam.isSteamRunning()
and if true do script command
Code:CycloneSteam.restartAppIfNecessary(appId)
replace the appid with your appid.
and if false, go to title screen.
What it would make is cause the player to not be able to start the game without Steam running and has the app, thus eliminating crash issue as well as acting as a rudementary protection. -
Thanks for the suggestion Tuomo. I'll definitely consider it, though I hope it doesn't have to come to that. I'd rather avoid any solution that involves potentially locking out an innocent player, or someone who just doesn't want to have Steam loaded for whatever reason.
The problem seems pretty rare so far, so for now I posted instructions on my game's discussion board for how to manually disable Hudell's plugin. That way I won't have to disable achievements for everyone or program an in-game toggle, which is beyond my abilities ATM unfortunately. -
@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?
I am sorry but I am really a newbie at this.
I have screenshots for references :
-
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?
Third tab, advanced "Script..."
That said @Hudell thanks for the plugin and write up. -
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.
Thank you for the answer! That cleared up lots of things. -
Thanks, @Hudell, for CycloneSteam and the instructions on makerdevs - very helpful!
I had the same problem as @jkweath where the deployed game would shut down on its own with no error messages when trying to activate/clear an achievement under certain conditions (Steam is running but the game is not in that particular Steam account's library - this could happen even without being a pirated copy). After some error checking I found that including a check to see if the API is initialized helped, e.g., see below:
Code:static activateAchievement(achievementId) { if (!achievementId) { console.error('Achievement name not provided.'); return; } if (!this.greenworks) { console.log(`Activate Achievement ${ achievementId }`); return; } if (!this.running) { return; } if (!this.initialized) { // I added this check return; } this.greenworks.activateAchievement(achievementId, () => { console.log(`Achievement activated: ${ achievementId }`); }, () => { console.log(`Failed to activate achievement: ${ achievementId }`); }); }
In addition, when getting the number of achievements (which is the only other function I use), I also found it necessary to include the if (!this.running) and if (!this.initialized) checks to avoid the sudden closure of the game. -
@Hudell The achievements work great, however I am having an issue calling the CycloneSteam.screenName script. The error is saying is an engine error. I attached my issue both console and how it is inserted in game.
-
@Hudell i need to access the documentation, but makerdevs is down, do you have documentation somewhere else?
-
@Hudell i need to access the documentation, but makerdevs is down, do you have documentation somewhere else?
Same problem :( I wish to use the plugin for steam achievements on MZ and find the documentation and instructions on how to use it, sadly, the site is currently down. :( -
Same problem :( I wish to use the plugin for steam achievements on MZ and find the documentation and instructions on how to use it, sadly, the site is currently down. :(
Try:
Rpg Maker MZ Plugin: SteamLink (Steamworks for Rpg maker MZ) by Undermax -
Wow havent found this before, thank you so much Undermax, I'll check out your plugin <3 :kaoluv: