Progress Scripts/game Completion
#1
Progress Scripts/game Completion
Wulfie
Jul 8 2005

This is a locked, single-post thread from Creation Asylum. Archived here to prevent its loss.
No support is given. If you are the owner of the thread, please contact administration.


Hey guys! I came up with the idea about having a game progress/% screen. I got the idea from Lord of the rings, that rpg game. So I decided to make it!
Oh yeah, credits to AcedentProne for the gradient bar script, and to Dubleax
For the scene maker thingy.

To make this baby work..

First of all to make the bar for the progress screen work, using AcedentProne's gradient bar script above main. Here it is:

Code:
#=====================================
#Gradient Bars with customizable lengths, thicknesses, types and Colors
#By AcedentProne
#=====================================
class Window_Base
  def draw_normal_barz(x, y, type, length, thick, e1, e2, c1 = Color.new(255,0,0,255), c2 = Color.new(0,0,0,255))
    if type == "horizontal"
      width = length
      height = thick
      self.contents.fill_rect(x-1, y - 1, width+2, height + 3, Color.new(255, 255, 255, 255))
      self.contents.fill_rect(x, y, width, height + 1, Color.new(0, 0, 0, 255))
      w = width * e1 / e2
      for i in 0..height
        r = c1.red + (c2.red - c1.red) * (height -i)/height + 0 * i/height
        g = c1.green + (c2.green - c1.green) * (height -i)/height + 0 * i/height
        b = c1.blue + (c2.blue - c1.blue) * (height -i)/height + 0 * i/height
        a = c1.alpha + (c2.alpha - c1.alpha)* (height -i)/height + 255 * i/height
        self.contents.fill_rect(x, y+i, w, 1, Color.new(r, g, b, a))
      end
    elsif type == "vertical"
      width = thick
      height = length
      self.contents.fill_rect(x-1, y - 1, width+3, height + 2, Color.new(255, 255, 255, 255))
      self.contents.fill_rect(x, y, width+1, height , Color.new(0, 0, 0, 255))
      h = height * e1 / e2
      for i in 0..width
        r = c1.red + (c2.red - c1.red) * (width -i)/width + 0 * i/width
        g = c1.green + (c2.green - c1.green) * (width -i)/width + 0 * i/width
        b = c1.blue + (c2.blue - c1.blue) * (width -i)/width + 0 * i/width
        a = c1.alpha + (c2.alpha - c1.alpha)* (width -i)/width + 255 * i/width
        self.contents.fill_rect(x+i, y, 1, h, Color.new(r, g, b, a))
      end
    end
  end
  def draw_actor_barz(actor,x, y, type, length, thick, e1, e2, c1 = Color.new(255,0,0,255), c2 = Color.new(0,0,0,255))
    if type == "horizontal"
      width = length
      height = thick
      self.contents.fill_rect(x-1, y - 1, width+2, height + 3, Color.new(255, 255, 255, 255))
      self.contents.fill_rect(x, y, width, height + 1, Color.new(0, 0, 0, 255))
      w = width * e1 / e2
      for i in 0..height
        r = c1.red + (c2.red - c1.red) * (height -i)/height + 0 * i/height
        g = c1.green + (c2.green - c1.green) * (height -i)/height + 0 * i/height
        b = c1.blue + (c2.blue - c1.blue) * (height -i)/height + 0 * i/height
        a = c1.alpha + (c2.alpha - c1.alpha)* (height -i)/height + 255 * i/height
        self.contents.fill_rect(x, y+i, w, 1, Color.new(r, g, b, a))
      end
    elsif type == "vertical"
      width = thick
      height = length
      self.contents.fill_rect(x-1, y - 1, width+3, height + 2, Color.new(255, 255, 255, 255))
      self.contents.fill_rect(x, y, width+1, height , Color.new(0, 0, 0, 255))
      h = height * e1 / e2
      for i in 0..width
        r = c1.red + (c2.red - c1.red) * (width -i)/width + 0 * i/width
        g = c1.green + (c2.green - c1.green) * (width -i)/width + 0 * i/width
        b = c1.blue + (c2.blue - c1.blue) * (width -i)/width + 0 * i/width
        a = c1.alpha + (c2.alpha - c1.alpha)* (width -i)/width + 255 * i/width
        self.contents.fill_rect(x+i, y, 1, h, Color.new(r, g, b, a))
      end
    end
  end
end

Then, you put my script above main. Call it Scene_Progress. Read the comments for instructions on how to use.

Code:
#Game Progress Screen made by osbornecreations A.K.A Lewis Osborne
#This was made by an englishman!!! (thats me) go on son!
#Just put in a new screen above main. it shouldn't interfere with anything.
#To call the script, use $scene = Scene_Progress.new and to change the
#game progress bar, it is assigned using $game_variables[1] so through the game
#call a script and type in something like $game_variables[1] =10 to make the game 10% complete.

#===================================================
# - ClassScene_Progress
#===================================================
class Scene_Progress

  #---------------------------------------------------------------------------------
  def initialize
  end
  #---------------------------------------------------------------------------------

  def main
    @window1 = Window_Progress.new
    @window1.x =160
    @window1.y =200
    @window1.height = 100
    @window1.width = 341
    #@window1.z = 200

    Graphics.transition
    loop do
      Graphics.update
      Input.update
      if Input.trigger?(Input::B)
        # キャンセル SE を演奏
        $game_system.se_play($data_system.cancel_se)
        # マップ画面に切り替え
        @sprite = Sprite.new
        @sprite.bitmap = RPG::Cache.panorama("", 0)
        $scene = Scene_Menu.new
      end
      #update
      if $scene != self
        break
      end
    end

    Graphics.freeze
    @window1.dispose

  end
  #---------------------------------------------------------------------------------

  #---------------------------------------------------------------------------------
  def update
  end
  #---------------------------------------------------------------------------------

end
class Window_Progress < Window_Base

  #---------------------------------------------------------------------------------
  def initialize
    super(0, 0, 341,100)
    self.contents = Bitmap.new(width - 50, height - 32)
    self.contents.font.name = "Tahoma"
    self.contents.font.size = 24
    self.contents.font.color = text_color(0)
    self.contents.draw_text(20, 0, 33, 33, "Game")
    self.contents.draw_text(55, 0, 33, 33, "Progre")
    self.contents.draw_text(88, 0, 33, 33, "ss ")
    self.contents.draw_text(110, 0, 33, 33, "% ")
    draw_actor_barz(0,20,35, "horizontal", 255, 28,$game_variables[1],100)
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.panorama("004-CloudySky01", 0)
  end
  #---------------------------------------------------------------------------------
end

its advised that you put it in the menu, cus it quits to the menu.
}


Possibly Related Threads…
Thread Author Replies Views Last Post
  Export to a New Game Plus EmilyAnnCoons 0 2,090 01-14-2007, 01:00 PM
Last Post: EmilyAnnCoons
  Change color of text in game corbaque 0 2,047 11-05-2006, 01:00 PM
Last Post: corbaque
  Platform Game Script link2795 0 2,420 10-06-2006, 01:00 PM
Last Post: link2795
  Compiling RPG Maker XP Game into one exe sheefo 0 3,420 01-22-2006, 01:00 PM
Last Post: sheefo



Users browsing this thread: 1 Guest(s)