Project1

标题: 在Scene_Battle 4的主回合步骤5做特技效果范围的判断 [打印本页]

作者: stella    时间: 2012-1-22 12:09
标题: 在Scene_Battle 4的主回合步骤5做特技效果范围的判断
在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补充以上内容’dsu_plus_rewardpost_czw
作者: hys111111    时间: 2012-1-22 17:16
本帖最后由 hys111111 于 2012-1-22 17:22 编辑

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

2、你得指定"scope“是什么样的一个数值
因为nil说明"scope"是空的数值,没有的,所以会出错
顺便检查@active_battler.current_action.skill_id是否为0,如果为0,必定出错
作者: Wind2010    时间: 2012-1-22 18:16
因为当@active_battler的动作为攻击/防御/使用物品时,行为的skill_id为0,而0号技能没有定义,因此会出错
解决方法:1L点评




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1