User Tools

Site Tools


development:technical-details:patches:maniac:modified-maniac-commands

Modified commands

This page lists the commands that received new features in the Maniac Patch.

Those commands can be written either through the Maniac Patch editor, through the TPC program of the Maniac Patch, or by writing raw format commands.

FIXME This page is currently a stub, most commands still need to be filled.

Display Text Settings

FIXME

Change Faceset

FIXME

Control Variables

FIXME

Change Party Member

FIXME

Change State

FIXME

Change Actor Name

Player status: Supported ✅

The Change Actor Name command allows to change the name of an actor.

The Maniac Patch supports the use of a variable or variable redirection for the ID of the actor, as well as using a string variable or string variable redirection for the name.

The common TPC syntax is

@actor[1].name "Alex"

, with the possibility to replace the actor ID by a variable or variable redirection, and the string by a string variable or string variable redirection.

Raw writing:

10610, "name", a, b, c
  • 10610: Command code
  • name: Name to use for the Actor. If a string variable or string variable redirection is used, this has no effect.
  • a: Value to use for the Actor ID.
  • b: Dictates whether constants, variables or variable redirections should be used:
    • +1 if the Actor ID to use should come from a variable.
    • +2 if the Actor ID to use should come from a variable redirection.
    • +16 if the Name to use should come from a string variable.
    • +32 if the Name to use should come from a string variable redirection.
  • c: If the Name is pulled from a string variable or string variable redirection, value to use for the string variable ID.

Change Actor Nickname

Player status: Supported ✅

The Change Actor Nickname command allows to change the nickname of an actor.

The Maniac Patch supports the use of a variable or variable redirection for the ID of the actor, as well as using a string variable or string variable redirection for the name.

The common TPC syntax is

@actor[1].nickname "None"

, with the possibility to replace the actor ID by a variable or variable redirection, and the string by a string variable or string variable redirection.

Raw writing:

10620, "nickname", a, b, c
  • 10620: Command code
  • nickname: Nickame to use for the Actor. If a string variable or string variable redirection is used, this has no effect.
  • a: Value to use for the Actor ID.
  • b: Dictates whether constants, variables or variable redirections should be used:
    • +1 if the Actor ID to use should come from a variable.
    • +2 if the Actor ID to use should come from a variable redirection.
    • +16 if the Nickame to use should come from a string variable.
    • +32 if the Nickame to use should come from a string variable redirection.
  • c: If the Nickname is pulled from a string variable or string variable redirection, value to use for the string variable ID.

Change Actor Graphic

FIXME

Change Actor Faceset

FIXME

Change System BGM

FIXME

Change System SE

FIXME

Change System Graphic

Player status: Supported ✅

The Change System Graphic command allows to change the system graphic.

The Maniac Patch supports the use of a string variable or string variable redirection for the name of the system graphic.

Common TPC syntax:

@sys.skin "Royal" .stretch .gothic

Where:

  • Royal is the name of the system graphic, with the possibility to replace it by a string variable or string variable redirection.
  • .stretch defines the window background setting to use, with .stretch corresponding to Stretch to Fit and .tiled to Tiled Pattern.
  • .gothic defines the font to use, with .gothic corresponding to RPG2000 (MS Gothic) and .mincho to RPG2000G (MS Mincho).

Raw writing:

10680, "name", a, b, c, d
  • 10680: Command code
  • name: Name of the system graphic. If a string variable or string variable redirection is used, this has no effect.
  • a: Whether the window background should use the Stretch to Fit setting (0) or the Tiled Pattern setting (1).
  • b: Whether the font to use should be RPG2000 (0) or RPG2000G (1).
  • c: Whether the name of the system graphic should come from the command (0), from a string variable (1) or from a string variable redirection (2).
  • d: If the system graphic should come from a string variable, ID of the string variable.

Battle Processing

FIXME

Shop Processing

⚠️ This option is not directly accessible through the Maniac editor, and requires using TPC, raw writing or another tool.

FIXME

Name Input Processing

Player status: Unsupported ❌

The Name Input Processing command allows to open the name input screen to rename a hero.

The Maniac Patch adds the possibility to use a variable or variable redirection for the ID of the actor. ⚠️ This option is not directly accessible through the Maniac editor in the public version, and requires using TPC, raw writing or another tool.

The development version adds the following field:

  • Character limit: How many characters can be typed for the name, with the possibility to either use a constant, variable or variable redirection. ⚠️ This option was added in development versions of the editor, and is as such not available in public versions, in addition to lacking a common TPC writing.

Additionally, as custom pages for the name input processing scene can be written since the development version, the initial page can now use more values than just 0 and 1. ⚠️ This option was added in development versions of the editor, and is as such not available in public versions, in addition to lacking a common TPC writing.

Notes:

  • The character limit is capped on the [1;30] range.
  • Having the character limit set to 0 will use the default character limit (12 in English RPG Maker 2003).

TPC syntax:

@actor[1].inputName .kana .preset

Where:

  • 1: ID of the hero, with the possibility to replace the constant by a variable or variable redirection.
  • .kana: If set, the default page will be set to the second page (1). If omitted, the default page will be set to the first page (0).
  • .preset: If set, the name of the actor should be displayed by default. If omitted, it will not be set by default.

Raw writing:

10740, "", a, b, c, d, e
  • 10740: Command code
  • a: Value to use for the Actor ID.
  • b: Value to use for the initial page.
  • c: Whether the scene should start with no default name (0) or if the name of the actor should be displayed by default (1).
  • d: Defines if the values to use are constants, variables or variable redirections:
    • +1 if the Actor ID to use should be a variable.
    • +2 if the Actor ID to use should be a variable redirection.
    • +65536 if the character limit to use should be a variable.
    • +131072 if the character limit to use should be a variable redirection.
  • e: Value to use for the character limit.

Set Vehicle Location

⚠️ This option is not directly accessible through the Maniac editor, and requires using TPC, raw writing or another tool.

Player status: Unsupported ❌

The Set Vehicle Location command allows to teleport a vehicle.

The Maniac Patch allows specifying a direction that the vehicle should face after teleportation.

Common TPC syntax:

@map[1].setVehiclePos .ship .pos 2, 3 .up

Where:

  • 1 corresponds to the map ID, 2 to the X coordinate and 3 to the Y coordinate; They can be set to either constants or variables, but their types cannot be mixed.
  • .ship corresponds to the vehicle, with the possibility to specify .boat for the Boat, .ship for the Ship and .airship for the Airship. ⚠️ TPC does not has a common syntax to specify the Player as a vehicle.
  • .up corresponds to the direction parameter, with .retain corresponding to no direction change, .up to face up, right to face right, .down to face down and .left to face left.

Notes:

  • It is possible to teleport the player through this command: doing so will not display any transition nor clear any picture if the map changes.
  • Specifying a negative direction or a direction higher than 4 will keep the current direction.

Raw writing:

10850, "", a, b, c, d, e, f
  • 10850: Command code
  • a: Value to use for the Vehicle:
    • -1: Player
    • 0: Boat
    • 1: Ship
    • 2: Airship
  • b: Whether the map ID and coordinates should be constants (0) or variables (1).
  • c: Value to use for the map ID.
  • d: Value to use for the X coordinate.
  • e: Value to use for the Y coordinate.
  • f: Value to use for the Direction:
    • 1: Up
    • 2: Right
    • 3: Down
    • 4: Left
    • Other values: Retain

Set Event Location

⚠️ Those options are only accessible through the Maniac editor in development versions, but the displayed interface incorrectly displays that the Direction can be set as a variable or variable redirection which is false, and the parameter for the Event ID on the interface is actually the one displayed for the Direction. Those options can be used on public versions, but require using TPC, raw writing or another tool.

Player status: Supported ✅

The Set Event Location command allows to teleport an event.

The Maniac Patch allows to specify a variable or variable redirection for the event ID, and allows specifying a direction that the event should face after teleportation.

Common TPC syntax:

@ev[1].setPos .pos 2, 3 .up

Where:

  • 1 corresponds to the event ID, with the possibility to replace it by a variable or variable redirection.
  • 2 corresponds to the X coordinate and 3 to the Y coordinate; They can be set to either constants or variables, but their types cannot be mixed.
  • .up corresponds to the direction parameter, with .retain corresponding to no direction change, .up to face up, .right to face right, .down to face down and .left to face left.

Notes:

  • The instance This Event can be specified by specifying the ID 10005, but the Player and the vehicles (IDs 10001~10004) cannot be targeted using the command.
  • Specifying a negative direction or a direction higher than 4 will keep the current direction.

Raw writing:

10860, "", a, b, c, d, e
  • 10860: Command code
  • a: Value to use for the event ID.
  • b: Whether the values to use should be constants, variables or variable redirections:
    • +1 if the coordinates to use should be variables.
    • +256 if the Event ID to use should be a variable.
    • +512 if the Event ID to use should be a variable redirection.
  • c: Value to use for the X coordinate.
  • d: Value to use for the Y coordinate.
  • e: Value to use for the Direction:
    • 1: Up
    • 2: Right
    • 3: Down
    • 4: Left
    • Other values: Retain

Swap Event Location

Player status: Supported ✅

The Swap Event Location command allows to swap the position of an event with another.

The Maniac Patch supports the use of a variable or variable redirection for the events in place of using constants.

Notes:

  • This command does not allow swapping the player (ID 10001), vehicles (IDs 10002~10004) and the instance This Event (ID 10005).
  • Attempting to swap an event that does not exist will display an error and make the program close.

The common TPC syntax is

@ev[1].swap 2

, with the possibility to replace the constants by variables or variable redirections.

Raw writing:

10870, "", a, b, c
  • 10870: Command code
  • a: Value to use for the first event.
  • b: Value to use for the second event.
  • c: Defines if the values to use are constants, variables or variable redirections:
    • +1 if the value to use for the first event should be a variable.
    • +2 if the value to use for the first event should be a variable redirection.
    • +16 if the value to use for the second event should be a variable.
    • +32 if the value to use for the second event should be a variable redirection.

Hide Screen

⚠️ This option is not directly accessible through the Maniac editor, and requires using TPC, raw writing or another tool.

Player status: Unsupported ❌

The Hide Screen command allows to hide the screen.

The Maniac Patch supports the use of a variable or variable redirection for the transition value in addition to using a constant.

The following values determine the transition to use:

  • Negative value: Default
  • 0: Fadeout
  • 1: Random blocks across screen
  • 2: Random blocks from above
  • 3: Random blocks from below
  • 4: Close Blinds
  • 5: Horizontal Blinds
  • 6: Vertical Blinds
  • 7: Inwards
  • 8: Center Outwards
  • 9: Scroll Up
  • 10: Scroll Down
  • 11: Scroll Left
  • 12: Scroll Right
  • 13: Horizontal Split
  • 14: Vertical Split
  • 15: Quadrisection
  • 16: Zoom In
  • 17: Mosaic
  • 18: Raster Scroll
  • 19: Cut Out
  • Other positive value: Glitched transition

Notes:

  • For positive values, the transition values are internally processed on 8 bits, so a value above 255 will loop back to the value 0.

The common TPC syntax is

@scr.hide 1

, with the possibility to replace the constant by a variable or variable redirection. To use the default transition, the value must be replaced by .default.

Raw writing:

11010, "", a, b
  • 11010: Command code
  • a: Value to use for the Transition.
  • b: Whether the value to use should be a constant (0), a variable (1) or a variable redirection (2).

Show Screen

⚠️ This option is not directly accessible through the Maniac editor, and requires using TPC, raw writing or another tool.

Player status: Unsupported ❌

The Show Screen command allows to show the screen.

The Maniac Patch supports the use of a variable or variable redirection for the transition value in addition to using a constant.

The following values determine the transition to use:

  • Negative value: Default
  • 0: Fade in
  • 1: Random blocks across screen
  • 2: Random blocks from above
  • 3: Random blocks from below
  • 4: Open Blinds
  • 5: Horizontal Blinds
  • 6: Vertical Blinds
  • 7: Inwards
  • 8: Center Outwards
  • 9: Scroll Down
  • 10: Scroll Up
  • 11: Scroll Right
  • 12: Scroll Left
  • 13: Join Horizontally
  • 14: Join Vertically
  • 15: Omnidirectional
  • 16: Zoom Out
  • 17: Mosaic
  • 18: Raster Scroll
  • 19: Cut In
  • Other positive value: Glitched transition

Notes:

  • For positive values, the transition values are internally processed on 8 bits, so a value above 255 will loop back to the value 0.

The common TPC syntax is

@scr.show 1

, with the possibility to replace the constant by a variable or variable redirection. To use the default transition, the value must be replaced by .default.

Raw writing:

11020, "", a, b
  • 11020: Command code
  • a: Value to use for the Transition.
  • b: Whether the value to use should be a constant (0), a variable (1) or a variable redirection (2).

Flash Event

⚠️ This option is not directly accessible through the Maniac editor, and requires using TPC, raw writing or another tool.

FIXME

Scroll Map

The Scroll Map command in RPG Maker 2000 only allowed shifting the camera by tiles.

Maniac expands the command by allowing to move and set the camera position using pixels, adds the instant movement speed for the camera, and adds the possibility to lock the camera in a put place by ignoring any camera shifting that could happen by using a command teleporting the player.

Fix

Player status: Stronger Fixing not supported ❌

Fix allows to fix the camera position.

The patch adds the parameter Stronger Fixing: if ticked and that a player teleportation occurs on the current map, the camera will stay still instead of moving. ⚠️ This option was added in development versions of the editor, and is as such not available in public versions, in addition to lacking a common TPC writing.

Common TPC writing of the default fix command:

@scr.scroll .fix

Raw writing:

11060, "", a
  • 11060: Command code
  • a: Whether Stronger Fixing should be disabled (0) or enabled (9).

Unfix

Player status: N/A

Unfix allows to unfix the camera position. No change was made to this function in the patch.

Common TPC writing:

@scr.scroll .unfix

Raw writing:

11060, "", 1

Shift Position (Tile)

Player status: Instant speed not supported ❌

Shift Position (Tile) (known as Shift Position in the original engine) allows to move the camera by a set amount of tiles.

The patch adds a new shift speed, Instant (known as Immediately in the patch).

The command has the following fields:

  • Direction: In which the direction the camera should move. The options are Up, Right, Down and Left.
  • Speed: At which speed the camera should move. The options are the following:
    • Instant
    • x8 Slower
    • x4 Slower
    • x2 Slower
    • Normal
    • x2 Faster
    • x4 Faster
  • Distance: By how many tiles the camera should move.
  • Wait for Completion: If ticked, the game will wait that the camera finishes moving before processing the rest of the code of the event.

Common TPC syntax:

@scr.scroll .shift 1 .up .speed 0 .wait

Where:

  • .shift 1 is the distance in tiles.
  • .up dictates the direction, with the possibility to use either .up, .right, .down or .left.
  • 0 is the speed to use, where 0 is Instant, 1 is x8 Slower, 2 is x4 Slower…
  • .wait dictates if Wait for Completion is set. If omitted, Wait for Completion will not be enabled.

Raw writing:

11060, "", 2, b, c, d, e
  • 11060: Command code
  • b: Whether the camera should move up (0), right (1), down (2) or left (3).
  • c: By how many tiles the camera should move.
  • d: Which speed should be used for the camera speed:
    • 0: Instant
    • 1: x8 Slower
    • 2: x4 Slower
    • 3: x2 Slower
    • 4: Normal
    • 5: x2 Faster
    • 6: x4 Faster
  • e: Whether Wait for Completion should be disabled (0) or enabled (1).

Return to Origin

Player status: Instant speed not supported ❌

Return to Origin makes the camera returns to its original position.

The patch adds a new shift speed, Instant (known as Immediately in the patch).

The command has the following fields:

  • Speed: At which speed the camera should move. The options are the following:
    • Instant
    • x8 Slower
    • x4 Slower
    • x2 Slower
    • Normal
    • x2 Faster
    • x4 Faster
  • Wait for Completion: If ticked, the game will wait that the camera finishes moving before processing the rest of the code of the event.

Common TPC syntax:

@scr.scroll .restore .speed 0 .wait

Where:

  • 0 is the speed to use, where 0 is Instant, 1 is x8 Slower, 2 is x4 Slower…
  • .wait dictates if Wait for Completion is set. If omitted, Wait for Completion will not be enabled.

Raw writing:

11060, "", 3, 0, 0, d, e
  • 11060: Command code
  • d: Which speed should be used for the camera speed:
    • 0: Instant
    • 1: x8 Slower
    • 2: x4 Slower
    • 3: x2 Slower
    • 4: Normal
    • 5: x2 Faster
    • 6: x4 Faster
  • e: Whether Wait for Completion should be disabled (0) or enabled (1).

Shift Position (Pixel)

Player status: Partially supported ℹ️; Game can crash if a movement of less than 3 pixels on both axises is done, negative wait does not give the same result than a null wait, see EasyRPG Player issues #3668 and #3669

Shift Position (Pixel) is a new function of the patch, and allows moving the camera by a set amount of pixels.

The command has the following fields:

  • X: By how many pixels should the camera move horizontally, with the possibility to use a constant, variable or variable redirection. Using a positive value will move the camera to the right, while using a negative value will move the camera to the left.
  • Y: By how many pixels should the camera move vertically, with the possibility to use a constant, variable or variable redirection. Using a positive value will move the camera down, while using a negative value will move the camera up.
  • Speed: Pace at which the camera should move in speed units, with the possibility to use a constant, variable or variable redirection.
  • Unit of Speed:
    • Amount of movement per frame: The camera movement will be done in X * 0.001 pixel per frame, where X corresponds to the Speed value.
    • Movement frame: The camera movement will be done in X frames, where X corresponds to the Speed value.
  • Wait for Completion: If set, the game will wait that the camera finishes moving before processing the rest of the code of the event. ⚠️ While this option is shown and can be ticked in the Maniac editor, it is incorrectly assigned and the parameter will be removed if altered through the editor. Use TPC, raw writing or another tool to assign this parameter.

TPC syntax:

@scr.scroll .pxShift 1, 2 .speed 3 .wait

Where:

  • 1 corresponds to the X value, with the possibility to use a constant, a variable or variable redirection.
  • 2 corresponds to the Y value, with the possibility to use a constant, a variable or variable redirection.
  • 3 corresponds to the Speed value, with the possibility to use a constant, a variable or variable redirection.
  • .speed corresponds to the Unit of Speed parameter, with .speed corresponding to Amount of movement per frame and .time to Movement frame.
  • .wait corresponds to the Wait for Completion parameter. If omitted, the property will not be set.

Raw writing:

11060, "", a, b, c, d, e, f
  • 11060: Command code
  • a: Whether the Unit of Speed to use should be Amount of movement per frame (4) or Movement frame (5).
  • b: Defines if the values to use are constants, variables or variable redirections:
    • +1 if the X to use should be a variable.
    • +2 if the X to use should be a variable redirection.
    • +16 if the Y to use should be a variable.
    • +32 if the Y to use should be a variable redirection.
    • +256 if the Speed to use should be a variable.
    • +512 if the Speed to use should be a variable redirection.
  • c: Value to use for X.
  • d: Value to use for Y.
  • e: Whether Wait for Completion should be disabled (0) or enabled (1).
  • f: Value to use for Speed.

Set Position (Pixel)

Player status: Partially supported ℹ️; Game can crash if a movement of less than 3 pixels on both axises is done, negative wait does not give the same result than a null wait, Based on Center and overal camera position can not be accurate, see EasyRPG Player issues #3668, #3669, #3670, #3671

Set Position (Pixel) is a new function of the patch, and allows defining the position of the camera in pixels.

The command has the following fields:

  • X: X coordinate to which the camera should move, with the possibility to use a constant, variable or variable redirection.
  • Y: Y coordinate to which the camera should move, with the possibility to use a constant, variable or variable redirection.
  • Speed: Pace at which the camera should move in speed units, with the possibility to use a constant, variable or variable redirection.
  • Unit of Speed:
    • Amount of movement per frame: The camera movement will be done in X * 0.001 pixel per frame, where X corresponds to the Speed value.
    • Movement frame: The camera movement will be done in X frames, where X corresponds to the Speed value.
  • Wait for Completion: If set, the game will wait that the camera finishes moving before processing the rest of the code of the event. ⚠️ While this option is shown and can be ticked in the Maniac editor, it is instead assigned to the Based on Center parameter. Use TPC, raw writing or another tool to assign this parameter.
  • Based on Center: If set, the top-left corner of the map for the camera will no longer be considered to be 0, 0: this will instead be the case for the center of the screen (160, 120 with the default screen resolution).⚠️ The option that needs to be ticked in the Maniac editor to assign this parameter is Wait for Completion, not Based on Center.
  • Relative Position: If set, the coordinates specified will be calculated depending on the current camera position. ⚠️ The option that needs to be ticked in the Maniac editor to assign this parameter is Based on Center.

TPC syntax:

@scr.scroll .set 1, 2 .speed 3 .center .relative .wait

Where:

  • 1 corresponds to the X value, with the possibility to use a constant, a variable or variable redirection.
  • 2 corresponds to the Y value, with the possibility to use a constant, a variable or variable redirection.
  • 3 corresponds to the Speed value, with the possibility to use a constant, a variable or variable redirection.
  • .speed corresponds to the Unit of Speed parameter, with .speed corresponding to Amount of movement per frame and .time to Movement frame.
  • .center corresponds to the Based on Center parameter. If omitted, the property will not be set.
  • .relative corresponds to the Relative Position parameter. If omitted, the property will not be set.
  • .wait corresponds to the Wait for Completion parameter. If omitted, the property will not be set.

Raw writing:

11060, "", a, b, c, d, e, f
  • 11060: Command code
  • a: Whether the Unit of Speed to use should be Amount of movement per frame (6) or Movement frame (7).
  • b: Defines if the values to use are constants, variables or variable redirections:
    • +1 if the X to use should be a variable.
    • +2 if the X to use should be a variable redirection.
    • +16 if the Y to use should be a variable.
    • +32 if the Y to use should be a variable redirection.
    • +256 if the Speed to use should be a variable.
    • +512 if the Speed to use should be a variable redirection.
  • c: Value to use for X.
  • d: Value to use for Y.
  • e: Defines which parameters are used:
    • +1 if Wait for Completion is set.
    • +2 if Based on Center is set.
    • +4 if Relative Position is set.
  • f: Value to use for Speed.

Show Picture

FIXME

Move Picture

FIXME

Erase Picture

Player status: Supported ✅; Erasing pictures in batch with the first value bigger than the second value does not work, see EasyRPG Player issue #3590

The original Erase Picture command in RPG Maker 2000 only allowed to erase one picture at a time by specifying its ID, which was expanded in the English release of RPG Maker 2003 by adding batch erase and erase with a variable ID.

Maniac expands the commands by adding three other modes:

  • Variable ID: Erases the picture by specifying a variable redirection.
  • Batch (Variable): Erases a batch of pictures by specifying the values to use through variables.
  • All: Erases all pictures.

TPC writing:

  • @pic[1].erase

    to erase a single picture, with the possibility to replace the value by a variable or variable redirection.

  • @pic[1..2].erase

    to erase a batch of pictures, with the possibility to replace the two values by variables (the two values must both be constants or variables, it is not possible to mix types).

  • @pic.erase .all

    to erase all pictures.

Raw writing:

11130, "", a, b, c
  • a: Value to use for the picture ID. Set to 0 if all pictures are set to be deleted.
  • b: Whether a single picture should be deleted (0), a single picture through variable (1), a single picture through variable redirection (4), if a batch of pictures should be erased (2), if a batch of pictures should be erased through variables (3), or if all pictures should be erased (5).
  • c: If set to batch, value to use for the second picture ID of the batch.

Show Animation

FIXME

Wait

Player status: Supported ✅

The original Wait command in RPG Maker 2000 only allowed to erase wait by specifying a tenth of a second, and was later expanded with the possibility to wait for a key press.

In the Maniac patch, the command was expanded by allowing to use a variable or variable redirection for the value, and by allowing to wait in frames of a second (1/60s) instead of tenths of a second.

TPC writing:

  • @wait 1

    to wait for X tenths of a second (where X is the value), with the possibility to replace the value by a variable or variable redirection.

  • @wait 1 .frame

    to wait for X frames (where X is the value), with the possibility to replace the value by a variable or variable redirection.

  • @wait .input

    to wait for a key input.

Raw writing:

11410, "", a, b, c
  • a: Value to use for the wait. Set to 0 if set to wait for a key input.
  • b: Whether the wait should be in tenths of a second (0), in frames (256), or whether the wait should be for a key input (1).
  • c: If the wait is not set to key input, whether the wait value to retrieve should be a constant (0), a variable (1), or a redirection of variable (2).

Play BGM

Player status: Supported ✅

The Play BGM command allows to play a music.

The Maniac Patch supports the use of variables and variable redirections for the fadein time, tempo, balance and volume, as well as using a string variable or string variable redirection for the music name.

Notes:

  • Internally, the unit used for the Fadein Time by the command is milliseconds, not seconds: for instance, if you want to fadein the music by 5 seconds, then the value to use should be 5000.

TPC syntax:

@bgm.play "music" .opt 5000, 80, 100, 50

Where:

  • music is the name of the music, and can be replaced by a string variable or string variable redirection.
  • 5000 is the Fadein Time of the music, with the possibility to use a variable or variable redirection.
  • 80 is the Volume of the music, with the possibility to use a variable or variable redirection.
  • 100 is the Tempo of the music, with the possibility to use a variable or variable redirection.
  • 50 is the Balance of the music, with the possibility to use a variable or variable redirection.

Raw writing:

11510, "name", a, b, c, d, e, f
  • 11510: Command code
  • name: Name of the music. If the Music Name to use is set to a string variable, this has no effect.
  • a: Value to use for the Fadein Time.
  • b: Value to use for the Volume.
  • c: Value to use for the Tempo.
  • d: Value to use for the Balance.
  • e: Defines if the values to use are constants, variables or variable redirections:
    • +1 if the Music Name to use should be a string variable.
    • +2 if the Music Name to use should be a string variable redirection.
    • +16 if the Fadein Time to use should be a variable.
    • +32 if the Fadein Time to use should be a variable redirection.
    • +256 if the Volume to use should be a variable.
    • +512 if the Volume to use should be a variable redirection.
    • +4096 if the Tempo to use should be a variable.
    • +8192 if the Tempo to use should be a variable redirection.
    • +65536 if the Balance to use should be a variable.
    • +131072 if the Balance to use should be a variable redirection.
  • f: If the Music Name to use is a string variable or string variable redirection, value to use for the string variable.

Fadeout BGM

⚠️ This option is not directly accessible through the Maniac editor, and requires using TPC, raw writing or another tool.

Player status: Unsupported ❌

The Fadeout BGM command allows to fadeout the music.

The Maniac Patch supports the use of a variable or variable redirection for the fadeout value in addition to using a constant.

Notes:

  • Internally, the unit used for the command is milliseconds, not seconds: for instance, if you want to fadeout the music by 5 seconds, then the value to use should be 5000.

The common TPC syntax is

@bgm.fadeout 5000

, with the possibility to replace the constant by a variable or variable redirection.

Raw writing:

11520, "", a, b
  • 11520: Command code
  • a: Value to use for the Fadeout.
  • b: Whether the value to use should be a constant (0), a variable (1) or a variable redirection (2).

Play SE

Player status: Supported ✅

The Play SE command allows to play a sound effect.

The Maniac Patch supports the use of variables and variable redirections for the tempo, balance and volume, as well as using a string variable or string variable redirection for the sound name.

TPC syntax:

@se.play "sound" .opt 80, 100, 50

Where:

  • sound is the name of the sound, and can be replaced by a string variable or string variable redirection.
  • 80 is the Volume of the sound, with the possibility to use a variable or variable redirection.
  • 100 is the Tempo of the sound, with the possibility to use a variable or variable redirection.
  • 50 is the Balance of the sound, with the possibility to use a variable or variable redirection.

Raw writing:

11550, "name", a, b, c, d, e
  • 11550: Command code
  • name: Name of the sound effect. If the Sound Name to use is set to a string variable, this has no effect.
  • a: Value to use for the Volume.
  • b: Value to use for the Tempo.
  • c: Value to use for the Balance.
  • d: Defines if the values to use are constants, variables or variable redirections:
    • +1 if the Sound Name to use should be a string variable.
    • +2 if the Sound Name to use should be a string variable redirection.
    • +16 if the Volume to use should be a variable.
    • +32 if the Volume to use should be a variable redirection.
    • +256 if the Tempo to use should be a variable.
    • +512 if the Tempo to use should be a variable redirection.
    • +4096 if the Balance to use should be a variable.
    • +8192 if the Balance to use should be a variable redirection.
  • e: If the Sound Name to use is a string variable or string variable redirection, value to use for the string variable.

Key Input Processing

Player status: Supported ✅; Wheel Mouse Up and Wheel Mouse Down are not properly tracked if the command is formatted like a RPG Maker 2000 command.

The Key Input Processing command allows to track pressed keys.

In the Maniac Patch, the following buttons can be tracked, and will give the following values:

  • Mouse wheel down: 1001
  • Mouse wheel up: 1004
  • Left mouse button: 1005
  • Right mouse button: 1006
  • Middle mouse button: 1007

Common TPC writing:

@key.input .wait .elapsed v[2] .dst v[1] {
    .decision
    .cancel
    .shift
    .down
    .left
    .right
    .up
    .number
    .symbol
    .lclick
    .rclick
    .mclick
    .wheelDown
    .wheelUp
}

Where:

  • v[1] corresponds to the variable that should receive the key input value.
  • .elapsed v[2] corresponds to the Count time until key is pressed argument as well as the variable that should receive the value. If omitted, it will not be set.
  • .wait corresponds to Wait for Key Input. If omitted, it will not be set.
  • .decision, .cancel, .shift… corresponds to the keys that are tracked. If keys are omitted, they will not be tracked.

Raw writing (format used by RPG Maker 2000; also used by RPG Maker 2003 if the command has 10 numeric arguments or less):

11610, "", a, b, c, d, e, f, g, h, i, j
  • 11610: Command code
  • a: Variable that should receive the key input value.
  • b: Whether Wait for Key Input should not be used (0) or if it should be used (1).
  • c: If the command has five numeric arguments or less, whether all arrow keys should not be tracked (0) or if they should be tracked (1). Compatibility leftover from the original RPG Maker 2000 version.
  • d: Whether the Interaction key and the Left Mouse button should be tracked:
    • +1 if the Interaction key should be tracked.
    • +2 if the Left Mouse button should be tracked.
  • e: Whether the Cancel key and the Right Mouse button should be tracked:
    • +1 if the Cancel key should be tracked.
    • +2 if the Right Mouse button should be tracked.
  • f: Whether the Shift key and the Middle Mouse button should be tracked:
    • +1 if the Shift key should be tracked.
    • +2 if the Middle Mouse button should be tracked.
  • g: Whether the Down key and the Mouse Wheel Down should be tracked:
    • +1 if the Down key should be tracked.
    • +2 if the Mouse Wheel Down should be tracked.
  • h: Whether the Left key should not be tracked (0) or if it should be tracked (1).
  • i: Whether the Right key should not be tracked (0) or if it should be tracked (1).
  • j: Whether the Up key and the Mouse Wheel Up should be tracked:
    • +1 if the Up key should be tracked.
    • +2 if the Mouse Wheel Up should be tracked.

Raw writing (RPG Maker 2003):

11610, "", a, b, c, d, e, f, g, h, i, j, k, l, m, n
  • 11610: Command code
  • a: Variable that should receive the key input value.
  • b: Whether Wait for Key Input should not be used (0) or if it should be used (1).
  • c: If the command has five numeric arguments or less, whether all arrow keys should not be tracked (0) or if they should be tracked (1). Compatibility leftover from the original RPG Maker 2000 version.
  • d: Whether the Interaction key and the Left Mouse button should be tracked:
    • +1 if the Interaction key should be tracked.
    • +2 if the Left Mouse button should be tracked.
  • e: Whether the Cancel key and the Right Mouse button should be tracked:
    • +1 if the Cancel key should be tracked.
    • +2 if the Right Mouse button should be tracked.
  • f: Whether the Number keys should not be tracked (0) or if they should be tracked (1).
  • g: Whether the Symbol keys should not be tracked (0) or if they should be tracked (1).
  • h: If Wait for Key Input and Count time until key is pressed are enabled, variable that should receive the wait value.
  • i: If Wait for Key Input is enabled, whether Count time until key is pressed should not be tracked in a variable (0) or if it should be tracked (1).
  • j: Whether the Shift key and the Middle Mouse button should be tracked:
    • +1 if the Shift key should be tracked.
    • +2 if the Middle Mouse button should be tracked.
  • k: Whether the Down key and the Mouse Wheel Down should be tracked:
    • +1 if the Down key should be tracked.
    • +2 if the Mouse Wheel Down should be tracked.
  • l: Whether the Left key should not be tracked (0) or if it should be tracked (1).
  • m: Whether the Right key should not be tracked (0) or if it should be tracked (1).
  • n: Whether the Up key and the Mouse Wheel Up should be tracked:
    • +1 if the Up key should be tracked.
    • +2 if the Mouse Wheel Up should be tracked.

Change Tileset

Player status: Supported ✅

The Change Tileset command allows to change the tileset used on the current map.

The Maniac Patch supports the use of a variable or variable redirection for the tileset value in addition to using a constant.

The common TPC syntax is

@map.tileset 1

, with the possibility to replace the constant by a variable or variable redirection.

Raw writing:

11710, "", a, b
  • 11710: Command code
  • a: Value to use for the tileset.
  • b: Whether the value to use should be a constant (0), a variable (1) or a variable redirection (2).

Change Parallax Background

FIXME

Call System Functions (Open Save Menu)

⚠️ The functions of this command are not directly accessible through the Maniac editor, and require using the community plugin, TPC, raw writing or another tool.

Player status: Partial support ℹ️; Window mode only does toggle and also opens the save menu, settings menu softlocks the game by infinitely opening the save menu, license menu is not supported; as the debug menu is opened on the window of the game, whether it should be paused or not does not matter

In the Maniac patch, the Open Save Menu command was reworked to also allow opening other menus, and was renamed to Call System Functions.

It can as such be used to open other existing menus that had their own command, as well as opening some new menus and triggering new functions.

The following options can be selected:

  • Save Menu: Opens the save menu. This is the original function of the command.
  • Load Menu: Opens the load menu. Same behaviour than the Open Load Menu command.
  • Party Menu: Opens the main menu. Same behaviour than the Open Menu Screen command.
  • Toggle Window/Fullscreen: Changes the screen mode between window mode and fullscreen mode. Same behaviour than the Toggle Fullscreen Mode command.
  • Window Mode: Changes the screen mode to window mode.
  • Fullscreen Mode: Changes the screen mode to fullscreen mode.
  • Media Option: Opens the settings menu. Same behaviour than the Open Video Options command.
  • Debug Menu: Opens the debug menu. As the Maniac patch replaced the original debug menu by a window that opens outside of the game, it can be specified whether the game should be paused or not when it opens.
  • License Window: Opens the license menu. This is a new menu from the Maniac patch which opens in a separate window and displays the license of the patch and of the various components it uses.
  • F12 (Reset): Resets the game. Same behaviour than the Return to Title Screen command.

Common TPC syntax:

  • @sys.call .saveMenu
  • @sys.call .loadMenu
  • @sys.call .partyMenu
  • @sys.call .screenMode .toggle
  • @sys.call .screenMode .window
  • @sys.call .screenMode .fullScreen
  • @sys.call .f12
  • @sys.call .licenseMenu
  • @sys.call .optionMenu
  • @sys.call .debugMenu
  • @sys.call .debugMenu .pause

Raw writing:

11910, "", a, b
  • 11910: Command code
  • a: Whether the save menu (0), load menu (1), main menu (2), settings menu (4), debug menu (5), license menu (6) should be opened, game be reset (7), or whether the screen mode should be changed (3).
  • b: Only matters if the a value is set to screen mode or debug menu. For the screen mode, 0 corresponds to a toggle, 1 to window mode and 2 to fullscreen mode. For the debug menu, 0 corresponds to not pausing the game while 1 corresponds to pausing the game.

Control System Functions (Change Save Access)

⚠️ The functions of this command are not directly accessible through the Maniac editor, and require using the community plugin, TPC, raw writing or another tool.

Player status: Unsupported ❌

In the Maniac patch, the Change Save Access command was reworked to also allow controlling other menus, and was renamed to Call System Functions.

The command dictates the status of all its menus at the same time, and only dictates if they can be opened by the player or not. It does not affect the use of the commands that trigger those functions.

The following menus/functions can be controlled:

  • Save Menu
  • Party Menu
  • Toggle Window/Fullscreen (F4)
  • Media Option (F5)
  • Debug Menu (F9)
  • Reset (F12)

The command can be written as-is through TPC, with each menu entry able to be removed if you want to still be able to use it:

@sys.limitation {
    .saveMenu
    .partyMenu
    .toggleScreen
    .optionMenu
    .debugMenu
    .f12
}

Raw writing:

11960, "", a, b
  • 11960: Command code
  • a: Whether only the save menu should be disallowed (0), allowed (1) (original RPG Maker functions), or whether the command should dictate the control of all menus (-1).
  • b: Dictates which menus should be altered:
    • +1 if the save menu should be disabled.
    • +4 if the party menu should be disabled.
    • +8 if the screen toggling should be disabled.
    • +16 if the settings menu should be disabled.
    • +32 if the debug menu should be disabled.
    • +128 if game reset should be disabled.

Conditional Branch

FIXME Document the other features of this command.

Right after loading state

Player status: Partial support ℹ️Reported as false on a new game, Load Screen command reported as true

Right after loading state (also known as Right after load) can be used to detect if the game just started, either as a new game or as part of a save loading.

If the conditional branch is used under one of the following conditions and that it is used during the first frame of said instance, the conditional branch will be considered as true:

  • Start of a new game (whether the title is skipped or not)
  • Save file loaded from the title screen menu
  • Save file loaded from the Load command

All other instances will be considered to be false.

Notes:

  • Loading a save file from the Open Load Menu or Call System Functions: Load Menu command will consider Right after loading state to be false on Maniac.

TPC syntax (.else bl can be removed if no else is wanted):

@if .rightAfterLoad() {
    
} .else bl {
    
}

Raw writing (only Conditional Branch header):

12010, "", 12, 0, 0, 0, 0, f
  • 12010: Command code
  • f: Whether the Conditional Branch should only be a if (0) or if it should be an if-else (1).

Joypad is enabled

Player status: No proper support, always considered to be true ℹ️

Joypad is enabled (also known as Enable Joypad) can be used to detect if a controller is connected.

If a controller is connected, it will be reported as true, otherwise it will be reported as false.

TPC syntax (.else bl can be removed if no else is wanted):

@if .enableJoy() {
    
} .else bl {
    
}

Raw writing (only Conditional Branch header):

12010, "", 12, 1, 0, 0, 0, f
  • 12010: Command code
  • f: Whether the Conditional Branch should only be a if (0) or if it should be an if-else (1).

Window is active

Player status: No proper support, always considered to be true ℹ️

Window is active can be used to detect if the window of the game is currently active.

This command is expected to be combined with Set Game Option: Behavior when Inactive as to let the game run while in the background (otherwise the window will always be reported as being active).

If the behavior of the game window when inactive is set to keep running and that the window of the game is put in the background, it will be reported as false. Otherwise, it will be reported as true.

TPC syntax (.else bl can be removed if no else is wanted):

@if .active() {
    
} .else bl {
    
}

Raw writing (only Conditional Branch header):

12010, "", 12, 2, 0, 0, 0, f
  • 12010: Command code
  • f: Whether the Conditional Branch should only be a if (0) or if it should be an if-else (1).

File output is available

Player status: No proper support, always considered to be true ℹ️

File output is available (also known as Can output file) can be used to know if the Maniac Patch is currently able to write files.

When using the commands Save, Control Global Save, Control String Variables and Output Picture, the Maniac Patch is able to write files in the game directory of the game: as to avoid problems with games writing too many files at once causing issues with the user machine, there is a limit of around 3 files write per second. If more file writing are attempted to be done during the same second, they will all fail.

The conditional branch as such informs you of this state: if you have met the file writing limit, the conditional branch will be reported as false; otherwise it will be reported as true.

TPC syntax (.else bl can be removed if no else is wanted):

@if .canOutput() {
    
} .else bl {
    
}

Raw writing (only Conditional Branch header):

12010, "", 12, 3, 0, 0, 0, f
  • 12010: Command code
  • f: Whether the Conditional Branch should only be a if (0) or if it should be an if-else (1).

Loop

FIXME

Break Loop

FIXME

End Event Processing

⚠️ The options of this command were added in development versions of the editor, and are as such not available in public versions, in addition to lacking common TPC writings.

FIXME

Erase Event

Player status: Partial support ℹ️; specifying the event ID 10005 does not work; No warning is displayed when selecting an invalid event ID.

The Erase Event command allows to erase an event.

In the Maniac Patch, it is now possible to specify another event ID to erase, as well as using a variable or variable redirection for the event ID to use. Additionally, once an event has been erased, it is possible to make it come back.

Notes:

  • The instance This Event can be specified either by using the value 0 or 10005.
  • The Player and the vehicles cannot be altered by this command.
  • Specifying an event ID that does not exist displays an error and forces the game to close.
  • Erasing an event already erased or making an event already present return has no effect.

TPC syntax:

@ev[1].erase

Where:

  • 1 is the event ID to use, with the possibility to use a constant, variable or variable redirection.
  • .erase corresponds to the action to perform, with .erase to erase an event and .return to make it return.

Raw writing:

12320, "", a, b, c
  • 12320: Command code
  • a: Whether the Event ID to use should be a constant (0), variable (16) or variable redirection (32).
  • b: Whether the selected event ID should be erased (0) or should return (1).
  • c: Value to use for the Event ID.

Call Event

FIXME

Change Enemy HP

FIXME

Change Enemy MP

FIXME

Change Enemy State

FIXME

Enemy Encounter

FIXME

Change Battleback

FIXME

Show Animation (Battle)

FIXME

Action Times +

FIXME

Force Escape

FIXME

Conditional Branch (Battle)

FIXME

development/technical-details/patches/maniac/modified-maniac-commands.txt · Last modified: by carbonara

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki