+ Responder ao Tópico
Resultados 1 a 13 de 13

Tópico: Ajuda converter segundos em minutos

  1. #1
    Jogador de Enduro (1983) Gamus Se tornará famoso em breve Avatar de Gamus
    Data de Ingresso
    02/2011
    Posts
    242
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    Reputação
    74

    Ajuda converter segundos em minutos

    Pessoal por favor alguém me explica como mudar contador regressivo de 10 segundos para minutos?
    Pq eu não consegui entender a opção MOD do script
    Até deixei ela em negrito para alguém me explicar como alterar esse script para funcionar a cada ficha 10 minutos
    Obrigado pela atenção

    Código:
    While 1
    	
     $tempo_atual = IniRead(".\Tempo.ini", "TEMPO", "DISPONÍVEL", "") ; lê o tempo disponível
    
            Sleep(1000); intervalo do loop 1 segundo
    
                    $segundos = Int(Mod(Mod($tempo_atual, 3600000), 60000) / 1000); converte em segundos
    
                    $temporizador = StringFormat("Continue:%02d", $segundos); formato do display
    
                    $atual = IniRead(".\Tempo.ini", "TEMPO", "DISPONÍVEL", ""); lê o tempo disponível
    
                    $diminui = (Number($atual) - 1000) ; diminui 1 segundo
    			
    				if $atual <= 0 Then
    					
    IniWrite(".\Tempo.ini", "TEMPO", "DISPONÍVEL", "00")
    Else
    IniWrite(".\Tempo.ini", "TEMPO", "DISPONÍVEL", String($diminui)); escreve o novo valor
    
    EndIf
    
    $ret=DllCall($dll_dx,"int","GPSL_SetTextLineData","int",2,"long",$vertical,"long",$horizontal, "str",$temporizador, "dword",$COR,"int",0,"int",$tfonte,"int",1,"int",0)
    $ret=DllCall($dll_dx,"int","GPSL_ShowText","int",2,"int",1) ;mostra
    
    sleep(100)
    WEnd
    
    Func adiciona()
    
            $tempo_ficha = "10000"; 10 segundos
    
            $tempo_atual = IniRead(".\Tempo.ini", "TEMPO", "DISPONÍVEL", ""); lê o tempo disponível
    
            IniWrite(".\Tempo.ini", "TEMPO", "DISPONÍVEL", $tempo_atual + $tempo_ficha); soma mais 10 segundos ao tempo atual
    
    EndFunc

  2. #2
    Mestre dos Arcades Caseiros Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Avatar de Fábio iGames
    Data de Ingresso
    03/2013
    Localização
    São Paulo / Sp - Zona Sul
    Posts
    624
    Mentioned
    162 Post(s)
    Tagged
    0 Thread(s)
    Reputação
    201

    Re: Ajuda converter segundos em minutos

    @Gamus

    Mod Pega O resto inteiro da divisão.

    Vê se isso Ajuda ...
    Código:
    $horas = Int($tempo_atual / 3600000) ; ====================> Converte o valor em horas.
    	            
    $minutos = Int(Mod($tempo_atual, 3600000) / 60000) ; ==========> Converte o valor em minutos.
    	             
    $segundos = Int(Mod(Mod($tempo_atual, 3600000), 60000) / 1000) ; ==> Converte o valor em segundos.
    
    $temporizador = StringFormat("%02d:%02d:%02d ", $horas, $minutos, $segundos) ; Formatação do contador Regressivo 00:00:00 ( Horas Minutos e Segundos)...Nota: %02d  equivale à 2 Zeros e assim por diante.
    Espero Ter ajudado.

  3. #3
    > Usuário VIP airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio Avatar de airhead
    Data de Ingresso
    04/2009
    Posts
    2.580
    Mentioned
    359 Post(s)
    Tagged
    0 Thread(s)
    Reputação
    362

    Re: Ajuda converter segundos em minutos

    1 hora = 60 minutos
    1 minutos = 60 segundos
    Logo temos que 1 hora = 3.600 segundos

    Em AutoIt
    1 segundo = 1000, logo temos que 1 minuto = 60.000 segundos e 1 hora = 3.600.000 segundos.

    Para transformar o tempo em horas basta dividir o tempo por 3.600.000.
    Exemplo:
    26.000.000/3.600.000 = 7,22

    Como não dá para entender quanto que é 7,22 horas, usa-se a função int(), que transforma em inteiros o valor dado ignorando as casas decimais:
    int (26.000.000/3.600.000) = 7 horas

    Como se vê, despreza-se a fração no cálculo (que correspondem aos minutos), como contornar isso?
    Simples, pegamos o resto da divisão (que também correspondem aos minutos) e transformamos em minutos!

    Como?
    Usando a função mod(), que pega o resto da divisão, e convertemos em minutos.

    Para transformar em minutos, basta dividir o resto por 60.000 que equivale a 1 minuto no AutoIt.
    int (mod(26.000.000/3.600.000)/60.000)
    26.000.000/3.600.000 = 7 e sobra 800.000
    800.000/60.000 = 13,33

    Logo, 26.000.000 = 7 horas e 13 minutos

    Novamente foi desprezada a fração, que aqui seriam os segundos.
    Façamos o mesmo que fizemos com os minutos, pegamos o resto da divisão dos minutos e convertemos em segundos dividindo o resto por 1000, que equivale a 1 segundo no Autoit:
    int (mod(mod(26.000.000/3.600.000)/60.000)/1.000)
    26.000.000/3.600.000 = 7 e sobra 800.000
    800.000/60.000 = 13 e sobra 20.000
    20.000/1.000 = 20

    Logo, 26.000.000 = 7 horas e 13 minutos e 20 segundos
    "A gente muda o mundo quando muda a mente.
    Quando a mente muda, o mundo muda com a gente!"

  4. #4
    Mestre dos Arcades Caseiros Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Avatar de Fábio iGames
    Data de Ingresso
    03/2013
    Localização
    São Paulo / Sp - Zona Sul
    Posts
    624
    Mentioned
    162 Post(s)
    Tagged
    0 Thread(s)
    Reputação
    201

    Re: Ajuda converter segundos em minutos

    Aprendo , mas na hora de passar , sou Péssimo em explicações, parece que você tem aptidão para Professor @airhead .

    Com essa Explicação , nunca mais ele esquece.

    Isso é Anos de Autoit e Programação né airhead, Parabéns.

  5. #5
    Jogador de Enduro (1983) Gamus Se tornará famoso em breve Avatar de Gamus
    Data de Ingresso
    02/2011
    Posts
    242
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    Reputação
    74

    Re: Ajuda converter segundos em minutos

    Obrigado a vcs dois pq agora eu consegui entender
    Só estou tendo um problema com o temporizador que é um atraso na hora de somar
    Por exemplo:
    Quando clico na tecla 1 ele não soma
    Mas quando eu seguro ele soma
    Então eu acho que meu código está lento e já tentei de tudo aqui com os conhecimentos que tenho e não consegui resolver isso.
    Vcs poderiam me dar alguma dica?

    ATUALIZANDO A PERGUNTA
    Pessoal eu consegui resolver isso e está tudo no sleep
    Mas se eu colocar menos de 1 segundo no While para atualizar o contador ele não subtrai corretamente então sou obrigado a deixar ele com 1 segundo.
    Ai fica o problema como resolver esse contador de tempo sem mexer no sleep do temporizador?
    Codigo abaixo:
    Código:
    #include<GUIConstants.au3>
    #include<WinAPI.au3>
    #include <Misc.au3>
    ;***********************************
    ;Autor: Gamus
    ;Objetivo: Temporizador usando directX
    ;Data:05/08/2015
    ;***********************************
    ;================================== ajustas as opções
    AutoItSetOption("WinTitleMatchMode", 4)
    Const $COR = 0xffff0000 ;ALPHA,RGB = vermelho
    local $dll_dx,$ret,$lbl1
    ;==================================
    
    ;================================== abre a dll que faz um gancho
    $dll_dx=DllOpen(@ScriptDir & "\gpcomms.dll")
    If $dll_dx == -1 Then
    Exit 0
    EndIf
    ;==================================
    
    ;================================== ajustas as opções de tamanho e posição do contador
    local $Hx=@DesktopWidth ;Lê a largura da resolução do monitor (Horizontal)
    Local $tfonte=30 ;tamanho da fonte
    Local $vertical=635; posição vertical
    Local $horizontal=639; posição horizontal
    ;==================================
    
    ;================================== Variaveis das mensagens para tela de 800 x 600 ou menos
    if $Hx<=1280 then
    
    $tfonte=80 ;tamanho da fonte
    $vertical=642; posição vertical
    $horizontal=480; posição horizontal
    EndIf
    ;==================================
    
    IniWrite(".\Tempo.ini", "TEMPO", "DISPONÍVEL", "00")
    
    ;================================== aqui o inicio do loop principal
    While 1
    
     $tempo_atual = IniRead(".\Tempo.ini", "TEMPO", "DISPONÍVEL", "") ; lê o tempo disponível
    			$horas = Int($tempo_atual / 3600000) ; ====================> Converte o valor em horas.
    
    			$minutos = Int(Mod($tempo_atual, 3600000) / 60000) ; ==========> Converte o valor em minutos.
    
    			$segundos = Int(Mod(Mod($tempo_atual, 3600000), 60000) / 1000) ; ==> Converte o valor em segundos.
    
    			$temporizador = StringFormat("%02d:%02d:%02d ", $horas, $minutos, $segundos) ; Formatação do contador Regressivo 00:00:00 ( Horas Minutos e Segundos)...Nota: %02d  equivale à 2 Zeros e assim por diante.
    
    			$diminui = (Number($tempo_atual) - 1000) ; diminui 1 segundo
    
    				if $tempo_atual <= 0 Then
    
    IniWrite(".\Tempo.ini", "TEMPO", "DISPONÍVEL", "00")
    Else
    IniWrite(".\Tempo.ini", "TEMPO", "DISPONÍVEL", String($diminui)); escreve o novo valor
    
    				EndIf
    If _IsPressed(31) Then
    adiciona()
    EndIf
    If _IsPressed(32) Then
    regressar_manualmente()
    EndIf
    $ret=DllCall($dll_dx,"int","GPSL_SetTextLineData","int",2,"long",$vertical,"long",$horizontal, "str",$temporizador, "dword",$COR,"int",0,"int",$tfonte,"int",1,"int",0)
    $ret=DllCall($dll_dx,"int","GPSL_ShowText","int",2,"int",1) ;mostra
    ConsoleWrite($temporizador & @cr)
    Sleep(1000); intervalo do loop 1 segundo
    WEnd
    ;================================= final do loop principal
    
    ;================================= aqui o inicio da função que adiciona mais 10 segundos no contador
    Func adiciona()
    	  $tempo_atual = IniRead(".\Tempo.ini", "TEMPO", "DISPONÍVEL", "") ; lê o tempo disponível
    Local $tempo_ficha
    
            $tempo_ficha += 600000; 10 segundos
            $escreve = IniWrite(".\Tempo.ini", "TEMPO", "DISPONÍVEL", $tempo_atual + $tempo_ficha); soma mais 10 segundos ao tempo atual
    
    EndFunc
    ;================================= final da função que adiciona mais 10 segundos ao contador
    
    ;================================= aqui inicio da função que subtrai 1 segundo do contador manualmente
    Func regressar_manualmente()
    
            $tempo_ficha = "1000"; 1 segundos
    
            $tempo_atual = IniRead(".\Tempo.ini", "TEMPO", "DISPONÍVEL", ""); lê o tempo disponível
    
            IniWrite(".\Tempo.ini", "TEMPO", "DISPONÍVEL", $tempo_atual - $tempo_ficha); subtrai mais 1 segundo ao tempo atual
    	EndFunc
    ;================================= final da função que subtrai 1 segundo do contador manualmente
    Última edição por Gamus; 05/08/2015 às 16:24. Razão: Atualizando a pergunta

  6. #6
    Mestre dos Arcades Caseiros Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Fábio iGames Ótima reputação além de muito prestígio Avatar de Fábio iGames
    Data de Ingresso
    03/2013
    Localização
    São Paulo / Sp - Zona Sul
    Posts
    624
    Mentioned
    162 Post(s)
    Tagged
    0 Thread(s)
    Reputação
    201

    Re: Ajuda converter segundos em minutos

    Depois da aula do airhead você fez isso.
    Código:
    Func adiciona()
            $tempo_atual = IniRead(".\Tempo.ini", "TEMPO", "DISPONÍVEL", "") ; lê o tempo disponível
             Local $tempo_ficha
            $tempo_ficha += 600000; 10 segundos
            $escreve = IniWrite(".\Tempo.ini", "TEMPO", "DISPONÍVEL", $tempo_atual +$tempo_ficha); soma mais 10 segundos ao tempo atual
    EndFunc
    #cs
         Comentário:
         Se 1 Segundo é 1000 , 1000 x 10 = 10000  ENTÃO ==> 10 Segundos é 10000
         Vamos à Prova REAL...
         1000 = 1 Segundo       
         2000 = 2 Segundos  
         3000 = 3 Segundos       
         4000 = 4 Segundos     
         5000 = 5 Segundos     
         6000 = 6 Segundos
         7000 = 7 Segundos
         8000 = 8 Segundos
         9000 = 9 Segundos
       10000 = 10 Segundos  e ... por ai Vai.
    #ce
    Seleciona a função _IsPressed com o mouse e aperte F1 e veja os parâmetros dela e Exemplos no Help.

    Estou um pouco ocupado , mas amanhã posto um exemplo pra você quando chegar, se ninguém te ajudar antes ou você não conseguir. Mas tenta ai antes.

    Uma pergunta é para que finalidade, Multijogos?

  7. #7
    Jogador de Enduro (1983) Gamus Se tornará famoso em breve Avatar de Gamus
    Data de Ingresso
    02/2011
    Posts
    242
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    Reputação
    74

    Re: Ajuda converter segundos em minutos

    @Fábio iGames sim é pra muiltijogos e depois eu tinha visto o erro que fiz mas arrumei
    Quero que quando colocar uma ficha de 10 minutos.
    Por isso coloquei 600000 para dar 10 minutos.
    Depois eu arrumei e deu certo mas porem quando coloco para o Joystick dar credito voltou aquele problema que tenho que segurar por quase dois segundos para creditar então eu acho que de alguma forma a estrutura do Joystick é lenta e por isso tenho que segurar para ele creditar 10 minutos e não sei como arrumar isso.
    Olha aqui como deixei o código.

    Código:
    #include<GUIConstants.au3>
    #include<WinAPI.au3>
    #include <Misc.au3>
    ;***********************************
    ;Autor: Gamus
    ;Objetivo: Temporizador usando directX
    ;Data:05/08/2015
    ;***********************************
    ;================================== ajustas as opções
    AutoItSetOption("WinTitleMatchMode", 4)
    Const $COR = 0xffff0000 ;ALPHA,RGB = vermelho
    local $dll_dx,$ret,$lbl1
    ;==================================
    
    ;================================== abre a dll que faz um gancho
    $dll_dx=DllOpen(@ScriptDir & "\gpcomms.dll")
    If $dll_dx == -1 Then
    Exit 0
    EndIf
    ;==================================
    
    ;================================== ajustas as opções de tamanho e posição do contador
    local $Hx=@DesktopWidth ;Lê a largura da resolução do monitor (Horizontal)
    Local $tfonte=22 ;tamanho da fonte
    Local $vertical=260; posição vertical
    Local $horizontal=460; posição horizontal
    ;==================================
    
    ;================================== Variaveis das mensagens para tela de 800 x 600 ou menos
    if $Hx<=640 then
    
    $tfonte=22 ;tamanho da fonte
    $vertical=260; posição vertical
    $horizontal=460; posição horizontal
    EndIf
    ;==================================
    if not FileExists(".\Tempo.ini") Then; verifica se o arquivo existe e se não existir cria o arquivo
    	IniWrite(".\Tempo.ini","Joystick","num_joy1","");
    	IniWrite(".\Tempo.ini","Joystick","num_joy2","");
    	IniWrite(".\Tempo.ini","Marca Ficha","Botão_creditar","")
    	IniWrite(".\Tempo.ini", "Tempo", "Disponível", "00")
    EndIf
    
    Global $JOYINFO1, $JOYINFO2,$str; informações dos joysticks
    Global $dll_dx,$ret,$numero,$JOYINFO,$bt_joy,$str
    Local $JOYID = IniRead(".\Tempo.ini","Joystick","num_joy1",""); identifica o joystick 1
    Local $JOYID = IniRead(".\Tempo.ini","Joystick","num_joy2","") ; identifica o joystick 2
    Global $creditar = IniRead(".\Tempo.ini","Marca Ficha","Botão_creditar","")
    
    $str = "int x;int y;int z;int buttons"
    $JOYINFO = DllStructCreate($str)
    HotKeySet("{1}", "adiciona")
    ;Run(".\vsplayer\vsplayer.exe versus.cfg")
    ;================================== aqui o inicio do loop principal
    IniWrite(".\Tempo.ini", "Tempo", "Disponível", "00")
    While 1
    	$retjoy=DllCall("winmm.dll", "int", "joyGetPos", "int", $JOYID, "ptr", DllStructGetPtr($JOYINFO))
        $bt_joy=DllStructGetData($JOYINFO,"buttons") ;pega os valores preenchidos pela função JoyGetPos
    
    	$tempo_atual = IniRead(".\Tempo.ini", "Tempo", "Disponível", "") ; lê o tempo disponível
    			$horas = Int($tempo_atual / 3600000) ; ====================> Converte o valor em horas.
    			$minutos = Int(Mod($tempo_atual, 3600000) / 60000) ; ==========> Converte o valor em minutos.
    			$segundos = Int(Mod(Mod($tempo_atual, 3600000), 60000) / 1000) ; ==> Converte o valor em segundos.
    			$temporizador = StringFormat("%02d:%02d:%02d ", $horas, $minutos, $segundos) ; Formatação do contador Regressivo 00:00:00 ( Horas Minutos e Segundos)...Nota: %02d  equivale à 2 Zeros e assim por diante.
    			$diminui = (Number($tempo_atual) - 1000) ; diminui 1 segundo
    
    				if $tempo_atual <= 0 Then
    IniWrite(".\Tempo.ini", "Tempo", "Disponível", "00")
    				Else
    IniWrite(".\Tempo.ini", "Tempo", "Disponível",String($diminui)); escreve o novo valor
    				EndIf
    
    $ret=DllCall($dll_dx,"int","GPSL_SetTextLineData","int",2,"long",$vertical,"long",$horizontal, "str",$temporizador, "dword",$COR,"int",0,"int",$tfonte,"int",1,"int",0)
    $ret=DllCall($dll_dx,"int","GPSL_ShowText","int",2,"int",1) ;mostra
    ConsoleWrite($temporizador & @cr)
       Sleep(1000); intervalo do loop 1 segundo
    WEnd
    ;================================= final do loop principal
    
    ;================================= aqui o inicio da função que adiciona mais 10 segundos no contador
    Func adiciona()
    
    	  $tempo_atual = IniRead(".\Tempo.ini", "Tempo", "Disponível", "") ; lê o tempo disponível
    Local $tempo_ficha
    
            $tempo_ficha = "600000"; 10 minutos
            $escreve = IniWrite(".\Tempo.ini", "Tempo", "Disponível", $tempo_atual + $tempo_ficha); soma mais 10 segundos ao tempo atual
    
    EndFunc
    ;================================= final da função que adiciona mais 10 segundos ao contador
    
    ;================================= aqui inicio da função que subtrai 1 segundo do contador manualmente
    Func regressar_manualmente()
    
            $tempo_ficha = "1000"; 1 segundos
            $tempo_atual = IniRead(".\Tempo.ini", "Tempo", "Disponível", ""); lê o tempo disponível
            IniWrite(".\Tempo.ini", "Tempo", "Disponível", $tempo_atual - $tempo_ficha); subtrai mais 1 segundo ao tempo atual
    	EndFunc
    ;================================= final da função que subtrai 1 segundo do contador manualmente
    Última edição por Gamus; 06/08/2015 às 15:01.

  8. #8
    > Usuário VIP airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio Avatar de airhead
    Data de Ingresso
    04/2009
    Posts
    2.580
    Mentioned
    359 Post(s)
    Tagged
    0 Thread(s)
    Reputação
    362

    Re: Ajuda converter segundos em minutos

    À rigor o problema é na própria função _IsPressed() e no seu teclado.
    Faça o teste da seguinte forma:
    1º compile o script a seguir (salve com o nome de quiser):
    Código:
    HotKeySet("{p}", "Envia")
    HotKeySet("{o}", "Termina")
    While 1
        Sleep(100)
    WEnd
    
    Func Envia()
        Send("1")
    EndFunc   ;
    
    Func Termina()
        Exit
    EndFunc
    Esse script só envia o 1, nada mais. Será ele que vai enviar o pressionamento da tecla de crédito

    2º Agora execute os dois scripts - esse aí de cima e o seu de contador - e faça o teste apertando a tecla p para ver se o crédito e adicionado.
    Verifique também com sleep menor.

    _IsPressed() tem ação nos dois momentos do pressionamento (dowm e up, ou no pressionar e no soltar). Se manter pressionado a tecla pode ocorrer de serem enviados vários pressionamentos, ou se preferir, vai ocorrer o repetimento do envio da tecla que é o comportamento normal do teclado (experimente segurar a tecla pressionada no Word).

    Faça como o @Fábio iGames disse e veja o exemplo do _IsPressed() no help. Lá tem esse comportamento que falei, ou seja, um evento quando aperta e outro quando solta a tecla.

    EDIT: esse meu post é em resposta ao seu script anterior (post #05)
    "A gente muda o mundo quando muda a mente.
    Quando a mente muda, o mundo muda com a gente!"

  9. #9
    Jogador de Enduro (1983) Gamus Se tornará famoso em breve Avatar de Gamus
    Data de Ingresso
    02/2011
    Posts
    242
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    Reputação
    74

    Re: Ajuda converter segundos em minutos

    Citação Postado originalmente por airhead Ver Post
    À rigor o problema é na própria função _IsPressed() e no seu teclado.
    Faça o teste da seguinte forma:
    1º compile o script a seguir (salve com o nome de quiser):
    Código:
    HotKeySet("{p}", "Envia")
    HotKeySet("{o}", "Termina")
    While 1
        Sleep(100)
    WEnd
    
    Func Envia()
        Send("1")
    EndFunc   ;
    
    Func Termina()
        Exit
    EndFunc
    Esse script só envia o 1, nada mais. Será ele que vai enviar o pressionamento da tecla de crédito

    2º Agora execute os dois scripts - esse aí de cima e o seu de contador - e faça o teste apertando a tecla p para ver se o crédito e adicionado.
    Verifique também com sleep menor.

    _IsPressed() tem ação nos dois momentos do pressionamento (dowm e up, ou no pressionar e no soltar). Se manter pressionado a tecla pode ocorrer de serem enviados vários pressionamentos, ou se preferir, vai ocorrer o repetimento do envio da tecla que é o comportamento normal do teclado (experimente segurar a tecla pressionada no Word).

    Faça como o @Fábio iGames disse e veja o exemplo do _IsPressed() no help. Lá tem esse comportamento que falei, ou seja, um evento quando aperta e outro quando solta a tecla.

    EDIT: esse meu post é em resposta ao seu script anterior (post #05)
    @airhead eu não vou usar o _IsPressed() vou usar o Joystick para dar credito
    O _IsPressed() era só como outra alternativa pq eu quero colocar créditos com o controle do arcade e ai que fica o problema que se eu apertar o botão rápido demais ele não da credito.

    ATUALIZANDO A RESPOSTA DIA 06/08/2015

    Consegui com a ajuda do @xan4545 e foi simples trocando o sleep de 1 segundo por for to 9 a cada 100 mile segundos

    Aqui está o código pronto pra quem quiser usar um jogo por tempo com contador usando directx
    E obrigado a todos pela ajuda @Fábio iGames @airhead @xan4545
    Clique em Spoiler logo abaixo
    Spoiler!
    Última edição por Gamus; 06/08/2015 às 19:24. Razão: Consegui arrumar o script

  10. #10
    Jogador de Kinect Adventures (2010) pvitor É um desconhecido no momento Avatar de pvitor
    Data de Ingresso
    07/2015
    Posts
    9
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Reputação
    0

    Re: Ajuda converter segundos em minutos

    Pow Galera tambem estou com duvidas sobre o contador...eu utilizo o snes9x e o contador funciona normal, porem ele não faz a contagem diminuindo os segundos, logo só atualiza de minuto em minuto alguem saberia me dizer o q pq ? desde já agradeço

  11. #11
    > Usuário VIP airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio airhead Ótima reputação além de muito prestígio Avatar de airhead
    Data de Ingresso
    04/2009
    Posts
    2.580
    Mentioned
    359 Post(s)
    Tagged
    0 Thread(s)
    Reputação
    362

    Re: Ajuda converter segundos em minutos

    Qual contador???
    "A gente muda o mundo quando muda a mente.
    Quando a mente muda, o mundo muda com a gente!"

  12. #12
    > Usuário VIP michel almeida Tem muito do que se orgulhar michel almeida Tem muito do que se orgulhar michel almeida Tem muito do que se orgulhar michel almeida Tem muito do que se orgulhar michel almeida Tem muito do que se orgulhar michel almeida Tem muito do que se orgulhar michel almeida Tem muito do que se orgulhar michel almeida Tem muito do que se orgulhar michel almeida Tem muito do que se orgulhar michel almeida Tem muito do que se orgulhar Avatar de michel almeida
    Data de Ingresso
    05/2010
    Localização
    manaus
    Posts
    877
    Mentioned
    85 Post(s)
    Tagged
    0 Thread(s)
    Reputação
    10

    Re: Ajuda converter segundos em minutos

    porque esses modelos de contadores que usando gpcomms não funciona comigo no meu pc
    Visitem Meu Fórum www.reparoemcentrais.com.br
    o verdadeiro profissional e aquele que ensina!
    Se ajudei de uma apertada nessa estrelinha valeu ( ͡° ͜ʖ ͡°)

  13. #13
    > Moderador kleber Ótima reputação além de muito prestígio kleber Ótima reputação além de muito prestígio kleber Ótima reputação além de muito prestígio kleber Ótima reputação além de muito prestígio kleber Ótima reputação além de muito prestígio kleber Ótima reputação além de muito prestígio kleber Ótima reputação além de muito prestígio kleber Ótima reputação além de muito prestígio kleber Ótima reputação além de muito prestígio kleber Ótima reputação além de muito prestígio kleber Ótima reputação além de muito prestígio Avatar de kleber
    Data de Ingresso
    12/2011
    Localização
    Areado
    Posts
    886
    Mentioned
    202 Post(s)
    Tagged
    0 Thread(s)
    Reputação
    235

    Re: Ajuda converter segundos em minutos


+ Responder ao Tópico

Tópicos Similares

  1. Pressionar tecla 'x' por 5 segundos
    Por sr p no fórum Scripts e Programas Úteis (Qualquer linguagem)
    Respostas: 9
    Último Post: 11/05/2015, 21:19
  2. fazer o script funcionar com 50 segundos a cada minuto
    Por amaral no fórum Pedidos de ajuda e dúvidas com autoit (Suporte)
    Respostas: 4
    Último Post: 21/12/2014, 23:58
  3. Converter Temas
    Por Leo83 no fórum Hyperspin
    Respostas: 0
    Último Post: 13/10/2013, 04:27
  4. Adicionar ficha segurando start por 5 segundos
    Por pedrowarlock no fórum Pedidos de ajuda e dúvidas com autoit (Suporte)
    Respostas: 29
    Último Post: 10/08/2012, 17:53
  5. Respostas: 13
    Último Post: 19/05/2012, 11:50

Tags para este Tópico

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  • BB Code está Ligado
  • Smilies estão Ligados
  • Código [IMG] está Ligado
  • Código HTML está Desligado