RPG Maker Forums

Hello, hope I'm posting in the right section of the forum.

So, I managed to find the script I think is needed to achieve the effect I want. (pasted at the end of this message). All I need is to have two layers of background parallax scrolling at different speeds under the player or event, plus a layer of clouds scrolling above.

But I can't figure out how to use the darn thing to do the above, so can someone please, please help me? I already have all the required images and just need a "class" on how to use it, and know where I should paste it in the editor. Thanks in advance.

Code:
#==============================================================================
#              U L T I M A T E    O V E R L A Y    M A P P I N G
#                           Script By: Hanzo Kimura
#                            Date Created: 08/11/10
#==============================================================================
module HK_UOM
 
#=================================== SET UP ===================================#
# SCREEN SETUP
  Width   = 544           # The Size of Resolution (Screen's Width)  544/640
  Height  = 416           # The Size of Resolution (Screen's Height) 416/480
# SWITCHES
  LightSwitch = 1         #Switch to Activate Light Overlays
  ShadowSwitch = 2        #Switch to Activate Shadow Overlays
  ParSwitch = 1           #Switch to Activate Parallax Overlays
  GroundSwitch = 1        #Switch to Activate Ground Overlays
# FILENAMES
  LightMap = "Light"      #The name of the file for Light Overlays
  ShadowMap = "Shadow"    #The name of the file for Shadow Overlays
  ParMap = "Par"          #The name of the file for Parallax Overlays
  GroundMap = "Ground"    #The name of the file for Ground Overlays

#================================ END OF SET UP ===============================#
end


# OVERLAY SCRIPT STARTS HERE #
module Cache
  def self.overlay(filename)
    load_bitmap("Overlays/", filename)
  end
end
class Spriteset_Map
  include HK_UOM
  alias hk_uom_initialize initialize
  def initialize
    @GroundON = FileTest.exist?("Overlays/" + "ground" + $game_map.map_id.to_s + ".png")
    hk_uom_initialize
    update
  end
  alias hk_uom_create_parallax create_parallax
  def create_parallax
    if @GroundON
      @ground = Sprite.new(@viewport1)
      @ground.z = 1
      @ground.bitmap = Cache.overlay("ground" + $game_map.map_id.to_s)
    end
    hk_uom_create_parallax
  end
  alias hk_uom_dispose_parallax dispose_parallax
  def dispose_parallax
    if @ground != nil
     @ground.dispose
   end
    hk_uom_dispose_parallax
 end
   alias hk_uom_update_parallax update_parallax
   def update_parallax
    if @ground != nil
        @ground.visible = $game_switches[GroundSwitch]
    end
    if @ground != nil
        @ground.tone = $game_map.screen.tone
        @viewport1.ox = $game_map.screen.shake  #update shake screen
        @viewport1.color = $game_map.screen.flash_color #update flash screen
        if @ground.ox != -$game_map.display_x / 256 or @ground.oy != -$game_map.display_y / 256 or @ground.ox == 0 or @ground.oy == 0
          @ground.ox = $game_map.display_x / 8
          @ground.oy = $game_map.display_y / 8
        end
      end
    hk_uom_update_parallax
    end
end
#==============================================================================
# Scene Map
#==============================================================================
class Scene_Map < Scene_Base
  alias hk_uom_start start
  def start
    hk_uom_start
    $OverlayMap = Overlay_Map.new
  end
  def terminate
    super
    if $scene.is_a?(Scene_Battle)
      @spriteset.dispose_characters
    end
    snapshot_for_background
    @spriteset.dispose
    @message_window.dispose
    $OverlayMap.dispose
    if $scene.is_a?(Scene_Battle)
      perform_battle_transition
    end
  end
  def update
    super
    $game_map.interpreter.update
    $game_map.update
    $game_player.update
    $game_system.update
    @spriteset.update
    @message_window.update
    $OverlayMap.update
    unless $game_message.visible
      update_transfer_player
      update_encounter
      update_call_menu
      update_call_debug
      update_scene_change
    end
  end
  def update_transfer_player
    return unless $game_player.transfer?
    fade = (Graphics.brightness > 0)
    fadeout(30) if fade
    @spriteset.dispose
    $game_player.perform_transfer
    $game_map.autoplay
    $game_map.update
    Graphics.wait(15)
    @spriteset = Spriteset_Map.new
    $OverlayMap.dispose
    $OverlayMap = Overlay_Map.new
    fadein(30) if fade
    Input.update
  end
end
#==============================================================================
# Overlay
#==============================================================================
class Overlay_Map
include HK_UOM
  def initialize
    check_file
    display_overlay
  end
  def check_file
    @LightON = FileTest.exist?("Overlays/" + LightMap + $game_map.map_id.to_s + ".jpg")
    @ShadowON = FileTest.exist?("Overlays/" + ShadowMap + $game_map.map_id.to_s + ".jpg")
    @ParON = FileTest.exist?("Overlays/" + ParMap + $game_map.map_id.to_s + ".png")
    @GroundON = FileTest.exist?("Overlays/" + GroundMap + $game_map.map_id.to_s + ".png")
  end
 
  # Displaying Overlays SET UP #
  def display_overlay
    if @LightON
      @light_viewport = Viewport.new(0, 0, Width, Height)
      @light_viewport.z = 10
      @light = Sprite.new(@light_viewport)
      @light.bitmap = Cache.overlay(LightMap + $game_map.map_id.to_s)
      @light.z = 10
      @light.opacity = 115
      @light.blend_type = 1
      @light.visible = $game_switches[LightSwitch]
    end
    if @ShadowON
      @shadow_viewport = Viewport.new(0, 0, Width, Height)
      @shadow_viewport.z = 9
      @shadow = Sprite.new(@shadow_viewport)
      @shadow.bitmap = Cache.overlay(ShadowMap + $game_map.map_id.to_s)
      @shadow.z = 9
      @shadow.opacity = 85
      @shadow.blend_type = 2
      @shadow.visible = $game_switches[ShadowSwitch]
      end
    if @ParON
      @par_viewport = Viewport.new(0, 0, Width, Height)
      @par_viewport.z = 8
      @par = Sprite.new(@par_viewport)
      @par.z = 8
      @par.bitmap = Cache.overlay(ParMap + $game_map.map_id.to_s)
      @par.tone = $game_map.screen.tone
      @par.opacity = 255
      @par.blend_type = 0
      @par.visible = $game_switches[ParSwitch]
    end
    update
  end
 
  # Update Overlays SET UP #
  def update
      if @light != nil
        @light.visible = $game_switches[LightSwitch]
      end
      if @shadow != nil
        @shadow.visible = $game_switches[ShadowSwitch]
      end
      if @par != nil
        @par.visible = $game_switches[ParSwitch]
      end
      if @light != nil
        @light.tone = $game_map.screen.tone #update screentone
        @light_viewport.ox = $game_map.screen.shake #update shake screen
        @light_viewport.color = $game_map.screen.flash_color #update flash screen
        if @light.x != $game_map.display_x / 256 or @light.y != $game_map.display_y / 256 or @light.x == 0 or @light.y == 0
          @light.ox = $game_map.display_x / 8
          @light.oy = $game_map.display_y / 8
        end #./
      end #./
      if @shadow != nil
        @shadow.tone = $game_map.screen.tone #update screentone
        @shadow_viewport.ox = $game_map.screen.shake #update shake screen
        @shadow_viewport.color = $game_map.screen.flash_color #update flash screen
        if @shadow.x != $game_map.display_x / 256 or @shadow.y != $game_map.display_y / 256 or @shadow.x == 0 or @shadow.y == 0
          @shadow.ox = $game_map.display_x / 8
          @shadow.oy = $game_map.display_y / 8
        end #./
      end #./
      if @par != nil
        @par.tone = $game_map.screen.tone #update screentone
        @par_viewport.ox = $game_map.screen.shake  #update shake screen
        @par_viewport.color = $game_map.screen.flash_color #update flash screen
        if @par.ox != $game_map.display_x / 256 or @par.oy != $game_map.display_y / 256 or @par.ox == 0 or @par.oy == 0
          @par.ox = $game_map.display_x / 8
          @par.oy = $game_map.display_y / 8
        end #./
      end #./
  end #def end
  def dispose
      if @light != nil
        @light_viewport.dispose
        @light.dispose
      end
      if @shadow != nil
        @shadow_viewport.dispose
        @shadow.dispose
      end
      if @par != nil
        @par_viewport.dispose
        @par.dispose
      end
  end
end

Latest Threads

Latest Profile Posts

Day 9 of giveaways! 8 prizes today :D
He mad, but he cute :kaopride:

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.

Forum statistics

Threads
106,038
Messages
1,018,467
Members
137,821
Latest member
Capterson
Top