#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/#_/ Help Window Extension - KGC_HelpExtension VX #_/ Last update : 2007/12/19#_/----------------------------------------------------------------------------#_/ Enhances the function of the Help Window.#_/============================================================================#_/ For VX use, this script draws formatted texts so#_/ "DrawFormatText" (書式指定文字描画) script is also needed.#_/ #_/ TL note: If you want only normal text, at "Text setting" just rename the#_/ "self.contents.draw_format_text" to "self.contents.draw_text"#_/ then you don't need the other script.#_/ #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/#==============================================================================# *** Item customization ***#==============================================================================module KGCmodule HelpExtension # Number of lines of Help Window ROW_MAX = 3 # Button used when Status Window of Shop Screen scrolls SHOP_STATUS_SCROLL_BUTTON = Input::Aendend#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★$imported = {} if $imported == nil$imported["HelpExtension"] = true#==============================================================================# ■ Window_Help#==============================================================================class Window_Help < Window_Base attr_reader :row_max #-------------------------------------------------------------------------- # ● Object Initialization #-------------------------------------------------------------------------- alias initialize_KGC_HelpExtension initialize def initialize @row_max = 1 initialize_KGC_HelpExtension end #-------------------------------------------------------------------------- # ● Number of lines setting #-------------------------------------------------------------------------- def row_max=(value) @row_max = [value, 1].max self.height = WLH * @row_max + 32 create_contents # Contents restoration text = @text align = @align @text = @align = nil set_text(text, align) end #-------------------------------------------------------------------------- # ● Text setting # text : character string displayed in window # align : alignment (0..flush left, 1..center, 2..flush right) #-------------------------------------------------------------------------- def set_text(text, align = 0) if text != @text or align != @align self.contents.clear self.contents.font.color = normal_color font_buf = self.contents.font.clone # \N[x] - when you want a new line buf = text.gsub(/\\N(\[\d+\])/i) { "\\__#{$1}" } lines = buf.split(/(?:[|]|\\n)/i) lines.each_with_index { |l, i| # Changed \N[x] returns and draws. l.gsub!(/\\__(\[\d+\])/i) { "\\N#{$1}" } self.contents.draw_format_text(4, i * WLH, self.width + 40, WLH, l, align) } self.contents.font = font_buf @text = text @align = align end endend#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#==============================================================================# ■ Scene_Item#==============================================================================class Scene_Item < Scene_Base #-------------------------------------------------------------------------- # ● Start processing #-------------------------------------------------------------------------- alias start_KGC_HelpExtension start def start start_KGC_HelpExtension adjust_window_size end #-------------------------------------------------------------------------- # ● Window size adjust #-------------------------------------------------------------------------- def adjust_window_size @help_window.row_max = KGC::HelpExtension::ROW_MAX @item_window.y = @help_window.height @item_window.height = Graphics.height - @help_window.height @item_window.refresh endend#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#==============================================================================# ■ Scene_Skill#==============================================================================class Scene_Skill < Scene_Base #-------------------------------------------------------------------------- # ● Start processing #-------------------------------------------------------------------------- alias start_KGC_HelpExtension start def start start_KGC_HelpExtension adjust_window_size end #-------------------------------------------------------------------------- # ● Window size adjust #-------------------------------------------------------------------------- def adjust_window_size @help_window.row_max = KGC::HelpExtension::ROW_MAX @status_window.y = @help_window.height dy = @help_window.height + @status_window.height @skill_window.y = dy @skill_window.height = Graphics.height - dy @skill_window.refresh endend#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#==============================================================================# ■ Scene_Equip#==============================================================================class Scene_Equip < Scene_Base #-------------------------------------------------------------------------- # ● Start processing #-------------------------------------------------------------------------- alias start_KGC_HelpExtension start def start start_KGC_HelpExtension adjust_window_size end #-------------------------------------------------------------------------- # ● Window size adjust #-------------------------------------------------------------------------- def adjust_window_size @help_window.row_max = KGC::HelpExtension::ROW_MAX @equip_window.y = @help_window.height @status_window.y = @help_window.height resize_item_windows end #-------------------------------------------------------------------------- # ● Item Window size change #-------------------------------------------------------------------------- def resize_item_windows @item_windows.each { |w| dy = @help_window.height + @equip_window.height w.y = dy w.height = Graphics.height - dy w.refresh } endend#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#==============================================================================# ■ Scene_Shop#==============================================================================class Scene_Shop < Scene_Base #-------------------------------------------------------------------------- # ● Start processing #-------------------------------------------------------------------------- alias start_KGC_HelpExtension start def start start_KGC_HelpExtension adjust_window_size end #-------------------------------------------------------------------------- # ● Window size adjust #-------------------------------------------------------------------------- def adjust_window_size @help_window.row_max = KGC::HelpExtension::ROW_MAX @command_window.y = @help_window.height @gold_window.y = @help_window.height dy = @help_window.height + @command_window.height @dummy_window.y = @buy_window.y = @sell_window.y = @number_window.y = @status_window.y = dy @dummy_window.height = @buy_window.height = @sell_window.height = @number_window.height = @status_window.height = Graphics.height - dy @dummy_window.create_contents @number_window.create_contents end #-------------------------------------------------------------------------- # ● Frame update #-------------------------------------------------------------------------- alias udpate_KGC_HelpExtension update def update if !@command_window.active && Input.press?(KGC::HelpExtension::SHOP_STATUS_SCROLL_BUTTON) super update_menu_background update_scroll_status return else @status_window.cursor_rect.empty end udpate_KGC_HelpExtension end #-------------------------------------------------------------------------- # ● Status Window scroll processing #-------------------------------------------------------------------------- def update_scroll_status @status_window.cursor_rect.width = @status_window.contents.width @status_window.cursor_rect.height = @status_window.height - 32 @status_window.update if Input.press?(Input::UP) @status_window.oy = [@status_window.oy - 4, 0].max elsif Input.press?(Input:

OWN) max_pos = [@status_window.contents.height - (@status_window.height - 32), 0].max @status_window.oy = [@status_window.oy + 4, max_pos].min end endend#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#==============================================================================# ■ Scene_Battle#==============================================================================class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● Skill selection start #-------------------------------------------------------------------------- alias start_skill_selection_KGC_HelpExtension start_skill_selection def start_skill_selection start_skill_selection_KGC_HelpExtension adjust_skill_window_size end #-------------------------------------------------------------------------- # ● Skill Window size adjust #-------------------------------------------------------------------------- def adjust_skill_window_size @help_window.row_max = KGC::HelpExtension::ROW_MAX @skill_window.y = @help_window.height @skill_window.height = Graphics.height - (@help_window.height + @status_window.height) @skill_window.refresh end #-------------------------------------------------------------------------- # ● Item Selection start #-------------------------------------------------------------------------- alias start_item_selection_KGC_HelpExtension start_item_selection def start_item_selection start_item_selection_KGC_HelpExtension adjust_item_window_size end #-------------------------------------------------------------------------- # ● Item Window size adjust #-------------------------------------------------------------------------- def adjust_item_window_size @help_window.row_max = KGC::HelpExtension::ROW_MAX @item_window.y = @help_window.height @item_window.height = Graphics.height - (@help_window.height + @status_window.height) @item_window.refresh endend