パーティー内のパラメータに関するスクリプトを実装するプラグイン – FTKR_SearchPartyParam.js

タイトル
パーティー内のパラメータに関するスクリプトを実装するプラグイン
作者名
ヘルプ
-----------------------------------------------------------------------------
概要
-----------------------------------------------------------------------------
本プラグインを実装することで、パーティー内のパラメータや状態に関する
スクリプトを実装します。


-----------------------------------------------------------------------------
設定方法
-----------------------------------------------------------------------------
1.「プラグインマネージャー(プラグイン管理)」に、本プラグインを追加して
ください。


-----------------------------------------------------------------------------
スクリプトを使用できる対象
-----------------------------------------------------------------------------
スクリプトの大文字で記述している文字列は、調べたい対象によって以下の記述に
変更してください。

<GROUP>
以下の記述に置き換えます。
1. パーティー
$gameParty

2. 敵グループ(1)
$gameTroop

3. パーティーと敵グループ(2)
$gameMember

(1) 戦闘中のみ使えます
(2) 戦闘中以外はパーティーのみになります
なお、パーティーと敵グループでメンバーのIDが被るため
使用時には、アクターかどうか判定する処理も合わせて実行してください。


<MEMBER>
以下の記述に置き換えます。
1. GROUP内のすべてのメンバー(3)
members()

2. GROUP内の生存メンバー
aliveMembers()

3. GROUP内の戦闘不能メンバー
deadMembers()

(3) 戦闘中はバトルに参加しているメンバーのみ


[入力例]
パーティー内の生存しているメンバー
$gameParty.aliveMembers()

敵グループ内の戦闘不能メンバー
$gameTroop.deadMembers()

敵味方含む戦闘中のすべてのメンバー
$gameMember.members()


-----------------------------------------------------------------------------
スクリプトコマンド
-----------------------------------------------------------------------------
<パラメータの値を取得するスクリプト>

1. 指定したパラメータの合計値を取得する
GROUP.MEMBER.sumParam('param')
:param には パラメータ名(英字) を入力してください。
:例)
: $gameParty.members().sumParam('trg')
: パーティー内の狙われ率の合計値を取得する。

2. 指定したパラメータの平均値を取得する
GROUP.MEMBER.averageParam('param')
:param には パラメータ名(英字) を入力してください。
:例)
: $gameParty.members().averageParam('hp')
: パーティー内の現在HPの平均値を取得する。

3. 指定したパラメータの最大値を取得する
GROUP.MEMBER.maxParam('param')
:param には パラメータ名(英字) を入力してください。
:例)
: $gameParty.members().maxParam('atk')
: パーティー内の攻撃力の最大値を取得する。

4. 指定したパラメータの最小値を取得する
GROUP.MEMBER.minParam('param')
:param には パラメータ名(英字) を入力してください。
:例)
: $gameParty.members().minParam('hit')
: パーティー内の命中率の最小値を取得する。


<メンバーのIDを取得するスクリプト>

1. 指定したパラメータの最大値を持つメンバーIDを取得する
GROUP.MEMBER.isHighestParam('param')
:param には パラメータ名(英字) を入力してください。
:該当者が複数いる場合は、並び順で前にいるメンバーのIDを取得します。
:例)
: $gameParty.members().isHighestParam('atk')
: パーティー内で最大の攻撃力を持つアクターのIDを取得する。

2. 指定したパラメータの最小値を持つメンバーIDを取得する
GROUP.MEMBER.isLowestParam('param')
:param には パラメータ名(英字) を入力してください。
:該当者が複数いる場合は、並び順で前にいるメンバーのIDを取得します。
:例)
: $gameParty.members().isLowestParam('atk')
: パーティー内で最小の攻撃力を持つアクターのIDを取得する。

3. 指定した装備をしているメンバーのIDを取得する
GROUP.MEMBER.isEquipped(equip)
GROUP.MEMBER.isEquippedWeapon(weaponId)
GROUP.MEMBER.isEquippedArmor(armorId)
:'equip' には 武器なら '$dataWeapons[weaponId]'
:防具なら '$dataArmors[armorId]' を入力してください。
:該当者がいない場合は、false を返します。
:該当者が複数いる場合は、並び順で前にいるメンバーのIDを取得します。
:例)
: $gameParty.members().isEquipped($dataWeapons[10])
: $gameParty.members().isEquippedWeapon(10)
: パーティー内で武器ID10 の装備を持つアクターのIDを取得する。

4. 指定したスキルを習得しているメンバーのIDを取得する
GROUP.MEMBER.isLearnedSkill(x)
:x には スキルIDを入力してください。
:該当者がいない場合は、false を返します。
:該当者が複数いる場合は、並び順で前にいるメンバーのIDを取得します。
:例)
: $gameParty.members().isLearnedSkill(5)
: パーティー内でスキルID5 のスキルを習得しているアクターのIDを取得する。

5. 指定したステートを付与されているメンバーのIDを取得する
GROUP.MEMBER.isStateAffected(x)
:x には ステートIDを入力してください。
:該当者がいない場合は、false を返します。
:該当者が複数いる場合は、並び順で前にいるメンバーのIDを取得します。
:例)
: $gameParty.members().isStateAffected(5)
: パーティー内でステートID5 のステートを付与されているアクターの
: IDを取得する。

6. 生存メンバーの中からランダムに一人選んで、そのメンバーのデータを取得する
GROUP.randomTarget()
:このスクリプトの末尾に以下を加えると、いろいろな値を取得できます。
:例)
:1. アクターかどうか判定する
: GROUP.randomTarget().isActor()
:2. IDを取得する
: GROUP.randomTarget().memberId()

7. 戦闘不能メンバーの中からランダムに一人選んで、そのメンバーのデータを取得する
GROUP.randomDeadTarget()
:6 の GROUP.randomTarget() と使い方は同じです。


<メンバーのIDのリストを取得するスクリプト>

1. 指定したパラメータが一定値を超えるメンバーのIDリスト(配列)を取得する
GROUP.MEMBER.isHigherParam('param', x)
:param には パラメータ名(英字) を入力してください。
:x には判定値を入力してください。
:なお、x と等しいパラメータを持つメンバーは数えません。
:該当者がいない場合は、空の配列を取得します。
:例)
: $gameParty.members().isHigherParam('atk', 100)
: パーティー内で攻撃力が 100 を超えるアクターのIDリストを取得する。
:応用)
: $gameParty.members().isHigherParam('atk', 100).length
: パーティー内で攻撃力が 100 を超えるアクターの人数を取得する。

2. 指定したパラメータが一定値を下回るメンバーのIDリスト(配列)を取得する
GROUP.MEMBER.isLowerParam('param', x)
:param には パラメータ名(英字) を入力してください。
:x には判定値を入力してください。
:なお、x と等しいパラメータを持つメンバーは数えません。
:該当者がいない場合は、空の配列を取得します。
:例)
: $gameParty.members().isLowerParam('atk', 100)
: パーティー内で攻撃力が 100 未満のアクターのIDリストを取得する。
:応用)
: $gameParty.members().isLowerParam('atk', 100).length
: パーティー内で攻撃力が 100 未満のアクターの人数を取得する。


-----------------------------------------------------------------------------
本プラグインのライセンスについて(License)
-----------------------------------------------------------------------------
本プラグインはMITライセンスのもとで公開しています。
This plugin is released under the MIT License.

Copyright (c) 2017 Futokoro
http://opensource.org/licenses/mit-license.php


-----------------------------------------------------------------------------
変更来歴
-----------------------------------------------------------------------------

v1.0.1 - 2017/04/14 : 不具合修正、スクリプト追加、ヘルプ修正
1. isLowerParam()とisHigherParam()をエネミーに使うとエラーになる
不具合を修正。

v1.0.0 - 2017/04/09 : 初版公開

-----------------------------------------------------------------------------
パラメータ
( なし )
ライセンス表記
本プラグインのライセンスについて(License)
本プラグインはMITライセンスのもとで公開しています。
This plugin is released under the MIT License.
Copyright (c) 2017 Futokoro
http://opensource.org/licenses/mit-license.php

紹介ページ https://github.com/futokoro/RPGMaker