Create dialogues, cutscenes, and interactive triggers — no code needed.
Events & Cutscenes
The event system lets you create interactive story moments, dialogues, gameplay triggers, and cinematic sequences — all visually, without writing any code.

Event Types#
Zone Events#
Placed directly on the map at specific tile coordinates. Each zone event has:
- Position — X/Y tile coordinates on the map
- Graphic — optional sprite to display on the map (a chest, a glowing crystal, etc.)
- Pages — multiple event pages with different conditions and command sequences
- Trigger — when the event activates: action button press, player touch, autorun, or parallel process
A tile holds one event. The map editor refuses to create, paste, drag or duplicate an event onto a tile that already has one and tells you why, so put the second event on the tile beside it. A Location marker follows the same rule: it goes beside an event, never on its tile.
Common Events#
Global events shared across all maps: reusable dialogue, system-wide triggers, or events that run on their own while a switch is ON.
Where to author them: Database → Content → Common Events, or the book icon at the top of the map editor's Events panel. Both open the same editor, with the same command list and command picker as a map event.
- Click + New Common Event, or click a row to open that event.
- Set its Name and Trigger.
- Add commands to its Commands list.
- Click Save. One Save writes every event you changed; the button counts them.
| Field | What it does |
|---|---|
| Name | What call pickers and lists show. |
| Trigger | None (called only) — runs only when another event calls it. Autorun (while switch ON) — runs on its own while its switch is ON. Parallel (loops while switch ON) — loops in the background while its switch is ON. |
| Trigger switch | The switch that turns an Autorun or Parallel event on. |
| Commands | What the event does, top to bottom. |
Gotchas:
- Closing asks before throwing away unsaved changes, and so does switching Database sections or closing the tab.
- Edit and Duplicate in the bulk bar need Save first — they work on saved events.
- Deleting a common event doesn't touch the events that call it; those calls are skipped. Project Health lists them.
Priority: what the player can walk into#
Events collide and trigger by RPG Maker's rules, so a map you import behaves the way it did in RPG Maker, and a map you build here behaves the way an RPG Maker player expects.
Priority does two jobs, and the second one is easy to miss:
| Priority | Draws | Can the player stand on its tile? |
|---|---|---|
| Below characters | Under the player — a rug, a floor mark | Yes |
| Same as characters | Level with the player | No — the event is solid |
| Above characters | Over the player — a treetop, a banner | Yes |
Same as characters is what makes a door a door, a signpost something you bump into, and a townsperson someone you walk around. Solid events also block each other, and a solid event that walks around can't walk through a player either.
What decides it is the page that is active for that player. When an NPC's later page (say, "has left town") is blank and Below characters, players who have seen them leave walk straight through the spot, while everyone else still has to walk around them. An event a player has erased is gone for that player only.
Two things make a Same as characters page walkable:
- Through ticked. Through always wins, and a Through event walks over anything, walls included. A movement route that turns Through ON opens the tile until the route's look wears off, which is what the imported door template relies on to step you into the doorway.
- No graphic. A page with no graphic is treated as floor, never as an invisible wall. This is the one place the engine differs from RPG Maker, because every new page starts out invisible and Same as characters. If you want an invisible wall, give it a graphic from an empty tileset cell, or block the tile in the map's passability.
When touch triggers fire#
Touch triggers fire when you move, never because of where you happen to be standing:
| What happens | What it fires |
|---|---|
| You finish a step onto an event you can stand on (Below / Above characters, Through, or no graphic) | Its Player Touch or Event Touch page |
| You try to step into a solid event and it stops you | Its Player Touch or Event Touch page |
| You press the action button facing a solid event, or click it | Its Action Button, Player Touch or Event Touch page |
| A solid event walks into you | Its Event Touch page |
| You arrive on or next to an event: a Transfer Player, a map edge, a respawn | Nothing |
| You stand still, on an event or next to one | Nothing |
That last pair is what lets a door work. A door's exit drops you one tile in front of the door, and nothing fires until you walk back into it. Clicking a floor trigger (a warp tile) walks you onto it rather than stopping beside it.
One event at a time. While an event is running for you (a message on screen, a cutscene, an autorun), stepping onto or bumping another touch event doesn't queue it. It just doesn't happen, as in RPG Maker. Parallel events run alongside and don't count.
Holding a direction into a locked door shows its message again each time you dismiss it, exactly as RPG Maker does. If you want something to keep running while the player stands on a tile, use Parallel with a condition, not a touch trigger.
Event Movement#
Each page has its own movement settings, so the same event can pace in one state and stand still in another. You set them per page in the event editor's Movement group, beside Trigger and Priority:
| Setting | What It Does |
|---|---|
| Move type | Fixed (stays put), Random (wanders a tile at a time), Approach (walks toward the nearest player), or Custom route (follows the steps you author) |
| Move speed | How fast it covers a tile, 1–6. 4 (Normal) is about a quarter-second per tile; each step of the dial halves or doubles that, from x8 Slower to x4 Faster |
| Move frequency | How long it waits between steps, 1–5. Highest never pauses, Normal waits a second, Lowest waits two |
| Walking animation | Plays the sprite's walk cycle while it moves. On by default |
| Stepping animation | Idles in place with a gentle step even when it isn't going anywhere |
| Direction fix | Locks the facing so the sprite never turns |
Facing uses the RPG Maker numbering — 2 down, 4 left, 6 right, 8 up — and picks the matching row of the character's walk block.
Speed and frequency are two separate dials and it is worth keeping them straight: speed is how quickly the event crosses a tile, frequency is how long it stands still afterwards. A fast event that rarely moves is speed 6 / frequency 1; a slow constant patrol is speed 2 / frequency 5. Both are imported from RPG Maker projects and keep their original values, so a map you bring over paces the way it did there.
Finding Events on a Map#
A big imported map can hold hundreds of events. The Events panel's search box, quick filters and sort order narrow the list down so you can find the one you want.
Where to find it#
Maps → open a map → Events mode → the Events panel in the sidebar. The search box, the filter dropdowns and the sort dropdown sit at the top of the list.
How to use it#
- Type in Search all events to match an event's name, its ID (for example EV263), its note, or the name of any of its pages' graphics (a character sheet such as !Door1, a tile, or an image file name).
- Pick a Trigger, Graphic or Kind filter to narrow the list further. Filters and the search box combine.
- Pick a sort order. Each option can run ascending or descending.
- A line under the filters reads "12 of 480 shown" while anything is narrowing the list. Click Clear filters to show every event again.
- Click a row to select the event. Double-click a row to jump the map camera to it.
Each row shows the event's name, its ID when the ID differs from the name, its position, its trigger, its graphic (or invisible), and how many pages and commands it has.
| Control | What it does |
|---|---|
| Search all events | Matches name, ID, note and page graphic names. Case doesn't matter |
| Trigger | Any trigger, or one of Action Button, Player Touch, Event Touch, Autorun, Parallel. Reads the trigger of the page that is active when no switches are on, which is the trigger the row shows |
| Graphic | Any graphic, Has graphic (that page draws a character, tile or image) or Invisible (no graphic) |
| Kind | Core + placed, Core events (scripted events with pages) or Placed events (quick-placed NPCs, chests, portals and so on) |
| Sort | Position (Y, X) (top row of the map first, then left to right; this is the default), ID (EV2 before EV10), Name, Trigger (in the order listed above) or Kind |
Gotchas#
- Placed events have no trigger and no pages. Any Trigger or Graphic filter hides them. When you sort by Trigger, they go to the bottom.
- The editor remembers your sort and filters in this browser. They come back the next time you open any map, so if an event seems to be missing, check the filters first. The search text is not remembered.
- Select all follows the filters. Bulk actions only touch the events you can see. See Editing Many Events at Once below.
Editing Many Events at Once#
You can select a group of events and change, copy, move or delete them together, both for the events on a map and for common events.
Where to find it#
- Map events: Maps → open a map → Events mode → the Events panel in the sidebar.
- Common events: the book icon at the top of that same Events panel opens Common Events. The Common Events tab of the Events page has bulk Edit and Delete too.
Map events: how to use it#
- Tick the checkbox beside each event in the Events panel, or Ctrl-click (Cmd-click on Mac) the rows. Select all ticks every event the search box and filters are showing, so search for "chest" (or set the Trigger filter to Autorun) first to pick every chest (or every autorun event) on the map.
- A bar with Edit, Duplicate, Move and Delete appears at the bottom of the panel.
- Pick an action (see the table below).
- Save the map. Bulk changes are map edits like any other and are not kept until you save.
| Action | What it does |
|---|---|
| Edit | Opens a form. Tick only the fields you want to change. Anything you leave unticked keeps each event's own value |
| Duplicate | Copies each event one tile down and to the right, including its pages, conditions and commands. The copies become the selection, so you can Move them into place next |
| Move | Shifts every selected event by the X and Y tiles you enter. Negative numbers move left and up |
| Delete | Removes the selected events from the map after you confirm |
Map events: fields you can bulk edit#
Page settings are written to every page of each event, so a chest with a closed page and an open page gets the change on both.
| Field | What it does |
|---|---|
| Trigger | Action Button, Player Touch, Event Touch, Autorun or Parallel |
| Priority | Whether the event draws below, level with, or above characters — and, at Same as characters, whether players can walk onto its tile |
| Movement | Fixed, Random or Approach |
| Move speed | 1 (x8 slower) to 6 (x4 faster). 4 is normal |
| Move frequency | 1 (lowest) to 5 (highest) |
| Walking animation | Plays the walk cycle while the event moves |
| Stepping animation | Steps in place even while standing still |
| Direction fix | Stops the sprite from turning |
| Through | Players and other events can walk over it |
| Show name on map | The event's name label in the editor. Players never see it |
Common events#
- In Common Events, tick the events you want in the list on the left. Select all sits above the list.
- Use Edit to set Trigger (None, Autorun or Parallel) and Trigger switch on all of them. Use Duplicate to copy them, or Delete to remove them.
- Click Save to keep an Edit or a Duplicate. Delete takes effect as soon as you confirm, just like the trash icon on a single event.
Gotchas#
- Edit and Duplicate only apply to scripted (core) events. Quick placed events have no pages, so if your selection mixes both kinds, those two buttons act on the core events only. Move and Delete work on both.
- A move that would push any event off the map is refused. Nothing moves at all, so the group keeps its shape. Use a smaller offset, or move the events at the edge on their own.
- Commands, conditions, graphics and custom movement routes are not in the bulk form. Each event keeps its own. Edit those in the event editor.
- Deleting a common event makes any event that calls it silently skip the call.
- Select all only picks what you can see. Events hidden by the search box or the filters are never changed.
- Priority now works everywhere. Priorities set in the event editor used to be saved in a form the game ignored, so every event drew level with characters. The game now reads those saved values correctly on a server running this version or later. Events that run in Client Runtime only pick up the fix after you set their Priority again and save. Selecting them all and using bulk Edit does it in one pass.
- There is no feature flag. Bulk editing is part of the event system.
Bound NPC — an event that is an NPC's script#
A Bound NPC turns a map event into the script of a real NPC. The event stops being a thing on the map: it has no sprite, its tile does nothing, and it runs when the player talks to that NPC instead. The NPC is the body; the event is what it says and does.
This is how you keep an RPG Maker townsperson's logic once it has become a proper NPC. In RPG Maker a villager is a map event — a character graphic plus its dialogue, choices, item gifts, quest steps and shop calls. After the villager is made into an NPC (so it has a nameplate, can walk its routine, and shows up in the NPC editor), bind the old event to it and the player sees one villager who still says and does everything the original did.
Where to set it#
Maps → open a map → double-click the event → Details → Bound NPC.
How to set it up#
- Make sure the NPC exists in Database → NPCs and is placed in the same zone as the event.
- Open the event in the zone editor (double-click it on the map).
- In the Details card, pick the NPC from the Bound NPC dropdown. Type to search by name.
- Click Save, then save the map. The binding reaches your game the same way any other event edit does.
- Walk up to the NPC in game and talk to it — the event's page runs.
To undo it, set Bound NPC back to None: the event becomes an ordinary event on its tile again, with its own sprite.
Fields#
| Field | What it does |
|---|---|
| Bound NPC | The NPC whose conversation runs this event. None (the default) = an ordinary map event triggered from its own tile |
Everything else on the event — pages, conditions, commands, self switches — works exactly as before. Only how the event starts changes.
What runs when the player talks to the NPC#
- The event's active page is chosen exactly as for an Action Button press: the highest-numbered page whose conditions the player meets. A villager who says something new after a quest step keeps doing so.
- Pages with an Action Button, Player Touch or Event Touch trigger all run on talk (RPG Maker's action button fires all three).
- If the active page has no commands — or there is no bound event at all — the NPC's own window opens instead (its greeting, shop, quests, roles). So a bound event with an empty "after the story" page hands the conversation back to the NPC.
- Talking to the NPC again while its script is still running (a text box is open) does nothing — the script keeps the conversation.
Gotchas#
- The event is invisible and has no tile. It is never drawn, never clickable, and standing on or next to its tile does nothing. It only runs through the NPC — or through its own Autorun / Parallel pages.
- Autorun and Parallel pages still run on their own, exactly as on an ordinary event. They are not started by talking to the NPC.
- One event per talk. If several events in the zone are bound to the same NPC, they are tried in the zone's event order and the first whose active page has something to run wins; the rest are skipped for that conversation. Keep it to one bound event per NPC per zone unless you are deliberately using conditions to hand off between them.
- The binding is per zone. The event only answers for that NPC while the NPC stands in the event's zone.
- Commands aimed at "This Event" (movement routes, balloons, animations, Set Event Location) act on the invisible event, not on the NPC. To move or emote the villager, target the NPC.
- Bound events always run on the server, even if the event is set to Client Runtime.
- Erase Event on a bound event removes the script for that player, so the NPC falls back to its own window.
- There is no feature flag — Bound NPC is part of the event system.
Page Conditions#
Each event page can have conditions. Open the event in the event editor, pick the page, and expand Conditions. Tick a row to turn it on; every ticked row must hold for the page to run. When several pages qualify, the highest-numbered one wins. A page with no ticked rows always qualifies.
| Condition | The page runs when… |
|---|---|
| Bool Var 1 / Bool Var 2 | The chosen on/off variable is ON |
| Variable | The chosen number variable compares to your value (=, ≥, ≤, >, <, ≠) |
| Self Var. | This event's own on/off variable is ON for the player |
| Item | The player has the chosen item |
| Level | The player's level compares to your value |
| Quest | The chosen quest is Active, Done or Not Started for the player |
| Biome | The player stands on a tile of the chosen biome |
| Zone | The player is Inside or Outside the chosen trigger zone |
| Cinematic | The player has Watched or Not watched the chosen cinematic |
Cinematic is per player and works across every event and every map: a scene counts as watched from the moment it starts for the player who triggered it, whichever event started it, and it stays watched after logging out. This is what Play when the player steps here… uses to play a scene only once per player.
Variable types#
A variable holds one of two things.
| Type | What it holds | Use it for |
|---|---|---|
| Boolean | ON or OFF | Switches: "talked to the guard", "gate is open". Page conditions Bool Var 1 / 2 and Self Var. read these, and Control Switches sets them |
| Integer | A whole number (it starts at 0) | Counters and steps: "main story step", "wolves killed". The Variable page condition compares it, and Control Variables does the maths (set, add, subtract, multiply, divide, modulo) |
Where you choose it: map editor → Events panel → Variables (the cog button at the top of the panel) opens the Variable Editor. Its add buttons are + Bool and + Int, and a selected variable's Type offers Boolean and Integer.
Text variables are not supported yet#
A variable cannot hold text or a list. Earlier versions of the editor offered a third type, String, but the game never stored text: a String variable behaved as a number that started at 0. That type has been removed so the editor no longer promises something the game does not do.
To put words on screen, write them in the Show Text command. To show a number, use \V[n] in the text. To remember which of a few things happened, use an Integer and give each number a meaning (1 = sided with the guard, 2 = sided with the thief).
If your project already has a String variable#
Nothing breaks, and nothing in your project is changed for you. The variable stays stored as it was, the game keeps reading it as a whole number, and every event that uses it works exactly as before.
Gotchas#
- You cannot create a String variable any more. The editor does not offer the type, and a save through the admin API that would add one is refused with "A variable holds a whole number or an on/off value; text variables are not supported yet", naming the variable. Set its type to
integerorbooleanand save again. - A Control Variables operand is always a number. In an expression,
truecounts as 1,falseas 0, and text as its number ("12"→ 12) or 0 when it is not one. See Event Expressions. - An imported RPG Maker variable is always an Integer. See Data Management.
- There is no feature flag — variable types are part of the event system.
Building Events#
Events are built by adding commands in sequence. The editor shows a visual command list — click to add, drag to reorder, and double-click to edit parameters.
Dialogue & Input Commands#
| Command | What It Does |
|---|---|
| Show Text | Display NPC dialogue with portrait and positioning |
| Show Choices | Present branching dialogue options the player can pick from |
| Input Number | Ask the player to enter a number |
| Select Item | Ask the player to choose an item from inventory |
| Show Notification | Display a toast popup |
| System Message | Show a server-style announcement |
Game Progression Commands#
| Command | What It Does |
|---|---|
| Change Gold | Give or take silver, premium gold, or one of your own Currencies |
| Change Items | Give or take items |
| Change Bag Slots | Add, remove or set the player's extra bag slots (more bag pages) — see Bag Slots & Pages |
| Change EXP | Grant experience points |
| Change Level | Modify player level |
| Change HP / MP / Stamina | Modify vitals |
| Recover All | Full HP/MP/stamina restore, and every pet the player owns back to full HP |
| Change State | Apply or remove a status effect |
| Change Skill | Teach or remove an ability |
| Change Skill XP | Grant skill-specific experience |
| Change Equipment | Equip or unequip items |
Quest Commands#
| Command | What It Does |
|---|---|
| Start Quest | Begin a quest for the player |
| Complete Quest | Mark a quest as done |
| Fail Quest | Fail an active quest |
| Advance Quest Objective | Manually increment a quest counter |
Flow Control#
| Command | What It Does |
|---|---|
| Conditional Branch | If/else decisions based on switches, variables, items, skills, quests, etc. |
| Loop / Loop End | Repeat a block of commands |
| Break Loop | Exit the current loop |
| Label / Jump to Label | Named jump points for non-linear flow |
| Call Common Event | Run a shared event as a subroutine |
| Wait | Pause for a set duration |
| Exit Event | Stop the event immediately |
Variables & Switches#
| Command | What It Does |
|---|---|
| Control Switches | Set boolean flags (on/off) — used for tracking story progress |
| Control Variables | Math on variables: set, add, subtract, multiply, divide, modulo |
| Control Self-Switch | Flags specific to one event instance |
| Control Timer | Start or stop a visual countdown timer |
Variable sources include constants, other variables, random ranges, and game data (player gold, HP, position, level, etc.).
Movement & Teleportation#
| Command | What It Does |
|---|---|
| Transfer Player | Teleport the player to a different zone + coordinates |
| Set Event Location | Move an event to a new position on the map |
| Set Movement Route | Script NPC walking paths |
Where they land#
The player lands on the exact tile you set — even a blocked one, so a scene can stand them on a deck or a ledge. Pick an open tile for an ordinary door: a landing inside a wall leaves the player stuck there.
| The landing is… | The player arrives… |
|---|---|
| A tile on the map | Exactly on it |
| Off the map — past its width or height | Back on the map, on the nearest open tile to that edge |
| Not given (an admin teleport that names a map but no tile) | On the map's arrival point: its Spawn marker, or the middle of the map when it has none |
A landing set by variables reads 0, 0 until something writes those variables — the top-left corner of the map. Set them before the transfer runs, or use fixed coordinates. Check a landing in the map editor after you move walls around it: the tile readout shows the same X / Y the command stores.
Which way they are facing when they arrive#
Transfer Player has a Facing field, and its default is Keep current facing — they arrive facing the way they were walking. That is what a doorway wants: walk north through a door and you are still walking north on the other side.
| Facing | On arrival |
|---|---|
| Keep current facing | Unchanged. The default, and right for doors, stairs and zone seams |
| Down / Left / Right / Up | Turned to face that way, whatever they arrived doing |
Pick a direction when the arrival point means something — stepping out of a cave should face you away from the wall, a cutscene entrance should face you at whoever is about to speak.
Set Event Location has the same field, and there Keep current facing leaves the event standing however it already was.
Imported projects carry RPG Maker's own numbering here (0 retain, 2 down, 4 left, 6 right, 8 up), and it is translated for you — an RPG Maker map's doors keep the behaviour they had there.
A route's facing is temporary#
A movement route changes how an event looks — the direction it stands in. That is a look, not a fact about your world, so a few seconds after a one-off route finishes the event goes back to the facing its page authors.
This is what makes the classic door event work on a shared map. A door that opens with Play SE → Set Movement Route (turn) → Transfer Player is a door that shuts again for the next player, instead of standing open for everybody until the server restarts.
It does not happen when:
| The event | Why it keeps its new facing |
|---|---|
| Has a repeating route | A loop never finishes; it owns the look while it runs |
| Has Autonomous Movement other than Fixed | A wandering or patrolling event owns its own facing — it is never snapped back mid-patrol |
| Has Direction Fix ticked on the page | You pinned the facing |
| Turns Direction Fix on inside the route, and leaves it on | Same, said in the route instead |
| Has no graphic on the page | There is no authored look to return to |
So: if a route is supposed to park an event facing a new way for good — a lever thrown, a statue turned — end the route with Direction Fix ON, or say it on the page. Everything else swings back, which is almost always what a door wants.
Republishing a map also resets this, so an admin publish puts every event back to its authored graphic.
Visual Effects#
| Command | What It Does |
|---|---|
| Fadeout / Fadein Screen | Screen fade transitions |
| Tint Screen | Color overlay (e.g., red flash for damage, blue for underwater) |
| Set Shader | Turn a shader from Assets → Shaders on, off, over, or back to its own rules — for the player, everyone on the map, or the player's party. Fade (ms), Lasts (seconds; 0 = until changed), parameter values while on, and Keep it after the player logs out (player only) |
| Set Shader Param | Set one float parameter of a shader (a vignette's strength, a blur's amount), for the player, the map or the party |
| Flash Screen | Brief bright flash |
| Shake Screen | Camera shake |
| Show Animation | Play a VFX on a character |
| Show Balloon | Display an emotion icon above a character |
| Set Weather | Change the current weather |
| Show/Move/Rotate/Tint Picture | Display and animate UI images |
Full-screen flashes are limited, for safety. The game shows no more than three flashes in any one second, whatever your events ask for — a loop that calls Flash Screen every few frames simply shows fewer. Players with Reduced motion on (or with that preference set in their operating system) see one soft, slow pulse instead: at most 15% strength, at least 0.4 seconds long, at most once a second. The same limit covers a cinematic's Flash and lightning in a storm. Do not build an effect that depends on a rapid strobe, and never use a flash as the only sign that something happened — pair it with a sound or a message.
Audio#
| Command | What It Does |
|---|---|
| Play/Fadeout BGM | Background music control |
| Play/Fadeout BGS | Ambient sound control |
| Play/Stop SE | Sound effects |
MMO-Specific#
| Command | What It Does |
|---|---|
| Open Shop | Open an NPC shop for the player |
| Spawn Mob | Spawn a specific mob at a location |
| Apply/Remove Status Effect | Add or remove buffs/debuffs |
| Show/Close Custom UI | Display custom interface panels |
| Script | Holds a script for reference. It never runs — see Commands that never run |
| Plugin Command | An RPG Maker plugin command kept by an import. It never runs |
Battle#
| Command | What It Does |
|---|---|
| Battle Processing | Starts a battle against a mob party, then runs the branch for how it ended: If Win, If Escape, If Lose. Fought as a turn-based battle when your world's Battle Mode allows it; in Real-time mode (the default) it counts as a win at once. See Battle Processing below |
Undo and redo#
Open any event on the map, or Common Events from the Events menu. The undo and redo arrows sit in the editor's header, left of Save.
- Edit the event as usual.
- Press Ctrl+Z (Cmd+Z on a Mac) to undo the last change, or click the undo arrow.
- Press Ctrl+Y or Ctrl+Shift+Z to redo, or click the redo arrow.
| Control | What it does |
|---|---|
| Undo (Ctrl+Z) | Steps back one change: a command added, edited, deleted, moved or pasted, a page setting, a condition, the graphic or the trigger |
| Redo (Ctrl+Y / Ctrl+Shift+Z) | Puts back what you undid |
- Typing in one field is one step, so a sentence you typed undoes in one go.
- Each open event keeps its last 100 steps, cleared when you close it — reopening starts fresh.
- Undo works in the editor window you clicked last. Click the map and Ctrl+Z undoes map edits instead.
- Undo doesn't save. Press Save as before.
- Deleting a common event can't be undone — it is removed from the project straight away.
Battle Processing#
A Battle Processing command starts a battle against a mob party and then runs only the commands for the way the battle ended. It comes from RPG Maker: add one from the Add Command picker, or let the RPG Maker import bring yours across.
Whether a battle is fought depends on your world. With Combat → Turn Battles → Battle Mode on Turn-based or Chosen per encounter, the command opens a turn-based battle and then runs the branch for how it ended. In Real-time mode (the default), or with Turn-Based Battles switched off in World → Features, it counts as a win the moment it runs: the If Win commands run, the others do not, and the event carries on after End Battle. The Auto-win badge in the command list describes that case.
Where to author it#
Maps → open a map → Events mode → double-click an event → the command list. For a common event, open Common Events from the Events panel and pick the event. Click a Battle Processing row to open its form. To add a new one, press + Add command → Flow Control → Battle Processing (listed while Turn-Based Battles is on).
How to set it up#
- Click the Battle Processing row. Its form opens under it.
- In Fight, choose where the mob party comes from (see the table below).
- For A mob party, pick the party in Mob party. Parties are made in Database → Mobs → Parties.
- Tick Can Escape if the player may run. An If Escape branch appears under the command.
- Tick Can Lose if the event should carry on after a defeat. An If Lose branch appears.
- Hover a branch row (If Win, If Escape, If Lose) and press + to add the commands that run for that outcome.
- Save the event, then save the map.
Fields#
| Field | What it does |
|---|---|
| Fight | Where the mob party comes from. A mob party: the one you pick. The party a variable names: decided when the event runs, from a variable. The map's random encounter: RPG Maker's "same as random encounter"; no party is chosen here, because maps have no encounter list yet |
| Mob party | (Fight: A mob party) The party to fight. Search by name |
| Variable holding the party number | (Fight: The party a variable names) The number variable read when the battle starts |
| Party ID starts with | (Fight: The party a variable names) Text put in front of the variable's value to make the party's ID. With rmmz_troop_ and a value of 5, the party is rmmz_troop_5. Imported parties are numbered this way |
| Can Escape | The player may run from the battle. Adds the If Escape branch |
| Can Lose | The event carries on after a defeat and the If Lose branch runs. Off, a defeat ends the event there (RPG Maker's game over) |
The rows under the command:
| Row | When its commands run |
|---|---|
| If Win | The player wins. Today this is always the case |
| If Escape | The player runs from the battle. Badge Not run yet |
| If Lose | The player loses. Badge Not run yet |
| End Battle | Closes the block. Commands after it run whatever the outcome |
Gotchas#
- Everything under If Win happens without a fight. Treat the command as "skip to the win" until battles are fought.
- Unticking a box removes its branch only while the branch is empty. A branch that holds commands is kept, so unticking never deletes your work; delete its commands first if you want the branch gone.
- With neither box ticked there are no branches at all, as in RPG Maker: the event simply continues after the battle. (An If Win branch that already holds commands is kept.)
- The branches and End Battle belong to the block. Their rows have no hover buttons and cannot be dragged; Delete entire block on the Battle Processing row removes the command, its branches and everything inside them, and moving the row moves the whole block. The right-click menu still lists Delete, Move and Duplicate on those rows — do not use them there: removing End Battle or a branch row on its own breaks the block.
- Insert Above / Insert Below inside a battle. These add the new command at the outermost level of the list, not inside a branch. Below the Battle Processing row it lands between the battle and If Win and runs whatever the outcome, before the branches. Above If Escape, If Lose or End Battle it runs together with the branch above it. To add to a branch, hover the branch row and press + instead. Editing the battle afterwards leaves such a command where it is.
- An event with a battle always runs on the server, even when the event is switched to Client Runtime.
- Your game server has to be up to date. A server that has not yet updated to the release that introduced Battle Processing does not know the command and runs the commands for every outcome one after the other. Managed servers update by themselves when nobody is online.
- Project Health lists every event that starts a battle, and any battle that names a mob party that does not exist.
- Battle Processing itself has no feature flag; the fight it starts needs World → Features → Turn-Based Battles and a Battle Mode other than Real-time.
Commands that never run#
Some commands are stored and shown in the list but do nothing when the event runs. Each one has a Not run badge, and opening it explains why:
- Script and Plugin Command — kept from an RPG Maker import so you can read what the original did. Rebuild it with event commands.
- Broadcast Message, Achievement Control, Get On/Off Vehicle, Change Map Name Display, Guild Control, Party Control, PvP Control and Change Tileset — these have a form but the game does not act on them yet.
The event steps past such a command and carries on with the next one.
Conditional Branches#
The Conditional Branch command is the backbone of dynamic content. You can test:
- Switches — is flag #N on or off?
- Variables — is variable #N equal to / greater than / less than a value?
- Item count — does the player have N of item X?
- Skill level — is the player's skill at level N?
- Quest status — is quest X active / completed / failed?
- Player location and facing — is the player on this map, this tile, inside this rectangle, looking this way? See Player Location in Events
- Script (tab 4) — a one-line formula over several of these at once; see Event Expressions
This lets you create branching stories, unlockable dialogue, and conditional rewards — all without code.
Example: Simple Quest Dialogue#
Here's how you might set up a quest-giving NPC event:
- Show Text — "Well met, traveler. The forest is overrun with slimes."
- Show Choices — "I'll help!" / "Not interested."
- If "I'll help!":
- Conditional Branch — check if quest "Clear the Forest" is not started
- Show Text — "Excellent! Defeat 10 Forest Slimes and return to me."
- Start Quest — "Clear the Forest"
- If quest already active: Show Text — "Still working on it? Keep at it!"
- If "Not interested":
- Show Text — "Come back if you change your mind."
- Exit Event
Cinematic Sequencer#
Event commands are perfect for dialogue and quick scripted beats. For fully directed cutscenes — camera moves, actors walking their marks, timed dialogue, effects and sound — use Cinematics: a story of beats you build right on the map, from the Cinematics button in the Events panel. Play one when a player steps on a tile, or from any event with the Play Cinematic command. See Cinematics for the full guide.