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

MS - Adicionar Comandos no Menu

Iniciado por Brandt, 03/05/2014 às 05:35

[box2 class=titlebg]MS - Adicionar Comandos no Menu[/box2]

[box2 class=titlebg title=Introdução]Então, meu povo, mais um script que trago pra vocês, espero que seja útil para alguém...[/box2]

[box2 class=titlebg title=Características]O script permite que você escolha quais opções aparecem ou não no menu, a ordem em que elas aparecem e claro que também te permite criar novos comandos nele, é fácil de configurar e permite escolher uma switch que ativa/desativa o comando no menu[/box2]

[box2 class=titlebg title=Screenshots]
É meio complicado de expressar com imagens, mas, vou tentar:

Note que os comandos "Habilidades" e "Formação" foram tirados, e tem um comando "Missões" aí.
[/box2]

[box2 class=titlebg title=Script]
#==============================================================================
# MS - Adicionar Comandos no Menu
#------------------------------------------------------------------------------
# por Masked
#==============================================================================
($imported ||= {})[:ms_add_commands_in_menu] = true
#==============================================================================
# Configurações
#==============================================================================
module MS_AddCommandsInMenu

  # Lista com os comandos adicionais, para adicionar um novo comando, digite
  # entre os [] o seguinte código:
  # :cena => ["Texto",Scene_Cena,switch],
  # No lugar de :cena, ponha o identificador do comando, que será usado
  # posteriormente, no lugar de Texto, ponha o texto que será escrito na
  # janela de comandos, e no lugar de Scene_Cena ponha a classe da
  # cena a ser chamada com o comando
  # A switch deve ser substituída pelo ID da switch que habilita/bloqueia
  # o comando, se ela não for declarada, o comando estará sempre habilitado
  Add_Commands = {:quests => ["Missões",Scene_Quest]}

  # Lista com os comandos do menu, a ordem em que os identificadores dos
  # comandos estiverem nessa lista será a ordem em que os respectivos comandos
  # aparecerão na janela de comandos do menu.
  # Os identificadores padrão são:
  # :item      => Itens
  # :skill     => Habilidades
  # :equip     => Equipamentos
  # :status    => Condições
  # :formation => Formação
  # :save      => Salvar
  # :game_end  => Sair
  Command_Order = [
  :item,
  :skill,
  :equip,
  :status,
  :quests,
  :formation,
  :save,
  :game_end]

end
#==============================================================================
# Fim das Configurações
#==============================================================================
#==============================================================================
# ** Scene_Menu
#==============================================================================
class Scene_Menu < Scene_MenuBase
  alias ms_crtmncomw create_command_window
  #--------------------------------------------------------------------------
  # * Criação da janela de comando
  #--------------------------------------------------------------------------
  def create_command_window
    ms_crtmncomw

    MS_AddCommandsInMenu::Add_Commands.each {|command|
      @command_window.set_handler(command[0], method(:command_check))
    }

  end
  #--------------------------------------------------------------------------
  # * Processamento do comando adicional
  #--------------------------------------------------------------------------
  def command_check
     SceneManager.call(MS_AddCommandsInMenu::Add_Commands[@command_window.current_symbol][1])
  end
end
#==============================================================================
# ** Window_MenuCommand
#==============================================================================
class Window_MenuCommand < Window_Command
  alias ms_cllokhndlr call_ok_handler
  #--------------------------------------------------------------------------
  # * Criação da lista de comandos
  #--------------------------------------------------------------------------
  def make_command_list

    MS_AddCommandsInMenu::Command_Order.each {|command|
      case command
      when :item
        add_command(Vocab::item,   :item,   main_commands_enabled)
      when :skill
        add_command(Vocab::skill,  :skill,  main_commands_enabled)
      when :equip
        add_command(Vocab::equip,  :equip,  main_commands_enabled)
      when :status
        add_command(Vocab::status, :status, main_commands_enabled)
      when :formation
        add_command(Vocab::formation, :formation, formation_enabled)
      when :save
        add_command(Vocab::save, :save, save_enabled)
      when :game_end
        add_command(Vocab::game_end, :game_end)
      else
        add_command(MS_AddCommandsInMenu::Add_Commands[command][0],command,MS_AddCommandsInMenu::Add_Commands[command][2] ? $game_switches[MS_AddCommandsInMenu::Add_Commands[command][2]] : true)
      end
    }

  end
end
[/box2]

[box2 class=titlebg title=Créditos e Agradecimentos]
- a mim, por criar e disponibilizar[/box2]
~ Masked

O script é simples porém de grande ajuda, acho que vai me ajudar até! Parabéns Masked.

obrigado min ajudou muito mesmo no meu projeto voce fez um melhor scripts pelo meno eu acho  :clap: :clap: :clap:


Bah, desculpe pela minha nuubice, mas eu não consegui fazer funcionar o Script (rsrs). Sou péssimo na leitura e interpretação destes códigos. Enfim, queria ver se você consegue me ajudar: eu quero usar esse Script para apenas remover alguns comandos padrões do Menu, como por exemplo Habilidade, Equipamento, Condições e Formação. Conseguiria me explicar como faço isso? Agradeço, desde já!  :wow:

Spoiler
off:   :=|: percebo trollagem ali em cima, custa seguir as regras, qual a graça disso vlh   :facepalm:.
[close]

     Muito bom o script, apesar de já existir uma dezena desses. Gostei muito do código, bem organizado.


See ya!
Mind: Até onde sua mente vai?

Mas aí como faz para aparecer o menu de Habilidades ?

Po cara! Não tô conseguindo fazer ele funfar! =\ Pode postar no Mediafire ele já no jogo? D:
Boa tarde!

Masked não conseguir colocar a opção de quest... eu tava tentando muda pra Diario, mas sempre da um erro, tem como coloca uma demo  :rick9:, e com opções de quest  :ok:
Os scripts são como mulheres: são difíceis de entender e ao mínimo erro que você faça, ferra tudo.