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

Cronometro - Retorno de tempo.

Iniciado por Luh, 10/03/2020 às 17:54

10/03/2020 às 17:54 Última edição: 11/03/2020 às 00:53 por Luh
Bom dia/Boa tarde/Boa noite!  :XD:

Engine: Rpg Maker MV

Dúvida: Estou criando um sistema que gira em torno do cronômetro, e gostaria que quando entrasse em uma batalha o cronometro parasse, ficasse armazenado em uma variável e depois voltasse de onde parou. Até a parte de armazenar o tempo na variável está tudo OK, mas como eu faço pra ele retornar de onde parou?

Não sei se o comando é este mesmo, mas é só iniciar o contador com a variável que armazena o tempo:

$gameTimer.start($gameVariables.value(ID));

Citação de: Corvo online 10/03/2020 às 18:00
Não sei se o comando é este mesmo, mas é só iniciar o contador com a variável que armazena o tempo:

$gameTimer.start($gameVariables.value(ID));


É que eu tava fazendo por eventos e não sei muito bem desses comandos! KKKK' Esqueci de mencionar isso no post, desculpa.
Vou tentar usar dessa forma.

Citação de: Corvo online 10/03/2020 às 18:00
Não sei se o comando é este mesmo, mas é só iniciar o contador com a variável que armazena o tempo:

$gameTimer.start($gameVariables.value(ID));

É isso mesmo XD, eu acabei escrevendo aqui o código enquanto vocês respondiam hahah... mas vou deixar abaixo se for ajudar também:




:'-': Alguém usa o Game_Timer, eu sempre coloquei coisas nele porque achei que ninguém usaria haha XD.

Bom a batalha que você está usando é a padrão ou baseada na padrão correto? Fiz um plugin para você aqui:

Não testei, mas deveria funcionar haha, veja ai se dá certo  :heart:

Game_Timer.prototype.continue = function() {
    this._working = true;
};

var stop_battle_Scene_Battle_initialize Scene_Battle.prototype.initialize;
Scene_Battle.prototype.initialize = function() {
	$gameTimer.stop();
	stop_battle_Scene_Battle_initialize.call(this);
};

var stop_battle_Scene_Battle_terminate Scene_Battle.prototype.terminate;
Scene_Battle.prototype.terminate = function() {
    stop_battle_Scene_Battle_terminate.call(this);
	$gameTimer.continue();
};

Isso é um comando por evento que você usa dentro do Chamar Script / Script Call. Basicamente, da primeira vez você usar o comando normal, pelo editor do Cronômetro. Daí salva o valor na variável antes da batalha. Depois, pra reiniciar o contador, usa este aí. A janelinha do cronômetro não te permite(?) usar uma variável diretamente como valor, mas por trás ela faz exatamente isso ali. Só estamos passando direto pela janela.


Edit: Raizen facilitou. :D

10/03/2020 às 19:00 #5 Última edição: 10/03/2020 às 19:03 por Luh
Eu não consegui ainda! Acho que sou uma batata  :T.T:

KKKKK' Mas eu tô tentando aqui com as duas formas que vocês me passaram, hora tento com uma hora tento com a outra. To tentando descobrir o que eu tô fazendo de errado.

Citação de: Corvo online 10/03/2020 às 18:08
Isso é um comando por evento que você usa dentro do Chamar Script / Script Call. Basicamente, da primeira vez você usar o comando normal, pelo editor do Cronômetro. Daí salva o valor na variável antes da batalha. Depois, pra reiniciar o contador, usa este aí. A janelinha do cronômetro não te permite(?) usar uma variável diretamente como valor, mas por trás ela faz exatamente isso ali. Só estamos passando direto pela janela.


Edit: Raizen facilitou. :D

Eu ainda tô tentando pelo método de Chamar Script, e tô fazendo da seguinte forma:

[box2 class=titlebg title=Monstro1]
-Controlar Variáveis: #0004 Cronometro = Cronometro
-Controlar Cronometro: Parar

-Processamento de Batalha: Geleinha
:Se Vencer


-Script: $gameTimer.start($gameVariables.value(0004));
-Reproduzir SE: Collapse3(90, 100, 0)
-Mostrar Animação: Este Evento, Acerto Físico(Esperar)
-Controlar Switches: #0004 Monstro1 = ON


:Se Fugir
-Script: $gameTimer.start($gameVariables.value(0004));[/box2]

Edit: Quando finaliza a batalha o cronometro está em 00:00

O que eu fiz de errado?

Muito obrigada aos dois pela disposição e pela ajuda!!

Acho que você pode usar o plugin do raizen, que já vai ficar automatizado para você...

Mas o seu comando, o Id da variável tá errado.
Não precisa colocar "0004".
Coloca só "4".
Sem aspas :)

Citação de: Eliaquim online 10/03/2020 às 19:20
Acho que você pode usar o plugin do raizen, que já vai ficar automatizado para você...

Mas o seu comando, o Id da variável tá errado.
Não precisa colocar "0004".
Coloca só "4".
Sem aspas :)

É que eu queria fazer por evento esse sisteminha! Ele é parte de um maior KKKK'
Mas mesmo colocando só "4" no local da ID da variável continua a mesma coisa, o cronometro volta pra 00:00 depois da batalha.
Obrigada!

Haa...
Então já sei o que é. Você precisa multiplicar a variável por 60. Porque no script call, o tempo é em frames.

Depois segue com outro evento, ou ativa switch pra segunda página, você que sabe.

Aí ele vai voltar no tempo que você quer depois da batalha. ^^

Citação de: Eliaquim online 10/03/2020 às 22:48
Haa...
Então já sei o que é. Você precisa multiplicar a variável por 60. Porque no script call, o tempo é em frames.

Depois segue com outro evento, ou ativa switch pra segunda página, você que sabe.

Aí ele vai voltar no tempo que você quer depois da batalha. ^^

Funcionou! Finalmente!!
Muito obrigada pela ajuda com isso, Eliaquim, Corvo e Raizen!!
Muito obrigada meeeeesmo!  :wow:

Acho que talvez eu até poste o sisteminha que eu fiz aqui, é simples mas pelo menos não vi nada parecido.