MV - Actor Turn Highlighter

● ARCHIVED · READ-ONLY
Started by ReaperRewards 12 posts View original ↗
  1. I would like to request someone for a plugin where, when it's an actor's turn selection during battle, there is a glowing "highlight" or some kind of indication around the actor's x and y dimensions. (In other words, when you're choosing actions/items/whatever for a particular actor, the highlight/picture is surrounding their actor sprites). This is to indicate who's turn it is that you're selecting options for.

    Even something as simple as a surrounding square would work tons of magic!


    Screen Shot 2022-08-31 at 11.38.23 AM.png


    2.png

    (This is what I'm kind of picturing in my mind, though I just created the "highlight" through an image editor program for the sake of showing what I think it would look like).



    I tried researching some ways to do this beforehand, but it doesn't seem like there's really anything out there.
  2. You could look into adding a pixi filter to the sprite. From a bit of looking around this plugin might be able to do it:
    Pixi Filter Controller - fancy screen effects by pixi (MZ version released!) There exists a filter called GlowFilter, which may be what you are looking for.

    If you get it to run and to look to your liking, I am sure we can also provide help in figuring out how to only apply the filter to the currently inputting character.
  3. What plugin(s) are you currently using to rearrange the battle scene?

    If it's SRD Hud Maker then I imagine you could just have 1 overlay image per party member. Then enable each overlay only when the inputting actor is in the corresponding position. E.g. for the party leader (index 0):

    BattleManager.actor() ? BattleManager.actor().index() === 0 : false
  4. If I remember correctly from @PoptartPresident 's previous threads these are actually side view battlers. Though maybe with the HUD maker you could achieve the same effect more easily?
  5. eomereolsson said:
    You could look into adding a pixi filter to the sprite. From a bit of looking around this plugin might be able to do it:
    Pixi Filter Controller - fancy screen effects by pixi (MZ version released!) There exists a filter called GlowFilter, which may be what you are looking for.

    If you get it to run and to look to your liking, I am sure we can also provide help in figuring out how to only apply the filter to the currently inputting character.
    Ahh yeah, I did give that one pixi filter plugin a try, but it wasn't really working. :/

    eomereolsson said:
    If I remember correctly from @PoptartPresident 's previous threads these are actually side view battlers. Though maybe with the HUD maker you could achieve the same effect more easily?

    This is correct! I'm using a combination of Yanfly's SV_Enemies (even tho its illusioned to look like it's front-facing), and SRD Maker's HUD for the HP/MP bars during battle.

    If there is a way to do it through HUD Maker's capabilities, I'm was not aware of how to do it : o

    caethyril said:
    What plugin(s) are you currently using to rearrange the battle scene?

    If it's SRD Hud Maker then I imagine you could just have 1 overlay image per party member. Then enable each overlay only when the inputting actor is in the corresponding position. E.g. for the party leader (index 0):

    BattleManager.actor() ? BattleManager.actor().index() === 0 : false


    Oh, so like...I could make a highlighted picture correspond to each actor, and plugin this piece of code into the engine? I don't quite get the full picture of how I'd pull that off.
  6. PoptartPresident said:
    Oh, so like...I could make a highlighted picture correspond to each actor, and plugin this piece of code into the engine? I don't quite get the full picture of how I'd pull that off.
    The piece of code @caethyril gave you is a condition that is true while the first actor in the party is inputting their action (because arrays start their numbering with 0). You can adapt it for the other actors by changing the number.

    In SRD's HUD maker you can insert the overlay images for each actor. Then give these overlay images the corresponding condition (still in the HUD maker), so they only show up when this particular actor is actually selecting an action.
  7. eomereolsson said:
    The piece of code @caethyril gave you is a condition that is true while the first actor in the party is inputting their action (because arrays start their numbering with 0). You can adapt it for the other actors by changing the number.

    In SRD's HUD maker you can insert the overlay images for each actor. Then give these overlay images the corresponding condition (still in the HUD maker), so they only show up when this particular actor is actually selecting an action.


    EYYYYY this worked very nicely!!! (The power of Scripting overcomes all it seems)
    Now I can even customize my little "Selection picture" thanks to this approach, which is a bonus.

    Now, this miiiight be a bit of a stretch, and if not, I can work with what I know now.
    But is it possible to make it to where my image "blinks" while that condition in the scripting is true?

    Like I said if not, this is fine.

    Thanks a bunch caethyril and eomereolsson!
  8. PoptartPresident said:
    Now, this miiiight be a bit of a stretch, and if not, I can work with what I know now.
    But is it possible to make it to where my image "blinks" while that condition in the scripting is true?
    I just thought of something. It's defenitely ugly and a bit hacky, but it might just work anyway.
    1. Make a parallel common event conditioned on a switch that just counts up variable x by one.
    2. At the start of each battle, reset variable x to 0 and turn the switch on. (At the end of each battle turn the switch off again).
    3. Add the following to your condition in the HUD maker:
    JavaScript:
    && $gameVariables.value(x) % 60 <= 30
    This should make it so that your condition is only true (and therefore shows the picture) for the first 30 frames of each 60 frame cycle. You can obviously play around with the numbers to achieve a blinking speed that suits your tastes.
  9. By default Parallel events only run on the map, but if you're using scripting anyway then you can reference the game frame count directly, e.g.

    Graphics.frameCount % 60 < 30
  10. See, I knew there was a cleaner way to accomplish that :rswt
    I did not know about Graphics.frameCount though. Thanks for pointing that one out, @caethyril .
  11. eomereolsson said:
    See, I knew there was a cleaner way to accomplish that :rswt
    I did not know about Graphics.frameCount though. Thanks for pointing that one out, @caethyril .
    i just know this is way too late but one question,, how do i make the highlighting appear on the other selected actors? i already entered the code into the leader's condition bar thing on the hud maker,, but idk what i'm supposed to change in the code to make the highlighting appear on the other battler,, terrible english sorry-
  12. doodoosalad said:
    i just know this is way too late but one question,, how do i make the highlighting appear on the other selected actors? i already entered the code into the leader's condition bar thing on the hud maker,, but idk what i'm supposed to change in the code to make the highlighting appear on the other battler,
    As mentioned, you can use 1 "highlight" picture per actor, each with its own condition:
    caethyril said:
    If it's SRD Hud Maker then I imagine you could just have 1 overlay image per party member. Then enable each overlay only when the inputting actor is in the corresponding position. E.g. for the party leader (index 0):

    BattleManager.actor() ? BattleManager.actor().index() === 0 : false
    eomereolsson said:
    The piece of code @caethyril gave you is a condition that is true while the first actor in the party is inputting their action (because arrays start their numbering with 0). You can adapt it for the other actors by changing the number.
    The next position is 1, then 2, etc. Just replace 0 with the appropriate number.

    Graphics.frameCount % 60 < 30 repeats every 60 frames: it is true for 30 frames (0~29), then false for 30 frames (30~59). So it gives the "blinking" effect requested by the OP.

    On this site we encourage people to start their own thread for their own question, rather than hijack an existing one. So if you still have questions, feel free to start a new thread~ :kaohi:

    This thread is being closed, due to being solved. If for some reason you would like this thread re-opened, please report this post and leave a message why. Thank you.