見出し画像

SRPG Studio プラグイン 制御文字を増やす方法と作り方-NPCで指定した名称を制御文字で呼び出す-

こんにちは熱帯魚ことRYBAです。

制御文字を増やしたい気分!

な方向け

作り方に興味ねーよという方はPluginのところまで飛んでください。

では制御文字を増やす手段を解説します。
今回の例ではNPCで指定した名称を制御文字で呼び出します。

制御文字を実際の文字列に変換するクラス

VariableReplacer
こいつが制御文字の処理してます

そして_configureVariableObjectの関数に
制御文字の処理を登録する必要があります。

※処理は後程作成します。

(function() {
   var alias = VariableReplacer._configureVariableObject;
	VariableReplacer._configureVariableObject = function(groupArray) {
       alias.call(this,groupArray);
       groupArray.appendObject(RYBA.DataVariable.Np1);
       groupArray.appendObject(RYBA.DataVariable.Np2);
	groupArray.appendObject(RYBA.DataVariable.Np3);
	}
})();

​実際に処理を作る

作るといってもテンプレートが用意されているので簡単です。

今回の場合DataListから特定の名前を参照する手段となります。
(実はDataListを参照せずに名称そのものを指定したり、
 内部で処理させた結果の文字列なども表示できますが別の話)

BaseDataVariableを継承させて作成します

RYBA.DataVariable.Np1 = defineObject(BaseDataVariable,
{
   getList: function() {
       return root.getBaseData().getNpcList(0);
   },
   
   getKey: function() {
       var key = /\\np1\[(\d+)\]/;
       
       return key;
   }
});
getList
この戻り値がDataList型になるようにします
getKey
この戻り値が実際にメッセージ欄に入力する制御文字となります
上記の場合「\np1[0]」と入力すると
「NPCの設定」の0番目の名前を参照します。

「NPCの設定」タブは10個あるため必要ならば増やしてください。

今回配布のPluginでは3つ目のタブの分まで作成しています。

用途

タブの1つを固有名詞タブ扱いとして
名前を設定しましょう。

人によってはあまりメリットではないかもしれませんが、
固有名詞を制御文字で呼び出すとメンテナンスが間違いなく楽です。

また固有名詞の記述ブレ・タイプミスがなくなります。

応用

記述を変更することでDataList型の名前以外を出力できます

getReplaceValue
直接変更させたいテキストを戻り値とする

例コード

RYBA.Va2Evaluation = defineObject(BaseDataVariable,
	{
		getReplaceValue: function(text) {
			return 'RYBA';
		},
		
		getKey: function() {
			var key = /\\ry/;
			
			return key;
		}
	}
	);

上記だと「\ry」でRYBAに変換されます。

Plugin

まとめ

もしかしたら公式が対応してしまうかもしれませんが
一応作り方まで記載しておきました。

今後は作成方法も合わせて
Pluginをひっそりと公開していきます。

良かったらフォローお願い致します!
Twitterのほうもよろしくお願い致します!

参考までにこちらもどうぞ↓


この記事が気に入ったらサポートをしてみませんか?