最も体力の少ない敵/最も攻撃力の高い敵を対象に取るスキル

XEO

最も体力の少ない敵/最も攻撃力の高い敵を対象に取るスキル

投稿記事by XEO » 2017年12月25日(月) 09:21

自動戦闘がメインのゲームを作ろうと考えてます。
そこで、スキルの対象を最も体力の少ない敵や最も攻撃力の高い敵を自動で選択してくれる様にしたいのですが、それは可能でしょうか。
助けてくださる方がいらっしゃいましたら、ご協力よろしくお願いします。

追加
色々自分で調べてみましたが、やはり今ひとつ分かりません…。
どなたか、プラグインにまとめて下さいませんか?
最後に編集したユーザー XEO on 2017年12月25日(月) 22:35 [ 編集 1 回目 ]

アバター
しぐれん
記事: 973
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: 最も体力の少ない敵/最も攻撃力の高い敵を対象に取るスキル

投稿記事by しぐれん » 2017年12月25日(月) 11:46

可能です。
やるとしたら、ターゲット設定を敵からランダムにしつつ、Game_Action.makeTargets()を改造することになるでしょう。
全てのエネミーを取得するには$gameTroop.aliveMembers()で生存しているエネミー全てを取得します。
その中から条件に合ったものを探します。
エネミー0番を候補を表す変数に入れた後、エネミー1番から順に数値を比較していって、後から来た方が大きければ候補変数に代入します。
最後は候補変数をreturnして、ターゲットとして取得させます。

比較関数を切り離せば、条件を変更して探せるようになります。
ひとまずは、HPが一番高い…などの具体的な条件で書いてみましょう。
現在、プラグイン依頼はお休み中です。
XEO

Re: 最も体力の少ない敵/最も攻撃力の高い敵を対象に取るスキル

投稿記事by XEO » 2017年12月25日(月) 13:07

すみません、何度も読み返したのですが、
プログラミングなどに疎いので、出来るという事以外分かりませんでした…。
もう少し自分で調べてみます、お早い対応ありがとうございました!
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: 最も体力の少ない敵/最も攻撃力の高い敵を対象に取るスキル

投稿記事by トリアコンタン » 2018年1月06日(土) 20:49

こんにちは!

>自動戦闘がメインのゲーム

本件について、「自作戦闘」というのはイベントコマンドを駆使して組む(ツクールXP以前はこの手法が一般的に用いられていました)戦闘でしょうか?
それとももともとの戦闘画面にプラグインやスクリプトで独自のシステムを組み込む予定でしょうか?

前者の場合は、戦闘を一から構築するため、プラグイン側での対応は難しいです。
後者の場合はお手伝いできるかもしれません。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
しぐれん
記事: 973
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: 最も体力の少ない敵/最も攻撃力の高い敵を対象に取るスキル

投稿記事by しぐれん » 2018年1月06日(土) 21:21

>トリアコンタンさん
自動戦闘なので、ドラクエで言う全部AIが勝手に戦闘するパターンだと思います。
現在、プラグイン依頼はお休み中です。
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: 最も体力の少ない敵/最も攻撃力の高い敵を対象に取るスキル

投稿記事by トリアコンタン » 2018年1月06日(土) 23:04

ホントだ、読み間違えてました!
すみません。。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: 最も体力の少ない敵/最も攻撃力の高い敵を対象に取るスキル

投稿記事by フトコロ » 2018年1月06日(土) 23:40

こんにちは。

ちょうど、独自AI構築系のプラグインを製作しておりましたので
その途中成果から使えそうなプラグインを作ってみました。

https://raw.githubusercontent.com/futok ... valuate.js

スキルのメモ欄に以下のタグを追記すると、自動戦闘時に使用するスキルの評価値をスキル独自に設定できます。

<ASE_評価値式:***>
  ***部にダメージ計算式と同様の計算式を入力します。

この評価式に b.hp や b.atk などを使えば、現在HPや攻撃力で評価できます。

ただし、評価式の計算は少し複雑なので、一度プラグインのヘルプに目を通しておいてください。

>追記
プラグインを v1.0.1 に更新しヘルプに評価値式の作り方や、いくつか有用なスクリプトを追加しました。

>追記2
最も体力が少ない敵は、現在HPの逆数で判断可能です。例)1/b.hp など
ただし、このままでは評価値が高すぎるので、大体 1 程度の値になるように調整が必要です。
例)a.hp/(b.hp*2) 等

なお、MVデフォルトの場合、元々最も体力が少ない敵を狙うようになっています。


最も攻撃力が高い敵は、攻撃力そのままで判断可能です。例) b.atk など
ただし、このままでは評価値が高すぎるので、ヘルプに記載している例などを参考に調整してください。
例) b.atk/(a.def*2) 等
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
XEO

Re: 最も体力の少ない敵/最も攻撃力の高い敵を対象に取るスキル

投稿記事by XEO » 2018年1月09日(火) 02:31

お二人様とも、色々と支援ありがとうございます。

フトコロ様、素晴らしいプラグインをありがとうございます。
自分の求めていたものを遥かに上回る自動戦闘AIが作れそうでワクワクしてきました!笑

是非とも使わせていただいます!

大変お世話になりました。ありがとうございました。

“MV:プラグイン素材のリクエスト” へ戻る