Resetar Switches e Variáveis

4 Respostas   217 Visualizações

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

Ludo

  • Veterano
  • *
  • Posts: 873
  • Ouros: 1227
  • Um homem não moldado pela dor, ainda é um menino
Tópico criado em: 12/02/2016 às 15:49 - Última modificação por Ludovic em 13/02/2016 às 00:11

Eu estou bolando um reciclo do meu jogo logo após finalizá-lo, opcional.
Assim eu reseto todas as switches, variáveis e self switches.
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new

Mas eu gostaria de manter algumas variáveis, ainda não pensei como. Ou simplesmente atribuir o valor delas em algo que não se perca e depois do reset total eu possa acessar e recuperar esse valor.
Clique e conheça o meu canal - Canal RPG Maker Zone

Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 1: 12/02/2016 às 16:01

Tu poderia, ao invés de usar "novos" objetos, fazer um loop e ter uma array para excluir as
variáveis/switches que não deseja zerar. Algo como:


Código: [Selecionar]
exc_array = [1, 7, 8] # Switches que tu não quer "resetar"
i = 0
while i < $game_switches.size
  $game_switches[i] == false if exc_array.include?($game_switches[i]) != true
  i += 1
end

Só com switches locais que teria que ver como fazer, pois não sei como acessar todas do
jogo assim, mas creio que exista um modo.

Ludo

  • Veterano
  • *
  • Posts: 873
  • Ouros: 1227
  • Um homem não moldado pela dor, ainda é um menino
Resposta 2: 12/02/2016 às 16:32

Tu poderia, ao invés de usar "novos" objetos, fazer um loop e ter uma array para excluir as
variáveis/switches que não deseja zerar. Algo como:


Código: [Selecionar]
exc_array = [1, 7, 8] # Switches que tu não quer "resetar"
i = 0
while i < $game_switches.size
  $game_switches[i] == false if exc_array.include?($game_switches[i]) != true
  i += 1
end

Só com switches locais que teria que ver como fazer, pois não sei como acessar todas do
jogo assim, mas creio que exista um modo.


obrigado amigo... as switchs locais não carecem disso.
Clique e conheça o meu canal - Canal RPG Maker Zone

Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 3: 12/02/2016 às 22:09

Como me contatou por PM, acho que achei o erro. No pedaço de script que te mandei, a parte que
seria para setar os valores estava comparando, por isso ignorava. Substituindo o "==" por "=" iria
fazer parar de ignorar, mas conseguir fazer como se fosse um script:

Código: [Selecionar]
module M01

  Exc_Vars = [12, 15]  # ID das Variáveis que você não quer resetar.
 
  No_Vars = 100        # Número de variáveis do projeto.
 
  Exc_Swths = [11, 14] # ID das Switches que você não quer resetar.
 
  No_Swths = 100       # Número de switches do projeto.
 
end

class Game_Interpreter
  #--------------------------------------------------------------------------
  # Método que reseta o valor das variáveis para 0.
  #--------------------------------------------------------------------------
  def reset_variables
    i = 0
    while i < M01::No_Vars
      $game_variables[i] = 0 if M01::Exc_Vars.include?(i) != true
      i += 1
    end
  end
  #--------------------------------------------------------------------------
  # Método que reseta o valor das switches para false/off.
  #--------------------------------------------------------------------------
  def reset_switches
    i = 0
    while i < M01::No_Swths
      $game_switches[i] = false if M01::Exc_Swths.include?(i) != true
      i += 1
    end
  end
end
No caso tu usa os comandos reset_switches e reset_variables e coloca o ID do que não quer resetar
no cabeçalho.

Ludo

  • Veterano
  • *
  • Posts: 873
  • Ouros: 1227
  • Um homem não moldado pela dor, ainda é um menino
Resposta 4: 13/02/2016 às 00:11

Bem, testei, perfeito, muito obrigado.
Agora sim, resolvido.
Clique e conheça o meu canal - Canal RPG Maker Zone