Brasil G4mes
Registre-se para ter acesso total à todas as seções do fórum!
Jogue, brinque e o mais importante, divirta-se!

Participe do fórum, é rápido e fácil

Brasil G4mes
Registre-se para ter acesso total à todas as seções do fórum!
Jogue, brinque e o mais importante, divirta-se!
Brasil G4mes
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Fix Party Member

3 participantes

Ir para baixo

Fix Party Member Empty Fix Party Member

Mensagem por VictorBG4 Ter Jan 03, 2012 7:51 am

Fix Party Member
por Lehanius

Script simples que faz com que alguns membros do grupo sejam fixados e desafixados durante o jogo, ou seja, em alguns momentos não podem ser trocados.

Como usar

Cole o script acima da Main. Insira o valor inicial da lista de personagens fixos; durante o jogo, use o comando de eventos "Chamar Script" para inserir ou remover personagens à lista de membros fixos, com os métodos fix(id) e unfix(id) da Fix_Members, onde "id" é o id do personagem no database.

Screenshot

Não possui efeito perceptível por screenshot

Código

Código:
#==============================================================================#
# Fix Party Member VXA.1.1
#------------------------------------------------------------------------------#
# Autor: Lehanius
#
# Data: d.m. 03/01/2012
#
# Contatos:
# - http://www.santuariorpgmaker.com/forum/index.php?action=profile;u=80
# - [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
#
#==============================================================================#

#==============================================================================#
# Descrição
#------------------------------------------------------------------------------#
# - Permite que se mantenha determinados membros do grupo fixos na formação,
# ou seja: o jogador não poderá trocá-los por outros membros.
# - O script permite que, durante o jogo, essa lista de personagens fixos seja
# modificada, por meio dos comandos fix() e unfix() da classe Fix_Member,
# que podem ser chamados por eventos, pelo comando de Chamar Script
#==============================================================================#

#==============================================================================#
# Fix_Member
#------------------------------------------------------------------------------#
#  - Comandos de Script:
# - Fix_Member.fix(id): fixa o ator com essa id
# - Fix_Member.unfix(id): desfixa o ator com essa id
#==============================================================================#
class Fix_Member
  #--------------------------------------------------------------------------
  # Variável que armazena os índices dos atores fixos (a id é a do database)
  # Defina seu valor inicial (pode ser "[]")
  #--------------------------------------------------------------------------
  LFPM = [1,2] # Escolha os membros inicialmente fixos
  #--------------------------------------------------------------------------
  # Fixa um ator
  #--------------------------------------------------------------------------
  def self.fix(actor_id)
    LFPM << actor_id unless LFPM.include?(actor_id)
  end
  #--------------------------------------------------------------------------
  # Desfixa um ator
  #--------------------------------------------------------------------------
  def self.unfix(actor_id)
    LFPM.delete(actor_id)
  end
  #--------------------------------------------------------------------------
  # Retorna os atores que estão fixos
  #--------------------------------------------------------------------------
  def self.fixed_actors
    @fixed_actors = []
    for id in LFPM
      @fixed_actors << $game_actors[id]
    end
    return @fixed_actors
  end
end
#------------------------------------------------------------------------------#
# END Fix_Member
#==============================================================================#
#==============================================================================#
# Scene_Menu
# - Indica à @status_window se o comando ativo é o de formação
#------------------------------------------------------------------------------#
class Scene_Menu < Scene_MenuBase
  #--------------------------------------------------------------------------
  # Entrada no comando de formação
  #--------------------------------------------------------------------------
  def command_formation
    @status_window.formation_running = true
    @status_window.select_last
    @status_window.activate
    @status_window.set_handler(:ok,    method(:on_formation_ok))
    @status_window.set_handler(:cancel, method(:on_formation_cancel))
  end
  #--------------------------------------------------------------------------
  # Saída do comando de formação
  #--------------------------------------------------------------------------
  def on_formation_cancel
    if @status_window.pending_index >= 0
      @status_window.pending_index = -1
      @status_window.activate
    else
      @status_window.unselect
      @command_window.activate
      @status_window.formation_running = false
    end
  end
end
#------------------------------------------------------------------------------#
# END Scene_Menu
#==============================================================================#
#==============================================================================#
# Window_MenuStatus
# - Verifica se o ator atual está fixo e se o comando ativo é o de formação
#------------------------------------------------------------------------------#
class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # Modifica a indicação de execução do comando de formação
  #--------------------------------------------------------------------------
  def formation_running=(run)
    @formation_running = run
  end
  #--------------------------------------------------------------------------
  # Verifica se o comando de formação está ativo
  #--------------------------------------------------------------------------
  def formation_running?
    return @formation_running
  end
  #--------------------------------------------------------------------------
  # Desabilita o ator selecionado se ele estiver fixo
  #--------------------------------------------------------------------------
  def current_item_enabled?
    fixed_actors = Fix_Member.fixed_actors
    cur_actor = $game_party.members[@index]
    return true unless fixed_actors.include?(cur_actor) && formation_running?
  end
end
#------------------------------------------------------------------------------#
# END Window_MenuStatus
#==============================================================================#
VictorBG4
VictorBG4
Administrador
Administrador

Mensagens Mensagens : 1807
Fama Fama : 198

http://www.brasilg4mes.com

Ir para o topo Ir para baixo

Fix Party Member Empty Re: Fix Party Member

Mensagem por MEjoao Ter Jan 03, 2012 9:46 am

Mas como assim, o RPG Maker VX Ace tem aquele Caterpillar? WIGGY!
Boa Drizz!
MEjoao
MEjoao
Membro
Membro

Mensagens Mensagens : 569
Fama Fama : 41

Ir para o topo Ir para baixo

Fix Party Member Empty Re: Fix Party Member

Mensagem por FranMAD Ter Jan 03, 2012 2:12 pm

Pelo que eu entendi, e para nao permitir vc retirar chars de sua time (ex: em Pokémon nao poder tirar um Pokémon especifico da Party)

Interessante e acho que esse topico estreou a seção =D

Muito Bom Drizz!!
FranMAD
FranMAD
Moderador
Moderador

Mensagens Mensagens : 1848
Fama Fama : 172

Ir para o topo Ir para baixo

Fix Party Member Empty Re: Fix Party Member

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos