本帖最后由 VIPArcher 于 2014-6-8 22:38 编辑
#============================================================================== # ☆ Custom Adventure 踩踏/置物判断 # -- Last Updated: 2014.6.3 # -- by Moy # -- 转载请保留以上信息 #============================================================================== # 本脚本判断一个在人物下层的事件是否被其他事件/角色踩踏 # 对本事件使用只需要在分歧脚本中使用get_character(0).stepped_on?即可。 # 判断别的事件请自行获取实例后使用。 #============================================================================== # ■ Game_Event #============================================================================== class Game_Event < Game_Character #-------------------------------------------------------------------------- # ● 判断本事件是否被其他事件/角色踩踏 #-------------------------------------------------------------------------- def stepped_on? stepped_by_events?(@x,@y) || stepped_by_player_characters?(@x, @y) end #-------------------------------------------------------------------------- # ● 判断某位置是否被其他事件踩踏 #-------------------------------------------------------------------------- def stepped_by_events?(x, y) $game_map.events_xy_nt(x, y).any? do |event| event.normal_priority? end end #-------------------------------------------------------------------------- # ● 判断某位置是否被主控角色踩踏 #-------------------------------------------------------------------------- def stepped_by_player_characters?(x, y) @priority_type == 0 && $game_player.collide?(x, y) end end
#==============================================================================
# ☆ Custom Adventure 踩踏/置物判断
# -- Last Updated: 2014.6.3
# -- by Moy
# -- 转载请保留以上信息
#==============================================================================
# 本脚本判断一个在人物下层的事件是否被其他事件/角色踩踏
# 对本事件使用只需要在分歧脚本中使用get_character(0).stepped_on?即可。
# 判断别的事件请自行获取实例后使用。
#==============================================================================
# ■ Game_Event
#==============================================================================
class Game_Event < Game_Character
#--------------------------------------------------------------------------
# ● 判断本事件是否被其他事件/角色踩踏
#--------------------------------------------------------------------------
def stepped_on?
stepped_by_events?(@x,@y) || stepped_by_player_characters?(@x, @y)
end
#--------------------------------------------------------------------------
# ● 判断某位置是否被其他事件踩踏
#--------------------------------------------------------------------------
def stepped_by_events?(x, y)
$game_map.events_xy_nt(x, y).any? do |event|
event.normal_priority?
end
end
#--------------------------------------------------------------------------
# ● 判断某位置是否被主控角色踩踏
#--------------------------------------------------------------------------
def stepped_by_player_characters?(x, y)
@priority_type == 0 && $game_player.collide?(x, y)
end
end
用这个脚本
3个开关都分歧条件get_character(0).stepped_on?
门哪里就分歧当变量X >=3时开门
又传了个工程,事件和脚本方法都有,自己看着做吧。
呼唤@Sion |