【增加Miss、非完全吸血】【修改向】战斗特效系列教程①
战斗特效系列教程 ①大家好,今天这篇修改向的教程就要开始的,渣排版望见谅。
首先要告诉大家,这篇教程讲的是“吸血”这一很常见的战斗特效,需要一些脚本基础,但是没有脚本基础的人照猫画虎也能做出效果来。
首先当然是打开我们的RMXP,我们想让阿尔西斯的技能十字斩拥有吸血这一特效,十字斩默认是57号。
接下来请打开脚本编辑器,直接找到Scene_Battle 4的这一段:
不难知道,这一段是显示伤害的,但是增减HP却不是在这里。
通过阅读脚本,我们得到的如下结论:
target是当前显示伤害的角色。
active_battler是行动的角色。
于是我们就可以加上一个判断:
if @active_battler.current_action.skill_id == 57
end
这就是判断是否为57号技能。
然后需要显示吸血方的动画,我们把这行脚本放到显示伤害之前去,也就是在def update_phase4_step5之后。
@active_battler.animation_id = 15
当然也不要忘了加上判断。
然后是在显示伤害那里加上加血的语句。
if @active_battler.current_action.skill_id == 57
@active_battler.damage = -(target.damage)
@active_battler.danage_pop = true
@active_battler.hp += target.damage
@status_window.refresh # 刷新状态窗口
end
于是修改好的这段脚本应该是:#--------------------------------------------------------------------------# ● 刷新画面 (主回合步骤 5 : 显示伤害)#--------------------------------------------------------------------------def update_phase4_step5 # 播放动画 if @active_battler.current_action.skill_id == 57 @active_battler.animation_id = 15 end # 隐藏帮助窗口 @help_window.visible = false # 刷新状态窗口 @status_window.refresh # 显示伤害 for target in @target_battlers if target.damage != nil target.damage_pop = true if @active_battler.current_action.skill_id == 57 @active_battler.damage = -(target.damage) @active_battler.damage_pop = true @active_battler.hp += target.damage @status_window.refresh end end end # 移至步骤 6 @phase4_step = 6end复制代码大家有没有成功呢?
那么就说到这里,再会!
2014.10.23 更新 Miss 内容
许多人都发现了,本文没有提到Miss的处理。
其实这是非常简单的,这里给一些提示,不放出代码了。
@target.damage 是伤害的字符,可以直接判断 == 'Miss'
所以只要在伤害处理时判定一下就好了。
而对于动画的显示,可以在一开始for循环,也可以直接拿到下面的处理伤害的循环里。
2014.10.23 更新非完全吸血内容
虽说我是想让大家举一反三来着,但还是提一下吧。
吸收50%伤害就是伤害值*0.5,加血量同理。
本帖来自P1论坛作者羁绊的守望者,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=372870若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页:
[1]