
鳶嶋式条件判定関連のスクリプト - TF_Condition.js
シェア用テキスト:
▼鳶嶋式条件判定関連のスクリプト(とんび@鳶嶋工房様作) - TF_Condition.js
https://plugin.fungamemake.com/archives/31942
変数・スイッチ・セルフスイッチをIDだけでなく[名前]で設定できる。そのため、制作途中でIDを変えても[名前]が同じなら大丈夫。プレイヤー位置・前方のイベントなどの判定ができる。
ふりがな:とひしましきじょうけんはんていかんれんのすくりぷと
機能概要: 変数・スイッチ・セルフスイッチをIDだけでなく[名前]で設定できる。そのため、制作途中でIDを変えても[名前]が同じなら大丈夫。プレイヤー位置・前方のイベントなどの判定ができる。
利用規約(ライセンス): MITライセンス
作者:とんび@鳶嶋工房
作者サイト:http://tonbi.jp
ダウンロードページ:https://raw.githubusercontent.com/tonbijp/RPGMakerMV/ma…
ファイル名:TF_Condition.js
プラグインのヘルプ:
/*:ja * @plugindesc 条件判定関連のスクリプト * @author とんび@鳶嶋工房 * * @param temporaryVariable * @desc 各種値を返す変数(it)のID(規定値:1) * @type number * @min 1 * @default 1 * * @param temporarySwitch * @desc 各種値を返すスイッチ(it)のID(規定値:1) * @type number * @min 1 * @default 1 * * @help * 変数・スイッチ・セルフスイッチをIDだけでなく[名前]で設定できる。 * そのため、制作途中でIDを変えても[名前]が同じなら大丈夫。 * プレイヤー位置・前方のイベントなどの判定ができる。 * *------------------------------ * TF_VAR [変数ID] [変数への設定値] * 変数の値を設定。 * [変数ID] 変数を ID、名前、変数V[n] のいずれかで指定 * [変数への設定値] 設定値 * * 例: TF_VAR シーン 10 *------------------------------ * [スクリプト] $gameVariables.setValueByName( [変数ID], [変数への設定値] ) * *------------------------------ * TF_VAR [変数ID] * 変数の値を、指定ID(規定値:1)の変数に設定。 * * 例: TF_VAR 石を叩いた回数 *------------------------------ * [スクリプト] $gameVariables.valueByName( [変数ID] ) * *------------------------------ * TF_SW [スイッチID] [スイッチ状態] * スイッチを設定 * [スイッチID] スイッチを ID、名前、変数V[n] のいずれかで指定 * [スイッチ状態] true/false または ON/OFF で設定 * * 例: TF_SW 賢者に会った ON *------------------------------ * [スクリプト] $gameSwitches.setValueByName( [スイッチID], [スイッチ状態(真偽値)] ) * *------------------------------ * TF_SW [スイッチID] * スイッチの値を、指定ID(規定値:1)のスイッチに設定。 * * 例: TF_SW クイーンビーを倒した *------------------------------ * [スクリプト] $gameSwitches.valueByName( [スイッチID] ) * *------------------------------ * TF_SW_AND [スイッチID]... * 複数のスイッチの値の論理積(AND)の結果を、指定ID(規定値:1)のスイッチに設定。 * * 例: TF_SW_AND 森の妖精 岩場の妖精 湖の妖精 丘の妖精 *------------------------------ * [スクリプト] $gameSwitches.multipleAnd( [スイッチID]... ) * *------------------------------ * TF_SELF_SW [マップID] [イベントID] [スイッチタイプ] [スイッチ状態] * 指定イベントのセルフスイッチを設定。 * [マップID] マップID(数値) * here(またはthis):現在のマップ * マップ名で指定(以下は指定不可) * ・数値や here などと同じ名前 * ・スペースの入った名前 * ・数字から始まる名前(数字として判断される) * [イベントID] 0:このイベント、-1:プレイヤー、1〜:イベントID(規定値:0) * self(またはthis):このイベント、player:プレイヤー * イベントの[名前]で指定(以下の場合は指定不可) * ・[マップID]の指定が現在のマップでない場合 * ・数値や self などと同じ名前 * ・スペースの入った名前 * ・数字から始まる名前(数字として判断される) * [スイッチタイプ] A, B, C, D のいずれか * * 例: TF_SELF_SW 1F:西スイッチ A true *------------------------------ * TF_SELF_SW [マップID] [イベントID] [スイッチタイプ] * イベントのセルフスイッチの値を、指定ID(規定値:1)のスイッチに設定。 * * 例: TF_SELF_SW 石像 A *------------------------------ * TF_FRONT_EVENT [マップID] [イベントID] [論理演算子] * プレイヤー前方に指定のイベントがあるかをチェックして、 * 結果を指定ID(規定値:1)のスイッチに設定。 * [論理演算子] 指定ID(規定値:1)のスイッチ と比較する * 論理演算子( logical operator )による接続( & | | | and | or ) *------------------------------ * [スクリプト] this.TF_frontEvent( [マップID], [イベントID], [論理演算子] ) * 結果は返り値として返る。 * *------------------------------ * TF_HERE_EVENT [マップID] [イベントID] [向き] [論理演算子] * プレイヤー位置の指定のイベントとプレイヤーの向きをチェックして、 * 結果を指定ID(規定値:1)のスイッチに設定。 * [向き] プレイヤーの向き(テンキー対応 | 方向文字列) * 上: 8, up, u, north, n, ↑ * 左: 4, left, l, west, w, ← * 右: 6, right, r, east, e, → * 下: 2, down, d, south, s, ↓ * ※[向き]は大文字小文字の区別をしません。 *------------------------------ * [スクリプト] this.TF_hereEvent( [マップID], [イベントID],[向き], [論理演算子] ) * 結果は返り値として返る。 * *------------------------------ * TF_CHECK_LOCATION [マップID] [x] [y] [向き] [論理演算子] * プレイヤーの座標位置と向きをチェックして合致して結果を、 * 指定ID(規定値:1)のスイッチに設定。 * (半歩移動を使っている場合は0.5単位で考慮) * [x] 対象x座標(タイル数) * [y] 対象y座標(タイル数) *------------------------------ * [スクリプト] this.TF_checkLocation( [マップID], [x], [y], [向き], [論理演算子] ) * *------------------------------ * TF_COMPARE * 引数の数によって比較を行い結果を、指定ID(規定値:1)のスイッチに設定。 * ---- ↓引数1 ---- * TF_COMPARE [JavaScript] * JavaScriptを実行した結果を判定に使う。 * this は Interpreter ではなく Game_Event(実行したイベント自身) になる。 * [JavaScript] 真偽値を返すJavaScript を空白を入れずに書く * * 例: TF_COMPARE $gameTimer.isWorking()&&$gameTimer.seconds ()<=100 * ---- ↓引数2 ---- * TF_COMPARE [真偽値] [真偽値] * スイッチと真偽値、スイッチとスイッチが両辺で同じか判定。 * [真偽値] true、false、ON、OFF * S[番号]、S[識別子]、it、A、B、C、D、 のいずれか * * 例: TF_COMPARE A OFF * ---- ↓引数3 ---- * TF_COMPARE [数値] [条件式] [数値] * 変数と数値、変数と変数を比較する。 * [数値] V[番号]、 V[変数名]、it、数値 のいずれか * [条件式] =、 = 以外なら全て =<(小なりイコール)とする * * 例: TF_COMPARE V[0] ≦ V[3] * ---- ↓引数4 ---- * TF_COMPARE [マップID] [イベントID] [セルフスイッチ] [実行条件(真偽値)] * 指定のイベントのセルフスイッチの状態を判定。 * [イベントID]は現在のマップでないと識別子では指定できないので注意!! * * 例: TF_COMPARE here 門番 C ON * ---- ↓引数5 ---- * TF_COMPARE [数値] [~] [数値] [~] [数値] * [~] 実際は全て =<(小なりイコール)として判定 * * 例: TF_COMPARE 10 ~ it ~ 15 * * *------------------------------ * TF_STAY_IF * ページの[出現条件]をさらに追加する。 * 引数の数によって異なる比較を行い、 * 条件に合わなかった場合次のページの出現条件判定へ。 * 引数の数と内容の対応はTF_COMPAREと同じ。 * ---- ↓引数1 ---- * TF_STAY_IF [JavaScript] * * 例: TF_STAY_IF 1000<=$gameParty.gold() * ---- ↓引数2 ---- * TF_STAY_IF [真偽値] [真偽値] * * 例: TF_STAY_IF S[0] OFF * ---- ↓引数3 ---- * TF_STAY_IF [数値] [条件式] [数値] * * 例: TF_STAY_IF 0 ~ v[変数名] * ---- ↓引数4 ---- * TF_STAY_IF [マップID] [イベントID] [セルフスイッチ] [真偽値] * [イベントID] は識別子では指定できないので、注意!! * * 例: TF_STAY_IF here 門番 C ON * ---- ↓引数5 ---- * TF_STAY_IF [数値] [~] [数値] [~] [数値] * * 例: TF_STAY_IF 10 ~ V[1] ~ 15 */
