RPG Maker MZ Plugin: Achievements
A downloadable asset pack
If you like this plugin, you can buy me a Ko-Fi! You can also find all the pay plugins for a cheaper subscription!
This plugin allows you to add Achievements to your game. Those Achievements will be stored in a JSON and will be shared among all plays and savegames of your project
Be sure to have installed the .js file in the js/plugins folder of your project and the .JSON file in the data folder of your project.
If at any time you want to whipe your achievements data, just open the JSON and write []
PRO TIP: As the Achievments changes are PERMANENT it's useful to keep a hidden event in that adds all the achievements, once you are ready to distribute your game you can whipe and re-add the achievements to reset them.
This plugin comes with the following features:
- Pictures or Icons: You can use pictures (48x48 px) or RMMZ icons for your achievements
- AutoGray Feature (only pictures): If you use pictures and you enable Autogray, the plugin will turn pictures to grayscale if the achievement is locked
- Fulfillments: You can add up to 3 fulfillments per Achievement and you can decide how every each of them is displayed (text, gauge or combination of both). If ALL active fulfillments are met, the plugin will auto-unlock the achievement
- Hidden achievements: You can set Achievements to "Hidden", they will use a standard format and will hide fulfillments and rewards in the menu
- PopUp Window: You can choose to show a popUp message when the achievement is unlocked, it can also play a Sound Effect when popping. PopUp window have a built in queque and will display multiple unlocked achievements one by one
- JSON Auto-Encryption: The plugin offer the option to soft encrypt the JSON file, it's nothing a programmer can't decrypt but it should stop average users from just changing "false" with "true" in the isDone field
CALLING THE PLUGIN FROM EXTERNAL SOURCES:
The achievement completion can be also called from outside the plugin, for example you could call it from the Title Screen if you want to create a "Start the game" achievement! To do so, just write the script call: window.WD_Interplugin_Achievements.complete(id);
Where "id" is the ID of the achievement!
Please make sure the database is ready and plugins are loaded before the external script call commence.
KNOWN COMPATIBILY ISSUES:
- VisuStella Core: Error when you use "Battle Test" in the editor, for some reason with VisuStella it searches for Test_WD_Achievements.json in the data folder (only for Battle Test). Simply create a dummy file with that name and you are good to go
Terms of use
Please refer to the Terms of Use. By using this plugin you accept WinterDream terms
Version, bugs and further development
VERSION 1.0:
- Initial Release
VERSION 1.1:
- Hotfix for a problem reported by Rizky Fauzy Ananda. The save/load feature of the JSON would crash on web distribution. Added a check to control if the game is played on a local machine and added a new save/load method by key foraging in the event the game is a web distribution. Thanks to Aerosys and caethyril for the help with this fix!
VERSION 1.2:
- Added two Quality of Life plugin commands: Re-Hide an achievement (useful if you manually de-hidden an achievement) and Reset all Achievements to Not Done, you can simply hit this command to undo all achievements, hopefully this will speed up the pre-distribution process of your project
VERSION 1.2.1:
- Fixed a minor bug in the data load that shouldn't have caused any issues anyway
- Removed a couple of dead variables that were implemented but never used
VERSION 1.3:
- Fixed pictures misplacements if using a different Screen vs UI resolution
- Investigated the possible issue of teleporting to another map while popping the achievement complete window, no issues have been recorded
- Investigated the possible issue of changing scene (menu, save, game over, title screen) while achievement windows is popping. No fatal error, but it would be better to avoid such simultaneous events or the pop window might be lost
- Investigated the possible issue about giving out rewards while not in the game. The game will IGNORE all the rewards, there is no way to recover them. That said, popping an achievement outside the game need the special external script call to be doable. So shame on you if you pop a rewarding achievement outside the game!
- Added a script call to run the "Complete Achievement" command outside the plugin (see instructions in the description). Be sure to have the database and plugins ready before doing so.
VERSION 1.4:
- Fixed a problem that would save achievements in both format (encrypted and clear) if the dev switched Encryption flag while adding them, this would result in a fatal crash once the plugin tries to load the JSON with both encrypted and clear data. The new load method now prevents another fatal crash that would happen when adding an achievement right after wiping the JSON. Thanks to F.O.X. Development for the report.
- Changed the sprite generation function for the achievements pictures, now they anchor to the windows instead of the scene, this should solve once for all the misplacement bug when the UI resolution is different from screen resolution. Plus it should avoid conflict with other plugins that manipulate the windows behaviour (but this is something I can only guarantee to an extent
VERSION 1.5:
- Fixed a bug that would cause a crash to the plugin if the player hit the Ok button before highlighting an achievement, thanks to Frog-rz4ot for the report!
- Considering the problem above, added the possibility to choose if you want the achievement showroom to start not highlighted or with the first achievement highlighted
Future released will aim to allow text translation and more automation
Updated | 6 days ago |
Status | Released |
Category | Assets |
Rating | Rated 4.0 out of 5 stars (1 total ratings) |
Author | WinterDream Games Creator |
Tags | achievement, achievements, DRM Free, plugin, RPG Maker, RPG Maker MZ |
Download
Click download now to get access to the following files:
Development log
- Achievements goes to v1.5: Fix the (High)light6 days ago
- Version 1.4: An important fix and hopefully a definitive solution to pictures al...74 days ago
- Picture bugfix, external plugin commands and a couple of checksJun 08, 2024
- Minor hotFix in v1.2.1Jun 02, 2024
- Version 1.2: Two QoL plugin commands addedJan 12, 2024
- Hotfix for web distribuited games is out!Dec 30, 2023
- Xmas Gift: Free MZ plugin - Achievements!Dec 25, 2023
Comments
Log in with itch.io to leave a comment.
Ello. Pretty sure this has something do with with the icons, tho I cannot figure out what exactly isn't loading correctly. This only happens when I press the Achievements list button, tho I just cannot figure out how to solve this.
Usually when I got reports of this error is because the JSON file isn't compiled correctly, if you can send me the .JSON or a screen of it at my mail winterdreamgamecreator@gmail.com or on Discord I can take a look
Alright, a mail has been send with the file.
I am faced with this problem
Is it the last version of the plugin?
If so please provide me those informations:
And if you are using other plugins, especially graphics plugins
I have the same problem but only using pictures option, with icons works nice (using 12 achievements)
Can you tell me the screen width/height and area UI width/height?
The picture are 48x48 pixel?
yes, they are 48x48.
Ok thanks ! I'll try to reproduce the error.
Just a curiosity, does your pictures have transparencies or is full colour?
Full color 48x48 png
V1.4 is out and SHOULD fix the problem, if not then there could be a plugin conflict
I ran into an error where somehow the battle test in the database is completely broken. The log says something about a file being missing.
Other than that, great plugin!
I see the problem and it's on the Visustella side, not mine
Too patch it up during your game development duplicate the WD_Achievements.json and rename the copy Test_WD_Achievements.json, this will solve the bug
You don't need to update the Test_WD_Achievements.json, use it only as a dummy file to make Visu work
Great! Thanks for the help!
Is there a way to use it with Visual stella core? :(
Hi, what happens if both are active?