【脚本】物品选择处理时显示物品说明

预览

预览

=begin
===============================================================================
  物品选择处理时显示物品说明 By喵呜喵5
===============================================================================

【说明】

  在事件的物品选择处理部分显示一个描述物品说明的帮助窗口
  
  如果有修改默认的物品选择处理窗口的位置的话,
  建议也对本脚本中 update_placement 方法里的内容做出相应修改  

=end
$m5script ||= {}; $m5script[:M5KH201505016] = 20150516
module M5KH201505016
#==============================================================================
#  设定部分
#==============================================================================

  LINE = 1
  
  # 设置帮助窗口的行数,考虑到默认物品选择窗口的大小,行数仅支持 1 或 2
  # 懂脚本的话,可以在脚本第85行进行修改以突破这个限制

  POS2 = :mode0
  
  # 当不存在对话框或者对话框位置在画面下方时,帮助窗口的显示位置  
  #   :mode0 :显示在物品选择窗口【外部】的【下方】
  #   :mode1 :显示在物品选择窗口【内部】的【下方】
  #   :mode2 :显示在物品选择窗口【外部】的【上方】
  #   :mode3 :显示在物品选择窗口【内部】的【上方】
  #   nil : 不显示帮助窗口
  
  
  POS1 = :mode3
  
  # 当对话框位置在画面中央时,帮助窗口的显示位置
  #   :mode0 :显示在物品选择窗口【外部】的【下方】
  #   :mode1 :显示在物品选择窗口【内部】的【下方】
  #   :mode2 :显示在物品选择窗口【外部】的【上方】
  #   :mode3 :显示在物品选择窗口【内部】的【上方】
  #   nil : 不显示帮助窗口
  
  POS0 = :mode2
  
  # 当对话框位置在画面上方时,帮助窗口的显示位置
  #   :mode0 :显示在物品选择窗口【外部】的【下方】
  #   :mode1 :显示在物品选择窗口【内部】的【下方】
  #   :mode2 :显示在物品选择窗口【外部】的【上方】
  #   :mode3 :显示在物品选择窗口【内部】的【上方】
  #   nil : 不显示帮助窗口

#==============================================================================
#  设定结束
#==============================================================================
end
class Window_KeyItem
  alias m5_20150501_update_placement update_placement
  def update_placement
    self.height = @m5_20150501_origin_height
    m5_20150501_update_placement
    setting = eval "M5KH201505016::POS#{$game_message.position}"
    self.height -= @help_window.height if setting == :mode1 || setting == :mode3
    case setting
    when :mode1 # 显示在物品选择窗口【内部】的【下方】
      @help_window.y = self.y + self.height
    when :mode3 # 显示在物品选择窗口【内部】的【上方】
      @help_window.y = self.y
      self.y += @help_window.height
    when :mode0 # 显示在物品选择窗口【外部】的【下方】
      self.y -= @help_window.height if self.y > 0
      @help_window.y = self.y + self.height
    when :mode2 # 显示在物品选择窗口【外部】的【上方】
      self.y -= @help_window.height if self.y > 0
      @help_window.y = self.y
      self.y += @help_window.height
    else # 不显示帮助窗口
      @help_window.y = Graphics.height
    end    
  end
  alias m5_20150501_initialize initialize
  def initialize *ars
    m5_20150501_initialize *ars
    @m5_20150501_origin_height = self.height
    @help_window = Window_Help.new([[1,M5KH201505016::LINE].max,2].min)
    @help_window.openness = 0    
  end
  alias m5_20150501_update update
  def update; m5_20150501_update; @help_window.update; end
  alias m5_20150501_dispose dispose
  def dispose; m5_20150501_dispose; @help_window.dispose; end
  alias m5_20150501_open open
  def open; m5_20150501_open; @help_window.open; end
  alias m5_20150501_close close
  def close; m5_20150501_close; @help_window.close; end
end

发表评论

电子邮件地址不会被公开。 必填项已用*标注