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 | } |