HELP++ [VX]
~ Allows more features for item/skill descriptions ~
by Enix2
v2.5
DESCRIPTIONThis window shows skill and item explanations along with actor status.
But unlike the original help, this help allows for special formating. Such
features include:
> Letter-by-letter mode
> colored text
> 2 lines of item/skill description
> display player names
> display variables
SETUPAll other info is in the script, but to install you simply put above "main"
and below "Materials"
SCREENSHOTS(these are 640px wide because I took them in a 640x480 format, working on
a screen resize module in which this script will be used in)
before:
Image3.png ( 12.77K )
Number of downloads: 364after:
Image2.png ( 16.38K )
Number of downloads: 315letter by letter in progress:
Image7.png ( 12.61K )
Number of downloads: 229 SCRIPT
#==============================================================================
# ** Help++ [VX]
# ~ Allows more features for item/skill descriptions ~
#--------------------------------------------------------------
# * by Enix2
# * Square Scripting Studios
# * Released on: 03/10/2009
# * Version: 2.5
#==============================================================================
# * Description:
#---------------------------------------------------------------------------
# This window shows skill and item explanations along with actor status.
# But unlike the original help, this help allows for special formating. Such
# features include:
# > Letter-by-letter mode
# > colored text
# > 2 lines of item/skill description
#===========================================================================
# * How to use/Install:
#---------------------------------------------------------------------------
# Installation is simple, insert this script below the "Materials" entry
# but above any other scripts.
# NOTE: MAY REQUIRE SOME EDITING TO CERTAIN SCENES
# How to use this script is just as simple:
# ~ To use a second line: just put | after the first line and before the
# second in the item/skill description.
# ~ To use colored text: simply use \c[n] before the place you want the color
# to change(just like changing text color in messages). and use \c[0] to
# return the color to default.
# ~ To use letter by letter mode: letter by letter is automaticly dis-abled,
# but to change it, simply change this to false
#--------------------------------------------------------------------------
INSTANTANEOUS = true
#(For you ambitious scripters, you can change the value during the scene's
#creation. IE, one line after this: @help_window = Window_Help.new
#you put this: @help_window.instantaneous = true/false
#NOTE THAT THAT WONT WORK UNLESS YOU:
#A.) REPLACE THE OLD HELP WINDOW WITH THIS
#OR B.) USE THAT COMMAND ON SCENES CREATED BELOW THIS SCRIPT)
#===========================================================================
# * Author's notes:
#---------------------------------------------------------------------------
# > Only RRR [rpgrevolution.com] is allowed to host this at the moment. If
# you'd like to post this else-where, please notify me first.
# > If you see this script at a site that doesn't have prior permission or
# isn't posted upon by ME(enix2), report the topic.
# > If you'd like to use this script in a commercial game, please notify me
# first.
# > For bug's/help you can find me at: RRR [rpgrevolution.com], or just post
# your questions in the topic that you find this script
#---------------------------------------------------------------------------
class Window_Help < Window_Base
attr_accessor :instantaneous
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(x = 0, y = 0, width = Graphics.width, height = 76)
super(x, y, width, height)
self.contents = Bitmap.new(width - 32, height - 32)
@instantaneous = INSTANTANEOUS
@wait_count = 0
@count = Graphics.frame_count
@x = 0
@y = 0
end
#--------------------------------------------------------------------------
# * Set Text
# text : text string displayed in window
# align : alignment 0 : left, 1 : center, 2 : right
#--------------------------------------------------------------------------
def set_text(text, align = 0, delay = nil)
if @delay != nil
return
end
@previous_text = @text
@previous_align = @align
@delay = delay
if text != @text or align != @align
self.contents.clear
@text = text
@new_text = text.dup
@align = align
@x = 0
@y = 0
if @instantaneous
while (c = @new_text.slice!(/./m)) != nil
write_char©
end
end
end
self.visible = true
end
#--------------------------------------------------------------------------
# * Clear
#--------------------------------------------------------------------------
def clear
self.contents.clear
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
unless @delay.nil?
@delay -= 1
if @delay == 0
@delay = nil
set_text(@previous_text, @previous_align)
end
end
return if @instantaneous
if @new_text != nil and @new_text != ""
speed = 1
if Graphics.frame_count >= @count + speed
@count = Graphics.frame_count
c = @new_text.slice!(/./m)
if c != nil
write_char©
end
end
return
end
end
#--------------------------------------------------------------------------
# * Process and write the given character
#--------------------------------------------------------------------------
def write_char©
@new_text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
@new_text.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name }
@new_text.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" }
@new_text.gsub!(/\\\\/) { "\\" }
case c
when "\\"
c = "\\"
when "\x01"
@new_text.sub!(/\[([0-9]+)\]/, "")
self.contents.font.color = text_color($1.to_i)
return
when "|"
@y += 1
@x = 0
c = nil
end
line = self.contents.text_size("j").height
self.contents.draw_text(4 + @x, (line * @y) + (@y * 2) - 8, 40, 32, c)
@x += self.contents.text_size©.width
end
end
class Scene_Item
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_menu_background
@viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
@help_window = Window_Help.new
@help_window.viewport = @viewport
@item_window = Window_Item.new(0, 76, Graphics.width, Graphics.height - 76)
@item_window.viewport = @viewport
@item_window.help_window = @help_window
@item_window.active = false
@target_window = Window_MenuStatus.new(0, 0)
hide_target_window
end
end
class Scene_Skill
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_menu_background
@actor = $game_party.members[@actor_index]
@viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
@help_window = Window_Help.new
@help_window.viewport = @viewport
@status_window = Window_SkillStatus.new(0, 76, @actor)
@status_window.viewport = @viewport
@skill_window = Window_Skill.new(0, 132, Graphics.width, Graphics.height - 132, @actor)
@skill_window.viewport = @viewport
@skill_window.help_window = @help_window
@target_window = Window_MenuStatus.new(0, 0)
hide_target_window
end
end
class Scene_Equip
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_menu_background
@actor = $game_party.members[@actor_index]
@help_window = Window_Help.new
create_item_windows
@equip_window = Window_Equip.new(Graphics.height / 2, 76, @actor)
@equip_window.help_window = @help_window
@equip_window.index = @equip_index
@status_window = Window_EquipStatus.new(0, 76, @actor)
end
#--------------------------------------------------------------------------
# * Create Item Window
#--------------------------------------------------------------------------
def create_item_windows
@item_windows = []
for i in 0...EQUIP_TYPE_MAX
@item_windows[i] = Window_EquipItem.new(0, 228, Graphics.width, Graphics.height - 228, @actor, i)
@item_windows[i].help_window = @help_window
@item_windows[i].visible = (@equip_index == i)
@item_windows[i].y = 228
@item_windows[i].height = Graphics.height - 228
@item_windows[i].active = false
@item_windows[i].index = -1
end
end
end
DEMON/A
AUTHOR'S NOTES > Only RRR [rpgrevolution.com] is allowed to host this at the moment. If
you'd like to post this else-where, please notify me first.
> If you see this script at a site that doesn't have prior permission or
isn't posted upon by ME(enix2), report the topic.
> If you'd like to use this script in a commercial game, please notify me
first.
> For bug's/help you can find me at: RRR[rpgrevolution.com], or just post
your questions in the topic that you find this script
> Please give credit if you use this script. (although, you dont have to,
if you don't, and make a game using it, i'll hunt you down XD)