Fix Party Member
3 participantes
Brasil G4mes :: Scripts :: Scripts RGSS3
Página 1 de 1
Fix Party Member
Fix Party Member
por Lehanius
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
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
#==============================================================================#
Re: Fix Party Member
Mas como assim, o RPG Maker VX Ace tem aquele Caterpillar? WIGGY!
Boa Drizz!
Boa Drizz!
MEjoao- Membro
- Mensagens : 569
Fama : 41
Re: Fix Party Member
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!!
Interessante e acho que esse topico estreou a seção =D
Muito Bom Drizz!!
FranMAD- Moderador
- Mensagens : 1848
Fama : 172
Brasil G4mes :: Scripts :: Scripts RGSS3
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos