プレイヤーの素の能力を変数に格納する方法

sunagimo
記事: 67
登録日時: 2017年9月17日(日) 07:53

プレイヤーの素の能力を変数に格納する方法

投稿記事by sunagimo » 2018年8月11日(土) 07:47

いつもお世話になっております。
掲題の件ですが、プレイヤーの素の能力について変数として
格納する方法についての質問になります。

現状、以下のスクリプトで取得しているのですが
どうやらLV1の時の能力を取得しているらしく、上手くいきません

$gameVariables.setValue(81,$gameActors.actor(1).paramBase(0))

$gameVariables.setValue(81,$gameActors.actor(1).param(0))
にすると、現在LV時の能力が取得できるのは確認できたのですが……

【自作RPG宣伝】
■北国狩人物語(アツマール)
https://game.nicovideo.jp/atsumaru/games/gm5249

■試作版・ラストディフェンダー(アツマール)
https://game.nicovideo.jp/atsumaru/games/gm8054
アバター
フトコロ
記事: 928
登録日時: 2017年2月06日(月) 21:32

Re: プレイヤーの素の能力を変数に格納する方法

投稿記事by フトコロ » 2018年8月11日(土) 12:00

sunagimo さんが書きました:$gameActors.actor(1).paramBase(0)

そのスクリプトで、現在レベルのパラメータ(装備やステートなどの補正無しの値)を取得できるはずですよ。
コアスクリプト上ではそうなっています。

プラグインを入れている場合に、そのプラグインが影響しているのかもしれません。
sunagimo
記事: 67
登録日時: 2017年9月17日(日) 07:53

Re: プレイヤーの素の能力を変数に格納する方法

投稿記事by sunagimo » 2018年8月11日(土) 13:50

>フトコロ様
返信ありがとうございます。
試しに新規でプロジェクトを作成して、同様に
$gameVariables.setValue(81,$gameActors.actor(1).paramBase(0))
の処理を試してみたのですが、おそらく下記の仕様になっている? んでしょうか。

・確かに現在LVの能力値を持ってきており、LV変化で増加した値が反映されていた
・ただし、能力値の増減で変更した値は反映されない(?)

現在作成中のゲームは、LVは1から変動せずにパラメータを任意に上げていくタイプのため
このままだと現在の素の能力値表示が上手くいきませんでした。
ただ、まずベースの能力を格納した後に、今までに上げた各能力値の蓄積分を別変数で格納して
両者を足すことで、何とか仕様を満たす挙動に出来ました。
助言いただきありがとうございました!
【自作RPG宣伝】
■北国狩人物語(アツマール)
https://game.nicovideo.jp/atsumaru/games/gm5249

■試作版・ラストディフェンダー(アツマール)
https://game.nicovideo.jp/atsumaru/games/gm8054
アバター
フトコロ
記事: 928
登録日時: 2017年2月06日(月) 21:32

Re: プレイヤーの素の能力を変数に格納する方法

投稿記事by フトコロ » 2018年8月11日(土) 14:32

うまくいってよかったです。

正確に書くと

paramBase(ID) : 職業で設定したパラメータの現在レベルでの値
paramPlus(ID) : スキルやアイテム、イベントによる能力の成長分に、装備の能力値増加量の合計

上の二つの合計に

paramRate(ID) : アクターや装備、ステートなどで設定した特徴の通常能力値(%表記のもの)の補正
paramBuffRate(ID) : 強化付与または弱体付与の補正

上の二つの補正を掛けたものが、param(ID) で取得できる値です。

“MV:質問” へ戻る