by Dargor
Version 1.5
Introduction
This script creates a window on the map that displays the map name when the player is transfered.
It's possible to edit which maps will have this window by editing the Exclude_Maps array in the Map_Name_Popup module.
Additionally, you can use the \N[id] code in the map name to display an actor's name, ID being the actor's ID.
Version 1.1 now works with areas too!
Hope you like it!
Script
Code:
#==============================================================================
# ** Map Name Popup
#------------------------------------------------------------------------------
# Â© Dargor, 2008
#Â 11/05/08
#Â Version 1.5
#------------------------------------------------------------------------------
#Â VERSION HISTORY:
#Â - 1.0 (06/03/08), Initial release
#Â - 1.1 (19/03/08), Added support for areas
#Â - 1.2 (26/04/08), Added revert exclusion option
#Â - 1.3 (11/05/08), Script restructuration
#Â - 1.4 (11/05/08), Added support for enabling/disabling popups
#Â - 1.5 (11/05/08), Added 'show' functions
#------------------------------------------------------------------------------
#Â INSTRUCTIONS:
#Â - Paste this above main
#Â - Edit the Exclude_Maps array in the Map_Name_Popup module
#Â - Edit the Exclude_Areas array in the Map_Name_Popup module
#==============================================================================
#==============================================================================
#Â ** Map Name Popup Configuration
#==============================================================================
module Map_Name_Popup
 # These maps will not popup the name window
 Exclude_Maps = []
 # These areas will not popup the name window
 Exclude_Areas = []
 # Revert exclusion
 Revert_Exclusion = false
end
#==============================================================================
# ** RPG::Area
#------------------------------------------------------------------------------
#Â Data class for areas.
#==============================================================================
class RPG::Area
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_accessor :show_name
 #--------------------------------------------------------------------------
 # * Alias Listing
 #--------------------------------------------------------------------------
 alias dargor_vx_area_initialize initialize
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
  dargor_vx_area_initialize
  @show_name = false
 end
end
#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
#Â This class handles system-related data. Also manages vehicles and BGM, etc.
# The instance of this class is referenced by $game_system.
#==============================================================================
class Game_System
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_accessor :map_name_disabled
 attr_accessor :area_name_disabled
 #--------------------------------------------------------------------------
 # * Alias Listing
 #--------------------------------------------------------------------------
 alias dargor_vx_map_name_initialize initialize
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
  dargor_vx_map_name_initialize
  @map_name_disabled = false
  @area_name_disabled = false
 end
end
#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#Â This class handles maps. It includes event starting determinants and map
# scrolling functions. The instance of this class is referenced by $game_map.
#==============================================================================
class Game_Player < Game_Character
 #--------------------------------------------------------------------------
 # * Area ID
 #--------------------------------------------------------------------------
 def area_id
  for area in $data_areas.values
   return area.id if in_area?(area)
  end
 end
end
#==============================================================================
# ** Game_Map
#------------------------------------------------------------------------------
#Â This class handles maps. It includes scrolling and passage determination
# functions. The instance of this class is referenced by $game_map.
#==============================================================================
class Game_Map
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_accessor :show_name
 #--------------------------------------------------------------------------
 # Alias Listing
 #--------------------------------------------------------------------------
 alias dargor_map_name_window_setup setup
 #--------------------------------------------------------------------------
 # * Setup
 #  map_id : map ID
 #--------------------------------------------------------------------------
 def setup(map_id)
  dargor_map_name_window_setup(map_id)
  @show_name = true
 end
 #--------------------------------------------------------------------------
 # * Get Map ID
 #--------------------------------------------------------------------------
 def name
  map_infos = load_data("Data/MapInfos.rvdata")
  name = map_infos[@map_id].name
  name.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name }
  return name
 end
end
class Scene_Map < Scene_Base
 def show_map_name(forced=false)
  $game_map.show_name = true
  @spriteset.show_map_name(forced=false)
 end
 def show_area_name(forced=false)
  @spriteset.show_area_name(forced=false)
 end
end
#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
#Â This class brings together map screen sprites, tilemaps, etc. It's used
# within the Scene_Map class.
#==============================================================================
class Spriteset_Map
 #--------------------------------------------------------------------------
 # Alias Listing
 #--------------------------------------------------------------------------
 alias dargor_spriteset_name_window_initialize initialize
 alias dargor_spriteset_name_window_update update
 alias dargor_spriteset_name_window_dispose dispose
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
  create_windows
  dargor_spriteset_name_window_initialize
  update
 end
 #--------------------------------------------------------------------------
 # * Create Windows
 #--------------------------------------------------------------------------
 def create_windows
  @map_name_window = Window_MapName.new
  @area_name_window = Window_MapName.new
 end
 #--------------------------------------------------------------------------
 # * Show Map Name
 #--------------------------------------------------------------------------
 def show_map_name(forced=false)
  unless forced
   return if $game_system.map_name_disabled
  end
  if $game_map.show_name
   @map_name_window.show_name($game_map.name, 128)
  end
 end
 #--------------------------------------------------------------------------
 # * Show Area Name
 #--------------------------------------------------------------------------
 def show_area_name(forced=false)
  unless forced
   return if $game_system.area_name_disabled
  end
  for area in $data_areas.values
   if $game_player.in_area?(area) and area.show_name
    if Map_Name_Popup::Revert_Exclusion
     return unless Map_Name_Popup::Exclude_Areas.include?(area.id)
    else
     return if Map_Name_Popup::Exclude_Areas.include?(area.id)
    end
    @area_name_window.show_name(area.name, 128, true)
    area.show_name = false
   else
    area.show_name = true unless $game_player.in_area?(area)
   end
  end
 end
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
  dargor_spriteset_name_window_update
  show_map_name
  show_area_name
  @map_name_window.update
  @area_name_window.update
 end
 #--------------------------------------------------------------------------
 # * Dispose
 #--------------------------------------------------------------------------
 def dispose
  dargor_spriteset_name_window_dispose
  @map_name_window.dispose
  @area_name_window.dispose
 end
end
#==============================================================================
# ** Window_MapName
#------------------------------------------------------------------------------
#Â This window shows the map name when the player is transfered.
#==============================================================================
class Window_MapName < Window_Base
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize(name="", count=128)
  super(0, 0, 544, 64)
  self.visible = false
  self.openness = 0
  @name = name
  @count = count
  @in_area = false
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
  #return unless $game_map.display_name
  self.visible = true
  self.contents.clear
  self.contents.font.color = normal_color
  align = @in_area ? 0 : 1
  self.contents.draw_text(0,0,504,32,@name,align)
  gw = contents.text_size(@name).width
  gc1 = Color.new(255,255,255)
  gc2 = Color.new(0,0,0,0)
  self.contents.gradient_fill_rect(0, WLH, gw, 2, gc1, gc2) if @in_area
  $game_map.show_name = false
 end
 #--------------------------------------------------------------------------
 # * Show Name
 #--------------------------------------------------------------------------
 def show_name(name=@name, count=@count, in_area=false)
  unless in_area
   return if $game_map.show_name == false
  end
  if Map_Name_Popup::Revert_Exclusion
   return unless Map_Name_Popup::Exclude_Maps.include?($game_map.map_id)
  else
   return if Map_Name_Popup::Exclude_Maps.include?($game_map.map_id)
  end
  @name = name
  @count = count
  @in_area = in_area
  if @in_area
   self.openness = 255
   self.opacity = 0
   self.contents_opacity = 0
   self.y = 352
  else
   self.openness = 0
   self.opacity = 255
   self.contents_opacity = 255
   self.y = 0
  end
  refresh
 end
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
  super
  unless $scene.is_a?(Scene_Map)
   self.visible = false
   return
  end
  if self.visible
   if @count == 0
    if @in_area
     self.contents_opacity -= 24
     self.visible = false if self.contents_opacity == 0
     return
    else
     self.openness -= 24
     self.visible = false if self.openness == 0
     return
    end
   end
   if @in_area
    self.contents_opacity += 24
   else
    self.openness += 24
   end
   @count -= 1
  end
 end
end
Notes
I'd like to thank Hero for his idea of adding the \N[id] code.
Don't forget to give me credit!
-Dargor