DaxSoft

MSR 1.0

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