Grade Victory Screen

Discussion in 'RGSS3 Scripts (RMVX Ace)' started by Neon Black, Jul 22, 2012.

    Tags:
  1. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    368
    Location:
    Eastern US
    First Language:
    Sarcasm
    Grade Victory Screen Script V2.1

    Created by Neon Black

    What is it?
    This script adds a fancy little information screen at the end of all battles that displays a certain amount of information. This script will also record the amount of damage you do during battle, the amount of damage you take during battle, the number of turns taken, and other information to grade the player at the end of battle. The user can then define increases an decreases in the amount of gold, exp, and loot gained at the end of battle! As an added bonus, you can also define additional drop items per monster.

    How can I use it?
    Simply place this script above main and below the default scripts. This script works automatically. There are two interesting things to note that you can do with this script.
    Line 122 by default defines a switch that causes the system to skip music changes in and after battle. While this switch is on, the battle music and victory musics will not play, and instead the map music or whatever music is currently playing will play into battle and into the victory screen.
    The script also have a few notebox tags that can be added for numerous effects. They are as follows:

    • drop[w:1:2] -or- drop[w:1:2:100] - This tag adds a drop to the monster. All three options must be defined and are used in the following order: The first option, "w" in this case, is the type of item to drop, either "w" for weapon, "a" for armour, or "i" for item. The next option, 1 in this case, is the database id of the item to drop, for example, in this case the item would be a hand axe. The third option, 2 in this case, is the odds for the item to drop, in this case 1:2. And the final option is the grade required to even allow the item to be dropped. In this case if the final grade in battle is 100 or higher, the item will drop.
    • score[x] - Place this in a monster's notebox and your score will increase by "x" when the monster is killed.
    • onehit[x] - Place this in a monster's notebox and your score will increase by "x" when the monster is one hit killed.
    • score[+x] - Place this in a skill or item's notebox and your score will increase or decrease by "x" when the skill or item is used. Both "+x" and "-x" are acceptable.
    What does it look like?
    [​IMG]
    [​IMG]
    What does it work with?
    It's likely that this script will not work with systems that modify the BattleManager too much. If you would like to use this script with any battle system and find any compatibility issues, post them here and I will gladly add compatibility to it.

    When using Mog ATB script, place this script ABOVE the other one.
    This script also has an issue with Yanfly's JP Manager scripts.  This script will fix the compatibility issues.  Instructions on ordering are in the script itself.

    How can I get the code?
    Version 2.1 (base script, 11.16.2012) is available from my pastebin account here.

    I would like to use this code.
    [​IMG]
    This work is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
    Permissions beyond the scope of this license may be available at http://cphouseset.wo...d-terms-of-use/.

    Author's Disclaimer:
    Sorry, had a lot to do yesterday so couldn't release this script that day, but I'll release both of the last scripts today. Anyway, here's day 6 of my week of scripts. I always like being able to view all the info at the end of battle, and I like rewarding the player for doing better in battle, so I started working on a victory screen that would show all the normal info at the end of battle while recording information and increasing rewards if the player does well in the battle. You can pretty easily define the increases to exp, gold, and drops based on the rank at the end of battle, and you can define the points you get for certain things done in battle. This victory screen was inspired by the victory screen in Ar Tonelico II, to be quite honest.

    I would LOVE to add other ways to add points, so if you have any ideas for other ways to get or lose points in battle, please just ask. Also, I do plan to add a bit more information for leveled up battlers, I just haven't had too much time to do that yet.

    This script has an option to use graphics for the grades. If you choose to use this, Slaq has provided me with several images that work great for the system and has allowed me to share them here. Select the ones you want and follow the instructions in the script to use them. Enjoy!

    [​IMG][​IMG][​IMG][​IMG][​IMG][​IMG]
    [​IMG][​IMG][​IMG][​IMG][​IMG][​IMG]
    [​IMG][​IMG][​IMG][​IMG][​IMG][​IMG]
    [​IMG][​IMG][​IMG][​IMG][​IMG][​IMG]
    [​IMG][​IMG][​IMG][​IMG][​IMG][​IMG]
    [​IMG][​IMG][​IMG][​IMG][​IMG][​IMG]
     
    Last edited by a moderator: Jun 6, 2013
    #1
  2. Tsukihime

    Tsukihime Veteran Veteran

    Messages:
    8,230
    Likes Received:
    3,062
    Location:
    Toronto
    First Language:
    English
    Lol reminds me of riviera.

    How about "finishing move" as a criteria.

    Also, consider making it easy for users to add arbitrary criteria, so that users can just do it themselves easily without having to request for updates.

    After all, I might have a bunch of custom scripts that add custom information that I want to use, but you wouldn't be able to distribute that because it would require those custom scripts.
     
    Last edited by a moderator: Jul 23, 2012
    #2
  3. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    368
    Location:
    Eastern US
    First Language:
    Sarcasm
    Explain this a little bit for me? It sounds like a great idea.

    Well, I had tried to think of ways to do something like this, but there's just too much information that could be obtained in battle and I didn't want to alias or overwrite too many methods, lest make it impossible for this script to work with too much. Also, aside from what I put in, I couldn't think of anything else right off hand that users might actually want to use to determine grade.... I don't think too many things would require more than 1 or 2 scripts in any case. Anyway, I can't really have my script get information that doesn't exist or anything until I know what scripts it's going to work with. If I come up with more default information for the script to grab I'll add it into the script, but without knowing other scripts it's going to interact with, I can't make it possible for my script to interact with them.

    I'll test this with some of the different battle systems out there (once I look for them... I haven't looked up VXA battle scripts yet) and make compatibility patches for them. I'm not going to mod the main script to work with several different battle systems all at once. That would just be ridiculous. Different "patch scripts" would just allow this script to work with a single script at any given moment. There's too many things for me to test, that's why I'll allow people to request. Also there's only so many things I can think up myself, so I'm asking for ideas. What do YOU the community want to see this script capable of doing? This is the kind of stuff I want it to do, but what kind of information do YOU want the script to get? I'll gladly add it.
     
    #3
  4. Tsukihime

    Tsukihime Veteran Veteran

    Messages:
    8,230
    Likes Received:
    3,062
    Location:
    Toronto
    First Language:
    English
    You might assign different "bonuses" to different skills.

    For example, if the final attack that ended the battle was a regular Attack skill, then you don't get any bonuses, but if I kill them with some "special move" then I get some points added to my grade level.

    Perhaps I get some bonuses if I dealt a critical hit.
     
    Last edited by a moderator: Jul 23, 2012
    #4
  5. Lorenze

    Lorenze Veteran Veteran

    Messages:
    819
    Likes Received:
    482
    Location:
    United States
    First Language:
    English
    Primarily Uses:
    RMMV
    Hey, awesome script! I got this error when using it with Yami's PCTB battle system though:

    [​IMG]

    Also, it seems that when the windows come up, they come up repeatedly, and music keeps

    restarting, even when the windows are fully up! Any help with this?

    Also, this is just a somewhat cosmetic suggestion, but it would be nice to have I little

    button at the end of the spoils window that says "continue" or something. It would help a lot in the

    case that there are no drops, since the window would just be blank. :p
     
    #5
  6. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    368
    Location:
    Eastern US
    First Language:
    Sarcasm
    Sure, I have a few other things to do with it as well. I'll add a little thing for when there are no drops and I'll look into compatibility with that battle system first.
     
    #6
  7. Nohmaan

    Nohmaan Veteran Veteran

    Messages:
    138
    Likes Received:
    33
    Location:
    Minneapolis MN
    First Language:
    English
    I don't quite undestand the explanation of how to change the points.

    "If the player takes 140 damage and deals 200 damage, the damage ratio would be 142 and the player would get any points for values lower than that."

    I'm not sure where that 142 comes from?

    Also, the point system is pretty cool, but I feel like simply basing the points off damage dealt/damage taken is a little simple. (For longer harder bosses, the damage ratio is going to be less favorable even with excellent tactics.) Perhaps having HP recovered could effect the points to a certain degree (i.e. 50% of all HP recovered would be deducted from the damage dealt). Perhaps the number of turns taken can be added into account as well? Maybe add a note tag to each foe that defines the number of turns they should be taken down in for bonus points?

    Could be also possible to add note tags to individual monsters to define bonus points for certain enemies? i.e. encounter the rare version of an enemy and gain a bonus 25pts.
     
    Last edited by a moderator: Jul 24, 2012
    #7
  8. Jawnsunn

    Jawnsunn glass cannon Member

    Messages:
    378
    Likes Received:
    41
    Location:
    California
    First Language:
    English
    Suggestion here, it would be nice to have a variable that counts each rank. Such as the total of how many A or B ranks you got throughout the whole game.

    This is a cool script. I just love the satisfaction of getting an S rank in any game.
     
    #8
  9. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    368
    Location:
    Eastern US
    First Language:
    Sarcasm
    It's funny how much of a difference one little symbol can make. What I meant by that is that the damage ratio would be 142%. The ratio is found by dividing the damage dealt by the damage recieved. So the damage dealt in this case is 142% of the damage recieved. So you can sort of adjust the damage ratios and points for your own battle algorithms. If the party is constantly dealing significantly higher damage than the enemies, you might adjust the ratios to use higher numbers. If the damage algorithms favour the foe troop, lower ratios would be better.

    I like this! I'll add it in.

    Already added this in the new version, just need to finish a few other things before I can release it.

    Todo: General cleanup/changes, added actor information, compatibility with Yami's PCTB, finisher moves, 1-hit kill bonuses, notetag bonuses, mp usage bonuses.

    EDIT:

    Ninja'd me....

    I suppose I could add something like that. Guess I really DO have my work cut out for me.
     
    Last edited by a moderator: Jul 24, 2012
    #9
  10. Xypher

    Xypher Veteran Veteran

    Messages:
    148
    Likes Received:
    26
    Just a quick question, how is the damage ratio affected by healing if at all?
     
    #10
  11. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    368
    Location:
    Eastern US
    First Language:
    Sarcasm
    Currently, it is not.
     
    #11
  12. Tuomo L

    Tuomo L Oldbie Veteran

    Messages:
    2,292
    Likes Received:
    1,263
    Location:
    Finland!
    First Language:
    Finnish
    Primarily Uses:
    RMMV
    Hello, I'm using Yanfly's battle engine and would like to request a patch whenever you've got the time. Currently, this victory screen gives this error.

    Script 'Victory Grade' line 397: ArgumentError occured.

    wrong number of arguments (1 for 0)

    Also, I had a suggestion for a feature. The option to either allow ME to play before the victory music, such as a short fanfare or not play one, depending on user's choice.
     
    #12
  13. deilin

    deilin Ranger/Elementalist Veteran

    Messages:
    1,189
    Likes Received:
    173
    First Language:
    English
    You aren't level 1 are you?

    That aside, you wanted to know any changes made, or script conflict.

    I have a custom difficilty script and exp courve script conflict.

    The exp curve, I was able to embed into your script and make lvl 10 read as if its lvl 1 and nit error.

    My difficulty script adjusted enemy strength, exp earned and gold earne and drops. Disabling all but the difficulty, and adjusting your rank matrix, deffinate interesting results if you randomly draw a harder spawn troop.

    Suggestions:

    score for largest hit

    Score for healing

    Score for using skill[x] positive and negative.

    example:

    +1 for heal

    -10 for revive

    -1 for forbidden/dark magic

    My biggest worry for this is the fact exp needed for next level reads as a negative number...
     
    Last edited by a moderator: Aug 6, 2012
    #13
  14. Tuomo L

    Tuomo L Oldbie Veteran

    Messages:
    2,292
    Likes Received:
    1,263
    Location:
    Finland!
    First Language:
    Finnish
    Primarily Uses:
    RMMV
    Actually, yes. You mean my actor has to start from level 2?
     
    #14
  15. deilin

    deilin Ranger/Elementalist Veteran

    Messages:
    1,189
    Likes Received:
    173
    First Language:
    English
    For now it seems... I plan to fix his equations fix his lvl 0 issues, hopefully.
     
    #15
  16. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    368
    Location:
    Eastern US
    First Language:
    Sarcasm
    I thought I had fixed the level 0 issue.... Dunno, it's been so long. Sorry, I am fixing these things and adding to the script, however I keep getting new ideas before I can release the current version.... Sorry again. Kinda knew this script would have a bunch of bugs I couldn't find.
     
    #16
  17. ZAiKAi

    ZAiKAi Ultimate Baka Veteran

    Messages:
    48
    Likes Received:
    1
    Location:
    It's a mystery~
    First Language:
    English
    I have not downloaded this script yet (I am currently still using VX) , but I have a suggestion.

    You should also make it so the player's level and how many enemies there were also effect the grade.

    And maybe (if this isn't too much) you could add something showing the actual score they got? (like the number you get after adding and subtracting all of the variables to determine the score)
     
    #17
  18. deilin

    deilin Ranger/Elementalist Veteran

    Messages:
    1,189
    Likes Received:
    173
    First Language:
    English
    For purposes of my game, this fixed the level ) issue and it works on all my tests so far. I think you probably tried too hard with your equations...

    As you can see, I have a steep exp curve (@level * 1000) so it's 1000 for level 2, 2000 more (3000 exp total) for level 3.



    Code:
      ## Determines the exp for the last level.  Fatal if used at level 1.
      def last_level_exp
       return exp_for_level(@level)
      end
      def current_level_exp
        return exp_for_level(@level)
      end
      def next_level_exp
        (@level) * 1000
      end
    
     
    #18
  19. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    368
    Location:
    Eastern US
    First Language:
    Sarcasm
    I've been unable to replicate this issue with Yanfly's battle engine. What add-ons are you using? The issue may lie in one of them.

    I don't really understand why you had any need to actually add your custom exp equations into this script, unless either you define them somewhere else in the script rather than overwriting the default ones, or if some other script is overwriting them.

    Also, while I do tend to overcomplicate certain things, there was a reason I had "last_level_exp" as it was. It checks the exp requirements of the level below the current one to get a baseline for the exp gauge. I mean, if what you did is working for you, more power to you, but I've yet to see any issue with it on my end.

    Okay, so still working on updates with this thing.... Redid how scores work and added in a few other score items. Going to add a few other windows for showing actor level ups and all the score bonuses and such. Reworked a few things, re-ordered a few things, and did some general cleanup.
     
    #19
  20. deilin

    deilin Ranger/Elementalist Veteran

    Messages:
    1,189
    Likes Received:
    173
    First Language:
    English
    because I added this script last, it overwrote my exp script which was higher up the list

    [​IMG]

    I haven't used the in game EXP curves since 2K
     
    Last edited by a moderator: Aug 7, 2012
    #20

Share This Page