ダメージを記録するスクリプト

かくじき
記事: 9
登録日時: 2017年5月12日(金) 23:50

ダメージを記録するスクリプト

投稿記事by かくじき » 2017年5月13日(土) 00:02

お初にお目にかかります。

戦闘における与ダメージを記録して、最大ダメージを保存するスクリプトをリクエストさせていただきます。
MVに類似のスクリプトが存在するようですが、VX Aceでもそのような機能を導入したいと思っております。

宜しくお願いします。

SBR

Re: ダメージを記録するスクリプト

投稿記事by SBR » 2017年5月13日(土) 01:45

コード: 全て選択

class Game_Battler < Game_BattlerBase
  attr_writer :max_give_damage
 
  def max_give_damage
    return @max_give_damage || 0
  end
 
  alias _max_execute_damage execute_damage
  def execute_damage(user)
    user.max_give_damage = [user.max_give_damage,@result.hp_damage].max
    _max_execute_damage(user)
  end
end


$game_actors[アクターID].max_give_damage
これで最大与ダメージを取得できると思います。
かくじき
記事: 9
登録日時: 2017年5月12日(金) 23:50

Re: ダメージを記録するスクリプト

投稿記事by かくじき » 2017年5月13日(土) 03:55

SBR様ありがとうございます。

スクリプトを導入し、
$game_variables[1] = $game_actors[1].max_give_damage
のようにして1番のアクターのダメージを取得し変数に代入しようとしたところ、

スクリプト 'Game_Interpreter' の1409行目で NoMethodErrorが発生しました。
undefined method ‘max_give_damage' for [1]:Array

とエラーが表示されてしまいます。

不勉強で申し訳ないのですが、当方の用例が悪かったのかスクリプトの不具合であるのか判断しかねます。
お手数ですがご教授頂けますと幸いです。
SBR

Re: ダメージを記録するスクリプト

投稿記事by SBR » 2017年5月13日(土) 04:44

無題.png
無題.png (18 KiB) 閲覧数: 3627 回

これでいいと思います。

$game_variables[1] = $game_actors
[1].max_give_damage



$game_variables[1] = $game_actors \
[1].max_give_damage

とは全く意味が異なりますのでご注意ください。
SBR

Re: ダメージを記録するスクリプト

投稿記事by SBR » 2017年5月13日(土) 04:46

幅があればこれでも問題ありません。

$game_variables[1] = $game_actors[1].max_give_damage
かくじき
記事: 9
登録日時: 2017年5月12日(金) 23:50

Re: ダメージを記録するスクリプト

投稿記事by かくじき » 2017年5月13日(土) 10:50

SBR様

画像の通りに記述したところ、無事に動作しました。
ありがとうございます。

“VX / Ace:スクリプト素材のリクエスト” へ戻る