Advertisement
DaxSoft

MSR 1.1

Sep 19th, 2014
406
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #==============================================================================
  2. # • Menu Sample Red..
  3. #==============================================================================
  4. # Autor: Dax
  5. # Versão: 1.1
  6. # Site: www.dax-soft.weebly.com
  7. # Requerimento: Dax Core
  8. #==============================================================================
  9. # • Descrição:
  10. #------------------------------------------------------------------------------
  11. # Um menu simples, que contém apenas as opções Item/Carregar, e mostra
  12. # o status do jogador de uma maneira bem simples.
  13. #==============================================================================
  14. Dax.register(:menu_sample_red, "Dax", 1.1) {
  15. #==============================================================================
  16. # • Configurações do Menu.
  17. #==============================================================================
  18. module MenuSampleRed
  19. MP_SHOW = 1 # Switche que ao ser ligada mostra o MP é ao ser desligada não mostra.
  20. AGE = 13 # Idade do jogador.
  21. end
  22. #==============================================================================
  23. # • DataManager
  24. #==============================================================================
  25. class << DataManager
  26. #--------------------------------------------------------------------------
  27. # * Número máximo de arquivos salvos
  28. #--------------------------------------------------------------------------
  29. def savefile_max
  30. return 4
  31. end
  32. #--------------------------------------------------------------------------
  33. # * Salvar a criação de cabeçalho
  34. #--------------------------------------------------------------------------
  35. def make_save_header
  36. header = {}
  37. header[:characters] = $game_party.characters_for_savefile
  38. header[:playtime_s] = $game_system.playtime_s
  39. header[:map_name] = $game_map.display_name || ""
  40. header
  41. end
  42. end
  43. #==============================================================================
  44. # • Scene_Menu
  45. #==============================================================================
  46. Dax.remove(:Scene_Menu)
  47. class Scene_Menu < Scene_MenuBase
  48. include MenuSampleRed
  49. #----------------------------------------------------------------------------
  50. # • Inicialização dos objetos.
  51. #----------------------------------------------------------------------------
  52. def start
  53. super
  54. @windowMenuCommand = Window_MenuCommand.new
  55. @windowMenuCommand.set_handler(:item, method(:item))
  56. @windowMenuCommand.set_handler(:load, method(:load))
  57. @actor = $game_actors[1]
  58. @windowMenuStatus = Window_Base.new(190, Graphics.height - (128+16), 300, 128)
  59. @windowMenuStatus.draw_actor_face(@actor, 0, 0)
  60. @windowMenuStatus.draw_actor_name(@actor, 103, 26)
  61. @windowMenuStatus.draw_text_ex(103, 51, "Idade: ")
  62. @windowMenuStatus.draw_text_ex(165, 51, AGE)
  63. @windowMenuStatus.draw_actor_hp(@actor, 103, 0, 164)
  64. @windowMenuStatus.draw_actor_mp(@actor, 103, 74, 164) if $game_switches[MP_SHOW]
  65. end
  66. #----------------------------------------------------------------------------
  67. # • Método do item.
  68. #----------------------------------------------------------------------------
  69. def item
  70. return SceneManager.call(Scene_Item)
  71. end
  72. #----------------------------------------------------------------------------
  73. # • Método do load.
  74. #----------------------------------------------------------------------------
  75. def load
  76. return SceneManager.call(Scene_Load)
  77. end
  78. #----------------------------------------------------------------------------
  79. # • Atualização dos objetos.
  80. #----------------------------------------------------------------------------
  81. def update
  82. super
  83. trigger?(:B) { return_scene }
  84. end
  85. end
  86. #==============================================================================
  87. # ** Window_MenuCommand
  88. #==============================================================================
  89. class Window_MenuCommand < Window_Command
  90. #--------------------------------------------------------------------------
  91. # * Inicialização do objeto
  92. #--------------------------------------------------------------------------
  93. def initialize
  94. super(42, Graphics.height - 114)
  95. end
  96. #--------------------------------------------------------------------------
  97. # * Aquisição da largura da janela
  98. #--------------------------------------------------------------------------
  99. def window_width
  100. return 138
  101. end
  102. #--------------------------------------------------------------------------
  103. # * Aquisição do número de linhas exibidas
  104. #--------------------------------------------------------------------------
  105. def visible_line_number
  106. item_max
  107. end
  108. #--------------------------------------------------------------------------
  109. # * Criação da lista de comandos
  110. #--------------------------------------------------------------------------
  111. def make_command_list
  112. add_main_commands
  113. end
  114. #--------------------------------------------------------------------------
  115. # * Adição dos comandos principais
  116. #--------------------------------------------------------------------------
  117. def add_main_commands
  118. add_command("Item", :item, main_commands_enabled)
  119. add_command("Carregar", :load, main_commands_enabled)
  120. end
  121. #--------------------------------------------------------------------------
  122. # * Definição de habilitação dos comandos principais
  123. #--------------------------------------------------------------------------
  124. def main_commands_enabled
  125. $game_party.exists
  126. end
  127. end
  128. #==============================================================================
  129. # • Scene_Item
  130. #==============================================================================
  131. class Scene_Item < Scene_ItemBase
  132. #--------------------------------------------------------------------------
  133. # * Inicialização do processo
  134. #--------------------------------------------------------------------------
  135. def start
  136. super
  137. @help_window = Window_Help.new(1)
  138. @help_window.viewport = @viewport
  139. create_item_window
  140. end
  141. #--------------------------------------------------------------------------
  142. # * Criação da janela de itens
  143. #--------------------------------------------------------------------------
  144. def create_item_window
  145. @item_window = Window_ItemList.new(4, Graphics.height - 148, Graphics.width-8, 128)
  146. @item_window.viewport = @viewport
  147. @item_window.help_window = @help_window
  148. @item_window.set_handler(:ok, method(:on_item_ok))
  149. @item_window.set_handler(:cancel, method(:return_scene))
  150. @item_window.category = :item
  151. @item_window.activate
  152. @item_window.select_last
  153. end
  154. #--------------------------------------------------------------------------
  155. # * Usando um item
  156. #--------------------------------------------------------------------------
  157. def use_item
  158. super
  159. @item_window.redraw_current_item
  160. end
  161. end
  162. #==============================================================================
  163. # ** Window_SaveFile
  164. #==============================================================================
  165. class Window_SaveFile < Window_Base
  166. #--------------------------------------------------------------------------
  167. # * Renovação
  168. #--------------------------------------------------------------------------
  169. def refresh
  170. contents.clear
  171. change_color(normal_color)
  172. name = Vocab::File + " #{@file_index + 1}"
  173. draw_text(4, 0, 200, line_height, name)
  174. @name_width = text_size(name).width
  175. draw_party_characters(102, 58)
  176. draw_playtime(0, contents.height - line_height, contents.width - 4, 2)
  177. draw_mapname(0, 0, contents.width-4, 2)
  178. end
  179. #--------------------------------------------------------------------------
  180. # * Desenho dos personagens do grupo
  181. # x : coordenada X
  182. # y : coordenada Y
  183. #--------------------------------------------------------------------------
  184. def draw_party_characters(x, y)
  185. header = DataManager.load_header(@file_index)
  186. return unless header
  187. header[:characters].each_with_index do |data, i|
  188. draw_face(data[0], data[1], x + i * 96, y-64, true)
  189. end
  190. end
  191. #----------------------------------------------------------------------------
  192. # • Desenhar a face.
  193. #----------------------------------------------------------------------------
  194. def draw_face(face_name, face_index, x, y, enabled = true)
  195. bitmap = Cache.face(face_name)
  196. rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, 96, 72)
  197. contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  198. bitmap.dispose
  199. end
  200. #----------------------------------------------------------------------------
  201. # • Desenhar o nome do mapa.
  202. #----------------------------------------------------------------------------
  203. def draw_mapname(x, y, width, align)
  204. header = DataManager.load_header(@file_index)
  205. return unless header
  206. draw_text(x, y, width, line_height, header[:map_name], 2)
  207. end
  208. end
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement