Player-Named Maps
Version: 1.0
Author: modern algebra
Date: December 8, 2009
Version History
- <Version 1.0> 12.08.2009 - Original Release
Description
This was a bizarre request and very close to useless, but basically this script allows you to call a scene that lets the player change the name of the maps. It only really makes sense if you have another script that actually shows the names of the maps in-game. It might be useful for a stronghold or something.
Features
- Allows the player to name maps, so it might be good for a stronghold or something of that sort
- Uses a dummy actor, which means you would be able to import 96x96 pictures of landscapes and import them as facesets and use them to represent the map in the naming screen
- Exact same setup as the regular Input Hero Name scene
Screenshots
It looks the exact same as the Input Hero Name screen, and probably would even if you had a custom Input Name script.
Instructions
Place this script in your editor, above Main and below the default scripts
To call the map naming scene, use this code in a call script:
call_map_name (map_id, max_chars)
map_id : the ID of the map you want the player to name
max_chars : the maximum number of characters for the name. This
defaults to 10 if not set by you.
See the header for further instructions.
Script
#==============================================================================
# Player-Named Maps
# Version: 1.0
# Author: modern algebra (rmrk.net)
# Date: December 8, 2009
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Description:
# This script allows you to call a scene that lets the player change the
# name of the maps. It only really makes sense if you have another script
# that shows the names of the maps.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Instructions:
# Place this script in your editor, above Main and below the default scripts
#
# To call the map naming scene, use this code in a call script:
# call_map_name (map_id, max_chars)
# map_id : the ID of the map you want the player to name
# max_chars : the maximum number of characters for the name. This
# defaults to 10 if not set by you.
#
# This script requires you to have a dummy actor who never appears in the
# game and ought not be setup - it is his face graphic that will show up in
# the map naming screen, so if you wanted to have the map represented by a
# 96x96 graphic you could import it as a face graphic and set it on the dummy
# actor immediately prior to calling the map naming screen. Otherwise leave
# it blank. To set the ID for that actor, go to line 45 and change the number
# to the ID of that dummy actor. You may also determine whether you want the
# database name of the map to initially show up while setting the name or
# whether you just want it to be blank at line 48
#==============================================================================
#==============================================================================
# ** RPG::MapInfo
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# new constant - MAMN_DUMMY_ACTOR
# aliased method - name
#==============================================================================
class RPG::MapInfo
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * CONSTANT
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Set this value to the ID of an actor to use as a dummy while naming maps
MAMN_DUMMY_ACTOR = 9
# The following determines whether the naming scene starts by showing the
# database name or whether it starts blank
MAMN_SHOW_CURRENT_NAME = true
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Get Name
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias malg_jtswyr_namemps_7yu2 name
def name (*args)
real_name = malg_jtswyr_namemps_7yu2 (*args)
return $game_system.ma_map_names[real_name] unless $game_system.nil? ||
$game_system.ma_map_names[real_name].nil?
return real_name
end
end
#==============================================================================
# ** Game_System
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# new public instance variable - ma_map_names, ma_map_name_id
# aliased method - initialize
#==============================================================================
class Game_System
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Public Instance Variables
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
attr_reader :ma_map_names
attr_accessor :ma_map_name_id
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Object Initialize
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_jsswyr_intlz_mpnmes_9kb3 initialize
def initialize (*args)
@ma_map_names = {} # Initialize Map name hash
@ma_map_name_id = 1
ma_jsswyr_intlz_mpnmes_9kb3 (*args) # Run Original Method
end
end
#==============================================================================
# ** Game_Interpreter
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# new method - call_map_name
#==============================================================================
class Game_Interpreter
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Call Map Name
# map_id : ID of map to name
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def call_map_name (map_id, max_chars = 10)
$game_system.ma_map_name_id = map_id
$game_temp.name_max_char = max_chars
$scene = Scene_MapName.new
end
end
#==============================================================================
# ** Scene_MapName
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Subclass of Scene_Name
# altered methods - start, return_scene
#==============================================================================
class Scene_MapName < Scene_Name
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Start Processing
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def start (*args)
@map_id = $game_system.ma_map_name_id
$game_temp.name_actor_id = RPG::MapInfo::MAMN_DUMMY_ACTOR
$game_actors[$game_temp.name_actor_id].name = ""
if RPG::MapInfo::MAMN_SHOW_CURRENT_NAME
db_name = load_data ("Data/MapInfos.rvdata")[@map_id].name
cnt_name = $game_system.ma_map_names[db_name]
$game_actors[$game_temp.name_actor_id].name = cnt_name.nil? ? db_name : cnt_name
end
super (*args)
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Return Scene
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def return_scene (*args)
map_name = load_data ("Data/MapInfos.rvdata")[@map_id].name
$game_system.ma_map_names[map_name] = @actor.name
super (*args)
end
end
Credit
Thanks
- justSawyer, for the request
Support
Please post in this topic at rmrk.net for the swiftest response. Do not PM me.
Known Compatibility Issues
No currently known compatibility issues
Demo
No need for a demo. It looks and operates the same as the Input Hero Name scene, and to call it, all you need to do is follow the simple instructions
This script by
modern algebra is licensed under a
Creative Commons Attribution-Non-Commercial-Share Alike 2.5 Canada License.