アクターごとの与えたダメージを変数に代入

あああああ

アクターごとの与えたダメージを変数に代入

投稿記事by あああああ » 2016年7月28日(木) 00:44

敵に与えたダメージの合計、
敵に与えた一撃の最大ダメージ、
自分や味方を回復させたHP量(これは出来たらで構いません)、

の3つの数値をアクターごとに計算して変数に代入できるようなプラグインは作れますか?

YEP_X_BattleStatisticsという海外のプラグインがかなり良いヒントになったのですが、
結局自分では作れませんでした・・・。

あああああ

Re: アクターごとの与えたダメージを変数に代入

投稿記事by あああああ » 2016年8月13日(土) 17:12

敵に与えたダメージを変数に加算していくプラグインだけでも
良いので、どなたか作れる方はいませんか?

ディスガイアの魔界記録や、スマブラの戦績みたいなものを
作ろうとしてます。
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: アクターごとの与えたダメージを変数に代入

投稿記事by トリアコンタン » 2016年8月26日(金) 03:28

こんにちは。
試作してみましたので動作をご確認ください。

・使い方
戦闘中の様々な情報を記録していつでも取得可能にします。
戦績として記録に残せるほか、特殊なスキルのダメージ計算式に
組み込んだりすることもできます。

アクターごとに以下の要素を記録できます。

・スキルごとの使用回数(戦闘中のみカウント。他項目も同様)
・全スキルの使用回数合計
・アイテムごとの使用回数
・全アイテムの使用回数合計
・敵キャラごとの撃破回数
・全敵キャラの撃破回数合計
・与えたダメージの合計
・与えたダメージの最大
・受けたダメージの合計
・受けたダメージの最大
・回復したダメージの合計
・消費したMP合計
・消費したTP合計
・戦闘不能回数

値はイベントコマンド「変数の操作」から「スクリプト」で
対応するスクリプトを呼び出して取得してください。

・データベースのアクターIDから取得する場合
$gameActors.actor(1).getSkillUseCounter(2); # アクター[1]のスキル[2]使用回数
$gameActors.actor(1).getAllSkillUseCounter(); # アクター[1]の全スキル使用回数
$gameActors.actor(1).getItemUseCounter(3); # アクター[1]のアイテム[3]使用回数
$gameActors.actor(1).getAllItemUseCounter(); # アクター[1]の全アイテム使用回数
$gameActors.actor(1).getKillEnemyCounter(4); # アクター[1]の敵キャラ[4]撃破数
$gameActors.actor(1).getAllKillEnemyCounter();# アクター[1]の全敵キャラ撃破数
$gameActors.actor(1).attackDamageMax; # アクター[1]の最大与ダメージ
$gameActors.actor(1).attackDamageSum; # アクター[1]の合計与ダメージ
$gameActors.actor(1).acceptDamageMax; # アクター[1]の最大被ダメージ
$gameActors.actor(1).acceptDamageSum; # アクター[1]の合計被ダメージ
$gameActors.actor(1).recoverDamageSum; # アクター[1]の合計回復ダメージ
$gameActors.actor(1).payCostMpSum; # アクター[1]の消費MP合計
$gameActors.actor(1).payCostTpSum; # アクター[1]の消費TP合計
$gameActors.actor(1).deadCounter; # アクター[1]の戦闘不能回数

・パーティの並び順(先頭は0)から取得する場合
$gameActors.actor(n)を$gameParty.members()[n]に置き換えて実行する。
(例)
$gameParty.members()[0].attackDamageMax # 先頭メンバーの最大与ダメージ

・計算式で使用する場合
$gameActors.actor(n)をa(実行者)もしくはb(対象者)に置き換えて実行する。
(例)
a.getSkillUseCounter(5) # 実行者のスキル[5]使用回数
b.getKillEnemyCounter(6) # 対象者の敵キャラ[6]撃破数

・すべてのアクターの合計値を取得する場合
$gameActors.actor(n)を$gameActorsに置き換えて実行する。
(例)
$gameActors.getKillEnemyCounter(4); # 全アクターの敵キャラ[4]撃破数合計

・パーティごとに管理される戦績を取得する場合
$gameParty.gainGoldSum; # 入手ゴールド合計
$gameParty.loseGoldSum; # 消費ゴールド合計
$gameParty.getGainItemSum(1); # アイテム[1]の入手合計
$gameParty.getGainWeaponSum(1); # 武器[1]の入手合計(初期装備以外)
$gameParty.getGainArmorSum(1); # 防具[1]の入手合計(初期装備以外)

このプラグインにはプラグインコマンドはありません。

・ダウンロード
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/BattleRecord.js

・利用規約
当プラグインはMITライセンスのもとで公開されています。作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)についても制限はありません。このプラグインはもうあなたのものです。

画像
画像
画像
画像
画像
画像

・これまでに制作したプラグイン一覧
https://docs.google.com/spreadsheets/d/1BnTyJr3Z1WoW4FMKtvKaICl4SQ5ehL5RxTDSV81oVQc/edit#gid=30581402
最後に編集したユーザー トリアコンタン on 2016年8月27日(土) 02:02 [ 編集 2 回目 ]
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
メルサイア
記事: 127
登録日時: 2016年2月22日(月) 10:35
お住まい: 大阪府
連絡を取る:

Re: アクターごとの与えたダメージを変数に代入

投稿記事by メルサイア » 2016年8月26日(金) 05:37

>イサフトさん
横から失礼致します。
イサフトさんと同じ、ダメージ情報を変数に格納したくて、このトピックをずっとウォッチしていたものです。

>トリアコンタンさん
さすがトリアコンタンさん…! ウォッチしていたかいがありました…!!
これ、私もすごくほしい機能だったのですが、どのメソッドを編集したらいいかわからず、手詰まりでした。。
結構たくさんの部分を変更する必要があったのですね。。お疲れ様です。

ソースを見たところ、、エディタで「変数の操作…」→「スクリプト」で、代入したい値をアクター毎に設定すれば、
戦績などには簡単に使えそうですね。
私は、戦闘中の敵ダメージセリフに使いたいと思っていたので、
(HPダメージ割合が大きいほど、「バカなっ‥こんなはずではっ!」とか、面白いセリフを吐く、など)
敵イベントでいろいろ工夫してみたいとおもいます。
(敵1体限定のボス戦なら、1ターン毎の総ダメージは、毎ターン、アクター全部の与えたダメージを見れば出せそう。)
メルサイア
記事: 127
登録日時: 2016年2月22日(月) 10:35
お住まい: 大阪府
連絡を取る:

Re: アクターごとの与えたダメージを変数に代入

投稿記事by メルサイア » 2016年8月26日(金) 06:06

すみません。自己レスです。
>(敵1体限定のボス戦なら、1ターン毎の総ダメージは、毎ターン、アクター全部の与えたダメージを見れば出せそう。)
これは、このプラグインを使わなくっても、敵イベントで毎ターン「敵の最大HP-敵の残りHP」を見れば出せますね…。すみません、関係ない話でした。。

このプラグインのいいところは、アクター毎に変数を格納できているところなので、戦績はもちろんのこと、
戦闘中のMVP(誰が一番活躍したか)とか、独自のダメージ表現(ダメージ数によってエフェクトを変える)とか、
キャラ毎のセリフ「バカなっ・・私の奥義○○が、たったの1ダメージだとぉっ!?」とか、
キャラごとの励まし合い「私は○○○○もダメージを与えたぞ! □□□、お前ももっと頑張れっ」とか、にも使えそうです。
あああああ

Re: アクターごとの与えたダメージを変数に代入

投稿記事by あああああ » 2016年8月26日(金) 06:35

>トリアコンタンさん
もうほとんど諦めてまた自力で作っていましたが、本当に助かりました。
戦績だけでなく他の用途にも使えるところが素晴らしいプラグインですね。


>メルサイアさん
確かに会話にそういった数値を入れるのも良いですね。
戦績の他にも、3ターンの間にどれだけダメージを与えられるかというミニゲームも途中で思いついて、トリアコンタンさんが発明したプラグインならそれも簡単に出来そうです。
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: アクターごとの与えたダメージを変数に代入

投稿記事by トリアコンタン » 2016年8月27日(土) 02:05

早速のご利用ありがとうございます!
機能追加で取得可能な項目を増やしました。(ゴールドやアイテムの入手合計、消費MP, TP合計等)(ver 1.1.0)
また、各取得項目について全アクターの合計値を取得できるようにしました。
よろしければご利用ください。URLは同じです。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
あああああ

Re: アクターごとの与えたダメージを変数に代入

投稿記事by あああああ » 2016年8月27日(土) 09:14

まさかこんな機能まで搭載していただけるとは!

トリアコンタンさんの活躍に感化されて、自分もプラグインは無理ですが何か画像素材を投稿したくなりました。
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: アクターごとの与えたダメージを変数に代入

投稿記事by トリアコンタン » 2016年8月27日(土) 11:44

はい! お互い、がんばりましょう……!
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
八王子
記事: 39
登録日時: 2016年1月27日(水) 19:51

Re: アクターごとの与えたダメージを変数に代入

投稿記事by 八王子 » 2017年2月10日(金) 09:19

横からすいません。

取得した情報を文章で表示することって可能ですか?
スマブラみたいにいつでも閲覧可能な感じにしたいのですが、やり方がわからなくて・・・。

試しに、スキルID1を2回使用したところ、変数には正常に2と代入されていたのですが、その2回使ったという記録をゲーム中で閲覧可能にしたいのです。

どなたか、ご教授ください。

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