ページ 1 / 1
アクターの追加能力値を変数に代入する方法
Posted: 2017年3月01日(水) 01:37
by プリケツ
現在作成しているゲーム内で画面に選択したアクターのステータスを表示する仕組みを考えております。
方法は指定したアクターのステータスを変数に代入し、その変数を画面に表示するといった仕組みです。
その際にHP、MP、攻撃力といった通常能力値は簡単に変数へ落とし込めることができるのですが、
回避率、会心率といった追加能力値を変数に落とし込む方法がどうしてもわかりません。
スクリプトを使って代入する方法や、変数へこれらの数値を落とし込むことができるプラグインを知っている方がいらっしゃったらぜひご教示お願います。
Re: アクターの追加能力値を変数に代入する方法
Posted: 2017年3月01日(水) 02:31
by トリアコンタン
こんばんは!
変数の操作の「スクリプト」に以下の内容を設定すれば値を取得できます。
〇〇率となっているものは100%が1.00にあたるので「*100」で100倍しています。
(ツクールの仕様により変数には整数しか代入できません)
・回避率(n:アクターID)
コード: 全て選択
$gameActors.actor(n).eva * 100
・会心率(n:アクターID)
コード: 全て選択
$gameActors.actor(n).cri * 100
たくさん種類がありますので、スクリプトから取得できる他の項目はこちらをご参照ください。
https://docs.google.com/spreadsheets/d/ ... 1183699632
Re: アクターの追加能力値を変数に代入する方法
Posted: 2017年3月01日(水) 02:48
by プリケツ
トリアコンタン様、
夜分遅くに素早い返答ありがとうございます。
スクリプトから直接変数にいれることが可能だったのですね、
これで詰まっていたゲーム制作が進展しそうです。
また、スクリプトコマンドの対応表まで教えてくださって感謝します。
トリアコンタン様の制作なさったプラグインはどれも痒いところに手が届くので当方でも重宝しております。
重ねてお礼申し上げます。
Re: アクターの追加能力値を変数に代入する方法
Posted: 2017年3月02日(木) 14:52
by プリケツ
何度も質問をして申し訳ないのですが、エネミーの追加能力値を変数に入れるスクリプトはあるのでしょうか。
Re: アクターの追加能力値を変数に代入する方法
Posted: 2017年3月02日(木) 18:55
by まっつUP
プリケツ様
お世話になります。
以下のように取得します。
イベントコマンド「変数の操作」のスクリプトのところに記入すれば
この例ではトループの先頭メンバーの回避率を取得します。
$gameTroop.members()[0].eva * 100
Re: アクターの追加能力値を変数に代入する方法
Posted: 2017年3月02日(木) 19:58
by プリケツ
まっつUP様、返信ありがとうございます。
このスクリプトでは戦闘時以外でも値を取得することは可能ですか?
可能であれば非戦闘時にエネミーIDを指定して値を取得したいです。
Re: アクターの追加能力値を変数に代入する方法
Posted: 2017年3月02日(木) 20:34
by まっつUP
スクリプトコマンドで以下のように取得しましたが
もっと良い方法があるかもですね・・・。
(スクリプトコマンド)
var a = $dataEnemies[3].traits; //3の部分に敵キャラID
var b = a.reduce(function(r, trait) {
return trait.dataId == 1 ? r + trait.value : r; //1の部分に追加能力値のID
}, 0);
$gameVariables.setValue(1, b * 100); //1の部分に変数ID
Re: アクターの追加能力値を変数に代入する方法
Posted: 2017年3月02日(木) 20:52
by まっつUP
(スクリプトコマンド)
var a = new Game_Enemy(3, 0, 0); //始めの引数はエネミーID
$gameVariables.setValue(1, a.eva * 100);
これでいいんですかねえ・・・。
Re: アクターの追加能力値を変数に代入する方法
Posted: 2017年3月02日(木) 23:56
by プリケツ
まっつUP様、返信ありがとうございます。
スクリプトを使用したところ、理想通りの動きをしてくれました、重ねてお礼申し上げます。