이벤트-> 조건분기, 스크립트, 이동루트의스크립트 등에서 쓸 수 있습니다.
get_front_event 라고 적어줄 경우에
앞에 아무것도 없으면 -1을 플레이어가 있으면 0을 이벤트가 있으면 이벤트의 ID를 돌려줍니다.
아래쪽 스크립트를 복사해 사용하시면 됩니다.
class Game_Interpreter
def get_front_event
d = @event_id == 0 ? $game_player.direction : $game_map.events[@event_id].direction
case d
when 2
return get_front_event_id([0,1])
when 4
return get_front_event_id([-1,0])
when 6
return get_front_event_id([1,0])
when 8
return get_front_event_id([0,-1])
end
end
def get_front_event_id(xy)
if @event_id > 0 and $game_player.x == ($game_map.events[@event_id].x + xy[0]) and
$game_player.y == ($game_map.events[@event_id].y + xy[1])
return 0
end
ary = $game_map.events_xy($game_map.events[@event_id].x + xy[0], $game_map.events[@event_id].y + xy[1])
id = ary == [] ? -1 : ary[0].id
return id
end
end
class Game_Event < Game_Event
def get_front_event
return @interpreter.get_front_event
end
end
#