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

LadyBaskerville

Hell-poodle
Veteran
Joined
Sep 12, 2016
Messages
645
Reaction score
497
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:

Zarsla

Veteran
Veteran
Joined
Jan 23, 2015
Messages
690
Reaction score
205
First Language
English
Primarily Uses
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.
 

LadyBaskerville

Hell-poodle
Veteran
Joined
Sep 12, 2016
Messages
645
Reaction score
497
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:

∊η∊ηra

Smoke and Mirrors
Veteran
Joined
Feb 6, 2013
Messages
260
Reaction score
116
First Language
English
Primarily Uses
RMMV
This is great! Thanks for making this.
 

Dizzledorfs

Villager
Member
Joined
Jan 28, 2017
Messages
14
Reaction score
18
First Language
English
Primarily Uses
Cool Beans!! The Coolest of Beans!! This is EXACTLY what I needed! You rock!!
 

bhindi1224

NOT Indian Okra
Veteran
Joined
Sep 19, 2017
Messages
295
Reaction score
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.
 

dbchest

Beast Master
Veteran
Joined
Oct 1, 2013
Messages
434
Reaction score
299
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!
 

satoshi1101

A man who eats eggs and watermelon together
Member
Joined
Jun 11, 2017
Messages
19
Reaction score
4
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
 

LadyBaskerville

Hell-poodle
Veteran
Joined
Sep 12, 2016
Messages
645
Reaction score
497
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?
 

satoshi1101

A man who eats eggs and watermelon together
Member
Joined
Jun 11, 2017
Messages
19
Reaction score
4
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
 

LadyBaskerville

Hell-poodle
Veteran
Joined
Sep 12, 2016
Messages
645
Reaction score
497
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 :)
 

satoshi1101

A man who eats eggs and watermelon together
Member
Joined
Jun 11, 2017
Messages
19
Reaction score
4
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:

satoshi1101

A man who eats eggs and watermelon together
Member
Joined
Jun 11, 2017
Messages
19
Reaction score
4
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:

Vinzentice

Villager
Member
Joined
Nov 13, 2017
Messages
5
Reaction score
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.
 

LadyBaskerville

Hell-poodle
Veteran
Joined
Sep 12, 2016
Messages
645
Reaction score
497
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 :)
 

styx92

Veteran
Veteran
Joined
Jan 7, 2016
Messages
310
Reaction score
38
First Language
German
Primarily Uses
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?
 

LadyBaskerville

Hell-poodle
Veteran
Joined
Sep 12, 2016
Messages
645
Reaction score
497
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.)
 

styx92

Veteran
Veteran
Joined
Jan 7, 2016
Messages
310
Reaction score
38
First Language
German
Primarily Uses
@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.)
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.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Dirtnap wrote on Tyler Warren's profile.
Hi Tyler,

My name is Sean, I am the owner of an indie studio, and I am looking to get some paid art work done. I am working with MV, but our programmer will be heavily modifying it.

If you are interested, or would like to hear more, I can provide my personal e-mail address.

S.G.
The stream will be live shortly with some more Witcher 3! Feel free to drop by~
Its Chinese new year today! Happy year of the rat~
just got back from the doctor about my back - 3 -)~ will know in a week or so's time how bad the problem is. Overall doing better though! not hurting so badly.
Oh God.. I'm so in love using "this" keyword in my codes. It is so more readable than my previous global objects xD

Forum statistics

Threads
93,592
Messages
913,789
Members
123,142
Latest member
CarlWantsACar
Top