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