Project1

标题: 如何在备注里使用脚本? [打印本页]

作者: 思考_William    时间: 2011-7-30 21:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: Kimu    时间: 2011-7-30 21:54
你如果可以写脚本,那么你问的问题也就不是个问题了

note在数据库中只是个字符串
作者: 神思    时间: 2011-7-30 22:29
str = "p 1+1"
eval(str);

希望对楼主有启发。
作者: fux2    时间: 2011-7-30 22:30
注释既然可以保存下来,那么它一定可以被读取,于是系统读它用来提示,我们读它就可以做别的事情了.
作者: 思考_William    时间: 2011-7-30 22:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: qwe6301913    时间: 2011-7-30 22:47
沉影不器 大大 写过一个读取rmvx备注 你看看或许对你有帮助


qwe6301913于2011-7-30 22:51补充以下内容:
代码复制
  1. #============================================================================
  2. # 装备、状态增加新能力
  3. # 将本脚本放在素材区(MAIN上面,其他脚本下面)
  4. # 在数据库装备设置和状态设置里面的备注栏写上 <MDF n> 中间有空格,n为装备增加的能力值,以及状态使能力变为n%
  5. #============================================================================
  6. class RPG::BaseItem
  7. def mdf #魔抗
  8. m = 0
  9. self.note.split(/{\r\n}+/).each { |line|
  10. m = $1.to_i if line =~ /\<MDF (\d+)\>/
  11. }
  12. return m
  13. end
  14. end
  15. class RPG::State
  16. def mdf_rate #魔抗改变比率
  17. m = 100
  18. self.note.split(/{\r\n}+/).each { |line|
  19. m = $1.to_i if line =~ /\<MDFR (\d+)\>/
  20. }
  21. return m
  22. end
  23. end
这一段是读取RMVX里备注的脚本 在防具武器备注里写<MDF n>就能读取所谓的魔抗值 你看看应该对你有帮助
作者: 思考_William    时间: 2011-7-31 22:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: 冰舞蝶恋    时间: 2011-8-1 16:02
在备注里写固定的字符 然后用脚本库里的脚本读取 再进行判断 然后发动相关脚本。
作者: 忧雪の伤    时间: 2011-8-11 23:07
本帖最后由 忧雪の伤 于 2011-8-11 23:10 编辑

Kernel#eval(str)
str 作为代码执行。


a example: eval("p It's an example!") # => 'It's an example'
作者: orzfly    时间: 2011-8-18 02:19
本帖最后由 orzfly 于 2011-8-18 02:20 编辑

楼主是说想使用事件指令中的注释那个来实现调用一些脚本的功能么?注释这个事件指令在很多国外的脚本中就用来调用脚本了,只是人家都是写的自然语言!!!!脚本插入事件解释器分析注释的内容调用相应功能,比如
注释: 切换至物品界面
这样调用可比
脚本: $scene=Scene_Item.new
人性化多。不过解析毕竟要速度。

而且要具体脚本的支持。
作者: IamI    时间: 2011-8-18 11:32
备注的主要功能是用来干奇怪的事情= =v
简单的说就是在数据库里添加了一个没有用的杂项(类似DNet中的Tag),加外挂脚本的时候设定比较方便。
直接启动的话
eval(item.note) 就是,item是一个BaseItem对象。不过这样简单粗暴的做法很少见,一般来说都是在备注里面写特定字符串然后正则解析执行特定功能。




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