Project1

标题: 怎样调用通过备注栏获得的信息 [打印本页]

作者: cjlzbb    时间: 2015-2-24 14:56
标题: 怎样调用通过备注栏获得的信息
像下面这样写应该没错吧?但是如果想要在其他地方调用到的话该怎么办呢?例如想在对话中取得X号技能的射程

  1. class RPG::Skill < RPG::UsableItem
  2.   def shecheng
  3.     @note.each_line{|line|
  4.     case line
  5.     when /\<(?:射程)[ ]*(\d+)\>/
  6.       return $1.to_i
  7.     end
  8.     }
  9.     return 1
  10.   end
  11. end


  12. class Game_BattlerBase
  13.   #--------------------------------------------------------------------------
  14.   # ● 技能射程取得
  15.   #--------------------------------------------------------------------------
  16.   def shecheng(skill)
  17.     skill.shecheng
  18.   end  
  19. end  
复制代码

作者: 喵呜喵5    时间: 2015-2-24 15:49
本帖最后由 喵呜喵5 于 2015-2-24 23:15 编辑

插入喵呜喵5基础脚本
https://rpg.blue/home.php?mod=sp ... o=blog&id=13513
然后
$data_skills[技能ID].m5note("射程",0).to_i
备注格式
<射程 123>

m5note

参数说明:
第一个参数:要匹配的备注文字字符串
第二个参数:无法找到该备注时返回的结果
第三个参数:是否能获得备注中的数值,默认为true,为 false 表示备注为形如 <射程> 这样没有数值的形式,如果有该备注返回 true ,没有该备注返回 false
第四个参数:是否返回多个结果,默认为false,为true时对备注
<射程 1>
<射程 2>
返回["1","2"],否则返回"2"

返回值:
字符串(默认)、布尔值(第三个参数设置为 false)或字符串数组(第四个参数设置为 true)

代码块:
0224版及其之后的喵呜喵5基础脚本支持使用代码块处理备注结果,例如
$data_skills[技能ID].m5note("射程",0,true,true) { |res| msgbox res }


作者: taroxd    时间: 2015-2-24 16:15
本帖最后由 taroxd 于 2015-2-24 21:27 编辑

$data_skills[技能ID].shecheng

另外,如果用上 http://taroxd.github.io/rgss/Tar ... AE%BE%E7%BD%AE.html
前 12 行可简写为
class RPG::Skill
  note_i :射程, 1
  alias_method :shecheng, :射程
end





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