Map as Title Screen

Acezon

Om Nom Nom
Veteran
Joined
Apr 22, 2012
Messages
131
Reaction score
25
First Language
English
Primarily Uses
N/A

Map as Title Screen




Introduction
Customize your title screen by having a map scene as its background! You can also add more eye candy by using Yami's Title Decoration.

Features

  • Set the starting map of your title screen
  • Add weather effects, etc. (of course, by using weather scripts and adding them to your map)
  • Still display your game's title, add borders, etc. (retains Ace's default title screen)
  • Use Yami's Title decoration to add more pizzazz.



Screenshots

Spoiler















   You can also combine weather effects, and even use scripts! Check out MA's Hover Alerts.





   Using Yami's Title Decorate provides more eye-candy!



Script

#==============================================================================
# ** Map as Title Screen v1.1
# Author: Acezon
# Date: 16 June 2013
#------------------------------------------------------------------------------
# Version 1.1
# - Merged with the Yami TD compatible script
# - Now compatible with Khas's Awesome Light Effects script
# Version 1.0
# - Initial Release
#------------------------------------------------------------------------------
# Just credit me. Free to use for commercial/non-commercial games.
#==============================================================================

$imported = {} if $imported.nil?
$imported["Acezon-MapTitleScreen"] = true

#==============================================================================
# ** START Configuration
#==============================================================================
module Config
# The id of the map you want the title to be displayed.
Starting_Map_ID = 1

# Character's position (though he/she is invisible)
# This feature is useful for large maps.
X_Pos = 7
Y_Pos = 6
end
#==============================================================================
# ** END Configuration
#==============================================================================

#==============================================================================
# ** Scene_Title
#==============================================================================
class Scene_Title < Scene_Base
#--------------------------------------------------------------------------
# * Start
#--------------------------------------------------------------------------
def start
SceneManager.call(Scene_MapTitle)
end
#--------------------------------------------------------------------------
# * Terminate
#--------------------------------------------------------------------------
def terminate
SceneManager.snapshot_for_background
Graphics.fadeout(Graphics.frame_rate)
end
end

#==============================================================================
# ** Scene_MapTitle
#==============================================================================
class Scene_MapTitle < Scene_Map
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :character_name # character graphic filename
attr_accessor :character_index # character graphic index
#--------------------------------------------------------------------------
# * Start
#--------------------------------------------------------------------------
def start
DataManager.create_game_objects
$game_party.setup_starting_members
$game_map.setup(Config::Starting_Map_ID)
$game_player.moveto(Config::X_Pos, Config::Y_Pos)
$game_player.followers.visible = false
$game_player.refresh
$game_player.make_encounter_count

@character_name = $game_player.character_name
@character_index = $game_player.character_index
$game_player.set_graphic('', 0)

$game_system.menu_disabled = true
Graphics.frame_count = 0

super
create_foreground
create_background
create_command_window
play_title_music
end
#--------------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------------
def update
# Yami's Title Decoration Compatibility Scriptlet
if $imported["YSE-TD-VerticalCommand"]
@command_sprite.each { |sprite|
sprite.update
@command_window.index == sprite.id ? sprite.activate : sprite.deactivate
}
end

update_basic
@spriteset.update
$game_map.update(true)
update_scene if scene_change_ok?
end
#--------------------------------------------------------------------------
# * Determine if Debug Call by F9 key
#--------------------------------------------------------------------------
def update_call_debug
# do nothing
end
#--------------------------------------------------------------------------
# * Get Transition Speed
#--------------------------------------------------------------------------
def transition_speed
return 20
end
#--------------------------------------------------------------------------
# * Termination Processing
#--------------------------------------------------------------------------
def terminate
super
dispose_background
dispose_foreground
dispose_command_sprite if $imported["YSE-TD-VerticalCommand"]
SceneManager.snapshot_for_background
end
#--------------------------------------------------------------------------
# * Create Background
#--------------------------------------------------------------------------
def create_background
@sprite1 = Sprite.new
@sprite1.bitmap = Cache.title1($data_system.title1_name)
@sprite2 = Sprite.new
@sprite2.bitmap = Cache.title2($data_system.title2_name)
center_sprite(@sprite1)
center_sprite(@sprite2)
end
#--------------------------------------------------------------------------
# * Create Foreground
#--------------------------------------------------------------------------
def create_foreground
@foreground_sprite = Sprite.new
@foreground_sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
@foreground_sprite.z = 100
draw_game_title if $data_system.opt_draw_title
end
#--------------------------------------------------------------------------
# * Draw Game Title
#--------------------------------------------------------------------------
def draw_game_title
@foreground_sprite.bitmap.font.size = 48
rect = Rect.new(0, 0, Graphics.width, Graphics.height / 2)
@foreground_sprite.bitmap.draw_text(rect, $data_system.game_title, 1)
end
#--------------------------------------------------------------------------
# * Free Background
#--------------------------------------------------------------------------
def dispose_background
@sprite1.bitmap.dispose
@sprite1.dispose
@sprite2.bitmap.dispose
@sprite2.dispose
end
#--------------------------------------------------------------------------
# * Free Foreground
#--------------------------------------------------------------------------
def dispose_foreground
@foreground_sprite.bitmap.dispose
@foreground_sprite.dispose
end
#--------------------------------------------------------------------------
# * Move Sprite to Screen Center
#--------------------------------------------------------------------------
def center_sprite(sprite)
sprite.ox = sprite.bitmap.width / 2
sprite.oy = sprite.bitmap.height / 2
sprite.x = Graphics.width / 2
sprite.y = Graphics.height / 2
end
#--------------------------------------------------------------------------
# * Create Command Window
#--------------------------------------------------------------------------
def create_command_window
@command_window = Window_TitleCommand.new
@command_window.set_handler:)new_game, method:)command_new_game))
@command_window.set_handler:)continue, method:)command_continue))
@command_window.set_handler:)shutdown, method:)command_shutdown))

if $imported["YSE-TD-VerticalCommand"]
@command_window.y = Graphics.height
@command_sprite = []
i = 0
@command_window.symbol_list.each { |symbol|
sprite = Sprite_TitleCommand.new(symbol, i); i += 1
@command_sprite.push(sprite)
}
@command_sprite.each { |sprite| sprite.show }
end
end
#--------------------------------------------------------------------------
# * Dispose Command Sprites
#--------------------------------------------------------------------------
def dispose_command_sprite
@command_sprite.each { |sprite| sprite.dispose }
end
#--------------------------------------------------------------------------
# * Close Command Window
#--------------------------------------------------------------------------
def close_command_window
@command_window.close
update until @command_window.close?
end
#--------------------------------------------------------------------------
# * [New Game] Command
#--------------------------------------------------------------------------
def command_new_game
close_command_window
fadeout_all
$game_system.menu_disabled = false
$game_map.setup($data_system.start_map_id)
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.followers.visible = true
$game_player.refresh
$game_player.set_graphic(@character_name, @character_index)
$game_map.autoplay
SceneManager.goto(Scene_Map)
end
#--------------------------------------------------------------------------
# * [Continue] Command
#--------------------------------------------------------------------------
def command_continue
close_command_window
fadeout_all
SceneManager.call(Scene_Load)
end
#--------------------------------------------------------------------------
# * [Shut Down] Command
#--------------------------------------------------------------------------
def command_shutdown
close_command_window
fadeout_all
SceneManager.exit
end
#--------------------------------------------------------------------------
# * Play Title Screen Music
#--------------------------------------------------------------------------
def play_title_music
$data_system.title_bgm.play
RPG::BGS.stop
RPG::ME.stop
end
end



Log


Version 1.1


 - Merged with the Yami TD compatible script


 - Now compatible with Khas's Awesome Light Effects script


Version 1.0


 - Initial Release

Credit and Thanks
- Read the script header
 
Last edited by a moderator:

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,230
Reaction score
3,075
First Language
English
Add weather effects, etc. (of course, by using weather scripts and adding them to your map)
How about the weather events?
 

Acezon

Om Nom Nom
Veteran
Joined
Apr 22, 2012
Messages
131
Reaction score
25
First Language
English
Primarily Uses
N/A
@Tsukihime Yes, you can also add them. 

EDIT: I placed a screenshot showing weather effects can also be used alongside the script.
 
Last edited by a moderator:

pclaydon

Veteran
Veteran
Joined
Apr 7, 2012
Messages
77
Reaction score
20
First Language
English
Primarily Uses
only issue i can see with this is that ctrl no longer allows u to ignore impassable tarrain

do other debug options still work not tried though
 

Acezon

Om Nom Nom
Veteran
Joined
Apr 22, 2012
Messages
131
Reaction score
25
First Language
English
Primarily Uses
N/A
@pclaydon - It's a title screen, so the player is not allowed to move.

UPDATE:
Fixed issue when user can access the debug menu.
 
 
Last edited by a moderator:

estriole

Veteran
Veteran
Joined
Jun 27, 2012
Messages
1,033
Reaction score
338
First Language
indonesian
how about event? does it works? (ex i use event and put it to autostart/paralel process trigger)

if yes this is really great script to have.

we can combine show pictures to create cool sequence of title screen. :D .
 

Acezon

Om Nom Nom
Veteran
Joined
Apr 22, 2012
Messages
131
Reaction score
25
First Language
English
Primarily Uses
N/A
@estriole - Yes, all types of events. Actually in the fourth screenshot (the one with MA's Hover Alerts), the rain is set on parallel process.
 

Internetakias

RPG Maker VX Ace Noob :P
Member
Joined
Aug 26, 2012
Messages
67
Reaction score
8
First Language
Greek
Primarily Uses
Would making an Animal Crossing intro be feasible with this script?

Here's what it looks like in the actual game, btw:



The title screen is pretty much a villager or (in the gamecube version) a random player, walking around while the camera follows him/her while also displaying the logo and a "Press :insertbutton here:" prompt. 
 

seita

Donn_M
Veteran
Joined
Feb 6, 2013
Messages
2,255
Reaction score
612
First Language
English
Primarily Uses
This seems very similar to an eventing title screen I used back then for RMXP for my first real game. Can I achieve something similar to this? This is my game from years ago.
 
Last edited by a moderator:

Acezon

Om Nom Nom
Veteran
Joined
Apr 22, 2012
Messages
131
Reaction score
25
First Language
English
Primarily Uses
N/A
@Internetakias - You can. Use Galv's http://galveraxe.wordpress.com/2012/10/20/cam-control/'>Cam Control script. Set up your scene on how you want the camera to move (the script has instructions), and it should work fine. :D


@seita - You also can. It just depends on how you set-up your scene, as long as it only happens in the configured map. The title intro can be done through eventing, I guess. There are other Title Screen scripts out there like Moghunter's. Just put it below this script. If there are bugs when using these Title Screen scripts, just leave a post here.


Thanks!
 
Last edited by a moderator:

Zachy

Veteran
Veteran
Joined
Mar 16, 2012
Messages
43
Reaction score
5
First Language
English
Primarily Uses
Perfect, thanks :D

-EDIT-
Hang on, doesn't seem to be compatible with Yami's script, and I downloaded the right script (the compatible one).

Any thoughts on what could be wrong?
 
Last edited by a moderator:

Acezon

Om Nom Nom
Veteran
Joined
Apr 22, 2012
Messages
131
Reaction score
25
First Language
English
Primarily Uses
N/A
@Zachy I'm sorry for replying late. It seems that I forgot to add some lines in the update method. It's fixed now.

If you still encounter problems, leave it here. :D
 

Zachy

Veteran
Veteran
Joined
Mar 16, 2012
Messages
43
Reaction score
5
First Language
English
Primarily Uses
Works fine now, thanks very much! :)

(Sorry for my late reply too) 
 

DarknessFalls

Rpg Maker Jesus - JS Dev.
Veteran
Joined
Jun 7, 2013
Messages
1,393
Reaction score
209
First Language
English
Sorry if this is a necro post but I don't see the Map i selected when starting the game, I see the default title screen.
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
29,459
Reaction score
6,850
First Language
German
Primarily Uses
RMMV
Sorry if this is a necro post but I don't see the Map i selected when starting the game, I see the default title screen.
We can't help you without more info on what you've done.

For example, the link to the script provides two different script versions - which one did you use?

What other scripts do you use? it looks like the script doesn't get started or initialized if nothing had changed, and that often means that another script blocks the function and you'll have to reorder your scripts.

Screenshots of your map properties and how you select that map for title would also help to check if you simply mistyped a name...
 

Acezon

Om Nom Nom
Veteran
Joined
Apr 22, 2012
Messages
131
Reaction score
25
First Language
English
Primarily Uses
N/A
@Kalacious You might want to set the title graphic to none. I think that's the reason why the title graphic is showing instead of the map. :)
 

Acezon

Om Nom Nom
Veteran
Joined
Apr 22, 2012
Messages
131
Reaction score
25
First Language
English
Primarily Uses
N/A
UPDATE

Version 1.1

- Merged with the Yami TD compatible script

- Now compatible with Khas's Awesome Light Effects script
 

Broeckchen

Das Wertier
Member
Joined
Aug 16, 2013
Messages
8
Reaction score
2
First Language
German
Primarily Uses
Maybe I'm just way tooooooooo inexperienced, but...

I only always get the error "line 37: Error occured, uninitialised constant object:: Scene_Base"

I didn't change anything apart from the Map ID in the config-part. v.v I'm sorry, it's probably actually a very obvious mistake, but I'm completely new to this...
 

Broeckchen

Das Wertier
Member
Joined
Aug 16, 2013
Messages
8
Reaction score
2
First Language
German
Primarily Uses
Thank you! I did this, now that error is gone... I do get an error called "undefined method `symbol_list' for #<Window_TitleCommand:0xa68bcbc>". The error apparently occurs in line 192 and is a NoMethodError, but I can't figure out what's wrong there.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

Stream will be live shortly with a guest stream! Tonight, a new guest joins~ Feel free to drop by!
Finally told my boss I need a day off. Tomorrow will be my first in 23 days.
Kind of a goofy question but has the pandemic inspired you in any way?
Eric from RTP: is a veteran
Game: Lvl 1

Forum statistics

Threads
95,416
Messages
929,017
Members
125,647
Latest member
WillFex
Top