製作者さんに複数回メールで送っていますが、返信がなく諦めよう。と思ったのですが、
コチラに投稿させていただきました。
http://rpgツクールvx.seesaa.net/article/220953643.html
現在の状況:HP/ MPダメージをできたのですが、回復の設定がわからない状態です。
状態:回復スキルを使用すると、「キャラ名は -10000万のダメージを受けた!」と表示されますが回復はしている状態ですHP/MPも同じ設定になっています。
どうか、よろしくおねがいします。
コード: 全て選択
#==============================================================================
# ■ Vocab
#------------------------------------------------------------------------------
# 用語とメッセージを定義するモジュールです。定数でメッセージなどを直接定義す
# るほか、グローバル変数 $data_system から用語データを取得します。
#==============================================================================
module Vocab
# アクター対象の行動結果
ActorDamage = "%sは %s%s のダメージを受けた!"
ActorLoss = "%sの%sが %s 減った!"
ActorDrain = "%sは%sを %s 奪われた!"
ActorNoDamage = "%sはダメージを受けていない!"
ActorNoHit = "%sに命中しなかった……。"
ActorEvasion = "%sは回避した。"
ActorRecovery = "%sの%sが %s%s 回復した!"
# 敵キャラ対象の行動結果
EnemyDamage = "%sに %s%s のダメージを与えた!"
EnemyLoss = "%sの%sが %s 減った!"
EnemyDrain = "%sの%sを %s 奪った!"
EnemyNoDamage = "%sに攻撃が効かない。"
EnemyNoHit = "%sに命中しなかった……。"
EnemyEvasion = "%sは回避した。"
EnemyRecovery = "%sの%sが %s 回復した!"
コード: 全て選択
#--------------------------------------------------------------------------
# ○ HP ダメージ表示
# target : 対象者
# obj : スキルまたはアイテム
#--------------------------------------------------------------------------
def display_hp_damage(target, obj = nil)
if target.hp_damage == 0 # ノーダメージ
return if obj != nil and obj.damage_to_mp
return if obj != nil and obj.base_damage == 0
fmt = target.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage
text = sprintf(fmt, target.name)
elsif target.absorbed # 吸収
fmt = target.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
text = sprintf(fmt, target.name, Vocab::hp, target.hp_damage)
elsif target.hp_damage < 9999 #9999ダメージまで
if target.actor?
text = sprintf(Vocab::ActorDamage, target.name, target.hp_damage, ' ')
Sound.play_actor_damage
$game_troop.screen.start_shake(5, 5, 10)
else
text = sprintf(Vocab::EnemyDamage, target.name, target.hp_damage, ' ')
Sound.play_enemy_damage
target.blink = true
end
elsif target.hp_damage > 9999 and target.hp_damage < 100000000 #1万~1億未満
if target.actor?
text = sprintf(Vocab::ActorDamage, target.name, target.hp_damage / 10000,'万')
Sound.play_actor_damage
$game_troop.screen.start_shake(5, 5, 10)
else
text = sprintf(Vocab::EnemyDamage, target.name, target.hp_damage / 10000,'万')
Sound.play_enemy_damage
target.blink = true
end
elsif target.hp_damage > 100000000 and target.hp_damage < 1000000000000 #1億~1京未満
if target.actor?
text = sprintf(Vocab::ActorDamage, target.name, target.hp_damage / 1000000000, '億')
Sound.play_actor_damage
$game_troop.screen.start_shake(5, 5, 10)
else
text = sprintf(Vocab::EnemyDamage, target.name, target.hp_damage / 1000000000, '億')
Sound.play_enemy_damage
target.blink = true
end
else # 回復
fmt = target.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
text = sprintf(fmt, target.name, Vocab::hp, -target.hp_damage)
Sound.play_recovery
end
@message_window.add_instant_text(text)
wait(30)
end