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

Faalco Ace Engine - Menu

Iniciado por Takkun, 30/03/2013 às 10:24

Faalco Ace Engine - Menu




Criador: Faalco
Versão: 1.0
Licença:Comercial & Não-Comercial
Progresso:Concluído




Introdução:

Faalco Ace Engine trata-se de um novo pacote de scripts para turbinar seu RPG Maker VXAce. Vocês membros, que tiverem ideias criativas para scripts podem manda-lás para mim que ficarei feliz em le-las e quem sabe torna-lás realidade. Obrigado pela atenção e espero que gostem desse meu novo pacote de scripts.



Multimídia:

Spoiler
[close]



Conteúdo/Scripts:

  • Menu : Menu elegante, e bem leve com várias configurações e funcionalidades fácil de ser trabalhado e configurado.



    Script:

    #==============================================================================
    # * [VXACE] Faalco Ace Engine - Menu
    #-------------------------------------------------------------------------------
    # * Por Faalco
    # * Versão: 1.0 BR
    # * Lançada em: 28/03/2013
    #==============================================================================
    $faalco = [] if $faalco.nil?
    $faalco << ["Faalco Ace Engine - Menu",1.0]
    #==============================================================================
    # ■  Modulo de Configuração [FaalcoMenu]
    #==============================================================================
    module FaalcoMenu
      #-----------------------------------------------------------------------------
      # ■ Menu - Configurações
      #-----------------------------------------------------------------------------
      #Imagem que irá aparecer no fundo do Menu. (Dentro da Pasta System)
      Background_Menu = "Fundo" 
      #Nome que irá aperecer na Barra de EXP.
      Vocab_Exp = "EXP" 
      #Nome que irá aparecer na janela de passos.
      Vocab_Steps = "Passos"
      #Tocar música no Menu.
      Play_Music_Menu = true
      #Música que irá tocar no Menu.
      Music_Menu = "Town5"
      #-----------------------------------------------------------------------------
      # ■ Ícones - Janelas
      #-----------------------------------------------------------------------------
      #Ícone que será mostrado na janela de uempo.
      Time_Icon = 280 
      #Ícone que será mostrado na janela de ouro
      Gold_Icon = 262 
      #Ícone que será mostrado na janela de passos.
      Steps_Icon = 172 
      #-----------------------------------------------------------------------------
      # ■ Cores - Barras do Menu
      #-----------------------------------------------------------------------------
      #Color1 da barra de EXP.
      Exp_Bar1 = 21 
      #Color2 da barra de EXP.
      Exp_Bar2 = 17 
      #Color1 da barra de HP.
      HP_Bar1 = 28
      #Color1 da barra de HP.
      HP_Bar2 = 29
      #Color1 da barra de MP.
      MP_Bar1 = 23
      #Color1 da barra de MP.
      MP_Bar2 = 22
      #-----------------------------------------------------------------------------
      # ■ Fim das Configurações
      #-----------------------------------------------------------------------------
    end
    #==============================================================================
    # ▼ Window_Base
    #------------------------------------------------------------------------------
    #  Esta é a superclasse para todas as janelas no jogo.
    #==============================================================================
    class Window_Base < Window
      include FaalcoMenu
      def hp_gauge_color1;   text_color(HP_Bar1);  end;    # Medidor de HP 1
      def hp_gauge_color2;   text_color(HP_Bar2);  end;    # Medidor de HP 2
      def mp_gauge_color2;   text_color(MP_Bar1);  end;    # Medidor de P 1
      def mp_gauge_color1;   text_color(MP_Bar2);  end;    # Medidor de MP 1
      def mp_cost_color;     text_color(MP_Bar2);  end;    # Consumo de MP
      #-----------------------------------------------------------------------------
      # ■ Desenho do medidor
      #-----------------------------------------------------------------------------
      def draw_gauge(x, y, width, rate, color1, color2)
        fill_w = (width * rate).to_i
        gauge_y = y + line_height - 8
        contents.fill_rect(x, gauge_y, width, 10, gauge_back_color)
        contents.gradient_fill_rect(x, gauge_y, fill_w, 10, color1, color2)
      end
      #-----------------------------------------------------------------------------
      # ■ Desenho do HP
      #-----------------------------------------------------------------------------
      def draw_actor_hp(actor, x, y, width = 130)
        draw_gauge(x-10, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
        change_color(system_color)
        draw_text(x-10, 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 do MP
      #-----------------------------------------------------------------------------
      def draw_actor_mp(actor, x, y, width = 130)
        draw_gauge(x-10, y, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
        change_color(system_color)
        draw_text(x-10, 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 atributos básicos
      #-----------------------------------------------------------------------------
      def draw_actor_simple_status(actor, x, y)
        draw_actor_name(actor, x, y)
        draw_actor_icons(actor, x, y + line_height * 2)
        draw_actor_class(actor, x + 120, y)
        draw_actor_hp(actor, x + 120, y + line_height * 1)
        draw_actor_mp(actor, x + 120, y + line_height * 2)
        draw_actor_exp(actor, x, y + line_height * 1)
      end
      #-----------------------------------------------------------------------------
      # ■ Desenho do EXP
      #-----------------------------------------------------------------------------
        def draw_actor_exp(actor, x, y, width = 100)
        draw_gauge(x, y, width, actor.exp.to_f / actor.next_level_exp.to_f, exp_gauge_color1, exp_gauge_color2)
        change_color(system_color)
        draw_text(x, y, 30, line_height, Vocab_Exp)
        draw_current_and_max_values(x, y, width, actor.exp, actor.next_level_exp,
          normal_color, normal_color)
      end
      def exp_gauge_color1
        text_color(Exp_Bar1)
      end
      def exp_gauge_color2
        text_color(Exp_Bar2)
        end
      end
    #==============================================================================
    # ▼ Window_Gold
    #------------------------------------------------------------------------------
    #  Esta janela exibe a quantia de dinheiro.
    #==============================================================================
    class Window_Gold < Window_Base
      def refresh
        contents.clear
        draw_currency_value(value, currency_unit, 4, 0, contents.width - 8)
        icon = draw_icon(Gold_Icon, 0, 0)
      end
    end
    #==============================================================================
    # ▼ Window_Steps
    #------------------------------------------------------------------------------
    #  Esta janela exibe o número de passos do Herói.
    #==============================================================================
    class Window_Steps < Window_Base
      include FaalcoMenu
      #--------------------------------------------------------------------------
      # ■ Inicialização do objeto
      #--------------------------------------------------------------------------
      def initialize(x,y)
        super(x, y, 160, 50)
        refresh
      end
      #--------------------------------------------------------------------------
      # ■ Renovação
      #--------------------------------------------------------------------------
      def refresh
        contents.clear
        draw_currency_value(value, currency_unit, 4, 0, contents.width - 8)
        icon = draw_icon(Steps_Icon, 0, 0)
      end
      #--------------------------------------------------------------------------
      # ■ Aquisição do valor dos passos
      #--------------------------------------------------------------------------
      def value
        $game_party.steps
      end
      #--------------------------------------------------------------------------
      # ■ Aquisição da unidade de passos
      #--------------------------------------------------------------------------
      def currency_unit
        Vocab_Steps
      end
    end
    #==============================================================================
    # ▼ Window_Time
    #------------------------------------------------------------------------------
    #  Esta janela exibe o tempo de jogo.
    #==============================================================================
    class Window_Time < Window_Base
      include FaalcoMenu
      #--------------------------------------------------------------------------
      # ■ Inicialização do objeto
      #--------------------------------------------------------------------------
      def initialize(x,y)
        super(x, y, 160, 60)
        refresh
      end
      #--------------------------------------------------------------------------
      # ■ Renovação
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
           @total_sec = Graphics.frame_count / Graphics.frame_rate
          hour = @total_sec / 60 / 60
          min = @total_sec / 60 % 60
          sec = @total_sec % 60
          time = sprintf("%02d:%02d:%02d", hour, min, sec)
          self.contents.draw_text(4, 0, contents.width - 8, contents.height - 4, "Tempo: " + time, 2)
          icon = draw_icon(Time_Icon, 0, 5)
        end
      #--------------------------------------------------------------------------
      # ■ Atualização da tela
      #--------------------------------------------------------------------------
      def update
          super
          if Graphics.frame_count / Graphics.frame_rate != @total_sec
          refresh
        end
      end
    end
    #==============================================================================
    # ▼ Scene_Menu
    #------------------------------------------------------------------------------
    #  Esta classe executa o processamento da tela de menu.
    #==============================================================================
    class Scene_Menu < Scene_MenuBase
      include FaalcoMenu
      alias faalco_start start
      alias faalco_terminate terminate
      alias faalco_create_command_window create_command_window
      #--------------------------------------------------------------------------
      # ■ Inicialização do processo
      #--------------------------------------------------------------------------
      def start
        faalco_start
        create_background
        create_time_window
        create_steps_window
      end
      #--------------------------------------------------------------------------
      # ■ Finalização do processo
      #--------------------------------------------------------------------------
      def terminate
        faalco_terminate
        Audio.bgm_stop if Play_Music_Menu
      end
      #--------------------------------------------------------------------------
      # ■ Criação da janela de comando
      #--------------------------------------------------------------------------
      def create_command_window
        faalco_create_command_window
        Audio.bgm_play("Audio/BGM/#{Music_Menu}") if Play_Music_Menu == true
      end
      #--------------------------------------------------------------------------
      # ■ Criação do plano de fundo
      #--------------------------------------------------------------------------
      def create_background
        @background_sprite = Sprite.new
        @background_sprite.bitmap = Cache.system(Background_Menu)
      end
      #--------------------------------------------------------------------------
      # ■ Criação da janela de tempo
      #-------------------------------------------------------------------------
      def create_time_window
        @time_window = Window_Time.new(0, 304)
      end
      #--------------------------------------------------------------------------
      # ■ Criação da janela de tempo
      #-------------------------------------------------------------------------
      def create_steps_window
        @steps_window = Window_Steps.new(0, 250)
      end
    end
    




    Créditos e Agradecimentos: Faalco, Raizen e King Gerar

Gostei, para quem gosta de algo perto do menu padrão, mas o tempo ficou meio espremido... não seria melhor colocar só hora:minutos? porque ai não deixa essa sensação espremida :D, e os passos acho que cabem poucos digitos k, mas parabéns pelos vários scripts que tem feito ^-^