Advertisement
KingGerar

KMM4 - Main Menu IV

Nov 6th, 2012
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 30.55 KB | None | 0 0
  1. #===============================================================================
  2. #                           Kingdom Main Manu IV
  3. #                              Por King Gerar
  4. #-------------------------------------------------------------------------------
  5. # Este script permite a mudança do layout do menu. Dentre elas a escolha de
  6. # múltiplos gráficos de Window, fonte, cores. A exibição ou não das janelas
  7. # de dinheiro, unidade extra, tempo de jogo e nome do mapa. Pode ser ativado
  8. # um efeito de deslize nas janelas ou não. É possível o uso de um cursor e o
  9. # mesmo pode ser animado ou não. Também se pode utilizar backgrounds, um
  10. # estático ou caso deseja, um animado. Pode trocar a exibição da face do
  11. # personagem pelo char. O posicionamento das janelas também é alterável.
  12. # É possível ainda usar uma BGM de fundo.
  13. #===============================================================================
  14. module KMM4_Config
  15.   #=============================================================================
  16.   #                                   OPÇÕES
  17.   # Aqui você pode configurar as opções que quer ou não no menu. Caso queira,
  18.   # coloque na frente da opção desejada "true", caso não queira, coloque
  19.   # "false".
  20.   #=============================================================================
  21.   # Deseja que mostre um background (fundo) no menu?
  22.   #-----------------------------------------------------------------------------
  23.   Show_Background = true
  24.   #-----------------------------------------------------------------------------
  25.   # Deseja o background dinâmico, ou seja, em movimento?
  26.   #-----------------------------------------------------------------------------
  27.   Dinamic_Background = true
  28.   #-----------------------------------------------------------------------------
  29.   # Caso a opção acima esteja ativada, indique a direção do movimento.
  30.   # 0 = Horizontal                      1 = Vertical
  31.   #-----------------------------------------------------------------------------
  32.   Background_Direction = 0
  33.   #-----------------------------------------------------------------------------
  34.   # Caso deseje o menu dinâmico, indique a velocidade.
  35.   # 0 = Baixa       1 = Média Baixa       2 = Média Alta       3 = Alta
  36.   #-----------------------------------------------------------------------------
  37.   Background_Speed = 1
  38.   #-----------------------------------------------------------------------------
  39.   # Deseja uma BGM no menu?
  40.   #-----------------------------------------------------------------------------
  41.   Play_MenuBGM = true
  42.   #-----------------------------------------------------------------------------
  43.   # Caso a opção acima esteja ativada, indique o nome da BGM.
  44.   #-----------------------------------------------------------------------------
  45.   MenuBGM = "Dungeon5"
  46.   #-----------------------------------------------------------------------------
  47.   # Deseja que os comandos fiquem em janelas separadas?
  48.   #-----------------------------------------------------------------------------
  49.   Hashed_Commands = true
  50.   #-----------------------------------------------------------------------------
  51.   # Indique a orientação desejada dos comandos.
  52.   # 0 = Horizontal                      1 = Vertical
  53.   #-----------------------------------------------------------------------------
  54.   Commands_Position = 0
  55.   #-----------------------------------------------------------------------------
  56.   # Deseja utilizar um cursor?
  57.   #-----------------------------------------------------------------------------
  58.   Cursor_Use = true
  59.   #-----------------------------------------------------------------------------
  60.   # Deseja que o cursor seja animado?
  61.   #-----------------------------------------------------------------------------
  62.   Cursor_Animated = true
  63.   #-----------------------------------------------------------------------------
  64.   # Deseja utilizar uma unidade monetária extra?
  65.   #-----------------------------------------------------------------------------
  66.   Use_ExtraItem = false
  67.   #-----------------------------------------------------------------------------
  68.   # Caso deseje utilizar uma unidade monetária extra, defina o ID da variável
  69.   # que armazenará o valor.
  70.   #-----------------------------------------------------------------------------
  71.   ExtraItem = 1
  72.   #-----------------------------------------------------------------------------
  73.   # Deseja mostrar a janela de dinheiro?
  74.   #-----------------------------------------------------------------------------
  75.   Show_PartyGold = true
  76.   #-----------------------------------------------------------------------------
  77.   # Deseja mostrar o tempo de jogo?
  78.   #-----------------------------------------------------------------------------
  79.   Show_GameTime = true
  80.   #-----------------------------------------------------------------------------
  81.   # Deseja mostrar no menu o nome do mapa atual?
  82.   #-----------------------------------------------------------------------------
  83.   Show_NameMap = true
  84.   #-----------------------------------------------------------------------------
  85.   # Deseja o efeito de deslizamento das janelas?
  86.   #-----------------------------------------------------------------------------
  87.   Sliding_Effect = true
  88.   #-----------------------------------------------------------------------------
  89.   # Deseja mostrar o char do personagem ao invés da face?
  90.   #-----------------------------------------------------------------------------
  91.   Show_Character = true
  92.   #=============================================================================
  93.   #                                  IMAGENS
  94.   # Defina aqui o nome das imagens que usará o menu.
  95.   # Caso as opções que usam determinadas imagens não estejam ativadas, não é
  96.   # preciso possuir a imagem.
  97.   # As imagens utilizadas devem ficar na pasta "Graphics/System"
  98.   #=============================================================================
  99.   Wdw_Command = "Kingdom Window"        # Gráfico da(s) janela(s) de comando(s).
  100.   Wdw_Infos = "Kingdom Window"          # Gráfico das janelas de informação.
  101.   Wdw_Status = "Kingdom Window"         # Gráfico da janela de status.
  102.  
  103.   Cursor = "Kingdom Cursor"             # Imagem do cursor.
  104.  
  105.   Background = "Kingdom Background"     # Imagem de background (fundo).
  106.   Background_2 = "Kingdom Fog"          # Imagem de background dinâmico.
  107.   #=============================================================================
  108.   #                                  ÍCONES
  109.   # Defina aqui o ID dos ícones que serão exibidos no menu.
  110.   #=============================================================================
  111.   IconItens = 261                      # Comando Itens.
  112.   IconSkills = 113                     # Comando Habilidades.
  113.   IconEquips = 115                     # Comando Equipamentos.
  114.   IconStatus = 121                     # Comando Status/Condições.
  115.   IconFormation = 125                  # Comando Formação.
  116.   IconSave = 117                       # Comando Salvar.
  117.   IconQuit = 1                         # Comando Sair.
  118.  
  119.   IconTime = 280                       # Tempo de jogo.
  120.   IconGold = 361                       # Dinheiro.
  121.   IconExtra = 358                      # Item Extra.
  122.   IconMap = 231                        # Mapa.
  123.   #=============================================================================
  124.   #                                  FONTES
  125.   # Defina aqui o nome das fontes que farão parte do menu.
  126.   #=============================================================================
  127.   # Utilizar fontes em negrito?
  128.   #-----------------------------------------------------------------------------
  129.   Bold_Font = true
  130.  
  131.   Name_Font = "PrinceofPersia"          # Fonte normal do menu.
  132.   Name_FontSize = 28                    # Tamanho do fonte normal.
  133.  
  134.   Normal_Font = "Morpheus"              # Fonte normal do menu.
  135.   Normal_FontSize = 15                  # Tamanho do fonte normal.
  136.   #=============================================================================
  137.   #                                   CORES
  138.   # Defina as cores das fontes e escritas do menu. As cores são dadas em RGB,
  139.   # onde cada valor vai de 0 (preto) à 255, que seria a cor bem viva.
  140.   #=============================================================================
  141.   # Cor das escritas dos comandos.
  142.   Command_Color = Color.new(190, 255, 0, 255)
  143.  
  144.   # Cor das escritas dos nas janelas de informações.
  145.   Info_Color = Color.new(200, 200, 0, 255)
  146.  
  147.   # Cor das escritas dos nas janelas de informações.
  148.   Value_Color = Color.new(255, 255, 125, 255)
  149.  
  150.   # Cor dos nomes dos personagens.
  151.   Names_Color = Color.new(190, 255, 0, 255)
  152.   #=============================================================================
  153.   #                                VOCABULÁRIO
  154.   # Defina as palavras empregadas no menu.
  155.   #=============================================================================
  156.   VocGameTime = "Tempo de Jogo"        # Tempo de jogo.
  157.   VocExp = "Exp"                       # Sigla para barra de experiência.
  158.   VocExtra = "Rubys"                   # Nome do item extra.
  159.   VocMap = "Mapa Atual"                # Mapa atual.
  160. end
  161. #===============================================================================
  162. #                        FIM DAS OPÇÕES DE CUSTOMIZAÇÃO
  163. # Modifique abaixo por conta própria.
  164. #-------------------------------------------------------------------------------
  165. # Scene_Menu
  166. #-------------------------------------------------------------------------------
  167. # Esta classe executa o processamento da tela de menu.
  168. #===============================================================================
  169. class Scene_Menu < Scene_MenuBase
  170.   include KMM4_Config
  171.   #-----------------------------------------------------------------------------
  172.   # Inicialização do processo
  173.   #-----------------------------------------------------------------------------
  174.   def start
  175.   super
  176.   if Show_Background == true
  177.       @background = Sprite.new
  178.       @background.bitmap = Cache.system(Background)
  179.     end
  180.   if Dinamic_Background == true
  181.       @dinamic_bg = Sprite.new
  182.       @dinamic_bg.bitmap = Cache.system(Background_2)
  183.     @dinamic_bg2 = Sprite.new
  184.       @dinamic_bg2.bitmap = Cache.system(Background_2)
  185.     @dinamic_bg2.z = @dinamic_bg.z + 1
  186.     end
  187.   create_hided_cmd_window
  188.   create_commands_window
  189.   create_mapname_window if Show_NameMap == true
  190.   create_gametime_window if Show_GameTime == true
  191.   create_extraitem_window if Use_ExtraItem == true
  192.   create_goldgame_window if Show_PartyGold == true
  193.   create_status_window
  194.   if Cursor_Use == true
  195.       @cursor = Sprite.new
  196.       @cursor.bitmap = Cache.system(Cursor)
  197.     @cursor.z = 9999
  198.     @cursor.x = @commands[@command_window.index].x + 52
  199.     @cursor.y = @commands[@command_window.index].y + 42
  200.     @cursor_pos = 0
  201.     end
  202.   Audio.bgm_play("Audio/BGM/#{MenuBGM}") if Play_MenuBGM == true
  203.   update
  204.   end
  205.   #-----------------------------------------------------------------------------
  206.   # Atualização do processo
  207.   #-----------------------------------------------------------------------------
  208.   def update
  209.   super
  210.   @command_window.opacity = 0
  211.   @command_window.contents_opacity = 0
  212.   #-----------------------------------------------------------------------------
  213.   if Input.trigger?(:RIGHT)
  214.     if @status_window.index < 0
  215.       $data_system.sounds[0].play
  216.       @command_window.index += 1
  217.       @command_window.index = 0 if @command_window.index > 6
  218.     end
  219.   end
  220.   if Input.trigger?(:LEFT)
  221.     if @status_window.index < 0
  222.       $data_system.sounds[0].play
  223.       @command_window.index -= 1
  224.       @command_window.index = 6 if @command_window.index < 0
  225.     end
  226.   end
  227.   #-----------------------------------------------------------------------------
  228.     if Commands_Position == 0
  229.       for n in 0...@commands.size
  230.         if @command_window.index == n
  231.           @commands[n].y += 4 if @commands[n].y < 20
  232.         else
  233.           @commands[n].y -= 4 if @commands[n].y > 0
  234.         end
  235.       end
  236.     else
  237.       for n in 0...@commands.size
  238.         if @command_window.index == n
  239.           @commands[n].x += 4 if @commands[n].x < 20
  240.         else
  241.           @commands[n].x -= 4 if @commands[n].x > 0
  242.         end
  243.       end
  244.     end
  245.   #-----------------------------------------------------------------------------
  246.   if Cursor_Use == true
  247.     if Cursor_Animated == true
  248.       @cursor_pos += 1
  249.       @cursor_pos = 0 if @cursor_pos >= 48
  250.       case @cursor_pos
  251.       when 0
  252.         @cursor.x = @commands[@command_window.index].x + 52
  253.         @cursor.y = @commands[@command_window.index].y + 42
  254.       when 6
  255.         @cursor.x = @commands[@command_window.index].x + 51
  256.         @cursor.y = @commands[@command_window.index].y + 43
  257.       when 12
  258.         @cursor.x = @commands[@command_window.index].x + 51
  259.         @cursor.y = @commands[@command_window.index].y + 44
  260.       when 18
  261.         @cursor.x = @commands[@command_window.index].x + 52
  262.         @cursor.y = @commands[@command_window.index].y + 45
  263.       when 24
  264.         @cursor.x = @commands[@command_window.index].x + 53
  265.         @cursor.y = @commands[@command_window.index].y + 45
  266.       when 30
  267.         @cursor.x = @commands[@command_window.index].x + 54
  268.         @cursor.y = @commands[@command_window.index].y + 44
  269.       when 36
  270.         @cursor.x = @commands[@command_window.index].x + 54
  271.         @cursor.y = @commands[@command_window.index].y + 43
  272.       when 42
  273.         @cursor.x = @commands[@command_window.index].x + 53
  274.         @cursor.y = @commands[@command_window.index].y + 42
  275.       end    
  276.     else
  277.       @cursor.x = @commands[@command_window.index].x + 52
  278.       @cursor.y = @commands[@command_window.index].y + 42
  279.     end
  280.   end
  281.   #-----------------------------------------------------------------------------
  282.   if Dinamic_Background == true
  283.     if Background_Direction == 0
  284.       if @dinamic_bg.x < 544
  285.         @dinamic_bg.x += 1 + (2 * Background_Speed)
  286.       else
  287.         @dinamic_bg.x = 0
  288.       end
  289.       @dinamic_bg2.x = @dinamic_bg.x - 544
  290.     else
  291.       if @dinamic_bg.y < 416
  292.         @dinamic_bg.y += 1 + (2 * Background_Speed)
  293.       else
  294.         @dinamic_bg.y = 0
  295.       end
  296.       @dinamic_bg2.y = @dinamic_bg.y - 416
  297.     end
  298.   end
  299.   #-----------------------------------------------------------------------------
  300.   if Commands_Position == 0
  301.     if Show_PartyGold == true
  302.     @goldgame_window.y -= 4 if @goldgame_window.y > 336
  303.     end
  304.     if Use_ExtraItem == true
  305.       @extraitem_window.y -= 4 if @extraitem_window.y > 336
  306.     end
  307.     if Show_NameMap == true
  308.     @namemap_window.y -= 4 if @namemap_window.y > 336
  309.     end
  310.     if Show_GameTime == true
  311.     @gametime_window.y -= 4 if @gametime_window.y > 336
  312.     end
  313.     @status_window.x -= 32 if @status_window.x > @status_window.coor_x
  314.     @status_window.x += 1 if @status_window.x < @status_window.coor_x
  315.   else
  316.     if Show_PartyGold == true
  317.     @goldgame_window.x -= 4 if @goldgame_window.x > 408
  318.     end
  319.     if Use_ExtraItem == true
  320.       @extraitem_window.x -= 4 if @extraitem_window.x > 408
  321.     end
  322.     if Show_NameMap == true
  323.     @namemap_window.x -= 4 if @namemap_window.x > 408
  324.     end
  325.     if Show_GameTime == true
  326.     @gametime_window.x -= 4 if @gametime_window.x > 408
  327.     end
  328.     @status_window.y -= 32 if @status_window.y > @status_window.coor_y
  329.     @status_window.y += 1 if @status_window.y < @status_window.coor_y
  330.   end
  331.   end
  332.   #-----------------------------------------------------------------------------
  333.   # Criação da janela de comando
  334.   #-----------------------------------------------------------------------------
  335.   alias create_hided_cmd_window create_command_window
  336.   def create_command_window
  337.     create_hided_cmd_window
  338.   @command_window = Window_MenuCommand.new
  339.   @command_window.set_handler(:item,      method(:command_item))
  340.   @command_window.set_handler(:skill,     method(:command_personal))
  341.   @command_window.set_handler(:equip,     method(:command_personal))
  342.   @command_window.set_handler(:status,    method(:command_personal))
  343.   @command_window.set_handler(:formation, method(:command_formation))
  344.   @command_window.set_handler(:save,      method(:command_save))
  345.   @command_window.set_handler(:game_end,  method(:command_game_end))
  346.   @command_window.set_handler(:cancel,    method(:return_scene))
  347.   @command_window.opacity = 0
  348.   @command_window.contents_opacity = 0
  349.   end
  350.   #-----------------------------------------------------------------------------
  351.   # Criação da(s) nova(s) janela(s) de comando(s).
  352.   #-----------------------------------------------------------------------------
  353.   def create_commands_window
  354.   @commands = Array.new(7)
  355.   @vocab = [Vocab::item, Vocab::skill, Vocab::equip, Vocab::status, Vocab::formation, Vocab::save, Vocab::game_end]
  356.   @icon = [IconItens, IconSkills, IconEquips, IconStatus, IconFormation, IconSave, IconQuit]
  357.   for n in 0...@commands.size
  358.     if Commands_Position == 0
  359.       @commands[n] = Window_SingleCommand.new
  360.       @commands[n].x = 3 + 77 * n
  361.       @commands[n].draw_icon(@icon[n], 14 , 0)
  362.       @commands[n].draw_text(0, 14, 52, 24, @vocab[n], 1)
  363.     else
  364.       @commands[n] = Window_SingleCommand.new
  365.       @commands[n].y = 2 + 59 * n
  366.       @commands[n].draw_icon(@icon[n], 14 , 0)
  367.       @commands[n].draw_text(0, 14, 52, 24, @vocab[n], 1)
  368.     end
  369.     if Hashed_Commands == false
  370.       if Commands_Position == 0
  371.         @menu_commands = Window_SingleCommand.new
  372.         @menu_commands.width = 544
  373.         @commands[n].opacity = 0
  374.         @commands[n].z = @menu_commands.z + 1 + (1 * n)
  375.       else
  376.         @menu_commands = Window_SingleCommand.new
  377.         @menu_commands.height = 416
  378.         @commands[n].opacity = 0
  379.         @commands[n].z = @menu_commands.z + 1 + (1 * n)
  380.       end
  381.     end
  382.   end
  383.   end
  384.   #-----------------------------------------------------------------------------
  385.   # Criação da janela de exibição do dinheiro em posse.
  386.   #-----------------------------------------------------------------------------
  387.   def create_goldgame_window
  388.   if Sliding_Effect == true
  389.     if Commands_Position == 0
  390.       @goldgame_window = Window_MenuGold.new(408, 416)
  391.     else
  392.       @goldgame_window = Window_MenuGold.new(544, 336)
  393.     end
  394.   else
  395.     @goldgame_window = Window_MenuGold.new(408, 336)
  396.   end
  397.   end
  398.   #-----------------------------------------------------------------------------
  399.   # Criação da janela de exibição do item extra.
  400.   #-----------------------------------------------------------------------------
  401.   def create_extraitem_window
  402.   if Sliding_Effect == true
  403.     if Commands_Position == 0
  404.       @extraitem_window = Window_Extra.new(272, 416)
  405.     else
  406.       @extraitem_window = Window_Extra.new(544, 224)
  407.     end
  408.   else
  409.     if Commands_Position == 0
  410.       @extraitem_window = Window_Extra.new(272, 336)
  411.     else
  412.       @extraitem_window = Window_Extra.new(408, 224)
  413.     end
  414.   end
  415.   end
  416.   #-----------------------------------------------------------------------------
  417.   # Criação da janela que exibe o nome do mapa.
  418.   #-----------------------------------------------------------------------------
  419.   def create_mapname_window
  420.   if Sliding_Effect == true
  421.     if Commands_Position == 0
  422.       @namemap_window = Window_NameMap.new(0, 416)
  423.     else
  424.       @namemap_window = Window_NameMap.new(544, 0)
  425.     end
  426.   else
  427.     if Commands_Position == 0
  428.       @namemap_window = Window_NameMap.new(0, 336)
  429.     else
  430.       @namemap_window = Window_NameMap.new(408, 0)
  431.     end
  432.   end
  433.   end
  434.   #-----------------------------------------------------------------------------
  435.   # Criação da janela que exibe o tempo de jogo.
  436.   #-----------------------------------------------------------------------------
  437.   def create_gametime_window
  438.   if Sliding_Effect == true
  439.     if Commands_Position == 0
  440.       @gametime_window = Window_GameTime.new(136, 416)
  441.     else
  442.       @gametime_window = Window_GameTime.new(544, 112)
  443.     end
  444.   else
  445.     if Commands_Position == 0
  446.       @gametime_window = Window_GameTime.new(136, 336)
  447.     else
  448.       @gametime_window = Window_GameTime.new(408, 112)
  449.     end
  450.   end
  451.   end
  452.   #-----------------------------------------------------------------------------
  453.   # Finalização do processo
  454.   #-----------------------------------------------------------------------------
  455.   alias menu_terminate terminate
  456.   def terminate
  457.   menu_terminate
  458.   super
  459.   dispose_background
  460.   @cursor.dispose
  461.   @dinamic_bg.dispose
  462.   @dinamic_bg2.dispose
  463.   n = 0
  464.   while n < 7
  465.     @commands[n].dispose
  466.     n += 1
  467.   end
  468.   Audio.bgm_stop if Play_MenuBGM
  469.   end
  470. end
  471. #===============================================================================
  472. # Window_SingleCommand
  473. #-------------------------------------------------------------------------------
  474. # Esta janela é responsável pela inserção dos comandos do menu principal.
  475. #===============================================================================
  476. class Window_SingleCommand < Window_Base
  477.   include KMM4_Config
  478.   def initialize
  479.     super(0, 0, 76, 58)
  480.     self.windowskin = Cache.system(Wdw_Command)
  481.     self.contents.font.name = Normal_Font
  482.     self.contents.font.size = Normal_FontSize
  483.   self.contents.font.bold = true if Bold_Font == true
  484.   change_color(Command_Color)
  485.   end
  486. end
  487. #===============================================================================
  488. # Window_GameTime
  489. #-------------------------------------------------------------------------------
  490. # Esta janela é responsável por mostrar o tempo decorrido de jogo.
  491. #===============================================================================
  492. class Window_GameTime < Window_Base
  493.   include KMM4_Config
  494.   def initialize(x, y)
  495.   if Commands_Position == 0
  496.     super(x, y, 136, 80)
  497.   else
  498.       super(x, y, 136, 80)
  499.   end
  500.     self.windowskin = Cache.system(Wdw_Infos)
  501.     self.contents.font.name = Normal_Font
  502.     self.contents.font.size = Normal_FontSize
  503.   self.contents.font.bold = true if Bold_Font == true
  504.     update
  505.   end
  506.  
  507.   def start
  508.   draw_icon(IconTime, 4, 4)
  509.   change_color(Info_Color)
  510.     draw_text( 28, 4, 84, line_height, VocGameTime, 0)
  511.   change_color(Value_Color)
  512.     draw_text( 0, 28, 108, line_height, $game_system.playtime_s, 1)
  513.   end
  514.  
  515.   def update
  516.     contents.clear
  517.     start
  518.   end
  519. end
  520. #===============================================================================
  521. # Window_Extra
  522. #-------------------------------------------------------------------------------
  523. # Esta janela é responsável por mostrar a quantidade da unidade monetária/item
  524. # extra que o jogador possui.
  525. #===============================================================================
  526. class Window_Extra < Window_Base
  527.   include KMM4_Config
  528.   def initialize(x, y)
  529.   if Commands_Position == 0
  530.     super(x, y, 136, 80)
  531.   else
  532.       super(x, y, 136, 80)
  533.   end
  534.     self.windowskin = Cache.system(Wdw_Infos)
  535.     self.contents.font.name = Normal_Font
  536.     self.contents.font.size = Normal_FontSize
  537.   self.contents.font.bold = true if Bold_Font == true
  538.   draw_icon(IconExtra, 4, 4)
  539.   change_color(Info_Color)
  540.     draw_text( 28, 4, 84, line_height, VocExtra, 0)
  541.   change_color(Value_Color)
  542.     draw_text( 0, 28, 108, line_height, $game_variables[ExtraItem], 1)
  543.   end
  544. end
  545. #===============================================================================
  546. # Window_MenuGold
  547. #-------------------------------------------------------------------------------
  548. # Esta janela é responsável por mostrar a quantidade de dinheiro em posse na
  549. # tela do menu principal.
  550. #===============================================================================
  551. class Window_MenuGold < Window_Base
  552.   include KMM4_Config
  553.   def initialize(x, y)
  554.   super(x, y, 136, 80)
  555.     self.windowskin = Cache.system(Wdw_Infos)
  556.     self.contents.font.name = Normal_Font
  557.     self.contents.font.size = Normal_FontSize
  558.   self.contents.font.bold = true if Bold_Font == true
  559.   draw_icon(IconGold, 4, 4)
  560.   change_color(Info_Color)
  561.     draw_text( 28, 4, 84, line_height, Vocab::currency_unit, 0)
  562.   change_color(Value_Color)
  563.     draw_text( 0, 28, 108, line_height, $game_party.gold, 1)
  564.   end
  565. end
  566. #===============================================================================
  567. # Window_NameMap
  568. #-------------------------------------------------------------------------------
  569. # Esta janela é responsável por mostrar o nome do mapa atual, em que o
  570. # personagem está localizado.
  571. #===============================================================================
  572. class Window_NameMap < Window_Base
  573.   include KMM4_Config
  574.   def initialize(x, y)
  575.   if Commands_Position == 0
  576.     super(x, y, 136, 80)
  577.   else
  578.       super(x, y, 136, 80)
  579.   end
  580.     self.windowskin = Cache.system(Wdw_Infos)
  581.     self.contents.font.name = Normal_Font
  582.     self.contents.font.size = Normal_FontSize
  583.   if Bold_Font == true
  584.     self.contents.font.bold = true
  585.   end
  586.   draw_icon(IconMap, 4, 4)
  587.   change_color(Info_Color)
  588.     draw_text( 28, 4, 84, line_height, VocMap, 0)
  589.   change_color(Value_Color)
  590.     draw_text( 0, 28, 108, line_height, $game_map.display_name, 1)
  591.   end
  592. end
  593. #===============================================================================
  594. # Window_MenuStatus
  595. #-------------------------------------------------------------------------------
  596. # Esta janela exibe os parâmetros dos membros do grupo na tela de menu.
  597. #===============================================================================
  598. class Window_MenuStatus < Window_Selectable
  599.   include KMM4_Config
  600.   #-----------------------------------------------------------------------------
  601.   # Inicialização do objeto
  602.   #-----------------------------------------------------------------------------
  603.   def initialize(x, y)
  604.   if Sliding_Effect == true
  605.     if Commands_Position == 0
  606.       super(coor_x + 544, coor_y, window_width, window_height)
  607.     else
  608.       super(coor_x, coor_y + 416, window_width, window_height)
  609.     end
  610.   else
  611.     super(coor_x, coor_y, window_width, window_height)
  612.   end
  613.   self.windowskin = Cache.system(Wdw_Status)
  614.   self.contents.font.name = Normal_Font
  615.   self.contents.font.size = Normal_FontSize
  616.   @pending_index = -1
  617.   refresh
  618.   end
  619.  
  620.   def col_max
  621.   if Commands_Position == 0
  622.     if $game_party.members.size == 1
  623.       return 1
  624.     else
  625.       return 2
  626.     end
  627.   else
  628.     return 1
  629.   end
  630.   end
  631.  
  632.   def spacing
  633.       return 0
  634.   end
  635.   #-----------------------------------------------------------------------------
  636.   # Aquisição da largura da janela.
  637.   #-----------------------------------------------------------------------------
  638.   def window_width
  639.   if Commands_Position == 0
  640.     if $game_party.members.size == 1
  641.       ((Graphics.width - standard_padding * 2) / 2) + standard_padding * 2
  642.     else
  643.       Graphics.width
  644.     end
  645.   else
  646.     ((Graphics.width - standard_padding * 2) / 2) + standard_padding * 2
  647.   end
  648.   end
  649.   #-----------------------------------------------------------------------------
  650.   # Aquisição da altura da janela.
  651.   #-----------------------------------------------------------------------------
  652.   def window_height
  653.   if Commands_Position == 0
  654.     if $game_party.members.size < 3
  655.       (96 + standard_padding * 2) + 8
  656.     else
  657.       (192 + standard_padding * 2) + 12
  658.     end
  659.   else
  660.     if $game_party.members.size <= 3
  661.       ((100 * $game_party.members.size) + standard_padding * 2) + 4
  662.     else
  663.       Graphics.height
  664.     end
  665.   end
  666.   end
  667.   #-----------------------------------------------------------------------------
  668.   # Aquisição da coordenada x da janela.
  669.   #-----------------------------------------------------------------------------
  670.   def coor_x
  671.   if Commands_Position == 0
  672.     if $game_party.members.size == 1
  673.       (Graphics.width - window_width) / 2
  674.     else
  675.       Graphics.width - window_width
  676.     end
  677.   else
  678.     ((Graphics.width - window_width) / 2) - 20
  679.   end
  680.   end
  681.   #-----------------------------------------------------------------------------
  682.   # Aquisição da coordenada y da janela.
  683.   #-----------------------------------------------------------------------------
  684.   def coor_y
  685.   (Graphics.height - window_height) / 2
  686.   end
  687.   #-----------------------------------------------------------------------------
  688.   # Aquisição de altura do item
  689.   #-----------------------------------------------------------------------------
  690.   def item_height
  691.   if Commands_Position == 0
  692.     if $game_party.members.size <= 2
  693.       (window_height - standard_padding * 2)
  694.     else
  695.       (window_height - standard_padding * 2) / 2
  696.     end
  697.   else
  698.     if $game_party.members.size <= 3
  699.       (window_height - standard_padding * 2) / $game_party.members.size
  700.     else
  701.       (window_height - standard_padding * 2) / 4
  702.     end
  703.   end
  704.   end
  705.   #-----------------------------------------------------------------------------
  706.   # Desenho de um item
  707.   #     index : índice do item
  708.   #-----------------------------------------------------------------------------
  709.   def draw_item(index)
  710.   actor = $game_party.members[index]
  711.   enabled = $game_party.battle_members.include?(actor)
  712.   rect = item_rect(index)
  713.   draw_item_background(index)
  714.   if Show_Character == false
  715.     draw_actor_face(actor, rect.x + 3, rect.y + 3, enabled)
  716.   end
  717.   draw_actor_common_status(actor, rect.x + 108, rect.y + line_height / 2)
  718.   end
  719.   #-----------------------------------------------------------------------------
  720.   # Desenho dos atributos de status do personagem.
  721.   #-----------------------------------------------------------------------------
  722.   def draw_actor_common_status(actor, x, y)
  723.   if Show_Character == true
  724.     draw_actor_character(actor.character_name, actor.character_index, x - 64, y + 32, enabled=true)
  725.   end
  726.   self.contents.font.name = Name_Font
  727.   self.contents.font.size = Name_FontSize
  728.   draw_actor_name(actor, x, y - 12)
  729.   self.contents.font.name = Normal_Font
  730.   self.contents.font.size = Normal_FontSize
  731.   self.contents.font.bold = true if Bold_Font == true
  732.   draw_actor_level(actor, x + 70, y + 6)
  733.   draw_actor_class(actor, x, y + 6)
  734.   draw_actor_icons(actor, x, y + 24)
  735.   draw_actor_hp(actor, x, y + 42)
  736.   draw_actor_mp(actor, x, y + 60)
  737.   end
  738.   #-----------------------------------------------------------------------------
  739.   # Desenho do character do personagem.
  740.   #-----------------------------------------------------------------------------
  741.   def draw_actor_character(character_name, character_index, x, y, enabled=true)
  742.   return unless character_name
  743.   bitmap = Cache.character(character_name)
  744.   name = character_name[/^[\!\$]./]
  745.   if name && name.include?('$')
  746.     character_width = bitmap.width / 3
  747.     character_height = bitmap.height / 4
  748.   else
  749.     character_width = bitmap.width / 12
  750.     character_height = bitmap.height / 8
  751.   end
  752.   n = character_index
  753.   character_rect = Rect.new((n%4*3+1)*character_width, (n/4*4)*character_height, character_width, character_height)
  754.   contents.blt(x, y, bitmap, character_rect, enabled ? 255 : translucent_alpha)
  755.   end
  756. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement