[RMVX] EXPANDED ITEM/SKILL DESCRIPTION

Posts

Pages: 1
Greetings!

Is there a way to make more lines of the item/skill description window (with add the "note" in there as well to make longer description) like in VX ACE? In that script I only used these for VX ACE:
class Window_Help < Window_Base

def initialize(line_number = 3)
super(0, 0, Graphics.width, fitting_height(line_number))
end

def set_item(item)
set_text(item ? item.description + "\n" + item.note : "")
end


With the changes I made above in VX ACE (and what I would like in VX) for example:
I found the simple script what I needed!!! I had to search it in japanese language and found one!!! (more lines; new line with \N; formatted texts): http://ytomy.sakura.ne.jp/tkool/rpgtech/php/tech.php?tool=VX&cat=tech_vx/base_function&tech=help_extension

Draw Format Text script is needed (that draws formatted texts; if you don't need it then just rename the
"self.contents.draw_format_text" to "self.contents.draw_text" at the "Text setting" part).

Translated to make it easier:

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ 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 KGC
module HelpExtension
# Number of lines of Help Window
ROW_MAX = 3

# Button used when Status Window of Shop Screen scrolls
SHOP_STATUS_SCROLL_BUTTON = Input::A
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

$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
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ 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
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ 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
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ 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
}
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ 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::DOWN)
max_pos = [@status_window.contents.height -
(@status_window.height - 32), 0].max
@status_window.oy = [@status_window.oy + 4, max_pos].min
end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ 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
end
end

To add the item/skill note to the description I simply renamed the followings (just like at the VXAce case):

At Window_Item:

@help_window.set_text(item == nil ? "" : item.description + item.note)

At Window_Skill:

@help_window.set_text(skill == nil ? "" : skill.description + skill.note)

With this you can make the note in a new line or lines (according to the raws) with the \N.

And to show them in the equip and shop windows you also have to rename:

At Window_Equip and Window_ShopBuy:

@help_window.set_text(item == nil ? "" : item.description + item.note)


Hope this helps somebodies.
Pages: 1