Project1
标题: 怎么把技能描述文本移到下方对话框里 [打印本页]
作者: 进击の呆呆兽 时间: 2017-2-11 13:09
标题: 怎么把技能描述文本移到下方对话框里
类似于把【使用者】的攻击,造成了多少伤害。之类的文字显示在对话框里,而不是直接显示在上面。不知道要怎么设置事件,还是说有脚本一类的东西。
作者: 魔法丶小肉包 时间: 2017-2-11 17:24
这里只提供一个思路,未测试=w=
比如这样↓
class Game_ActionResult
def hp_damage_text
if @hp_drain > 0
fmt = @battler.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
$game_message.add(sprintf(fmt, @battler.name, Vocab::hp, @hp_drain))
elsif @hp_damage > 0
fmt = @battler.actor? ? Vocab::ActorDamage : Vocab::EnemyDamage
$game_message.add(sprintf(fmt, @battler.name, @hp_damage))
elsif @hp_damage < 0
fmt = @battler.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
$game_message.add(sprintf(fmt, @battler.name, Vocab::hp, -hp_damage))
else
fmt = @battler.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage
$game_message.add(sprintf(fmt, @battler.name))
end
end
end
class Game_ActionResult
def hp_damage_text
if @hp_drain > 0
fmt = @battler.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
$game_message.add(sprintf(fmt, @battler.name, Vocab::hp, @hp_drain))
elsif @hp_damage > 0
fmt = @battler.actor? ? Vocab::ActorDamage : Vocab::EnemyDamage
$game_message.add(sprintf(fmt, @battler.name, @hp_damage))
elsif @hp_damage < 0
fmt = @battler.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
$game_message.add(sprintf(fmt, @battler.name, Vocab::hp, -hp_damage))
else
fmt = @battler.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage
$game_message.add(sprintf(fmt, @battler.name))
end
end
end
作者: 进击の呆呆兽 时间: 2017-2-11 18:06
那么要如何去除上方文字的显示,让伤害显示只出现在对话框里
作者: 魔法丶小肉包 时间: 2017-2-11 18:15
那么,请无视上面那段提供的思路,直接就像这样↓(未测试)
class Window_BattleLog < Window_Selectable
def display_hp_damage(target, item)
return if target.result.hp_damage == 0 && item && !item.damage.to_hp?
if target.result.hp_damage > 0 && target.result.hp_drain == 0
target.perform_damage_effect
end
Sound.play_recovery if target.result.hp_damage < 0
$game_message.add(target.result.hp_damage_text)
wait
end
end
class Window_BattleLog < Window_Selectable
def display_hp_damage(target, item)
return if target.result.hp_damage == 0 && item && !item.damage.to_hp?
if target.result.hp_damage > 0 && target.result.hp_drain == 0
target.perform_damage_effect
end
Sound.play_recovery if target.result.hp_damage < 0
$game_message.add(target.result.hp_damage_text)
wait
end
end
作者: 进击の呆呆兽 时间: 2017-2-11 19:00
虽然一直麻烦你有点不好意思,但有没有直接把战斗时所有信息集中到下方对话框的方法
作者: 进击の呆呆兽 时间: 2017-2-12 15:34
尝试把其中的add-text修改掉之后,一些状态效果就会出错,显示367行的脚本出错。请问这是什么原因。
作者: 进击の呆呆兽 时间: 2017-2-12 19:17
把那行删掉之后问题就没了,不过有时候伤害会显示不出来,角色倒下也没有提示,状态变化时的行数也会出错(直接出现在第二行)这些要如何解决
作者: 进击の呆呆兽 时间: 2017-2-12 21:43
好吧,我在自己研究下,总之谢谢帮忙了_(:зゝ∠)_
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |