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

Project1

 找回密码
 注册会员
搜索

不在队伍的角色也能获的经验

查看数: 3229 | 评论数: 12 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-5-19 21:29

正文摘要:

本帖最后由 llzc22 于 2014-5-23 10:59 编辑 {:2_280:}大绅士们有这种脚本吗?即使不在队伍(死亡除外),每次打怪胜利也可以获得经验。 斑竹绅士不要扣分,搜索了很多次,就是木有……人物仓库不适用啊。 ------ ...

回复

taroxd 发表于 2014-5-22 11:36:29
英顺的马甲 发表于 2014-5-21 22:19
先前竟然回复错人了,呼叫@taroxd  

干脆在这里总结好了==

建议这样写(xp可能版本太低)
RUBY 代码复制
  1. def some_iterator(some_arg)
  2.   return to_enum(__method__, some_arg) unless block_given?
  3.   # start iteration
  4. end

点评

帮助新手的时候请别用不易理解的语法,人家看不懂发出来没意义。(PS:在同一层点评可以接到通知了  发表于 2014-5-22 15:11
llzc22 发表于 2014-5-21 23:48:24
英顺的马甲 发表于 2014-5-21 22:19
干脆在这里总结好了==
@fux2 我没测试过,如果有错帮忙纠正==

用这个插在MAIN前面并替换上次的脚本吗?但是会出现"Scene_Battle 2"168行的错误……

点评

不是,那个脚本是我对五楼的回复,不过貌似回复错了,请无视,解决方法请看fux2的回复==  发表于 2014-5-22 09:02
英顺的马甲 发表于 2014-5-21 22:19:22
本帖最后由 英顺的马甲 于 2014-5-22 09:05 编辑

先前竟然回复错人了,呼叫@taroxd {:6_334:}

干脆在这里总结好了==
@fux2 我没测试过,如果有错帮忙纠正==
  1. class Test
  2.   def initialize
  3.     @data = []
  4.   end
  5.   def a
  6.     @data.each{|a|yield a} if block_given?
  7.   end
  8.   def b
  9.     @data.each{|a|yield a}
  10.   end
  11.   def c(&block)
  12.     @data.each(&block)
  13.   end
  14.   def d(&block)
  15.     @data.each{|a|block.call(a)}
  16.   end
  17. end
  18. test = Test.new

  19. test.a # 运行成功
  20. test.b # 报错
  21. test.c # 报错
  22. test.d # 报错

  23. test.a{} # 运行成功
  24. test.b{} # 运行成功
  25. test.c{} # 运行成功
  26. test.d{} # 报错

  27. test.a{|a|} # 运行成功
  28. test.b{|a|} # 运行成功
  29. test.c{|a|} # 运行成功
  30. test.d{|a|} # 运行成功
复制代码
fux2 发表于 2014-5-21 20:25:35
llzc22 发表于 2014-5-21 19:48
这次出这个了……

把后半段换成5楼的。

点评

还是不行啊,依然173行出错  发表于 2014-5-21 23:44
fux2 发表于 2014-5-21 19:33:22
llzc22 发表于 2014-5-21 18:38
是从“Scene_Battle 2”168行覆盖没错吧,打死怪物之后出现了这个……

把2楼的class Game_Actor改成class Game_Actors
taroxd 发表于 2014-5-21 18:52:54
llzc22 发表于 2014-5-21 18:38
是从“Scene_Battle 2”168行覆盖没错吧,打死怪物之后出现了这个……

不懂XP,不过根据我对Ruby的理解,应该把上半段改为
  1. class Game_Actors
  2.   def each
  3.     @data.compact.each {|actor| yield actor }
  4.   end
  5. end
复制代码

点评

除了yield之外也能写成def each(&block); @data.compact.each(&block);end,上面是我少打字了 == 写成@data.compact.each{|a|block.call(a)};end也行,只是效果有些小差别==   发表于 2014-5-21 22:02
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-11 14:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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