/*:ja * @plugindesc v1.02 JavaScriptを組み合わせて拡張できる高度なスイッチと変数を作成します。 * @author Yanfly Engine Plugins * * @help * 翻訳:ムノクラ * https://fungamemake.com/ * https://twitter.com/munokura/ * * =========================================================================== * 導入 * =========================================================================== * * JavaScriptの経験がある上級ユーザーのために、 * 出先でコードの一部を介してゲームに関するデータを返すように * 特定のスイッチと変数を設定できます。 * イベントページの条件、敵のAI条件、 * バトルイベントのページの条件などに使用できます。 * * =========================================================================== * 説明 * =========================================================================== * * このプラグインを使用するには、 * コード効果を利用するスイッチ・変数に次の形式で名前を付けます。 * * Eval: code * * スイッチ・変数は'Eval:'マーカーの後のコードを実行します。 * このコードはスイッチに使用され、'true'・'false'のブール値を返します。 * コードが変数に使用される場合、比較のために数値を返します。 * * 'Eval:$gameActors.actor(1).isLearnedSkill(5)'という名前のスイッチの場合、 * アクター1のスキル5が習得されているかどうかにかかわらず、 * 'true'が返されます。 * これは、'TrueSight'でスキルを作成したり、 * アクターがそのスキルを持っている場合、 * 特定のものをマップ上に表示させるようなものに使用できます。 * * イベントの[変数の操作…]'Script'オプションを使用すると、 * 変数に独自のJavaScriptコードを挿入できますが、 * 変数'Eval:$gameParty.gold()'を指定するだけで手順を省くことができます。 * これは自動的にパーティーが持っている金の量を計算し、 * それを変数で参照するようにします。 * * !! 警告 !! * * イベントのページ条件として使用している場合、 * マップ上のイベントから行われた変更は、 * マップを更新する必要があります。 * マップを更新するまでは行われた変更を反映しないことに注意してください。 * マップを更新するには下記のプラグインコマンドを使用して実行できます。 * * =========================================================================== * プラグインコマンド * =========================================================================== * * これらのプラグインコマンドを使用すると、 * マップ・バトルイベントを即座に更新して、 * スイッチ・変数データが通知時に認識され、 * トリガー・更新されるようにすることができます。 * * プラグインコマンド * * RefreshMap * - マップの全てのイベントを更新します。 * このプラグインコマンドを使用する前に値が変更された可能性がある * アドバンストスイッチ・変数を含む全てのページ条件が更新されます。 * これはバトルイベントでは使えません。 * * RefreshTroop * - これは戦闘中の現在のイベントインタプリタを更新します。 * このプラグインコマンドを使用する前に値が変更された可能性がある * アドバンストスイッチ・変数を使用する * 現在のバトルイベント内の全てのページ条件が更新されます。 * *注: BattleEngineCore.js を使用している場合、 * ほとんどの場合これを使用する必要はありません。 * * =========================================================================== * 例 * =========================================================================== * * 以下は、高度なスイッチと変数を使用できるいくつかの例です。 * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * スイッチ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * * Eval: $gameActors.actor(1).isLearnedSkill(5) * - (データベース内の)Actor1が(データベース内の)スキル5を * 習得したかどうかがチェックされます。 * 特定のイベントがマップ上では異なって表示されたり、 * 特定のイベントが戦闘中に発生したりする * (敵の変装を通して見ることなど)ための * '見通す目'のようなスキルに使用できます。 * * Eval: $gameActors.actor(2).isStateAffected(10) * - アクター2が(データベース内の)ステート10の影響を受けているかを確認します。 * アクターがそれに影響されている場合、スイッチは'true'を返します。 * そうでなければ、'false'を返します。 * * Eval: $gameActors.actor(3).isEquipped($dataWeapons[100]) * - アクター(データベース内)が武器100(データベース内)を * 装備しているかを確認します。 * そうであれば、スイッチは'true'を返します。 * そうでなければ、'false'を返します。 * * Eval: $gameActors.actor(4).isEquipped($dataArmors[200]) * - (データベースの)アクター4が(データベースの)防具200を * 装備しているかを確認します。 * そうであれば、スイッチは'true'を返します。 * そうでなければ、'false'を返します。 * * Eval: $gameActors.actor(5).isDead() * - アクター5が現在死亡しているかどうかが確認されます。 * 死んでいることはアクターが死のステートでいることを必要とするでしょう。 * アクターが死んでいれば、スイッチは'true'を返します。 * そうでなければ、'false'を返します。 * * Eval: $gameActors.actor(6).isAlive() * - アクター6が現在生きているかどうかが確認されます。 * 生きていることはアクターが死のステートでいないことを必要とします。 * アクターが生きている場合、スイッチは'true'を返します。 * そうでなければ、'false'を返します。 * * Eval: $gameVariables.value(2) < 3 * - デフォルトのマップイベントページの条件が、 * 変数がある値以上である場合、のみチェックできます * しかし、変数が特定の値より小さいかを確認することができます。 * 上記の例では、変数2の値が3より小さい(ただし、等しくない)かを確認します。 * * Eval: $gameSelfSwitches.value([10,20,'A']) * - イベントは他のイベントのセルフスイッチを使用して状態を確認できます。 * 上記の例では、マップ10、イベント20の * 'A'セルフスイッチがオンになっているかどうかを確認しています。 * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 変数 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * * Eval: $gameParty.leader().actorId() * - パーティーリーダーのアクターIDを返します。 * あなたのパーティーリーダーが誰であるかによって異なる反応を示すような * 特定のイベントに役立ちます。 * * Eval: $gameParty.gold() * - パーティーの正確な所持金を返します。 * イベントのページで、所持金の袋をプレーヤーの本部に表示し、 * プレーヤーがどれだけ金持ちであるかを示すためにも使用できます。 * * Eval: $gameParty.steps() * - プレイヤーが歩いたステップ数を返します。 * プレイヤーが歩んだ歩数に応じて、 * トロフィーがプレイヤーの本部に出現する可能性がある方法で使用できます。 * * Eval: $gameParty.aliveMembers().length * - パーティーにいる生きているメンバーの数を返します。 * 現在戦闘中の仲間の数に応じて異なることをしようとする時、 * 戦闘で使用するのがベストです。 * * Eval: $gameParty.deadMembers().length * - 現在のパーティーの死者の数を返します。 * 戦闘で死んでいる仲間の数に応じて異なることをしようとする時、 * 戦闘で使用するのがベストです。 * * Eval: $gameParty.highestLevel() * - パーティーの現在の最高レベルのメンバーを返します。 * 戦闘では、活動中のアクティブなパーティーを指します。 * 戦闘以外では、アクティブパーティー・リザーブパーティーの * メンバーから返します。 * * Eval: $gameParty.numItems($dataItems[1]) * Eval: $gameParty.numItems($dataWeapons[2]) * Eval: $gameParty.numItems($dataArmors[3]) * - パーティがそのアイテムを持っているかどうかではなく、 * 実際のアイテム数を条件として返します。 * 武器や防具については、装備されているものは含まれません。 * * =========================================================================== * Changelog * =========================================================================== * * Version 1.02: * - Bypass the isDevToolsOpen() error when bad code is inserted into a script * call or custom Lunatic Mode code segment due to updating to MV 1.6.1. * * Version 1.01: * - Bug fixed to prevent compatibility problems with the Debugger. * * Version 1.00: * - Finished Plugin! * * =========================================================================== * End of Helpfile * =========================================================================== * */