Advertisement
Petruncio1245

Script do M3T

Jun 20th, 2014
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.38 KB | None | 0 0
  1. #==============================================================================
  2. # ** M+ SaveOptions
  3. # * Por M3T
  4. # * 17/06/2014
  5. # * Criado a pedido de Petruncio1245 - Loja de Recursos
  6. #==============================================================================
  7. # Esse script requere um módulo de teclado.
  8. # Recomendado: "Full Keyboard Module", por Raizen.
  9. # Encontre-o aqui: http://centrorpg.com/rgss3/full-keyboard-module/
  10. # Para usar a configuração padrão, você vai necessitá-lo.
  11. #==============================================================================
  12. # ** Configuração
  13. # Tecla a ser pressionada - o correspondente ao seu módulo de teclado
  14. SaveOptions_Key = Key::O # Key::O = usado no script do Raizen. Pode mudar.
  15. # Switch que, quando ativada, o sistema não funcionará
  16. SaveOptions_Switch = 50
  17. # Termo que será usado na segunda opção da janela. Padrão: Carregar
  18. SaveOptions_LoadTerm = "Carregar"
  19. #==============================================================================
  20. # ** Window_SaveOptions
  21. #------------------------------------------------------------------------------
  22. # Esta é a janela para opções de save.
  23. #==============================================================================
  24. class Window_SaveOptions < Window_Command
  25. #--------------------------------------------------------------------------
  26. # * Inicialização do objeto
  27. #--------------------------------------------------------------------------
  28. def initialize
  29. super(0, 0)
  30. update_placement
  31. self.openness = 0
  32. open
  33. end
  34. #--------------------------------------------------------------------------
  35. # * Aquisição da largura da janela
  36. #--------------------------------------------------------------------------
  37. def window_width
  38. return 160
  39. end
  40. #--------------------------------------------------------------------------
  41. # * Atualização da posição da janela
  42. #--------------------------------------------------------------------------
  43. def update_placement
  44. self.x = (Graphics.width - width) / 2
  45. self.y = (Graphics.height - height) / 2
  46. end
  47. #--------------------------------------------------------------------------
  48. # * Criação da lista de comandos
  49. #--------------------------------------------------------------------------
  50. def make_command_list
  51. add_command(Vocab::save, :save_game)
  52. add_command(SaveOptions_LoadTerm, :load_game)
  53. add_command(Vocab::game_end, :game_end)
  54. end
  55. end
  56. #==============================================================================
  57. # ** Scene_SaveOptions
  58. #------------------------------------------------------------------------------
  59. # Esta classe executa o processamento da tela opções de save.
  60. #==============================================================================
  61. class Scene_SaveOptions < Scene_MenuBase
  62. #--------------------------------------------------------------------------
  63. # * Inicialização do processo
  64. #--------------------------------------------------------------------------
  65. def start
  66. super
  67. create_command_window
  68. end
  69. #--------------------------------------------------------------------------
  70. # * Processamento pré finalização
  71. #--------------------------------------------------------------------------
  72. def pre_terminate
  73. super
  74. close_command_window
  75. end
  76. #--------------------------------------------------------------------------
  77. # * Método de Atualização
  78. #--------------------------------------------------------------------------
  79. alias m_update update
  80. def update
  81. m_update
  82. key_update
  83. end
  84. #--------------------------------------------------------------------------
  85. # * Checagem de pressionamento de teclas
  86. #--------------------------------------------------------------------------
  87. def key_update
  88. if Input.trigger?(Input::B)
  89. close_command_window
  90. SceneManager.return
  91. end
  92. end
  93. #--------------------------------------------------------------------------
  94. # * Criação do plano de fundo
  95. #--------------------------------------------------------------------------
  96. def create_background
  97. super
  98. @background_sprite.tone.set(0, 0, 0, 128)
  99. end
  100. #--------------------------------------------------------------------------
  101. # * Criação da janela de comando
  102. #--------------------------------------------------------------------------
  103. def create_command_window
  104. @command_window = Window_SaveOptions.new
  105. @command_window.set_handler(:save_game, method(:command_save_game))
  106. @command_window.set_handler(:load_game, method(:command_load_game))
  107. @command_window.set_handler(:game_end, method(:command_game_end))
  108. end
  109. #--------------------------------------------------------------------------
  110. # * Fechamento da janela de comando
  111. #--------------------------------------------------------------------------
  112. def close_command_window
  113. @command_window.close
  114. update until @command_window.close?
  115. end
  116. #--------------------------------------------------------------------------
  117. # * Comando [Salvar]
  118. #--------------------------------------------------------------------------
  119. def command_save_game
  120. close_command_window
  121. SceneManager.call(Scene_Save)
  122. end
  123. #--------------------------------------------------------------------------
  124. # * Comando [Carregar]
  125. #--------------------------------------------------------------------------
  126. def command_load_game
  127. close_command_window
  128. SceneManager.call(Scene_Load)
  129. end
  130. #--------------------------------------------------------------------------
  131. # * Comando [Sair]
  132. #--------------------------------------------------------------------------
  133. def command_game_end
  134. close_command_window
  135. SceneManager.call(Scene_End)
  136. end
  137. end
  138. #==============================================================================
  139. # ** Scene_Map
  140. #------------------------------------------------------------------------------
  141. # Esta classe executa o processamento da tela de mapa.
  142. #==============================================================================
  143. class Scene_Map < Scene_Base
  144. alias m_update_scene update_scene
  145. def update_scene
  146. m_update_scene
  147. update_key unless scene_changing?
  148. end
  149. def update_key
  150. if Input.trigger?(SaveOptions_Key) && !$game_switches[SaveOptions_Switch]
  151. SceneManager.call(Scene_SaveOptions)
  152. end
  153. end
  154. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement