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

Project1

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

[已经解决] 如何查找一个开关具体在哪个地图上?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
207 小时
注册时间
2014-8-16
帖子
132
跳转到指定楼层
1
发表于 2015-10-13 22:12:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
2
发表于 2015-10-13 22:48:06 | 只看该作者
本帖最后由 汪汪 于 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

点评

如果要更多,参考 f11,game_event 大概是这个。  发表于 2015-10-13 23:02
输出的前面是地图号,后面是事件号,  发表于 2015-10-13 23:01
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
207 小时
注册时间
2014-8-16
帖子
132
3
 楼主| 发表于 2015-10-13 23:26:50 | 只看该作者
本帖最后由 a107480098 于 2015-10-13 23:42 编辑
汪汪 发表于 2015-10-13 22:48
$jilu = []
$cz = 1            #搜索的开关号
  for @map_id in 1..3        #搜索的地图号1到3         


脚本第11行有错误。

点评

好像是直接输到网页上时有一个 [i]会莫名奇妙消失,已经修改  发表于 2015-10-14 08:20
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
451
在线时间
228 小时
注册时间
2015-2-23
帖子
241
4
发表于 2015-10-21 10:20:55 | 只看该作者
你要说清楚开关是用来干什么的,
是用来控制事件的打开和关闭;还是在事件的内容里作为条件分歧,或直接改变开关状态。

点评

好吧,条件分歧那没想到.....  发表于 2015-10-21 11:33
制作XP特效,找我。
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

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

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

开拓者贵宾

5
发表于 2015-10-21 13:53:51 | 只看该作者
本帖最后由 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

评分

参与人数 1星屑 +150 收起 理由
RyanBern + 150 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
596
在线时间
797 小时
注册时间
2014-7-1
帖子
578

开拓者

6
发表于 2015-10-21 15:29:55 | 只看该作者
taroxd 发表于 2015-10-21 13:53
楼主用自己的经历证明了全局变量的坏处

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

放进去 在打开11开关的时候没提醒。。。

点评

哦 忘了设置了 已修改  发表于 2015-10-21 18:19
玩不懂 还是老老实实在用开关的时候些清楚些 或者自己用文件写清楚 另外不是还有F9么  发表于 2015-10-21 17:30
大概是使用值的时候会有效吧...  发表于 2015-10-21 17:22
学习使我疲劳,打工使我疲惫,恋爱使我伤身,吸烟伤我肺腑,饮酒损我形象,旅游使我破费,月底不见铜板,只有在论坛里面看看各种大佬才能使我进去
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
7
发表于 2015-10-21 19:45:59 | 只看该作者
本帖最后由 汪汪 于 2015-10-21 22:39 编辑

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

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

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

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

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-29 17:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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