Project1

标题: 技能升级脚本公式问题 [打印本页]

作者: KB.Driver    时间: 2015-10-5 23:39
标题: 技能升级脚本公式问题
本帖最后由 KB.Driver 于 2015-10-5 23:40 编辑

原脚本链接:https://rpg.blue/forum.php?mod=viewthread&tid=373928
工程: 求教工程.zip (1.61 MB, 下载次数: 84)


问题


问题如图片所示,工程中是这样的:
公式脚本:


         
技能及备注:


原作者的工程中,很多技能没有写“<mp_type x>”,在升级过程中MP都会随着变化。
但是我的工程中不管写没写都不行……
所以来请教了。
作者: 百里_飞柳    时间: 2015-10-6 10:23
本帖最后由 百里_飞柳 于 2015-10-6 10:35 编辑

RUBY 代码复制
  1. def mp_type
  2.     @note =~ /\<(?:mp_type) (\d+)\>/ ? $1.to_i : 111
  3.   end

之所以很多技能没有写也有mp变化,就是因为这一句未匹配到时默认是返回111类型的mp增长式。

你的工程我看了一下,问题似乎就是当技能从第一级升到第二级时,mp消耗改变,之后升级却不再改变。
然后我又浏览了一遍脚本,发现没有出现逻辑问题……所以,我就实在不知道哪里有问题了。

我又试了下,发现问题所在了。
RUBY 代码复制
  1. def skill_level(skill_id)
  2.     return 0 if skill_id == 0
  3.     lock = $data_skills[skill_id].lock_level
  4.     return lock if lock != 0
  5.     lnk = $data_skills[skill_id].link_skill
  6.     return skill_level(lnk) if lnk != 0
  7.     return 0 unless @skills.include?(skill_id)
  8.     return 0 if skill_basic_level(skill_id) == 0
  9.     [skill_basic_level(skill_id) + skill_plus_level(skill_id) ,\
  10.     $data_skills[skill_id].max_level].min
  11.   end

这一段脚本里,我试着p了$data_skills[skill_id].max_level,发现值一直是1,可能这个就是问题所在。

然后我惊讶地发现明明是你自己蠢了!
备注栏里面除了写<max_learn 3>还需要写<max_level 3> !
这样问题就解决了~
作者: 梦幻のLoli塔    时间: 2015-10-6 12:20
新人来受教了,非常不错的东西,一会儿我也试试




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