Ending Credits Script
#1
Note: This is NOT my script. I found it in the Project Zelda Engine. I did, however, edit it so that it may be called with $scene = Scene_Credits.new instead of having it appear on the Title Screen (which is very annoying). Also, it was edited by AvatarMonkeyKirby to actually end by itself. So if used, at least give credit to the two of us, and label one other as "Unknown" as I currently don't know who made it.
If you are the original author of this script, please say so and I will give credit ASAP (basically...whenever I see your post).

Code:
CREDITS_FONT = "Times New Roman"
CREDITS_SIZE = 24
CREDITS_OUTLINE = Color.new(0,0,127, 255)
CREDITS_SHADOW = Color.new(0,0,0, 100)
CREDITS_FILL = Color.new(255,255,255, 255)

#==============================================================================
# ¦ Scene_Credits
#------------------------------------------------------------------------------
#  ??????????????????
#==============================================================================

class Scene_Credits

  # This next piece of code is the credits. Please keep the Zelda teams credits.
  
    CREDIT=<<_END_

#Edit here

_END_
def main

#-------------------------------
# Animated Background Setup
#-------------------------------

@sprite = Sprite.new
#@sprite.bitmap = RPG::Cache.title($data_system.title_name)
@backgroundList = [""] #Edit this to the title screen(s) you wish to show in the background. They do repeat. Just put a comma in between each like this ["title1","title2"]
@backgroundGameFrameCount = 0
# Number of game frames per background frame.
@backgroundG_BFrameCount = 3.4
@sprite.bitmap = RPG::Cache.title(@backgroundList[0])

#------------------
# Credits txt Setup
#------------------

credit_lines = CREDIT.split(/\n/)
credit_bitmap = Bitmap.new(640,32 * credit_lines.size)
credit_lines.each_index do |i|
line = credit_lines[i]
credit_bitmap.font.name = CREDITS_FONT
credit_bitmap.font.size = CREDITS_SIZE
x = 0
credit_bitmap.font.color = CREDITS_OUTLINE
credit_bitmap.draw_text(0 + 1,i * 32 + 1,640,32,line,1)
credit_bitmap.draw_text(0 - 1,i * 32 + 1,640,32,line,1)
credit_bitmap.draw_text(0 + 1,i * 32 - 1,640,32,line,1)
credit_bitmap.draw_text(0 - 1,i * 32 - 1,640,32,line,1)
credit_bitmap.font.color = CREDITS_SHADOW
credit_bitmap.draw_text(0,i * 32 + 8,640,32,line,1)
credit_bitmap.font.color = CREDITS_FILL
credit_bitmap.draw_text(0,i * 32,640,32,line,1)
end
@credit_sprite = Sprite.new(Viewport.new(0,50,640,380))
@credit_sprite.bitmap = credit_bitmap
@credit_sprite.z = 9998
@credit_sprite.oy = -430 #-430
@frame_index = 0
@last_flag = false

#--------
# Setup
#--------

#Stops all audio but background music.
Audio.me_stop
Audio.bgs_stop
Audio.se_stop

Graphics.transition

loop do

Graphics.update
Input.update


update
if $scene != self
break
end
end
Graphics.freeze
@sprite.dispose
@credit_sprite.dispose
end

##Checks if credits bitmap has reached it's ending point
def last?
    if @frame_index > (@credit_sprite.bitmap.height + 500)
       $scene = Scene_Map.new #change this to Scene_Title.new if you wish it to go to title screen instead.
       Audio.bgm_fade(10000) #aprox 10 seconds
      return true
    end
      return false
    end

#Check if the credits should be cancelled
def cancel?
    if Input.trigger?(Input::C)
      $scene = Scene_Map.new #change this to Scene_Title.new if you wish it to go to title screen instead.
      return true
    end
      return false
    end
def update
@backgroundGameFrameCount = @backgroundGameFrameCount + 1
if @backgroundGameFrameCount >= @backgroundG_BFrameCount
@backgroundGameFrameCount = 0
# Add current background frame to the end
@backgroundList = @backgroundList << @backgroundList[0]
# and drop it from the first position
@backgroundList.delete_at(0)
@sprite.bitmap = RPG::Cache.title(@backgroundList[0])
end
return if cancel?
return if last?
@credit_sprite.oy += 1 #this is the speed that the text scrolls. 1 is default
#The fastest I'd recomend is 5, after that it gets hard to read.
@frame_index += 1 #This should fix the non-self-ending credits
end
end
So, anyway, what this does is it plays the ending credits. You simply start the music you want (usually I put the player on a special map specifically for the Ending Credits) and then run an Auto-run process and call the script "$scene = Scene_Credits.new" (without the quotation marks...DUH!!!)

It will automatically put the words in the center of the screen, so you won't have to worry about that. Any questions, feel free to ask...not sure if I can answer or not, though...It is SDK compatible (thanks to Master Inuyasha for finding out for me.)
Reply }
#2
This is a very useful script. Especially if you realize (as I did) that this script is totally not limited to just ending credits.
You can also use it to make for example a splash screen of scrolling text for your game to, for example, tell the game's story.

How? All you gotta do is duplicate the script, change the name and call command, write the text you want and call the script on the correct point of your game.
Upcoming RPG XP project: Legends of the Flaming Falcons
In a distant future an ancient threat stirs...heroes of old take up their arms once more.
For my writing project that includes my rmxp project I'm also maintaining a private wiki; if you wish to follow me, let me know.
My developer blog can be found here:
http://the-otherworld-tales.blogspot.be/

[Image: Gazeteer%20-%20Pherione.gif]
Gazetteer responsible for Pherione's Developer Interviews. My thread here.


More info or questions? PM me
Reply }


Possibly Related Threads…
Thread Author Replies Views Last Post
   Text Scroll Script - Enhanced DerVVulfman 23 34,169 02-18-2021, 04:16 AM
Last Post: DerVVulfman
   Cursor Script Selwyn 7 15,275 09-28-2019, 02:13 PM
Last Post: DerVVulfman
   ACBS FIX SCRIPT #2: Advanced Cry Correction DerVVulfman 1 4,753 08-09-2019, 03:42 PM
Last Post: aeliath
   ACBS FIX SCRIPT #1: Victory Cries Patch DerVVulfman 1 4,694 08-08-2019, 02:53 PM
Last Post: aeliath
   Spritesheet Generator Conversion Script DerVVulfman 0 4,226 11-21-2018, 04:48 AM
Last Post: DerVVulfman
   Neo Mode 7 Script by MGCaladtogel MGC 59 125,011 09-29-2017, 03:48 AM
Last Post: DerVVulfman
   Longer Script Calls LiTTleDRAgo 0 4,943 05-17-2017, 12:36 AM
Last Post: LiTTleDRAgo
   SLOLS: Snake Look-alike on Load Script Zeriab 3 11,239 05-14-2017, 06:25 PM
Last Post: LiTTleDRAgo
   Character Select Script Selwyn 3 10,698 03-07-2017, 04:14 AM
Last Post: JayRay
   ELSA (Event Layering Script Advance) JayRay 0 5,983 02-25-2015, 04:15 AM
Last Post: JayRay



Users browsing this thread: 3 Guest(s)