| 本帖最后由 星小彩 于 2013-6-18 15:26 编辑 
 我在整合系统里发现的 不过我没试的  你试试吧
 
 
 保存事件位置(作者:feizhaodan)主要功能是当主角离开地图,再次回归时,系统自动读取角色离开时事件的位置并且使事件到那个位置上(VA默认是回来时重新将事件归为原位),所以这个脚本增强了真实性(对我而言吧,对大家来说或许没用。。)。感觉还是不错的,即插即用。
 适用游戏:图块绘制的地图,事件较多的游戏
 
 #==============================================================================# ■ Game_Map#------------------------------------------------------------------------------#  管理地图的类。拥有卷动地图以及判断通行度的功能。#   本类的实例请参考 $game_map 。#============================================================================== class Game_Map  #--------------------------------------------------------------------------  # ● 初始化对象  #--------------------------------------------------------------------------  alias save_event_pos_initialize initialize  def initialize    save_event_pos_initialize    @event_pos = {}  end  #--------------------------------------------------------------------------  # ● 设置  #--------------------------------------------------------------------------  alias save_event_pos_setup setup  def setup(map_id)    save_event_pos    save_event_pos_setup(map_id)    load_event_pos  end  #--------------------------------------------------------------------------  # ● 保存事件位置  #--------------------------------------------------------------------------  def save_event_pos    return if @map_id == 0    @event_pos[@map_id] ||= []    @events.each{|i,e|    @event_pos[@map_id][i] = [e.x,e.y]    }  end  #--------------------------------------------------------------------------  # ● 读取事件位置  #--------------------------------------------------------------------------  def load_event_pos    return if @map_id == 0    @event_pos[@map_id] ||= []    @events.each{|i,e|    next unless @event_pos[@map_id][i]    e.moveto(@event_pos[@map_id][i][0],@event_pos[@map_id][i][1])    }  endend
#============================================================================== 
# ■ Game_Map 
#------------------------------------------------------------------------------ 
#  管理地图的类。拥有卷动地图以及判断通行度的功能。 
#   本类的实例请参考 $game_map 。 
#============================================================================== 
  
class Game_Map 
  #-------------------------------------------------------------------------- 
  # ● 初始化对象 
  #-------------------------------------------------------------------------- 
  alias save_event_pos_initialize initialize 
  def initialize 
    save_event_pos_initialize 
    @event_pos = {} 
  end 
  #-------------------------------------------------------------------------- 
  # ● 设置 
  #-------------------------------------------------------------------------- 
  alias save_event_pos_setup setup 
  def setup(map_id) 
    save_event_pos 
    save_event_pos_setup(map_id) 
    load_event_pos 
  end 
  #-------------------------------------------------------------------------- 
  # ● 保存事件位置 
  #-------------------------------------------------------------------------- 
  def save_event_pos 
    return if @map_id == 0 
    @event_pos[@map_id] ||= [] 
    @events.each{|i,e| 
    @event_pos[@map_id][i] = [e.x,e.y] 
    } 
  end 
  #-------------------------------------------------------------------------- 
  # ● 读取事件位置 
  #-------------------------------------------------------------------------- 
  def load_event_pos 
    return if @map_id == 0 
    @event_pos[@map_id] ||= [] 
    @events.each{|i,e| 
    next unless @event_pos[@map_id][i] 
    e.moveto(@event_pos[@map_id][i][0],@event_pos[@map_id][i][1]) 
    } 
  end 
end 
 |