查看: 84|回复: 0

[转载发布] 【增加Miss、非完全吸血】【修改向】战斗特效系列教程①

[复制链接]
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 37 天

    连续签到: 3 天

    [LV.5]常住居民I

    2028

    主题

    32

    回帖

    7260

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    0
    卡币
    5184
    OK点
    16
    积分
    7260
    发表于 同元一千年八月六日(秋) | 显示全部楼层 |阅读模式
    战斗特效系列教程 ①


    大家好,今天这篇修改向的教程就要开始的,渣排版望见谅。
    首先要告诉大家,这篇教程讲的是“吸血”这一很常见的战斗特效,需要一些脚本基础,但是没有脚本基础的人照猫画虎也能做出效果来。
    首先当然是打开我们的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
    于是修改好的这段脚本应该是:
    1.   #--------------------------------------------------------------------------  # ● 刷新画面 (主回合步骤 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,加血量同理。
      

                 本帖来自P1论坛作者羁绊的守望者,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=372870  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 论坛版权

    使用道具 举报

    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2024-5-15 01:14 , Processed in 0.046662 second(s), 42 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表