Conversão - VX para VX Ace

3 Respostas   292 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Takkun

Tópico criado em: 06/07/2015 às 08:07

Se algum puder poderia converter esse script de VX para VX Ace? (Ele simplesmente faz com que o 1 herói da party seja excluído da batalha e do Menu mas podemos nos movimentar com ele pelo mapa normalmente, bem ao estilo Pokémon mesmo).

Código: [Selecionar]
#==============================================================================
# Game_Party
#------------------------------------------------------------------------------
# Classe que trata do Grupo. Inclui informações sobre dinheiro, itens, etc.
# Pode ser acessada utilizando $game_party.
#==============================================================================

class Game_Party < Game_Unit
  #--------------------------------------------------------------------------
  # Insere um personagem no grupo na ordem desejada
  #     actor_id : ID do personagem
  #--------------------------------------------------------------------------
  def insert_actor(actor_id, position = 0)
    if @actors.size < MAX_MEMBERS and not @actors.include?(actor_id)
      if position >= @actors.size
        @actors.push(actor_id)
      elsif position < 0
        @actors.insert(0, actor_id)
      else
        @actors.insert(position, actor_id)
      end
      $game_player.refresh
    end
  end
end

#==============================================================================
# Scene_Base
#------------------------------------------------------------------------------
# Classe superior à todas as classes Scene_.
#==============================================================================

class Scene_Base
  #--------------------------------------------------------------------------
  # Constantes
  #--------------------------------------------------------------------------
  TAMER_ID = 1                # ID do personagem que será retirado dos menus
  #--------------------------------------------------------------------------
  # Alias da inicialização do processo
  #--------------------------------------------------------------------------
  alias blockfp0001_start start
  #--------------------------------------------------------------------------
  # Inicialização do processo
  #--------------------------------------------------------------------------
  def start
    if !$scene.is_a?(Scene_Title) && !$scene.is_a?(Scene_Map) &&
      !$scene.is_a?(Scene_File) && !$scene.is_a?(Scene_End) &&
      !$scene.is_a?(Scene_Shop) && !$scene.is_a?(Scene_Name) &&
      !$scene.is_a?(Scene_Debug) && !$scene.is_a?(Scene_Gameover) &&
      !$game_party.nil?
      $game_party.remove_actor(@removed_actor = TAMER_ID)
    end
    blockfp0001_start
  end
  #--------------------------------------------------------------------------
  # Alias do fim do processo
  #--------------------------------------------------------------------------
  alias blockfp0001_terminate terminate
  #--------------------------------------------------------------------------
  # Fim do processo
  #--------------------------------------------------------------------------
  def terminate
    $game_party.insert_actor(@removed_actor) if !@removed_actor.nil?
    blockfp0001_terminate
  end
end

Abraços!-

Raizen

  • Administrador
  • *
  • Posts: 3224
  • Ouros: 3192
  • Medalhas Vencedor do Protótipo Premiado Participante notável do evento "A Estação das Luzes do Norte" Vencedor CRM Awards - Melhor Scripter Vencedores das edições do Concurso Projeto Rickas!
Resposta 1: 06/07/2015 às 16:07

Não está muito otimizado o codigo xD, mas eu converti aqui.. não cheguei a testar, mas deve ser isso ai shauShu

Código: [Selecionar]

#==============================================================================
# Game_Party
#------------------------------------------------------------------------------
# Classe que trata do Grupo. Inclui informações sobre dinheiro, itens, etc.
# Pode ser acessada utilizando $game_party.
#==============================================================================

class Game_Party < Game_Unit
  #--------------------------------------------------------------------------
  # Insere um personagem no grupo na ordem desejada
  #     actor_id : ID do personagem
  #--------------------------------------------------------------------------
  def insert_actor(actor_id, position = 0)
    if @actors.size < MAX_MEMBERS and not @actors.include?(actor_id)
      if position >= @actors.size
        @actors.push(actor_id)
      elsif position < 0
        @actors.insert(0, actor_id)
      else
        @actors.insert(position, actor_id)
      end
      $game_player.refresh
    end
  end
end

#==============================================================================
# Scene_Base
#------------------------------------------------------------------------------
# Classe superior à todas as classes Scene_.
#==============================================================================

class Scene_Base
  #--------------------------------------------------------------------------
  # Constantes
  #--------------------------------------------------------------------------
  TAMER_ID = 1                # ID do personagem que será retirado dos menus
  #--------------------------------------------------------------------------
  # Alias da inicialização do processo
  #--------------------------------------------------------------------------
  alias blockfp0001_start start
  #--------------------------------------------------------------------------
  # Inicialização do processo
  #--------------------------------------------------------------------------
  def start
    if !SceneManager.scene_is?(Scene_Title) && !SceneManager.scene_is?(Scene_Map) &&
      !SceneManager.scene_is?(Scene_File) && !SceneManager.scene_is?(Scene_End) &&
      !SceneManager.scene_is?(Scene_Shop) && !SceneManager.scene_is?(Scene_Name) &&
      !SceneManager.scene_is?(Scene_Debug) && !SceneManager.scene_is?(Scene_Gameover) &&
      !$game_party.nil?
      $game_party.remove_actor(@removed_actor = TAMER_ID)
    end
    blockfp0001_start
  end
  #--------------------------------------------------------------------------
  # Alias do fim do processo
  #--------------------------------------------------------------------------
  alias blockfp0001_terminate terminate
  #--------------------------------------------------------------------------
  # Fim do processo
  #--------------------------------------------------------------------------
  def terminate
    $game_party.insert_actor(@removed_actor) if !@removed_actor.nil?
    blockfp0001_terminate
  end
end

Ludo

  • Veterano
  • *
  • Posts: 873
  • Ouros: 1227
  • Um homem não moldado pela dor, ainda é um menino
Resposta 2: 06/07/2015 às 18:56

Se não funcionar como espera, em casa tenho um pequeno script que mostra um personagem falso no jogo, no caso, o jogador mas ele não aparece no menu nem batalhas, e você ainda pode usar seus actors (monstros) sem precisar que algum seja excluido
Clique e conheça o meu canal - Canal RPG Maker Zone

Takkun

Resposta 3: 06/07/2015 às 22:52 - Última modificação por Takkun em 06/07/2015 às 22:54

Obrigado Raizen.
Akiyoshi se quiser mandar o script também eu ficaria grato.

Abraço!-