yktsr / Text2Frame-MV

テキストファイル(.txtファイルなど)から「文章の表示」イベントコマンドに簡単に変換するための、RPGツクールMV・MZ用の開発支援プラグインです。/ Plugin for RPG Maker MV/MZ to convert text to event command
MIT License
9 stars 1 forks source link

条件分岐の実装 #50

Closed HidetoshiKawaguchi closed 4 years ago

HidetoshiKawaguchi commented 4 years ago

条件分岐

「条件分岐」は、以下の記法で組み込みます。

<If: 条件の対象, 引数1, 引数2, 引数3>
条件を満たしている時の処理
<Else>
条件を満たしていない時の処理
<End>

詳細を述べる前に、いくつか具体例を記します。 いずれの例も、条件が満たされているときは「私もずっと前から好きでした。」というメッセージを、条件を満たさないときは「ごめんなさい。お友達でいましょう。」とメッセージを表示します。

条件の対象毎に引数の記法が異なり、引数2,引数3を使わないものもあります。

以降、条件の対象毎に記法を説明します。

スイッチを条件に使うとき

スイッチを条件に使うときは、以下のように条件を書きます。

<If: Switches[スイッチID], 値("ON" or "OFF")>

SwitchesSWスイッチで代替できます。 また、代入値は基本的にONOFFで指定しますが、以下のような代替記号でも指定できます。

例えば、以下の通りです。

変数を条件に使うとき

変数を条件に使うときは、以下のように条件を書きます。

<If: Variables[変数ID], 条件式(記号), オペランド(定数 or 変数)>

VariablesV変数でも代替できます。

条件式に使える記号は以下の通りです。

オペランドの指定方法は以下の通りです。

例えば、以下の通りです。

セルフスイッチを条件に使うとき

セルフスイッチを条件に使うときは、以下のように条件を書きます。

<If: SelfSwitches[セルフスイッチ記号("A", "B", "C", or "D")], 代入値("ON" or "OFF")>

SelfSwitchSSWセルフスイッチでも代替できます。 また、代入値は基本的にONOFFで指定しますが、以下のような代替記号でも指定できます。

例えば、以下の通りです。

タイマーを条件に使うとき

タイマーを条件に使うときは、以下のように条件を書きます。

<If: Timer, 条件式(">=" or "<="), 分, 秒>

Timerタイマーでも代替できます。 また、条件式>=で、<=で代替できます。

例えば、以下の通りです。

アクターに関する情報を条件に使うとき

アクターに関する情報を条件に使うときは、以下のように書きます。

<If: Actors[アクターID], 条件1, 条件2>

Actorsアクターでも代替できます。

条件1で対象を指定します。

条件2は条件1で指定した対象によって使い方が異なります。 以下に、条件1での対象毎に説明します。

アクターがパーティにいるかどうか

アクターがパーティにいるかどうかを判定するときは以下のように指定します。

<If: Actors[アクターID], in the party>

in the partyパーティにいるという文字列でも代替できます。 また、条件2は使用しません。

例えば、ID1のアクターがパーティにいるかどうかを条件に使うときは以下のように書きます。

アクターの名前

アクターの名前を条件式に使うときは以下のように指定します。

<If: Actors[アクターID], Name, 名前(自由記述)>

Name名前でも代替できます。

例えば、ID1のアクターの名前がハロルドかどうかは以下のように書きます。

職業、スキル、武器、防具、ステート

職業、スキル、武器、防具、ステートは以下のように指定します。

<If: Actors[アクターID], テーブル名, テーブルID(1,2,...などの整数)>

テーブル名では、アクターに紐付いた情報のテーブル名を指定します。 指定方法は以下のとおりです。

例えば、以下の通りです。

敵キャラに関する情報を条件に使うとき

敵キャラに関する情報を条件に使うときは、以下のように書きます。

<If: Enemies[戦闘中の敵キャラの番号], 条件1, 条件2>

Enemiesエネミーでも代替できます。

条件1は以下いずれかで設定します。

また、ステートを指定した場合は、条件2でステートのIDを指定します。

例えば以下の通りです。

キャラクターの向きを条件に使うとき

キャラクターの向きを条件に使うときは、以下のように書きます。

<If: Characters[イベントの指定], 向き(下, 左, 右, 上)>

Charactersキャラクターでも代替できます。

引数のイベントの指定は以下のリストからご指定ください。

向きは以下のリストからご指定ください。

例えば、以下の通りです。

乗り物を条件に使うとき

乗り物に乗っていることを条件に使うときは、以下のように書きます。

<If: Vehicle, 乗り物の種類(小型船、大型船、飛行船)>

Vehicle乗り物でも代替できます。 乗り物の種類は以下のリストからご指定ください。

例えば以下の通りです。

お金を条件に使うとき

お金を条件に使うときは、いかのようにかきます

<If: Gold, 条件式(≧, ≦, <), 数値(定数)

Goldお金でも代替出来ます。

条件式に使える記号は以下の通りです。

例えば以下の通りです。

アイテムを条件に使うとき

アイテムを条件に使うときは以下のように書きます。

<If: Items[ID]>

Itemsアイテムでも代替できます。

例えば、以下の通りです。

武器を条件に使うとき

武器を条件に使うときは以下のように書きます。

<If: Weapons[ID], 装備品を含むか>

Weapons武器でも代替できます。 装備品を含む場合は、2つ目の引数の部分にInclude Equipmentもしくは装備品を含むと記載してください。 含まない場合は、省略してください。

例えば、以下の通りです。

防具を条件に使うとき

防具を条件に使うときは以下のように書きます。

<If: Armors[ID], 装備品を含むか>

Armors防具でも代替できます。 装備品を含む場合は、2つ目の引数の部分にInclude Equipmentもしくは装備品を含むと記載してください。 含まない場合は、省略してください。

例えば、以下の通りです。

ボタンを条件に使うとき

ボタンを条件に使うときは以下のように書きます。

<If: Button, ボタンの種類>

Buttonボタンでも代替できます。 以下のリストからボタンの種類を指定してください。

例えば以下の通りです。

スクリプトを条件に使う時

<If: Script, スクリプト本文(Javascript)>

ScriptスクリプトSCでも代替できます。

例えば、$gameParty._gold < $gameVariables.value(1)を条件にするときは以下のように書けます。

その他の条件分岐の特徴