An open library of RPG Maker MV plugins, powered by the community.

PGMV - The Community-Driven Plugin Library for RPG Maker MV

MV plugins

TM Shooting - TMShooting.js

Plugin desc : Adds the ability to fire bullets at players and events.

License : MIT License

Author : tomoaky

Desc page : https://github.com/munokura/tomoaky-MV-plugins

Download Page : https://raw.githubusercontent.com/munokura/tomoaky-MV-plugins/refs/heads/master/TMShooting.js

File name : TMShooting.js

Help of plugin :

@plugindesc Adds the ability to fire bullets at players and events.
@author tomoaky
@url https://github.com/munokura/tomoaky-MV-plugins
@license MIT License

@help
English Help Translator: munokura
This is an unofficial English translation of the plugin help,
created to support global RPG Maker users.
Feedback is welcome to improve translation quality
(see: https://github.com/munokura/tomoaky-MV-plugins ).
Original plugin by tomoaky.
-----
TMPlugin - Shooting ver. 1.3.9

How to Use:

To use this plugin, you will need images of bullets fired by players and events.

Put the bullet images in the img/system folder with the file name shootingBullet1.png. One file can contain up to eight bullet images horizontally and any number of bullet images vertically.
You can also use multiple files by changing the numbers in the file name.
Add more files as needed, for example, to create bullets with different sizes or collision detection.
You can use up to eight files, up to shootingBullet8.png.
https://github.com/munokura/tomoaky-MV-plugins/tree/master/img/system
Sample Project
https://github.com/munokura/tomoaky-MV-plugins/tree/master/zip

Once ready, insert the following tags into the weapon's Note field in the database:
<shotWay:1>
<shotCount:45>
<shotSpeed:0.1>
<shotInterval:15>
<shotType:1>
<shotIndex:8>

Equip this weapon to an actor and press A to fire the bullet.
Insert a tag like <enemy:3> in the Note field of the bullet hit enemy event.
This will apply the parameters of Enemies number 3 to this event, and when a bullet hits them and their HP drops to 0, Self Switch A will turn on.

This plugin has been tested with RPG Maker MV Version 1.6.1.

This plugin is distributed under the MIT License and is free to use commercially, modify, and redistribute.

Plugin Parameter Notes:

bulletSizeTable
Sets the hit detection for each bullet image file. The default setting of 6,6,6,6,6,6,6,6,6
means that all bullets from shootingBullet1.png to shootingBullet8.png will have a hit detection radius of 6 pixels from the bullet's center.

bulletBlendTable
Sets the bullet image blending method. The corresponding values and blending methods are as follows:
(0 = Normal / 1 = Add / 2 = Multiply / 3 = Screen)
As with bulletSizeTable, this must be set to the number of bullet image files.

useLevelUpMessage
Sets whether to display a message window informing the actor that they have leveled up when they gain experience points by defeating an enemy with a bullet.
Hide this message for games with a strong action element.

Plugin Commands:

startAutoShot
When this command is executed, the player character will automatically fire bullets.
This change also applies to party members.

stopAutoShot
When this command is executed, the player character's automatic firing will stop.
This change also applies to party members.

nwayShot 3 0.4 0 0.1 60 1 3 1
The event that executes this command fires bullets. The numbers following the command name are, from left to right, the number of bullets, interval, angle, speed, lifespan, type, index, and skill number.

If the type is 1 and the index is 3, the bullet image will be the fourth image from the left in the top row of shootingBullet1.png. (Indexes start with 0.)

nwayAim 3 0.4 0 0.1 60 1 3 1
The event that executes this command will fire bullets aimed at the player's ship.
If the angle is non-zero, the bullets will be fired at an angle equal to the player's ship's current direction.

nallShot 8 0 0.1 60 1 3 1
The event that executes this command will fire bullets in all directions. The numbers following the command name are, from left to right, the number of bullets, angle, speed, lifespan, type, index, and skill number.
The bullet spacing is automatically adjusted to fire in all directions.

nallAim 8 0 0.1 60 1 3 1
This is a player-aiming version of nallShot.

stopPlayerShot
Prevents the player (including party members) from firing bullets, both manually and automatically.

startPlayerShot
Removes the prohibition on firing bullets for the player (including party members).

stopPlayerShot message
Prevents the player (including party members) from firing bullets, both manually and automatically, only while the Event's Contents "Show Text" is being executed.

startPlayerShot message
Removes the effect of stopPlayerShot message.

stopEnemyShot
Prevents event bullets from firing. If bullets are being fired in a parallel event, only the bullet firing command is disabled, and other commands are still executed.

startEnemyShot
Removes the prohibition on firing bullets for the event.

stopEnemyShot message
Prevents event bullets from firing only while the Event's Contents "Show Text" is being executed.

startEnemyShot message
Cancels the effect of the stopEnemyShot message.

deletePlayerBullets
Deletes all bullets fired by the player (including party members).

deleteEnemyBullets
Deletes all bullets fired by the event.

forceShot 0
Forces the player to perform a shot. This command fires bullets regardless of the delay.
The number represents the party order, with the first character at 0.
If 0 is specified, only the first character will fire bullets.
If the number is omitted, all party members will fire bullets.

bulletPause
Temporarily pauses all bullets.
bulletPause off
Returns the pause.

setCollision 1 0.375 0.75
Sets the width and height of the collision detection for Event 1 to 0.375 and 0.75, respectively.
The effect of this command disappears when the event page changes.

setShiftFiringY 1 -24
Shifts the firing position of Event 1's bullets 24 dots upward.
The effect of this command will disappear when the event page changes.

Memo Tags (Actor, Equipment, State):

<shotWay:3>
Sets the number of bullets fired at once.

<shotSpace:0.4>
Sets the distance (angle) between bullets fired at once.

<shotSpeed:0.1>
Sets the bullet movement speed.

<shotCount:60>
Sets the number of frames until the bullet disappears.

<shotInterval:20>
Sets the number of frames for the invincible period before re-firing.

<shotInvincible:60>
Sets the number of frames for the invincible period after being hit.

Memo Tags (Equipment, State):

<shotIntervalRate:1.4>
Sets the multiplier for the invincible period before re-firing.
This is calculated after the shotInterval adjustment.

Memo Tags (Weapon, State):

<shotType:1>
Sets the image file to use as the bullet graphic. A value of 1 will use
shootingBullet1.png.
If this tag exists for both the weapon and state, the state's tag takes priority.

<shotIndex:3>
Sets the bullet number in the image file selected in the shotType tag to use.
If this tag exists for both the weapon and state, the state's tag takes priority.

<shotSkill:1>
Sets the skill used to calculate damage when a bullet hits an opponent.
If this tag exists for both the weapon and state, the state's tag takes priority.

Memo Tags (Weapon):

<shotSeName:Shot1>
<shotSeVolume:70>
<shotSePitch:150>
Changes the bullet firing sound only while the weapon with this tag is equipped.
You can set the file name, volume, and pitch for each.

Memo Tag (Skill):

<mapThrough>
Bullets will not disappear even if they come into contact with an impassable tile on the map.

<penetrate>
Bullets will penetrate through characters without disappearing. A character will not be damaged multiple times by the same bullet.

<bulletAnime:1>
When a bullet hits a character, the specified animation number will be displayed on the hit character.

<timeBomb:6 0 0.2 45 1 0 1>
When a bullet is deleted due to timeout, a new bullet will be fired from its location.
The parameters are the same as the nallShot plugin command.

Memo Tag (Event):

<enemy:1>
Sets the Enemies number to use as an event parameter.

<cw:0.375>
Sets the size (width) of the collision detection between the event and the bullet, measured from the center of the event to the left (right) edge. A value of 1.0 corresponds to one map tile.
If this tag is not present, a default value of 0.375 is used.

<ch:0.75>
Sets the size (height) of the event and bullet hitbox as the length from the base of the event to its top.

A value of 1.0 corresponds to one map tile.
If this tag is not present, a default value of 0.75 is used.

<shiftFiringY:0>
Shifts the event's bullet firing position (Y coordinate) by the specified number of dots.
A positive value shifts it downward, a negative value shifts it upward.
Normally, bullets are fired from the center of the hitbox rectangle, but if this is inconvenient,
adjust it with this tag.

Memo Tag (Actor):

<cw:0.375>
Same as for events.

<ch:0.75>
Same as for events.

<shiftFiringY:0>
Same as for events.

<deadCharacter:!Flame,5>
Changes the walking graphic when this actor is Collapse.
In this example, the graphic second from the left in the bottom row of !Flame.png is used.

Memo tag (Actor, Enemies):

<deadAnime:67>
Sets the animation to be displayed when the Collapse state is entered.

Compatible (tested) plugins:

SAN_AnalogMove.js ver. 1.4.3
SAN_AnalogMove.js ver. 3.0.3
SAN_AnalogStick.js ver. 1.0.0
SAN_MapGenerator.js ver. 1.1.8
Author: Sanshiro (http://rev2nym.blog.fc2.com/)

CharacterPopupDamage.js Version 1.5.0
Author: Triacontane (http://triacontane.blogspot.jp/)

CommonPopupCore.js ver. 1.05
GetInformation.js ver. 1.15
Author: Yana (https://twitter.com/yanatsuki_)

Mano_InputConfig.js ver. 0.9.0
Author: Shiguren (https://twitter.com/Sigureya/)

When installing: Please insert it above TMShooting.js (in the plugin management order). If the order is incorrect, it may not function properly.

If you experience any issues using the above plugins in combination, please contact tomoaky, not the plugin's author.

Other points to note:

Note field tags such as shotWay and shotSpace use the total value of the actor, equipment, and state. If shotWay is 0 or shotCount is 0, the bullet will not be fired or will disappear immediately after firing. If you want to fire bullets even when unarmed, you must also set the shotWay and shotCount tags for the actor.

If you assign a skill targeting an ally to a command such as nwayShot, you can create an attack between events, but depending on the skill settings, hit detection may not function correctly.

If the bullets do not hit, you can work around this issue by setting a meaningless effect, such as adding 0% state, to the skill's effect.

The pad button layout is saved in config.rpgsave in the save folder.
Changes to the initial layout settings will not be applied until this file is deleted.

@param shot
@default {"text":"shot","mandatory":"true","keys":"AGHJ","padButton":"6"}
@type struct<InputSetting>

@param hold
@default {"text":"hold","mandatory":"false","keys":"D","padButton":"-1"}
@type struct<InputSetting>

@param holdType
@desc Orientation locking method. SWITCH switches every time you press the orientation lock key, and HOLD switches only while you are pressing it.
@default SWITCH
@type select
@option SWITCH
@option HOLD

@param deadSwitch
@desc Self-switch that turns on when the event becomes incapable of fighting. Default: A
@default A
@type string

@param resetDeadSwitch
@desc Turn off deadSwitch when moving around the map. Default: ON ( true = ON enabled / false = OFF disabled )
@default true
@type boolean

@param bulletBlockTag
@desc Terrain tag number that bullets cannot pass through. Default: -1 (0 to 7 = tag is not passable / -1 = invalid)
@default -1
@type number
@min -1

@param bulletBlockRegion
@desc Region number where bullets cannot pass. Default: -1 (0 to 255 = region cannot be passed / -1 = disabled)
@default -1
@type number
@min -1

@param leaderShotSe
@desc File name of the player's shot sound effect. Default: Shot1
@default Shot1
@type file
@require 1
@dir audio/se/

@param leaderShotSeParam
@desc Parameters for the player bullet firing sound effect.
@default {"volume":"70", "pitch":"150", "pan":"0"}
@type struct<SeParam>

@param defaultDeadAnimeId
@desc The initial value of the animation number displayed when Collapse. Initial value: 67
@default 67
@type animation
@require 1

@param levelUpAnimeId
@desc Animation number displayed when leveling up. Default: 52
@default 52
@type animation
@require 1

@param playerDeadEventId
@desc Common event number to execute when the first actor is Collapse. Default: 0 (0 = Disabled / 1 or more = Activate the corresponding common event)
@default 0
@type common_event

@param invincibleFollower
@desc Makes followers invincible. Default: OFF ( true = ON invincible / false = OFF normal )
@default false
@type boolean

@param useGameover
@desc Whether to transition to a game over scene when all players are wiped out. Default: ON ( true = ON transition / false = OFF transition)
@default true
@type boolean

@param maxPlayerBullet
@desc Maximum number of player bullets that can exist simultaneously Default: 128
@default 128
@type number

@param maxEnemyBullet
@desc Maximum number of enemy bullets that can exist simultaneously Initial value: 128
@default 128
@type number

@param bulletSizeTable
@desc Size of bullet hit detection (number of dots) Default: 6,6,6,6,6,6,6,6,6
@default 6,6,6,6,6,6,6,6
@type string

@param bulletBlendTable
@desc Bullet Blend Mode Default: 0,0,0,0,0,0,0,0,0
@default 0,0,0,0,0,0,0,0
@type string

@param equipDummyX
@desc X coordinate of the dummy displayed in the equipment scene. Default: 408
@default 408
@type number
@min -9999

@param equipDummyY
@desc Y coordinate of the dummy displayed in the equipment scene. Default: 312
@default 312
@type number
@min -9999

@param useLevelUpMessage
@desc Display level-up message Default: true ( false = OFF, not display / true = ON, display)
@default true
@type boolean

スポンサードリンク

-MV plugins

Copyright© PGMV - The Community-Driven Plugin Library for RPG Maker MV , 2026 All Rights Reserved.