Save-Point
Mr.Mo ABS Game Log Window - 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)
+--- Thread: Mr.Mo ABS Game Log Window (/thread-4418.html)



Mr.Mo ABS Game Log Window - JayRay - 10-30-2012

Mr. Mo Abs Game Log Window
version 1.0

INTRODUCTION:

This system is a new add-on for MrMo's ABS Ultimate that lets you display a log of five seperate messages depending on events that occur, whether they be the obtaining of loot, a quest achievement unlocked... All with a simple script call...

$newmessage = "Obtained the [Ebon Key]!"


In addition, the system was designed to work with the common event script that comes after each monster defeat that you configure, which could allow for multitudes of different loot options, and more! simply place that script call in any common event that you are lijnking to a monster death!

Code:
#==============================================================================
# ** JayRay's ABS GameLog
#------------------------------------------------------------------------------
#    version 1.0
#    by JayRay
#    10-29-2012
#    RGSS / RPGMaker XP
#------------------------------------------------------------------------------
#  
#  INTRODUCTION:
#  =============
#
#  This system is a new add-on for MrMo's ABS Ultimate that lets you display
#  a log of five seperate messages depending on events that occur, whether they
#  be the obtaining of loot, a quest achievement unlocked... All with a simple
#  script call...
#   $newmessage = "Obtained the [Ebon Key]!"
#  
#    
#
#  In addition, the system was designed to work with the common event script that
#  comes after each monster defeat that you configure, which could allow for
#  multitudes of different loot options, and more!
#------------------------------------------------------------------------------
#  
#  INSTALLATION:
#  =============
#
#  This script can be placed anywhere within the Support Scripts section, maybe
#  underneath Mr.Mo's Hud
#  
#
#------------------------------------------------------------------------------
#
#  CREDITS AND THANKS:
#  ===================
#
#  JayRay for putting this gamelog window together, and thanks to DerVVulfman
#  and to MrMo for the ABS system that this script is a support script for.
#  
#==============================================================================
module Gamelog_Window
  # Default hide status of the window (true = hidden, false = visible)
  DEFAULT_HIDE = false
  
  @hide = DEFAULT_HIDE
  def self.hidden?
    return @hide
  end
  def self.hide
    @hide = !@hide
  end
end
#==============================================================================
# ** Window_Gamelog_HUD
#------------------------------------------------------------------------------
#  This window displays amount of gold.
#==============================================================================
class Window_Gamelog_HUD < Window_Base
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :text_opacity                                  # Text opacity
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
super(180,370,300,110)
    self.contents = Bitmap.new(width, height)
    self.back_opacity = 255
    self.opacity = 255
    self.z = 280
    @text_opacity = Gamelog_Window.hidden? ? 0 : 255
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
          def refresh
  
          if $newmessage != nil
            $fifthholdmessage = $fourtholdmessage
            $fourtholdmessage = $thirdoldmessage
            $thirdoldmessage = $secondoldmessage
            $secondoldmessage = $firstoldmessage
            $firstoldmessage = $newmessage
            $newmessage = nil
          end
          self.contents.clear
          self.contents.font.size = 12
          self.contents.font.color = Color.new(255, 255, 255, 255)
          self.contents.draw_text(4,0,200,12,""+ $fifthholdmessage.to_s + "")
          self.contents.draw_text(4,16,200,12,""+ $fourtholdmessage.to_s + "")
          self.contents.draw_text(4,32,200,12,""+ $thirdoldmessage.to_s + "")
          self.contents.draw_text(4,48,200,12,""+ $secondoldmessage.to_s + "")
          self.contents.draw_text(4,64,200,12,""+ $firstoldmessage.to_s + "")

          end

          end

#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs map screen processing.
#==============================================================================
class Scene_Map
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  alias gamelog_hud_main main
  def main
    @gamelog_window = Window_Gamelog_HUD.new
    @gamelog_window.opacity = Gamelog_Window.hidden? ? 0 : 255
    @gamelog_window.text_opacity = Gamelog_Window.hidden? ? 0 : 255
    gamelog_hud_main
    @gamelog_window.dispose    
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  alias gamelog_hud_update update
  def update
    @gamelog_window.refresh
    @gamelog_window.opacity = Gamelog_Window.hidden? ? 0 : 255
    @gamelog_window.text_opacity = Gamelog_Window.hidden? ? 0 : 255
    gamelog_hud_update
  end
end


Thanks to DerVVulfman, Mr. Mo, and myself...