Scene Display Ex
#1
RGSS3 - Scene Display Ex
Author: Soulpour777
Web URL: infinitytears.wordpress.com
Version 1.0
Script Category: Custom Scene

Description:
This script allows you to display different images of different kind, of which it serves as a multipurpose custom scene. It can be a monster book, town book, encyclopedia of items, encyclopedia of people met, notebook or any other types of images you want to display. The script intends to display image rather than a embedded text or graphic is because for the developer to be free on making their designs on the image shown rather than limited graphic shown from the maker.

Usage:
to call the Scene Display Ex, do this script call:
SceneManager.call(Soulpour_SceneDisplay)

Credits:
- Makapri for the art used.

Script:

Code:
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# RGSS3 - Scene Display Ex
# Author: Soulpour777
# Web URL: infinitytears.wordpress.com
# Version 1.0
# Script Category: Custom Scene
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Description:
# This script allows you to display different images of different kind, of which
# it serves as a multipurpose custom scene. It can be a monster book, town book,
# encyclopedia of items, encyclopedia of people met, notebook or any other
# types of images you want to display. The script intends to display image
# rather than a embedded text or graphic is because for the developer to be
# free on making their designs on the image shown rather than limited graphic
# shown from the maker.
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Usage:
# to call the Scene Display Ex, do this script call:
# SceneManager.call(Soulpour_SceneDisplay)
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Terms of Use:
# For my terms of use, visit: http://infinitytears.wordpress.com/terms-of-use/
# This script is only for NON COMMERCIAL USE. Contact me for commercial one.
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

# Do not touch this unless you know what you're doing.
$image_displayed = ""

module Soulpour

  module Scene_Display
   
    # This hash contains all the display commands. You can add as many as you
    # want, then define what they would do down on the Soulpour_SceneDisplay.
    Commands = {
   
    "Myalai" => :myalai,
    "Cyclops" => :cyclops,
    "Note" => :booknote
   
    }
   
    # This hash contains all the display images displayed on the Scene Book.
    # It contains images rather than texts because of the better design
    # that can be implemented rather than formatting plain texts on the
    # window.
    Display_Images = {
   
    1 => "Myalai",
    2 => "Cyclops",
    3 => "Book"
   
    }
   
  end

end

#==============================================================================
# ** Soulpour_DisplayCommand
#------------------------------------------------------------------------------
#  This command window appears on the Scene Display screen.
#==============================================================================

class Soulpour_DisplayCommand < Window_Command
  #--------------------------------------------------------------------------
  # * Initialize Command Selection Position (Class Method)
  #--------------------------------------------------------------------------
  def self.init_command_position
    @@last_command_symbol = nil
  end
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0)
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    return 160
  end
  #--------------------------------------------------------------------------
  # * Get Number of Lines to Show
  #--------------------------------------------------------------------------
  def visible_line_number
    item_max
  end
  #--------------------------------------------------------------------------
  # * Create Command List
  #--------------------------------------------------------------------------
  def make_command_list
    add_main_commands
  end
  #--------------------------------------------------------------------------
  # * Add Main Commands to List
  #--------------------------------------------------------------------------
  def add_main_commands
    Soulpour::Scene_Display::Commands.each { |key, value|
      add_command(key, value)
    }
  end
  #--------------------------------------------------------------------------
  # * Get Activation State of Save
  #--------------------------------------------------------------------------
  def save_enabled
    !$game_system.save_disabled
  end
  #--------------------------------------------------------------------------
  # * Processing When OK Button Is Pressed
  #--------------------------------------------------------------------------
  def process_ok
    @@last_command_symbol = current_symbol
    super
  end
end

#==============================================================================
# ** Window_SceneDisplay
#------------------------------------------------------------------------------
#  This window displays the Scene Display.
#==============================================================================

class Window_SceneDisplay < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(160, 0, book_window_width, book_window_height)
    refresh
    self.z = 20
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def book_window_width
    Graphics.width - 160
  end
  #--------------------------------------------------------------------------
  # * Get Window Height
  #--------------------------------------------------------------------------
  def book_window_height
    Graphics.height
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
  end
  #--------------------------------------------------------------------------
  # * Open Window
  #--------------------------------------------------------------------------
  def open
    refresh
    super
  end
end

#==============================================================================
# ** Soulpour_SceneDisplay
#------------------------------------------------------------------------------
#  This class performs the Scene Display screen processing.
#==============================================================================

class Soulpour_SceneDisplay < Scene_MenuBase
  #--------------------------------------------------------------------------
  # * Start Processing
  #--------------------------------------------------------------------------
  def start
    super
    @book_screen = Window_SceneDisplay.new
    create_command_display
    display_image_in_window
  end
  #--------------------------------------------------------------------------
  # * Create Command Display
  #--------------------------------------------------------------------------
  def create_command_display
    @display_command = Soulpour_DisplayCommand.new
    @display_command.set_handler(:ok, method(:on_display_ok))
  end

  #--------------------------------------------------------------------------
  # * On Display OK
  # This is where you would edit the functions that would happen when you
  # press the options. Adding is easy, just follow the format of the
  # commands below and add the functions you made or modified from above.
  # display_image_in_window and @display_command.activate must be always
  # present, and redispose should be on top everytime.
  #--------------------------------------------------------------------------
  def on_display_ok
    case @display_command.current_symbol
    when :myalai
      redispose
      $image_displayed = Soulpour::Scene_Display::Display_Images.values[0]
      display_image_in_window
      @display_command.activate
    when :cyclops
      redispose
      $image_displayed = Soulpour::Scene_Display::Display_Images.values[1]
      display_image_in_window
      @display_command.activate
    when :booknote
      redispose
      $image_displayed = Soulpour::Scene_Display::Display_Images.values[2]
      display_image_in_window
      @display_command.activate
    end
  end

  #--------------------------------------------------------------------------
  # * Display Image
  # This is where the displaying of the alternate images is created
  #--------------------------------------------------------------------------   
  def display_image_in_window
    @image_displayed = Plane.new
    @image_displayed.bitmap = Cache.picture($image_displayed)
    @image_displayed.z = 120
  end

  #--------------------------------------------------------------------------
  # * Redispose
  # Redispose means that you need to destroy the image when you press the
  # commands, as to it is already present and create it again to display
  # the image. Once displayed, you need to destroy that image again when
  # you select another command.
  #--------------------------------------------------------------------------   
  def redispose
    @image_displayed.bitmap.dispose
    @image_displayed.dispose
  end

  #--------------------------------------------------------------------------
  # * Update Basic
  #--------------------------------------------------------------------------   
  def update
    update_basic
    if Input.trigger?(:B)
      redispose
      RPG::SE.new("Cancel1",100,100).play
      SceneManager.goto(Scene_Map)
    end
  end

end
[Image: n6fvBXt.png]
Huhubugin, Bubuuin, Daranasin, Ating tuklasin, Diwa't isip bubuhayin
Mula sa wala, Mundo ay nilikha, Nililok na mukha, Sa siklab ay nagsimula,
Tinanglaw ang palad, Likhang binigyang malay, Sa init, Hugis ang binagay!
Apoy! Mula sa wala, Mundo ay nilikha
Tinanglaw ang palad, Sa apoy hugis ang binagay
[Image: UfhwrmV.png]
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
   Set Map's Display Name ACE kyonides 0 4,093 12-16-2022, 09:44 PM
Last Post: kyonides
   Basic Scene Mail 1.0 Mintyy 0 4,359 08-31-2014, 09:21 AM
Last Post: Mintyy
   Scene Title Alva Mintyy 0 3,844 03-26-2014, 03:51 AM
Last Post: Mintyy
   Correct Character Sprite Display MechanicalPen 6 26,239 02-10-2014, 11:20 PM
Last Post: Taylor



Users browsing this thread: 1 Guest(s)