- Joined
- Sep 16, 2012
- Messages
- 5,781
- Reaction score
- 1,041
- First Language
- English
- Primarily Uses
The Script: (No, don't tell me to change bust script, it's too far into dev now)
The issue:
Paraphrased text from forum eating my earlier longer explanation:
Busts appear about 95-99% opaque, with a slight hint of transparency at the start of events. In battle, the busts always remain transparent, but on the map, busts tend to return to full opacity after the first line of dialogue.
The error occurs in all game resolutions.
Is there an error in the script above that could be causing this issue, or is there another script I should be looking for incompatibilities with?
#------------------------------------------------------------------------------## Galv's Message Busts#------------------------------------------------------------------------------## For: RPGMAKER VX ACE# Version 1.1#------------------------------------------------------------------------------## 2013-01-13 - version 1.1 - added option to make busts slide onto the screen# 2012-12-01 - version 1.0 - release#------------------------------------------------------------------------------## This script automatically displays a message bust instead of a face.#------------------------------------------------------------------------------## INSTRUCTIONS:# Put in script list below Materials and above Main.## Put bust images in Graphics/Pictures/ and name them the same as the face# graphic used in the message, plus the position of the face in it.# For example:# If the message shows "Actor1" face file and uses the first face in that file# then you will name the bust image "Actor1-1.png"## Download the demo if you don't understand## NOTE: This script does NOT contain bust images. You will need your own.##------------------------------------------------------------------------------## SCRIPT CALL#------------------------------------------------------------------------------## # bust_mirror(x) # x can be true or false. All messages after this# # call will change until changed again.# # false = on left. true = on right and flipped.##------------------------------------------------------------------------------# ($imported ||= {})["Galvs_Message_Busts"] = truemodule Galv_Bust #------------------------------------------------------------------------------## SCRIPT SETTINGS#------------------------------------------------------------------------------# DISABLE_SWITCH = 1 # Turn swith ON to disable busts and show normal face BUST_Z = 1 # adds to z value of busts if needed. A negative number # will make the bust appear below the message window. BUST_Y_OVER = true # can be true or false # true = busts sit at the bottom of the screen # false = busts sit on top of the message window TEXT_X = 0 # Offset text when displaying busts above the message # window. The script automatically offsets the text x # by the bust image width IF the BUST_Z is 0 or more. SLIDE = false # Slide portrait onto the screen instead of fading in. #------------------------------------------------------------------------------## END SCRIPT SETTINGS#------------------------------------------------------------------------------# end class Game_Interpreter def bust_mirror(state) $game_message.mirror = state end alias galv_busts_command_101 command_101 def command_101 $game_message.bust_name = @params[0] $game_message.bust_index = @params[1] galv_busts_command_101 endend # Game_Interpreter class Game_Message attr_accessor :bust_name attr_accessor :bust_index attr_accessor :mirror alias galv_busts_message_initialize initialize def initialize galv_busts_message_initialize @mirror = false end alias galv_busts_message_clear clear def clear @bust_name = "" @bust_index = 0 galv_busts_message_clear endend # Game_Message class Window_Message < Window_Base alias galv_busts_window_create_back_bitmap create_back_bitmap def create_back_bitmap @bust = Sprite.new if @bust.nil? @bust.visible = true @bust.opacity = 0 @bust.z = z + Galv_Bust::BUST_Z galv_busts_window_create_back_bitmap end alias galv_busts_window_dispose dispose def dispose galv_busts_window_dispose dispose_bust end def dispose_bust @bust.dispose if !@bust.nil? @bust.bitmap.dispose if !@bust.bitmap.nil? end alias galv_busts_window_update_back_sprite update_back_sprite def update_back_sprite galv_busts_window_update_back_sprite update_bust if need_update? end def update_bust puts "Updating busts #{Time.now}" if !$game_message.bust_name.empty? && !$game_switches[Galv_Bust:
ISABLE_SWITCH] @bust.mirror = $game_message.mirror @bust.bitmap = Cache.picture(get_bust_filename) # Changed to method for filename if !$game_message.mirror if Galv_Bust::SLIDE @bust.x = ((openness.to_f / 255) * @bust.width) - @bust.width else @bust.x = 0 end else if Galv_Bust::SLIDE @bust.x = Graphics.width - ((openness.to_f / 255) * @bust.width) else @bust.x = Graphics.width - @bust.bitmap.width end end if $game_message.position == 2 && !Galv_Bust::BUST_Y_OVER @bust.y = Graphics.height - @bust.bitmap.height - self.height else @bust.y = Graphics.height - @bust.bitmap.height end else @bust.bitmap = nil end if $game_switches[Galv_Bust:
ISABLE_SWITCH] @bust.opacity = 0 else @bust.opacity = openness end @bust.update # New - update old bust name for control @old_bust_name = get_bust_filename end # NEW - Gets filename for bust conveniently when we need it multiple times def get_bust_filename $game_message.bust_name + "-" + ($game_message.bust_index + 1).to_s end # NEW - Check if old bust? def need_update? return false unless $game_message.visible @old_bust_name != get_bust_filename || openness < 255 end def new_line_x if $game_switches[Galv_Bust:
ISABLE_SWITCH] $game_message.face_name.empty? ? 0 : 112 else if @bust.z >= self.z && !$game_message.mirror && $game_message.position == 2 $game_message.face_name.empty? ? 0 : @bust.bitmap.width + Galv_Bust::TEXT_X else return 0 end end end def draw_face(face_name, face_index, x, y, enabled = true) return if !$game_message.face_name.empty? && !$game_switches[Galv_Bust:
ISABLE_SWITCH] super end end # Window_Message < Window_Base
Paraphrased text from forum eating my earlier longer explanation:
Busts appear about 95-99% opaque, with a slight hint of transparency at the start of events. In battle, the busts always remain transparent, but on the map, busts tend to return to full opacity after the first line of dialogue.
The error occurs in all game resolutions.
Is there an error in the script above that could be causing this issue, or is there another script I should be looking for incompatibilities with?
Last edited by a moderator:
