The official VisuStella notetag help thread

● ARCHIVED · READ-ONLY
Started by Trihan 1458 posts Page 70 of 73 View original ↗
  1. jimmyshmo said:
    I think you are looking for Visustella State Tool Tips
    Afraid not. Though that one is nice, it only shows tooltips for States after they're applied to a target, and it can't be used to have help descriptions for keywords in NPC dialogue.

    I was more thinking of the tooltips you can get for different effects like in Slay the Spire, where if you hover over a card that has certain keywords it'll open a second help box that explains exactly what those keywords do, before you even use the card on the enemy.
  2. Tinteebo said:
    Afraid not. Though that one is nice, it only shows tooltips for States after they're applied to a target, and it can't be used to have help descriptions for keywords in NPC dialogue.

    I was more thinking of the tooltips you can get for different effects like in Slay the Spire, where if you hover over a card that has certain keywords it'll open a second help box that explains exactly what those keywords do, before you even use the card on the enemy.
    NEVERMIND, found a plugin that does exactly what I want. It's the VisuStella Message Keywords plugin, in case others want to know.
  3. Hello again, it's been a little while. I've got an issue that might be related to the VisuStella plugin, but it might not be as well. Figured I'd explain it here to see if anyone else has had the same issue.

    Some of my attack skills have a fair bit of notetags added for checking things like if a certain state is affecting a target, or rolling a random percentile to check against a state rate or to randomly apply a state. I've noticed that these skills will give a short burst of lag when hitting the target.

    For example: I have a skill that hits a target 3 times. This skill uses <JS Post-Damage> to roll a percentile dice after each hit to check if it will apply a state. The enemy being hit has <JS Post-Damage as Target> to roll a percentile dice after each hit to check if it will apply another state. The enemy also has another notetag which is <JS Post-End Turn> to check for specific states and if one is present it will apply another state to themselves.
    It lags intensely when this skill is used.

    I'm assuming it's because I'm doing so many extra calculations per damage that causes the lag from this plugin, but I want to be certain that's the case and see if anyone else has issues with adding too many notetags or extra things in battle (or even outside of it).
  4. Tinteebo said:
    I'm assuming it's because I'm doing so many extra calculations per damage that causes the lag from this plugin, but I want to be certain that's the case and see if anyone else has issues with adding too many notetags or extra things in battle (or even outside of it).
    while its possible to be performing enough calculations to cause lag, i very much doubt its the case by your description of what youre doing. a thing that can also cause lag is malformed code generating errors or accidental infinite loops.

    can you show exactly what youve done?
  5. Robro33 said:
    while its possible to be performing enough calculations to cause lag, i very much doubt its the case by your description of what youre doing. a thing that can also cause lag is malformed code generating errors or accidental infinite loops.

    can you show exactly what youve done?
    Hmm, I went to get the skills that were causing lag by doing a test fight, but then I noticed some more details.
    • In the beginning the skills I thought were problematic weren't lagging, even the ones that hit multiple times and did post damage calcs
    • As the fight went on some skills started to lag, specifically damage skills on enemies that had a few states on them (3 or more)
    • At one point one enemy had 5+ states on them and even the basic dual wield attack that has no special calcs lagged pretty bad
    I'm now thinking it has to do with the post damage calcs used on enemies. Here is what I use on all enemies
    Code:
    <JS Post-Damage as Target>
    if((Math.floor(Math.random()*100)+1) <= 5) {
        target.addState(129)
    }
    </JS Post-Damage as Target>
    <JS Post-End Turn>
    if (target.states().includes($dataStates[8])
     || target.states().includes($dataStates[23])
     || target.states().includes($dataStates[24])
     || target.states().includes($dataStates[25])
     || target.states().includes($dataStates[27])
     || target.states().includes($dataStates[28])
     || target.states().includes($dataStates[29])
     || target.states().includes($dataStates[47])
     || target.states().includes($dataStates[48])
     || target.states().includes($dataStates[55])
     || target.states().includes($dataStates[57]) ) {
        target.addState(133);
    }
    </JS Post-End Turn>
  6. Tinteebo said:
    I'm now thinking it has to do with the post damage calcs used on enemies. Here is what I use on all enemies
    Code:
    as a note, you could simplify all of that post turn end notetag into
    Code:
    const states = target.states();
    if ([8,23,24,25,27,28,29,47,48,55,57].some(s => states.includes(s))){
        target.addState(133);
    }

    Tinteebo said:
    Hmm, I went to get the skills that were causing lag by doing a test fight, but then I noticed some more details.
    ...
    I'm now thinking it has to do with the post damage calcs used on enemies
    It may be possible that theres an issue causing states to be counted as active multiple times or for those notetags to be running multiple times. Id imagine you'd start seeing performance drops once you got past 100, not 5. 5 shouldnt be any issue

    as a quick test, use this version of the post damage notetag, press f8 when the battle test is happening, go to the console tab, get the enemy their 5 states, and hit them.
    Code:
    if (Math.random() <= .04) {
        target.addState(129)
    }
    console.log(target.states().length)
    does the number it says sound correct for the amount of states the enemy has, and does it only output it once per hit?
  7. Robro33 said:
    as a note, you could simplify all of that post turn end notetag into
    Code:
    const states = target.states();
    if ([8,23,24,25,27,28,29,47,48,55,57].some(s => states.includes(s))){
        target.addState(133);
    }


    It may be possible that theres an issue causing states to be counted as active multiple times or for those notetags to be running multiple times. Id imagine you'd start seeing performance drops once you got past 100, not 5. 5 shouldnt be any issue

    as a quick test, use this version of the post damage notetag, press f8 when the battle test is happening, go to the console tab, get the enemy their 5 states, and hit them.
    Code:
    if (Math.random() <= .04) {
        target.addState(129)
    }
    console.log(target.states().length)
    does the number it says sound correct for the amount of states the enemy has, and does it only output it once per hit?
    Yeah, seems to output the correct amount of states and only does so once per hit.
    I was closely examining the fight a few times and noticed that the lag seemed random.
    However it seemed to occur the most when using skills and attacks that are multihit.
    It especially seems to happen the most when using the default dual wield attack: the VisuStella Battle Core changes how dual wielding works and now attacks two separate times while dual wielding weapons. I'm not sure if that's the issue, since other multihit attack trigger this lag as well, but sometimes it doesn't lag from these either so at this point I just have zero clue what could be causing this.
    EDIT: after doing a few more tests, it really does seem to always lag using the normal dual wield attack, and only sometimes lag with other multi-hit attacks. It even lags a tiny bit when attacking something that has no post damage notetags, however using post damage notetags seems to aggravate the lag. Attacks that target "x random enemies" don't seem to lag, but attacks that specifically use "repeat: x" will (sometimes, still inconsistent).
  8. Trying to make a trap deal 10%HP damage to all party members, I think i am close any ideas?
    Code:
    $gameParty.members().gainHp-(a.mhp * 0.1);
  9. jimmyshmo said:
    Trying to make a trap deal 10%HP damage to all party members, I think i am close any ideas?
    Code:
    $gameParty.members().gainHp-(a.mhp * 0.1);
    Not even remotely, I'm afraid. XD

    JavaScript:
    $gameParty.members().forEach(member => member.gainHp(Math.floor(-member.mhp * 0.1)));
  10. Trihan said:
    Not even remotely, I'm afraid. XD

    JavaScript:
    $gameParty.members().forEach(member => member.gainHp(Math.floor(-member.mhp * 0.1)));
    lol im trying! Thank you.
  11. Hello. I got my hands on Break Shield plugin, and the plugin is working as expected. However, I have issues with it like Protected Elements not working at all, as I have an elemental attack being able to break the shield from an enemy that is not weak to that element at all. Another issue is that the UI not showing which elements the enemy is weak to like I saw from the preview of how the plugin should function. Though, not sure if it's due to another plugin at works.
  12. Hello !
    I'm new here (and a newbie for RPG Maker MZ).
    I have some struggle with the VisuStella Core Plugin, and I can't find any solution on the Internet...

    I want to use the notetag <Click Trigger> to trigger events by clicking on them with my mouse.
    I also want to disable the "Mouse Movement", I don't want the player to move where I clicked the mouse.
    The problem is : when I disabled the "Mouse Movement" with a code, the <Click Trigger> notetag doesn't work anymore.
    Is there a way to solve this issue ?

    Here, the code that I use :

    Game_Temp.prototype.setDestination = function(x, y) {

    };
    I also use this as a plugin :
    Game_Temp.prototype.setDestination = function(x, y) {
    return; // <---- add this line here
    this._destinationX = x;
    this._destinationY = y;
    };

    But the problem still the same.
  13. Soldiernith said:
    Hello. I got my hands on Break Shield plugin, and the plugin is working as expected. However, I have issues with it like Protected Elements not working at all, as I have an elemental attack being able to break the shield from an enemy that is not weak to that element at all. Another issue is that the UI not showing which elements the enemy is weak to like I saw from the preview of how the plugin should function. Though, not sure if it's due to another plugin at works.
    I fixed the issue with the Weakness break registering with all elemental types instead of ones that is weak to. The only issue left is to display what Elements the enemy is weak to visually in the UI battler.
    Just been looking around and can't seem to find out how to display icons under the names of the enemy units to show which elements it's weak to.

    1757447177922.png
  14. About "Equipment Set Bonuses"...
    I have a set that should give specific a state when the player is wearing 2 pieces, and another state when the player is wearing 4 pieces. However, since the plugin can only stack the effects of the set bonuses, it is giving both the 2 pieces state and the 4 pieces state.
    I've been trying to fix it with notetags on each of the states, with <JS Passive Condition> and <JS On Add State>, but nothing has worked so far.


    Code:
    //2 pieces state notetag - state 111
    
    <JS Passive Condition>
    if (user.states().includes($dataStates[131])) { condition = false;
    } else { condition = true; }
    </JS Passive Condition>
    Code:
    //4 pieces state notetag - state 131
    
    <JS On Add State>
    target.removeState(111);
    </JS On Add State>

    1757526412666.png

    Any ideas?
  15. @KMSTONE
    You could try to check for click trigger with a parallel event, something like in a conditional branch script TouchInput.isPressed(), put a script:

    let x = $gameMap.canvasToMapX(TouchInput.x);
    let y = $gameMap.canvasToMapY(TouchInput.y);
    if ($gameMap.eventIdXy(x, y)) {
    let id = $gameMap.eventIdXy(x, y);
    if ($gameMap.event(id).event().meta.ClickTrigger){
    $gameMap.event(id).start();
    }
    }

    Then add a short wait, like 15 frames at the end of the conditional. Also note that I've written the ClickTrigger tag together.

    @Soldiernith
    Doesn't that come from VS Weakness Display plugin?

    @milaccino
    Don't think you can do that without altering the code, as I think it updates even the equipment set passives mid battle etc. You could try and make your own system that checks the equipment and reads the notetag meta and counts how many you have and adds the states.
  16. Is there a way to reference the user who applied a state in a Post-Apply or Post-Damage note tag?

    I have a state which uses a Post-Apply as target Note tag.

    <JS Post-Apply as Target>
    extradmg = origin.atk;
    target.gainHp(-extradmg);
    </JS Post-Apply as Target>

    Basically, I want to have them take damage based on attack value of the person who applied the state on them, when ever they take an action.

    I just used "origin" in the above example to show what I'm trying to do. I'm looking for the actual code that would help.

    I don't want to use a slip damage tag, because then they will only take damage during the regeneration phase.

    I'm thinking I just might have to save the attack value or actor/enemy id to a variable or something, but maybe there's a way to do it I'm overlooking
  17. Lonewulf123 said:
    Is there a way to reference the user who applied a state in a Post-Apply or Post-Damage note tag?
    iirc in VS itd be either target.getStateOrgin(state.id) or target.stateOrgin(state.id). one of the two
  18. Robro33 said:
    iirc in VS itd be either target.getStateOrgin(state.id) or target.stateOrgin(state.id). one of the two
    getStateorigin seems to have worked.

    Thank you!
  19. rpgLord69 said:
    @KMSTONE
    You could try to check for click trigger with a parallel event, something like in a conditional branch script TouchInput.isPressed(), put a script:

    let x = $gameMap.canvasToMapX(TouchInput.x);
    let y = $gameMap.canvasToMapY(TouchInput.y);
    if ($gameMap.eventIdXy(x, y)) {
    let id = $gameMap.eventIdXy(x, y);
    if ($gameMap.event(id).event().meta.ClickTrigger){
    $gameMap.event(id).start();
    }
    }

    Then add a short wait, like 15 frames at the end of the conditional. Also note that I've written the ClickTrigger tag together.

    @Soldiernith
    Doesn't that come from VS Weakness Display plugin?

    @milaccino
    Don't think you can do that without altering the code, as I think it updates even the equipment set passives mid battle etc. You could try and make your own system that checks the equipment and reads the notetag meta and counts how many you have and adds the states.
    Oh... I didn't know there was a plugin that was dedicated to that. I'll grab that one then
  20. Howdy people, how's it going?
    Just a quick question this time: is there any plugins, VisuStella or other, that can display the chance to hit an enemy battler before the attack is used? Something that pops up next to the selected target, and ideally something that has the option to input custom formulas for calculating hit chance.