Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Auto Credits When GameOver

Yeah, I've made a script that, when you are deaded, credits will show up when you press the A key. It comes with the Text Scroll script. I've made it work with Moghunter's custom GameOver. I've put in instructions in the scripts, but I'll post them here.

For Text_Scroller: David
For Waza_GameOver: Wazakindjes
For Scene_GameOver: Moghunter

Instructions:
Paste above Main, beneath every other scripts if you want the DEFAULT Game Over to be used.

Paste above Main, beneath every default script.

To create the credits, open: Notebloc (or something) (I made an icon of the
programme you should open. Ingame, the most right guy shows the icon when talked to.) Type in your credits. Then, when you set up the credits, click on "Save As". Then you choose: "All files". Then save it as: Credits.rxdata. Then make a new folder in the game folder named "Text". Paste the "Credits.rxdata" file in it. It's all included, but you sure wanna know how I did it, right? :P To change the font, check line 90 of Text_Scroller script, enter the full CORRECT name, with capital letter(s)! The player needs to have the font! To change the color, click on "Help" then "Search". Then, type: "Events, Color" and check the bottom of that page. then go to line 93 and fill in the color you choose in the help.

That's found on line 59 in the Waza_GameOver script.

Well, just paste Waza_GameOver above the MOG script.


Scripts:
#=====================================================
# â–  Text Scroll Script  R3-Fixed - Created by David
#=====================================================
# For more infos and update, visit:
#
#http://digitalgamer.myfreebb.com
#Or
#http://members.cox.net/davidbevans
#
#=====================================================

#=====================================================
# â–  Info added by Wazakindjes:
#-----------------------------------------------------
# To create the credits, open: (in Dutch) Kladblok and
# in the rest of the languages: I made an icon of the
# programme you should open. Ingame, the most right guy
# shows the icon when talked to. Type in your credits.
# Then, when you set up the credits, in Dutch, click
# on "Opslaan Als" and in English it is: "Save As".
# Then you choose: in Dutch: Alle bestanden. In English
# it is: All files. Then save it as: Credits.rxdata.
# Then make a new folder in the game folder named "Text".
# Paste the "Credits.rxdata" file in it. It's all included,
# but you sure wanna know how I did it, right? :P
# To change the font, check line 90, enter the full
# CORRECT name, with capital letter(s)! The player
# needs to have the font!
# To change the color, click on "Help" then "Zoeken"
# or "Search". Then, type: "Events, Color" and check
# the bottom of that page. then go to line 93 and fill
# in the color you choose in the help.
#=====================================================

#=====================================================
# â–¼ CLASS Text_Scroller Begins
#=====================================================
class Text_Scroller

def initialize (file, opacity_scroll, opacity_bg, speed, live_scroll)
 
  text=IO.readlines("Text/#{file}")
  $tss_speed = speed
  $tss_iteration = 480.0/speed
  $tss_sy= (text.size*32) + 64
 
  $tss_scroll_window = Window_Scroll.new(file, 640, $tss_sy)
  $tss_scroll_window.opacity = opacity_scroll
  $tss_scroll_window.z=500
  $tss_scroll_window.x = 0
  $tss_scroll_window.y = 480
 
  $tss_bg_window = Window_bg.new
  $tss_bg_window.opacity = opacity_bg
  $tss_bg_window.z=400
 
  case live_scroll
  when 0 
    update
    when 1 
      $live_scroll=true
  end
end 

def update
      for i in 0...(($tss_sy/480.0) * $tss_iteration) + $tss_iteration
         $tss_scroll_window.y -= $tss_speed
         Graphics.update
       end
       $tss_scroll_window.dispose
       $tss_bg_window.dispose
end
end
#=====================================================
# â–² CLASS Text_Scroller Ends
#=====================================================


#=====================================================
# â–¼ CLASS Window_Scroll Begins
#=====================================================
class Window_Scroll < Window_Base

def initialize (file, sx, sy)
  @sx=sx
  @sy=sy
 
  super(0, 0, sx, sy)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.contents.font.name = "Arial"
  self.contents.font.size = 24
  @text=IO.readlines("Text/#{file}")
  @text_color=0
  refresh
end

def refresh   
  y=0
    for i in 0...@text.size
      y+=32
      if @text.index('/') == 0
          @text_color=@text.slice! (0..2)
          @text_color.slice!(0)
      end   
      if @text.index('*') == 0
          line_color=@text.slice! (0..2)
          line_color.slice!(0)
         self.contents.font.color = text_color(line_color.to_i)
       else
      self.contents.font.color = text_color(@text_color.to_i)
      end
      self.contents.draw_text(0, y, @sx, 32, @text)
    end
end
end
#=====================================================
# â–² CLASS Window_Scroll Ends
#=====================================================


#=====================================================
# â–¼ CLASS Book_Scroll Begins
#=====================================================
class Book_Scroll

def initialize (book_name, number_of_pages, start_page, opacity_scroll, opacity_bg)
 
  file = book_name.to_s+"/"+start_page.to_s+".rxdata"
  text=IO.readlines("Text/#{file}")
  $tss_sy= (text.size*32) + 64
 
  $tss_scroll_window = Window_Scroll.new(file, 640, $tss_sy)
  $tss_scroll_window.opacity = opacity_scroll
  $tss_scroll_window.z=500
  $tss_scroll_window.x = 0
  $tss_scroll_window.y = 0
 
  $tss_bg_window = Window_bg.new
  $tss_bg_window.opacity = opacity_bg
  $tss_bg_window.z=400
 
  book_update(book_name, start_page, number_of_pages, opacity_scroll, opacity_bg)
  $game_system.menu_disabled = true
end 

def book_update(book_name,start_page, number_of_pages, opacity_scroll, opacity_bg)
  loop do
  Graphics.update
  Input.update
  if Input.repeat?(Input::RIGHT) and number_of_pages > 1
    unless start_page == number_of_pages
      start_page+=1
    else
      start_page=1
    end 
    $tss_scroll_window.dispose
    $tss_bg_window.dispose
    Book_Scroll.new(book_name, number_of_pages,start_page, opacity_scroll, opacity_bg)
    break
  end
  if Input.repeat?(Input::LEFT) and  number_of_pages > 1
    unless start_page == 1
      start_page-=1
    else
      start_page=number_of_pages
    end 
    $tss_scroll_window.dispose
    $tss_bg_window.dispose
    Book_Scroll.new(book_name, number_of_pages,start_page, opacity_scroll, opacity_bg)
    break
  end
  if Input.repeat?(Input::UP)
    $tss_scroll_window.y+=15
  end 
  if Input.repeat?(Input::DOWN)
    $tss_scroll_window.y-=15
  end 
  if Input.trigger?(Input::B)
    $tss_scroll_window.dispose
    $tss_bg_window.dispose
    $game_system.menu_disabled = false
    break
  end
end
end 
 
end
#=====================================================
# â–² CLASS Book_Scroll Ends
#=====================================================


#=====================================================
# â–¼ CLASS Scene_Map Additional Code Begins
#=====================================================
class Scene_Map

alias alex_tss_original_update update
@@i=0

def update
alex_tss_original_update
 
  if $live_scroll==true
     $tss_scroll_window.y -= $tss_speed
      @@i+=1
      if @@i ==(($tss_sy/480.0) * $tss_iteration) + $tss_iteration
        $tss_scroll_window.dispose
        $tss_bg_window.dispose
        @@i=0
        $live_scroll=false
      end 
  end
end
end
#=====================================================
# â–² CLASS Scene_Map Additional Code Ends
#=====================================================


#=====================================================
# â–¼ CLASS Window_bg Begins
#=====================================================
class Window_bg < Window_Base

def initialize
  super(0, 0, 640, 480)
end
end
#=====================================================
# â–² CLASS Window_bg Ends
#=====================================================


#==============================================================================
# ** Waza_GameOver
#------------------------------------------------------------------------------
#  This class performs game over screen processing with credits. The player
#  has to push the button to continue (standard that's: Space, Z and Enter).
#  Then the credits will come. To change the BGM played while credits are on,
#  see line 59.
#==============================================================================

class Scene_Gameover
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    # Make game over graphic
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.gameover($data_system.gameover_name)
    # Stop BGM and BGS
    $game_system.bgm_play(nil)
    $game_system.bgs_play(nil)
    # Play game over ME
    $game_system.me_play($data_system.gameover_me)
    # Execute transition
    Graphics.transition(120)
    # Main loop
    loop do
      # Update game screen
      Graphics.update
      # Update input information
      Input.update
      # Frame update
      update
      # Abort loop if screen is changed
      if $scene != self
        break
      end
    end
    # Prepare for transition
    Graphics.freeze
    # Dispose of game over graphic
    @sprite.bitmap.dispose
    @sprite.dispose
    # Execute transition
    Graphics.transition(40)
    # Prepare for transition
    Graphics.freeze
    # If battle test
    if $BTEST
      $scene = nil
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Play credits BGM
      Audio.bgm_play("Audio/BGM/063-Slow06")
      # Switch to credits screen   
      $scene = Text_Scroller.new("Credits.rxdata", 0, 0, 1, 0)
      $scene = Scene_Title.new
      $game_system.bgm_play(nil)
    end
  end
end

#_______________________________________________________________________________
# MOG Scene Game Over Karen V1.0           
#_______________________________________________________________________________
# By Moghunter               
#_______________________________________________________________________________
# Wazakindjes:
# I've put the credits in a CMS also. See lines from 89 to 91, that's how I did
# it here. ;) If you want to see how it works, just cut and paste
# "Waza_GameOver" above this script. ;) To change the game over background, see
# line 33.
#_______________________________________________________________________________
if true # True = Enable / False = Disable (Script)
module MOG
#Transition Time. 
GTT = 50
#Transition Type(Name). 
GTN = "020-flat01"
end
#_______________________________________________________________________________
$mogscript = {} if $mogscript == nil
$mogscript["game_over_karen"] = true
  class Scene_Gameover
def main
s1 = ""
s2 = ""
@com = Window_Command.new(192, [s1, s2])
@com.opacity = 0
@com.visible = false
@com.contents_opacity = 0
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.battleback('Gover_lay')
@gover_lay = Sprite.new
@gover_lay.bitmap = RPG::Cache.gameover("001-Gameover01")
@gover_lay.y = 480
@gover_lay.opacity = 0
@gove_com = Sprite.new
@gove_com.bitmap = RPG::Cache.gameover("Gover_com01")
@gove_com.x = 220
@gove_com.y = -480
$game_system.bgm_play(nil)
$game_system.bgs_play(nil)
$game_system.me_play($data_system.gameover_me)
Graphics.transition(MOG::GTT, "Graphics/Transitions/" + MOG::GTN )
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@sprite.dispose
@gover_lay.dispose
@com.dispose
@gove_com.dispose
Graphics.transition(MOG::GTT, "Graphics/Transitions/" + MOG::GTN )
Graphics.freeze
if $BTEST
$scene = nil
end
end
def update 
if @sprite.zoom_y < 1.5
@sprite.zoom_y += 0.01
end
if @sprite.zoom_x < 1.5
@sprite.zoom_x += 0.01
end 
if @gover_lay.y > 0
@gover_lay.y -= 5
@gover_lay.opacity += 5
@gove_com.y += 8
@gove_com.opacity += 5
elsif @gover_lay.y <= 0
@gover_lay.y = 0
@gover_lay.opacity = 255
@gove_com.y = 290
@gove_com.opacity = 255
end 
@com.update
case @com.index
when 0
@gove_com.bitmap = RPG::Cache.gameover("Gover_com01")
when 1
@gove_com.bitmap = RPG::Cache.gameover("Gover_com02")
end
if Input.trigger?(Input::C)
Audio.bgm_play("Audio/BGM/063-Slow06")
$scene = Text_Scroller.new("Credits.rxdata", 0, 0, 1, 0)
$game_system.bgm_play(nil)
case @com.index
when 0
$game_system.se_play($data_system.decision_se)
$scene = Scene_Load.new
when 1 
$game_system.se_play($data_system.decision_se)
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
$scene = nil
end
end
end
end
end

Forgot the demo. :P
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top