One noticeable change is game event and game character, most are identical to there vx counterpart's but game_event seems to have been simplified for the better.
RGSS
CODE
class Game_Event < Game_Character
# ------------------------------------
attr_reader :trigger
attr_reader :list
attr_reader :starting
# ------------------------------------
def initialize(map_id, event)
super()
@map_id = map_id
@event = event
@id = @event.id
@erased = false
@starting = false
moveto(@event.x, @event.y)
refresh
end
# ------------------------------------
def clear_starting
@starting = false
end
# ------------------------------------
def over_trigger?
if @character_name != "" and not @through
return false
end
unless $game_map.passable?(@x, @y, 0)
return false
end
return true
end
# ------------------------------------
def start
if @list.size > 1
@starting = true
end
end
# ------------------------------------
def erase
@erased = true
refresh
end
# ------------------------------------
def refresh
new_page = nil
unless @erased
for page in @event.pages.reverse
c = page.condition
if c.switch1_valid
if $game_switches[c.switch1_id] == false
next
end
end
if c.switch2_valid
if $game_switches[c.switch2_id] == false
next
end
end
if c.variable_valid
if $game_variables[c.variable_id] < c.variable_value
next
end
end
if c.self_switch_valid
key = [@map_id, @event.id, c.self_switch_ch]
if $game_self_switches[key] != true
next
end
end
new_page = page
break
end
end
if new_page == @page
return
end
@page = new_page
clear_starting
if @page == nil
@tile_id = 0
@character_name = ""
@character_hue = 0
@move_type = 0
@trigger = nil
@list = nil
@interpreter = nil
return
end
@tile_id = @page.graphic.tile_id
@character_name = @page.graphic.character_name
@character_hue = @page.graphic.character_hue
if @original_direction != @page.graphic.direction
@direction = @page.graphic.direction
@original_direction = @direction
@prelock_direction = 0
end
if @original_pattern != @page.graphic.pattern
@pattern = @page.graphic.pattern
@original_pattern = @pattern
end
@opacity = @page.graphic.opacity
@blend_type = @page.graphic.blend_type
@move_type = @page.move_type
@move_speed = @page.move_speed
@move_frequency = @page.move_frequency
@move_route = @page.move_route
@move_route_index = 0
@move_route_forcing = false
@walk_anime = @page.walk_anime
@step_anime = @page.step_anime
@direction_fix = @page.direction_fix
@through = @page.through
@always_on_top = @page.always_on_top
@trigger = @page.trigger
@list = @page.list
@interpreter = nil
if @trigger == 4
@interpreter = Interpreter.new
end
check_event_trigger_auto
end
# ------------------------------------
def check_event_trigger_touch(x, y)
if $game_system.map_interpreter.running?
return
end
if @trigger == 2 and x == $game_player.x and y == $game_player.y
unless over_trigger?
start
end
end
end
# ------------------------------------
def check_event_trigger_auto
if @trigger == 2
if @x == $game_player.x and @y == $game_player.y and over_trigger?
start
end
end
if @trigger == 3
start
end
end
# ------------------------------------
def update
super
check_event_trigger_auto
if @interpreter != nil
unless @interpreter.running?
@interpreter.setup(@list, @event.id)
end
@interpreter.update
end
end
end
# ------------------------------------
attr_reader :trigger
attr_reader :list
attr_reader :starting
# ------------------------------------
def initialize(map_id, event)
super()
@map_id = map_id
@event = event
@id = @event.id
@erased = false
@starting = false
moveto(@event.x, @event.y)
refresh
end
# ------------------------------------
def clear_starting
@starting = false
end
# ------------------------------------
def over_trigger?
if @character_name != "" and not @through
return false
end
unless $game_map.passable?(@x, @y, 0)
return false
end
return true
end
# ------------------------------------
def start
if @list.size > 1
@starting = true
end
end
# ------------------------------------
def erase
@erased = true
refresh
end
# ------------------------------------
def refresh
new_page = nil
unless @erased
for page in @event.pages.reverse
c = page.condition
if c.switch1_valid
if $game_switches[c.switch1_id] == false
next
end
end
if c.switch2_valid
if $game_switches[c.switch2_id] == false
next
end
end
if c.variable_valid
if $game_variables[c.variable_id] < c.variable_value
next
end
end
if c.self_switch_valid
key = [@map_id, @event.id, c.self_switch_ch]
if $game_self_switches[key] != true
next
end
end
new_page = page
break
end
end
if new_page == @page
return
end
@page = new_page
clear_starting
if @page == nil
@tile_id = 0
@character_name = ""
@character_hue = 0
@move_type = 0
@trigger = nil
@list = nil
@interpreter = nil
return
end
@tile_id = @page.graphic.tile_id
@character_name = @page.graphic.character_name
@character_hue = @page.graphic.character_hue
if @original_direction != @page.graphic.direction
@direction = @page.graphic.direction
@original_direction = @direction
@prelock_direction = 0
end
if @original_pattern != @page.graphic.pattern
@pattern = @page.graphic.pattern
@original_pattern = @pattern
end
@opacity = @page.graphic.opacity
@blend_type = @page.graphic.blend_type
@move_type = @page.move_type
@move_speed = @page.move_speed
@move_frequency = @page.move_frequency
@move_route = @page.move_route
@move_route_index = 0
@move_route_forcing = false
@walk_anime = @page.walk_anime
@step_anime = @page.step_anime
@direction_fix = @page.direction_fix
@through = @page.through
@always_on_top = @page.always_on_top
@trigger = @page.trigger
@list = @page.list
@interpreter = nil
if @trigger == 4
@interpreter = Interpreter.new
end
check_event_trigger_auto
end
# ------------------------------------
def check_event_trigger_touch(x, y)
if $game_system.map_interpreter.running?
return
end
if @trigger == 2 and x == $game_player.x and y == $game_player.y
unless over_trigger?
start
end
end
end
# ------------------------------------
def check_event_trigger_auto
if @trigger == 2
if @x == $game_player.x and @y == $game_player.y and over_trigger?
start
end
end
if @trigger == 3
start
end
end
# ------------------------------------
def update
super
check_event_trigger_auto
if @interpreter != nil
unless @interpreter.running?
@interpreter.setup(@list, @event.id)
end
@interpreter.update
end
end
end
RGSS3
CODE
#==============================================================================
# â– Game_Event
#------------------------------------------------------------------------------
#  イベントを扱ã�†ã‚¯ãƒ©ã‚¹ã�§ã�™ã€‚æ�¡ä»¶åˆ¤å®šã�«ã‚ˆã‚‹ã‚¤ãƒ™ãƒ³ãƒˆãƒšãƒ
¼ã‚¸åˆ‡ã‚Šæ›¿ã�ˆã‚„ã€�並列処ç�†
# イベント実行���機能を����り�Game_Map クラス�内部�使用�れ��。
#==============================================================================
class Game_Event < Game_Character
#--------------------------------------------------------------------------
# � 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :trigger # トリガー
attr_reader :list # 実行内容
attr_reader :starting # èµ·å‹•ä¸ãƒ•ラグ
#--------------------------------------------------------------------------
# � オブジェクト�期化
# event : RPG::Event
#--------------------------------------------------------------------------
def initialize(map_id, event)
super()
@map_id = map_id
@event = event
@id = @event.id
moveto(@event.x, @event.y)
refresh
end
#--------------------------------------------------------------------------
# � 公開メン�変数��期化
#--------------------------------------------------------------------------
def init_public_members
super
@trigger = 0
@list = nil
@starting = false
end
#--------------------------------------------------------------------------
# � �公開メン�変数��期化
#--------------------------------------------------------------------------
def init_private_members
super
@move_type = 0 # 移動タイプ
@erased = false # 一時消去フラグ
@page = nil # イベントページ
end
#--------------------------------------------------------------------------
# â—� ã‚ャラクターã�¨ã�®è¡�çª�判定
#--------------------------------------------------------------------------
def collide_with_characters?(x, y)
super || collide_with_player_characters?(x, y)
end
#--------------------------------------------------------------------------
# â—� プレイヤーã�¨ã�®è¡�çª�判定(フォãƒãƒ¯ãƒ¼ã‚’å�«ã‚€ï¼‰
#--------------------------------------------------------------------------
def collide_with_player_characters?(x, y)
normal_priority? && $game_player.collide?(x, y)
end
#--------------------------------------------------------------------------
# â—� ãƒãƒƒã‚¯ï¼ˆå®Ÿè¡Œä¸ã�®ã‚¤ãƒ™ãƒ³ãƒˆã�Œç«‹ã�¡æ¢ã�¾ã‚‹å‡¦ç�†ï¼‰
#--------------------------------------------------------------------------
def lock
unless @locked
@prelock_direction = @direction
turn_toward_player
@locked = true
end
end
#--------------------------------------------------------------------------
# â—� ãƒãƒƒã‚¯è§£é™¤
#--------------------------------------------------------------------------
def unlock
if @locked
@locked = false
set_direction(@prelock_direction)
end
end
#--------------------------------------------------------------------------
# â—� å�œæ¢æ™‚ã�®æ›´æ–°
#--------------------------------------------------------------------------
def update_stop
super
update_self_movement unless @move_route_forcing
end
#--------------------------------------------------------------------------
# � 自律移動�更新
#--------------------------------------------------------------------------
def update_self_movement
if near_the_screen? && @stop_count > stop_count_threshold
case @move_type
when 1; move_type_random
when 2; move_type_toward_player
when 3; move_type_custom
end
end
end
#--------------------------------------------------------------------------
# â—� ç”»é�¢ã�®å�¯è¦–é ˜åŸŸä»˜è¿‘ã�«ã�„ã‚‹ã�‹åˆ¤å®š
# dx : ç”»é�¢ä¸å¤®ã�‹ã‚‰å·¦å�³ä½•マス以内を判定ã�™ã‚‹ã�‹
# dy : ç”»é�¢ä¸å¤®ã�‹ã‚‰ä¸Šä¸‹ä½•マス以内を判定ã�™ã‚‹ã�‹
#--------------------------------------------------------------------------
def near_the_screen?(dx = 12, dy = 8)
ax = $game_map.adjust_x(@real_x) - Graphics.width / 2 / 32
ay = $game_map.adjust_y(@real_y) - Graphics.height / 2 / 32
ax >= -dx && ax <= dx && ay >= -dy && ay <= dy
end
#--------------------------------------------------------------------------
# â—� 自律移動を開始ã�™ã‚‹å�œæ¢ã‚«ã‚¦ãƒ³ãƒˆã�®é–¾å€¤ã‚’計算
#--------------------------------------------------------------------------
def stop_count_threshold
30 * (5 - @move_frequency)
end
#--------------------------------------------------------------------------
# â—� 移動タイプ : ランダãƒ
#--------------------------------------------------------------------------
def move_type_random
case rand(6)
when 0..1; move_random
when 2..4; move_forward
when 5; @stop_count = 0
end
end
#--------------------------------------------------------------------------
# � 移動タイプ : 近��
#--------------------------------------------------------------------------
def move_type_toward_player
if near_the_player?
case rand(6)
when 0..3; move_toward_player
when 4; move_random
when 5; move_forward
end
else
move_random
end
end
#--------------------------------------------------------------------------
# � プレイヤー�近���る�判定
#--------------------------------------------------------------------------
def near_the_player?
sx = distance_x_from($game_player.x).abs
sy = distance_y_from($game_player.y).abs
sx + sy < 20
end
#--------------------------------------------------------------------------
# â—� 移動タイプ : カスタãƒ
#--------------------------------------------------------------------------
def move_type_custom
update_routine_move
end
#--------------------------------------------------------------------------
# â—� èµ·å‹•ä¸ãƒ•ラグã�®ã‚¯ãƒªã‚¢
#--------------------------------------------------------------------------
def clear_starting_flag
@starting = false
end
#--------------------------------------------------------------------------
# � 実行内容�空���を判定
#--------------------------------------------------------------------------
def empty?
!@list || @list.size <= 1
end
#--------------------------------------------------------------------------
# � 指定�れ�トリガー���れ����を判定
# triggers : トリガー��列
#--------------------------------------------------------------------------
def trigger_in?(triggers)
triggers.include?(@trigger)
end
#--------------------------------------------------------------------------
# � イベント起動
#--------------------------------------------------------------------------
def start
return if empty?
@starting = true
lock if trigger_in?([0,1,2])
end
#--------------------------------------------------------------------------
# � 一時消去
#--------------------------------------------------------------------------
def erase
@erased = true
refresh
end
#--------------------------------------------------------------------------
# � リフレッシュ
#--------------------------------------------------------------------------
def refresh
new_page = @erased ? nil : find_proper_page
setup_page(new_page) if !new_page || new_page != @page
end
#--------------------------------------------------------------------------
# � �件���イベントページを見��る
#--------------------------------------------------------------------------
def find_proper_page
@event.pages.reverse.find {|page| conditions_met?(page) }
end
#--------------------------------------------------------------------------
# � イベントページ��件�致判定
#--------------------------------------------------------------------------
def conditions_met?(page)
c = page.condition
if c.switch1_valid
return false unless $game_switches[c.switch1_id]
end
if c.switch2_valid
return false unless $game_switches[c.switch2_id]
end
if c.variable_valid
return false if $game_variables[c.variable_id] < c.variable_value
end
if c.self_switch_valid
key = [@map_id, @event.id, c.self_switch_ch]
return false if $game_self_switches[key] != true
end
if c.item_valid
item = $data_items[c.item_id]
return false unless $game_party.has_item?(item)
end
if c.actor_valid
actor = $game_actors[c.actor_id]
return false unless $game_party.members.include?(actor)
end
return true
end
#--------------------------------------------------------------------------
# � イベントページ�セットアップ
#--------------------------------------------------------------------------
def setup_page(new_page)
@page = new_page
if @page
setup_page_settings
else
clear_page_settings
end
update_bush_depth
clear_starting_flag
check_event_trigger_auto
end
#--------------------------------------------------------------------------
# â—� イベントページã�®è¨å®šã‚’クリア
#--------------------------------------------------------------------------
def clear_page_settings
@tile_id = 0
@character_name = ""
@character_index = 0
@move_type = 0
@through = true
@trigger = nil
@list = nil
@interpreter = nil
end
#--------------------------------------------------------------------------
# â—� イベントページã�®è¨å®šã‚’セットアップ
#--------------------------------------------------------------------------
def setup_page_settings
@tile_id = @page.graphic.tile_id
@character_name = @page.graphic.character_name
@character_index = @page.graphic.character_index
if @original_direction != @page.graphic.direction
@direction = @page.graphic.direction
@original_direction = @direction
@prelock_direction = 0
end
if @original_pattern != @page.graphic.pattern
@pattern = @page.graphic.pattern
@original_pattern = @pattern
end
@move_type = @page.move_type
@move_speed = @page.move_speed
@move_frequency = @page.move_frequency
@move_route = @page.move_route
@move_route_index = 0
@move_route_forcing = false
@walk_anime = @page.walk_anime
@step_anime = @page.step_anime
@direction_fix = @page.direction_fix
@through = @page.through
@priority_type = @page.priority_type
@trigger = @page.trigger
@list = @page.list
@interpreter = @trigger == 4 ? Game_Interpreter.new : nil
end
#--------------------------------------------------------------------------
# � 接触イベント�起動判定
#--------------------------------------------------------------------------
def check_event_trigger_touch(x, y)
return if $game_map.interpreter.running?
if @trigger == 2 && $game_player.pos?(x, y)
start if !jumping? && normal_priority?
end
end
#--------------------------------------------------------------------------
# � 自動イベント�起動判定
#--------------------------------------------------------------------------
def check_event_trigger_auto
start if @trigger == 3
end
#--------------------------------------------------------------------------
# � フレーム更新
#--------------------------------------------------------------------------
def update
super
check_event_trigger_auto
return unless @interpreter
@interpreter.setup(@list, @event.id) unless @interpreter.running?
@interpreter.update
end
end
# â– Game_Event
#------------------------------------------------------------------------------
#  イベントを扱ã�†ã‚¯ãƒ©ã‚¹ã�§ã�™ã€‚æ�¡ä»¶åˆ¤å®šã�«ã‚ˆã‚‹ã‚¤ãƒ™ãƒ³ãƒˆãƒšãƒ
¼ã‚¸åˆ‡ã‚Šæ›¿ã�ˆã‚„ã€�並列処ç�†
# イベント実行���機能を����り�Game_Map クラス�内部�使用�れ��。
#==============================================================================
class Game_Event < Game_Character
#--------------------------------------------------------------------------
# � 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :trigger # トリガー
attr_reader :list # 実行内容
attr_reader :starting # èµ·å‹•ä¸ãƒ•ラグ
#--------------------------------------------------------------------------
# � オブジェクト�期化
# event : RPG::Event
#--------------------------------------------------------------------------
def initialize(map_id, event)
super()
@map_id = map_id
@event = event
@id = @event.id
moveto(@event.x, @event.y)
refresh
end
#--------------------------------------------------------------------------
# � 公開メン�変数��期化
#--------------------------------------------------------------------------
def init_public_members
super
@trigger = 0
@list = nil
@starting = false
end
#--------------------------------------------------------------------------
# � �公開メン�変数��期化
#--------------------------------------------------------------------------
def init_private_members
super
@move_type = 0 # 移動タイプ
@erased = false # 一時消去フラグ
@page = nil # イベントページ
end
#--------------------------------------------------------------------------
# â—� ã‚ャラクターã�¨ã�®è¡�çª�判定
#--------------------------------------------------------------------------
def collide_with_characters?(x, y)
super || collide_with_player_characters?(x, y)
end
#--------------------------------------------------------------------------
# â—� プレイヤーã�¨ã�®è¡�çª�判定(フォãƒãƒ¯ãƒ¼ã‚’å�«ã‚€ï¼‰
#--------------------------------------------------------------------------
def collide_with_player_characters?(x, y)
normal_priority? && $game_player.collide?(x, y)
end
#--------------------------------------------------------------------------
# â—� ãƒãƒƒã‚¯ï¼ˆå®Ÿè¡Œä¸ã�®ã‚¤ãƒ™ãƒ³ãƒˆã�Œç«‹ã�¡æ¢ã�¾ã‚‹å‡¦ç�†ï¼‰
#--------------------------------------------------------------------------
def lock
unless @locked
@prelock_direction = @direction
turn_toward_player
@locked = true
end
end
#--------------------------------------------------------------------------
# â—� ãƒãƒƒã‚¯è§£é™¤
#--------------------------------------------------------------------------
def unlock
if @locked
@locked = false
set_direction(@prelock_direction)
end
end
#--------------------------------------------------------------------------
# â—� å�œæ¢æ™‚ã�®æ›´æ–°
#--------------------------------------------------------------------------
def update_stop
super
update_self_movement unless @move_route_forcing
end
#--------------------------------------------------------------------------
# � 自律移動�更新
#--------------------------------------------------------------------------
def update_self_movement
if near_the_screen? && @stop_count > stop_count_threshold
case @move_type
when 1; move_type_random
when 2; move_type_toward_player
when 3; move_type_custom
end
end
end
#--------------------------------------------------------------------------
# â—� ç”»é�¢ã�®å�¯è¦–é ˜åŸŸä»˜è¿‘ã�«ã�„ã‚‹ã�‹åˆ¤å®š
# dx : ç”»é�¢ä¸å¤®ã�‹ã‚‰å·¦å�³ä½•マス以内を判定ã�™ã‚‹ã�‹
# dy : ç”»é�¢ä¸å¤®ã�‹ã‚‰ä¸Šä¸‹ä½•マス以内を判定ã�™ã‚‹ã�‹
#--------------------------------------------------------------------------
def near_the_screen?(dx = 12, dy = 8)
ax = $game_map.adjust_x(@real_x) - Graphics.width / 2 / 32
ay = $game_map.adjust_y(@real_y) - Graphics.height / 2 / 32
ax >= -dx && ax <= dx && ay >= -dy && ay <= dy
end
#--------------------------------------------------------------------------
# â—� 自律移動を開始ã�™ã‚‹å�œæ¢ã‚«ã‚¦ãƒ³ãƒˆã�®é–¾å€¤ã‚’計算
#--------------------------------------------------------------------------
def stop_count_threshold
30 * (5 - @move_frequency)
end
#--------------------------------------------------------------------------
# â—� 移動タイプ : ランダãƒ
#--------------------------------------------------------------------------
def move_type_random
case rand(6)
when 0..1; move_random
when 2..4; move_forward
when 5; @stop_count = 0
end
end
#--------------------------------------------------------------------------
# � 移動タイプ : 近��
#--------------------------------------------------------------------------
def move_type_toward_player
if near_the_player?
case rand(6)
when 0..3; move_toward_player
when 4; move_random
when 5; move_forward
end
else
move_random
end
end
#--------------------------------------------------------------------------
# � プレイヤー�近���る�判定
#--------------------------------------------------------------------------
def near_the_player?
sx = distance_x_from($game_player.x).abs
sy = distance_y_from($game_player.y).abs
sx + sy < 20
end
#--------------------------------------------------------------------------
# â—� 移動タイプ : カスタãƒ
#--------------------------------------------------------------------------
def move_type_custom
update_routine_move
end
#--------------------------------------------------------------------------
# â—� èµ·å‹•ä¸ãƒ•ラグã�®ã‚¯ãƒªã‚¢
#--------------------------------------------------------------------------
def clear_starting_flag
@starting = false
end
#--------------------------------------------------------------------------
# � 実行内容�空���を判定
#--------------------------------------------------------------------------
def empty?
!@list || @list.size <= 1
end
#--------------------------------------------------------------------------
# � 指定�れ�トリガー���れ����を判定
# triggers : トリガー��列
#--------------------------------------------------------------------------
def trigger_in?(triggers)
triggers.include?(@trigger)
end
#--------------------------------------------------------------------------
# � イベント起動
#--------------------------------------------------------------------------
def start
return if empty?
@starting = true
lock if trigger_in?([0,1,2])
end
#--------------------------------------------------------------------------
# � 一時消去
#--------------------------------------------------------------------------
def erase
@erased = true
refresh
end
#--------------------------------------------------------------------------
# � リフレッシュ
#--------------------------------------------------------------------------
def refresh
new_page = @erased ? nil : find_proper_page
setup_page(new_page) if !new_page || new_page != @page
end
#--------------------------------------------------------------------------
# � �件���イベントページを見��る
#--------------------------------------------------------------------------
def find_proper_page
@event.pages.reverse.find {|page| conditions_met?(page) }
end
#--------------------------------------------------------------------------
# � イベントページ��件�致判定
#--------------------------------------------------------------------------
def conditions_met?(page)
c = page.condition
if c.switch1_valid
return false unless $game_switches[c.switch1_id]
end
if c.switch2_valid
return false unless $game_switches[c.switch2_id]
end
if c.variable_valid
return false if $game_variables[c.variable_id] < c.variable_value
end
if c.self_switch_valid
key = [@map_id, @event.id, c.self_switch_ch]
return false if $game_self_switches[key] != true
end
if c.item_valid
item = $data_items[c.item_id]
return false unless $game_party.has_item?(item)
end
if c.actor_valid
actor = $game_actors[c.actor_id]
return false unless $game_party.members.include?(actor)
end
return true
end
#--------------------------------------------------------------------------
# � イベントページ�セットアップ
#--------------------------------------------------------------------------
def setup_page(new_page)
@page = new_page
if @page
setup_page_settings
else
clear_page_settings
end
update_bush_depth
clear_starting_flag
check_event_trigger_auto
end
#--------------------------------------------------------------------------
# â—� イベントページã�®è¨å®šã‚’クリア
#--------------------------------------------------------------------------
def clear_page_settings
@tile_id = 0
@character_name = ""
@character_index = 0
@move_type = 0
@through = true
@trigger = nil
@list = nil
@interpreter = nil
end
#--------------------------------------------------------------------------
# â—� イベントページã�®è¨å®šã‚’セットアップ
#--------------------------------------------------------------------------
def setup_page_settings
@tile_id = @page.graphic.tile_id
@character_name = @page.graphic.character_name
@character_index = @page.graphic.character_index
if @original_direction != @page.graphic.direction
@direction = @page.graphic.direction
@original_direction = @direction
@prelock_direction = 0
end
if @original_pattern != @page.graphic.pattern
@pattern = @page.graphic.pattern
@original_pattern = @pattern
end
@move_type = @page.move_type
@move_speed = @page.move_speed
@move_frequency = @page.move_frequency
@move_route = @page.move_route
@move_route_index = 0
@move_route_forcing = false
@walk_anime = @page.walk_anime
@step_anime = @page.step_anime
@direction_fix = @page.direction_fix
@through = @page.through
@priority_type = @page.priority_type
@trigger = @page.trigger
@list = @page.list
@interpreter = @trigger == 4 ? Game_Interpreter.new : nil
end
#--------------------------------------------------------------------------
# � 接触イベント�起動判定
#--------------------------------------------------------------------------
def check_event_trigger_touch(x, y)
return if $game_map.interpreter.running?
if @trigger == 2 && $game_player.pos?(x, y)
start if !jumping? && normal_priority?
end
end
#--------------------------------------------------------------------------
# � 自動イベント�起動判定
#--------------------------------------------------------------------------
def check_event_trigger_auto
start if @trigger == 3
end
#--------------------------------------------------------------------------
# � フレーム更新
#--------------------------------------------------------------------------
def update
super
check_event_trigger_auto
return unless @interpreter
@interpreter.setup(@list, @event.id) unless @interpreter.running?
@interpreter.update
end
end
My overall thought is that I love rgss3 and ruby 1.9, things just seem neater and cleaner.
