RPGツクールMV用プラグイン投稿・告知サイト

#ツクプラ

鳶嶋式条件判定関連のスクリプト - 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
 */

スポンサードリンク

スポンサードリンク

Copyright© #ツクプラ , 2025 All Rights Reserved.