Extra Status Window (Additional window for showing party's alignment, progress and more)

Discussion in 'JS Plugin Releases (RMMV)' started by LadyBaskerville, Jul 26, 2017.

  1. LadyBaskerville

    LadyBaskerville Hell-poodle Veteran

    Messages:
    645
    Likes Received:
    483
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    Extra Status v1.1.3

    LadyBaskerville

    Introduction
    This plugin creates a highly customizable status screen that can be accessed from the main menu. It is mainly focused on displaying numeric values ranging between a minimum and a maximum value, like the alignment on a good--evil scale, relationships between characters, or progress within a "Find X amount of Y!" quest. However, it can also display text and images.

    You can now switch between a Party and an Actor mode. On Party mode, one Extra Status screen for the entire party will be shown by the menu command. On Actor mode, the menu command will let you select an actor first, like the skill, status and equip commands. (The selected actor is referred to by this._actor in all Javascript parameters. On Party mode, this._actor refers to the party leader instead.)

    A word of warning: This plugin requires some Javascript code in its configuration. If you don't know where to start with it, you can find a small list of the most important commands for this plugin at the very bottom of this post. There will also a be link to a demo project where you can see some of those commands in action.

    This plugin also requires the RMMV editor to be updated to 1.5.0.

    Features
    - Creates a customizable status screen that can be accessed from the main menu or via a plugin command.
    - Lets you add (mostly) static text and images to the new status screen.
    - Lets you display variables, or any values you can access with a line of Javascript, as text, a gauge, or a slider.
    - Lets you dynamically show and hide entries on the new status screen.

    Screenshot
    This is an example screen from the demo linked below.
    ExtraStatus_example.png

    How to Use
    In the plugin parameters, you will some general settings for the Extra Status screen and, most importanly, a list of entries. Those will make up the actual contents of the screen. Each entry can be dynamically shown and hidden, and can contain one of each of the following elements:

    - Text: Pure text.
    - Image: An image from the img/exstatus folder.
    - Value: A value returned by a Javascript evaluation.
    It can be displayed in the following ways:
    - as text (the only option for non-numeric values)
    - as a gauge
    - as a slider image

    All of this can be configured in the plugin parameters. For more details, have a look into the Help file or the spoilers below.

    Plugin Parameters
    Show in Main Menu:
    Choose whether a command to open the Extra Status screen will be added to the main menu.

    Menu Command Name:
    If you want to show a command in the main menu, enter its name here.

    Actor / Party Mode:
    When set to Party, one Extra Status screen for the entire party will be shown by the menu command. When set to Actor, the menu command will let you select an actor first, like the skill, status and equip commands. The selected actor is referred to by this._actor in all Javascript parameters.
    Examples:
    - Enter the condition this._actor._actorId === 3 to only display the entry when actor #3 was chosen.
    - Use this._actor.hp as a value to get the chosen actor's hp.
    On Party Mode, this._actor will refer to the party leader.

    Window Width:
    The width of the Extra Status window. Can be a number or a Javascript eval.

    Window Height:
    The height of the Extra Status window. Can be a number or a Javascript eval.

    Window X Position:
    The X Position of the Extra Status window. Can be a number or a Javascript eval.

    Window Y Position:
    The Y Position of the Extra Status window. Can be a number or a Javascript eval.

    Window Colums:
    The number of colums for the entries in the Extra Status window.

    Window Rows:
    The number of rows for the entries in the Extra Status window.

    Entries:
    A list of the entries shown in the Extra Status window. Details below.
    General

    Column:
    The column in which the entry is displayed. Note that the columns are counted beginning from 0. For example, four columns would be addressed as 0, 1, 2 and 3, respectively.

    Row:
    The column in which the entry is displayed. The rows are counted beginning from 0, as well.

    Condition:
    A line of Javascript. When it evaluates to true, the entry will be show, otherwise it will be hidden. If you always want to show an entry, type "true".

    Text

    Show Text:
    Choose if this entry should contain text.

    Text:
    If you decide to show some text, this is the text that will be shown. You can use text codes here.

    Text X Offset:
    The horizontal offset of the text within the entry. You can enter a number or a Javascript eval here.

    Text Y Offset:
    The vertical offset of the text within the entry. You can enter a number or a Javascript eval here.

    Value

    Value:
    A line of Javascript code. It can return a number or a string, but if it is a string, you cannot display it as a gauge or a slider.

    Minimum Value:
    The smallest number "Value" can become. This is only applicable if Value returns a number, otherwise you can ignore this setting. You can enter a number or a Javascript eval here.

    Maximum Value:
    The largest number "Value" can become. This is only applicable if Value returns a number, otherwise you can ignore this setting. You can enter a number or a Javascript eval here.

    Show Value Text:
    If you select "Yes", the value will be shown as a line of text.

    Show Current/Max:
    If you choose to show the value as text, specify whether it will be shown as a single value or in the format CURRENT/MAX. This is only really applicable if Value returns a number, but using it with a string will not give an error - in case you want to display something like "Harold/100" for whatever reason.

    Value X Offset:
    The horizontal offset for the value text within the entry. You can enter a number or a Javascript eval here.

    Value Y Offset:
    The vertical offset for the value text within the entry. You can enter a number or a Javascript eval here.

    Value Prefix:
    Text to be displayed directly before the value. You can use text codes here.

    Value Postfix:
    Text to be displayed directly after the value. You can use text codes here.

    Show Value Gauge:
    If you select "Yes", the value will be shown as a gauge. This is only applicable if Value returns a number. If you try to display a gauge for a non-numeric value, it will not be drawn and an error message will appear in the console.

    Gauge X Offset:
    The horizontal offset for the gauge within the entry. You can enter a number or a Javascript eval here.

    Gauge Y Offset:
    The vertical offset for the gauge within the entry. You can enter a number or a Javascript eval here.

    Gauge Direction:
    The direction from which the gauge will start to fill.

    Gauge Width:
    The width of the gauge. You can enter a number or a Javascript eval here.

    Gauge Height:
    The height of the gauge. You can enter a number or a Javascript eval here.

    Gauge Color 1:
    The gauge will be drawn with a gradient. Enter the first color of the gauge here as a hex color code (e.g. #ff0000). You can find color pickers that display hex color codes in most image editing programs, or online.

    Gauge Color 2:
    The second color of the gauge in hex format.

    Background Gauge Color:
    The backgound color of the gauge in hex format.

    Show Slider:
    If you select "Yes", the value will be shown as a slider. This is only applicable if Value returns a number. If you try to display a slider for a non-numeric value, it will not be drawn and an error message will appear in the console.

    Slider Bar Image:
    The image for the slider bar. This will be drawn as a background to the marker. The image must be located in the img/exstatus folder.

    Marker Image:
    The image for the actual slider, or the marker, that shows at which point between minimum and maximum the value currently is. The image must be located in the img/exstatus folder.

    Slider X Offset:
    The horizontal offset for the entire slider bar within the entry. You can enter a number or a Javascript eval here.

    Slider Y Offset:
    The vertical offset for the entire slider within the entry. You can enter a number or a Javascript eval here.

    Starting X Position:
    The horizontal starting position for the marker relative to the bar. You can enter a number or a Javascript eval here.

    End X Position:
    The horizontal end position for the marker relative to the bar. You can enter a number or a Javascript eval here.

    Starting Y Position:
    The vertival starting position for the marker relative to the bar. You can enter a number or a Javascript eval here.

    End Y Position:
    The vertical end position for the marker relative to the bar. You can enter a number or a Javascript eval here.

    Image

    Show Image:
    Choose if this entry should contain an image.

    Image File:
    If you choose to show an image, this is the image file that will be shown. It must be located in the img/exstatus folder. Images will be drawn below everything else.

    Image X Offset:
    The horizontal offset for the image within the entry. You can enter a number or a Javascript eval here.

    Image Y Offset:
    The vertical offset for the image within the entry. You can enter a number or a Javascript eval here.

    Plugin Command
    To manually open the Extra Status window, use this plugin command:
    Code:
    OpenExtraStatus
    Compatability
    This plugin is compatible with Yanfly's Main Menu Manager. It should be placed above Yanfly's Main Menu Manager.

    The exact parameters for Yanfly's Main Menu Manager depend on whether you are using Party or Actor mode. In any case, you can use LB.ExStatus.commandName to get the name specified in this plugin's parameters.

    For Party mode:

    Main Bind: this.commandExStatus.bind(this)
    Leave the Actor Bind parameter empty.

    For Actor mode:

    Main Bind: this.commandPersonal.bind(this)
    Actor Bind: SceneManager.push(Scene_ExStatus)

    The Symbol, Show and Enabled parameters can be set to any value you want. This plugin does not use a command extension.



    If you encounter any compatability issues between this plugin and others, try changing the plugin order and starting a new game afterwards. If the issue persists, let me know about it and I will try to make this plugin compatible.

    Credit
    - LadyBaskerville

    Terms of Use
    - Free for use in both non-commercial and commercial games.
    - You may edit this plugin.
    - You may redistribute this plugin and edits of it. In that case, please give credit and, if possible, link back to this plugin thread.

    Download
    Download the Plugin (make sure to save it as LB_ExtraStatus.js)
    Download the Demo ( ~ 8 MB )

    Author's Note
    If you find any issues with this plugin, first make sure that you have named the plugin file correctly (LB_ExtraStatus.js), and started a new game after installing the plugin and not loaded the game from a savefile. Then feel free to leave a bug report in this topic or send me a PM.

    Also, if you have any suggestions for additional features, or questions about setting up the plugin, let me know!

    Version 1.1.3
    - Fixed gauge background color
    Version 1.1.2
    - Fixed a bug with the slider markers in actor mode.
    - Corrected an example in the Help file.
    Version 1.1.1
    - Fixed a bug with gauges for a maximum value of 0.
    Version 1.1.0
    - Added Actor Mode.
    Version 1.0.0
    - Finished the plugin.

    Getting Values
    Code:
    $gameVariables.value(12)
    Returns the value of variable #12.
    Code:
    $gameSystem._saveCount
    Returns the number of times the game has been saved.
    Code:
    $gameSystem._battleCount
    Returns the number of battles the player has fought.
    Code:
    $gameSystem.playtime()
    Returns the time played in seconds.
    Code:
    $gameSystem.playtimeText()
    Returns the time played as a text (string) in the format "HH:MM:SS".
    Code:
    $gameActors.actor(1).hp
    The current HP of actor #1 in the database.
    Code:
    this._actor.hp
    The current HP of the chosen actor (party leader on Party mode).
    Code:
    this._actor.name()
    The name of the chosen actor (party leader on Party mode).
    Code:
    $gameParty._gold
    The amount of gold the party has collected.

    Checking Conditions
    Code:
    $gameSwitches.value(7)
    Is switch #7 on? (This is the same as writing $gameSwitches.value(1) === true)
    Code:
    $gameVariables.value(14) < 3
    Is the value of variable #14 smaller than 3?
    Code:
    $gameVariables.value(14) <= 3
    Is the value of variable #14 smaller or equal than 3?
    Code:
    $gameVariables.value(14) === 3
    Is the value of variable #14 equal to 3?
    Code:
    $gameVariables.value(14) >= 3
    Is the value of variable #14 larger or equal than 3?
    Code:
    $gameVariables.value(14) > 3
    Is the value of variable #14 larger than 3?

    Linking Conditions
    Code:
    CONDITION A && CONDITION B
    Are both conditions A and B fulfilled?
    Code:
    CONDITION A || CONDITION B
    Is condition A or condition B fulfilled?
    Code:
    !CONDITION
    Inverts condition: Is condition not fulfilled?
     
    Last edited: Jan 29, 2018
    #1
  2. Tea's Jams

    Tea's Jams I'm human Veteran

    Messages:
    717
    Likes Received:
    1,854
    First Language:
    English
    Primarily Uses:
    RMMV
    Very cool!
     
    #2
  3. Zarsla

    Zarsla Veteran Veteran

    Messages:
    680
    Likes Received:
    196
    First Language:
    English
    Quick Questions/Suggestions.
    1. Could there a party/Actor selection mode. ie you can select either party mode or actor mode. Where party mode works the way it does now, while actor mode acts like how skills & equips do, where you select a party member and then open it up.

    2. Along with this party/actor mode would be a check that could be added, in the parameter condition. So like "actor 1 selected === true", thus working in tandem with an party/actor mode.
     
    #3
  4. LadyBaskerville

    LadyBaskerville Hell-poodle Veteran

    Messages:
    645
    Likes Received:
    483
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    Yes, there could! I actually had a similar idea after I made this thread. There might be an update later today ;)

    @Zarsla The plugin is now updated to version 1.1.0. It has a new parameter "Actor / Party Mode" that allows you to switch between the two modes. When set to Party, one Extra Status screen for the entire party will be shown by the menu command, as before. When set to Actor, the menu command will let you select an actor first, like the skill, status and equip commands. The selected actor is referred to by this._actor in all Javascript parameters, so your condition would be:
    actor._actorId === 1
    And of course, you can combine multiple conditions with the && operator, like:
    actor._actorId === 1 && $gameSwitches.value(2)
    (On Party mode, this._actor will refer to the party leader.)
     
    Last edited: Jul 28, 2017
    #4
    Dizzledorfs likes this.
  5. Zarsla

    Zarsla Veteran Veteran

    Messages:
    680
    Likes Received:
    196
    First Language:
    English
    #5
  6. ∊η∊ηra

    ∊η∊ηra Smoke and Mirrors Veteran

    Messages:
    253
    Likes Received:
    113
    Location:
    Manhattan
    First Language:
    English
    Primarily Uses:
    RMMV
    This is great! Thanks for making this.
     
    #6
  7. Dizzledorfs

    Dizzledorfs Villager Member

    Messages:
    14
    Likes Received:
    18
    First Language:
    English
    Cool Beans!! The Coolest of Beans!! This is EXACTLY what I needed! You rock!!
     
    #7
  8. bhindi1224

    bhindi1224 NOT Indian Okra Veteran

    Messages:
    295
    Likes Received:
    167
    First Language:
    English
    Primarily Uses:
    RMMV
    This looks pretty awesome. I like that you can keep track of relationships between characters. I will definitely implement this into my so far nonexistant but hopefully forming game.
     
    #8
  9. dbchest

    dbchest Beast Master Veteran

    Messages:
    434
    Likes Received:
    297
    Location:
    Pennsylvania
    First Language:
    English
    Primarily Uses:
    RMMV
    got to give this one a +like. i am releasing a dating simulator plugin package soon, and i admire the way you represented relationships here; nice job!
     
    #9
  10. satoshi1101

    satoshi1101 A man who eats eggs and watermelon together Member

    Messages:
    19
    Likes Received:
    4
    Location:
    Strange chocolate star
    First Language:
    SuperJapanese
    Primarily Uses:
    RMMV
    hi
    First of all thanks for this great plugin. And I'd like to ask for a fix. It will generate an error when opening the Extra Status Window when the variable is 0/0. I'd like to start Maximum Value 0 with the progress of my current project game. Or something like Maximum Value going to 0 by enemy's curse ...
    Can I open the Extra Status Window even at 0/0?
    error.png
     
    #10
  11. LadyBaskerville

    LadyBaskerville Hell-poodle Veteran

    Messages:
    645
    Likes Received:
    483
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    @satoshi1101 I think that's because it tries to divide by 0 to determine how far the gauge should be filled. It should be no problem to fix that, just have to add a check there - I'll look into it this evening. Would 0/0 be a full or an empty gauge?
     
    #11
  12. satoshi1101

    satoshi1101 A man who eats eggs and watermelon together Member

    Messages:
    19
    Likes Received:
    4
    Location:
    Strange chocolate star
    First Language:
    SuperJapanese
    Primarily Uses:
    RMMV
    Excuse me. I was not approved because it was mixed with inappropriate words in my post. So I will reply once again
    I am very sorry for beginners


    Yes. The 0/0 gauge is completely empty. I want to set the Maximum Value of initial value to 0 from the beginning of the game.
    I am editing the actual parameters as follows.
    ex3.png

    And as an illustration of my ideal, here's an example I edited:
    ex1.png


    Eventually, as the game progresses, I will increase the maximum value of the variable level.

    ex2.png
     
    #12
  13. LadyBaskerville

    LadyBaskerville Hell-poodle Veteran

    Messages:
    645
    Likes Received:
    483
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    Alright! The plugin is now updated to version 1.1.1 with the fix. Just download it again from the link in the opening post :)
     
    #13
    Joy Diamond likes this.
  14. satoshi1101

    satoshi1101 A man who eats eggs and watermelon together Member

    Messages:
    19
    Likes Received:
    4
    Location:
    Strange chocolate star
    First Language:
    SuperJapanese
    Primarily Uses:
    RMMV
    <strike><del>I downloaded it again from the opening post link, but it seems that the command is not displayed on the main menu. I also tried using a plugin command, but it seems that ExtraStatus is not displayed</del></strike>

    No, I'm sorry. It was my mistake. I am now working on a new project and now it is displayed properly.
    I'm really thankful to you!
     
    Last edited: Nov 17, 2017
    #14
  15. satoshi1101

    satoshi1101 A man who eats eggs and watermelon together Member

    Messages:
    19
    Likes Received:
    4
    Location:
    Strange chocolate star
    First Language:
    SuperJapanese
    Primarily Uses:
    RMMV
    No, I'm sorry. It was my mistake. I am now working on a new project and now it is displayed properly.
    I'm really thankful to you!

    It is displayed without problems now.
    It surprised me that not only $ gameVariables but even custom status like Bobstah's Custom Stats will be displayed! Thank you for your wonderful work:kaojoy:
     
    Last edited: Nov 17, 2017
    #15
  16. Vinzentice

    Vinzentice Villager Member

    Messages:
    5
    Likes Received:
    5
    First Language:
    Indonesian
    Primarily Uses:
    RMMV
    Hi, I'd like to report a bug in the plugin.

    When you set the plugin to actors mode, and then enable the sliders, the marker takes a value from the current character and the character above them in the formations menu.

    1) Everything seems normal here.
    Screenshot (115).png

    2) This is the current formation, Marsha is 1st while Therese is 2nd.
    Screenshot (116).png

    3) This is Therese's page. There are 2 markers on the stats, the different markers belong to Marsha.
    Screenshot (117).png

    4) Now, I'm switching Marsha's position with Therese
    Screenshot (118).png

    5) No more double markers
    Screenshot (119).png

    6) But now this is happening to Marsha
    Screenshot (120).png

    Granted, I was using custom parameters here. However, I then turn off all the plugins and used the basic parameters like atk and def, and the problem still persist.
     
    #16
    Joy Diamond likes this.
  17. LadyBaskerville

    LadyBaskerville Hell-poodle Veteran

    Messages:
    645
    Likes Received:
    483
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    @Vinzentice Thank you for the bug report! I've updated the plugin to version 1.1.2 with the fix. Just download it again from the link in the opening post :)
     
    #17
    Joy Diamond likes this.
  18. styx92

    styx92 Veteran Veteran

    Messages:
    310
    Likes Received:
    38
    First Language:
    German
    Super plugin, works nice!

    Is there a way in actor mode, to push an actor scene with scriptcalls?
    So that i dont have to open it via the menu?
     
    #18
  19. LadyBaskerville

    LadyBaskerville Hell-poodle Veteran

    Messages:
    645
    Likes Received:
    483
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    @styx92 Thank you! And yes, you can use the following:
    Code:
    $gameParty.setMenuActor($gameActors.actor(2)); // change the number for a different actor
    SceneManager.push(Scene_ExStatus);
    (And I should probably add a Script Call section to the help file. Oh well, in the next update.)
     
    #19
    satoshi1101 and styx92 like this.
  20. styx92

    styx92 Veteran Veteran

    Messages:
    310
    Likes Received:
    38
    First Language:
    German
    Thanks for your fast support! Works pretty nice :)

    Than i have a suggestion for you.
    How about animated battler? Or Animated Image? This would be awesome :D

    I create a mercenary system. And if this guys are animated...wow... :D This would be nice.
    But only an idea for you =)

    Thanks for this stuff.
     
    #20

Share This Page