The official VisuStella notetag help thread

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
2,604
Reaction score
1,956
First Language
English
Primarily Uses
RMMV
Okay, my JS Draw Data for what I posted is:

Code:
// Declare Constants
const lineHeight = this.lineHeight();
const actor = this._actor;
const padding = this.itemPadding();
let width = this.innerWidth / 2;
const elements = this.getElementIDs();
let x = 0;
let y = 0;

// Draw Actor Graphic
this.drawActorGraphic(0, width);

// Draw Element Trait Sets
this.drawItemDarkRect(0, y, width, lineHeight, 2);
this.drawItemDarkRect(width, y, width, lineHeight, 2);
const labelFmt = '\\C[16]%1: \\C[0]%2';
const traitType1 = DataManager.traitSetType('Element');
const traitSet1 = actor.traitSet('Element');
this.drawTextEx(labelFmt.format(traitType1.Label, traitSet1.Display), padding, y, width - padding * 2);
const traitType2 = DataManager.traitSetType('SubElement');
const traitSet2 = actor.traitSet('SubElement');
this.drawTextEx(labelFmt.format(traitType2.Label, traitSet2.Display), width + padding, y, width - padding * 2);
y += lineHeight;
this.setDescriptionFontSizeToTraitSet();
const traitHeight = (this.innerHeight / Math.max(Window_StatusData.traitCol1.length, Window_StatusData.traitCol2.length)) - lineHeight;
this.drawItemDarkRect(0, y, width, traitHeight);
this.drawItemDarkRect(width, y, width, traitHeight);
this.drawTextEx(traitSet1.Description, padding, y, width - padding * 2);
this.drawTextEx(traitSet2.Description, width + padding, y, width - padding * 2);
this.resetDescriptionFontSize();
this.resetFontSettings();
y += traitHeight;
const topY = y;

// Draw Elemental Data
this.drawItemDarkRect(width * 0, y, width, lineHeight, 2);
this.drawItemDarkRect(width * 1, y, width, lineHeight, 2);
this.changeTextColor(ColorManager.systemColor());
this.drawText(TextManager.statusMenuDmgReceive, width * 0, y, width, 'center');
this.drawText(TextManager.statusMenuDmgDealt, width * 1, y, width, 'center');
y += lineHeight;
this.setDescriptionFontSizeToTraitSet();
const smallLineHeight = this.textSizeEx(' ').height;
for (const elementId of elements) {
    this.drawItemDarkRect(width * 0, y, width, smallLineHeight);
    this.drawItemDarkRect(width * 1, y, width, smallLineHeight);

    // Name
    const name = $dataSystem.elements[elementId];
    const column = Math.floor(elementId / 12);
    const elementX1 = width * (column === 0 ? 0.25 : 0.75) + padding;
    const elementX2 = width * (column === 0 ? 1.25 : 1.75) + padding;
    this.drawTextEx(name, elementX1, y, width/4);
    this.drawTextEx(name, elementX2, y, width/4);

    // Received Damage Rate
    this.resetFontSettings();
    const rate = actor.elementRate(elementId);
    const flippedRate = (rate - 1) * -1;
    this.changeTextColor(ColorManager.paramchangeTextColor(flippedRate));
    let rateText = '%1%'.format(Math.round(flippedRate * 100));
    if (actor.getAbsorbedElements().includes(elementId)) {
        this.changeTextColor(ColorManager.powerUpColor());
        rateText = TextManager.statusMenuDmgAbsorb.format(Math.round(rate * 100));
    } else if (rate > 1) {
        rateText = '%1'.format(rateText);
    } else if (rate <= 1) {
        rateText = '+%1'.format(rateText);
    }
    this.contents.drawText(rateText, width * 0, y, (width / 4 * (column === 0 ? 1 : 3)) - padding, smallLineHeight, 'right');

    // Dealt Damage Rate
    const dealtPlus = actor.getDealtElementPlus(elementId);
    const dealtRate = actor.getDealtElementRate(elementId);
    const dealtFlat = actor.getDealtElementFlat(elementId);
    const dealt = ((1 + dealtPlus) * dealtRate + dealtFlat) - 1;
    this.changeTextColor(ColorManager.paramchangeTextColor(dealt));
    let dealtText = '%1%'.format(dealt);
    if (dealt >= 0) dealtText = '+%1'.format(dealtText);
    this.contents.drawText(dealtText, width * 1, y, (width / 4 * (column === 0 ? 1 : 3)) - padding, smallLineHeight, 'right');

    y += smallLineHeight;

    if (elementId % 11 === 0) y = topY + lineHeight;
}
this.resetDescriptionFontSize();
this.resetFontSettings();
this.drawItemDarkRect(width * 0, y, width, this.innerHeight - y);
this.drawItemDarkRect(width * 1, y, width, this.innerHeight - y);
this.drawItemDarkRect(width * 2, y, width, this.innerHeight - y);
 

Uzuki

Kawaii on the streets, Senpai in the sheets
Veteran
Joined
Aug 18, 2012
Messages
1,933
Reaction score
1,325
First Language
English
Primarily Uses
RMMV
@Trihan Thank you so much! I really appreciate the info.
 

Kupotepo

Fantasy realist/Advocatus Diaboli
Veteran
Joined
Jul 5, 2017
Messages
1,939
Reaction score
2,064
First Language
Thai
Primarily Uses
RMMV
Hello Trihan, I hope this time my question is clear in the first time of the writing.

1. the passive state would be stackable. I find this solution [ <Passive Stackable>] [I think it is working]
- Used for: State Notetags

2. this passive state will increase every time actor hit the enemy.
3. this passive state will " Max Stacks: 3." [I think it is working]
4. Every time, this state is stacking at 3, the actor will gain critically hit bonus by 1.5.

Thank you for helping me with this problem.
 

shaylina

Villager
Member
Joined
Mar 26, 2015
Messages
16
Reaction score
2
First Language
French
Primarily Uses
Hi Trihan. First thank you very much for offering help to everyone.

I had a question. With the skill core plugin as it is, is it possible to make costs like the ones yanfly did before, for exemple on the molten Giant video, he changes the skill cost to
<Custom MP Cost>
cost *= user.hp / user.mhp
</Custom MP Cost>

Is it possible in any way to do these and maybe even more like my the skill cost rely on the defence, attack or even target rate and such?

Also, is it possible to make cooldowns, or pseudo cooldowns by hiding the skill after being use for x turns?
 

J-G

Veteran
Member
Joined
Oct 4, 2019
Messages
605
Reaction score
139
First Language
English
Primarily Uses
RMMV
How can I fix the offset of my image? i used the note tag for the main menu plugin which allows to change the face for an image file, but i was unable to find how to fix the offset so that the image isn't so low. Can anyone help?
 

Attachments

Weremole

Veteran
Veteran
Joined
Jan 22, 2016
Messages
256
Reaction score
213
First Language
Swedish
Primarily Uses
Been trying to figure out how to condition a passive state based on TP and I'm stumped. I'm trying to only have it active in battle and at 100 TP.

Nevermind, I figured it out. The syntax was the same as in the MV plugins more or less.
 
Last edited:

MintMilkTea

Minty
Member
Joined
Nov 19, 2017
Messages
17
Reaction score
13
First Language
English
Primarily Uses
RMMZ
I'm probably overlooking something super simple, but would anybody be able to show me what the notetag to set a actor's menu image is supposed to look like?
I just can't seem to get it to work no matter what image I point it to.

Also, should I be including the file extension in the notetag?

If anybody can offer some advice I would really appreciate it.
 

Weremole

Veteran
Veteran
Joined
Jan 22, 2016
Messages
256
Reaction score
213
First Language
Swedish
Primarily Uses
I'm probably overlooking something super simple, but would anybody be able to show me what the notetag to set a actor's menu image is supposed to look like?
I just can't seem to get it to work no matter what image I point it to.

Also, should I be including the file extension in the notetag?

If anybody can offer some advice I would really appreciate it.
MainMenu Core, <Menu Image: filename>

List Style settings and General Settings > Sub Window handles the sliding portrait in certain scenes if you want it. You can also disable it by just removing a scene from the list.
 

Blayze

Villager
Member
Joined
Aug 27, 2020
Messages
6
Reaction score
0
First Language
English
Primarily Uses
RMMZ
My game has 17 elements so I was I trying to see how to have 3 columns in the element resistance section on the Status tab. Also my game doesn’t require the bonus damage section so it can be removed for space if needed.
I’d appreciate if anyone can help with this.
 

oriongates

Veteran
Veteran
Joined
Dec 26, 2019
Messages
185
Reaction score
52
First Language
english
Primarily Uses
RMMV
I'm trying to make some changes to how TP works on a character-by-character basis, using the skills/states core.

One character doesn't use TP so I put in the notetag <Replace TP Gauge: none> and it gets rid of their TP gauge. Perfect.

For two other characters, they both use TP but the function is inverted. For one, their TP is more traditional (build it up and spend it) and it's called Fury. For the other, TP is a bad thing, their skills increase TP and they've got to use special venting skills to prevent negative effects upon reaching maximum TP. Their TP is called Heat.

So, there's the problem...I want both of these characters to use TP but under different names.

I thought this would be easy, but unfortunately I can't figure out how to do that. I tried to just copy the parameters for TP and just changed the name and the icon, like so.

1598527296140.png

The only difference between the Fury line and the TP line is the name and the icon number. I then put the <Replace TP Gauge: Fury> notetag in the class note field. But the result is that the TP field just goes away.

So I can't figure out what I'm doing wrong.

EDIT: I did figure out that part of the problem was not saving the changes before doing a test battle. That causes the TP gauge to re-appear, but it's still just called TP. I even tried removing the TP gauge entirely, then replacing the MP gauge (which the character doesn't use) with Fury. Still shows as TP on the battle screen.
 
Last edited:

rollerbelchen

Warper
Member
Joined
Mar 31, 2014
Messages
3
Reaction score
1
First Language
German
Primarily Uses
Hi there!
First of all: You are an awesome person offering you help here. :3 So thank you very much for the time you spend here.

I got two problems - 'problems' *cough

First thing: I want some items only be used by one character in battle, let's call it his feature. Said items only working in battle, that's the easy part. But how can I prevent the other two characters from using the items? Healing items and stuff can be thrown by all three characters but I want those special thingys just to be used by this one character.

Second thing, probably nothing to do with notetags at all but maybe you can help as well:
In the menus for skills, items, status and I guess a few more there are these cool information boxes.
Screenshot_130.png
There, these blue ones! And that's my problem. I want my menu to be more brownish looking and the blue just looks ugly as hell. I searched all of the VS plugins and played around with a few options but can't find it. I spent an entire day to find out a solution for Yanflys MV plugins - same problem but I'm still learning to use JavaScript and now I spend two more days without any solution.

Thanks for you help in advance <3
 

Luckysince97

Veteran
Veteran
Joined
Feb 6, 2018
Messages
102
Reaction score
27
First Language
French
Primarily Uses
RMMZ
@KotCR Maybe you could add a swicth that block already posses extra accessory and when reached condition are met than unluck it but i dont know if that is possible atm, and on this i got a similar question
on trait is it possible to play with trait on a event like ( am i evil, yes i am) but not before that event occured...
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
2,604
Reaction score
1,956
First Language
English
Primarily Uses
RMMV
@Kupotepo Sorry mate, I'm still not 100% sure what you're asking for with those.

@shaylina To do that, you would do

<JS MP Cost>
cost *= user.hpRate();
</JS MP Cost>

You can set skill cooldowns using the TPBS by setting speed less than 0; not 100% sure about cooldowns outside of that, I think that might be coming in a future plugin.

@J-G I saw you post this in another thread, has your question been answered?

@Blayze If you check earlier in this thread I showed someone how to make it 2 columns; take a look at how my code differs from the single column layout and you should be able to intuit how to add a 3rd. Let me know if you need further help.

@oriongates This is a fairly involved one that I'll have to experiment with, so I'll get back to you on that ASAP.

@rollerbelchen For the item restriction, this should be possible using <JS Item Enable>. Let me have a play and find out what you'd need to do there.

As for your other one, I'm sure you can set the background colour of the status window but I'll have to look into that.
 

Kupotepo

Fantasy realist/Advocatus Diaboli
Veteran
Joined
Jul 5, 2017
Messages
1,939
Reaction score
2,064
First Language
Thai
Primarily Uses
RMMV
I ask you if you could help me with creating a passive above. The passive will counting to 3 and every time, it is ticking to 3, the actor gets the critical attack bonus of 1.5.

I think it is required the if statement on the note tag to make it happens.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
2,604
Reaction score
1,956
First Language
English
Primarily Uses
RMMV
When you say "counting to 3", at what point will this increase? At the end of an action? At the end of a turn?

ohhh, every time you hit the enemy. I've just realised all of your items were for the same passive state. Okay, give me a bit.
 

Kupotepo

Fantasy realist/Advocatus Diaboli
Veteran
Joined
Jul 5, 2017
Messages
1,939
Reaction score
2,064
First Language
Thai
Primarily Uses
RMMV
When you say "counting to 3", at what point will this increase?
Increase based on the actor's normal attack
Bonus: Critical hit * 1.3

At the end of an action?
The state is when at 3, the state will restart again. You play the league of legends or the world of warcraft. The archer gets critical hit increasing 1.5 states, every 3 basic attacks.

At the end of a turn?
Stay with the enemies for every at least the end of the battle. I try to make the hunter's mark lol. I hope the reference helps you understand lol.


SILVER BOLTS [Like this lol]

 
Last edited:

Cyberhawk

Bravelion Leader
Veteran
Joined
Jan 9, 2019
Messages
111
Reaction score
74
First Language
English
Primarily Uses
RMMZ
probably has been done already but.
I'm REALLy bad with code being presented like this.
<JS Passive Condition>
code
code
condition = code;
</JS Passive Condition>
If i need this passive to only be active if the user is above 75% HP i need to do mathfloor.target. mmhp * 0.75 ?
 

Blayze

Villager
Member
Joined
Aug 27, 2020
Messages
6
Reaction score
0
First Language
English
Primarily Uses
RMMZ
Thanks Trihan, it took longer than I thought, but I fount what I needed.
 

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

Latest Threads

Latest Posts

Latest Profile Posts

Just finished composing a boss battle theme!
Scripted a multi-variable weather system that randomizes wind speed, cloudiness, rain, fogginess, etc, while attempting to realistically account for interactions between them (e.g. wind speed affects fogginess, cloudiness affects rain, etc), the current weather pattern, and the player's biome e.g. swamp, beach, etc. Now I "just" have to tie visuals and sounds to the variables so stuff actually happens...
I'm having a headache balancing the combat using flat defense so I'm gonna use percentual armor, in this pic, Simon has 16 on Defense which means all the incoming damage will be reduced by 16% this will ease my burden a bit.
!Have a nice day everybody¡
SO glad they patched outer worlds for switch! I can finally play it! Weird that other peeps are still having issues. I know it was really chugging on my lite when it first came out.

Forum statistics

Threads
105,556
Messages
1,014,638
Members
137,236
Latest member
Crowned_gaming_youtube
Top