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

Gab! Custom Menu

Iniciado por Raizen, 22/12/2012 às 16:25

[box class=catbg2]Gab! Custom Menu
09/03/2011
[/box]
[box class=catbg3]
Versão Original: Gab!
[/box][box class=catbg2]Introdução[/box]

   Bom, esse é um menu totalmente customizável, você pode definir efeitos, layout, textos, movimentos, entre muitos outros. Você pode construir quase tudo com esse script. Basta paciência e dedicação.
[box class=catbg2]Instruções[/box]


Cole o script acima do main, configure-o e ajuste as imagens.
[box class=catbg2]Script[/box]
#==============================================================================
# Gab! Custom Menu
#----------------------------------------------------------------------------
# Feito por: Gab!
# Data: 29/01/11
#----------------------------------------------------------------------------
# Exclusividade para: Mundo RPG Maker
# www.mundorpgmaker.com
# www.mundorpgmaker.com/forum
#----------------------------------------------------------------------------
#   O script foi projetado para permitir que o maker tenha total controle sobre 
#  o menu, assim sendo, ele poderá definir qual o melhor modo de exibição para 
#  cada coisa que faça parte do seu menu.
#----------------------------------------------------------------------------
#  Créditos:
#   > Pictures-Vector - Pattern do Fundo
#==============================================================================
module Gab
  module CustomMenu
    
#==============================================================================
# CONFIGURAÇÃO
#----------------------------------------------------------------------------
# Todas as imagens serão buscadas na pasta Graphics/System
#==============================================================================
    
    #=======================================#
    #       CONFIGURAÇÃO DO BACKGROUND      #
    #=======================================#
    
    Background = "menubg"   # Fundo
    BG_Speed   = [          # Velocidade de Movimento do Fundo
                   2,       # Movimento em pixels Horizontais
                   2,       # Movimento em pixels Verticais
                 ]
     
    BG_Opacity = 255        # Opacidade do Fundo
    
    BG_Base    = "menubase" # Base do Menu
          
    #=======================================#
    #   CONFIGURAÇÃO DA EXIBIÇÃO DOS ITENS  #
    #=======================================#
    
    OPTIONS = [ # Opções do Menu
    
=begin
    [:pic, :ux, :uy, :uz, :uo, :sx, :sy, :sz, :so, :sc, :cs, :arg],
    
    :pic = Nome da Imagem
    :ux  = Posição X quando deselecionado
    :uy  = Posição Y quando deselecionado
    :uz  = Posição Z quando deselecionado
    :uo  = Opacidade quando deselecionado
    :sx  = Posição X quando selecionado
    :sy  = Posição Y quando selecionado
    :sz  = Posição Z quando selecionado
    :so  = Opacidade quando selecionado
    :sc  = Scene que será chamada
    :cs  = Usar Seleção de character?
    :arg = Argumentos necessários ao chamar a scene
    
    Nota:
        Caso ":arg" contenha o valor :character_selection, ele será substituido 
    pela variável que guarda o actor que foi escolhido na seleção de character.
=end

    ["menu_1", 0,  10, 10, 175, 50,  10, 10, 255, Scene_Item,  false, []],
    ["menu_2", 0,  60, 10, 175, 50,  60, 10, 255, Scene_Skill,  true, [:character_selection]],
    ["menu_3", 0, 110, 10, 175, 50, 110, 10, 255, Scene_Equip,  true, [:character_selection]],
    ["menu_4", 0, 160, 10, 175, 50, 160, 10, 255, Scene_Status, true, [:character_selection]],
    ["menu_5", 0, 210, 10, 175, 50, 210, 10, 255, Scene_File,  false, [true, false, false]],
    ["menu_6", 0, 260, 10, 175, 50, 260, 10, 255, Scene_End,   false, []]
    ]
    
=begin
    Opções de bloqueio de save
    
    [:id, :pic, :ux. :uy, :uz, :uo, :sx, : sy, :sz, :so]
    
    :id  = Index nas opções acima
    :pic = Nome da Imagem
    :ux  = Posição X quando deselecionado
    :uy  = Posição Y quando deselecionado
    :uz  = Posição Z quando deselecionado
    :uo  = Opacidade quando deselecionado
    :sx  = Posição X quando selecionado
    :sy  = Posição Y quando selecionado
    :sz  = Posição Z quando selecionado
    :so  = Opacidade quando selecionado
=end
    BlockSave = [4, "menu_5-1", 0, 210, 10, 175, 50, 210, 10, 255]
    
    NameWinSets = [
    # Configurações da janela com o nome
=begin
    [:txn, :wxn, :wyn, :wzn, :wwn, :whn, :won, :txs, wxs, :wys, :wzs, :wws, :whs, :wos, :tcn, :tcs]
    
    :txn = Nome na Window                  \
    :wxn = Posição X da Window com o nome   \
    :wyn = Posição Y da Window com o nome    \ 
    :wzn = Posição Z da Window com o nome     ) Não selecionada
    :wwn = Largura da Window com o nome      /
    :whn = Altura da Window com o nome      /
    :won = Opacidade da Window com o nome  /
                                          
    :txs = Nome na Window                  \
    :wxs = Posição X da Window com o nome   \
    :wys = Posição Y da Window com o nome    \ 
    :wzs = Posição Z da Window com o nome     ) Selecionada
    :wws = Largura da Window com o nome      /
    :whs = Altura da Window com o nome      /
    :wos = Opacidade da Window com o nome  /
    
    :tcn = Cor do Texto (Não selecionada) [R, G, B, A]
    :tcs = Cor do Texto (Selecionada)     [R, G, B, A]
=end
      ["Itens",  50,  10, 5, 90, 53, 0, "", 50,  10, 5, 90, 53, 0, [255,255,255,255], [0,0,0,0]],
      ["Skill",  50,  60, 5, 90, 53, 0, "", 50,  60, 5, 90, 53, 0, [255,255,255,255], [0,0,0,0]],
      ["Equip",  50, 110, 5, 90, 53, 0, "", 50, 110, 5, 90, 53, 0, [255,255,255,255], [0,0,0,0]],
      ["Status", 50, 160, 5, 90, 53, 0, "", 50, 160, 5, 90, 53, 0, [255,255,255,255], [0,0,0,0]],
      ["Salvar", 50, 210, 5, 90, 53, 0, "", 50, 210, 5, 90, 53, 0, [255,255,255,255], [0,0,0,0]],
      ["Sair",   50, 260, 5, 90, 53, 0, "", 50, 260, 5, 90, 53, 0, [255,255,255,255], [0,0,0,0]]
    ]
    
    CursorMove = 0 # Tipo de movivento do cursor
                   # 0 = Cima/Baixo
                   # 1 = Direita/Esquerda
    
    #=======================================#
    # CONFIGURAÇÃO DA EXIBIÇÃO DE CHARACTER #
    #=======================================#

                # Opac, Larg, Altu
    CharWindow = [ 000,  200,  195 ] # Window de seleção de characters
    
    CharCurMov = 1 # Tipo de movivento do cursor
                   # 0 = Cima/Baixo
                   # 1 = Direita/Esquerda
    
    CharConfig = [
                  true, # Mostrar face?
                     0, # Posição X da face
                     0, # Posição Y da face
                 #------------------------------#
                  true, # Mostrar Character?
                   133, # Posição X do char
                    32, # Posição Y do char
                 #------------------------------#
                  true, # Mostrar Nome?
                    98, # Posição X do nome
                    33, # Posição Y do nome
                 #------------------------------#
                  true, # Mostrar Class do ator?
                    98, # Posição X da classe
                    54, # Posição Y da classe
                 #------------------------------#
                  true, # Mostrar Level?
                    98, # Posição X do Level
                    75, # Posição Y do Level
                 #------------------------------#
                  true, # Mostrar Status?
                     0, # Posição X do Status
                    96, # Posição Y do Status
                 #------------------------------#
                  true, # Mostrar barra de HP?
                     0, # Posição X da barra de HP
                   117, # Posição Y da barra de HP
                 #------------------------------#
                  true, # Mostrar barra de MP?
                     0, # Posição X da barra de MP
                   137, # Posição Y da barra de MP
                 ] 
                 
    CharPos    = [
                    # X ,  Y 
                    [143,   8], # Posição do Char 1
                    [330,   8], # Posição do Char 2
                    [143, 177], # Posição do Char 3
                    [330, 177]  # Posição do Char 4
                    #  Caso existam mais chars (Large Party), basta seguir o 
                    # mesmo padrão.

                  ]
    
    #=======================================#
    #           OUTRAS FERRAMENTAS          #
    #=======================================#
    
      Timer = [
               true, # Mostrar Timer?
                -10, # Posição X
                300, # Posição Y
                  0, # Opacidade da janela
                188  # Id do Ícone
              ]
            
      Gold = [
               true, # Mostrar dinheiro?
                -10, # Posição X
                325, # Posição Y
                  0, # Opacidade da janela
                194, # Id do Ícone
             ]
             
      Step = [
               true, # Mostrar passos?
                -10, # Posição X
                350, # Posição Y
                  0, # Opacidade da Janela
                 48  # Id do Ícone
             ]
             
      Map  = [
               true, # Mostrar Mapa
                -10, # Posição X
                375, # Posição Y
                544, # Largura da Janela
                 60, # Altura da Janela
                  0, # Opacidade da Janela
                153, # Id do Ícone
                  1  # Alinhamento do Texto
                     #  0 = Direita
                     #  1 = Centro
                     #  2 = Esquerda
             ]
             
      Dead_spr = "menudead"    # Sprite que indica que o actor está morto.           
      DEAD_ID  = 1    # Id do status "morto"

#==============================================================================
# FIM DA CONFIGURAÇÃO
#----------------------------------------------------------------------------
# Não modifique a partir daqui
#==============================================================================               
                  
                  
  end
end


class Scene_Menu < Scene_Base
  
  def initialize(index=0)
    @selected            = index
    @char_index          = 0
    @character_selection = false
    case Gab::CustomMenu::CursorMove
    when 0;@input = [Input::DOWN, Input::UP]
    when 1;@input = [Input::RIGHT, Input::LEFT]
    end
    
    case Gab::CustomMenu::CharCurMov
    when 0;@input1 = [Input::DOWN, Input::UP]
    when 1;@input1 = [Input::RIGHT, Input::LEFT]
    end
  end
  
  def start
    create_menu_background
    @background         = Plane.new
    @background.bitmap  = Cache.system(Gab::CustomMenu::Background)
    @background.opacity = Gab::CustomMenu::BG_Opacity
    @background.z       = 0 
    @base               = Sprite.new
    @base.bitmap        = Cache.system(Gab::CustomMenu::BG_Base)
    @base.z             = 1
    create_base
    create_others
  end
  
  def update
    @background.ox += Gab::CustomMenu::BG_Speed[0]
    @background.oy += Gab::CustomMenu::BG_Speed[1]
    @base.update
    @options.each{|i|  i.update}
    @menuchar.each{|i| i.update}
    @menuwin.each{|i|  i.update}
    @timer.update
    @gold.update
    @step.update
    @map.update
    @character_selection ? update_chr_input : update_opt_input
  end
  
  def update_chr_input
    if Input.trigger?(@input1[0])
      @menuchar[@char_index].index = -1
      @char_index = (@char_index + 1) % $game_party.members.size
      @menuchar[@char_index].index = 0
      Sound.play_cursor
    elsif Input.trigger?(@input1[1])
      @menuchar[@char_index].index = -1
      @char_index = (@char_index - 1) % $game_party.members.size
      @menuchar[@char_index].index = 0
      Sound.play_cursor
    elsif Input.trigger?(Input::B)
      @menuchar[@char_index].index = -1
      @char_index = 0
      @options[@selected].selected = true
      @menuwin[@selected].selected = true
      @character_selection = false
      Sound.play_cancel
    elsif Input.trigger?(Input::C)
      if $game_party.members[@char_index].states.include?($data_states[Gab::CustomMenu::DEAD_ID])
        Sound.play_buzzer
      else
        Sound.play_decision
        go!
      end
    end
  end
  
  def update_opt_input
    if Input.trigger?(@input[0])
      @options[@selected].selected = false
      @menuwin[@selected].selected = false
      @selected = (@selected + 1) % Gab::CustomMenu::OPTIONS.size
      @options[@selected].selected = true
      @menuwin[@selected].selected = true
      Sound.play_cursor
    elsif Input.trigger?(@input[1])
      @options[@selected].selected = false
      @menuwin[@selected].selected = false
      @selected = (@selected - 1) % Gab::CustomMenu::OPTIONS.size
      @options[@selected].selected = true
      @menuwin[@selected].selected = true
      Sound.play_cursor
    elsif Input.trigger?(Input::B)
      $scene = Scene_Map.new
      Sound.play_cancel
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      check_opt
    end
  end
  
  def check_opt
    if $game_system.save_disabled && @selected == Gab::CustomMenu::BlockSave[0]
      Sound.play_buzzer
      return
    end
    
    if Gab::CustomMenu::OPTIONS[@selected][10]
      @options[@selected].selected = false
      @menuwin[@selected].selected = false
      @character_selection = true
      @menuchar[0].index = 0
    else
      go!
    end
  end
  
  def go!
    args = Gab::CustomMenu::OPTIONS[@selected][11]
    args[args.index(:character_selection)] = @char_index while (args.include?(:character_selection))
    $scene = Gab::CustomMenu::OPTIONS[@selected][9].new(*args)
  end
  
  def create_base
    @options = []
    @menuwin = []
    @menuchar = []
    Gab::CustomMenu::OPTIONS.each{|i| 
      if $game_system.save_disabled && Gab::CustomMenu::OPTIONS.index(i) == Gab::CustomMenu::BlockSave[0]
        i = Gab::CustomMenu::BlockSave
        @options << MenuSprite.new(Cache.system(i[1]), *i[2,9])
      else
        @options << MenuSprite.new(Cache.system(i[0]), *i[1,8])
      end
    }
    Gab::CustomMenu::NameWinSets.each{|i| @menuwin << MenuWindow.new(i[0], i[7], i[4], i[5], i[11], i[12], i[1], i[2], i[3], i[6], i[8], i[9], i[10], i[13], i[14], i[15])}
    $game_party.members.each{|i| @menuchar << MenuCharacter.new(i,$game_party.members.index(i))}
    @options[@selected].selected = true
    @menuwin[@selected].selected = true
  end
  
  def create_others
    @timer = MenuTimer.new
    @gold  = MenuGold.new
    @step  = MenuStep.new
    @map   = MenuMap.new
  end
  
  def terminate
    @background.dispose
    @base.dispose
    @options.each{|i|  i.dispose}
    @menuchar.each{|i| i.dispose}
    @menuwin.each{|i|  i.dispose}
    @timer.dispose
    @gold.dispose
    @step.dispose
    @map.dispose
    dispose_menu_background
  end
  
end

class MenuMap < Window_Base
  def initialize
    super(*Gab::CustomMenu::Map[1,4])
    self.opacity = Gab::CustomMenu::Map[5]
    self.visible = Gab::CustomMenu::Map[0]
    refresh
  end
  
  def refresh
    self.contents.clear
    draw_icon(Gab::CustomMenu::Map[6], 4, 0)
    self.contents.draw_text(30, 0, self.contents.width - 20, 21, $game_map.map_name, Gab::CustomMenu::Map[7])
  end
  
  def update; refresh if self.visible && Graphics.frame_count % 122 == 0; end
end

class MenuStep < Window_Base
  def initialize
    super(Gab::CustomMenu::Step[1],Gab::CustomMenu::Step[2],150,60)
    self.opacity = Gab::CustomMenu::Step[3]
    self.visible = Gab::CustomMenu::Step[0]
    refresh
  end
  
  def refresh
    self.contents.clear
    draw_icon(Gab::CustomMenu::Step[4], 4, 0)
    self.contents.draw_text(0, 0, self.contents.width - 10, 21, $game_party.steps, 2)
  end
  
  def update; refresh if self.visible && Graphics.frame_count % 121 == 0; end
end

class MenuGold  < Window_Base
  def initialize
    super(Gab::CustomMenu::Gold[1],Gab::CustomMenu::Gold[2],150,60)
    self.opacity = Gab::CustomMenu::Gold[3]
    self.visible = Gab::CustomMenu::Gold[0]
    refresh
  end
  
  def refresh
    self.contents.clear
    draw_icon(Gab::CustomMenu::Gold[4], 4, 0)
    draw_currency_value($game_party.gold, 10, 0, 100)
  end
  
  def update; refresh if self.visible && Graphics.frame_count % 120 == 0; end
end

class MenuTimer < Window_Base
  def initialize
    super(Gab::CustomMenu::Timer[1],Gab::CustomMenu::Timer[2],150,60)
    self.opacity = Gab::CustomMenu::Timer[3]
    self.visible = Gab::CustomMenu::Timer[0]
    refresh
  end
  
  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
    form = format("%02d:%02d:%02d", hour, min, sec)
    draw_icon(Gab::CustomMenu::Timer[4], 4, 0)
    self.contents.draw_text(0, 0, self.contents.width - 10, 21, form, 2)
  end
  
  def update; refresh if self.visible && Graphics.frame_count % (Graphics.frame_rate - 20) == 0; end
end

class MenuCharacter < Window_Selectable
  def initialize(actor,index)
    super(Gab::CustomMenu::CharPos[index][0],
          Gab::CustomMenu::CharPos[index][1],
          Gab::CustomMenu::CharWindow[1],
          Gab::CustomMenu::CharWindow[2])
    self.opacity = Gab::CustomMenu::CharWindow[0]
    @actor = actor
    @dead  = @actor.states.include?($data_states[Gab::CustomMenu::DEAD_ID])
    refresh
  end
  
  def refresh
    draw_actor_face(@actor,    Gab::CustomMenu::CharConfig[1],  Gab::CustomMenu::CharConfig[2])  if Gab::CustomMenu::CharConfig[0]
    draw_actor_graphic(@actor, Gab::CustomMenu::CharConfig[4],  Gab::CustomMenu::CharConfig[5])  if Gab::CustomMenu::CharConfig[3]
    draw_actor_name(@actor,    Gab::CustomMenu::CharConfig[7],  Gab::CustomMenu::CharConfig[8])  if Gab::CustomMenu::CharConfig[6]
    draw_actor_class(@actor,   Gab::CustomMenu::CharConfig[10], Gab::CustomMenu::CharConfig[11]) if Gab::CustomMenu::CharConfig[9]
    draw_actor_level(@actor,   Gab::CustomMenu::CharConfig[13], Gab::CustomMenu::CharConfig[14]) if Gab::CustomMenu::CharConfig[12]
    draw_actor_state(@actor,   Gab::CustomMenu::CharConfig[16], Gab::CustomMenu::CharConfig[17]) if Gab::CustomMenu::CharConfig[15]
    draw_actor_hp(@actor,      Gab::CustomMenu::CharConfig[19], Gab::CustomMenu::CharConfig[20]) if Gab::CustomMenu::CharConfig[18]
    draw_actor_mp(@actor,      Gab::CustomMenu::CharConfig[22], Gab::CustomMenu::CharConfig[23]) if Gab::CustomMenu::CharConfig[21]
    contents.blt(0,0, Cache.system(Gab::CustomMenu::Dead_spr), contents.rect) if @dead
  end
  
  def update_cursor
    case @index
    when -1; self.cursor_rect.empty
    when  0; self.cursor_rect = Rect.new(-5,-5,self.width-23, self.height-23)
    end
  end
end

module Gab
  module Movable
    def update
      super
      refresh if self.is_a?(MenuWindow) && Graphics.frame_count % 15 == 0
      return if (@status == 0 && !@selected) || (@status == 2 && @selected)
      update_move
    end
    
    def update_move
      
      calc_move(@select_opts[4] - @select_opts[0], @select_opts[5] - @select_opts[1]) unless @move_calc

      case @move_config[2]
      when 0; 
        if @selected && self.x != @select_opts[4]
          self.x += self.x < @select_opts[4] ? 1 : -1
        elsif !@selected && self.x != @select_opts[0]
          self.x += self.x < @select_opts[0] ? 1 : -1
        else
          @count = @move_config[0] - 1
        end
        
        if (@count += 1) == @move_config[0]
          if @selected && self.y != @select_opts[5]
            self.y += self.y < @select_opts[5] ? 1 : -1
          elsif !@selected && self.y != @select_opts[1]
            self.y += self.y < @select_opts[1] ? 1 : -1
          end
        end
      when 1
        if @selected && self.y != @select_opts[5]
          self.y += self.y < @select_opts[5] ? 1 : -1
        elsif !@selected && self.y != @select_opts[1]
          self.y += self.y < @select_opts[1] ? 1 : -1
        else
          @count = @move_config[1] - 1
        end
        
        if (@count += 1) == @move_config[1]
          if @selected && self.x != @select_opts[4]
            self.x += self.x < @select_opts[4] ? 1 : -1
          elsif !@selected && self.x != @select_opts[0]
            self.x += self.x < @select_opts[0] ? 1 : -1
          end
        end
      end
      
      if    (@selected && self.x == @select_opts[4] && self.y == @select_opts[5])
        @status = 2
        @move_calc = false
      elsif (!@selected && self.x == @select_opts[0] && self.y == @select_opts[1])
        @status = 0
        @move_calc = false
      else
        @status = 1
      end
        
    end

    def calc_move(num, den)
      num,den = -num,-den if den < 0    
      
      min, gcd = num.abs,den.abs
      while(min > 0)
        tmp = min
        min = gcd % min
        gcd = tmp
      end
      
      @move_config    = []
      @move_config[0] = (num / gcd) rescue @move_config[0] = 0
      @move_config[1] = (den / gcd) rescue @move_config[1] = 0
      @move_config[2] = @move_config.index(@move_config.max)
      @move_calc      = true
   end
  end

end

class MenuSprite < Sprite_Base
  attr_accessor :selected
  include Gab::Movable
  def initialize(bitmap, x1, y1, z1, o1, x2, y2, z2, o2)
    super()
    self.bitmap  = bitmap
    self.x       = x1
    self.y       = y1
    self.z       = z1
    self.opacity = o1
    
    @selected    = false
    @move_calc   = false
    @select_opts = [x1, y1, z1, o1, x2, y2, z2, o2]
    @move_config = [0,0]
    @count       = 0
    @status      = 0
    @dX          = x1
    @dY          = y1
    @dist        = 1
  end
  
  def selected=(x)
    if (@selected = x)
      self.z = @select_opts[6]
      self.opacity = @select_opts[7]
    else
      self.z = @select_opts[2]
      self.opacity = @select_opts[3]
    end
  end
  
end

class MenuWindow < Window_Base
  attr_accessor :selected
  include Gab::Movable
  
  def initialize(t1, t2, w1, h1, w2, h2, x1, y1, z1, o1, x2, y2, z2, o2, tc1, tc2)
    super(x1,y1,w1,h1)
    
    self.z       = z1
    self.opacity = o1
    
    @selected    = false
    @move_calc   = false
    @select_opts = [x1, y1, z1, o1, x2, y2, z2, o2, w1, h1, w2, h2, t1, t2, tc1, tc2]
    @move_config = [0,0]
    @count       = 0
    @status      = 0
    @text        = t1
    self.contents.font.color = Color.new(*@select_opts[14])    
    refresh
  end
  
  def refresh
    self.contents.clear
    self.contents.draw_text(self.contents.rect, @text)
  end
  
  def selected=(x)
    if (@selected = x)
      self.width   = @select_opts[10]
      self.height  = @select_opts[11]
      self.contents.font.color = Color.new(*@select_opts[15])
      self.z       = @select_opts[6]
      self.opacity = @select_opts[7]
      @text        = @select_opts[13]
    else
      self.width   = @select_opts[8]
      self.height  = @select_opts[9]
      self.contents.font.color = Color.new(*@select_opts[14])
      self.z       = @select_opts[2]
      self.opacity = @select_opts[3]
      @text        = @select_opts[12]
    end
    return x
  end
  
end

class Game_Map
  alias gab_custom_menu_initialize initialize unless $@
  def initialize
    gab_custom_menu_initialize
    @map_infos = load_data("Data/MapInfos.rvdata")
  end
  
  def map_name
    return @map_infos[@map_id].name
  end
end

[box class=catbg2]Imagens[/box]
Colocarei o nome das imagens como estão configuradas inicialmente no script, na pasta Graphics/System:


Nome da ImagemLink
menu_1.pnghttp://i.min.us/immXF8.png
menu_2.pnghttp://i.min.us/imnxpg.png
menu_3.pnghttp://i.min.us/imnzxo.png
menu_4.pnghttp://i.min.us/imryAm.png
menu_5.pnghttp://i.min.us/imrw2e.png
menu_5-1.pnghttp://i.min.us/imrOjK.png
menu_6.pnghttp://i.min.us/imn5LC.png
menubase.pnghttp://i.min.us/imrU8i.png
menubg.pnghttp://i.min.us/immNaW.png
menudead.pnghttp://i.min.us/imrWGq.png
[box class=catbg2]ScreenShots & Download[/box]


Sim, ficou feio, mas, basta editar as imagens.

O "sinal de pare" em cima do Adam indica que ele está morto :D
Spoiler
[close]
Save Ativado:
Spoiler
[close]
Save Desativado:
Spoiler
[close]

Demo (Link Direto):
http://k.min.us/ijNSM4.exe
545 Kb
Nome estranho porque hospedei no Min.us
[box class=catbg2]Considerações Finais[/box]

Nota do Autor:
Qualquer bug, problema, ou dúvida, contatem-me por PM. Ou mesmo por MSN (gab.teles@hotmail.com), mas avisem antes. Não vou aceitar quem não conheço.


Sem querer reviver e tal... Mas o link ta off Raizen. ;]
Seria interessante corrigir. Talvez eu use. Parabéns Gab!

Safety and peace, brothers.
ALGUÉM FALOU EM JAIMES DESING?!

// -> cHEAT .exeKUTIVE OFF-ice ~~//