Project1

标题: 如何能快速找到想要的事件id [打印本页]

作者: miantouchi    时间: 2021-2-3 20:19
标题: 如何能快速找到想要的事件id
本帖最后由 miantouchi 于 2021-2-4 19:36 编辑

有个疑问,如果随着工程量变大,一张地图里面有许许多多的事件,假如有200个事件,怎么能快速找到第33个事件,
如何能从这些事件中快速找到并行事件。,如果前期一个误操作,或者设计的不得当,并行事件过多,怎么才能快速找到
设置并行事件。
作者: Hello``Bubble    时间: 2021-2-3 20:35
本帖最后由 Hello``Bubble 于 2021-2-3 20:53 编辑

#展示33号事件的X和Y坐标
p $game_map.events[33].x,$game_map.events[33].y

#查找所有事件
for event in $game_map.events.values
  #如果是并行处理
  if event.trigger == 4
     p “并行处理”,event.x,event.y
  end
end

不运行工程需要打开一些文件其实都是一样的
RUBY 代码复制
  1. 地图ID = 1
  2.  
  3. $data_tilesets      = load_data("Data/Tilesets.rxdata")
  4. $data_common_events = load_data("Data/CommonEvents.rxdata")
  5. $game_map           = Game_Map.new
  6. $game_map.setup(地图ID)
  7.  
  8. p $game_map.events[1].x,$game_map.events[1].y  # 寻找1号事件的位置
  9. exit

作者: enghao_lim    时间: 2021-2-4 02:31
本帖最后由 enghao_lim 于 2021-2-4 23:20 编辑

RUBY 代码复制
  1. maps = load_data("Data/MapInfos.rxdata")
  2. typ = ["决定键", "角色接触", "事件接触", "自动", "并行"]
  3. f = File.open("events.txt", "w")
  4. f.write("地图\t事件编号\t事件名称\t启动方式\tX坐标\tY坐标\r\n")
  5. maps.each{|m|
  6.   id = m[0];
  7.   name = m[1].name;
  8.   data = load_data(sprintf("Data/Map%03d.rxdata", id))
  9.   events = data.events
  10.   events.each{|e|
  11.     f.write(name + "\t" + e[0].to_s + "\t" + e[1].name + "\t" + typ[e[1].pages[0].trigger] +  "\t" + e[1].x.to_s + "\t" + e[1].y.to_s + "\r\n")
  12.   }
  13.  
  14. }
  15. f.close()
  16. exit

作者: soulsaga    时间: 2021-2-4 22:02
本帖最后由 soulsaga 于 2021-2-5 09:02 编辑

RUBY 代码复制
  1. maps = load_data("Data/MapInfos.rxdata")
  2. f = File.open("events.txt", "w")
  3. f.write("地图\t事件编号\t事件名称\tX坐标\tY坐标\r\n")
  4. maps.each{|m|
  5.   id = m[0];
  6.   name = m[1].name;
  7.   data = load_data(sprintf("Data/Map%03d.rxdata", id))
  8.   events = data.events
  9.   events.each{|e|
  10.   e[1].pages.each{|r|
  11.     f.write(name + "\t" + e[0].to_s + "\t" + e[1].name + "\t" + e[1].x.to_s + "\t" + e[1].y.to_s + "\r\n") if r.trigger==4#如果事件页是 [并行处理] 的情况下
  12.   }
  13.   }
  14. }
  15. f.close()
  16. exit


引用楼上大佬的脚本

萌新不懂脚本..如果有写错请帮忙




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