#==============================================================================
# ★ Custom Adventure 区域随机事件定位
# -- Last Updated: 2014.5.16
# -- by Moy
# -- 转载请保留以上信息
#==============================================================================
#==============================================================================
# ■ Game_Map
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# ● 获取区域内的随机(空闲)坐标
#--------------------------------------------------------------------------
def get_region_xy(region)
@region_map = Hash.new if @region_map.nil?
if @region_map[region].nil?
@region_map[region] = Array.new
index = 0
for x in 0..width
for y in 0..height
if region_id(x,y) == region
@region_map[region][index]= [x,y]
index += 1
end
end
end
else
index = @region_map[region].length
end
if index > 0
x,y = @region_map[region][rand(index)]
return x,y if events_xy(x, y).empty?
end
return -1,-1
end
end
#==============================================================================
# ■ Game_Interpreter
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ● 将本事件放入某区域的随机位置上
#--------------------------------------------------------------------------
def put_in_region(region)
x,y = $game_map.get_region_xy(region)
if x != -1 && y != -1
get_character(0).moveto(x,y)
end
end
end