注册会员 登录
Project1 返回首页

夜狠简单的个人空间 https://rpg.blue/?299141 [收藏] [复制] [分享] [RSS]

日志

【VX】搜索公共事件触发的事件位置

已有 262 次阅读2016-10-2 23:41 |个人分类:VX脚本

#任意地图的任意事件 -> 事件 -> 脚本 -> Reisen::MapCommonEvent.new(start, end) 
#start 表示要搜索的地图ID 的开始序号, end 是结尾序号.
#by 铃仙·优昙华院·因幡、夜RK
module Reisen
  class MapCommonEvent
    def initialize(startID = 1, endID = 100)
      @map_id ||= startID
      @fp = File.open("CommonEvent.log", "w")
        begin
          @map = load_data(sprintf("Data/Map%03d.rvdata", @map_id))
          @fp.write("地图ID:#{@map_id}\n")
          write_event
          @map_id += 1
        rescue
          @fp.write("地图ID:#{@map_id}\s<不存在>\n")
          @map_id += 1
        end until @map_id > endID
      @fp.close
    end
    def write_event
      @map.events.each {|key,value|value.pages.each{|page|page.list.each{|list|
            case list.code
            when 117  # 事件调用公共事件
              @fp.write("\t\s\s事件ID:#{key},事件坐标(#{value.x},#{value.y})"+
              "调用的公共事件ID为#{list.parameters[0]}\n")
            when 655,355  # 脚本事件
              list.parameters.each { |parameter|
              parameter =~ /\$game_temp.common_event_id\s*=\s*(\d+)/
              @fp.write("\t\s\s事件ID:#{key},事件坐标(#{value.x},#{value.y})"+"
              调用的公共事件ID为#{$1}\n") if $1}
            end}}}
    end
  end
end

鸡蛋

鲜花

评论 (0 个评论)

facelist doodle 涂鸦笔

您需要登录后才可以评论 登录 | 注册会员

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

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

GMT+8, 2024-5-5 18:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部