查看: 1339|回复: 2

[已经解决] 在Scene_Battle 4的主回合步骤5做特技效果范围的判断

[复制链接]
梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
回帖
384
发表于 2012-1-22 12:09:03 | 显示全部楼层 |阅读模式

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

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

×
在Scene_Battle 4 的 def update_phase4_step5下做判断:if 特技效果范围是使用者
我用 if $data_skills[@active_battler.current_action.skill_id].scope < 7  或者 if skill.scope < 7 都会出错,应该怎么写?


‘

出错信息
NO Method Error
undefined method scope for nil:NilClass


──stella于2012-1-22 12:41补充以上内容’

点评

在这个判断之前应该先判断@active_battler.current_action.kind==1(即该动作是否为技能)  发表于 2012-1-22 12:31
出错信息?  发表于 2012-1-22 12:30

双子人

梦石
0
星屑
3205
在线时间
3619 小时
注册时间
2009-4-4
回帖
3901

开拓者

发表于 2012-1-22 17:16:03 | 显示全部楼层
本帖最后由 hys111111 于 2012-1-22 17:22 编辑

两种解决方法:
1、“<”和“数值”通常之间要加个“=”

2、你得指定"scope“是什么样的一个数值
因为nil说明"scope"是空的数值,没有的,所以会出错
顺便检查@active_battler.current_action.skill_id是否为0,如果为0,必定出错
回复

使用道具 举报

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
回帖
3515
发表于 2012-1-22 18:16:17 | 显示全部楼层
因为当@active_battler的动作为攻击/防御/使用物品时,行为的skill_id为0,而0号技能没有定义,因此会出错
解决方法:1L点评

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部