ページ 11

【解決済み】テンプレートイベントのセルフ変数について

Posted: 2018年5月26日(土) 04:26
by にいやん
トリアコンタンさんのテンプレートイベントにあるセルフ変数にインデックスを付けて管理できると思うのですが、固有の名前を付けて管理することは可能でしょうか?

コード: 全て選択

this.controlSelfVariable(1, 0, 30, false); → this.controlSelfVariable(kinoko, 0, 30, false);

こんな感じでkinokoというセルフ変数に30を代入したい。

Re: テンプレートイベントのセルフ変数について

Posted: 2018年5月27日(日) 15:13
by トリアコンタン
こんにちは!
プラグインのご利用ありがとうございます。

ご要望の機能のためにはプラグインの微修正が必要だったので対応しました。

セルフ変数のキーに数値ではなく文字列を使用できるよう修正(ver1.8.0)
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/TemplateEvent.js

なお、スクリプトから実行する場合は文字列[kinoko]の両端にシングルクォート「'」を記述してください。

コード: 全て選択

this.controlSelfVariable('kinoko', 0, 30, false);


プラグインコマンドの場合は不要です。

コード: 全て選択

TE_SET_SELF_VARIABLE kinoko 0 30

Re: テンプレートイベントのセルフ変数について

Posted: 2018年5月27日(日) 15:40
by にいやん
トリアコンタンさん、プラグインの機能追加ありがとうございました。
編集しやすくなりとても助かりました。

Re: テンプレートイベントのセルフ変数について

Posted: 2018年5月29日(火) 22:54
by にいやん
トリアコンタンさん、先日はどうもありがとうございました。
もう一点お聞きしたいことがあります。
私のゲームでは常に変数の値が変動していて、マップ上の複数のイベントやコモンイベントにこの処理をして作動させています。その際にデータ上で使うだけの変数の値(イベントの出現可否に影響しなくてマップのリフレッシュを必要としない)にはsetValueを使わずに$gameVariables._data[n]を使っています。通常の変数の場合はこれで解決できるのですが、セルフ変数を使う場合はリフレッシュが発生してしまうので、なにかしら記述の仕方があれば教えていただきたいです。それとformulaFlgとは何なのでしょうか?

Re: テンプレートイベントのセルフ変数について

Posted: 2018年5月30日(水) 00:04
by トリアコンタン
やや冗長な記述ですが、どうしてもイベントページの再設定を避けたい場合、以下の通り記述します。

コード: 全て選択

var eventId = 43;
var index = 'aaa';
var key = $gameSelfSwitches.makeSelfVariableKey(eventId, index);
$gameSelfSwitches._variableData[key] = 100;


また、formulaFlgは指定する値をJS計算式の文字列として評価します。原則、falseで問題ありません。

Re: テンプレートイベントのセルフ変数について

Posted: 2018年5月30日(水) 00:27
by にいやん
トリアコンタンさん、スクリプトうまく動作しました!ありがとうございました!