#==============================================================================
# ■ Game Event
#==============================================================================
class Game_Event < Game_Character
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_accessor :door # 标记
#--------------------------------------------------------------------------
# ● 获取画面 Z 坐标
#--------------------------------------------------------------------------
def screen_z
door&&(y>=$game_player.y) ? 200 : @priority_type * 100
end
alias what_setup_page_settings setup_page_settings
def setup_page_settings
what_setup_page_settings
return if @list == nil
for command in @list
if command.code == 108
if command.parameters[0] =~ /<door = (.*)>/
@door = $1.to_s
end
end
end
end
[pre lang="ruby"]
class Game_Event
attr_reader :event
end
class Game_Player
alias cld99_aliased_passable? passable?
def passable?(x, y, d)
has_door = $game_map.events_xy(x, y).find { |e| e.event.name.include?('door') }
return false if d == 2 && has_door
cld99_aliased_passable?(x, y, d)
end
end
[/pre]