Project1

标题: 物品的备注脚本怎么和脚本联系 [打印本页]

作者: maboming1993    时间: 2012-8-31 15:48
标题: 物品的备注脚本怎么和脚本联系
本帖最后由 maboming1993 于 2012-8-31 15:49 编辑

我想将物品备注一栏中的@number_hp带入我做的脚本中这怎么做
具体如下脚本
  1. def number_hp
  2.     @number_hp
  3. end
  4. effection = "[效果] : "
  5. effection += "恢复:#{number_hp} "   
复制代码

作者: maboming1993    时间: 2012-8-31 16:01
这问题傲娇了吗····还是太简单了不屑于给答案·····
虽然用公共事件,并行处理什么的最讨厌了,不过也行啊= =
求解啊求解
作者: 狱冥幻翼    时间: 2012-8-31 16:15
这是装备等级、属性限制这个脚本里读取备注的方法,lz参考下吧
if /<numberhp (\d+?)>/i =~ @note
return $1.to_i
备注里写<numberhp 数字>
作者: 狱冥幻翼    时间: 2012-8-31 16:36
这个正则表达式的意思好像是如果有numberhp这个字符串的话就把数据带入$1,没有numberhp这个变量所以才会报错,纯粹个人理解,我是脚本忙一个,说错了不要骂我……
作者: maboming1993    时间: 2012-8-31 16:40
这是修改以后的,但还是不能输出#{number_hp}这个量,最主要的是输出数字啊·····
  1.   def number_hp
  2.   @number_hp
  3.     if /<hp (\d+?)>/i =~ @note
  4.       return /<(\d+?)>/.to_i
  5.       else
  6.       return 0
  7.     end
  8.   end
复制代码

作者: 铅笔描绘的思念    时间: 2012-8-31 17:58
@number_hp在RPG::Usableitem里面是没有定义的样子。。。还有就算在备注里添加了你有在需要读出来。。多此一举。。
还是说你是新定义方法在备注里读取出来呢。。这样的话。。就算定义了 number_hp 也是定义在Kernel类的。。所以应该要
  1. class RPG::Item < RPG::UsableItem
  2. end
复制代码
还有 /<(\d+?)>/.to_i 是没有用的。。正则表达式是没有to_i的方法的。。

  1. class RPG::Item < RPG::UsableItem
  2.   def number_hp
  3.     @note.each_line{|line|
  4.     case line
  5.     when /<number hp (\d+?)>/
  6.       return $1.to_i
  7.     end
  8.     }
  9.     return 0
  10.   end
  11. end
复制代码
参考一只。。未测试。。备注里添加<number hp X>。。用$data_items[X].number_hp来获取物品ID为X的number_hp




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