查看: 1314|回复: 3

[已经解决] 吸血脚本,如果全员miss则会报错该如何解决

[复制链接]

素材区好人

梦石
5
星屑
12559
在线时间
4345 小时
注册时间
2011-7-21
回帖
2264

超评测参与极短28参与极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

发表于 2024-6-25 20:21:57 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

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

×
经过测试,在无法照成伤害或只有部分队友miss则可以正常使用,但是如果所以成员全部miss仍然会报错
虽然这种情况概率不算高,但仍然不想就这样放着不管,请问该如何解决?
2345截图20240625201204.png
[pre lang="ruby"]$xh ={}
$xh[187] =[330,200]
$xh[215] =[330,200]
$xh[306] =[330,300]
$xh[328] =[330,200]


class Scene_Battle
    def update_phase4_step5
    # 隐藏帮助窗口
    @help_window.visible = false
    # 刷新状态窗口
    @status_window.refresh
    # 显示伤害
    for target in @target_battlers
      if target.damage != nil
        target.damage_pop = true
      end
    end
    # 条件分歧 开始 当角色使用吸收HP技能
    if $xh.include?(@active_battler.current_action.skill_id)   
      # 条件分歧 开始 当原始伤害不为nil和大于1
      if target.damage != nil and target.damage > 1
        # 播放动画
        @active_battler.animation_id =$xh[@active_battler.current_action.skill_id][0]
        # 显示回血

        @active_battler.damage = -(target.damage * $xh[@active_battler.current_action.skill_id][1] /100.0 ).truncate       #额,好吧,弄成整数就行了.
        @active_battler.damage_pop = true
        # 恢复HP
        @active_battler.hp += (target.damage *  $xh[@active_battler.current_action.skill_id][1] /100.0  ).truncate    #额,好吧,弄成整数就行了.
      # 条件分歧 结束
      end
    # 条件分歧 结束
    end
    # 移至步骤 6
    @phase4_step = 6
  end
end[/pre]
梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2024-6-25 20:36:14 | 显示全部楼层
23行, target.damage.to_i > 1

点评

感谢,已经解决  发表于 2024-6-26 19:24

评分

参与人数 2星屑 +50 赞 +2 收起 理由
RyanBern + 50 + 1 认可答案
无忧谷主幻 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2024-6-25 22:19:56 | 显示全部楼层
判断伤害等於数值类型
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部