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

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

MV plugins

Stand Picture EC - StandPictureEC.js

Plugin desc : ver1.043/Adds control characters that display and move character portraits.

License : MIT License

Author : Yana

Website : https://w.atwiki.jp/pokotan/pages/3.html

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

Download Page : https://raw.githubusercontent.com/munokura/Yana-MV-plugins/refs/heads/master/Map_Message/StandPictureEC/StandPictureEC.js

File name : StandPictureEC.js

Help of plugin :

@plugindesc ver1.043/Adds control characters that display and move character portraits.
@author Yana
@url https://github.com/munokura/Yana-MV-plugins
@license MIT License

@help
English Help Translator: munokura
This is an unofficial English translation of the plugin help,
created to support global RPG Maker users.
Feedback is welcome to improve translation quality
(see: https://github.com/munokura/Yana-MV-plugins ).
Original plugin by Yana.
-----
Plugin Commands
----------------------------------------------------------------------
- Makes a sprite selectable by clicking it.
ChoicePicture [Variable ID] [Cancellation Permission Status]

This plugin command must be called with a message displayed and the sprite displayed with control characters.
A dedicated cursor sprite will be displayed when you move the cursor with a controller or D-pad.
Specify the cancellation permission status as true or false.
If false, it can be omitted.
You can also disable cursor selection by leaving the image name field blank.
Place the cursor.png image data in img/pictures/system.

https://github.com/munokura/Yana-MV-plugins/blob/master/Map_Message/StandPictureEC/cursor.png

------------------------------------------------------
Note
------------------------------------------------------
For this plugin to work, the StandPictureSettingP and StandPictureSettingM plugins are required.
Place the plugins in the following order:

StandPictureSettingP
StandPictureSettingM
StandPictureEC

------------------------------------------------------
Usage
------------------------------------------------------
Name the image file as 
△△△_×
and place it in img/pictures.
The △△△ part is the file name set in StandPictureSettingP, and the x part is the image index.
This index is used to switch images for blinking, lip-syncing, etc.
If you don't want to use blinking or lip-syncing, there's no need to add an index.
Example: If the set file name is test0, create test0.png in img/pictures.
Example: If the file name is test1 and you want to blink [0,1,0], create test1_0.png and test1_1.png.

Note: Starting with version 1.02, you can load images from other folders besides img/pictures.
By specifying the folder/file name to load, you can load images from folders other than pictures.
Example: battleback1/DarkSpace.

Version 1.01 adds preloading and cache deletion settings.
If Use Preloading is set to true, all images potentially used in the map will be extracted and cached when the Game_Map setup is executed.
This reduces the chance of images not displaying due to loading waits when running in a browser, etc.
(This may occur if you display a message and use a standing picture immediately after moving to a new location.)
If Use Delete Cache is set to true, the standing picture image cache generated for the previous map will be deleted from ImageManager._cache when Game_Map setup is executed.
This reduces memory usage, but when executed in a browser, communication will occur during regeneration, increasing communication traffic.
If there is a possibility that the program will be executed in an environment with a communication traffic limit, we recommend setting it to false.

------------------------------------------------------
Additional Control Characters
----------------------------------------------------------
--- Image Operation ---
¥SP[index,x,y]
Displays the sprite with the index number set in StandPictureSettingP at x,y.
The sprite anchor is set to x=0.5, y=1.0, so set it based on the bottom center of the sprite.
*The anchor position can now be set from version 1.01.
Specifying -1 for index does nothing.

¥HP[index]
Hides the sprite with the index number set in StandPictureSettingP.

¥MP[index,x,y,duration]
Moves the indexed sprite to the x,y position on the screen over duration frames.
If duration is omitted, the movement will be instantaneous.
Also, specifying a negative index will move sprites other than the value specified by the -.
Duration can be specified as a negative number, in which case the duration will be an absolute value.
If duration is specified as a negative number, the next action will not be performed until this action is completed.

¥RMP[index,x,y,duration]
Moves the indexed sprite by the x,y values over duration frames.
Unlike MP, this is a control character used to move sprites using relative values.
Duration can be specified as a negative number, in which case the duration will be an absolute value.
If duration is specified as a negative number, the next action will not be performed until this action is completed.
If duration is omitted, the movement will be instantaneous.

¥TP[index,duration]
Flips the indexed sprite over duration frames.
If duration is omitted, the flip will be instantaneous.
Duration can be specified as a negative number, in which case the duration will be an absolute value.
If you specify a negative duration, the next action will not be performed until this action is complete.
Also, if you specify a negative index, sprites other than the number specified with - will be inverted.

¥OP[index,opacity,duration]
Changes the transparency of the indexed sprite to opacity over duration frames.
If duration is omitted, the transparency will change instantly.
You can also specify a negative duration, in which case the duration will be an absolute value.
If you specify a negative duration, the next action will not be performed until this action is complete.
Also, if you specify a negative index, the transparency of sprites other than the number specified with - will be changed.

¥AP[index,animationId,mirror]
Displays the animation number animationId on the indexed sprite.
If you specify 1 for mirror, the animation will be inverted.

¥CP[index,nIndex,duration]
Changes the indexed sprite to the nIndexed sprite over duration frames.
When changing, an action is performed that inverts and swaps them.
If duration is omitted, the image will be changed instantly.
You can also specify a negative duration, in which case the duration will be an absolute value.
If you specify a negative duration, the next action will not be performed until this action is complete.
Care must be taken, as the sprite's ID will remain unchanged from the initial setting.

¥CFP[index,nIndex,duration]
Changes the index sprite to the nIndex sprite over duration frames.
The change is performed with a fade-and-swap action.
If duration is omitted, the image will change instantly.
A negative duration can also be specified, in which case the duration will be an absolute value.
If a negative duration is specified, the next action will not be performed until this action is complete.
Care must be taken, as the sprite's ID will remain unchanged from the initial setting.

¥COP[index,red,green,blue,gray,duration]
Changes the index sprite's ColorTone to red, green, blue, or gray over duration frames.
A negative duration can also be specified, in which case the duration will be an absolute value.
If a negative duration is specified, the next action will not be performed until this action is complete.
If duration is omitted, the ColorTone will be changed instantly.
Also, if you specify a negative value for the index, the ColorTone of sprites other than the value specified by - will be changed.

¥BCP[index,red,green,blue,alpha,duration]
Changes the BlendColor of the indexed sprite to red, green, blue, or alpha over duration frames.
You can also specify a negative duration, in which case the duration will be an absolute value.
If you specify a negative duration, the next action will not be taken until this action is complete.
If duration is omitted, the BlendColor will be changed instantly.
Also, if you specify a negative index, the BlendColor of sprites other than the value specified by - will be changed.

¥ZP[index,zoomX,zoomY,duration]
Changes the Scale of the indexed sprite to zoomX%,zoomY% over duration frames.
You can also specify a negative duration, in which case the duration will be an absolute value.
If you specify a negative duration, the next action will not be taken until this action is complete.
If duration is omitted, the Scale will be changed instantly.
Scaling is performed based on the anchor.
Also, if you specify a negative index, sprites other than the value specified by - will be scaled.

¥RZP[index,zoomX,zoomY,duration]
Increases (decreases) the scale of the indexed sprite by the zoomX%, zoomY% values over duration frames.
You can also specify a negative duration, in which case the duration will be an absolute value.
If you specify a negative duration, the next action will not be taken until this action is complete.
If duration is omitted, the scale will be changed instantly.
The enlargement is based on the anchor.
Also, if you specify a negative index, sprites other than the value specified with - will be enlarged or reduced.

¥RP[index,angle,duration]
Changes the rotation of the indexed sprite to angle° over duration frames.
Rotation values are usually set in radians, but you should set this value in degrees.
You can also specify a negative duration, in which case the duration will be an absolute value.
If you specify a negative duration, the next action will not be taken until this action is complete.
If duration is omitted, the rotation will be changed instantly.
The rotation is based on the anchor.
Also, if you specify a negative index, sprites other than the value specified with - will be rotated.

¥RRP[index,angle,duration]
Increases (decreases) the rotation of the indexed sprite by the specified angle° over duration frames.
Rotation values are usually set in radians, but this value should be set in degrees.
You can also specify a negative duration, in which case the duration becomes an absolute value.
If you specify a negative duration, the next operation will not be performed until this operation is complete.
If duration is omitted, the rotation will change instantly.
Rotation is based on the anchor.
Also, specifying a negative index will rotate sprites other than the one specified with -.

¥BP[index,index1,index2,index3...]
Groups index1, index2, index3...
with the indexed sprite as the master.
Also, when grouping, the anchor of the grouped sprites is synchronized with the anchor of the master image.
This ensures that operations such as zooming, rotation, and flipping work properly.

¥LS[index]
Starts lip-syncing the indexed sprite.
If grouped, setting it as the master image will also lip-sync the other grouped images.

¥LE[index]
Stops lip-syncing for the indexed sprite.

¥SFR[index]
Brings the indexed sprite to the front.

¥SBK[index]
Brings the indexed sprite to the back.

---Camera Controls---
¥MC[x,y,duration]
Moves the camera to the x,y position over duration frames.

¥RMC[x,y,duration]
Moves the camera by the x,y values over duration frames.
This is the same as ¥MC except that the values are relative.

¥RC[angle,duration]
Rotates the camera by angle° over duration frames.

¥RRC[angle,duration]
Rotates the camera by the angle value over duration frames.
This is the same as ¥RC except that the values are relative.

¥RPC[x,y,angle,duration]
Changes the camera anchor to x,y, and then rotates the camera by angle° over duration frames.
In short, it rotates the camera around x,y.

¥ZC[zx,zy,duration]
Changes the camera scale to zx%,zy% over duration frames.

¥ZPC[x,y,zx,zy,duration]
Changes the camera anchor to x,y, and then changes the camera scale to zx%,zy% over duration frames.
In other words, the scale is changed with x,y as the center.

¥SAC[x,y]
Changes the camera anchor to x,y.
There is no visible change.
---Replacement, etc.---
¥SM[index]
Replaced with the text of the index number set in StandPictureSettingM.

¥VI[id,num]
Converts the contents of the ID number variable to the value obtained by adding the num value.

¥WT[duration]
Waits for duration frames.

¥PV
Replaced with the number specified in the plugin settings.
This is a mechanism for general-purpose use of macros.

¥NNUM[num]
Changes the num value to the value multiplied by -1.
Used for specifying duration weights and other index specifications.

¥CALC[formula]
Calculates the formula using eval.

¥BXW
Converted to the width of the screen (Graphics.boxWidth).

¥BXH
Converted to the height of the screen (Graphics.boxHeight).

¥MWW
Converted to the width of the message window (Message_Window.width).

¥MWH
Converted to the height of the message window (Message_Window.height).

¥MWX
Converted to the X coordinate of the message window.

¥MWY
Converted to the Y coordinate of the message window.

_N_
It gets converted to ¥.
I added it because ¥¥ wasn't working properly.
------------------------------------------------------
Known Bugs
------------------------------------------------------
If ¥SP is called repeatedly without a wait, an error will occur when skipping messages at high speed.
This can be avoided by adding a wait, such as ¥WT[1], between calls.

------------------------------------------------------
Terms of Use
------------------------------------------------------
This plugin is released under the MIT license.
http://opensource.org/licenses/mit-license.php
------------------------------------------------------
Update history:
ver1.043:
Compatible with version 1.3.0.
ver1.042:
Fixed a bug where the previous standing picture would not disappear when SP was performed again on a standing picture number that was already displayed.
Fixed several buggy parts.
Added processing for use in conjunction with YEP_MessageCore.
ver1.04:
Added control characters for operating the camera.
Added control characters for ¥MC.
Added control characters for ¥RMC.
Added control characters for ¥RC.
Added control characters for ¥RRC.
Added control characters for ¥ZC.
Added control characters for ¥RPC.
Added control characters for ¥ZPC.
Added control characters for ¥SAC.
Changed the overall processing method to stack.
Fixed a bug where ChoicePicture was not able to correctly determine rotated images.
Changed the control characters for image operation so that an error does not occur when a non-existent image ID is specified.
When generating a cache, the Event's Contents switch operation was used, but has been changed to direct operation.
ver1.03:
Added a new plugin command, ChoicePicture.
Fixed a bug that caused the display to shift when the screen size was other than the default.
When loading a picture that is not set, a log is now output to the console to prevent errors.
Fixed a bug that caused an error when outputting to certain environments because part of the folder path was in uppercase.
Fixed a bug that caused the picture to remain in the background when entering battle while it was displayed.
ver1.02:
Added a setting for the initial transparency when called.
Added an item to set the numerical value converted by ¥PV.
Added control characters for ¥RMP.
Added control characters for ¥RZP.
Added control characters for ¥RRP.
Added control characters for ¥CFP.
Added control characters for ¥SFR.
Added control characters for ¥SBK.
Added control characters for ¥WT.
Added control characters for ¥PV.
Added control characters for ¥CALC.
Added control characters for ¥BXW, ¥BXH, ¥MWW, ¥MWH, ¥MWX, ¥MWY.
Added control character for ¥NNUM.
Added functionality to ¥MP, ¥OP, ¥TP, ¥COP, ¥BCP, ¥RP.
Fixed a bug that caused grouped sprites to not follow properly when using ¥MP with duration 0.
Fixed processing, changed sprite association from message window to sprite set or scene
ver1.01: Added setting to preload.
Added setting for anchor position.
Added mechanism to delete used image cache.
Added item to set whether image display is in front of or behind the message window.
Added control character for ¥BCP.
Added control character for ¥ZP.
Added control character for ¥RP.
ver1.00:
Released

@param Show Front
@desc The Z coordinate of the image display position. Specify true if you want to display the image in front of the message window.
@default false

@param Use Preloading
@desc This setting determines whether to preload images. If set to true, the event will be checked when switching maps and a cache will be created.
@default true

@param Use Delete Cache
@desc This setting determines whether to delete the cache of images used when switching maps. If set to true, the cache will be deleted every time the map is switched.
@default true

@param Default Anchor X
@desc The anchor position X of the picture. The default is 0.5 (center of the image). Please specify a value between 0 and 1.0.
@default 0.5

@param Default Anchor Y
@desc The anchor position Y of the picture. The default is 1.0 (bottom edge of the image). Please specify a value between 0 and 1.0.
@default 1.0

@param Default Opacity
@desc The initial transparency value of the picture. The default is 0 (hidden). Specify a value between 0 and 255.
@default 0

@param Proxy Variable ID
@desc The ¥PV control character will be replaced with this number. This is a mechanism to reuse the same macro and increase versatility.
@default 1

@param Cursor Name
@desc The name of the image to be used as the cursor when selecting a sprite. Place the specified image in img/system/.
@default cursor
@type file
@require 1
@dir img/system/

スポンサードリンク

-MV plugins

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