Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #-----------------------------------------------------------------------------#
- # Saell - Basic Tutorial Scene v1.10
- # Autor/Author: Sainthell
- # Data/Date: 8/11/15
- # Recomendado/Recommended: Tsukihime Scene Interpreter
- #-----------------------------------------------------------------------------#
- # Changelog
- # 8/9/15
- # - Help window now shows static message -- Tutorial descriptions are now
- # handled by another, bigger window.
- #
- # 8/3/15
- # - Updates - Now you can bind commands to switches, or disable them
- # altogether.
- #
- # 8/1/15
- # - Finished Script / Script Terminado
- #-----------------------------------------------------------------------------#
- # Descrição
- # Faz uma cena personalizada, que roda eventos comums. O script Scene
- # Interpreter do autor Tsukihime é altamente recomendado, já que permite eventos
- # comuns rodarem em menus.
- #
- # Description
- # Makes a custom scene that runs common events. Tsukihime's Scene Interpreter
- # is highly recommended, as it makes common events run on scenes.
- #
- #-----------------------------------------------------------------------------#
- # Agradecimentos Especiais
- # Esses agradecimentos vão para todos os que me ajudaram, de uma maneira ou
- # outra, a conseguir fazer esse script, diretamente, ou indiretamente, na
- # criação desse script.
- #
- # Special Thanks
- # I would like to thank you all who helped me out, in one way or another to
- # make it through, directly or indirectly, during the creation of this script.
- #
- # - Feldherren - Masked
- # - Hudell - Tsukihime
- # - DP3 - Trihan
- # - Khas - Balack Maniactics
- # - Sonic Ghost
- #
- #-----------------------------------------------------------------------------#
- # Terms of Use
- # You're free to use this script in any game you want, just credit Sainthell
- # and those thanked for the help in making this script.
- #
- # Termos de Uso
- # Você está livre para usar esse script em qualquer jogo que desejar. Só credite
- # o autor (Sainthell) e os que ajudaram no script.
- #
- #-----------------------------------------------------------------------------#
- module SRC
- MENU_NAME= "Tutorial" #Menu Name / Nome do Menu
- INITIAL_TEXT= "Choose your Tutorial." #Help window text / Texto de Ajuda
- CONTENT_TEXT= "Conteúdo" #Texto de conteúdo do Tutorial
- USE_DESCRIPTION = true #Usa janela de descrição?
- #Commands / Comandos
- #ID 1
- ID1NAME = "Opção 1" #Entry Name / Nome de entrada
- ID1DESCR = "Essa é a primeira opção!" #Description / Descrição
- ID_1 = 1 #Common Event ID / ID de Evento Comum
- #ID 2
- ID2NAME = "Opção 2"
- ID2DESCR = "Essa é a segunda opção!"
- ID_2 = 2
- ID2ACTIVATE = 0 #0 for always activated / 0 para ativo
- ID2AVALIABLE = true #Use option? / usar opção?
- #ID 3
- ID3NAME = "Opção 3"
- ID3DESCR = "Essa é a terceira opção!"
- ID_3 = 3
- ID3ACTIVATE = 0
- ID3AVALIABLE = true
- #ID 4
- ID4NAME = "Opção 4"
- ID4DESCR = "Essa é a quarta opção!"
- ID_4 = 4
- ID4ACTIVATE = 0
- ID4AVALIABLE = true
- #ID 5
- ID5NAME = "Opção 5"
- ID5DESCR = "Essa é a quinta opção!"
- ID_5 = 5
- ID5ACTIVATE = 0
- ID5AVALIABLE = true
- #ID 6
- ID6NAME = "Opção 6"
- ID6DESCR = "Essa é a sexta opção!"
- ID_6 = 6
- ID6ACTIVATE = 0
- ID6AVALIABLE = true
- #ID 7
- ID7NAME = "Opção 7"
- ID7DESCR = "Essa é a sétima opção!"
- ID_7 = 7
- ID7ACTIVATE = 0
- ID7AVALIABLE = true
- end
- class Window_Commands < Window_Command
- def make_command_list
- super()
- add_command(SRC::ID1NAME, :tutorial1)
- if SRC::ID2AVALIABLE == true
- if SRC::ID2ACTIVATE == 0
- add_command(SRC::ID2NAME, :tutorial2)
- else if $game_switches[SRC::ID2ACTIVATE]
- add_command(SRC::ID2NAME, :tutorial2)
- end
- end
- end
- if SRC::ID3AVALIABLE == true
- if SRC::ID3ACTIVATE == 0
- add_command(SRC::ID3NAME, :tutorial3)
- else if $game_switches[SRC::ID3ACTIVATE];
- add_command(SRC::ID3NAME, :tutorial3)
- end
- end
- end
- if SRC::ID4AVALIABLE == true
- if SRC::ID4ACTIVATE == 0
- add_command(SRC::ID4NAME, :tutorial4)
- else if $game_switches[SRC::ID4ACTIVATE];
- add_command(SRC::ID4NAME, :tutorial4)
- end
- end
- end
- if SRC::ID5AVALIABLE == true
- if SRC::ID5ACTIVATE == 0
- add_command(SRC::ID5NAME, :tutorial5)
- else if $game_switches[SRC::ID5ACTIVATE];
- add_command(SRC::ID5NAME, :tutorial5)
- end
- end
- end
- if SRC::ID6AVALIABLE == true
- if SRC::ID6ACTIVATE == 0
- add_command(SRC::ID6NAME, :tutorial6)
- else if $game_switches[SRC::ID6ACTIVATE];
- add_command(SRC::ID6NAME, :tutorial6)
- end
- end
- end
- if SRC::ID7AVALIABLE == true
- if SRC::ID7ACTIVATE == 0
- add_command(SRC::ID7NAME, :tutorial7)
- else if $game_switches[SRC::ID7ACTIVATE];
- add_command(SRC::ID7NAME, :tutorial7)
- end
- end
- end
- end
- end
- class SaellTutorialScene < Scene_Base
- #--------------------------------------------------------------------------
- # * Inicialização do processo
- #--------------------------------------------------------------------------
- def start
- super()
- create_help_window
- create_tutorialdesc_window if SRC::USE_DESCRIPTION == true
- create_command_window
- end
- #Creates help Menu
- def create_help_window
- @shelp_window = Window_Help.new
- @shelp_window.viewport = @viewport
- clear_help
- end
- #Creates Tutorial Description Menu
- def create_tutorialdesc_window
- hx = @smain_window
- @tutorial_window = Window_Tutorialdescr.new(0, 200, @shelp_window.height, Graphics.width - 200, Graphics.height - @shelp_window.height)
- @tutorial_window.viewport = @viewport
- end
- #Creates Main Command Menu
- def create_command_window
- hx = Graphics.height / 10
- wy = @shelp_window.height
- @smain_window = Window_Commands.new(0, wy)
- @smain_window.help_window = @shelp2_window
- @smain_window.set_handler(:tutorial1, method(:command_tutorial1))
- @smain_window.set_handler(:tutorial2, method(:command_tutorial2))
- @smain_window.set_handler(:tutorial3, method(:command_tutorial3))
- @smain_window.set_handler(:tutorial4, method(:command_tutorial4))
- @smain_window.set_handler(:tutorial5, method(:command_tutorial5))
- @smain_window.set_handler(:tutorial6, method(:command_tutorial6))
- @smain_window.set_handler(:tutorial7, method(:command_tutorial7))
- @smain_window.set_handler(:cancel, method(:return_scene))
- @smain_window.activate
- end
- #Run Option1
- def command_tutorial1
- $game_temp.reserve_common_event(SRC::ID_1)
- @smain_window.activate
- end
- #Run Option2
- def command_tutorial2
- $game_temp.reserve_common_event(SRC::ID_2)
- @smain_window.activate
- end
- #Run Option3
- def command_tutorial3
- $game_temp.reserve_common_event(SRC::ID_3)
- @smain_window.activate
- end
- #Run Option4
- def command_tutorial4
- $game_temp.reserve_common_event(SRC::ID_4)
- @smain_window.activate
- end
- #Run Option5
- def command_tutorial5
- $game_temp.reserve_common_event(SRC::ID_5)
- @smain_window.activate
- end
- #Run Option6
- def command_tutorial6
- $game_temp.reserve_common_event(SRC::ID_6)
- @smain_window.activate
- end
- #Run Option7
- def command_tutorial7
- $game_temp.reserve_common_event(SRC::ID_7)
- @smain_window.activate
- end
- #--------------------------------------------------------------------------
- # * Processamento pós-inicio
- #--------------------------------------------------------------------------
- def post_start
- super()
- end
- #--------------------------------------------------------------------------
- # * Atualização da tela
- #--------------------------------------------------------------------------
- def update
- super()
- @shelp_window.set_text(SRC::INITIAL_TEXT)
- #Show Tutorial Description
- if SRC::USE_DESCRIPTION == true
- case @smain_window.current_symbol
- when :tutorial1; @tutorial_window.draw_text_ex(0,0,SRC::CONTENT_TEXT + "\n" + SRC::ID1DESCR)
- when :tutorial2; @tutorial_window.draw_text_ex(0,0,SRC::CONTENT_TEXT + "\n" + SRC::ID2DESCR)
- when :tutorial3; @tutorial_window.draw_text_ex(0,0,SRC::CONTENT_TEXT + "\n" + SRC::ID3DESCR)
- when :tutorial4; @tutorial_window.draw_text_ex(0,0,SRC::CONTENT_TEXT + "\n" + SRC::ID4DESCR)
- when :tutorial5; @tutorial_window.draw_text_ex(0,0,SRC::CONTENT_TEXT + "\n" + SRC::ID5DESCR)
- when :tutorial6; @tutorial_window.draw_text_ex(0,0,SRC::CONTENT_TEXT + "\n" + SRC::ID6DESCR)
- when :tutorial7; @tutorial_window.draw_text_ex(0,0,SRC::CONTENT_TEXT + "\n" + SRC::ID7DESCR)
- end
- end
- end
- def clear_help
- if @shelp_window
- @shelp_window.clear
- end
- end
- end
- #--------------------------------------------------------------------------
- # * Processamento pré finalização
- #--------------------------------------------------------------------------
- def pre_terminate
- end
- #--------------------------------------------------------------------------
- # * Finalização do processo
- #--------------------------------------------------------------------------
- def terminate
- super()
- @shelp_window.dispose
- @smain_window.dispose
- end
- class Window_Tutorialdescr < Window_Base # Tutorial Description Window
- attr_accessor :tutorial_window # Atributo
- def initialize(tutorial_window, x, y, width, height) # Propriedade
- super(x, y, width, height)
- refresh
- end
- def update
- super
- refresh
- end
- def refresh
- contents.clear
- end
- end # End Window_TutorialDescr
- #==============================================================================
- # ** Window_MenuCommand
- #------------------------------------------------------------------------------
- # Esta janela exibe os comandos do menu.
- #==============================================================================
- class Window_MenuCommand < Window_Command
- #--------------------------------------------------------------------------
- # * Adição de comandos próprios
- #--------------------------------------------------------------------------
- alias saell_original_commands add_original_commands
- #----------------------------------------------------
- def add_original_commands
- saell_original_commands
- add_command(SRC::MENU_NAME, :tutorial)
- end
- end
- class Scene_Base
- def interpreter
- @interpreter
- end
- end
- #==============================================================================
- # ** Scene_Menu
- #------------------------------------------------------------------------------
- # Esta classe executa o processamento da tela de menu.
- #==============================================================================
- class Scene_Menu < Scene_MenuBase
- #--------------------------------------------------------------------------
- # * Criação da janela de comando / Create Command Window
- #--------------------------------------------------------------------------
- alias saell_command_window create_command_window
- def create_command_window
- saell_command_window()
- @command_window.set_handler(:tutorial, method(:command_tutorial))
- end
- def command_tutorial
- SceneManager.call(SaellTutorialScene)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement