ページ 1 / 1
【VX / RGSS2】ダメージを受けた時にキャラごとの効果音
Posted: 2017年10月25日(水) 12:00
by okuyamj
初めまして。
この度は「ダメージを受けた時に、キャラごとに違う被害ダメージのボイス」を実装したく、ご相談に参りました。
VXはもしかするともう古いのかもしれませんが、スクリプトの提案をして下さる方をお待ちしております。
Re: 【VX / RGSS2】ダメージを受けた時にキャラごとの効果音
Posted: 2017年10月27日(金) 15:03
by faida
初めまして。
まず、「ダメージを受けた時」を考えてみましょう。
「ダメージ」で全体検索をかけると色々出てきますが、今回は「ダメージの反映」を選択します。
Game_Battlerの758行目ですかね。
コード: 全て選択
def execute_damage(user)
if @hp_damage > 0 # ダメージが正の数
remove_states_shock # 衝撃によるステート解除
end
self.hp -= @hp_damage
self.mp -= @mp_damage
if @absorbed # 吸収の場合
user.hp += @hp_damage
user.mp += @mp_damage
end
end
ここの処理は、「攻撃、スキル、アイテムによって発生したダメージ/回復を実際にHPに反映する」処理と
なっています。
ご丁寧に「@hp_damage > 0 # ダメージが正の数」の条件もあります。ここを改造しましょう。
コード: 全て選択
class Game_Battler
def execute_damage(user)
if @hp_damage > 0 # ダメージが正の数
remove_states_shock # 衝撃によるステート解除
if self.actor? # ここから
case self.id
when 1
Audio.se_play("Audio/SE/アクター1ダメージ", 80, 100)
when 2
Audio.se_play("Audio/SE/アクター2ダメージ", 80, 100)
when 3
Audio.se_play("Audio/SE/アクター3ダメージ", 80, 100)
end
end # ここまで
end
~以下省略~
end
end
Audio.se_playとは、SE「として」音源を再生する手法です。SEの特徴は以下の通りです。
・ループしない
・別のどの音源とも干渉しない
なので、例えば("Audio/Voice/アクター3ダメージ", 80, 100)とやれば、Voiceに入っている音源も再生できます。
後ろの二つは音量とピッチです。お好みでどうぞ。
Re: 【VX / RGSS2】ダメージを受けた時にキャラごとの効果音
Posted: 2017年11月02日(木) 15:04
by okuyamj
ありがとうございます!
無事実装できました。本当に助かりました!