Map Credit - woratana - 01-22-2009
Map Credit
Version 1.0
by Woratana
Release Date: 10/05/2008 *Prom Night~*
Introduction
Same as old XP credit script that I have no idea who is originally
scripted that. :P
Anyway, this script has same way to setup the credit, but the different
is CREDIT WILL SHOW IN MAP!! :D
Why the credit in map is better?
Because you can move event, show picture, do other thing else while
credit text is scrolling. :)
And you can also decorate text in credit the way you like with tag, like
< b > for bold text, or < i > for italic text.
You can set the background image you want to show when credit is
scrolling too~
Features
Version 1.0
- You can use background image
- You can decorate text with special tags
- You can setup default decoration for header text (text that include
<h>) and normal text
- Credit will run in map, so you can use your eventing skill to make
credit scene more interesting. :)
Screenshots
Script
Place it above main
Code: #===============================================================
# ? [VX] ? Map Credit ? ?
#--------------------------------------------------------------
# ? by Woratana [woratana@hotmail.com]
# ? Thaiware RPG Maker Community
# ? Released on: 09/05/2008
# ? Version: 1.0
#----------------------------------------------------
# ? How to use:
# ** To start Credit, call script:
# $scene.credit.start
#
# ** To Stop and Clear Credit, call script:
# $scene.credit.terminate
#----------------------------------------------------
# ? Special Tags for Decorate Text:
# There are special tags that you can put in text to decorate that line
#
# You can also set default text decoration for all text in:
#-------------------------------------
# SETUP HEADER TEXT HERE
#-------------------------------------
# for Header line (line that has tag <h>)
# &
#-------------------------------------
# SETUP CONTENT TEXT HERE
#-------------------------------------
# for Normal line~
#-----------------------------------------------------
# ? >= Tag List <= ?
# * These tags will only apply to the line it is in~
# * You cannot use opposite tags in same line. (e.g. <b> and </b>)
#
# <b> :Bold Text
# </b> :No Bold Text
# <i> :Italic Text
# </i> :No Italic Text
# <center> :Align text to Center
# <left> :Align text to left
# <right> :Align text to right
# <h> :Make that line become Header line
#===========================================================================
#----------------------------------------
# Map Credit Main Script \('w' )
#----------------------------------------
class Wora_Map_Credit
BG_Image = 'credit_bg' # Background Image file name, image must be in
folder 'Picture'
# leave '' for no background
BG_Image_Opacity = 255 # Background Opacity (0 - 255)
Text_Begin_y = 416 # Use 0 - 416: Text will start in the screen
# Use 416+: Text will start below the screen
Text_Scroll_Speed = 1 # Higher this number = Faster
Text_Scroll_Delay = 0 # Delay between each text move (0 for no delay)
Text_Opacity = 220 # Text Opacity
Text_Blend_Type = 0 # 0: Normal, 1: Add, 2: Subtraction
Test_Text = 'I' # Text for test height,
# Change to taller alphabet if height is not right~
#--------------------------
# Start Credit
#--------------------------
Credit= <<_MAP_CREDIT_
<h>Story
Name Here
<h>Graphics
Name Here
<h>Mapping
Name Here
<h>Scripting
Name Here
Name Here
<h>Special Thanks
Name Here
Name Here
Name Here
_MAP_CREDIT_
#--------------------------
# End Credit
#--------------------------
#-------------------------------------
# SETUP HEADER TEXT HERE
#-------------------------------------
def header_properties(bitmap)
bitmap.font.name = 'Tahoma' # Text Font
bitmap.font.color = Color.new(0, 0, 255, 255) # (Red, Green, Blue,
Opacity)
bitmap.font.size = 30 # Text size
bitmap.font.bold = true # Bold Text? (true/false)
bitmap.font.italic = false # Italic Text? (true/false)
bitmap.font.shadow = true # Shadowed Text? (true/false)
@text_outline = Color.new(0,0,0) # nil for no outline,
Color.new(r,g,b) for outline
@text_align = 1 # 0: Left, 1: Center, 2: Right
end
#-------------------------------------
# SETUP CONTENT TEXT HERE
#-------------------------------------
def content_properties(bitmap)
bitmap.font.name = 'Tahoma'
bitmap.font.color = Color.new(255, 255, 255, 255)
bitmap.font.size = 22
bitmap.font.bold = true
bitmap.font.italic = false
bitmap.font.shadow = true
@text_outline = nil
@text_align = 1
end
#-----------------------------------------------------------------------
# -END- MAP CREDIT SCRIPT SETUP PART
#===========================================================================
def initialize
@started = false
end
# Delete credit if credit started
def terminate
if @started
if @bg != nil
@bg.bitmap.dispose
@bg.dispose
end
@sprite.bitmap.dispose
@sprite.dispose
@started = false
end
end
# Start Credit
def start(text = Credit, bg = BG_Image)
# Create Background Sprite
if BG_Image != ''
@bg = Sprite.new
@bg.bitmap = Cache.picture(bg)
@bg.opacity = BG_Image_Opacity
@bg.z = 10000
end
# Create Text Sprite
@sprite = Sprite.new
@sprite.x = 0
@sprite.y = 0
@sprite.z = 10001
@sprite.opacity = Text_Opacity
@sprite.blend_type = Text_Blend_Type
# Calculate Credit Height
header_line = 0
content_line = 0
height = 0
text = text.split(/\n/)
text.each do |i|
if i.include?('<h>'); header_line += 1
else; content_line += 1
end
end
@sprite.bitmap = Bitmap.new(1,1)
# Test Header Properties
header_properties(@sprite.bitmap)
header_height = @sprite.bitmap.text_size(Test_Text).height
height += ( header_line * ( header_height ) )
# Test Content Properties
content_properties(@sprite.bitmap)
content_height = @sprite.bitmap.text_size(Test_Text).height
height += ( content_line * ( content_height ) )
@sprite.bitmap.dispose
# Finished Test, Draw Text
@sprite.bitmap = Bitmap.new(Graphics.width, Text_Begin_y + height + 32)
content_x = 0
content_y = Text_Begin_y
text.each do |i|
# Determine Special Tags
if i.include?('<h>')
i.sub!('<h>', '')
header_properties(@sprite.bitmap)
bitmap_height = header_height
else
content_properties(@sprite.bitmap)
bitmap_height = content_height
end
# Bold Text
if i.include?('<b>')
i.sub!('<b>', ''); @sprite.font.bold = true
elsif i.include?('</b>')
i.sub!('</b>', ''); @sprite.font.bold = false
end
# Italic Text
if i.include?('<i>')
i.sub!('<i>', ''); @sprite.font.italic = true
elsif i.include?('</i>')
i.sub!('</i>', ''); @sprite.font.italic = false
end
# Align Text
if i.include?('<center>')
i.sub!('<center>', ''); @text_align = 1
elsif i.include?('<left>')
i.sub!('<left>', ''); @text_align = 0
elsif i.include?('<right>')
i.sub!('<right>', ''); @text_align = 2
end
if !@text_outline.nil? # Text Outline
ori_color = @sprite.bitmap.font.color.clone
@sprite.bitmap.font.color = @text_outline
@sprite.bitmap.draw_text(content_x-1, content_y,
@sprite.bitmap.width,
bitmap_height, i, @text_align)
@sprite.bitmap.draw_text(content_x, content_y-1,
@sprite.bitmap.width,
bitmap_height, i, @text_align)
@sprite.bitmap.draw_text(content_x, content_y+1,
@sprite.bitmap.width,
bitmap_height, i, @text_align)
@sprite.bitmap.draw_text(content_x+1, content_y,
@sprite.bitmap.width,
bitmap_height, i, @text_align)
@sprite.bitmap.font.color = ori_color
end
# Draw Text
@sprite.bitmap.draw_text(content_x, content_y, @sprite.bitmap.width,
bitmap_height, i, @text_align)
content_y += bitmap_height
end
@delay = 0
@started = true
end
# Update credit if credit started~
def update
if @started
if @delay > 0
@delay -= 1
return
else
@sprite.oy += Text_Scroll_Speed
@delay += Text_Scroll_Delay
end
end
end
end
#----------------------------------------
# Plug Credit to Map >_> <_<~
#----------------------------------------
class Scene_Map < Scene_Base
attr_reader :credit
alias wor_mapcre_scemap_str start
alias wor_mapcre_scemap_upd update
alias wor_mapcre_scemap_ter terminate
def start
@credit = Wora_Map_Credit.new # Create Credit
wor_mapcre_scemap_str
end
def update
@credit.update # Update Credit
wor_mapcre_scemap_upd
end
def terminate
@credit.terminate # Dispose Credit
wor_mapcre_scemap_ter
end
end
Instruction
- Setup credit in the script
- Start credit by call script:
- Stop and Clear credit by call script:
Code: $scene.credit.terminate
Author's Notes
Free for use in your work if credit is included.
Please do not redistribute this script without permission. If you want
to post it on any forum, please link to this topic.
Bug Report?
Please give me these informations:
Quote:- What is it says in error window?
- When is it get error? (Right after run game, when you choose
something, etc.)
- What have you changed in setting part?
- Do you have any other scripts running in your game that may crash with
this script?
Map Credit - Sporky - 01-26-2009
I still think this is a fantastic script wora. Surprised more games don't use it :)
Map Credit - woratana - 01-28-2009
Thanks ^^/
I'm glad some people use it though. It's at least better than no one using this script. >_>/
|