Hey RPG Makers!
This update upgrades the Follower Control plugin so that it avoids another bug! Also, the plugin will now be more compatible with current and future RPG Maker MZ plugins by the Tyruswoo Team!
A bug is fixed in this update! Now, if a follower is selected, and the follower does not exist, the leader is no longer selected; instead, the non-existent follower is selected. Therefore, eventing intended for a follower that is not present will have no effect, instead of affecting the party leader.
This makes it easy to create common events that affect follower movements only when those followers are present, without unintended consequences.
Follower Control v1.3 is designed to be compatible with these plugins:
- Tyruswoo Tile Control Plugin v1.1 for RPG Maker MZ
- Tyruswoo Camera Control Plugin v1.0 for RPG Maker MZ
A method, Tyruswoo.FollowerControl.follower(), was added, which will result in improved compatibility going forward. Plugins can check if the Follower Control plugin has been imported, and if it has, the new method can be called. This makes it unlikely that other plugins will need to be updated for small changes in the Follower Control plugin, even if the other plugins utilize the Follower Control plugin.
- Download the file, and unzip it.
- Make sure the unzipped file is named Tyruswoo_FollowerControl.js and is saved as a .js file.
- Open the file folder of your project. Place the file in your project’s “js” folder, within the “plugins” folder.
- Open your project in RPG Maker MZ, then go to the Tools menu and select Plugin Manager. Use the Plugin Manager to add and activate the plugin.
- I recommend you place this plugin toward the bottom of your plugin list, so it has high priority.
The full text of the help document is included below, and includes details of many other features and tips for how to use Follower Control!
Tyruswoo Follower Control Plugin for RPG Maker MZ
Version 1.3, released 9/12/2020
- Leader: Selects the party leader. (Default.)
- Follower 1: Selects the 1st follower.
- Follower 2: Selects the 2nd follower.
- Follower 3: Selects the 3rd follower.
- Follower 4: Selects the 4th follower.
- Follower 5: Selects the 5th follower.
- Follower 6: Selects the 6th follower.
- Follower 7: Selects the 7th follower.
- Follower 8: Selects the 8th follower.
- Follower 9: Selects the 9th follower.
- Follower by Position: Select any follower, based on marching order.
- Follower by Name: Select follower by name of actor in database.
- Follower by Actor ID: Select follower by actor ID.
- Stop Chase: Prevent followers from chasing the leader.
- Chase: Allow followers to chase the leader. (Default.)
- Pose: Change a party member’s character image to pose.
- Reset Pose: Change a party member’s to their default pose.
- Max Party Members: Set how many party members are shown. Default 4.
- Pathfinding Search Limit: Set the pathfinding search limit. Default 12.
Script calls: (Advanced. Use these within the Set Move Route command.)
- this.path(x, y) Pathfind to the absolute coordinates indicated.
- this.path(‘event’, id) Pathfind to the event of ID number id.
- this.path(‘e’, id) Same as this.path(‘event’, id). May use ‘E’.
- this.path(‘follower’, i) Pathfind to the follower of position i.
- this.path(‘f’, i) Same as this.path(‘follower’, i). May use ‘F’.
- this.path(‘leader’) Pathfind to the party leader.
- this.path(‘L’) Same as this.path(‘leader’). May use ‘l’.
- this.moveToward(x, y) Move toward the absolute coordinates indicated.
- this.moveToward(‘e’, id) Move toward the event of ID number id.
- this.moveToward(‘f’, i) Move toward the follower of position i.
- this.moveToward(‘L’) Move toward the party leader. May use ‘l’.
Basics of how to use this plugin:
- First, select the desired party member. This may be the leader, for default RPG Maker behavior. To control followers, select a follower.
- Next, use an event command on the “player”, and the selected party member will be affected! This works for many commands, including:
- Set Move Route
- Show Balloon Icon
- Show Animation
- Transfer Player
- Conditional Branch
- Note that if you are moving the party leader, the followers by default will chase the leader. If you want the leader to move independently, without the followers chasing, you will need to use the “Stop Chase” plugin command.
- After you are done with the eventing, remember to use the “Leader” and “Chase” plugin commands to return to default RPG Maker behavior, if desired.
Advanced uses for this plugin:
- Pro Tip: Make common events with preset movement patterns for the party. Then, use these movement patterns for cutscenes throughout the game!
- You can make a follower that looks transparent, like a ghost! Select a follower, then using the Set Move Route command to change the follower’s opacity, and/or to turn off (or on) the follower’s walking animation, stepping animation, or direction fix.
- You can make a follower turn toward the party leader. First, select a follower. Then, use the Set Move Route command and use the move route “turn toward player”. (If you also want the party leader to turn toward the follower: Use conditional branches to check the direction faced by the follower; then, inside the conditional branch, select the leader, and use Set Move Route to make the leader face the opposite direction.)
- If followers are on the same tile as the leader, you can make them face the same direction as the leader. Select a follower, then use the Set Move Route command and use the move route “turn toward player”. (This also works for events that are on the same tile as the leader.)
- Poses! These allow you to change an actor’s character image, without needing to know which actor is being affected. Based on the follower you choose, the follower’s actor’s character image will change to the pose you choose. Example: If you have an actor named Tyruswoo with character image “Tyruswoo.png”, then you can use the Pose plugin command with the argument “wounded” to change the character’s image to “Tyruswoo_wounded.png”. Most importantly, this affects the chosen follower, without needing to know which actor ID is being affected, and without needing to know the current graphic of the actor. To change the pose back to default, use the Reset Pose plugin command.
- Pathfinding! You can make any character (party leader, follower, or event) take a step toward coordinates, or a step toward any other follower or event! Within the Set Move Route command, use this script: this.path(x, y) and the character will step toward coordinates x,y. To make the character step toward a follower, use the script this.path(‘follower’, i) where i is the position (marching order) of the follower. To make the character step toward the party leader, use the script this.path(‘leader’). To make the character step toward an event, use the script this.path(‘event’, i) where i is the ID number of the event. If you don’t want pathfinding, but want the character to attempt to take a step without trying to avoid walls, you can use the script this.moveToward(x,y), this.moveToward(‘follower’,id), this.moveToward(‘event’,i), or this.moveToward(‘leader’). In all these scripts, you can also abbreviate ‘follower’ to ‘f’, ‘leader’ to ‘l’, and ‘event’ to ‘e’. Using abbreviations can make it easier to read the scripts inside the Set Move Route window. Note that by default, followers have Through On, so if you want the followers to pathfind around solid obstacles, you will need to use Set Move Route on the follower to set Through Off.
For more help using the Follower Control plugin, see Tyruswoo.com.
- Follower Control released for RPG Maker MZ!
- Removed a bug that caused Tyruswoo.FollowerControl._follower to be reverted to $gamePlayer whenever a Game_Interpreter closed. Now, the selected follower is remembered from one event to the next (as long as the player stays in the same map). This also allows the Follower Control plugin to much more easily communicate with other plugins. For example, this allows Tyruswoo_TileControl to use information about the current follower in its plugin commands.
- Corrected bug in replacement method for Game_Interpreter.character() function, in which if Tyruswoo.FollowerControl._follower was not defined using the Follower Control plugin, then the first instance of eventing such as a Transfer Player event could result in Game_Interpreter.character() returning null instead of returning $gamePlayer. Now, if Tyruswoo.FollowerControl._follower is not yet defined, Game_Interpreter.character() will never use a null value Tyruswoo.FollowerControl._follower, but will instead use $gamePlayer, as is the default behavior for the function.
- Now, if a follower is selected, and the follower does not exist, the leader is no longer selected; instead, the non-existent follower is selected. Therefore, eventing intended for a follower that is not present will have no effect, instead of affecting the party leader.
- Added the Tyruswoo.FollowerControl.follower() function, which allows improves compatability with other plugins that may need to access the current valid follower (if available) stored in the Tyruswoo.FollowerControl._follower variable. Plugins that may use this information include Tyruswoo_TileControl and Tyruswoo_CameraControl.
- Changed the method Game_Interpreter.character() to an alias method. This increases the chance of compatibility with other plugins that use the Game_Interpreter.character() method.
- You joined Tyruswoo.com as a paying member when you downloaded this plugin. You do not have to remain a paying member to use the plugin you downloaded. However, your support is greatly appreciated, and allows me to continue improving and updating plugins.
- You agree to not redistribute this plugin. You agree to direct others to Tyruswoo.com if they want the plugin.
- You may use this for any game, whether commercial or non-commercial.
- Adding “Tyruswoo”, “Tyruswoo Studio”, or “Tyruswoo Team” to your game’s credits is greatly appreciated, but not required.
- A free copy of your game is awesome, but not required.
Remember, only you can build your dreams!