赞 | 0 |
VIP | 4 |
好人卡 | 3 |
积分 | 0 |
经验 | 12316 |
最后登录 | 2016-5-3 |
在线时间 | 200 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 49
- 在线时间
- 200 小时
- 注册时间
- 2014-7-17
- 帖子
- 410
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 羁绊的守望者 于 2014-10-23 21:14 编辑
大家好,今天这篇修改向的教程就要开始的,渣排版望见谅。
首先要告诉大家,这篇教程讲的是“吸血”这一很常见的战斗特效,需要一些脚本基础,但是没有脚本基础的人照猫画虎也能做出效果来。
首先当然是打开我们的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 = 6
- end
复制代码 大家有没有成功呢?
那么就说到这里,再会!
2014.10.23 更新 Miss 内容
许多人都发现了,本文没有提到Miss的处理。
其实这是非常简单的,这里给一些提示,不放出代码了。
@target.damage 是伤害的字符,可以直接判断 == 'Miss'
所以只要在伤害处理时判定一下就好了。
而对于动画的显示,可以在一开始for循环,也可以直接拿到下面的处理伤害的循环里。
2014.10.23 更新非完全吸血内容
虽说我是想让大家举一反三来着,但还是提一下吧。
吸收50%伤害就是伤害值*0.5,加血量同理。
|
|