=begin ============================================================================== ** Event Position Author: Hime Version: 1.0 Date: May 18, 2012 ------------------------------------------------------------------------------ ** Change log 1.0 May 18 -Initial release ------------------------------------------------------------------------------ Extended position checks for character objects (players, events, etc) Access using $game_player.last_x, $game_player.last_y, etc. Or, for short-hand, just use the convenience methods provided for the Interpreter event_pos(event_id) event_last_pos(event_id) player_pos player_last_pos These return an array of values representing information about the current position or the last position Supports 4-dir and 8-dir movement, but not jumping ============================================================================== =end $imported = {} if $imported.nil? $imported["Tsuki_EventPosition"] = true #============================================================================== # ** Rest of the Script #============================================================================== class Game_CharacterBase attr_accessor :last_x attr_accessor :last_y attr_accessor :last_region_id alias event_position_init_char_memebers init_public_members def init_public_members event_position_init_char_memebers @last_x = -1 @last_y = -1 @last_region_id = 0 end def update_last_pos(d) if passable?(@x, @y, d) @last_x = @x @last_y = @y @last_region_id = region_id end end alias event_position_move_straight move_straight def move_straight(d, turn_ok = true) update_last_pos(d) event_position_move_straight(d, turn_ok) end alias event_position_move_diagonal move_diagonal def move_diagonal(horz, vert) update_last_pos(d) event_position_move_diagonal(horz, vert) end end class Game_Interpreter def event_pos(event_id) [$game_map.events[event_id].x, $game_map.events[event_id].y] end def event_last_pos(event_id) [$game_map.events[event_id].last_x, $game_map.events[event_id].last_y] end def player_pos [$game_player.x, $game_player.y] end def player_last_pos [$game_player.last_x, $game_player.last_y] end end