O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Taka - Menu Plus II

Iniciado por Takkun, 13/08/2014 às 21:43




Fala autor: Fala pessoal tudo certo? Bem estou trazendo aqui hoje a segunda versão de um Menu que fiz a pouco tempo (visite ele aqui) então resolvi deixar o mesmo ainda mais compacto adicionei também algumas funcionalidades a mais, como por exemplo a mostragem de ícones na MenuCommand o que deu um aspecto mais profissional ao script. Então e isso espero que todos gostem de mais esse script meu, qualquer dúvida ou problema pode ser tirada nesse tópico.

Lag: Inexistente, mínimo ou imperceptível.

Incompatibilidade: Com outro script que altere a Scene_Menu.
Este script também altera informações no Window_MenuCommand, Window_Gold,Window_Base, Window_Gold  e  Window_MenuStatus.









Script:
Código: ruby
#==============================================================================
#   Taka Engine - Menu Plus II
#   Autor: Takkun (a.k.a Faalco)
#   Criado: 13/18/2014
#   Version: 1.0a
#==============================================================================
# ◆ Instruções:
# -----------------------------------------------------------------------------
# Copie o script e cole o mesmo acima do Main de seu projeto. Pode causar
# incompatibilidade com outros scripts que modifiquem o Menu ou acresentem
# algo no mesmo (Devido a modificação das janelas).
#
#==============================================================================
# 
# Nova versão do meu antigo Menu Plus I foram adicionadas novas funcionalidades
# e opções ao Menu, ele foi mais compactado mas continua com o mesmo visual
# simples e bonito de antes.Todos os efeitos foram criados recursos do próprio 
# maker para que tivesse o mínimo de incompatibilidades possíveis. 
# Alguns comandos foram recriados para que caso eles fossem usados em outros 
# scripts não sofressem mudanças.
#
# Qualquer dúvida perante ao script pode ser tirada no tópico onde encontrou
# o mesmo, caso queira dar uma sugestão para melhoria ou ideia para script
# mande-me uma mensagem pessoal em umas das comunidades que atuo.
#
#                      ◆ Apenas para RPG Maker VXAce ◆
#==============================================================================
($imported ||= {})["Taka_Engine_MenuPlus2"] = true
#==============================================================================#
# ► Módulo de configuração do Script
#==============================================================================#
module TAKA
  module MENU
    #--------------------------------------------------------------------------#
    # ◆ COnfigurações
    #--------------------------------------------------------------------------#
    # Fonte que irá mostrar o nome dos Heróis.
    FONT_NAME = "Verdana" 
    # Tamanho da fonte que mostrará o nome dos Heróis
    FONT_NAME_SIZE = 18
    # Fonte que mostrará demais informações.
    FONT_NORMAL_NAME = "Verdana" 
    # Tamanho da fonte que mostrará demais informações.
    FONT_NORMAL_SIZE = 14 
    # Ícone que será mostrada na janela de Gold.
    ICON_GOLD = 361
    # Ícone que será mostrada na janela de Exibição do nome do Mapa.
    ICON_MAPS = 231
    #Ícones que serão mostrados ao lado da janela de comando do Menu.
    ICONS = [
    260, #Item
    14,  #Habilidades
    170, #Equipamentos
    121, #Condição
    12,  #Formação
    230, #Salvar
    1,   #Sair
    ] #Favor não remover.
    MUSIC = "Field1"
    MUSIC_PLAY = true
    #Configurações Extras:
    Font.default_name = TAKA::MENU::FONT_NAME
    Font.default_size = TAKA::MENU::FONT_NAME_SIZE
  end #MENU
end #TAKA
#==============================================================================#
# ► Window_Base
#==============================================================================#
class Window_Base < Window
  
  #--------------------------------------------------------------------------
  # ◆ Desenho da barra de HP (Neo)
  #--------------------------------------------------------------------------
  def draw_actor_neohp(actor, x, y, width = 62)
    draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
    change_color(system_color)
    draw_text(x, y, 30, line_height, Vocab::hp_a)
    draw_current_and_max_values(x, y, width, actor.hp, actor.mhp,
    hp_color(actor), normal_color)
  end
  #--------------------------------------------------------------------------
  # ◆ Desenho da barra de MP (Neo)
  #--------------------------------------------------------------------------
  def draw_actor_neomp(actor, x, y, width = 62)
    draw_gauge(x, y, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
    change_color(system_color)
    draw_text(x, y, 30, line_height, Vocab::mp_a)
    draw_current_and_max_values(x, y, width, actor.mp, actor.mmp,
    mp_color(actor), normal_color)
  end
  #--------------------------------------------------------------------------
  # ◆ Desenho dos ícones de Status (Neo)
  #--------------------------------------------------------------------------
  def draw_neo_actor_icons(actor, x, y, width = 72)
    icons = (actor.state_icons + actor.buff_icons)[0, width / 24]
    icons.each_with_index {|n, i| draw_icon(n, x + 24 * i, y) }
  end
  #--------------------------------------------------------------------------
  # ◆ Desenho dos grupo de Status (Neo)
  #--------------------------------------------------------------------------
  def draw_actor_neo_simple_status(actor, x, y)
    self.contents.font.name = TAKA::MENU::FONT_NAME
    self.contents.font.size = TAKA::MENU::FONT_NAME_SIZE
    draw_actor_name(actor, x - 55, y - 10)
    self.contents.font.name = TAKA::MENU::FONT_NORMAL_NAME
    self.contents.font.size = TAKA::MENU::FONT_NORMAL_SIZE
    draw_actor_level(actor, x + 35, y - 10 + line_height * 1)
    draw_neo_actor_icons(actor, x + 20, y - 10)
    draw_actor_class(actor, x - 55, y - 10 + line_height * 1)
    draw_actor_neohp(actor, x - 55, y - 10 + line_height * 2)
    draw_actor_neomp(actor, x + 27, y - 10 + line_height * 2)
  end
end
#==============================================================================#
# ► Window_MenuStatus
#==============================================================================#
class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # ◆ Aquisição da largura da Janela
  #--------------------------------------------------------------------------
  def window_width
    Graphics.width - 300
  end
  #--------------------------------------------------------------------------
  # ◆ Aquisição da altura da Janela
  #--------------------------------------------------------------------------
  def window_height
    Graphics.height - 225
  end
  #--------------------------------------------------------------------------
  # ◆ Aquisição de altura do Item
  #--------------------------------------------------------------------------
  def item_height
    (height - standard_padding * 2) / 2
  end
  #--------------------------------------------------------------------------
  # ◆ Desenho de um Item
  #--------------------------------------------------------------------------
  def draw_item(index)
    actor = $game_party.members[index]
    enabled = $game_party.battle_members.include?(actor)
    rect = item_rect(index)
    draw_item_background(index)
    draw_actor_graphic(actor, rect.x + 25, rect.y + 55)
    draw_actor_neo_simple_status(actor, rect.x + 108, rect.y + line_height / 2)
  end
end
#==============================================================================
# ► Window_MenuCommand
#==============================================================================
class Window_MenuCommand < Window_Command
  include TAKA
  include MENU
  #--------------------------------------------------------------------------
  # ◆ Inicialização do objeto
  #--------------------------------------------------------------------------
  def initialize
    super(72, 80)
    select_last
    iconsmenu = TAKA::MENU::ICONS
    x = 0
    y = 0
    for i in iconsmenu
      draw_icon(i, x - 2, y, enabled = true)
        y += 24
    end
  end
  def item_rect(index)
    rect = Rect.new
    rect.width = item_width - 23
    rect.height = item_height
    rect.x = index % col_max * (item_width + spacing) + 23
    rect.y = index / col_max * item_height
    rect
  end
end
#==============================================================================
# ► Window_Gold
#==============================================================================
class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # ◆ Aquisição da largura da janela
  #--------------------------------------------------------------------------
  def window_width
    return 404
  end
  #--------------------------------------------------------------------------
  # ◆ Renovação
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    icon = draw_icon(TAKA::MENU::ICON_GOLD, 280, 0)
    icon = draw_icon(TAKA::MENU::ICON_MAPS, 0, 0)
    self.contents.font.name = TAKA::MENU::FONT_NORMAL_NAME
    self.contents.font.size = TAKA::MENU::FONT_NORMAL_SIZE
    draw_currency_value(value, currency_unit, 4, 0, contents.width - 8)
    self.change_color(normal_color)
    draw_text(x + 35, y, width, line_height, $game_map.display_name)
  end
end
#==============================================================================
# ► Scene_Menu
#==============================================================================
class Scene_Menu < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ◆ Criação da janela de atributos
  #--------------------------------------------------------------------------
  def create_status_window
    @status_window = Window_MenuStatus.new(232, 80)
  end
  #--------------------------------------------------------------------------
  # ◆ Criação da janela de dinheiro
  #--------------------------------------------------------------------------
  def create_gold_window
    @gold_window = Window_Gold.new
    @gold_window.x = 72
    @gold_window.y = 270
  end
end


Engines: RPG Maker VXAce.

Créditos:
  • Takkun por criar o script.
  • XP por me ajudar a sanar algumas dúvidas durante a criação.
  • Guyts por um dos seus scripts que foi de essência importância para criação desse.

legal esse script muito legal mesmo...vou testa-lo no meu projeto : )
As outras janelas poderiam ser compactas também...

Citação de: hategum rpg online 13/08/2014 às 22:05
legal esse script muito legal mesmo...vou testa-lo no meu projeto : )
As outras janelas poderiam ser compactas também...

Obrigado Hategum.
Espero que ele seja útil a você, sim pretendo criar as outras Scenes também.
Abraço parceiro.

Takkun!-

Muito bom! Porém eu queria saber uma forma para deixar 1P

Citação de: Jingoku online 14/08/2014 às 01:07
Muito bom! Porém eu queria saber uma forma para deixar 1P

Em breve lanço uma versão 1P. :B
Agradeço pelo comentário.

Takkun!-

Ficou muito legal mesmo cara, essa simplicidade deixou o visual muito mais atraente.

Citação de: TanatosMaker online 14/08/2014 às 23:33
Ficou muito legal mesmo cara, essa simplicidade deixou o visual muito mais atraente.

Obrigado Tanatos.
Estou tentando adaptar todas as outras scenes mais e um processo demorado 'haha.
Mas obrigado parceiro, pelos elogios.
Abração.

Takkun!-

Qual a diferente entre esse e o outro menu? Para mim se trata mais de uma atualização daquele do que um menu novo...
De qualquer forma, é bom sempre compactar um pouco os menus, encher a tela de informações não é necessário. :XD:

Ficou muito agradável esse menu simples e bonito!
Ficara ainda melhor uma versão para 1P.

Um abraço.

Adorei o menu, sérião! Muito legal, me lembra aqueles doces e simples RPGs da época do SNES. Aqueles que ninguém conhece mesmo, que só sairam no Japão. :D
Curti muito :3