MV - HO Achievement System

● ARCHIVED · READ-ONLY
Started by horst_onager 29 posts Page 1 of 2 View original ↗
  1. HO Achievement System v1.4
    Author: Horst Onager
    Latest Update: 2024-03-25
    ------------------------------------------------------------------------------------------------

    Hi everyone!

    This plugin adds an achievement system into your game! It's a plugin I originally wrote for just my own projects, because I couldn't find any existing plugins that fit all of my needs, but now I've decided to share it!


    Key Features:
    • Rewards! Get gold, experience, items, weapons or armors as rewards for completing achievements!
    • Achievement Points! Earn points for completing achievements, and get rewards for reaching certain amounts of points!
    • An alert window to inform the players about their achievement progress!
    • Tiers! Split up achievements into smaller steps!
    • Progress bars! Visualize the progress the player has made so far!
    • Repeatable achievements! Set any achievement to be repeatable as many times as you like, or even infinitely often!
    • A lot of parameters for you to customize the achievement system to your liking!

    Screenshots:
    Screenshots
    Progress bar, rewardsPoint rewardsCategoriesRepeatable achievementsAlert window

    Downloads:

    How To Use:

    I've put detailed instructions and explanations in the plugin's help section, so hopefully that will be enough. But if you have any additional questions, feel free to ask here!


    Terms Of Use:

    This plugin is licensed under an MIT license, so it is free to use for commercial and non-commercial projects, as long as you mention "Horst Onager" somewhere in your game's credits.


    Notes:

    There is no automatic achievement completion or switch or variable tracking, so you will have to implement all achievement progress via plugin commands. However, you can also download a small extension plugin that provides functionality for some more common achievements like playtime, walked steps or earned gold (HO_X_AchievementExt.js).

    Also, I've tested the plugin to the best of my abilities, but of course there could still be bugs in there, so let me know if you find any.

    Happy RPG making!


    Changelog:
    Changelog
    v1.4
    - Fixed bug related to repeatable achievements.

    v1.3:
    - Achievement points for current tier are no longer drawn when the maximum points for that achievement have already been rewarded.
    - Infinitely repeatable achievements are now treated as completed as soon as they have been repeated once.
    - Greatly improved plugin performance, especially in case of many achievements.
    - Players can now also jump to the very end of the list by pressing the -> button, instead of just to the last category.
    - Achievement alerts are now also shown in-battle.

    v1.2:
    - Made some small improvements to the code.

    v1.1:
    - Added demo project.
    - Changed category icons to be arbitrary text allowing text codes.
    - Fixed some bugs involving plugin commands

    v1.0:
    - Released plugin.
  2. I know 2 other really nice ones (CGMV_Achievements) that has no categories
    and SMO_Achievements that has categories (with secret and hidden achievement)
    hidden as compleetly not visible.

    to compare with those 2, repeatable is new, but from the image, the 4th one,
    tier 1 and behind 0/100, what exacly does this?

    is it possible for a tiny demo to play around this part so they can play around and learn
    how some this works as well?

    otherwise, nice plugin :)
  3. ShadowDragon said:
    from the image, the 4th one,
    tier 1 and behind 0/100, what exacly does this?

    These are achievement points. 0/100 would mean that so far the player has gotten 0 out of the total 100 achievement points this achievement can award.

    ShadowDragon said:
    is it possible for a tiny demo to play around this part so they can play around and learn
    how some this works as well?

    I'll see if I can throw together something as soon as I have some time. Do you have something specific in mind you would want a tutorial for?

    ShadowDragon said:
    otherwise, nice plugin :)

    Thanks! :D
  4. just some simple ones, 2 battle, gold gain, gold spend, steps, variable etc, create around
    8 achievement over 3-4 tiny maps, 4 simple ones, 4 bit advanced, to give some insight what
    can be done.

    for now, cgmv was my favorite, might go to SMOAchievements, unless this go nicer,
    but the setup for SMO is really nice, but there is always space for improvements.

    if the arrows for categies are images based, there can go some ways, if its fixed, maybe
    a possibility to change arrows to + - or a different way.
  5. ShadowDragon said:
    if the arrows for categies are images based, there can go some ways, if its fixed, maybe
    a possibility to change arrows to + - or a different way.

    Right now, the category arrows are icons. But it would actually be a good idea to just make that text-based and allow the dev to use text codes if they want icons.
  6. icon based works too, while we can pick any icons, I wait for the demo, so I can play around
    with the 3 and see what looks better, but every game has different needs, so good plugins
    are always welcome, even if its different 1 tiny bit from another, specially compabilities can
    avoid this if other conflict to much :)
  7. Alright, I've put together a very simple demo that showcases some of the custom achievements I've coded in the extension plugin and some other simple ones.
    There's also some NPCs where you can try out all the other plugin commands.
  8. I will try it out and report back :)

    EDIT:
    I didn't quite understand the progress of your achievement struct, but it seems it needs to
    be done manually to add achievement x add 1 progress, can be some troublesome on one
    side, on the otherside, full controll, not sure how its done with the actor levels though,
    but will test some more and check around the system.

    but it's nicely done, but probably not for my current project unfortunately.
    I keep this demo to learn to see if I can use it elsewhere. nice Icons for close/open books =).
  9. ShadowDragon said:
    I didn't quite understand the progress of your achievement struct, but it seems it needs to
    be done manually to add achievement x add 1 progress, can be some troublesome on one
    side, on the otherside, full controll, not sure how its done with the actor levels though,
    but will test some more and check around the system.

    The progress is basically just a variable that represent how much progress the player has made towards the achievement's goal. And yes, the dev has to manually manage the progress of each achievement through plugin commands. I'm personally not a big fan of these permanent background checks like some other achievement plugins do it, which is why I did it like this, but i definitely see that this can be a problem for achievements like actor levels or walked steps or things like that if you're not a coder ^^'

    I'm currently porting the plugin over for MZ, and I thought about binding the achievement progress to variables, maybe that would be more practical?

    ShadowDragon said:
    but it's nicely done, but probably not for my current project unfortunately.
    I keep this demo to learn to see if I can use it elsewhere. nice Icons for close/open books =).
    No worries, thanks for testing it out anyway :D
  10. if I can make a suggestion, while the plugin is nice, you can create a tiny addon (if it is tiny)
    that it can automate if you want too, else you can do it manually.

    Manually can give full controll, I agree on that part, so you can give points to specific
    enemies defeated and not more than 2 if its to easy to avoid easy rewards.

    there are defenitly pro's on this one not seen on other I saw and play around with.
    but it can be used for some or most games.

    the hid/show command and enable/deisable command is something I need to find out
    what those exacly does. but keep up the nice work though =)

    EDIT:
    after playing around a tiny bit and change points given, break any achievements,
    this is a screenshot of the battle I broke in giving a different amount of points,
    higher than the progress and killing the enemy.

    BrokenFunction.png

    maybe a safety function that it will update so it wont break?
    Max reapeated stays 20, tiers wont update, the achievement on the background says
    "Mass Murderer" "Achievement progressed (2 or 3x)" "Achievement compleeted"

    this over and over, when I overkill with the points (instead of 1, I throw " add 100 points"
    for test purposes. see how the plugin handle the progress, but that seems to break it.
  11. ShadowDragon said:
    if I can make a suggestion, while the plugin is nice, you can create a tiny addon (if it is tiny)
    that it can automate if you want too, else you can do it manually.

    If you look in a the plugin list, there's a plugin called HO_AchievementList_CustomAchievements, which does exactly that, it automates some common achievements that aren't easily implemented with just plugin commands. If you have any other ideas for more of these, I'd be happy to hear them :)

    ShadowDragon said:
    the achievement on the background says "Mass Murderer" "Achievement progressed (2 or 3x)" "Achievement compleeted"

    The alert pops up every time the player completes an achievement, so if enough progress is added to a repeatable achievement to complete it multiple times in a row it will also pop up multiple times.

    As for the other thing, I'm not quite sure what's causing it. I've just tested it myself and it works fine. Could you post here your edited project or PM it to me, so I can take a look at the settings?
  12. settings are the same as the project demo, just on the battle NPC (golbin),
    achievemt 5 Add 1 point (win), I change that to 100 points, while repeated 20 is max,
    the name should be yellow, with overkill of points, it breaks that, but you keep getting
    rewards (I got over 40 swords, wands, etc) 80 is max tier, but I keep getting progress
    compleeted rewards.

    also, in battle, when you kill it 1x, you are level 2, when out of battle, you become level 5.
    not sure if this is on purpose or testing part though.

    but while I use it for test purpose, I think I got with SMO_Achievements, which can categorize
    as well, but also has some minor issues, but also the ability to give each category a background
    image, repossition the popup (which you could too), and some other things, compleetly hidden
    is not on your plugin yet), but in the other, not anyone with an achievement system has it.

    maybe you can add an ability for the one that use this plugin, achievement name only
    or only the bottom.

    I use a image pop up which is best in cgmv achievement, in SMO I need to make it happen
    still. but I can put your achievement plugin in my top 3 out of the 6 I found :), other 2 a buggy though,
    the last one is more complicated using comments and stuff.

    I think CGMV is still my favorite, while SMO has something I like as well as my 2nd favorite,
    and yours has repeatable for more rewards or different reward upon completion, not
    found in the previous 5 plugins, so that one makes your unique :)
  13. Your plug-in is very good. I have also looked at your demo project, but I still don't understand how to judge playtime, steps, total gold, etc. I imitated your settings, but it didn't work. I immediately copied the third item in the achievement list of your demo project. I changed the 500 of tier to 200 gold, but I have 50 progress bar, which has not been increased. I think it will be time to share it with friends.1.png2.png
  14. xiamumomo said:
    but I still don't understand how to judge playtime, steps, total gold, etc. I imitated your settings, but it didn't work. I immediately copied the third item in the achievement list of your demo project.

    Take a look at the plugin list, under the achievement plugin there's a second plugin called "HO_AchievementSystem_CustomAchievements". It's a small extension plugin I wrote to provide support for some common achievements, so that you wouldn't have to implement them with parallel common events or something like that. Most of the default achievements are set up there.

    xiamumomo said:
    Your plug-in is very good.

    Thanks :D
  15. horst_onager said:
    Take a look at the plugin list, under the achievement plugin there's a second plugin called "HO_AchievementSystem_CustomAchievements". It's a small extension plugin I wrote to provide support for some common achievements, so that you wouldn't have to implement them with parallel common events or something like that. Most of the default achievements are set up there.



    Thanks :D
    Thank you very much for your advice. I understand now
  16. can you help?

    TypeError: value.addLoadListener is not a function
    at Sprite.set (rpg_core.js:4000)
    at Scene_Achievements.createBackground (HO_AchievementSystem.js:2620)
    at Scene_Achievements.create (HO_AchievementSystem.js:2613)
    at Function.SceneManager.changeScene (rpg_managers.js:2005)
    at Function.SceneManager.updateMain (rpg_managers.js:1982)
    at Function.SceneManager.update (rpg_managers.js:1907)
  17. hi great plugin. how do i get the total points earned in javascript? or a plugin command? im trying to define it in a variable so i can tell a user in game they have X amount of points.
  18. Hey, sorry for the late responses, I just stopped getting notifications about this post at some point for unknown reasons ^^'

    furkan2 said:
    can you help?

    TypeError: value.addLoadListener is not a function
    at Sprite.set (rpg_core.js:4000)
    at Scene_Achievements.createBackground (HO_AchievementSystem.js:2620)
    at Scene_Achievements.create (HO_AchievementSystem.js:2613)
    at Function.SceneManager.changeScene (rpg_managers.js:2005)
    at Function.SceneManager.updateMain (rpg_managers.js:1982)
    at Function.SceneManager.update (rpg_managers.js:1907)

    Hard to tell anything from just this error message without knowing what other plugins you ahve installed. Also, what version of RPG Maker MV are you using?

    Raggon said:
    hi great plugin. how do i get the total points earned in javascript? or a plugin command? im trying to define it in a variable so i can tell a user in game they have X amount of points.

    You can get the total amount of earned achievement points by using $gameParty.achievements().getPoints()

    The total amount is also displayed in the top right corner of the achievement scene though ^^
  19. horst_onager said:
    Hey, sorry for the late responses, I just stopped getting notifications about this post at some point for unknown reasons ^^'



    Hard to tell anything from just this error message without knowing what other plugins you ahve installed. Also, what version of RPG Maker MV are you using?



    You can get the total amount of earned achievement points by using $gameParty.achievements().getPoints()

    The total amount is also displayed in the top right corner of the achievement scene though ^^
    I'm glad you're back, I'll try to use this amazing plugin again soon, if there is a problem, I will write more detailed information.
    Thank you
  20. so I just downloaded this plug i n and sorry if this sounds stupid but I can't figure out how to make an achievement.