Simple Message Busts

Hollow

(◡‿◡✿)
Veteran
Joined
Jul 14, 2012
Messages
519
Reaction score
439
First Language
English
Primarily Uses
RMMV
Simple Message Busts v1.0
by Hollow​

Introduction
This script allows the use of large portraits (busts) in place of facesets in message boxes.

Features

  • Easy to install, and easy to use.
  • Show more detailed portraits of your characters.



How to Use:

  • Create a new script slot below Materials and above Main in the Script Editor.
  • Copy and paste the script into the new slot.
  • Adjust the settings to your preferences.
  • Save all busts to the "Faces" folder.
  • Enjoy! :wub:
Image Requirements
Each individual bust must be in its own file, but the bust itself may be any size. In addition, the bust's filename must include the symbol chosen in the settings. If not, the script won't recognize it as a bust, and so it won't display properly in the message box.

Script

Code:
#==============================================================================
# ** Simple Message Busts
#------------------------------------------------------------------------------ 
# Engine: RPG Maker VX Ace
# Author: Hollow
#==============================================================================
# * Instructions
#------------------------------------------------------------------------------
#  This script allows the use of large portraits (busts) in place of facesets 
# in message boxes. All busts should be saved to the "Graphics/Faces" folder,
# and it's file-name must include the symbol chosen in the settings below. To 
# use in game, simply select the bust you wish to use in the faceset box of the 
# "Show Text" command. The script will do the rest. 
#==============================================================================
# ** Settings
#============================================================================== 
module HMB  
  BUST_INDENT = 180           
  # Indentation width for text when bust is shown.
  BUST_OFFSET = -75           
  # Bust image's offset on the x-axis.
  BUST_SYMBOL = "!"           
  # Symbol to differentiate busts from facesets.
end # HMB 
#==============================================================================
# ** Window_Message
#============================================================================== 
class Window_Message < Window_Base  
  #--------------------------------------------------------------------------  
  # * Alias  
  #--------------------------------------------------------------------------  
  alias hmb_window_message_create_back_bitmap create_back_bitmap  
  alias hmb_window_message_dispose dispose  
  alias hmb_window_message_update_back_sprite update_back_sprite  
  #--------------------------------------------------------------------------  
  # * Create Background Bitmap  
  #--------------------------------------------------------------------------  
  def create_back_bitmap    
    @bust = Sprite.new if @bust.nil?    
    @bust.visible = true    
    @bust.z = z + 1    
    hmb_window_message_create_back_bitmap  
  end  
  #--------------------------------------------------------------------------  
  # * Free  
  #--------------------------------------------------------------------------  
  def dispose    
    hmb_window_message_dispose    
    dispose_bust  
  end  
  #--------------------------------------------------------------------------  
  # * Free Bust  
  #--------------------------------------------------------------------------  
  def dispose_bust    
    @bust.dispose if !@bust.nil?    
    @bust.bitmap.dispose if !@bust.bitmap.nil?  
  end  
  #--------------------------------------------------------------------------  
  # * Update Background Sprite  
  #--------------------------------------------------------------------------  
  def update_back_sprite    
    hmb_window_message_update_back_sprite    
    update_bust if openness > 0  
  end  
  #--------------------------------------------------------------------------  
  # * Update Bust  
  #--------------------------------------------------------------------------  
  def update_bust    
    if $game_message.face_name.include?(HMB::BUST_SYMBOL)      
      @bust.bitmap = Cache.face($game_message.face_name)      
      @bust.x = HMB::BUST_OFFSET      
      @bust.y = Graphics.height - @bust.height    
    else      
      @bust.bitmap = nil    
    end    
    @bust.update  
  end  
  #--------------------------------------------------------------------------  
  # * Get New Line Position  
  #--------------------------------------------------------------------------  
  def new_line_x    
    if $game_message.face_name.include?(HMB::BUST_SYMBOL)      
      $game_message.face_name.empty? ? 0 : HMB::BUST_INDENT    
    else      
      $game_message.face_name.empty? ? 0 : 112   
    end  
  end  
  #--------------------------------------------------------------------------  
  # * Draw Face Graphic  
  #--------------------------------------------------------------------------  
  def draw_face(face_name, face_index, x, y, enabled = true)    
    return if $game_message.face_name.include?(HMB::BUST_SYMBOL)    
    super  
  end
end # Window_Message
Terms
Free for non-commercial and commercial use as long as you credit me. :)

Author's Note
I wrote this up a little while ago for personal use but decided to share since it is pretty simple. I hope you guys can get some good use out of it!
 
Last edited:

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
39,649
Reaction score
13,262
First Language
English
Primarily Uses
RMMV
Nice! Got resource specifications? Is it still 8 per file, and what size do they have to be?
 
Last edited by a moderator:

Hollow

(◡‿◡✿)
Veteran
Joined
Jul 14, 2012
Messages
519
Reaction score
439
First Language
English
Primarily Uses
RMMV
Oh, I totally forgot those! It's only one bust per file, but the busts themselves can be any size. :)

I'll add that to the OP right now.
 

Probotector 200X

Probotect and Serve
Veteran
Joined
Mar 14, 2012
Messages
910
Reaction score
167
Primarily Uses
I second this request. It looks really cool but that formatting, it's giving me nightmares...
 

Phonantiphon

Veteran
Veteran
Joined
Jan 17, 2016
Messages
261
Reaction score
145
First Language
English
Primarily Uses
Yep - the formatting is making my teeth itch... >_>
 

TheoAllen

Self-proclaimed jack of all trades
Veteran
Joined
Mar 16, 2012
Messages
5,439
Reaction score
6,255
First Language
Indonesian
Primarily Uses
RMVXA
The fixed ver of the script bcz someone want this to be fixed (untested tho, so test it urself and report the result :p )
Code:
#==============================================================================
#** Simple Message Busts
#------------------------------------------------------------------------------
# Engine: RPG Maker VX Ace
# Author: Hollow
#==============================================================================
# * Instructions
#------------------------------------------------------------------------------
#  This script allows the use of large portraits (busts) in place of facesets
# in message boxes. All busts should be saved to the "Graphics/Faces" folder,
# and it's file-name must include the symbol chosen in the settings below. To
# use in game, simply select the bust you wish to use in the faceset box of the
# "Show Text" command. The script will do the rest.
#==============================================================================
# ** Settings
#==============================================================================
module HMB
  BUST_INDENT = 180          
  # Indentation width for text when bust is shown.  
  BUST_OFFSET = -75          
  # Bust image's offset on the x-axis.  
  BUST_SYMBOL = "!"          
  # Symbol to differentiate busts from facesets.
end
#==============================================================================
# ** Window_Message
#==============================================================================
class Window_Message < Window_Base
  #--------------------------------------------------------------------------
  # * Alias
  #--------------------------------------------------------------------------
  alias hmb_window_message_create_back_bitmap create_back_bitmap
  alias hmb_window_message_dispose       dispose
  alias hmb_window_message_update_back_sprite update_back_sprite
  #--------------------------------------------------------------------------
  # * Create Background Bitmap
  #--------------------------------------------------------------------------
  def create_back_bitmap  
    @bust = Sprite.new if @bust.nil?  
    @bust.visible = true  
    @bust.z = z + 1  
    hmb_window_message_create_back_bitmap
  end
  #--------------------------------------------------------------------------
  # * Free
  #--------------------------------------------------------------------------
  def dispose  
    hmb_window_message_dispose  
    dispose_bust
  end
 #--------------------------------------------------------------------------
 # * Free Bust
 #--------------------------------------------------------------------------
  def dispose_bust  
    @bust.dispose if !@bust.nil?  
    @bust.bitmap.dispose if !@bust.bitmap.nil?
  end
  #--------------------------------------------------------------------------
  # * Update Background Sprite
  #--------------------------------------------------------------------------
  def update_back_sprite  
    hmb_window_message_update_back_sprite  
    update_bust if openness > 0
  end
  #--------------------------------------------------------------------------
  # * Update Bust
  #--------------------------------------------------------------------------
  def update_bust  
    if $game_message.face_name.include?(HMB::BUST_SYMBOL)    
      @bust.bitmap = Cache.face($game_message.face_name)    
      @bust.x = HMB::BUST_OFFSET    
      @bust.y = Graphics.height - @bust.height  
    else    
      @bust.bitmap = nil  
    end  
    @bust.update
  end
  #--------------------------------------------------------------------------
  # * Get New Line Position
  #--------------------------------------------------------------------------
  def new_line_x  
    if $game_message.face_name.include?(HMB::BUST_SYMBOL)    
      $game_message.face_name.empty? ? 0 : HMB::BUST_INDENT  
    else    
      $game_message.face_name.empty? ? 0 : 112  
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Face Graphic
  #--------------------------------------------------------------------------
  def draw_face(face_name, face_index, x, y, enabled = true)  
    return if $game_message.face_name.include?(HMB::BUST_SYMBOL)  
    super
  end
end # Window_Message
 
Last edited:

BunnyNubNub

Veteran
Veteran
Joined
Sep 27, 2016
Messages
99
Reaction score
23
First Language
English
Primarily Uses
N/A


I wonder what could be causing this. :elsad:
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

When you discover great tileset resources that you completely forgot that you had. :kaomad3::kaopride:
Just got a better look at the MZ RTP. I'm very happy with it, especially the sci-fi tiles and sprites. Glad I pre-ordered.
I've just checked the VisuStella Plugins for MZ and there are already 11 plugins. The Yanfly team(perhaps a big one?) really works so effectively and efficiently that some MZ users can likely use tons of Yanfly plugins right after MZ's released (still 13 days from now). I wonder if any other plugin developer(or team) will try to compete with Yanfly this time, no matter how slim the chance to win is :)
Hello! :kaopride:I am new to RPG Maker, though I have been lurking the forums for a while. :kaoswt: Hope to make some friends and learn some stuff here! :kaothx:
And now since I've got the whole game parts working, the *contents* await.

Forum statistics

Threads
100,596
Messages
977,597
Members
132,197
Latest member
Stalfriend117
Top