![](templates/Jet/images/c_left_top.gif) |
![](templates/Jet/images/c_right_top.gif) |
![](templates/Jet/images/spacer.gif) |
Autor |
Mensagem |
BielziimSM
Usuário
![Usuário Usuário](images/2.gif)
![](images/avatars/127478880154593c5ce0298.gif)
Registrado: 15/12/13 Mensagens: 190
|
|
Timer para executar scripts |
|
Procurei pelo fórum mas não consegui tudo o que queria, quero fazer um timer de exemplo: 3hrs e a cada 30 minutos executasse um script
e um outro de menos tempo a cada 2 minutos executar outro script
alguém poderia ajudar? ![Smile](images/smiles/icon_smile.gif)
|
|
Qui Fev 05, 2015 6:08 pm |
![Exibir perfil de usuários Exibir perfil de usuários](templates/Jet/images/lang_english/icon_profile.gif) |
![](templates/Jet/images/spacer.gif) |
BielziimSM
Usuário
![Usuário Usuário](images/2.gif)
![](images/avatars/127478880154593c5ce0298.gif)
Registrado: 15/12/13 Mensagens: 190
|
|
|
|
Ah esqueci de mencionar, o timer de 2 minutos ser continuo de 2 em 2 minutos executar um unico script.
e o timer de 3hrs quando chegar ao final "0" executar um script
|
|
Qui Fev 05, 2015 6:11 pm |
![Exibir perfil de usuários Exibir perfil de usuários](templates/Jet/images/lang_english/icon_profile.gif) |
![](templates/Jet/images/spacer.gif) |
kleiton157
Usuário
![Usuário Usuário](images/4.gif)
![](images/avatars/gallery/Bleach/bleach-496.jpg)
Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai |
|
|
|
Amigo, eu estava com a mesma dúvida que você, mas graças a um exemplo do welgomes eu consegui resolver...(créditos a ele)
No caso, você vai continuar usando a variavel global, porém agora você encorpora um tempo do relógio a ela, assim:
![](templates/Jet/images/code_header.gif) | ![](templates/Jet/images/spacer.gif) | Writeglobalvar('Tempo2Horas',(Time() + EncodeTime(2,0,0,0))); |
Aqui ocorre o seguinte: Você declara que a variavel "Tempo2Horas" é igual ao horário atual( time() ) + 2 horas, ou seja, duas horas a frente do que está no momento que você declarou.
Então se for 17:00, a variavel vai ser declarada como 19:00.
Agora pra verificar a hora você faz assim:
![](templates/Jet/images/code_header.gif) | ![](templates/Jet/images/spacer.gif) | if readglobalvar('Tempo2Horas') < time() then
begin
script
end; |
Aqui você verifica quando essa variavel for menor do que a hora atual e ele vai executar o script somente depois que as 2 horas se passarem...
O mesmo pros minutos, é só trocar no EncodeTime, sendo (horas,minutos,segundos, o outro depois dos segundos kkk)
_________________ ________________________________________
- É nescessário ver além do que os olhos mostram |
|
Qui Fev 05, 2015 7:14 pm |
![Exibir perfil de usuários Exibir perfil de usuários](templates/Jet/images/lang_english/icon_profile.gif) |
![](templates/Jet/images/spacer.gif) |
BielziimSM
Usuário
![Usuário Usuário](images/2.gif)
![](images/avatars/127478880154593c5ce0298.gif)
Registrado: 15/12/13 Mensagens: 190
|
|
|
|
Opa, entendi o script, no meu caso queria fazer o seguinte o tempo total 3hrs , exemplo 3hrs = 3 dia no game , ai passa se 1 hora executa um scrpt para alterar a label de 3 dias para 2 e no final do timer executar outro script .
e no caso dos 2 minutos eu queria fazer uma barra de fome e sede ai o valor dela começa a 100 e a cada 2 minutos diminui -5 , sabe se da pra encaixar nesse seu script? ou ficara diferente?
![Very Happy](images/smiles/icon_biggrin.gif)
|
|
Qui Fev 05, 2015 7:35 pm |
![Exibir perfil de usuários Exibir perfil de usuários](templates/Jet/images/lang_english/icon_profile.gif) |
![](templates/Jet/images/spacer.gif) |
kleiton157
Usuário
![Usuário Usuário](images/4.gif)
![](images/avatars/gallery/Bleach/bleach-496.jpg)
Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai |
|
|
|
Vamos lá, vai ficar assim:
Eu vou fazer pra começar a contar quando o jogo iniciar, mas você pode colocar o script do Oncreate num botão, fazendo começar a contagem quando apertar...
No Oncreate do mapa:
![](templates/Jet/images/code_header.gif) | ![](templates/Jet/images/spacer.gif) | Writeglobalvar('3Horas',Time); |
isso vai fazer ele gravar a hora em que o game iniciou. Se colocar num botão, ele grava a hora que apertou o botão.
No MainLoop do mapa:
![](templates/Jet/images/code_header.gif) | ![](templates/Jet/images/spacer.gif) |
if (time() < readglobalvar('3Horas')+encodetime(1,0,0,0)) then
begin
setlabeltext('Label0', 'Restam 3 dias!');
end;
if (time() > readglobalvar('3Horas')+encodetime(2,0,0,0)) and (time() < readglobalvar('3Horas')+encodetime(2,59,0,0)) then
begin
setlabeltext('Label0', 'Restam 2 dias!');
end;
if (time() > readglobalvar('3Horas')+encodetime(3,0,0,0)) then
begin
setlabeltext('Label0', 'Seu tempo acabou!'); |
end;
[/code]
Na primeira linha eu disse assim para o computador: Verifique quando(if) a hora do computador(time()) for menor (<) do que a hora gravada(readglobalvar('3Horas')) somada(+) a 1 hora(encodetime(1,0,0,0)).
dai nesse intervalo ele vai exibir a mensagem restam 3 dias!
então ficou o primeiro intervalo é menor que 1 hora, o segundo, entre 2 e 3 horas, e por ultimo, acima de 3 horas.
Agora a questão da fome, ele vai ter que atualizar sempre que diminuir a fome... Ele atualiza para 2 minutos a frente a cada vez que ele se alimentar, tenta fazer ai, se não conseguir eu te passo.[/b]
_________________ ________________________________________
- É nescessário ver além do que os olhos mostram |
|
Sex Fev 06, 2015 2:51 pm |
![Exibir perfil de usuários Exibir perfil de usuários](templates/Jet/images/lang_english/icon_profile.gif) |
![](templates/Jet/images/spacer.gif) |
|
|
![](templates/Jet/images/spacer.gif) |
![](templates/Jet/images/c_left_bottom.gif) |
![](templates/Jet/images/c_right_bottom.gif) |
|