设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1174|回复: 2
打印 上一主题 下一主题

[已经解决] 吸血脚本出错错误

[复制链接]

Lv4.逐梦者

素材区好人

梦石
3
星屑
7487
在线时间
3540 小时
注册时间
2011-7-21
帖子
2284

极短24参与极短23参与极短22参与极短21参与

跳转到指定楼层
1
发表于 2015-12-3 15:02:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
也并不是每次战斗都出错,这次出错的结果是混乱(普通攻击敌人)或失明(普通攻击同伴)解除后普通攻击弹出的,当然具体我也不知道究竟什么时候会弹出

RUBY 代码复制
  1. $xh ={}
  2. $xh[103] =[256,100]
  3. $xh[104] =[256,200]
  4. $xh[140] =[256,200]
  5.  
  6. class Scene_Battle
  7.     def update_phase4_step5
  8.     # 隐藏帮助窗口
  9.     @help_window.visible = false
  10.     # 刷新状态窗口
  11.     @status_window.refresh
  12.     # 显示伤害
  13.     for target in @target_battlers
  14.       if target.damage != nil
  15.         target.damage_pop = true
  16.       end
  17.     end
  18.     # 条件分歧 开始 当角色使用吸收HP技能
  19.     if $xh.include?(@active_battler.current_action.skill_id)   
  20.       # 条件分歧 开始 当原始伤害不为nil和大于1
  21.       if target.damage != nil and target.damage > 1
  22.         # 播放动画
  23.         @active_battler.animation_id =$xh[@active_battler.current_action.skill_id][0]
  24.         # 显示回血
  25.  
  26.         @active_battler.damage = -(target.damage * $xh[@active_battler.current_action.skill_id][1] /100.0 ).truncate       #额,好吧,弄成整数就行了.
  27.         @active_battler.damage_pop = true
  28.         # 恢复HP
  29.         @active_battler.hp += (target.damage *  $xh[@active_battler.current_action.skill_id][1] /100.0  ).truncate    #额,好吧,弄成整数就行了.
  30.       # 条件分歧 结束
  31.       end
  32.     # 条件分歧 结束
  33.     end
  34.     # 移至步骤 6
  35.     @phase4_step = 6
  36.   end
  37. end

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

来自 3楼
发表于 2015-12-8 09:14:42 | 只看该作者
脚本21行,改成
RUBY 代码复制
  1. if target.damage.is_a?(Numeric) && target.damage > 1

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2749
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

2
发表于 2015-12-3 20:53:10 | 只看该作者
字符串和数值进行比较=。=
如果截图里的21行就是脚本里的21行的话,用.class方法检查一下target.damage是不是字符串……
不过我记得target.damage是数值啊……

点评

target.damage可以是"MISS"  发表于 2015-12-8 09:13
补充:只有该敌人普通攻击同伴或敌人时才会恢复伤害的血量  发表于 2015-12-3 23:45
我似乎知道什么时候会出错了,当该敌人普通攻击打中时,也会恢复伤害的血量(但我也不知道这是为什么),于是当该敌人没打中就会出错  发表于 2015-12-3 23:43
(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-14 00:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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