事件调用物品、技能、装备、状态菜单 1.0 [VX]
#==============================================================================
# ■ 事件调用物品、技能、装备、状态菜单 1.0 [VX]
# http://orzFly.com/RM/MoreSceneFromEvent
#------------------------------------------------------------------------------
# 在事件中快速调用物品、技能、装备、状态菜单。
#------------------------------------------------------------------------------
# 使用方法:
#
# 方法 1:推荐!与注释调用系统 http://orzFly.com/RM/PowerComments 配合使用。
# 需要注释调用系统 1.0 以上版本。请将本脚本置于注释调用系统接入包之下。
#
# 您可以在事件的注释中使用如下的自然语言来调用:
# o 显示物品界面
# o 打开技能窗口
# o 调用装备界面 3号角色
# o 打开4号角色的状态
# o 打开技能窗口哦~亲~我可以指定是哪个角色么?哦~是4号角色的哦~
# o 打开3号角色的猥琐无比的真orzFly的技能窗口~
#
# 方法 2:事件中使用脚本调用。
# o $game_temp.next_scene = "item"
# o $game_temp.next_scene = ["skill", 0]
# o $game_temp.next_scene = ["equip", 0]
# o $game_temp.next_scene = ["status", 0]
# 其中 0 为角色队伍编号。队伍中第一位为 0,第二位为 1。以此类推。
#------------------------------------------------------------------------------
# - 1.0 [VX] by orzFly [[email protected]]
# * 首个版本
#==============================================================================
class Scene_Map < Scene_Base
alias update_scene_change_map_more_scene update_scene_change
def update_scene_change
return if $game_player.moving?
return call_item if $game_temp.next_scene == "item"
if $game_temp.next_scene.is_a?(Array)
return call_skill($game_temp.next_scene[1]) \
if $game_temp.next_scene[0] == "skill"
return call_equip($game_temp.next_scene[1]) \
if $game_temp.next_scene[0] == "equip"
return call_status($game_temp.next_scene[1]) \
if $game_temp.next_scene[0] == "status"
end
return update_scene_change_map_more_scene
end
def call_item
$game_temp.next_scene = nil
$scene = Scene_Item_Map.new
end
def call_skill(index)
$game_temp.next_scene = nil
$scene = Scene_Skill_Map.new(
(index.nil? or $game_party.members[index].nil?) ? 0 : index
)
end
def call_equip(index)
$game_temp.next_scene = nil
$scene = Scene_Equip_Map.new(
(index.nil? or $game_party.members[index].nil?) ? 0 : index
)
end
def call_status(index)
$game_temp.next_scene = nil
$scene = Scene_Status_Map.new(
(index.nil? or $game_party.members[index].nil?) ? 0 : index
)
end
end
["Scene_Item", "Scene_Skill", "Scene_Equip", "Scene_Status"].each { |s|
eval("class #{s}_Map<#{s};def return_scene;$scene=Scene_Map.new;end;end")
}
unless PowerComments.nil?
if PowerComments.methods.include?("register_command")
PowerComments.register_command(/^(打开|调用|显示).*?物品/, Proc.new {
$game_temp.next_scene = "item"
true
})
PowerComments.register_command(/
^(打开|调用|显示).*?([0-9]+).*?技能.*?$|
^(打开|调用|显示).*?技能.*?([0-9]+).*?$|
^(打开|调用|显示)[^0-9]*?技能[^0-9]*?$/x,
Proc.new { |_, _, _, x, _, y, _|
$game_temp.next_scene = [
"skill",
((y.nil? or y == "") ? (
(x.nil? or x == "") ? 0 : x.to_i - 1
) : y.to_i - 1)
]
true
}
)
PowerComments.register_command(/
^(打开|调用|显示).*?([0-9]+).*?装备.*?$|
^(打开|调用|显示).*?装备.*?([0-9]+).*?$|
^(打开|调用|显示)[^0-9]*?装备[^0-9]*?$/x,
Proc.new { |_, _, _, x, _, y, _|
$game_temp.next_scene = [
"equip",
((y.nil? or y == "") ? (
(x.nil? or x == "") ? 0 : x.to_i - 1
) : y.to_i - 1)
]
true
}
)
PowerComments.register_command(/
^(打开|调用|显示).*?([0-9]+).*?状态.*?$|
^(打开|调用|显示).*?状态.*?([0-9]+).*?$|
^(打开|调用|显示)[^0-9]*?状态[^0-9]*?$/x,
Proc.new { |_, _, _, x, _, y, _|
$game_temp.next_scene = [
"status",
((y.nil? or y == "") ? (
(x.nil? or x == "") ? 0 : x.to_i - 1
) : y.to_i - 1)
]
true
}
)
end
end