The official VisuStella notetag help thread

NaosoX

Veteran
Veteran
Joined
Feb 28, 2013
Messages
286
Reaction score
145
First Language
English
Primarily Uses
RMMZ
This is likely a notetag related question based on the VisuStella sample project.
Could anyone please kindly tell me what these are and how to change them?

View attachment 201671

The VisuStella wiki page on Main Menu Core doesn't seem to have these icons.

I would like to change them to something appropriate for each profession, e.g. a sword for warriors, a wand for magicians, and etc.

Thank you.
Try looking through Elements and Status Core plugin, instead.
Specifically Passive States notetag on each character and how it relates to the icon in the states icons in the editor.
 
Last edited:

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,932
Reaction score
3,161
First Language
English
Primarily Uses
RMMZ
1. Yeah, you can do that. There's a script call to get the category of a state, so if you give all your absorption barrier states the same category, you can branch based on that.

2. You call the forceAction function on the battler, then BattleManager.forceAction. I'll give you the code from my Jump skill in a bit.

3. The notetag is different in MZ. I believe it's <JS Passive Condition> but I'll double check that for you.

4. Sorry, I'm not 100% sure what you're asking with this.
 

dm604

Veteran
Veteran
Joined
Sep 18, 2021
Messages
51
Reaction score
17
First Language
English
Primarily Uses
RMMZ
Hi, everyone:

I got it resolved. Here's the answer in case others run into the same problem.

Formosa Quest 9_18_2021 7_27_27 PM_LI.jpgInkedFormosa Quest - RPG Maker MZ 9_18_2021 11_42_16 PM_LI.jpg

These things on the menu are "passive states" in the notetag for the ElementStatusCore.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,932
Reaction score
3,161
First Language
English
Primarily Uses
RMMZ
After having a think about it, I've resolved to check this topic daily whether I get a notification or not. Can I ask that other people stop answering the questions? It just messes up my list of what's being asked and what's been answered and I lose track of what has and hasn't been dealt with, because not only do I have to keep note of the questions, I need to keep track of every non-question post that provides suggestions and then figure out whether they resolved the query or not. If there's something I can't give an answer to, I'll open it up to others.

Obviously I can in no way enforce this and can't stop you from doing so, but I'd really appreciate the courtesy to help me operate this topic more effectively.
 

shukrin

Villager
Member
Joined
Sep 2, 2021
Messages
27
Reaction score
5
First Language
English
Primarily Uses
RMMZ
@Trihan

okay, simple question (i guess)

I want to hide the TP gauge in main menu, I read some comment that says its in the core engine setting, but I go through the plugin couple times but still can't find it. Can you point to me where XD

I still use it in battle, i just want to hide it in the menu. Also while you're at it, can you also me teach me how to position other gauge as well, i reckon its gonna look off once the TP's gone
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,932
Reaction score
3,161
First Language
English
Primarily Uses
RMMZ
@Kumo6752

JavaScript:
if (target._jumpTurns <= 0) {
    const skill = 277;
    const target = -2;
    user.forceAction(skill, target);
    BattleManager.forceAction(user);
  }

That's the code for my state that activates Jump; you call forceAction on the user passing in the skill ID and target (-2 for last target chosen), then the forceAction function of BattleManager passing in the user.

I was right about the notetag, it's <JS Passive Condition>.

@Trihan

okay, simple question (i guess)

I want to hide the TP gauge in main menu, I read some comment that says its in the core engine setting, but I go through the plugin couple times but still can't find it. Can you point to me where XD

I still use it in battle, i just want to hide it in the menu. Also while you're at it, can you also me teach me how to position other gauge as well, i reckon its gonna look off once the TP's gone
If you go into the parameter settings for Main Menu Core, there's one under Main Menu List Style called "List Style Settings"; If you go into the JS listing for the style you're using, you'll see something like

JavaScript:
const roomForTp = (sy2 + gaugeLineHeight * 3) <= rect.y + rect.height;
if ($dataSystem.optDisplayTp && roomForTp) {
    this.placeGauge(actor, "tp", sx2, sy2 + gaugeLineHeight * 2);
}

Remove this or comment it out to take the TP gauge away.

As for the other gauges:

JavaScript:
const sy2 = sy + lineHeight;
const gaugeLineHeight = this.gaugeLineHeight();
this.placeGauge(actor, "hp", sx2, sy2);
this.placeGauge(actor, "mp", sx2, sy2 + gaugeLineHeight);

sx2 determines the x coordinate, sy2 determines the y. So if you need to move them, those are the values to modify.
 

shukrin

Villager
Member
Joined
Sep 2, 2021
Messages
27
Reaction score
5
First Language
English
Primarily Uses
RMMZ
@Kumo6752

JavaScript:
if (target._jumpTurns <= 0) {
    const skill = 277;
    const target = -2;
    user.forceAction(skill, target);
    BattleManager.forceAction(user);
  }

That's the code for my state that activates Jump; you call forceAction on the user passing in the skill ID and target (-2 for last target chosen), then the forceAction function of BattleManager passing in the user.

I was right about the notetag, it's <JS Passive Condition>.


If you go into the parameter settings for Main Menu Core, there's one under Main Menu List Style called "List Style Settings"; If you go into the JS listing for the style you're using, you'll see something like

JavaScript:
const roomForTp = (sy2 + gaugeLineHeight * 3) <= rect.y + rect.height;
if ($dataSystem.optDisplayTp && roomForTp) {
    this.placeGauge(actor, "tp", sx2, sy2 + gaugeLineHeight * 2);
}

Remove this or comment it out to take the TP gauge away.

As for the other gauges:

JavaScript:
const sy2 = sy + lineHeight;
const gaugeLineHeight = this.gaugeLineHeight();
this.placeGauge(actor, "hp", sx2, sy2);
this.placeGauge(actor, "mp", sx2, sy2 + gaugeLineHeight);

sx2 determines the x coordinate, sy2 determines the y. So if you need to move them, those are the values to modify.
thanks. It works but it seems i cant use it, I used a plugin that adds another parameter (AP) to the status screen but somehow it was made tied to TP, if i remove TP it also gone with it. Too bad seems there's no workaround i guess.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,932
Reaction score
3,161
First Language
English
Primarily Uses
RMMZ
thanks. It works but it seems i cant use it, I used a plugin that adds another parameter (AP) to the status screen but somehow it was made tied to TP, if i remove TP it also gone with it. Too bad seems there's no workaround i guess.
Which plugin are you using for that?
 

shukrin

Villager
Member
Joined
Sep 2, 2021
Messages
27
Reaction score
5
First Language
English
Primarily Uses
RMMZ
Which plugin are you using for that?
Sorry, it was late and i'm asleep

it's this one by fomar0153

I used it in conjuction with his AP gained on level system, but I think this plugin that make it show up in the main menu. The AP amount is shown right below "Lvl". I can move it wherever i want but if TP bars gone it will also follow
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,932
Reaction score
3,161
First Language
English
Primarily Uses
RMMZ
Sorry, it was late and i'm asleep

it's this one by fomar0153

I used it in conjuction with his AP gained on level system, but I think this plugin that make it show up in the main menu. The AP amount is shown right below "Lvl". I can move it wherever i want but if TP bars gone it will also follow
Sorry bud, since this thread is just for assistance with the VisuStella suite that's probably beyond my scope of operation.
 

Galkamik

Villager
Member
Joined
Oct 12, 2019
Messages
20
Reaction score
6
First Language
English
Primarily Uses
RMMZ
Hello @Trihan, I hope you could shed some light on this problem I'm facing, I've been trying to figure this out for a few days.

I'm hoping to change the enemy's DEF upon applying Armor Break State.

I currently have the stacks set up:

<JS On Add State>

this._armorBreakStacks = this._armorBreakStacks || 0;

if(this._armorBreakStacks <= 5){
this._armorBreakStacks++;
this.setStateDisplay(251, this._armorBreakStacks);

this.def = -(Math.floor(this.def / 100 * (12 * this._armorBreakStacks)))
}

</JS On Add State>

So what I'm trying to do is per stack the enemy will receive -12% DEF

I'm trying the implement the formula using this but it doesn't seem like the enemies def is affected.

this.def = -(Math.floor(this.def / 100 * (12 * this._armorBreakStacks)))
 

shukrin

Villager
Member
Joined
Sep 2, 2021
Messages
27
Reaction score
5
First Language
English
Primarily Uses
RMMZ
Sorry bud, since this thread is just for assistance with the VisuStella suite that's probably beyond my scope of operation.
I thought you might want to know since you asked, but on the other hand, I also forgot this thread is for Visustella plugins, so yeah sorry. My bad, but nevermind i found an alternative solution.

Would Visustella Skill Learn System suit your needs?
It does have an AP section.

It might be, but i'm quite done and liked where i am with the mechanics and currently on visual, qol and scenario-ing. I dont feel like going back and re-adjust them.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,932
Reaction score
3,161
First Language
English
Primarily Uses
RMMZ
Hello @Trihan, I hope you could shed some light on this problem I'm facing, I've been trying to figure this out for a few days.

I'm hoping to change the enemy's DEF upon applying Armor Break State.

I currently have the stacks set up:



So what I'm trying to do is per stack the enemy will receive -12% DEF

I'm trying the implement the formula using this but it doesn't seem like the enemies def is affected.
The reason for this becomes apparent if you look at the properties for Game_BattlerBase:

JavaScript:
def: {
        get: function() {
            return this.param(3);
        },
        configurable: true
    },

The shorthand identifiers for attributes: atk, def, mat etc. only return the result of the param function with that attribute's ID passed in, so you can't set it. Well, you can technically, it will let you run that code without an error, but it won't actually modify a value.

What you need to do is change _paramPlus instead and there's a handy addParam function provided for you to do just that: target.addParam(3, value);

The only thing with this is that reducing a value by 12% and then increasing it by 12% won't result in the original number due to the way percentages work, so if you use this method you may need to track the original def so that you can return to that value when the armour break expires.
 

Galkamik

Villager
Member
Joined
Oct 12, 2019
Messages
20
Reaction score
6
First Language
English
Primarily Uses
RMMZ
The reason for this becomes apparent if you look at the properties for Game_BattlerBase:

JavaScript:
def: {
        get: function() {
            return this.param(3);
        },
        configurable: true
    },

The shorthand identifiers for attributes: atk, def, mat etc. only return the result of the param function with that attribute's ID passed in, so you can't set it. Well, you can technically, it will let you run that code without an error, but it won't actually modify a value.

What you need to do is change _paramPlus instead and there's a handy addParam function provided for you to do just that: target.addParam(3, value);

The only thing with this is that reducing a value by 12% and then increasing it by 12% won't result in the original number due to the way percentages work, so if you use this method you may need to track the original def so that you can return to that value when the armour break expires.

Thank you so much for the quick response!
It works like a charm, I'll try and find a way to save the original def so that i can return to that value.

Does the target.addParam(3, value) work for xparams? like HIT, EVA and such?
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,932
Reaction score
3,161
First Language
English
Primarily Uses
RMMZ
Thank you so much for the quick response!
It works like a charm, I'll try and find a way to save the original def so that i can return to that value.

Does the target.addParam(3, value) work for xparams? like HIT, EVA and such?
It does not, because the array only contains enough elements for the base parameters. However, you *can* add bonus param properties for xparams and sparams in the plugin parameters for Core Engine (this is not a standard feature of the VS plugins; you need to create your own property in the JS formula settings and then modify that in your notetags).
 

Galkamik

Villager
Member
Joined
Oct 12, 2019
Messages
20
Reaction score
6
First Language
English
Primarily Uses
RMMZ
It does not, because the array only contains enough elements for the base parameters. However, you *can* add bonus param properties for xparams and sparams in the plugin parameters for Core Engine (this is not a standard feature of the VS plugins; you need to create your own property in the JS formula settings and then modify that in your notetags).
Thank you again and for all your help! I'll take a look into this!
 

Kumo6752

Villager
Member
Joined
Jul 10, 2018
Messages
7
Reaction score
0
First Language
Spanish
Primarily Uses
RMMV
1. Yeah, you can do that. There's a script call to get the category of a state, so if you give all your absorption barrier states the same category, you can branch based on that.
1. Worked! thank you!

Ill post the code If someone is looking for something similar

Code:
<JS Pre-Damage>
if (target.isStateCategoryAffected('CATEGORYNAME')){
  value = Math.round(value * 1.5);
}
</JS Pre-Damage>


@Kumo6752

JavaScript:
if (target._jumpTurns <= 0) {
    const skill = 277;
    const target = -2;
    user.forceAction(skill, target);
    BattleManager.forceAction(user);
  }

That's the code for my state that activates Jump; you call forceAction on the user passing in the skill ID and target (-2 for last target chosen), then the forceAction function of BattleManager passing in the user.
Worked too, thanks!


3. The notetag is different in MZ. I believe it's <JS Passive Condition> but I'll double check that for you.

4. Sorry, I'm not 100% sure what you're asking with this.

Now i read these two questions i see i wasn't very clear, sorry, my native language is spanish and im still learning english.


3. Even with the correct notetag the code break the actors.

Code:
<JS Passive Condition>
  if ($gameParty.battleMembers().contains($gameActors.actor(1))) {
          condition = true;
  } else {
    condition = false;
  }
</JS Passive Condition>

Code:
$gameParty.battleMembers().contains($gameActors.actor(1))
this is the part that doesn't work.

4. For example, when i used this plugin command, the value result were written in decimals (-24.4HP!), BUUUT, maybe i was doing something wrong or was updated? because it doesn't happen anymore, so it doesn't matter!


1632252274253.png

again, very thankful for your time!
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,932
Reaction score
3,161
First Language
English
Primarily Uses
RMMZ
3. Even with the correct notetag the code break the actors.

Code:
<JS Passive Condition>
  if ($gameParty.battleMembers().contains($gameActors.actor(1))) {
          condition = true;
  } else {
    condition = false;
  }
</JS Passive Condition>

Code:
$gameParty.battleMembers().contains($gameActors.actor(1))
this is the part that doesn't work.

4. For example, when i used this plugin command, the value result were written in decimals (-24.4HP!), BUUUT, maybe i was doing something wrong or was updated? because it doesn't happen anymore, so it doesn't matter!


View attachment 201918

again, very thankful for your time!
Ahh, I'm with you now. What do you mean by "breaks the actors"? That code works fine on my end.

I know what you mean now about the multipliers as well, I remember someone else experienced that. If it's not happening any more then great, if you get it again I'd submit a bug report.
 

Oxem

Villager
Member
Joined
Sep 30, 2015
Messages
13
Reaction score
2
First Language
French
Primarily Uses
Hi guys, maybe im very dumb but I don't understand something, hope you can help me :

Im simply trying to increase MaxMP for one of my actor by one of his own stat (mat)
So I just put <JS MaxMP Rate: user.mat> in the actor notetag and it doesn't work.

I check before asking if it was a conflict plugin problem (impossible bc I only use the visustella plugin suite) so I just put <JS MaxMP Rate: 2> and it worked. I assume that's just a nomenclature problem.
 
Last edited:

Latest Threads

Latest Posts

Latest Profile Posts

Me, designing it a long time ago: Having an optional boss fight as a random chance to trigger when you fish in a certain spot with a certain type of bait is fun! Cool idea!
Me, trying to playtest everything again: oh god just let me see the boss, my bag is so full of fish!
both love and pain have no boundaries
Happy Saint Nicholas Day! May there nice stuff in your shoes when you wake up!
Choosing Beggars are the best source of entertainment.
DavidUchina wrote on caethyril's profile.
You chad, thanks a lot for your plugins. You helped me costumize the buttons in my game.

Forum statistics

Threads
117,216
Messages
1,105,550
Members
153,363
Latest member
alterakatt
Top