查看: 1481|回复: 0

重复设置事件

[复制链接]

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-12-20 15:21:17 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 taroxd 于 2015-2-4 21:09 编辑

公共事件没法调教整个事件页真是残念

[pre lang="ruby" line="1"]

#----------------------------------------------------------------------------
# ● require Taroxd基础设置
#    简化重复事件的设置
#----------------------------------------------------------------------------
#    使用方法:
#      在事件名称上备注 <render event_id>
#        那么这个事件会完全被该地图中的事件 event_id 代替。
#      在事件名称上备注 <render event_id map_id>
#        那么这个事件会完全被地图 map_id 中的事件 event_id 代替。
#----------------------------------------------------------------------------

module Taroxd::RenderEvent

  # 获取地图(RPG::Map)。map_id 为 0 时获取当前地图。
  def self.load_map(map_id)
    case map_id
    when 0, $game_map.map_id
      $game_map.data_object
    when @last_map_id
      @last_map
    else
      @last_map_id = map_id
      @last_map = load_data sprintf("Data/Map%03d.rvdata2", map_id)
    end
  end
end

class RPG::Event

  # 重定义:获取事件页
  def pages
    @rendered_pages ||= rendered_pages
  end

  private

  def rendered_pages
    return @pages unless @name =~ /<render\s+(\d+)(\s+\d+)?>/i
    Taroxd::RenderEvent.load_map($2.to_i).events[$1.to_i].pages
  end

end
[/pre]

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本发帖返回顶部