ゲーム内用語辞典 - SceneGlossary.js

▼ゲーム内用語辞典(トリアコンタン様作) - SceneGlossary.js
https://plugin.fungamemake.com/archives/1038
ゲームに登場する用語を閲覧できる画面を追加します。
ふりがな:げーむないようごじてん
機能概要: ゲームに登場する用語を閲覧できる画面を追加します。
利用規約(ライセンス): MITライセンス
作者:トリアコンタン
作者サイト:https://triacontane.blogspot.com/
解説ページ:https://triacontane.blogspot.jp/2016/04/blog-post_20.ht…
ダウンロードページ:https://raw.githubusercontent.com/triacontane/RPGMakerM…
ファイル名:SceneGlossary.js
プラグインのヘルプ:
/*:ja
* @plugindesc ゲーム内用語辞典プラグイン
* @author トリアコンタン
*
* @param GlossaryInfo
* @text 用語情報(設定必須)
* @desc 用語辞典情報です。任意の用語辞典を追加できます。必ず1件以上の用語を登録してください。
* @default ["{\"GlossaryType\":\"1\",\"CommandName\":\"用語辞典\",\"UseCategory\":\"false\",\"CommandSwitchId\":\"0\",\"BackPicture\":\"\",\"SelectAction\":\"0\",\"SelectSwitchId\":\"0\",\"SelectVariableId\":\"0\",\"ConfirmMessage\":\"false\",\"ConfirmUse\":\"使う\",\"ConfirmNoUse\":\"やめる\",\"GlossaryHelp\":\"ゲーム中に登場する用語を解説しています。\",\"CategoryHelp\":\"カテゴリを選択してください。\",\"ConfirmHelp\":\"\",\"UsingHelp\":\"\",\"CompleteView\":\"false\",\"CompleteMessage\":\"収集率 \\\\c[2]%1\\\\c[0] %\",\"ShowingItemNumber\":\"false\",\"UsableDefault\":\"true\",\"UseItemHistory\":\"false\",\"GlossaryListWidth\":\"240\",\"VisibleItemNotYet\":\"\"}"]
* @type struct<GlossaryData>[]
*
* @param Layout
* @text レイアウト
* @desc レイアウト設定関連項目です。まとめ用の項目なのでここには何も入力しないでください。
*
* @param FontSize
* @text フォントサイズ
* @desc 用語集のフォントサイズです。
* @default 22
* @type number
* @parent Layout
*
* @param AutoResizePicture
* @text 画像の自動縮小
* @desc ウィンドウ内にピクチャを表示する際、表示可能なように自動で縮小されます。テキスト位置を指定した場合は無効です。
* @default true
* @type boolean
* @parent Layout
*
* @param PicturePosition
* @text 画像の表示位置
* @desc 画像の表示位置です。(top:ウィンドウの先頭 bottom:ウィンドウの下部 text:テキストの末尾)
* @default top
* @type select
* @option top
* @option bottom
* @option text
* @parent Layout
*
* @param TextPosition
* @text テキストの表示位置
* @desc テキストの表示Y座標です。0の場合は画像の表示位置によって自動設定されます。
* @default 0
* @type number
*
* @param PictureAlign
* @text 画像の揃え
* @desc 画像の揃えです。(left:左揃え center:中央揃え right:右揃え)
* @default center
* @type select
* @option left
* @option center
* @option right
* @parent Layout
*
* @param PicturePriority
* @text 画像の優先度
* @desc 画像の表示プライオリティです。(top:テキストの上 bottom:テキストの下)
* @default top
* @type select
* @option top
* @option bottom
* @parent Layout
*
* @param ThroughBackPicture
* @text 背景ピクチャ透過
* @desc 背景ピクチャの背後に通常の背景(マップ画面)を表示します。
* @default false
* @type boolean
* @parent Layout
*
* @param NewGlossaryColor
* @text 新着用語カラー
* @desc 新着用語を明示するためのカラーです。システムカラーから選択してください。
* @default 2
* @type number
* @parent Layout
*
* @param PageWrap
* @text ページ折り返し
* @desc 複数のページが存在する場合、最後のページまで到達していたら最初のページに戻します。
* @default true
* @type boolean
* @parent Layout
*
* @param AutoAddition
* @text 自動登録
* @desc 文章の表示の命令中に同一単語が出現した場合に自動登録します。(ON/OFF)
* @default false
* @type boolean
*
* @param AutoAdditionEnemy
* @text 敵キャラ自動登録
* @desc 敵キャラを撃破したときに敵キャラと同名の単語を自動登録します。(ON/OFF)
* @default false
* @type boolean
*
* @param SwitchAutoAdd
* @text 自動登録IDスイッチ
* @desc 用語アイテムの自動登録が行われた際に指定した番号のスイッチがONになります。何らかの通知を行いたい場合に指定します。
* @default 0
* @type switch
* @parent AutoAddition
*
* @param VariableAutoAdd
* @text 自動登録ID変数
* @desc 用語アイテムの自動登録が行われた際に指定した番号の変数にアイテムIDが設定されます。
* @default 0
* @type variable
* @parent AutoAddition
*
* @param CategoryOrder
* @text カテゴリ並び順
* @desc カテゴリ並び順を任意に変更したい場合はカテゴリ名を指定してください。
* @default
* @type string[]
*
* @param CategoryUnusable
* @text 使用禁止カテゴリ
* @desc ここで指定したカテゴリは「アイテム使用」が有効でも使用できなくなります。
* @default
* @type string[]
*
* @noteParam SGピクチャ
* @noteRequire 1
* @noteDir img/pictures/
* @noteType file
* @noteData items
*
* @noteParam SGPicture
* @noteRequire 1
* @noteDir img/pictures/
* @noteType file
* @noteData items
*
* @help ゲームに登場する用語を閲覧できる画面を追加します。
* 用語を解説する画像およびテキスト説明がウィンドウに表示されます。
*
* ・使い方
* 1. 用語として扱うアイテムをデータベースから登録してください。
* 詳細な登録方法は、後述の「データ登録方法」をご参照ください。
*
* 2. パラメータの「用語情報」を設定してください。(項目をダブルクリック)
* 当該パラメータを設定せずにプラグインコマンドから用語辞典を起動すると
* エラーになるので注意してください。
*
* ※バージョン2.0.0よりパラメータの構成が変わりました。
* 以前のバージョンを使っていた場合はパラメータを再設定する必要があります。
*
* 用語は対象アイテムを取得することで閲覧可能になるほか、文章の表示の命令中で
* 同一単語が出現した場合に自動的に登録する機能もあります。
* (特定の用語を自動登録の対象外に指定することも可能です)
*
* 用語はすべてを一つのウィンドウで表示する方式と
* カテゴリごとに分類して表示する方式が選択できます。
* パラメータから表示方法を選択してください。
* カテゴリごとに表示する場合はメモ欄に「<SGカテゴリ:XXX>」を指定してください。
* カテゴリをカンマ区切りで指定すると、複数のカテゴリに所属できます。
*
* 例:<SGカテゴリ:XXX,YYY>
*
* メニュー画面およびプラグインコマンドから用語集画面に遷移できます。
*
* ・データ登録方法
* 1.アイテムデータベースに新規データを登録して
* 「アイテムタイプ」を「隠しアイテムA」もしくは「隠しアイテムB」に設定
*
* 2.「名前」に用語の名称を設定
*
* 3.「メモ欄」に以下の通り記述(不要な項目は省略可能)
* <SG説明:説明文> // 用語の説明文(※1)
* <SG共通説明:説明文> // 用語の共通説明文(使い回し用)
* <SGカテゴリ:カテゴリ名> // 用語の属するカテゴリの名称
* <SG手動> // 用語を自動登録の対象から除外する
* <SGピクチャ:ファイル名> // 用語のピクチャのファイル名
* <SG敵キャラ:敵キャラID> // ピクチャの代わりに敵キャラの画像を表示(※2)
* <SGピクチャ位置:text> // ピクチャの表示位置
* <SGテキスト位置:100> // テキストの表示位置
* top:ウィンドウの先頭 bottom:ウィンドウの下部 text:テキストの末尾
* <SGピクチャ優先度:top> // ピクチャの表示プライオリティ
* top:テキストの上 bottom:テキストの下
* <SGピクチャ拡大率:0.5> // ピクチャの拡大率
* <SGピクチャ揃え:right> // ピクチャの揃え
* left:左揃え center:中央揃え right:右揃え
* <SG収集対象外> // 用語を収集率算出の対象外に設定
* <SGテキスト色変化:1,10> // スイッチ[1]がONのとき文字色を[10]に変更
*
* ※1 以下の特殊な制御文字が使用できます。
* \COMMON[1] // ID[1]のアイテムの<SG共通説明:aaa>に置き換えられます。
* \mhp[3] // 対象敵キャラの最大HP(3桁でゼロ埋め)
* \mmp[3] // 対象敵キャラの最大MP(3桁でゼロ埋め)
* \atk[3] // 対象敵キャラの攻撃力(3桁でゼロ埋め)
* \def[3] // 対象敵キャラの防御力(3桁でゼロ埋め)
* \mag[3] // 対象敵キャラの魔法力(3桁でゼロ埋め)
* \mdf[3] // 対象敵キャラの魔法防御(3桁でゼロ埋め)
* \agi[3] // 対象敵キャラの敏捷性(3桁でゼロ埋め)
* \luk[3] // 対象敵キャラの運(3桁でゼロ埋め)
* \exp[3] // 対象敵キャラの獲得経験値(3桁でゼロ埋め)
* \money[3] // 対象敵キャラの獲得ゴールド(3桁でゼロ埋め)
* \drop[1] // 対象敵キャラの[1]番目のドロップアイテム
* \DATA[prop] // 対象データのプロパティ「prop」に置き換えられます。(下記参照)
* \DATA[description] // 対象データの説明
* \DATA[price] // 対象データの価格
*
* ※2 敵キャラIDを省略すると用語アイテムと同名の敵キャラ自動で設定されます。
*
* さらに、一つの用語で複数のページを使用することができます。
* ページは方向キーの左右で切り替えます。
* <SG説明2:説明文> // 2ページ目の用語の説明文
* <SGピクチャ2:ファイル名> // 2ページ目の用語のピクチャのファイル名
* <SGピクチャ位置2:text> // 2ページ目のピクチャの表示位置
* <SG表示スイッチ2:1> // スイッチ[1]がONのときのみ2ページ目以降表示(※)
* ※2ページ目を非表示にすると自動的に3ページ目以降も非表示になります。
*
* 3ページ目以降も同様で、最大99ページまで指定できます。
* 複数ページ表示する場合の1ページ目には「1」をつけないでください。
* NG:<SG説明1:説明文>
*
* 種別の異なる用語辞典に用語を表示する場合は以下のタグが必要です。
* <SG種別:2> // 用語の属する種別番号
*
* 「YEP_MainMenuManager.js」と連携して、コマンドの表示制御を行うには
* 「コマンド名称」の項目を空にした上で「YEP_MainMenuManager.js」の
* パラメータを以下の通り設定してください。
*
* Menu X Name : '用語辞典1'
* Menu X Symbol : glossary1
* Menu X Main Bind : this.commandGlossary.bind(this, 1)
*
* ・追加機能1
* 隠しアイテムでない「アイテム」「武器」「防具」も辞書画面に
* 表示できるようになりました。隠しアイテムと同じ内容をメモ欄に記入します。
* アイテム図鑑、武器図鑑、防具図鑑も作成できます。
* この機能を利用する場合はパラメータ「入手履歴を使用」を有効にします。
*
* ・追加機能2
* 用語リストはデフォルトではアイテムID順に表示されますが、
* 以下のタグで表示順を個別に設定することができます。
* 同一の表示順が重複した場合はIDの小さい方が先に表示されます。
* <SG表示順:5> // ID[5]と同じ並び順で表示されます。
* <SGOrder:5> // 同上
*
* ・追加機能3
* モンスター辞典の作成を支援します。
* 1. パラメータ「敵キャラ自動登録」で戦闘した敵キャラと同名の用語を取得
* 2. メモ欄<SG敵キャラ>で対象敵キャラの画像を表示
* 3. \mhp[3]等の制御文字で対象敵キャラのパラメータを表示
*
* ・追加機能4
* ひとつの用語に対して複数のピクチャを表示することができます。
* メモ欄に以下のタグを記述し、ファイル名、X座標、Y座標をカンマ区切りで
* 指定してください。
* <SG追加1ピクチャ:aaa,1,2> // ピクチャ「aaa」をX[1] Y[2]に表示
*
* さらに追加で表示させたい場合は以下のように記述してください。
* <SG追加2ピクチャ:bbb,2,3>
*
* プラグインコマンド詳細
* イベントコマンド「プラグインコマンド」から実行。
* (パラメータの間は半角スペースで区切る)
*
* GLOSSARY_GAIN_ALL or 用語集全取得
* データベースに登録している全ての用語を取得状態にします。
* 対象は「隠しアイテム」扱いの用語のみですが、パラメータ「入手履歴を使用」が
* 有効な場合は全てのアイテムを解禁します。(アイテム自体は取得しません)
*
* GLOSSARY_LOSE_ALL or 用語集全破棄
* データベースに登録している全ての用語アイテムが失われます。
*
* GLOSSARY_CALL or 用語集画面の呼び出し [種別] [カテゴリ] [リスト番号]
* 用語集画面を呼び出します。
* 種別を省略すると、自動で「1」になります。
* 例:GLOSSARY_CALL 2
* カテゴリを指定すると指定した名称のカテゴリおよびリスト番号が指定された
* 状態で用語辞典が開きます。
* 例:GLOSSARY_CALL 2 人物 1
*
* GLOSSARY_BACK or 用語集画面に戻る
* 最後に選択していた項目を再選択した状態で用語集画面を呼び出します。
* 例:GLOSSARY_BACK
*
* GLOSSARY_ITEM_CHANGE_CATEGORY [アイテムID] [新カテゴリ]
* 用語アイテムのカテゴリ変更 [アイテムID] [新カテゴリ]
* 指定したIDのアイテムのカテゴリを別のものに変更します。
* 例:GLOSSARY_ITEM_CATEGORY_CHANGE 10 AAA
* ※ 変更可能なのはアイテムのみです。武器と防具は変更できません。
*
* GLOSSARY_ITEM_CHANGE_USABLE [アイテムID] [ON or OFF]
* 用語アイテムの使用禁止 [アイテムID] [ON or OFF]
* 指定したIDのアイテムの使用禁止を変更します。(ON:可能 OFF:禁止)
* 例:GLOSSARY_ITEM_CHANGE_USABLE 10 ON
* ※ 変更可能なのはアイテムのみです。武器と防具は変更できません。
*
* ・スクリプト詳細
* itemIdが用語アイテムとして使用可能なときにtrueを返します。
* $gameParty.isUsableGlossaryItem(itemId);
*
* 指定したカテゴリ名および用語種別名に対応する収集率を返します。
* 用語種別を省略した場合は[1]が設定されます。
* $gameParty.getCompleteRate(categoryName, typeName);
*
* 利用規約:
* 作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
* についても制限はありません。
* このプラグインはもうあなたのものです。
*/
/*~struct~GlossaryData:ja
*
* @param GlossaryType
* @text 用語種別
* @desc 用語種別です。<SG種別:n>で指定した用語が表示されます。
* @default 1
* @type number
* @min 1
*
* @param CommandName
* @text コマンド名称
* @desc メニュー画面に表示されるコマンド名です。空にするとメニュー画面に表示されなくなります。
* @default 用語辞典
*
* @param UseCategory
* @text カテゴリ分類
* @desc 用語をカテゴリごとに分けて表示します。
* @default false
* @type boolean
*
* @param CommandSwitchId
* @text 出現条件スイッチ
* @desc 辞書コマンドの出現条件スイッチ番号です。0にすると無条件で表示されます。
* @default 0
* @type switch
*
* @param BackPicture
* @text 背景ピクチャ
* @desc 背景として表示するピクチャ(/img/pictures/)を指定できます。
* サイズは画面サイズに合わせて拡縮されます。拡張子、パス不要。
* @default
* @require 1
* @dir img/pictures/
* @type file
*
* @param SelectAction
* @text 選択時の動作
* @desc 用語を選択したときの動作です。
* @default 0
* @type select
* @option 使用不可
* @value 0
* @option アイテム使用
* @value 1
* @option スイッチ設定
* @value 2
*
* @param SelectSwitchId
* @text 選択スイッチ番号
* @desc 用語アイテムの選択時の動作がスイッチ設定の場合にONになるスイッチ番号です。キャンセルでOFFが設定されます。
* @default 0
* @type switch
* @parent SelectAction
*
* @param SelectVariableId
* @text 選択用語変数番号
* @desc 用語アイテムの選択時の動作がアイテム使用の場合にアイテムIDが設定される変数番号です。キャンセルで-1が設定されます。
* @default 0
* @type variable
* @parent SelectAction
*
* @param ConfirmMessage
* @text 確認メッセージ使用要否
* @desc 用語アイテムを使用する際に確認メッセージが表示されるようになります。
* @default false
* @type boolean
*
* @param ConfirmUse
* @text 確認_使う
* @desc 確認メッセージで使う場合のメッセージです。
* @default 使う
* @parent ConfirmMessage
*
* @param ConfirmNoUse
* @text 確認_使わない
* @desc 確認メッセージで使わない場合のメッセージです。
* @default やめる
* @parent ConfirmMessage
*
* @param GlossaryHelp
* @text 用語ヘルプ
* @desc 用語リスト選択時のヘルプ画面に表示するテキストです。未指定の場合、ヘルプウィンドウは非表示になります。
* @default ゲーム中に登場する用語を解説しています。
*
* @param CategoryHelp
* @text カテゴリヘルプ
* @desc 用語カテゴリ選択時のヘルプ画面に表示するテキストです。
* @default カテゴリを選択してください。
* @parent GlossaryHelp
*
* @param ConfirmHelp
* @text 確認ヘルプ
* @desc 用語アイテムの選択確認時に表示するテキストです。指定しなかった場合、何も表示されません。
* @default
* @parent GlossaryHelp
*
* @param UsingHelp
* @text 使用後ヘルプ
* @desc 用語アイテムの使用後に表示するテキストです。指定しなかった場合、何も表示されません。
* @default
* @parent GlossaryHelp
*
* @param CompleteView
* @text 収集率表示
* @desc カテゴリごとの収集率を表示します。コンプリートの目安です。
* @default false
* @type boolean
*
* @param CompleteMessage
* @text 収集率メッセージ
* @desc 収集率を表示する文言です。「%1」が収集率に変換されます。
* @default 収集率 \c[2]%1\c[0] %
* @parent CompleteView
*
* @param ShowingItemNumber
* @text 所持数表示
* @desc 用語集アイテムの所持数を表示します。
* @default false
* @type boolean
*
* @param UsableDefault
* @text デフォルト使用可否
* @desc 用語集アイテムの初期状態での使用可否です。プラグインコマンドから個別に使用可否を変更できます。
* @default true
* @type boolean
*
* @param UseItemHistory
* @text 入手履歴を使用
* @desc ONにすると一度入手した用語アイテムを失っても辞書には表示されたままになります。
* @default false
* @type boolean
*
* @param GlossaryListWidth
* @text 用語集リスト横幅
* @desc 用語集リストのウィンドウ横幅です。
* @default 240
* @type number
*
* @param VisibleItemNotYet
* @text 未入手アイテムの表示
* @desc 未入手アイテムを指定した名前(???等)で表示します。指定しない場合この機能は無効になります。
* @default
*/