设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1480|回复: 2
打印 上一主题 下一主题

[已经解决] 怎样调用通过备注栏获得的信息

[复制链接]

Lv1.梦旅人

梦石
0
星屑
61
在线时间
696 小时
注册时间
2011-1-4
帖子
208
跳转到指定楼层
1
发表于 2015-2-24 14:56:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
像下面这样写应该没错吧?但是如果想要在其他地方调用到的话该怎么办呢?例如想在对话中取得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  
复制代码

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
22069
在线时间
9455 小时
注册时间
2012-6-19
帖子
7123

开拓者短篇九导演组冠军

2
发表于 2015-2-24 15:49:21 | 只看该作者
本帖最后由 喵呜喵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 }

点评

只是为了统一读取任何备注的方式  发表于 2015-2-25 12:20
或者更快 obj.note['<baka>']  发表于 2015-2-25 08:23
第三个参数填 false 的时候还不如直接写 obj.note.include?('<baka>') 快呢……  发表于 2015-2-25 08:22
当一个备注只有两个值时第三个参数的用处就体现出来了(如果角色有XX备注/如果角色没有XX备注)  发表于 2015-2-24 21:58
第三个参数为 false 表示要检查的备注中并没有需要获取的数值  发表于 2015-2-24 21:54

评分

参与人数 1星屑 +100 收起 理由
taroxd + 100 卖萌&lt;del&gt;不&lt;/del&gt;可耻

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

3
发表于 2015-2-24 16:15:57 | 只看该作者
本帖最后由 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

点评

明天试试,估计又是哪里出的奇怪问题了。。 [s]打错字了也可能[/s]  发表于 2015-2-24 21:45
只要在数据库初始化之后再调用就没有问题。你发一下报错信息吧  发表于 2015-2-24 21:28
是不是因为我用数据库的敌群测试的原因??  发表于 2015-2-24 21:26
只要 $data_skills 已经初始化,技能 ID 是个正常的数应该就没问题  发表于 2015-2-24 21:24
这个是任何地方都能读取到吗?我之前有试过在Scene_Battle这样调用但是提示错误了  发表于 2015-2-24 21:15
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-7-22 10:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表