- Joined
- Dec 4, 2016
- Messages
- 31
- Reaction score
- 12
- First Language
- Dutch
- Primarily Uses
- RMMV
I've been working on a game for the last few weeks and wanted a realtime battle system. The Chrono engine didn't provide what I wanted and it wasn't exactly easy to set up.
So I figured why not make my own?
Features
- Attack animations
- Weapons can deal more damage
- Ranged weapons (they are armors though, so you can't use armor with this plugin)
- Ammo for ranged weapons and durability for weapons
- Enemies
- NPCs that can battle enemies
- Enemy pathfinding using flow maps
- Some more I'm probably forgetting right now
Setting up the plugin(s)
This is the first time I'm writing this down, so forgive me if I forget anything.
Download the plugins and arrange them in the right order.
You can download the plugins here (press the green code button > download zip).
Then add them to your project in this order:
- JOMY_Core
- JOMY_PathfindCore
- SHAZ_SmartPathfinding (this requirement will be removed in the future)
- JOMY_Stamina (optional; adds dashing stamina)
- JOMY_eventDetection
- JOMY_inputManager
- JOMY_keyboard
- JOMY_renderCore
- JOMY_RTBS_Core
- JOMY_RTBS_animation
- JOMY_RTBS_bulletAttack
- JOMY_RTBS_weapons
- JOMY_RTBS_enemyPathfind
- JOMY_RTBS_NPCFighters
- JOMY_RTBS_HealthBar
- JOMY_RTBS_ActorHud (optional; display actor hud with stamina, health, equipped weapons)
Setting up a map
Add a new event somewhere, don't forget to enable "through" in the options of the event. Add a note with <RTBS-setup>. You can use this event for setting up other things as well, the RTBS plugin just requires it to be present.
Adding an enemy
- Add a new event
- In the note of this event, add <RTBS-enemy>.
- Now you can customize it by adding comments!
Example event:
Everything below the == Sound == comment isn't important for RTBS.
Let's go over the comments:
- Attack and Health are pretty self-explanatory.
- Speed is how long an enemy waits before attacking again (in milliseconds)
- AttackAnimationId is the animation id that will be played when an enemy attacks (you might want to scale down the default animations if you'll be using that)
- PathfindRadius is the radius in which an enemy will check for a player or a battler
- WanderRadius is the radius in which an enemy will wander from its current position. The enemy will stay stationary (except when it spots a player) if this is not set. This is here because the default RMMV "random" movement is not compatible with pathfinding
- WanderTime is the time between choosing a different spot to wander to
- HPBar set this to shown if you want a health bar to appear above an enemy when it is attacked
Now, add a new event page with self-switch A. This is event page will be called when the enemy dies. So for example, you could fade out the enemy's body:

(ofcourse you'd want to use another self switch to go out of this event page once the fading is done.)
Adding an NPC Battler
You can have events that will attack enemies.
Add <RTBS-battler> to the event's note.
Note explanation is the same as for an enemy.
Adding weapons
Add a new weapon in the database.
Change its attack. This will be the weapon's attack.
For the animation, choose an animation. If you chose for example animation 1, this will be the animation when looking up, animation id 2 will be used for attacks looking down, 3 is left and 4 is right.
Add RTBS-durability: <number> and RTBS-speed: <number> to change the attack speed and durability of this melee weapon.
To add a ranged weapon, rename the second equipment type to Ranged Weapon and in the terms, change armor to Ranged Weapon.
Now, in armor, create a new ranged weapon. Change its attack. And you can add any of the following notes:
- <RTBS-ranged-alerts>: if this is present, the ranged weapon will alert nearby enemies
- RTBS-ranged-ammo: <number>: the item id of the ranged weapon's ammo. This means that the weapon will require the item to be present to shoot and will use up ammo when shooting
- RTBS-ranged-cooldown: <number>: the amount of time before the player can shoot again after firing a shot.
And I think that covers all of it.
Feels great to finally write down a reference for other people that are interested.
If you want a companion for the player, check out my companion plugin.
If there is anything that's unclear, feel free to leave a comment, I'll be glad to assist you.
I'll probably make a downloadable demo one day and upload a demo video.
Do note that the plugins are still under development, but most of the plugin is already quite solid. So new features might be added in the future, so keep an eye out.
License: use if for whatever you want, just give credit. You are allowed to edit the files, as long as you state this.
So I figured why not make my own?
Features
- Attack animations
- Weapons can deal more damage
- Ranged weapons (they are armors though, so you can't use armor with this plugin)
- Ammo for ranged weapons and durability for weapons
- Enemies
- NPCs that can battle enemies
- Enemy pathfinding using flow maps
- Some more I'm probably forgetting right now
Setting up the plugin(s)
This is the first time I'm writing this down, so forgive me if I forget anything.
Download the plugins and arrange them in the right order.
You can download the plugins here (press the green code button > download zip).
Then add them to your project in this order:
- JOMY_Core
- JOMY_PathfindCore
- SHAZ_SmartPathfinding (this requirement will be removed in the future)
- JOMY_Stamina (optional; adds dashing stamina)
- JOMY_eventDetection
- JOMY_inputManager
- JOMY_keyboard
- JOMY_renderCore
- JOMY_RTBS_Core
- JOMY_RTBS_animation
- JOMY_RTBS_bulletAttack
- JOMY_RTBS_weapons
- JOMY_RTBS_enemyPathfind
- JOMY_RTBS_NPCFighters
- JOMY_RTBS_HealthBar
- JOMY_RTBS_ActorHud (optional; display actor hud with stamina, health, equipped weapons)
Setting up a map
Add a new event somewhere, don't forget to enable "through" in the options of the event. Add a note with <RTBS-setup>. You can use this event for setting up other things as well, the RTBS plugin just requires it to be present.
Adding an enemy
- Add a new event
- In the note of this event, add <RTBS-enemy>.
- Now you can customize it by adding comments!
Example event:

Everything below the == Sound == comment isn't important for RTBS.
Let's go over the comments:
- Attack and Health are pretty self-explanatory.
- Speed is how long an enemy waits before attacking again (in milliseconds)
- AttackAnimationId is the animation id that will be played when an enemy attacks (you might want to scale down the default animations if you'll be using that)
- PathfindRadius is the radius in which an enemy will check for a player or a battler
- WanderRadius is the radius in which an enemy will wander from its current position. The enemy will stay stationary (except when it spots a player) if this is not set. This is here because the default RMMV "random" movement is not compatible with pathfinding
- WanderTime is the time between choosing a different spot to wander to
- HPBar set this to shown if you want a health bar to appear above an enemy when it is attacked
Now, add a new event page with self-switch A. This is event page will be called when the enemy dies. So for example, you could fade out the enemy's body:

(ofcourse you'd want to use another self switch to go out of this event page once the fading is done.)
Adding an NPC Battler
You can have events that will attack enemies.
Add <RTBS-battler> to the event's note.

Note explanation is the same as for an enemy.
Adding weapons
Add a new weapon in the database.
Change its attack. This will be the weapon's attack.
For the animation, choose an animation. If you chose for example animation 1, this will be the animation when looking up, animation id 2 will be used for attacks looking down, 3 is left and 4 is right.
Add RTBS-durability: <number> and RTBS-speed: <number> to change the attack speed and durability of this melee weapon.
To add a ranged weapon, rename the second equipment type to Ranged Weapon and in the terms, change armor to Ranged Weapon.
Now, in armor, create a new ranged weapon. Change its attack. And you can add any of the following notes:
- <RTBS-ranged-alerts>: if this is present, the ranged weapon will alert nearby enemies
- RTBS-ranged-ammo: <number>: the item id of the ranged weapon's ammo. This means that the weapon will require the item to be present to shoot and will use up ammo when shooting
- RTBS-ranged-cooldown: <number>: the amount of time before the player can shoot again after firing a shot.
And I think that covers all of it.
Feels great to finally write down a reference for other people that are interested.
If you want a companion for the player, check out my companion plugin.
If there is anything that's unclear, feel free to leave a comment, I'll be glad to assist you.
I'll probably make a downloadable demo one day and upload a demo video.
Do note that the plugins are still under development, but most of the plugin is already quite solid. So new features might be added in the future, so keep an eye out.
License: use if for whatever you want, just give credit. You are allowed to edit the files, as long as you state this.
Last edited: