Follower Control Plugin v2.2 for RPG Maker MV

Hey RPG Makers!

This update fixes a bug that could occur in follower selection under certain circumstances in the Follower Control plugin for MV. Big thanks to Lei-Ray for bringing this bug to my attention!

Description of bug:

  • If the current number of party members was less than the Max Party Members plugin parameter, it was possible to select an invisible/absent follower.
  • For example, if the Max Party Members was set to 4, and only 2 party members were in the group, then using the plugin command “Follower 3” would target an invisible/absent follower position, where follower position 3 would be. This usually wasn’t noticeable if Set Move Route was used on an absent follower. However, if Show Balloon Icon or Show Animation was used, this resulted in graphical effects even when the party member was not present!
  • This bug has been fixed as of this update.

Now you can use the Follower selection plugin commands without needing to worry about accidentally selecting an absent follower.

You are not logged in.
Download available to supporters of the Design Counselor level and higher.

To install:

  1. Download the file, and unzip it.
  2. Make sure the unzipped file is named Tyruswoo_FollowerControl.js and is saved as a .js file.
  3. Open the file folder of your project. Place the file in your project’s “js” folder, within the “plugins” folder.
  4. Open your project in RPG Maker MV, then go to the Tools menu and select Plugin Manager. Use the Plugin Manager to add and activate the plugin.

The full help text of Follower Control v2.2 for MV is included below!

Tyruswoo Follower Control for RPG Maker MV
v2.2, updated 9/18/2020

Terms of Use:

This plugin is for all those who have contributed to Tyruswoo at the Design Counselor level or higher. This plugin may be used for commercial and non-commercial games. Do not redistribute. Enjoy! ๐Ÿ™‚

~Tyruswoo

Description of Plugin:

Tyruswoo’s Follower Control plugin allows greater control of party follower movement. It allows using these commands on any follower:

  • Set Move Route
  • Show Balloon Icon
  • Show Animation
  • Transfer Player

Now you can easily make cool cutscenes involving the party’s followers and leader!

Plugin commands in brief:

  • Follower 0 targets the leader (for Set Move Route of player).
  • Follower 1 targets follower 1 (for Set Move Route of player).
  • Follower 2 targets follower 2. (Etc. Works for up to 50 followers.)
  • Follower StopChase makes followers stop chasing the leader.
  • Follower Chase makes followers chase the leader again.
  • Follower <Name> targets follower associated with actor named <Name>.
  • Follower Variable <varId> targets follower based on value of a variable.
  • Follower Actor <actorId> targets follower associated with actor <actorId>

For best results, use the above Plugin Commands in combination with the Set Move Route command. Make cool cutscenes! ๐Ÿ™‚

Example of how to use this plugin:

Here is an example of using the Plugin Commands, combined with the Set Move Route command.

Use the following commands within an event:

  1. Plugin Command: Follower StopChase // This changes follower behavior. The followers no longer follow the leader.
  2. Plugin Command: Follower 1 // This makes the Set Move Route command target Follower 1 instead of the leader.
  3. (Now Set Move Route of player.) // Instead of the party leader, follower 1 will move independently.
  4. Plugin Command: Follower 0 // This resets how Set Move Route works. Now it will target the leader again.
  5. (Now Set Move Route of player.) // The party leader will move, but the followers will not chase the leader, since we used “Follower StopChase”.
  6. Plugin Command: Follower Chase // Resets follower behavior, so they chase the leader again.

How to Select a Follower

Details of commands to target a follower instead of the leader for Set Move Route, Show Balloon Icon, Show Animation, or Transfer Player commands.

Example:

Follower 1

The plugin command “Follower 1” will make all future Set Move Route commands affect the first follower, i.e. the character following the party leader. This effect will continue until resetting by using the following plugin command:

Follower 0

The plugin command “Follower 0” causes default behavior of all Move Route event commands affecting the party leader.

Important: Make sure you use plugin command “Follower 0” to reset, so that future Set Move Route commands will affect the party leader!

Number Codes:

  • 0 = Leader
  • 1 = First Follower
  • 2 = Second Follower
  • 3 = Third Follower
  • 4 = Fourth Follower
  • 5 = Fifth Follower
  • And so on for up to 50 followers.

If the selected follower is not present (i.e. the party is too small, and that follower spot is not filled), then commands sent to that follower number will have no effect.

Notes on Transfer Player:

  • No matter the follower/leader targeted, using a Transfer Player to go to a new map will always rejoin the party, making the followers chase the leader again, and setting the leader as the target (same as using Plugin Command “Follower 0”).
  • If transferring to the current map, then the targetted follower determines the effect of Transfer Player:
    • If the leader is targeted (Follower 0), then we check whether followers are chasing.
      • If they are chasing, then we perform a Transfer Player type function, bringing the party together and performing the chosen fade.
      • If the followers are not chasing, then the leader is teleported without affecting the followers’ positions.
    • If a follower is targeted, then the follower is teleported without affecting the other followers’ or leader’s position.

Tip: If you want to transfer the followers and leader all independently during a cutscene, then be sure to use Plugin Command “Follower StopChase”. That way, transfers of the leader within the same map will no longer affect the followers, allowing for better cutscenes.

(Note that this also works with TYR_CameraControl, allowing for the camera to stay focused on the correct camera target.)

How to Make Followers Stop and Start Following:

The following plugin commands can be used to change followers’ chase behavior:

Follower Chase

Makes all followers chase the leader and each other. This is the default behavior of followers.

Follower StopChase

Makes all followers stop chasing the leader and each other. This is useful for cutscenes in which the party leader moves around alone, allowing followers and leader to all move independently.

Alternative Ways to Select a Follower:

Follower Variable variableID

Where variableId is the ID number of the desired variable. This will use Variable variableId to determine which follower to select. If Variable variableId has not been set, then it will be 0, which will select the leader. If Variable variableId has been set to 3, then follower 3 will be selected. Etc. In this way, the Control Variables event command can be used to set a variable Id, which in turn selects a follower.

Examples:

  • Follower Variable 3
    • This uses variable 3 to determine the follower. Set variable 3 to the desired follower, then use this command to set the selected follower to the value of Variable 3.
  • Follower Variable 27
    • Same as above, but variable 27 is used.
    • If variable 27 has not been set, it will be 0, and the leader will be selected.
    • If variable 27 has been set to 1, then the first follower will be selected. Etc.

Tip: Selecting followers by variable can also be used in combination with event Loops to cycle through all followers in turn.

Follower Name

where Name is the name of the follower’s associated actor.

Examples:

  • Follower Harold
    • This will select whichever follower is associated with the actor named Harold.
  • Follower Marsha
    • This will select whichever follower is associated with the actor named Marsha.

Selecting a follower by name can be useful for certain cutscenes. For example, if you want a certain follower to have a question mark bubble, or to do a jump before speaking, etc, you can select that follower even if you do not know their position in the group. This is especially helpful if you allow the player to alter the marching order of their characters’ party.

Follower Actor ID

where ID is the ID number of the follower’s associated actor.

Examples:

  • Follower Actor 2
    • This will select whichever follower is associated with the actor of actorID number 2.
  • Follower Actor 39
    • This will select whichever follower is associated with the actor of actorID number 39.

Selecting a follower by actor ID can be useful just like selecting a follower by name, as described above. However, by using an actor ID, we can select the desired actor, even if the name of the actor has been modified. This is useful for games that allow the player to change the names of all their actors.

Synonyms

Here are a few alternate ways to write the same plugin command:

For the term “Follower”, you may type any of these:

  • Follower
  • follower
  • FOLLOWER
  • Follow
  • follow
  • Follow

For the term “Chase”, you may type any of these:

  • Chase
  • chase
  • CHASE
  • Chase True
  • chase true
  • CHASE TRUE
  • Chase Start
  • chase start
  • CHASE START

For the term “StopChase”, you may type any of these:

  • StopChase
  • stopchase
  • STOPCHASE
  • stopChase
  • Stopchase
  • Chase False
  • chase false
  • CHASE FALSE
  • Chase Stop
  • chase stop
  • CHASE STOP

Version History:

v1.00 January 17, 2016

  • Created the plugin and added the following features:
    • Plugin command “Follower” to select followers.
    • Set Move Route effect on followers.
    • Plugin commands “StopChase” and “Chase” to control followers chasing the leader.

v1.01 January 19, 2016

  • Added the following features:
    • Show Balloon Icon for followers.
    • Show Animation for followers.
    • Transfer Player for followers.

v1.02 January 19, 2016

  • Worked on fixing a bug. However, errors still occured. See below.

v1.03 January 20, 2016

  • Fixed the bug found on January 19th.
    • Previously, the “Follower” plugin command had to be used prior to ever using Set Move Route or other featured commands in your game; If the “Follower” plugin command was not used first, the game would freeze. Now, the plugin no longer requires this! If you never use a “Follower” plugin command, your game will function as it would by default, without errors.

v1.04 January 20, 2016

  • Added feature: If a follower is on the same tile as the leader, and then Set Move Route is used to “Turn toward Player”, then the follower will now turn to face the same direction as the leader!
  • So, by using the Gather Followers event command, then using Set Move Route “Turn toward Player”, it is possible to make followers be in a predictable position (right where the leader is), from whence the followers can then be sent out in a pre-prepared formation. This allows for ease of creating Common Events for for your various formations of follower movement!

v1.05 Sept. 4, 2018

  • Added feature:
    • Now, when StopChase is on, and the leader’s MoveRoute is caused to jump, the followers will not jump.

v1.06 Dec. 22, 2018

  • Added features:
    • Now can select follower based on a variable’s value, using the Follower Variable <VariableId> plugin command.
    • Now can select follower based on their actor’s name, using the Follower <Name> plugin command.

v1.07 Dec. 31, 2018

  • Added feature:
    • Now can select follower based on an actor’s ID, using the Follower Actor <actorId> plugin command.

v1.08 Feb. 27, 2019

  • Added feature/fixed bug:
    • Followers can be set to have unique qualities of the following, using Set Move Route:
      • Opacity
      • Blend Mode
      • Walk Animation On/Off
      • Step Animation On/Off
      • Direction Fix On/Off
      • Transparency On/Off
    • For these qualities, followers will retain their individual qualities. However, if StopChase is Off, and one of these qualities is applied to the player, then the same quality will be applied to all followers, as well. Therefore, if you want to apply any of the above qualities to only the leader, StopChase must be On.
    • Also, followers will now retain their own Move Speed as long as StopChase is On, even if the followers are moving and the player is moving at the same time. (However, unlike the above qualities, if StopChase is turned back Off, followers will immediately be reset to the player’s Move Speed.)

v1.09 March 8, 2019

  • Added feature:
    • A new script call was added, which can be used within the Set Move Route command to make any follower pathfind to any coordinates on the map, to any of the current map’s events, or to any follower.
    • First, select the desired Follower. Then, within the Set Move Route command, use one of the following scripts.
    • this.path(17, 5)
      • This finds the path to x coordinate 17, y coordinate 5.
    • this.path(“event”, 3)
      • This finds the path to Event 3 on the current map.
    • this.path(“follower”, 2)
      • This finds the path to Follower 2.
    • For whichever of the above pathing arguments you use, the player or follower will only move one step each time you call the script. You can use the script as many times as you need, in order to make the player or follower step toward the target for that many steps.
    • Note: This script call also works for events. Just use the script call within Set Move Route.
    • Note: This script call has no variability, so it always finds the straightest path, and will always yield the same result every time. (This is different from the “Approach” movement type, which has randomness, producing variability.)

v1.10 June 23, 2019

  • Added feature:
    • A new plugin command was added, which allows switching the image of the currently selected follower, based on the currently selected follower’s default image.
    • To use poses, you first need to create the appropriately named pose image files. Then, you can call those files for your follower at any time. The follower’s default image will be used to determine what their poses can be.
    • You can create an infinite number of your own poses! To create a pose, you need to have the default image file for the character, and then create another image file with an underscore added at the end, followed by the name of the pose (in lowercase letters).
    • For example, if our character’s default image is $McKathlinIsAwesome.png then our pose image for a wink should be named $McKathlinIsAwesome_wink.png. Or, our pose image for that character’s wounded image should be $McKathlinIsAwesome_wounded.png. And likewise for any other pose images for that character. You can have as many poses as you want! There is no maximum.
    • Important Note: The poses must all have the same index value as the default pose. In other words, the pose images must be the same size as the default image, with the pose at the same position within the image file.
    • For example, if we want to make a certain follower wink, we first select the follower. Then, make that follower change to a wink pose: Follower Pose wink. Have the follower hold the pose for a moment or say something, etc, then return the follower to a default pose. There are several ways to do this, and all are equivalent:
      • Follower Pose default
      • Follower Pose normal
      • Follower Pose none
      • Follower Pose stand
      • Follower Pose standing
    • All of the above plugin commands do the same thing of returning the follower to their default pose.

v1.11 August 2, 2019

  • Modified feature: There are now two ways to select a follower by their name. You can select a follower by their actor’s name, as listed in the database.
  • By default, followers will be selected based on their actor’s name in the database. For example:
    • Follower Shompta
    • The above searches the followers, and if a follower’s actor has the name “Shompta” in the database, then that follower is selected.
  • You can, if so desired, still search for an actor based on their current name. The only reason to use this method is if you want special things to occur only when an actor has a special name that the player has entered in. For example, either of the following will select a follower who is currently named “SecretCode”.
    • Follower CurrentName SecretCode
    • Follower Current_Name SecretCode
    • If a player has indeed renamed an actor to be named “SecretCode”, then the follower associated with that actor will be selected.

v2.00 January 24, 2020

  • This update greatly improves the pathfinding. As previously, you can use this.path() to make a follower move to specific coordinates, to a specific event, or to a specific follower. However, now the pathfinding allows avoiding obstacles. Note that in order for the follower to recgonize obstacles, you must also use the Set Move Route command to set Through Off prior to the movement. Then, use the Set Move Route command to run a Script of the this.path function.
  • Examples of smart pathfinding that avoids obstacles:
    • this.path(17, 5)
      • This finds the smart path to x coordinate 17, y coordinate 5.
    • this.path(“event”, 3)
      • This finds the smart path to Event 3 on the current map.
    • this.path(“follower”, 2)
      • This finds the smart path to Follower 2.
  • As previously, note that the follower will only move one step each time the script runs.
  • An excellent feature is that you can use this.path() not just on Set Move Route of followers, but also on the leader of the player’s group, or even on any event’s Set Move Route command! Also importantly, if you use this in any cutscenes, the pathfinding calculation will remain the same, as long as the obstacles are in the same places!
  • You also have control over the pathfinding distance! By default, RPG Maker MV allows pathfinding of up to 12 tiles, and this is what is used to pathfind when the player uses the mouse or touchscreen to move. But, with Follower Control, you can now change the pathfinding distance for any follower, including the leader of the group, so you can allow the player to pathfind even farther if you want!
    • You can also use this to modify how smart enemies are at pathfinding!
    • Use this script inside a Set Move Route command: this.pathMax(value) Where value is how many tiles/steps you want the character to be able to pathfind around obstacles. For example:
      • this.pathMax(30)
      • The above allows pathfinding around obstacles, even if it requires looking 30 tiles around to find the best path.
  • If you want to use the previous pathfinding, which did not take obstacles into account, you can use scripts such as the following:
    • Examples of basic pathfinding that does not avoid obstacles:
    • this.moveToward(17, 5)
      • This finds the basic path to x coordinate 17, y coordinate 5.
    • this.moveToward(“event”, 3)
      • This finds the basic path to Event 3 on the current map.
    • this.moveToward(“follower”, 2)
      • This finds the basic path to Follower 2.
  • Remember that each script call moves the character only one tile, i.e. only one step.

v2.1 April 19, 2020

  • Added a plugin parameter to control the Max Party Members. This allows you to have more than the default of 4 party members shown in the party while the player traverses the map.

v2.2 Sept. 18, 2020

  • Fixed a bug in which it was possible to select a absent follower if the current $gameParty.battleMembers.length was less than $gameParty.maxBattleMembers.
    • For example, if the Max Party Members is 4, and the current party size is 2, it was possible to select followers 2 and 3, even though they do not exist.
  • This was not usually noticeable, because such absent followers are invisible. However, using Show Balloon Icon or Show Animation could cause balloons or animations to appear at the location of an absent follower. This bug has been fixed with this update.

Questions or concerns? Check out the forums to ask a question. You may even find an answer there, already!

To view and submit comments on this post, you must be logged in and joined as at least a Warm Fuzzy member. Log In No account, or ready to upgrade your membership? Join the adventure!

Tyruswoo

Indie Game Designer
creating game content!

Latest RPG Maker

Pin It on Pinterest

Shares