Main Menu
  • Welcome to The RPG Maker Resource Kit.

Extra Event Pictures

Started by modern algebra, April 15, 2009, 06:17:17 PM

0 Members and 1 Guest are viewing this topic.

modern algebra

Extra Event Pictures
Version: 1.0
Author: modern algebra
Date: April 15, 2009

Version History




  • <Version 1.0> 15.04.2009 - Original release

Description



For complicated Picture eventing, it is quite clear that 50 pictures is not enough. This script allows you to use more, albeit in a non-intuitive way

Features



  • Allows you to set a Max Picture Limit greater than 50
  • Easy to use. All you need to do is set an event variable to the number you want the picture to be, then use the picture commands as you would normally. Pay attention to the instructions.

Screenshots

Not really necessary - I could make a bunch of pictures show up on the screen, but that wouldn't be particularly difficult even without the script as I could just merge all the pictures together in Paint. Just try it out in a new project or something to see it.

Instructions

See the header of the script

Script



#==============================================================================
#  50+ Pictures
#  Author: modern algebra
#  Version: 1.0
#  Date: April 15, 2009
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#    For complicated Picture eventing, it is quite clear that 50 pictures is
#    not enough. This script allows you to use more, albeit in a non-intuitive
#    way
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#    It is quite simple: to use a picture that has a greater label than 20, all
#    that is required is that you set an in-game variable (that you choose
#    below) to the number that you want, say 21 or 22 or 105. Then set up the
#    Picture command directly below it with a number of 20. Once that is done,
#    the variable is cleared and so every time you want to handle the picture
#    you have to re-set that variable to the number you want.
#
#    So, a line to do this would be:
#      @> Control Variable: [XXXX: Picture Number] = Y
#      @> Show Picture: 1, 'Avatar', Upper Left (0, 0), (100%, 100%), 255, Normal
#
#    That would make a picture with number Y. It is important to remember that
#    the variable [XXXX: Picture Number] is set back to 0 after every picture
#    command, so if you wanted to then move the picture the event must have
#    another Control Variable, like so:
#
#      @> Control Variable: [XXXX: Picture Number] = Y
#      @> Show Picture: 1, 'Avatar', Upper Left (0, 0), (100%, 100%), 255, Normal
#      @> Control Variable: [XXXX: Picture Number] = Y
#      @> Move Picture: 2, Upper Left (105, 0), (100%, 100%), 255, Normal, @60, Wait     
#
#==============================================================================
# * Global Constants
#==============================================================================
PIC_LIMIT = 70    # This is the new limit for pictures
PIC_VARIABLE = 50 # The index of the variable which holds the number of each picture

#==============================================================================
# ** Game_Screen
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased methods - initialize, update
#==============================================================================

class Game_Screen
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Object Initialization
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias algebra_nssih_picsplusxp_init_4nn5 initialize
  def initialize
    # Run Original Method
    algebra_nssih_picsplusxp_init_4nn5
    # Initialize extra picture sprites
    for i in 101..(PIC_LIMIT*2)
      @pictures.push (Game_Picture.new(i))
    end
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Frame Update
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modlg_ness_more_picsxp_upd_8nf2 update
  def update
    # Run Original Method
    modlg_ness_more_picsxp_upd_8nf2
    # Update extra pictures
    if $game_temp.in_battle
      for i in (51 + PIC_LIMIT)..(2*PIC_LIMIT)
        @pictures[i].update
      end
    else
      for i in 101..(51 + PIC_LIMIT)
        @pictures[i].update
      end
    end
  end
end

#==============================================================================
# ** Spriteset_Map
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased methods - initialize
#==============================================================================

class Spriteset_Map
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Object Initialization
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias mdrnbr_nsiah_extrapics_init_spmap_56nd initialize
  def initialize
    # Run Original Method
    mdrnbr_nsiah_extrapics_init_spmap_56nd
    # Initialize extra picture sprites
    for i in 101..(51 + PIC_LIMIT)
      @picture_sprites.push(Sprite_Picture.new(@viewport2,
        $game_screen.pictures[i]))
    end
  end
end

#==============================================================================
# ** Spriteset_Battle
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased methods - initialize
#==============================================================================

class Spriteset_Battle
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Object Initialization
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias algbrm_nessy_mrpicxps_init_spbt_83b5 initialize
  def initialize
    # Run Original Method
    algbrm_nessy_mrpicxps_init_spbt_83b5
    # Initialize extra picture sprites
    for i in (51 + PIC_LIMIT)..(2*PIC_LIMIT)
      @picture_sprites.push(Sprite_Picture.new(@viewport3,
        $game_screen.pictures[i]))
    end
  end
end

#==============================================================================
# ** Interpreter
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased methods -
#==============================================================================

class Interpreter
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Show Picuture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modalg_ness_extra_pictures_231_commnd_h5ne command_231
  def command_231
    # Get number
    ma_check_picture_variable
    # Run Original Method
    modalg_ness_extra_pictures_231_commnd_h5ne
    # Reset
    $game_variables[PIC_VARIABLE] = 0
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Move Picuture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modalg_siah_extr_pices_232_cmand_hjh4 command_232
  def command_232
    # Get number
    ma_check_picture_variable
    # Run Original Method
    modalg_siah_extr_pices_232_cmand_hjh4
    # Reset
    $game_variables[PIC_VARIABLE] = 0
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Rotate Picuture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modalg_nes_pluspics_233_cmmnd_7bf5 command_233
  def command_233
    # Get number
    ma_check_picture_variable
    # Run Original Method
    modalg_nes_pluspics_233_cmmnd_7bf5
    # Reset
    $game_variables[PIC_VARIABLE] = 0
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Tint Picuture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modrnalbr_nesih_ex_pict_234_comnd_65hg3 command_234
  def command_234
    # Get number
    ma_check_picture_variable
    # Run Original Method
    modrnalbr_nesih_ex_pict_234_comnd_65hg3
    # Reset
    $game_variables[PIC_VARIABLE] = 0
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Erase Picuture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modabr_nsah_morepics_235_cmnd_8nt4 command_235
  def command_235
    # Get number
    ma_check_picture_variable
    # Run Original Method
    modabr_nsah_morepics_235_cmnd_8nt4
    # Reset
    $game_variables[PIC_VARIABLE] = 0
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Check Picture Variable
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def ma_check_picture_variable
    # If the label is within the proper set of numbers
    if $game_variables[PIC_VARIABLE] <= PIC_LIMIT
      @parameters[0] = $game_variables[PIC_VARIABLE]
      if $game_temp.in_battle
        @parameters[0] += PIC_LIMIT - 50
      else
        @parameters[0] += 50 if @parameters[0] >= 50
      end
    end
  end
end


Credit




  • modern algebra

Thanks


  • Nessiah, for requesting this script to be converted to XP

Support



Please post in this topic at rmrk.net for the swiftest support.

Known Compatibility Issues

None so far.

Grafikal


Nessiah

Oooh thank you very much :3