Save-Point
Message Shutter Animation - Printable Version

+- Save-Point (https://www.save-point.org)
+-- Forum: Material Development (https://www.save-point.org/forum-8.html)
+--- Forum: Scripts Database (https://www.save-point.org/forum-39.html)
+---- Forum: RPGMaker XP (RGSS) Engine (https://www.save-point.org/forum-116.html)
+---- Thread: Message Shutter Animation (/thread-427.html)



Message Shutter Animation - Myownfriend - 03-28-2010

This is just a simple script I was using in a game I'm working on that was requested from Sixty.
It adds an opening and closing shutter animation to message windows when they open and close.

Code:
#==============================================================================
# ** Message Shutter Animation
#------------------------------------------------------------------------------
#
#  This script was made by Myownfriend, its only function is to add a shutter
#  effect to message windows as they open and close.
#
#  If your experiencing any compatibility problems with other scripts that make
#  small modifications to the message window, try placing this script directly
#  under the original Window_Message class. If you experience any other problems
#  with this script, please go to http://www.rmphantasy.net/
#
#==============================================================================
# ** Window_Message
#------------------------------------------------------------------------------
#  This message window is used to display text.
#==============================================================================


class Window_Message < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias mof_shutter_initialize :initialize
  def initialize
    mof_shutter_initialize
    @opening = false
    @closing = false
    @full_height = self.height
    @full_y = self.y
    @y_difference = @full_height/2
    @fade_in = false
    @fade_out = false
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    open
    if @input_number_window != nil
      @input_number_window.update
      if Input.trigger?(Input::C)
        $game_system.se_play($data_system.decision_se)
        $game_variables[$game_temp.num_input_variable_id] =
          @input_number_window.number
        $game_map.need_refresh = true
        @input_number_window.dispose
        @input_number_window = nil
        terminate_message
      end
      return
    end
    # If message is being displayed
    if @contents_showing
      # If choice isn't being displayed, show pause sign
      if $game_temp.choice_max == 0
        self.pause = true
      end
      # Cancel
      if Input.trigger?(Input::B)
        if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
          $game_system.se_play($data_system.cancel_se)
          $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
          terminate_message
        end
      end
      # Confirm
      if Input.trigger?(Input::C)
        if $game_temp.choice_max > 0
          $game_system.se_play($data_system.decision_se)
          $game_temp.choice_proc.call(self.index)
        end
        terminate_message
      end
      return
    end
    if @closing == false && $game_temp.message_text != nil
      @contents_showing = true
      $game_temp.message_window_showing = true
      reset_window
      refresh
      Graphics.frame_reset
      self.visible = true
      self.contents_opacity = 0
      self.y = @full_y + @y_difference
      self.height = 0
      if @input_number_window != nil
        @input_number_window.contents_opacity = 0
      end
      @opening = true
      return
    end
    close
  end
  #--------------------------------------------------------------------------
  # * Open Window Animation
  #--------------------------------------------------------------------------
  def open
    if @opening
      self.contents_opacity = 0
      self.height += @full_height/5
      self.y -= @y_difference/5
      if @input_number_window != nil
        @input_number_window.contents_opacity += 24
      end
      if self.height == @full_height
        @opening = false
        self.contents_opacity = 255
      end
      @contents_showing = true
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Close Window Animation
  #--------------------------------------------------------------------------
  def close
    if self.visible
      @closing = true
      self.contents_opacity = 255
      self.height -= @full_height/5
      self.y += @y_difference/5
      if self.height == 0
        self.visible = false
        @wait_count = 5
        @closing = false
        $game_temp.message_window_showing = false
      end
      @contents_showing = false
      return
    end
  end
#-------------------------------------------------------------------------------
end



Message Shutter Animation - Ace - 03-28-2010

looks nice, too bad that it doesn't work with ccoas UMS


Message Shutter Animation - kyonides - 03-28-2010

So it just does the same thing that happens on VX with command and message windows?


Message Shutter Animation - Myownfriend - 03-28-2010

@kyonides

Yes pretty much.

@Zarox

It might work with very little modification. I'll take a look at it when I get back home later tonight.


Message Shutter Animation - fgsfds - 03-29-2010

Doesn't work with the AMS as well... hope there's going to be a patch for this, I wanna give this script a try.


Message Shutter Animation - Myownfriend - 03-29-2010

Just checked out the two message systems. I would probably have to make a version of the script that works with each. If they had both made the fade in and fade out parts of their code into difference methods then simply overwriting those methods would make this script work. I'll see what I can do about getting them to work. Otherwise, I might just make this script into a full fledged message system at some point.


Message Shutter Animation - Ace - 03-29-2010

ty, I hope you can get it working. My Events are made to work with the UMS, so I can't just change the Message Script^^ I would have to change also all events


Message Shutter Animation - Boot - 03-31-2010

Works well, I like it. Just a quick question, would it be possible to have a method for this to be turned on/off at certain points of a conversation? Like if I have two characters talking, the shutter only activates when a different person is talking? So guy 1 could have three text boxes of conversation uninterrupted, the shutter activates and then the second guy talks.

Hope that makes sense. :P


Message Shutter Animation - Myownfriend - 04-04-2010

I understand what you mean, and back when I first made this script I don't think I had the know how to do that, but I will try again.


Message Shutter Animation - Ace - 04-06-2010

hey just wanted to ask you still work on the UMS Edition :D