MPP 文章の表示拡張 - MPP_MessageEX.js

▼MPP 文章の表示拡張(木星ペンギン様作) - MPP_MessageEX.js
https://plugin.fungamemake.com/archives/2201
[文章の表示]の機能を拡張したり表示の演出を追加します。
ふりがな:ぶんしょうのひょうじかくちょう
機能概要: [文章の表示]の機能を拡張したり表示の演出を追加します。
利用規約(ライセンス): MITライセンス
作者:木星ペンギン
作者サイト:https://woodpenguin.blog.fc2.com/
解説ページ: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 * */
