Project1

标题: SEP 插件公共核心 增减角色能力时报错加上限道具不能使用 [打印本页]

作者: 89444640    时间: 2018-4-14 08:56
标题: SEP 插件公共核心 增减角色能力时报错加上限道具不能使用
本帖最后由 89444640 于 2018-4-14 09:04 编辑

测试时发现错误,求@sailcat抽空看下脚本
SEP 插件公共核心V1.2
当用事件增减角色能力值的时候,
出现了

927行
# 取得修改量
    value = new_value - send(symbol) + instance_variable_get("@#{symbol}")
然后有试了一下菜单中的加上限道具,不能使用了,字体是白色的,但是不能增使用,出的是不能使用的音效。

当前脚本如下
Scripts.rar (324.73 KB, 下载次数: 87)

由于好长时间没见到sailcat了,有认识的人请帮忙通知一下,谢谢。
作者: guoxiaomi    时间: 2018-4-15 13:27
多半是继承存档的问题吧?紧急修复可以这样:
  1. value = new_value - send(symbol) + (instance_variable_get("@#{symbol}") || 0)
复制代码

作者: 89444640    时间: 2018-4-29 08:26
恳请各位位程序员能百忙中抽出点时间帮我看一下,如果修改过于麻烦,可按各位的需要,支付应得的报酬。
只需修改脚本不能正常增加能力上限即可。

双饰品等了好几个月也没见到……子弹消耗也没见到,对应动作全画好了,就等程序结果……
完全没法往下继续测试了,因为能力值被锁定了,只有人物升级所得的属性,敌人和战斗难度完全没法调了。
作者: soulsaga    时间: 2018-4-29 11:11
经过萌新测试..
事件增加能力报错应该是因为你用的RMXP的RUBY版本过低
927行的instance_variable_get是RUBY版本较新的语句..,所以会返回空值..

至於道具提升能力上限..的问题
是因为你把效果范围设成使用者..使用者只能在战斗中用..
所以平时你用不了..改回己方单体那些就行..
不过可惜的是即使这样..用道具提升能力一次后..之后都没效果..可能我测试的RMXP也是版本过低的关系吧..

作者: 芯☆淡茹水    时间: 2018-4-29 11:40
默认里面没有像 @maxhp, @str ,,,,这样的类变量,所以获取 instance_variable_get("@#{symbol}")  会失败。
那么只能获取和设置  "@#{symbol}_plus"  

对应脚本第 925 开始的那个函数可以全部改为以下这个

  1.   def param_set(symbol, new_value, post_proc = nil)
  2.     # 取得修改量
  3.     value = new_value - send(symbol) + instance_variable_get("@#{symbol}_plus")
  4.     # 值域修正
  5.     limit = param_max(symbol)
  6.     instance_variable_set("@#{symbol}_plus", value.limit(-limit, limit))
  7.     # 设置后处理
  8.     method(post_proc).call if post_proc
  9.   end
复制代码





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