View difference between Paste ID: gW72p26X and HaLb5dGD
SHOW: | | - or go back to the newest paste.
1
#==============================================================================
2
# • Menu Sample Red..
3
#==============================================================================
4
# Autor: Dax
5-
# Versão: 1.0
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 
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")
14+
Dax.register(:menu_sample_red, "Dax", 1.1) {
15
#==============================================================================
16
# • Configurações do Menu.
17
#==============================================================================
18-
class << Rpg::Menu
18+
module MenuSampleRed
19-
  def msr #menu sample red
19+
  MP_SHOW = 1 # Switche que ao ser ligada mostra o MP é ao ser desligada não mostra.
20-
    return {
20+
  AGE = 13 # Idade do jogador.
21-
      # Switche que ao ser ligada mostra o MP é ao ser desligada não mostra.
21+
22-
      mp_show: 1,
22+
23-
      # Idade do jogador.
23+
24-
      idade: 13
24+
25-
    }
25+
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-
    @windowMenuStatus.draw_text_ex(153, 51, String(Rpg::Menu.msr[:idade]))
67+
68
  #----------------------------------------------------------------------------
69-
    @windowMenuStatus.draw_actor_mp(@actor, 103, 74, 164) if $game_switches[Rpg::Menu.msr[:mp_show]]
69+
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
}