当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
MPP 文章の表示拡張 - MPP_MessageEX.js

▼MPP 文章の表示拡張(木星ペンギン様作) - MPP_MessageEX.js
https://plugin.fungamemake.com/archives/2201
[文章の表示]の機能を拡張したり表示の演出を追加します。
ふりがな:ぶんしょうのひょうじかくちょう
機能概要: [文章の表示]の機能を拡張したり表示の演出を追加します。
利用規約(ライセンス): MITライセンス
作者:木星ペンギン
作者サイト:https://woodpenguin.web.fc2.com/MV_Plugin/index.html
解説ページ:https://woodpenguin.web.fc2.com/MV_Plugin/MessageEX.htm…
ファイル名:MPP_MessageEX.js
プラグインのヘルプ:
/*:
* @plugindesc 【ver.2.3】文章表示の機能を拡張したり表示の演出を追加します。
* @author 木星ペンギン
* @help [文章の表示]の制御文字:
* sp[n] # 文章の表示速度(秒間描写文字数n) / 0で瞬間表示
* at[n] # アニメーションタイプをn番に変更(※1)
* set[n] # 設定した文字列に変換(※2)
* co[s] # 文字列sを1文字として表示
* rb[s,r] # 文字列sにルビrを付けて表示(※3)
* px[n] # 次に表示する文字のX座標をnピクセルずらす
* py[n] # 次に表示する文字のY座標をnピクセルずらす
* tx[n] # 次に表示する文字のX座標をnに変更
* ty[n] # 次に表示する文字のY座標をnに変更
* sw[n] # スイッチn番をONにする
* se[n] # 文字SEをn番に変更 / 0でSEなし
* sn[n] # スキルID n 番の名前に置き換える
* sin[n] # スキルID n 番のアイコンと名前に置き換える
* in[n] # アイテムID n 番の名前に置き換える
* iin[n] # アイテムID n 番のアイコンと名前に置き換える
* wn[n] # 武器ID n 番の名前に置き換える
* win[n] # 武器ID n 番のアイコンと名前に置き換える
* an[n] # 防具ID n 番の名前に置き換える
* ain[n] # 防具ID n 番のアイコンと名前に置き換える
* we # イベントの演出が終了するまでウェイト(※4)
*
* c[r,g,b] # 文字色をRGBで指定
* fs[n] # 文字サイズをnに変更 / デフォルト値は28
* op[n] # 文字の不透明度(0~255) / デフォルト値は255
* oc[n] # 文字の縁の色をn番に変更 / 0でデフォルト(黒)
* oc[r,g,b] # 文字の縁の色をRGBで指定
* oc[r,g,b,a] # 文字の縁の色をRGBAで指定(※5)
* ow[n] # 文字の縁の太さを変更 / デフォルト値は4
* rc[n] # ルビの色をn番に変更 / 0でデフォルト
* rc[r,g,b] # ルビの色をRGBで指定
* rs[n] # ルビの文字サイズをnに変更
* rw[n] # ルビの縁の太さを変更 / デフォルト値は4
*
* df # 文章表示の設定をデフォルト値に戻す(※6)
* sv # 現在の文章表示の設定を記憶(※6)
* ld # svで記憶した設定の呼び出し(※6)
*
* 以下は文章内に含まれていた場合に適用
* a # 決定キーやシフトキーによる瞬間表示の禁止
* nw[s] # 文字列sを名前ウィンドウに表示
* nc[n] # 名前ウィンドウの文字色をn番に変更
* fr # 顔グラフィックを右側に表示
* fm # 顔グラフィックを左右反転
* fw[n] # 顔グラフィックを別ウィンドウでnフレームかけて表示(※7)
* es # イベントの演出のスキップを一時的に有効にする(※8)
*
* すべての制御文字は大文字小文字どちらでも可能
*
* プラグインコマンド:
* SetMesRow n # メッセージウィンドウの表示行数を変更
* SetMesFadeOut n s # フェードアウトタイプを変更
* SetMesCharSe n # 文字SEをn番に変更
* SetEffectSkip true/false # イベントの演出のスキップの有効/無効を変更
*
* プラグインコマンド(オリジナルアニメーション用):
* SetCharaAngle n # 画像の回転角度をn度にする
* MoveCharaFrame x y w h d b # dフレームかけて文字の表示範囲を変更
*
* ================================================================
* ▼制御文字詳細
* --------------------------------
* ※1: at[n] (アニメーションタイプをn番に変更)
* アニメーションタイプは以下のようになります。
* 0:アニメーションなし
* 1:文字が右にスライドしながら浮かび上がる
* 2:文字が横に広がりながら表示される
* 3:文字が拡大しながら表示される
* 4:文字を左側から表示する(表示速度6推奨)
*
* 5番以降はプラグインパラメータ[Anime Commons]で読み込むコモンイベントを
* 指定してください。
*
* --------------------------------
* ※2: set[n] (設定した文字列に変換)
* プラグインパラメータ[Text Set]で指定した文字列に変換します。
* 制御文字も設定可能です。
*
* --------------------------------
* ※3: rb[s,r] (文字列sにルビrを付けて表示)
* ルビを振った文字列は一文字ずつではなくまとめて表示されます。
*
* --------------------------------
* ※4: we (演出が終了するまでウェイト)
* プラグインパラメータ[Wait Effects]で設定したイベントの演出が終了するまで
* ウェイトを行います。
*
* 文章のスキップを行ってもウェイトがかかります。
*
* --------------------------------
* ※5: oc[r,g,b,a] (文字の縁の色をRGBAで指定)
* アルファ値(a)は0.0~1.0で指定してください。
*
* --------------------------------
* ※6: df, sv, ld (文章表示の設定を初期化/保存/呼び出し)
* プラグインパラメータ[Text Informations]で対象となる情報を指定してください。
*
* --------------------------------
* ※7: fw[n] (顔グラフィックを別ウィンドウでnフレームかけて表示)
* 顔グラフィックウィンドウはメッセージウィンドウの上もしくは下に表示されます。
* 表示にかかる時間は、画面の外側から内側へ移動するまでの時間です。
*
* --------------------------------
* ※8: es (イベントの演出のスキップを一時的に有効にする)
* 詳細はプラグインコマンドの SetEffectSkip を参照。
*
*
* ================================================================
* ▼オリジナルアニメーションの作成
* --------------------------------
* アニメーションタイプ5番以降はコモンイベントを読み込むことで作成できます。
*
* コモンイベントに設定された[ピクチャの表示][ピクチャの移動][ピクチャの回転]
* [ピクチャの色調変更][ウェイト][プラグインコマンド]を読み込み、
* 設定された数値でアニメーションが作成されます。
*
* ※注意点
* ・ピクチャ番号と画像名は無視されます。
* ・[変数で指定]は使用できません。
* ・[合成方法]は通常で固定されてます。
* ・基準となる座標はX:0,Y:0です。原点は関係ありません。
* ・アニメーションが終了した時点で通常の描写がされます。
* ・最終的な座標や拡大率、回転角度などはすべて無視されます。
*
*
* ================================================================
* ▼プラグインコマンド詳細
* --------------------------------
* 〇 SetMesRow n
* n : メッセージウィンドウの行数
*
* メッセージウィンドウの表示行数をn行に変更します。
*
* --------------------------------
* 〇 SetMesFadeOut n s
* n : フェードアウトのタイプ
* s : フェードアウトにかける時間
*
* フェードアウトのタイプを変更します。
*
* 指定するタイプは以下のようになっています。
* 0:なし(瞬時に消える)
* 1:徐々に消える
* 2:上にスクロール
*
* 時間はフレーム数ではありません。
* タイプによって時間が変わります。
*
* --------------------------------
* 〇 SetMesCharSe n
* n : 文字SEの番号
*
* 鳴らす文字SEをn番に変更します。
* 0で無音、1以上でプラグインパラメータにて設定したSEが適用されます。
*
* 制御文字seは一時的なものですが、こちらはデフォルト値の変更です。
*
* --------------------------------
* 〇 SetEffectSkip bool
* bool : trueで有効, falseで無効
*
* 文章のスキップを行った際、演出のスキップをするかどうかを変更できます。
* 初期設定は無効です。
*
* スキップする演出はプラグインパラメータ[Skip Effects]にて設定できます。
* プラグインコマンドからの個別の設定変更はできません。
*
* 制御文字esは一時的なものですが、こちらはコマンド実行後全ての文章の表示に
* 適用されます。
*
* --------------------------------
* 〇 SetCharaAngle n
* n : 角度
*
* 画像の回転角度をn度にします。
*
* --------------------------------
* 〇 MoveCharaFrame x y w h d b
* x,y,w,h : 表示範囲
* d : 変化までのフレーム数
* b : [完了するまでウェイト]するかどうか
*
* 文字の表示範囲を変更します。
*
* 表示範囲は画像の左端をX0.0、右端をX1.0、上端をY0.0、下端をY1.0とし、
* xは左、yは上、wは右、hは下の位置を指定します。
*
* bの[完了するまでウェイト]はtrueを入れると有効になります。
* 未設定の場合はfalseとなります。
*
*
* ================================================================
* ▼プラグインパラメータ詳細
* --------------------------------
* 〇 Skip Effects (文章のスキップをした際、同時にスキップを行う演出)
*
* 有効となっている演出が終了するまでマップの更新を行います。
* メイン処理全てを更新するので、有効となっていない演出も早送りされます。
*
* この処理はプラグインコマンド[SetEffectSkip]にて有効に設定する、
* または制御文字esを使用することで機能します。
*
* --------------------------------
* 〇 Plugin Commands (プラグインコマンド名)
*
* プラグインコマンド名を変更できます。
* コマンドを短くしたり日本語化等が可能です。
*
* コマンド名を変更しても、デフォルトのコマンドは使用できます。
*
*
* ================================
* 制作 : 木星ペンギン
* URL : http://woodpenguin.blog.fc2.com/
*
* @param Anime Commons
* @type common_event[]
* @desc オリジナルアニメーションとして読み込むコモンイベントIDの配列
* (上から at[5],at[6]... となります)
* @default []
*
* @param Text Set
* @type string[]
* @desc setにて呼び出す文字列のセットの配列
* (上から set[1],set[2]... となります)
* @default []
*
* @param Text Informations
* @type struct<Informations>
* @desc df,sv,ldを実行した際に操作する情報
* @default {”Speed”:”true”,”Anime Type”:”true”,”Text Color”:”true”,”Text Size”:”true”,”Text Opacity”:”true”,”Outline Color”:”true”,”Outline Width”:”true”,”Ruby Color”:”true”,”Ruby Size”:”true”,”Ruby Width”:”true”}
*
* @param Wait Effects
* @type struct<WaitEffects>
* @desc we実行時に終了待ちをする演出
* @default {”Scroll Map”:”true”,”Set Movement Route”:”true”,”Show Animation”:”true”,”Show Balloon Icon”:”true”,”Move Picture”:”true”,”Tint Picture”:”true”,”Tint Screen”:”true”,”Flash Screen”:”true”,”Shake Screen”:”false”,”Set Weather Effect”:”false”,”Fadeout BGM”:”false”,”Fadeout BGS”:”false”,”Play ME”:”false”}
*
* @param Skip Effects
* @type struct<SkipEffects>
* @desc 文章のスキップをした際、同時にスキップを行う演出
* @default {”Scroll Map”:”true”,”Set Movement Route”:”true”,”Move Picture”:”true”,”Tint Picture”:”true”,”Tint Screen”:”false”,”Flash Screen”:”false”,”Shake Screen”:”false”,”Set Weather Effect”:”false”}
*
* @param Skip Effects Timing
* @type number
* @max 1
* @desc 演出スキップを行うタイミング
* (0:スキップ時, 1:文章の表示終了時)
* @default 0
* @parent Skip Effects
*
*
* @param === Char SE ===
*
* @param Character SEs
* @type struct<SE>[]
* @desc 文字を表示する際に鳴らすSEの配列
* @default []
* @parent === Char SE ===
*
* @param Char SE Interval
* @type number
* @min 1
* @desc 文字を表示する際にSEを鳴らす間隔
* @default 4
* @parent === Char SE ===
*
* @param Stop SE When Skip
* @type boolean
* @desc スキップしたときにSEの停止を行うかどうか
* @default true
* @parent === Char SE ===
*
*
* @param === Default ===
*
* @param Default Message Row
* @type number
* @min 1
* @desc [メッセージウィンドウの表示行数]のデフォルト値
* @default 4
* @parent === Default ===
*
* @param Default FadeOut Type
* @type number
* @max 2
* @desc [フェードアウトタイプ]のデフォルト値
* @default 0
* @parent === Default ===
*
* @param Default FadeOut Speed
* @type number
* @desc [フェードアウト速度]のデフォルト値
* @default 5
* @parent === Default ===
*
* @param Default Speed
* @type number
* @desc [文章の表示速度]のデフォルト値
* @default 60
* @parent === Default ===
*
* @param Default Anime Type
* @type number
* @desc [アニメーションタイプ]のデフォルト値
* @default 1
* @parent === Default ===
*
* @param Default Ruby Color
* @desc [ルビの色]のデフォルト値(RGBで指定)
* @default 255,255,255
* @parent === Default ===
*
* @param Default Ruby Size
* @type number
* @desc [ルビの文字サイズ]のデフォルト値
* @default 14
* @parent === Default ===
*
* @param Default Ruby Outline
* @type number
* @desc [ルビの縁の太さ]のデフォルト値
* @default 2
* @parent === Default ===
*
* @param Default Char SE Index
* @type number
* @desc [文字SE]のデフォルト値
* @default 0
* @parent === Default ===
*
*
* @param === Window ===
*
* @param Name Window
* @type struct<NameWindow>
* @desc 名前ウィンドウのパラメータ
* @default {”x”:”0”,”y”:”-56”,”Windowskin”:”Window”,”Default Color”:”0”}
* @parent === Window ===
*
* @param Face Window
* @type struct<FaceWindow>
* @desc 顔グラフィックウィンドウのパラメータ
* @default {”Padding X”:”0”,”Padding Y”:”0”,”Windowskin”:”Window”}
* @parent === Window ===
*
*
* @param === Command ===
*
* @param Plugin Commands
* @type struct<Plugin>
* @desc プラグインコマンド名
* @default {”SetMesRow”:”SetMesRow”,”SetMesFadeOut”:”SetMesFadeOut”,”SetMesCharSe”:”SetMesCharSe”,”SetEffectSkip”:”SetEffectSkip”,”SetCharaAngle”:”SetCharaAngle”,”MoveCharaFrame”:”MoveCharaFrame”}
* @parent === Command ===
*
*/
/*~struct~Informations:
* @param Speed
* @type boolean
* @desc 文章の表示速度
*
* @param Anime Type
* @type boolean
* @desc アニメーションタイプ
*
* @param Text Color
* @type boolean
* @desc 文字色
*
* @param Text Size
* @type boolean
* @desc 文字サイズ
*
* @param Text Opacity
* @type boolean
* @desc 文字の不透明度
*
* @param Outline Color
* @type boolean
* @desc 文字の縁の色
* @default true
*
* @param Outline Width
* @type boolean
* @desc 文字の縁の太さ
*
* @param Ruby Color
* @type boolean
* @desc ルビの色
*
* @param Ruby Size
* @type boolean
* @desc ルビの文字サイズ
*
* @param Ruby Width
* @type boolean
* @desc ルビの縁の太さ
*/
/*~struct~WaitEffects:
* @param Scroll Map
* @type boolean
* @desc [マップのスクロール]
*
* @param Set Movement Route
* @type boolean
* @desc [移動ルートの設定]
* ([動作を繰り返す]は除く)
*
* @param Show Animation
* @type boolean
* @desc [アニメーションの表示]
*
* @param Show Balloon Icon
* @type boolean
* @desc [フキダシアイコンの表示]
*
* @param Move Picture
* @type boolean
* @desc [ピクチャの移動]
*
* @param Tint Picture
* @type boolean
* @desc [ピクチャの色調変更]
*
* @param Tint Screen
* @type boolean
* @desc [画面の色調変更]
*
* @param Flash Screen
* @type boolean
* @desc [画面のフラッシュ]
*
* @param Shake Screen
* @type boolean
* @desc [画面のシェイク]
*
* @param Set Weather Effect
* @type boolean
* @desc [天候の設定]
*
* @param Fadeout BGM
* @type boolean
* @desc [BGMのフェードアウト]
*
* @param Fadeout BGS
* @type boolean
* @desc [BGSのフェードアウト]
*
* @param Play ME
* @type boolean
* @desc [MEの演奏]
*
*
*/
/*~struct~SkipEffects:
* @param Scroll Map
* @type boolean
* @desc [マップのスクロール]
*
* @param Set Movement Route
* @type boolean
* @desc [移動ルートの設定]
* ([動作を繰り返す]は除く)
*
* @param Move Picture
* @type boolean
* @desc [ピクチャの移動]
*
* @param Tint Picture
* @type boolean
* @desc [ピクチャの色調変更]
*
* @param Tint Screen
* @type boolean
* @desc [画面の色調変更]
*
* @param Flash Screen
* @type boolean
* @desc [画面のフラッシュ]
*
* @param Shake Screen
* @type boolean
* @desc [画面のシェイク]
*
* @param Set Weather Effect
* @type boolean
* @desc [天候の設定]
*
*
*/
/*~struct~NameWindow:
* @param x
* @type number
* @min -3000
* @desc X座標
* @default 0
*
* @param y
* @type number
* @min -3000
* @desc Y座標
* @default -56
*
* @param Windowskin
* @type file
* @require 1
* @dir img/system
* @desc ウィンドウのウィンドウスキン名
* @default Window
*
* @param Default Color
* @type number
* @desc 文字色のデフォルト値(番号で指定)
* @default 0
*/
/*~struct~FaceWindow:
* @param Padding X
* @type number
* @desc X軸の余白
* @default 0
*
* @param Padding Y
* @type number
* @desc Y軸の余白
* @default 0
*
* @param Windowskin
* @type file
* @require 1
* @dir img/system
* @desc ウィンドウのウィンドウスキン名
* @default Window
*/
/*~struct~SE:
* @param Name
* @desc ファイル名
* @default
* @require 1
* @dir audio/se
* @type file
*
* @param Volume
* @type number
* @max 100
* @desc 音量
* @default 90
*
* @param Pitch
* @type number
* @min 50
* @max 150
* @desc ピッチ
* @default 100
*
* @param Pan
* @type number
* @min -100
* @max 100
* @desc 位相
* @default 0
*
*/
/*~struct~Plugin:
* @param SetMesRow
* @desc メッセージウィンドウの表示行数を変更
* @default SetMesRow
*
* @param SetMesFadeOut
* @desc フェードアウトタイプを変更
* @default SetMesFadeOut
*
* @param SetMesCharSe
* @desc 文字SEをn番に変更
* @default SetMesCharSe
*
* @param SetEffectSkip
* @desc イベントの演出のスキップの有効/無効を変更
* @default SetEffectSkip
*
* @param SetCharaAngle
* @desc 画像の回転角度をn度にする
* @default SetCharaAngle
*
* @param MoveCharaFrame
* @desc dフレームかけて文字の表示範囲を変更
* @default MoveCharaFrame
*
*/