本帖最后由 百里_飞柳 于 2015-10-6 10:35 编辑
def mp_type @note =~ /\<(?:mp_type) (\d+)\>/ ? $1.to_i : 111 end
def mp_type
@note =~ /\<(?:mp_type) (\d+)\>/ ? $1.to_i : 111
end
之所以很多技能没有写也有mp变化,就是因为这一句未匹配到时默认是返回111类型的mp增长式。
你的工程我看了一下,问题似乎就是当技能从第一级升到第二级时,mp消耗改变,之后升级却不再改变。
然后我又浏览了一遍脚本,发现没有出现逻辑问题……所以,我就实在不知道哪里有问题了。
我又试了下,发现问题所在了。
def skill_level(skill_id) return 0 if skill_id == 0 lock = $data_skills[skill_id].lock_level return lock if lock != 0 lnk = $data_skills[skill_id].link_skill return skill_level(lnk) if lnk != 0 return 0 unless @skills.include?(skill_id) return 0 if skill_basic_level(skill_id) == 0 [skill_basic_level(skill_id) + skill_plus_level(skill_id) ,\ $data_skills[skill_id].max_level].min end
def skill_level(skill_id)
return 0 if skill_id == 0
lock = $data_skills[skill_id].lock_level
return lock if lock != 0
lnk = $data_skills[skill_id].link_skill
return skill_level(lnk) if lnk != 0
return 0 unless @skills.include?(skill_id)
return 0 if skill_basic_level(skill_id) == 0
[skill_basic_level(skill_id) + skill_plus_level(skill_id) ,\
$data_skills[skill_id].max_level].min
end
这一段脚本里,我试着p了$data_skills[skill_id].max_level,发现值一直是1,可能这个就是问题所在。
然后我惊讶地发现明明是你自己蠢了!
备注栏里面除了写<max_learn 3>还需要写<max_level 3> !
这样问题就解决了~ |