Pressionar teclas do combo até que eu solte a hotkey Topic is solved

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

Niiightmare
Posts: 3
Joined: 02 Apr 2024, 13:09

Pressionar teclas do combo até que eu solte a hotkey

Post by Niiightmare » 02 Apr 2024, 13:18

olá, eu tenho um script que faz exatamente o que eu preciso, porém quando eu não acerto o meu oponente meu personagem continua o combo msm sem acertar, queria uma ajuda para q quando eu apertar a tecla do script fizesse o combo até a hora em que eu soltasse a tecla e parasse o combo

Code: Select all

c::
{
    send {s Down}
    send {j Down}
    send {j Up}
    send {s Up}
    sleep 650
    send {w Down}
    send {w Up}
    send {j Down}

    send {s Up}
    send {j Up}
    send {w Up}
    return
}

sofista
Posts: 650
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: Pressionar teclas do combo até que eu solte a hotkey

Post by sofista » 02 Apr 2024, 15:02

Olá, prove isso:

Code: Select all

#If GetKeyState("c", "P")
c::
    send {s Down}
    send {j Down}
    send {j Up}
    send {s Up}
    sleep 650
    send {w Down}
    send {w Up}
    send {j Down}

    send {s Up}
    send {j Up}
    send {w Up}
    return
#If

Niiightmare
Posts: 3
Joined: 02 Apr 2024, 13:09

Re: Pressionar teclas do combo até que eu solte a hotkey

Post by Niiightmare » 02 Apr 2024, 15:26

infelizmente continua o msm, eu preciso que a função pare assim que eu soltar a tecla "c" e recomece do 0 ao apertar novamente
sofista wrote:
02 Apr 2024, 15:02
Olá, prove isso:

Code: Select all

#If GetKeyState("c", "P")
c::
    send {s Down}
    send {j Down}
    send {j Up}
    send {s Up}
    sleep 650
    send {w Down}
    send {w Up}
    send {j Down}

    send {s Up}
    send {j Up}
    send {w Up}
    return
#If

sofista
Posts: 650
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: Pressionar teclas do combo até que eu solte a hotkey  Topic is solved

Post by sofista » 02 Apr 2024, 18:06

Hmmm, a única coisa em que consigo pensar é em um loop while com três breaks, não é muito elegante, mas, se entendi o que você quer fazer, funciona corretamente:

Code: Select all

$c::
While GetKeyState("c", "P") {
	send {s Down}
	send {j Down}
	send {j Up}
	send {s Up}
	if !GetKeyState("c", "P")
		break
	sleep 650
	if !GetKeyState("c", "P")
		break
	send {w Down}
	send {w Up}
	if !GetKeyState("c", "P")
		break
	send {j Down}

	send {s Up}
	send {j Up}
	if !GetKeyState("c", "P")
		break
	send {w Up}
}
return

Niiightmare
Posts: 3
Joined: 02 Apr 2024, 13:09

Re: Pressionar teclas do combo até que eu solte a hotkey

Post by Niiightmare » 03 Apr 2024, 09:49

Funcionou , obg, para fazer de outros é só fazer a primera parte com $c::
While GetKeyState("c", "P")
e as outras partes separadas com if !GetKeyState("c", "P")
break
?
sofista wrote:
02 Apr 2024, 18:06
Hmmm, a única coisa em que consigo pensar é em um loop while com três breaks, não é muito elegante, mas, se entendi o que você quer fazer, funciona corretamente:

Code: Select all

$c::
While GetKeyState("c", "P") {
	send {s Down}
	send {j Down}
	send {j Up}
	send {s Up}
	if !GetKeyState("c", "P")
		break
	sleep 650
	if !GetKeyState("c", "P")
		break
	send {w Down}
	send {w Up}
	if !GetKeyState("c", "P")
		break
	send {j Down}

	send {s Up}
	send {j Up}
	if !GetKeyState("c", "P")
		break
	send {w Up}
}
return

Post Reply

Return to “Ajuda e Suporte Geral”