Project1

标题: 如何查找一个开关具体在哪个地图上? [打印本页]

作者: a107480098    时间: 2015-10-13 22:12
标题: 如何查找一个开关具体在哪个地图上?
如何查找一个开关具体在哪个地图上?我在游戏里建了好多开关,比如11号开关,而我又忘记了这个开关具体在哪个地图上。
可以用脚本写在编辑器里找到这个开关吗?应该怎么写?或者有什么更快捷的方法?谢谢!

作者: 汪汪    时间: 2015-10-13 22:48
本帖最后由 汪汪 于 2015-10-14 08:18 编辑

RUBY 代码复制
  1. $jilu = []
  2. $cz = 1            #搜索的开关号
  3.   for @map_id in 1..3        #搜索的地图号1到3         
  4.     # 地图 ID 记录到 @map_id
  5.     @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))  rescue next      
  6.     # 设置地图事件数据
  7.  
  8.     for i in @map.events.keys
  9.       @event =  @map.events[i]      
  10.       @id = @event.id
  11.       for page in @event.pages.reverse
  12.         # 可以参考事件条件 c
  13.         c = page.condition
  14.         # 可以参考事件条件 c
  15.         # 确认开关条件 1
  16.         if c.switch1_valid
  17.           if c.switch1_id == $cz
  18.             $jilu.push([ @map_id,@event.id])
  19.           end
  20.         end
  21.         # 确认开关条件 2
  22.         if c.switch2_valid
  23.           if c.switch2_id == $cz
  24.             $jilu.push([ @map_id,@event.id])
  25.           end
  26.         end
  27.       end
  28.     end
  29.   end
  30. p $jilu

作者: a107480098    时间: 2015-10-13 23:26
本帖最后由 a107480098 于 2015-10-13 23:42 编辑
汪汪 发表于 2015-10-13 22:48
$jilu = []
$cz = 1            #搜索的开关号
  for @map_id in 1..3        #搜索的地图号1到3         


脚本第11行有错误。

作者: 枫の叶    时间: 2015-10-21 10:20
你要说清楚开关是用来干什么的,
是用来控制事件的打开和关闭;还是在事件的内容里作为条件分歧,或直接改变开关状态。
作者: taroxd    时间: 2015-10-21 13:53
本帖最后由 taroxd 于 2015-10-21 18:18 编辑

楼主用自己的经历证明了全局变量的坏处

下面这个脚本可以在用到开关的时候给提醒(未测试)
RUBY 代码复制
  1. class Game_Switches
  2.   alias get_switch_20151021 []
  3.   def [](switch_id)
  4.     if switch_id == 11
  5.       puts "用到了11号开关!"
  6.     end
  7.     get_switch_20151021(switch_id)
  8.   end
  9.   alias set_switch_20151021 []=
  10.   def []=(switch_id, value)
  11.     if switch_id == 11
  12.       puts "用到了11号开关!"
  13.     end
  14.     set_switch_20151021(switch_id, value)
  15.   end
  16. end if $TEST

作者: jiushiainilip19    时间: 2015-10-21 15:29
taroxd 发表于 2015-10-21 13:53
楼主用自己的经历证明了全局变量的坏处

下面这个脚本可以在用到开关的时候给提醒(未测试)

放进去 在打开11开关的时候没提醒。。。
作者: 汪汪    时间: 2015-10-21 19:45
本帖最后由 汪汪 于 2015-10-21 22:39 编辑

添加 公共事件搜索
返回文件版

额,总之会很慢的拉.......

简化版....大概应该会快一点.....

额,无用的最终版,搜索公共事件,队伍,事件,移动路线,内的开关操作.......





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