Location Name Popup
Version: 1.0.0
Introduction
This script makes the map name pop up when the player enters a new map. The script is highly customizable.
Features
No screenshots available.
Demo
Download
Thank you to Q-Man for making and hosting the demo.
Script
Instructions
Insert the script below the SDK. If not inserted below the SDK, the script will automatically attempt to load the SDK.rsc library.
After installing, edit the constants in the Location_Popup module to suit your needs.
FAQ
No questions asked
Compatibility
SDK 2.2 compliant.
Credits and Thanks
Thank you to all those who tested and help find and eliminate bugs!
Author's Notes
I made this to kill MOG's map location script. This one can be CUSTOMIZED!!!
Terms and Conditions
Free to use if credit is given.
Version: 1.0.0
Introduction
This script makes the map name pop up when the player enters a new map. The script is highly customizable.
Features
- Can use an image file or text
- Two types of display modes: Fade and Scroll
Fade - Fades the location in, then fades out
Scroll - Scrolls the location from the right, then scrolls out to the right - Customizable display and transition lengths
- Can use a prefix and/or suffix for images
- Images can use the Map ID or the Map name as their name
- You can exempt maps from having the popup!
No screenshots available.
Demo
Download
Thank you to Q-Man for making and hosting the demo.
Script
Code:
#============================================================================
# ** Map Location Popup
#----------------------------------------------------------------------------
# Yeyinde
# 1.0.0
# 06/07/07
# SDK Version : (2.2) - Parts: I, III
#============================================================================
#-----------------------------------------------------------------------------
# SDK Auto-installer
#-----------------------------------------------------------------------------
unless Object.const_defined?(:SDK)
begin
require 'SDK'
rescue LoadError
print 'This script (Map Location Popup) requires the SDK to run.'
exit 1
end
end
#-----------------------------------------------------------------------------
# SDK Log
#-----------------------------------------------------------------------------
SDK.log('Map Location Popup', 'Yeyinde', '1.00', '06/07/07')
#-----------------------------------------------------------------------------
# SDK Check Requirements
#-----------------------------------------------------------------------------
SDK.check_requirements(2.2, [1, 3])
#-----------------------------------------------------------------------------
# SDK Enabled Check
#-----------------------------------------------------------------------------
if SDK.enabled?('Map Location Popup')
#==============================================================================
# ** Location_Popup
#------------------------------------------------------------------------------
# Customization module
#==============================================================================
module Location_Popup
# Display Type (0:text 1:image)
DISPLAY_TYPE = 0
# Show Type (0:fade 1:scroll)
SHOW_TYPE = 1
# Showing Duration (Excludes transition time) - Units: Frames
SHOW_TIME = 100
# Transition Duration (For one transition) - Units: Frames
TRANSITION_TIME = 10
# Image Type (0:MapID 1:MapName)
IMAGE_TYPE = 0
# Image Prefix (For DISPLAY_TYPE 1)
IMAGE_PREFIX = 'Location_'
# Image Sufix (For DISPLAY_TYPE 1)
IMAGE_SUFFIX = ''
# Popup exemptions (Syntax: [map_id1, mapid2, etc.] EX. [1, 5, 6])
NO_POPUP_MAPS = []
end
#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
# This class handles temporary data that is not included with save data.
# Refer to "$game_temp" for the instance of this class.
#==============================================================================
class Game_Temp
#---------------------------------------------------------------------------
# * Aliasing
#---------------------------------------------------------------------------
alias_method :map_name_popup_int, :initialize
#---------------------------------------------------------------------------
# * Public Instance Variables
#---------------------------------------------------------------------------
attr_accessor :new_location_name
attr_accessor :location_popup_show
#---------------------------------------------------------------------------
# * Object Initialization
#---------------------------------------------------------------------------
def initialize
# Call aliased method
map_name_popup_int
# Crate new variables
@new_location_name = ''
@location_popup_show = false
end
end
#==============================================================================
# ** Game_Map
#------------------------------------------------------------------------------
# This class handles the map. It includes scrolling and passable determining
# functions. Refer to "$game_map" for the instance of this class.
#==============================================================================
class Game_Map
#---------------------------------------------------------------------------
# * Aliasing
#---------------------------------------------------------------------------
alias_method :map_name_popup_setup, :setup
#--------------------------------------------------------------------------
# * Setup
# map_id : map ID
#--------------------------------------------------------------------------
def setup(map_id)
# Call aliased method
map_name_popup_setup(map_id)
# Set temporary variable
if Location_Popup::DISPLAY_TYPE == 0 ||
(Location_Popup::DISPLAY_TYPE == 1 && Location_Popup::IMAGE_TYPE == 1)
location_text = $data_mapinfos[@map_id].name
else
location_text = @map_id.to_s
end
$game_temp.new_location_name = location_text
$game_temp.location_popup_show = true
end
end
#==============================================================================
# ** Sprite_LocationPopup
#------------------------------------------------------------------------------
# This sprite is used to display the current location when it is entered. It
# observes $game_temp.new_location_name to know when to refresh
#==============================================================================
class Sprite_LocationPopup < Sprite
#---------------------------------------------------------------------------
# * Object Initialization
#---------------------------------------------------------------------------
def initialize
# Call superclass method
super()
# Set co-ordinates
self.x = 640
self.y = 16
self.z = 999999
# Set some variables to save space
@show_time = Location_Popup::SHOW_TIME
@transition_time = [Location_Popup::TRANSITION_TIME, 1].max
# Refresh
refresh
end
#---------------------------------------------------------------------------
# * Reset Variables
#---------------------------------------------------------------------------
def reset_variables
@current_location = $game_temp.new_location_name
@frames_remaining = @show_time + @transition_time * 2
end
#---------------------------------------------------------------------------
# * Refresh
#---------------------------------------------------------------------------
def refresh
# Clear existing bitmap
if self.bitmap != nil
self.bitmap.dispose
self.bitmap = nil
end
# Reset variables
reset_variables
# Stop if the location is not to be displayed on this map
if Location_Popup::NO_POPUP_MAPS.include?($game_map.map_id) ||
!$game_temp.location_popup_show
@frames_remaining = 0
return
end
$game_temp.location_popup_show = false
# Branch for text display
if Location_Popup::DISPLAY_TYPE == 0
text = @current_location
bitmap = Bitmap.new(32, 32)
width = bitmap.text_size(text).width + 8
bitmap.dispose
self.bitmap = Bitmap.new(width, 32)
self.bitmap.draw_text(0, 0, width, 32, text)
else # Branch for image display
name = Location_Popup::IMAGE_PREFIX + @current_location +
Location_Popup::IMAGE_SUFFIX
self.bitmap = RPG::Cache.picture(name)
end
# Reset x co-ordinates
self.x = Location_Popup::SHOW_TYPE == 0 ? 640 - 16 - self.bitmap.width : 640
# Set opacity if fade type
self.opacity = 0 if Location_Popup::SHOW_TYPE == 0
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Call superclass method
super
# Refresh if location was changed
refresh if @current_location != $game_temp.new_location_name
# If there is still a frame remaining
if @frames_remaining > 1
# Branch per frames remaining
case @frames_remaining
when (@show_time + @transition_time )...(@show_time +
@transition_time * 2)
# Branch per showing type
if Location_Popup::SHOW_TYPE == 0
self.opacity += 256 / @transition_time
else
self.x -= (self.bitmap.width + 16) / @transition_time
end
when 1..(@transition_time + 1)
# Branch per showing type
if Location_Popup::SHOW_TYPE == 0
self.opacity -= 256 / @transition_time
else
self.x += (self.bitmap.width + 16) / @transition_time
end
end
# Remove one frame
@frames_remaining -= 1
end
end
end
#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
# This class performs title screen processing.
#==============================================================================
class Scene_Title
#---------------------------------------------------------------------------
# * Aliasing
#---------------------------------------------------------------------------
alias_method :map_name_popup_database, :main_database
#--------------------------------------------------------------------------
# * Main Processing : Database Initialization
#--------------------------------------------------------------------------
def main_database
# Call aliased method
map_name_popup_database
# If global variable $data_mapinfos has not yet been defined
# and if the setup is to use the map name in some way (Text/Mapname image)
if $data_mapinfos.nil? && Location_Popup::DISPLAY_TYPE == 0 ||
(Location_Popup::DISPLAY_TYPE == 1 && Location_Popup::IMAGE_TYPE == 1)
# Load Mapinfos data
$data_mapinfos = load_data('Data/MapInfos.rxdata')
end
end
end
#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
# This class performs map screen processing.
#==============================================================================
class Scene_Map
#---------------------------------------------------------------------------
# * Aliasing
#---------------------------------------------------------------------------
alias_method :map_name_popup_sprite, :main_sprite
#--------------------------------------------------------------------------
# * Main Processing : Sprite Initialization
#--------------------------------------------------------------------------
def main_sprite
map_name_popup_sprite
@location_popup_sprite = Sprite_LocationPopup.new
end
end
end
#-----------------------------------------------------------------------------
# End SDK Enabled Check
#-----------------------------------------------------------------------------
Instructions
Insert the script below the SDK. If not inserted below the SDK, the script will automatically attempt to load the SDK.rsc library.
After installing, edit the constants in the Location_Popup module to suit your needs.
FAQ
No questions asked
Compatibility
SDK 2.2 compliant.
Credits and Thanks
Thank you to all those who tested and help find and eliminate bugs!
Author's Notes
I made this to kill MOG's map location script. This one can be CUSTOMIZED!!!
Terms and Conditions
Free to use if credit is given.