Notetags
❤️ HP System for Events
Setup a hp bar to an event
HP Bar Customization
| Notetag | Description |
|---|---|
<hpy: x> |
Adjust offset y of the event hp bar |
<hpColor: #00000> |
Change HP bar color for event |
<hpScale: x> |
Scale the size of HP bar up. Default is 1.0 |
<radius: x> |
Adjust the radius that will show event hp bar when player is near |
<hideHP> |
Hide hp bar from the event, visually |
⚔️ Damage System
The damage this event will deal to others. This only assign damage value to the event. To calculate damage, you need to use plugin command "Increase/Decrease Character HP"
<dmg: 2nd weapon> - Same, but using the weapon equipped in slot 2
Combat Timing
Damage over time effects that will continue after x frames have passed. Only for conditional branch
checkCollide(source, target, cooldown (write as is)")
Hitbox Configuration
Hitbox of this event. Every event has the default hitbox is 1, 1, 0, 0 unless otherwise. (Units: width/height in tiles, offsets in pixels)
Assign Attacker in Formula
Optional notetag to manually assign the attacker in a skill’s formula box. If left blank, the plugin will auto-detect the attacker. Most of the time, you won't need to use this.
🎨 Visual Customization
Color Effects
Hue the event, min -180, max 180, you can hue in Aseprite for preview
Position Adjustment
Offset the event's sprite. Only the sprite!
🎯 Movement & Interaction
| Notetag | Description |
|---|---|
<ignore> |
Only usable for movement route moveToClosest, which to not move to events with this notetag |
<pass> |
Player can step on any event with this notetag regardless of where they're being placed |
<platform: size> |
Transform the event into a platform. Characters stepping on platform will move along with it. Size is in pixel unit. If size isn't assigned (you only write <platform>) then size will be 48 pixel by default. |
Comments
🔄 Event Behavior
Passive Events
The common event ids/names that this event will call in parallel. It's like calling a common event in a parallel event but on another layer that isn't being affected by any commands inside that event.
Animation Control
Adjust the walking animation speed of the event. The lower the number, the faster the animation plays.
Event Sliding
Stop the event from moving instead of sliding, when it moves toward an obstacle or screen boundary.
Rotation Sprite Lock
Lock the sprite graphic when the event is rotating (via rotateTo). The event will still rotate normally (for collision/direction purposes), but its sprite image won't visually spin.
🏗️ Collision System
Collision Area
Expand your event collision area (not hitbox). All in tile unit (still support decimal). Offset doesn't move the rect but move your player/event location. Rect when expand will expand with anchor top-left, which also is where the player/event is standing
<collisionRect: 3, 3, 1, 1> Same but also make event sprite to be at the center
Hitbox Collision Control
The event will be ignored from conditional branch checkCollide on any page with this comment
👨👧👦 Parent-Child System
Child Events
Make the event to be a child of another event/player. Child events are just regular events with attributes to move along with the player.
Child Positioning
Adjust position of the child from the parent
🖱️ Mouse Interaction
Clickable Events
Event with this comment can be activated via mouse click and only when the player is within range
<clickable: 3> - Display outline and can be triggered if player is within 3 tiles
Conditional Branch
❤️ HP Monitoring
Check the current HP of an event or player
Check the MaxHP of an event or player
Check if the event just got its HP decreased
Check if the event just got collided by another event (result of condition checkCollide)
💥 Collision Checking
Check collision between source and target ONCE (unless cooldown is assigned). The hitbox size/position is determined by notetag <hitbox: width, height, offset x, offset y> from both source of target (still work even if you don't assign that).
| Argument | Accepted Values | Description |
|---|---|---|
| Source | event Id, 'player', this._eventId | The source event performing the check. |
| Target |
'player', 'event name', '<event notetag>',
['<notetag>', 'name'] 'impassable X' (X = tileset alphabet, e.g. 'impassable BCDE'. 'A' checks only A3+A4 'region X' 'map boundary' - target reached the edge of a non-looping map 'passable' - target's own hitbox is currently over a passable tile |
The target event, region, tile, or map edge to collide with. |
| Cooldown | a number or 'cooldown' | Wait frames before triggering again. 'cooldown' reads from event's <cooldown: X> notetag. |
📡 Range Checking
Check range from source to target, like a detection system. By default, it's a circle detection.
| Argument | Accepted Values | Description |
|---|---|---|
| Source | event Id, this._eventId, 'this', 'player', '<event notetag>', 'event name' | The source event performing the check. |
| Target | 'player', 'this', '<event notetag>', 'region X', 'passable' | The target event, region, or tile to detect. 'this' checks range to the event running this conditional branch. 'passable' checks if any passable tile exists within range (not tied to a specific event). |
| Range | A number (tile units) | The maximum distance to check. |
| Eye View | A degree number (e.g., 90, 360) | Converts circle detection to a directional cone (flashlight view). |
| Block Region ID | A Region ID | Cone detection will be blocked by this region (target can take cover). |
| Exception Notetag | '<notetag>' | Targets with this notetag are ignored, UNLESS that target's current page has a comment containing <detectable> - in that case, the exception is overridden and the target is detected anyway. |
Sound Detection
Check if there's any sound playing from other events around source event within x range.
🔍 Object in Front Checking
Return true if target is found within a number of tiles directly in front of source, in the direction source is currently facing.
'event' - True if any event at all is standing on a checked tile, regardless of notetag/name
'impassable' - True if a checked tile's terrain is impassable (regardless of tileset)
'impassable X' - True if a checked tile is impassable specifically due to tileset layer X. 'A' checks only A3+A4
'blocked' - True if a checked tile's terrain is impassable, or it has an event that you cannot walk through
checkInFront('player', 1, 'Door') - Return true if an event named Door is directly in front of player
checkInFront(this._eventId, 1, 'impassable') - Return true if the tile directly in front is impassable terrain
checkInFront(this._eventId, 1, 'impassable BCDE') - Return true if the tile directly in front is impassable and belongs to tileset B, C, D or E
checkInFront(this._eventId, 1, 'blocked') - Return true if the tile directly in front would actually block movement
📊 Local Variables
Check local variable of an event
Other Event Local Variables
Check local variable of another event that is nearby the source event
The direction of the source that will use to look for nearby event. Either check for the front or the back. If not assigned, it'll check for the event underneath the source
Percentage Checks
Check local percentage of an event. It's similar to when you set a variable from range 1 ~ 50 and the result will be given randomly from 1 - 50.
⚔️ Equipment & Inventory Checks
Weapon Notetag Checks
Return the value from the notetag box of equipped weapon
Weapon Property Checks
Return a property of the equipped weapon. If "slot" isn't assigned then it'll check the first weapon slot. Compare the result yourself with ==, >=, etc.
| Keyword | Returns | Type |
|---|---|---|
id |
Weapon database ID | Number |
name |
Weapon name | String |
element |
Weapon's Attack Element trait name (from the weapon's Traits tab, not its Damage settings) | String |
type |
Weapon type name | String |
hp |
MaxHP bonus | Number |
mp |
MaxMP bonus | Number |
atk |
ATK value | Number |
def |
DEF value | Number |
mat |
MAT value | Number |
mdf |
MDF value | Number |
agi |
AGI value | Number |
luk |
LUK value | Number |
equippedWpn('atk', 2) >= 10 - Return true if equipped weapon's ATK in slot 2 is 10 or higher
Shield Check
Return true if party leader is equipping a shield
Armor Property Checks
Return a property of the equipped armor. If slot is not assigned, it scan all armor you're equipping. If slot is assigned, it'll only get property from the armor of that slot. Compare the result yourself with ==, >=, etc.
| Keyword | Returns | Type |
|---|---|---|
id |
Armor database ID | Number |
name |
Armor name | String |
type |
Armor type name | String |
hp |
MaxHP bonus | Number |
mp |
MaxMP bonus | Number |
atk |
ATK value | Number |
def |
DEF value | Number |
mat |
MAT value | Number |
mdf |
MDF value | Number |
agi |
AGI value | Number |
luk |
LUK value | Number |
equippedArm('def', 3) >= 10 - Return true if equipped armor in slot 3's DEF is 10 or higher
Skill Checks
Return true if an actor has learned a certain skill
learnedSkill('David', 'Blizzard') - Return true if actor named "David" has learned Blizzard
Actor Property Checks
Return a property of an actor. Actor id/name also supports 'player' for the party leader. Compare the result yourself with ==, >=, etc.
| Keyword | Returns | Type |
|---|---|---|
id |
Actor database ID | Number |
name |
Actor name | String |
hp |
Current HP | Number |
mhp or maxhp |
Max HP | Number |
mp |
Current MP | Number |
mmp or maxmp |
Max MP | Number |
tp |
Current TP | Number |
maxtp |
Max TP | Number |
atk |
ATK value | Number |
def |
DEF value | Number |
mat or magic |
MAT value | Number |
mdf or mdef |
MDF value | Number |
agi or spd or speed |
AGI value | Number |
luk or luck |
LUK value | Number |
level or lv |
Actor level | Number |
exp |
Total EXP | Number |
class |
Current class name | String |
dead |
True if actor is dead | Boolean |
alive |
True if actor is alive | Boolean |
actor('David', 'level') >= 10 - Return true if actor named "David" is level 10 or higher
Inventory Quantity Checks
Return the amount of item/weapon/armor that the player possesses.
amount('armor', 'Heavy Armor') == 1 - Return true if player has 1 'Heavy Armor' in inventory
amount('weapon', 5) >= 4 - Return true if player has 5 weapon id 5 in inventory
🎮 Gamepad & Control Checks
Return true if a gamepad is connected
Return true if right stick of gamepad is being pushed
Return the raw {x, y} axis value of the right stick when pushed, or null if not pushed/no gamepad. Use this instead of isRightStickPushed() when you need the actual direction, not just a boolean
Return the current degree (0 - 360) the left stick is being pushed to, or null if not pushed/no gamepad
Return true if left stick is being pushed to this degree (0 - 360)
Return true if key is pressed and released once (Requires Hendrix Keyboard Gamepad plugin)
Input.isTriggered('leftclick') - Return true if just Left Clicked
Input.isTriggered('rightclick') - Return true if just Right Clicked
Return true if key is being pressed and hold (Requires Hendrix Keyboard Gamepad plugin)
🎯 Direction & Target Lock Checks
Number: 4 -> left, 6 -> right. Support 8 directions
Target Locking
See if the source is target locking something. Support 'player' , this._eventId or an event Id
See if the target is being locked by something. Support 'player' , this._eventId or an event Id
🦸🏻 Game States Checks
Return true when party leader has just leveled up
Return true if party leader is id x or has a certain name
Return true if target is affected by a certain state. Target supports event id , this._eventId or 'player'
hasState(this._eventId, 'Poison') - Return true if this event is affected by state named Poison
🔧 Advanced Conditions
Performance & Optimization
A useful conditional that is mostly used for performance optimization. It'll return true if events are on screen and will return false if it's offscreen.
inViewport(this._eventId, 48) - Check with extra 48 pixels offscreen
Notetag & Name Checks
A versatile conditional branch that will either check if an event has a certain notetag or an event with a certain notetag exists on map.
Check if eventId's name is something
Check if there's an event with this name on current map
Hitbox Overlap Check
Check if two character's hitboxes are overlapping. Unlike checkCollide, this takes actual character objects (not id/name) and returns instantly with no cooldown, useful for custom collision logic in a script call.
🕺 Platform & Jumping
Platform Checks
Return true if target is standing on a platform event (event with notetag <platform>). Target supports an event Id or 'player'
Tile ID Check
Return true if target is standing on a tile with this tile ID. Target supports an event Id or 'player'
Jumping Checks
Return true if target is either started jumping, is jumping or landed
Script Call
⚔️ Weapon Functions
Gun System (check database notes section)
Return the current ammo loaded to equipped weapon from a certain slot
Return the capacity of equipped weapon from a certain slot
Return the amount of ammo item in inventory that belong to a weapon equipped from a certain slot
gunAmmo(slot) gunCapacity(slot) gunAmmoInInventory(slot)
💥 Collision Damage
Return the damage from notetag <dmg: x-y> of the event just collided
🦸🏻 Characters & Sprites
Change Sprites
Change this event image to $haha.png. This is a single file so character index should always be 0
Change this event image to group.png and select index 1
Play Frames
Make event or player play frames from their spritesheet. Requires Hendrix Animation Solution plugin
Make player play from frame 1 to 6 by the speed of "wait 3" (just like Wait command) each frame
Set Frames
Make event or player set to a frame from their spritesheet. Requires Hendrix Animation Solution plugin
Change current event image to frame 3 of its spritesheet
🔧 Utility Functions
Vortex Effects
Suck events to the source. Source supports event id or 'player'
Variable Access
Return the value of the local variable of an event.
Direction Info
Get target's current direction. Target supports event id or 'player'
Rotation Info
Get target's current rotation degree (0 - 360), for characters that were rotated via rotateTo or similar 360-degree movement. Target supports event id or 'player'
Count Event on Map
Return the amount of event currently on map. Target supports event name or <notetag>
Current Map Name
Return the name of the current map.
mapName().includes('Dungeon') - Return true if current map's name contains "Dungeon"
Set Self Switch (Any Event)
Set a self switch (A, B, C, D, or a custom-named self switch) of any event by ID. Unlike selfSwitch() from Movement Route, this can be called from a Script Call to target any event, not just "this" character.
setSelfSwitch(this._eventId, 'fire', false) - Turn OFF custom self switch named "fire" of this event
Movement Route
Call these script in a Set Movement Route command
🚶 Basic Movement
Self Switch Control
Same as Control Self Switch but you can call this in Movement Route.
Movement
Move the player to the direction he's moving. Why use this instead of Move Forward? Because this supports 360 degrees and in pixel so it's compatible with Joystick.
By default, RPG Maker only supports max speed of 6. With this, you can break that limit.
🎯 Target Lock
Make the character lock to a target. He/she will always look at this target. You'll find this feature common in action games
🧭 Directional Movement
Turn Toward Target
Turn the character direction to the target.
If assigned, lock or unlock the character to the current direction, similar to Directional Fix ON
If assigned, character will only turn toward the target within this range (tile unit)
mouse or gamepad - Turn torward mouse/joystick position
playerLockedTarget - Turn character to the target that player is locking
eventLockedTarget - Turn character to the target that current event is locking
360-Degree Rotation
rotateTo(destination, search range, lerp frames)Rotate the character (support 360 degrees) to a destinatino. Best for projectiles.
If assigned, limit the search for destination up to this range (tile unit)
Every case of Destination supports this as the last param. If assigned, instead of snapping instantly, the character will smoothly rotate to the destination over this many frames
map cordination - Written as x, y. Rotate character to this cordinate
a number - A single number (no y) is treated as a rotation degree (0-360), not an event ID
mouse or gamepad - Rotate character to the position of mouse/joystick
player moving direction - Rotate character to the same direction player is moving
playerLockedTarget - Rotate character to the target that player is locking
eventLockedTarget - Rotate character to the target that current event is locking
Direction Sharing
Make the character to have the same direction as the target
playerLockedTarget - Share the same direction of the target that player is locking
eventLockedTarget - Share the same direction of the target that current event is locking
🦘 Jump & Teleport
Random Jumping
Jump the character to nearby positions from its current position. I use it for loots dropping from monsters or from a chest.
jumpToNearby(3, true) - Same but will jump on other events if they're in the way
Targeted Jumping
A versatile command that will jump the character to a target. In some cases, the param will act differently, please read examples carefully to further understand the feature.
If assigned, jump up to this range or jump this many range, depending on what you used from X, Y (tile unit)
forward - Jump forward from character's direction
backward - Jump backward from character's direction
away - Jump away from player
cursor - Jump to mouse location
right stick - Jump to gamepad's right stick degree
playerLockedTarget - Jump to the target that player is locking
eventLockedTarget - Jump to the target that current character is locking
Teleportation
A versatile command that will teleport the character to a target. In some cases, the param will act differently, please read examples carefully to further understand the feature.
If assigned, teleport to destination with minimum distance by X range (tile unit). This param becomes
If assigned, teleport to destination but only if this destination is within X range (tile unit). This param becomes Exception when used with forward
forward - Teleport character forward
playerLockedTarget - Teleport character to the target that player is locking
eventLockedTarget - Teleport character to the target that this character is locking
👟 Advanced Movement
Pixel Movement (Requires DotMoveSystem)
A versatile command that will move the character to a target in pixel. In some cases, the params will act differently, please read examples carefully to further understand the feature.
map cordination - Written in format x, y
mouse or gamepad - Move to mouse position or gamepad's joystick degree
comment: x - Move to an event with comment "x"(green text) in its active page
playerLockedTarget - Move to the target that player is locking
eventLockedTarget - Move to the target that current character is locking
forward - Move forward (only if it's a rotated event)
backward - Move backward (only if it's a rotated event)
region X - Move to the nearest tile belonging to region ID X
detected target - Move to the target that got detected by this event's checkRange conditional branch
Grid-Based Pathfinding
Move the character to a target grid-based, support pathfinding.
Add path finding if true
If true, one call of this movement route script will wait till character reached destination before processing the next command
Example: Move "this" event to notetag <destination>. There are 2 events with notetag <destination> on map. Event <destination> B has notetag <exception>. The result if "this" event will move to event <destination> A.
playerLockedTarget - Move to the target that player is locking
eventLockedTarget - Move to the target that current event is locking
detected target - Move to the target that current event's conditional branch checkRange returned true
🦸🏻 Character Sprites
Make your character play animation with a spritesheet, unlimited frame. A very important feature to upper the quality of your game as characters animations are the soul of every game.
Make character play its spritesheet from first frame to last frame with a certain speed
Make character set its current frame to a another frame from its spritesheet
Database Notes
⚔️ Weapons
Setup a Gun
☠️ States
Inflict a State
Call this common event on the event that got hit. Can be multiple common events. Can use either common event name or their Ids
Plugin Commands
🌟 Event Spawning & Management
Spawn Event
Spawn an Event from the Template Map to the Current Map.
this front + 20/player front + 20 - Same, but pushed an extra 20 pixels further in front
Destroy Event
Destroy the events you spawned from Template Map or a regular RPG Maker event
Recover Destroyed Events
Recovers regular RPG Maker events that were permanently destroyed (Destroy Event with Destroy Permanently ON), matched by name, across every map in the game - not just the current one.
Create Dynamic Event
Create an event that contains some properties that will only last an amount of time before it destroys itself. Best used to create hitboxes.
Destroy Dynamic Event
Destroy all events created dynamically
❤️ HP & Health Management
Increase / Decrease Character HP
Update HP characters. Will automatically detect whether it's an event enemy or an actor event
damage - Use value from notetag <dmg: x> of event that just collided with Target event
player weapon - Use player's ATK + equipped weapon's ATK
player 2nd weapon - Use player's ATK + equipped weapon in shield slot's ATK
HP Bar Visibility
Show/hide HP bar of an event (just visually)
Remove Event HP Bar
Remove an event's hp bar completely
🎨 Visual Effects & Display
Pop Text Value
Display a text onto an event, can be used to show damage dealt
exp / gold - Display exp or gold from defeated enemy
player weapon - Display player's ATK + equipped weapon's ATK
player 2nd weapon - Display player's ATK + equipped weapon in shield slot's ATK
number , text , other expressions
Break Character
Immediately break the event calling this command into pieces
Character Effects
Play certain sprites effect on character like spin, rotate, bounce, etc
Change Priority
Change priority of an event.
Display Weapon
Display a sprite at a character that point to mouse cursor / gamepad right stick.
Swing Weapon
Using a picture file as a weapon and swing it
Camera Update
Stop/Resume camera focusing on player
Freeze Time
Freeze all events and player for an amount of time
Pause Events
Pause all events (except the event calling this command) from moving or processing commands
🎮 Event Control & Behavior
Collision Status
When false, conditional branch checkCollide won't return true even if it collided with the event calling this command
Whatever you're doing, stop!
Immediately stop movement routes of the event calling this command
Child and Parent
Make an event to be a child of another event/player. The child will move along with its parent whilst still being able to do its own things
Change Event Hitbox
Change the hitbox of an event dynamically
Assign New Passive
Add or remove a common event from comment <passive: x, x, x> if it exists in the current event
Dynamic passable
Make an event to be passable (able to walk on it) even if it's an obstacle
knockback
Push a target away from another target
add state
Inflict a state to a target
remove state
Remove a state from the target that has been inflicted by a state. Will remove state from event/player calling this command
Actor Use Skill
Makes this event use a skill, triggering that skill's database effects (e.g. its Common Event effect). Only works on actor events, set up via notetag <hp: actor, id>. Also pays the skill's MP/TP cost - does nothing if the actor can't afford it.
🔄 Switches & Variables
Control Self Switch
Similar to RPG Maker default control self-switch but slightly more advanced. It can automatically find the right page to self-switch into. Support extra self switch set via naming Switches as "self switch [name]."
Control Local Variable
Create variables that belong to the event calling this command
Reset All Local Variables
Reset all local variables of events to 0
Quick Reset Switches & Variables
Reset all switches with a specific keyword in their name to false, Reset all variables with a specific keyword in their name to 0
Reset Event Pages
Undo all self switches and extra self switches from events with a certain name throughout the whole game.
🎮 Player Controls & Actions
Player Movement
Block player from moving
Change Player Hitbox
Change player hitbox dynamically
FAST WEAPON EQUIP
Immediately equip the next weapon available in inventory
JUMPING
Make a target jump!
Target Lock
Make player locks onto an event. Player will always look at this event. This is a common gameplay mechanic that you'll often see in action games
Gun - armor & capacity control
Modify ammo/magazine capacity of equipped weapon that has note <capacity: x> and <ammo: item name>. A great command to create a ranged weapon like bow and gun
Gun - reload
Reload the weapon by decrease item name (<ammo: item name>)
Mount
Mount an event.
⚙️ Game System & Mechanics
Game Mode
Control the game mode settings.
Gain Item Randomly
Give the player a random item from the database.
Additional Features
🔄 Extended Self Switches
If an event with a page has a switch named self switch X, that switch becomes a self-switch of that page. This feature is to break the limitation of having only 4 self switches A B C D