Интересный скрипт, добавляющий в меню еще один пункт, загружающий определенную карту.
Можно использовать для создания внутри игрового обучения, многократно и легко доступного.
#============================================================================
# Zerbu Engine - Начни игру с иной точки!
#----------------------------------------------------------------------------
# Этот скрипт добавляет в главное меню новый пункт.
# (как "Новая игра") Можно сделать интерактивное обучение или
# что нибудь еще, на ваш выбор.
#============================================================================
#============================================================================
# (модуль) ZE_Extra_Starting_Position_Option
#============================================================================
module ZE_Extra_Starting_Position_Option
ZE_ESPO = {
#------------------------------------------------------------------------
# Настройки
#------------------------------------------------------------------------
# Надпись у пункта, который появится в главном меню.
#------------------------------------------------------------------------
:NAME => "ТЕСТ КАРТА",
#------------------------------------------------------------------------
# Тут указывается id карты. Можно посмотреть через свойства.
#------------------------------------------------------------------------
:MAP => 1,
#------------------------------------------------------------------------
# Тут указываются X и Y координаты, т.е. стартовая точка игрока.
#------------------------------------------------------------------------
:MAP_X => 8,
:MAP_Y => 13,
}
end
#============================================================================
# Window_TitleCommand
#============================================================================
class Window_TitleCommand
include ZE_Extra_Starting_Position_Option
#--------------------------------------------------------------------------
# alias method: make_command_list
#--------------------------------------------------------------------------
alias ze_espo_make_command_list make_command_list
def make_command_list
#---
ze_espo_make_command_list
add_command(ZE_ESPO[:NAME], :espo)
#---
end
end
#============================================================================
# Scene_Title
#============================================================================
class Scene_Title
include ZE_Extra_Starting_Position_Option
#--------------------------------------------------------------------------
# alias method: create_command_window
#--------------------------------------------------------------------------
alias ze_espo_create_command_window create_command_window
def create_command_window
#---
ze_espo_create_command_window
@command_window.set_handler(:espo, method(:command_espo))
#---
end
#--------------------------------------------------------------------------
# new method: command_espo
#--------------------------------------------------------------------------
def command_espo
#---
DataManager.create_game_objects
#---
$game_party.setup_starting_members
#---
$game_map.setup(ZE_ESPO[:MAP])
#---
$game_player.moveto(ZE_ESPO[:MAP_X], ZE_ESPO[:MAP_Y])
$game_player.refresh
#---
Graphics.frame_count = 0
#---
close_command_window
fadeout_all
#---
$game_map.autoplay
#---
SceneManager.goto(Scene_Map)
#---
end
end