MV - SRPG Engine MV - Plugins for creating Tactical Battle System

● ARCHIVED · READ-ONLY
Started by RyanBram 3313 posts Page 164 of 166 View original ↗
  1. boomy said:
    Hmm looking at the code, it looks a bit clunky
    It creates a new actor variable _feParams
    And then replaces baseParam with it...
    var _Game_Actor_ParamBase = Game_Actor.prototype.paramBase;
    Game_Actor.prototype.paramBase = function(paramId) {
    if (this._feParams == undefined) {
    this.initializeParams();
    }
    if (this._feParams) {
    if (this._feParams[paramId]) {
    return this._feParams[paramId];
    }
    }
    return _Game_Actor_ParamBase.apply(this, arguments);
    };

    When in reality, there already exists an addParam method in default RPG maker MZ/MV to use
    You could make a feSprams and feXparams variables and copy most of the existing code to achieve a similar effect for s/x params but honestly it'd be easier to make a plugin from scratch. I dunno what quasi plugin does so i can't comment on gaining custom params but if it uses a similar system to existing params it wouldn't be too hard to implement

    Adding custom params to status is also not that difficult.
    Window_SrpgBattleStatus.prototype.drawContentsEnemy
    Window_SrpgBattleStatus.prototype.drawContentsActor
    Window_SrpgActorCommandStatus.prototype.drawItem

    Those are the windows you wanna edit
    I Will give a look to the Windows in the core so.

    Yeah. I personnaly use Hime level up event plugin to do a similar thing, but I don't know how to make a clear level up screen using it.

    I'm coming again on the prediction windows. How can you display the cri rate in it ?
  2. (Double post, sorry but this is for something different)
    I'm trying to implement the support system using gsc code + his modified version of MoogleX_ActorFriendship to implement a support between unit system. The system works nothing to report.

    But the problem comes from the support exp point gain.
    gsc published script call to use it (in this post https://forums.rpgmakerweb.com/inde...ng-tactical-battle-system.110366/post-1421690) but it didn't really works in my game :
    -> player feedback (with baloons) only works during enemy phase
    -> The states are not removing after battle, so even if unit just move, the baloons appears above the precedent units.

    I tryed to "rewrite" the code, but opening the console this appears :
    1745777841405.png

    Here my switch 6 = player phase.
    My variable 4 = active event ID
    My variable 5 = target event ID
    I basically give the char1 var the event ID of actor if player phase is on, and the target event ID if player phase is off (basically, it is the same event id)

    I don't really have knowledge in JS so I think I "broke" it.
    Can someone look at the original code and tell me how to "fix" the feedback with baloon issue ?
  3. Hello! Sorry if this has been asked before but I can't seem to find anything regarding this.

    Is it possible, or has anyone ever made a script, to play sounds (SE) when an actor is selected in battle? Similar to how it is in Fire Emblem Three Houses when you click on someone the first time on a turn.

    (like how it is here)
  4. I want to ask something. does the Dynamic Motion is indeed buggy if used in map battle? because so far I've always find that the motion when we use certain skill (Usually in leap type of skill) isn't ending the turn when the motion (and by the extension, the animation itself) finished. so I've been soft locked in the skill motion with no way to even open menu, since maybe the system might still perceives the skill haven't yet been finished. Or am i wrong in doing something?

    This only happen when dynamic motion is being used, means normal ranged skill like magic, or the likes that only use dynamic animation isn't affected.
  5. In Ryan's demo, Uber Harold is the only character that has special animations for standing in place, using physical attacks, and using magic. Is there a way to apply this to other characters? I've been looking all over the code and the .json files for how they set this up but I haven't had any luck.
  6. Hello! I am trying to figure out how to make the enemy AI switch from stand to nearestOpponent whenever an actor steps on region 1. I already have the AiControl plugin, I'm just not sure how to make it do what I want it to.
  7. The enemy AI always seems to target the character that is first in the formation list. So each time the enemy always attacks the same actor. How do I add a random variable to the targeting?
  8. Moxem said:
    Hello! Sorry if this has been asked before but I can't seem to find anything regarding this.

    Is it possible, or has anyone ever made a script, to play sounds (SE) when an actor is selected in battle? Similar to how it is in Fire Emblem Three Houses when you click on someone the first time on a turn.

    (like how it is here)

    like this

    I use SE from MV base
    vandal33 said:
    In Ryan's demo, Uber Harold is the only character that has special animations for standing in place, using physical attacks, and using magic. Is there a way to apply this to other characters? I've been looking all over the code and the .json files for how they set this up but I haven't had any luck.
    can you share the preview.. perhaps the link to testing Ryan Demo
    SnapSnap said:
    Hello! I am trying to figure out how to make the enemy AI switch from stand to nearestOpponent whenever an actor steps on region 1. I already have the AiControl plugin, I'm just not sure how to make it do what I want it to.
    fyi this is mode you can use
    * <mode:normal> # set this unit's acting pattern 'normal'(if you don't set mode, set 'normal' automatically).
    * <mode:stand> # set this unit's acting pattern 'stand if enemy don't near by'.
    * <mode:regionUp> # set this unit's acting pattern 'go to bigger region ID if enemy don't near by'.
    * <mode:regionDown> # set this unit's acting pattern 'go to smaller region ID if enemy don't near by'.
    * <mode:absRegionUp> # set this unit's acting pattern 'always go to bigger region ID'.
    * <mode:absRegionDown># set this unit's acting pattern 'always go to smaller region ID'.
    * <mode:aimingEvent> # set this unit's acting pattern 'aim for event with the specified ID'(use this note with <targetId:X>).
    * <mode:aimingActor> # set this unit's acting pattern 'aim for actor with the specified ID'(use this note with <targetId:X>).
    * <targetId:X> # ID of target event or actor.
    based on you description. you can make this concept.. make the 2 enemy
    1. use mode:regionUp or regionDown (you decide). in map
    2. use mode:stand
    use (2) on the map.
    during enemy turn.. check if your player on region x (ex: 1)
    remove enemy event and use summon to replace them with (1)

    you have to make sure the player unable to attack the enemy or decrease the HP. Because this method make the enemy heal up after next phase
    YamiiJudai said:
    The enemy AI always seems to target the character that is first in the formation list. So each time the enemy always attacks the same actor. How do I add a random variable to the targeting?
    do you use this on event note?
    * <mode:aimingEvent> # set this unit's acting pattern 'aim for event with the specified ID'(use this note with <targetId:X>).
    * <mode:aimingActor> # set this unit's acting pattern 'aim for actor with the specified ID'(use this note with <targetId:X>).
    the note would be this.. the target should be event id where player have (ex: 10)
    * <targetId:X> # ID of target event or actor.
    AngelYuko said:
    (Double post, sorry but this is for something different)
    I'm trying to implement the support system using gsc code + his modified version of MoogleX_ActorFriendship to implement a support between unit system. The system works nothing to report.

    But the problem comes from the support exp point gain.
    gsc published script call to use it (in this post https://forums.rpgmakerweb.com/inde...ng-tactical-battle-system.110366/post-1421690) but it didn't really works in my game :
    -> player feedback (with baloons) only works during enemy phase
    -> The states are not removing after battle, so even if unit just move, the baloons appears above the precedent units.

    I tryed to "rewrite" the code, but opening the console this appears :
    View attachment 338804

    Here my switch 6 = player phase.
    My variable 4 = active event ID
    My variable 5 = target event ID
    I basically give the char1 var the event ID of actor if player phase is on, and the target event ID if player phase is off (basically, it is the same event id)

    I don't really have knowledge in JS so I think I "broke" it.
    Can someone look at the original code and tell me how to "fix" the feedback with baloon issue ?
    I don't think the friends parameter exists.. try use
    Code:
    console.log()
    before
    JavaScript:
    var friends =....
    example:
    Screenshot 2025-06-29 011559.png
  9. gundambison said:
    can you share the preview.. perhaps the link to testing Ryan Demo
    Hello gundambison, thanks for respond to my message.

    Here's a video recording of the behavior I'm talking about: when I don't select Harold, he plays an "idle" animation, but once I click him, he begins walking.

    I think this looks much more aesthetically pleasing than just having the character walk in place the entire time.



    You can also see Harold perform an attack animation. I would like to learn how to customize that as well.
  10. RyanBram said:
    Hello,

    When I attempt to playtest, I get an error saying "Argument must be a Rectangle."
    Per the SRPG website, here is the code:

    rmmz_managers.js:2036 Error: Argument must be a Rectangle
    at window.Window_SrpgStatus.Window_Base.checkRectObject (rmmz_windows.js:42)
    at window.Window_SrpgStatus.Window_Base.initialize (rmmz_windows.js:20)
    at window.Window_SrpgStatus.Window_Base.initialize (SRPG UX Windows.js:286)
    at window.Window_SrpgStatus.Window_SrpgStatus.initialize (SRPG.js:4235)
    at new window.Window_SrpgStatus (SRPG.js:4224)
    at Scene_Map.createSrpgStatusWindow (SRPG.js:5276)
    at Scene_Map.createAllWindows (SRPG.js:5263)
    at Scene_Map.createAllWindows (SRPG.js:7330)
    at Scene_Map.createAllWindows (SRPG Battle Prepare.js:891)
    at Scene_Map.createDisplayObjects (rmmz_scenes.js:907)
    SceneManager.catchNormalError @ rmmz_managers.js:2036
    srpg_set.png:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
    DevTools failed to load SourceMap: Could not load content for chrome-extension://njgcanhfjdabfmnlmpmdedalocpafnhl/js/libs/pixi.js.map: System error: net::ERR_FILE_NOT_FOUND

    Keep in mind, I know nothing about code or coding.
  11. vandal33 said:
    Hello gundambison, thanks for respond to my message.

    Here's a video recording of the behavior I'm talking about: when I don't select Harold, he plays an "idle" animation, but once I click him, he begins walking.

    I think this looks much more aesthetically pleasing than just having the character walk in place the entire time.



    You can also see Harold perform an attack animation. I would like to learn how to customize that as well.

    is posible the concept like this

    in this movie, when you click there will a sound (SE).. but on your case, you are giving him order to move/animation!? while other player are stop moving?!?

    I create this video. If this what you wanted? or only for Harold and the Gank only?

    update:
    - added example with move animation with click
  12. gundambison said:
    is posible the concept like this

    in this movie, when you click there will a sound (SE).. but on your case, you are giving him order to move/animation!? while other player are stop moving?!?

    I create this video. If this what you wanted? or only for Harold and the Gank only?

    update:
    - added example with move animation with click

    If you look in my recorded video, you can see:

    1) Harold has an "idle" animation on the map.
    2) Harold has a "walking" animation when you select him.
    3) Other actors don't change their animations when you select Harold.
  13. gundambison said:
    like this

    I use SE from MV base

    can you share the preview.. perhaps the link to testing Ryan Demo

    fyi this is mode you can use
    * <mode:normal> # set this unit's acting pattern 'normal'(if you don't set mode, set 'normal' automatically).
    * <mode:stand> # set this unit's acting pattern 'stand if enemy don't near by'.
    * <mode:regionUp> # set this unit's acting pattern 'go to bigger region ID if enemy don't near by'.
    * <mode:regionDown> # set this unit's acting pattern 'go to smaller region ID if enemy don't near by'.
    * <mode:absRegionUp> # set this unit's acting pattern 'always go to bigger region ID'.
    * <mode:absRegionDown># set this unit's acting pattern 'always go to smaller region ID'.
    * <mode:aimingEvent> # set this unit's acting pattern 'aim for event with the specified ID'(use this note with <targetId:X>).
    * <mode:aimingActor> # set this unit's acting pattern 'aim for actor with the specified ID'(use this note with <targetId:X>).
    * <targetId:X> # ID of target event or actor.
    based on you description. you can make this concept.. make the 2 enemy
    1. use mode:regionUp or regionDown (you decide). in map
    2. use mode:stand
    use (2) on the map.
    during enemy turn.. check if your player on region x (ex: 1)
    remove enemy event and use summon to replace them with (1)

    you have to make sure the player unable to attack the enemy or decrease the HP. Because this method make the enemy heal up after next phase

    do you use this on event note?
    * <mode:aimingEvent> # set this unit's acting pattern 'aim for event with the specified ID'(use this note with <targetId:X>).
    * <mode:aimingActor> # set this unit's acting pattern 'aim for actor with the specified ID'(use this note with <targetId:X>).
    the note would be this.. the target should be event id where player have (ex: 10)
    * <targetId:X> # ID of target event or actor.

    I don't think the friends parameter exists.. try use
    Code:
    console.log()
    before
    JavaScript:
    var friends =....
    example:
    View attachment 343854

    Thank you for the advice! I was thinking of the summon method to replace, but I actually figured out there is a script command "this.setBattleMode(eventId, mode);" which let me do what I wanted without the enemy healing.
  14. SnapSnap said:
    Thank you for the advice! I was thinking of the summon method to replace, but I actually figured out there is a script command "this.setBattleMode(eventId, mode);" which let me do what I wanted without the enemy healing.
    thx you for remind there is a command for it
    Code:
    this.setBattleMode(EventID, 'mode');# Change the acting pattern of the event with the specified ID.
    this.setBattleMode(eventId, mode);
    		# Sets the battle mode for the specified event.
    this.setTargetId(eventId, targetId);
    		# Sets the target ID for the specified event.
    		# The battle mode is referenced by 'aimingEvent' or 'aimingActor'.
    with this other question about how to make enemy targeted not 1 player is solve too
    vandal33 said:
    If you look in my recorded video, you can see:

    1) Harold has an "idle" animation on the map.
    2) Harold has a "walking" animation when you select him.
    3) Other actors don't change their animations when you select Harold.
    I don't have the access
    Screenshot 2025-06-29 161129.png
    Can you approve it
    SSJ4 said:
    Hello,

    When I attempt to playtest, I get an error saying "Argument must be a Rectangle."
    Per the SRPG website, here is the code:
    Code:
    rmmz_managers.js:2036 Error: Argument must be a Rectangle
        at window.Window_SrpgStatus.Window_Base.checkRectObject (rmmz_windows.js:42)
        at window.Window_SrpgStatus.Window_Base.initialize (rmmz_windows.js:20)
        at window.Window_SrpgStatus.Window_Base.initialize (SRPG UX Windows.js:286)
        at window.Window_SrpgStatus.Window_SrpgStatus.initialize (SRPG.js:4235)
        at new window.Window_SrpgStatus (SRPG.js:4224)
        at Scene_Map.createSrpgStatusWindow (SRPG.js:5276)
        at Scene_Map.createAllWindows (SRPG.js:5263)
        at Scene_Map.createAllWindows (SRPG.js:7330)
        at Scene_Map.createAllWindows (SRPG Battle Prepare.js:891)
        at Scene_Map.createDisplayObjects (rmmz_scenes.js:907)
    SceneManager.catchNormalError @ rmmz_managers.js:2036
    srpg_set.png:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
    DevTools failed to load SourceMap: Could not load content for chrome-extension://njgcanhfjdabfmnlmpmdedalocpafnhl/js/libs/pixi.js.map: System error: net::ERR_FILE_NOT_FOUND
    Keep in mind, I know nothing about code or coding.
    this post is for MV. for MZ I send you via DM..

    update:
    quote SSJ4
  15. gundambison said:
    like this

    I use SE from MV base

    can you share the preview.. perhaps the link to testing Ryan Demo

    fyi this is mode you can use
    * <mode:normal> # set this unit's acting pattern 'normal'(if you don't set mode, set 'normal' automatically).
    * <mode:stand> # set this unit's acting pattern 'stand if enemy don't near by'.
    * <mode:regionUp> # set this unit's acting pattern 'go to bigger region ID if enemy don't near by'.
    * <mode:regionDown> # set this unit's acting pattern 'go to smaller region ID if enemy don't near by'.
    * <mode:absRegionUp> # set this unit's acting pattern 'always go to bigger region ID'.
    * <mode:absRegionDown># set this unit's acting pattern 'always go to smaller region ID'.
    * <mode:aimingEvent> # set this unit's acting pattern 'aim for event with the specified ID'(use this note with <targetId:X>).
    * <mode:aimingActor> # set this unit's acting pattern 'aim for actor with the specified ID'(use this note with <targetId:X>).
    * <targetId:X> # ID of target event or actor.
    based on you description. you can make this concept.. make the 2 enemy
    1. use mode:regionUp or regionDown (you decide). in map
    2. use mode:stand
    use (2) on the map.
    during enemy turn.. check if your player on region x (ex: 1)
    remove enemy event and use summon to replace them with (1)

    you have to make sure the player unable to attack the enemy or decrease the HP. Because this method make the enemy heal up after next phase

    do you use this on event note?
    * <mode:aimingEvent> # set this unit's acting pattern 'aim for event with the specified ID'(use this note with <targetId:X>).
    * <mode:aimingActor> # set this unit's acting pattern 'aim for actor with the specified ID'(use this note with <targetId:X>).
    the note would be this.. the target should be event id where player have (ex: 10)
    * <targetId:X> # ID of target event or actor.

    I don't think the friends parameter exists.. try use
    Code:
    console.log()
    before
    JavaScript:
    var friends =....
    example:
    View attachment 343854


    Hey, thanks for the reply! Sorry for taking so long to respond.

    Yes, the way its presented in the video is exactly how I would want it.

    How exactly did you do it? The description says something about a common event? Sorry if this went over my head.
  16. Moxem said:
    Hey, thanks for the reply! Sorry for taking so long to respond.

    Yes, the way its presented in the video is exactly how I would want it.

    How exactly did you do it? The description says something about a common event? Sorry if this went over my head.
    common event is tools to help activated the plugins. Since the plugin might have custom config. actually I prefer using common event, but it should be using plugin.

    I will try to make plugin version as the base.

    update video:


    the script can take from here
    PASTEBIN (click here)

    howto
    1. install the plugins

    Spoiler
    Screenshot 2025-07-04 022642.png
    Screenshot 2025-07-04 022701.png
    2. run the plugins. you can put before battle start and remember to end if defeat
    Spoiler
    Screenshot 2025-07-04 022730.png
    3. make blank event and give simple plugin like this
    Spoiler
    Screenshot 2025-07-04 022815.png

    update:
    1. video
    2. script
    3. how to
  17. gundambison said:
    common event is tools to help activated the plugins. Since the plugin might have custom config. actually I prefer using common event, but it should be using plugin.

    I will try to make plugin version as the base.

    update video:


    the script can take from here
    PASTEBIN (click here)

    howto
    1. install the plugins

    Spoiler
    View attachment 344174
    View attachment 344175
    2. run the plugins. you can put before battle start and remember to end if defeat
    Spoiler
    View attachment 344176
    3. make blank event and give simple plugin like this
    Spoiler
    View attachment 344177

    update:
    1. video
    2. script
    3. how to

    hmm. The Script parameters don't show anything for me? Not sure if thats anything on my end, but they are just empty.
  18. Moxem said:
    hmm. The Script parameters don't show anything for me? Not sure if thats anything on my end, but they are just empty.
    try use this
    Google Drive

    just extract it.

    you have same version like this?
    Screenshot 2025-07-04 070345.png
  19. your welcome
    Moxem said:
    Thanks! It worked like a charme!
    if posible. You can share the result. I need feedback about the plugins.
    FYI.. if you not define the character setting, the voice will not read.

    is there a posibility, you might want to change the voice in future. example you game have new chapter, where the voice turn high (tone)
    * dont take serious

    the code have bug.. this is the fixed.. try rename the previous and replace with this
    PASTEBIN


    update:
    I'm testing.. there is slow when using the script.. I'm thingking to update the code..
    if you happen to face the problem. the repair still open