Alternativas a SLEEP Topic is solved

Las preguntas relacionadas con la automatización de juegos van aquí.
carlosgnx
Posts: 3
Joined: 23 Apr 2018, 14:44
Facebook: CarlosGnx
Google: asfsaf
GitHub: afsaf

Alternativas a SLEEP

25 Jun 2018, 09:22

Tengo un problema con Sleep, necesito romper el loop cuando presione las teclas indicadas en la primera condicional, pero cuando sleep se esta ejecutando estas teclas no son detectadas y por lo tanto el loop sigue ejecutandose, habra alguna alternativa a sleep pero que si detecte las teclas mientras se ejecuta?

Code: Select all

~*1:: 
loop{
if((GetKeyState("2", "P")) or (GetKeyState("3", "P")) or (GetKeyState("4", "P")) or (GetKeyState("5", "P")) or (GetKeyState("6", "P")) or (GetKeyState("f", "P")) or (GetKeyState("c", "P")) or (GetKeyState("v", "P")) or (GetKeyState("|", "P")) or (GetKeyState("x", "P")) or (GetKeyState("t", "P")) or (GetKeyState("g", "P"))= 1) {

 return
    }
if(GetKeyState("LButton", "P") = 1){
  sleep, 150
    send {G}
    sleep, 1325
}
}
return
User avatar
Flipeador
Posts: 1018
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: Alternativas a SLEEP  Topic is solved

25 Jun 2018, 09:33

Hola, no utilices GetKeyState. Intenta implementar esta lógica en tu Script:

Code: Select all

F1::
estado := TRUE
While (estado)
{
    Sleep 500
    SendInput a
}
Return

F2:: estado := FALSE
El script es solo para que veas como se hace, si presionas F1 inicia y con F2 para. En lugar de utilizar GetKeyState utilizas una variable como "interruptor".
Windws 1♂ Pro 64-Bits I make scripts for AHKv2 (my v2 compiler) & WIN_7+ Spanish Argentina SublimeText 3 & AHKv2 My GDI+ Library
carlosgnx
Posts: 3
Joined: 23 Apr 2018, 14:44
Facebook: CarlosGnx
Google: asfsaf
GitHub: afsaf

Re: Alternativas a SLEEP

25 Jun 2018, 16:28

Hola, no utilices GetKeyState. Intenta implementar esta lógica en tu Script:

Code: Select all

F1::
estado := TRUE
While (estado)
{
    Sleep 500
    SendInput a
}
Return

F2:: estado := FALSE
El script es solo para que veas como se hace, si presionas F1 inicia y con F2 para. En lugar de utilizar GetKeyState utilizas una variable como "interruptor".
Ahora tengo un problema muy extraño, el codigo funciona bien pero cuando lo implemento a mis otros macros funciona bien pero en ocaciones cuando uso lo uso en conjunto con otros macros deja de funcionar como deberia, este es el conjunto de macros que uso:

*q::
state:=False
if(firstSlot := !firstSlot){
Send {3}


}
else{
Send {6}


}
loop {
if((GetKeyState("1", "P")) or (GetKeyState("2", "P")) or (GetKeyState("3", "P")) or (GetKeyState("4", "P")) or (GetKeyState("5", "P")) or (GetKeyState("6", "P")) or (GetKeyState("f", "P")) or (GetKeyState("c", "P")) or (GetKeyState("v", "P")) or (GetKeyState("|", "P")) or (GetKeyState("x", "P")) or (GetKeyState("t", "P")) or (GetKeyState("g", "P"))= 1) {
return
}

if(GetKeyState("LButton", "P") = 1) {

if(firstSlot){
sleep, 25
Send {9}


}
else{
sleep, 25
Send {1}


}
firstSlot := !firstSlot

KeyWait, LButton, L
}
}



~*1::
state := true
while(state){
if(GetKeyState("LButton", "P") = 1){
sleep, 150
send {K}
sleep, 1325
}
}
~*2:: state:=False
~*3:: state:=False
~*4:: state:=False
~*5:: state:=False
~*6:: state:=False
~*f:: state:=False
~*c:: state:=False
~*v:: state:=False
~*t:: state:=False
~*g:: state:=False
~*ALT:: state:=False

return
User avatar
Flipeador
Posts: 1018
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: Alternativas a SLEEP

26 Jun 2018, 04:17

No se para que es tu Script así que necesitaría saber cual es el problema en detalle. Que es lo que te hace el Script actualmente y como debería funcionar correctamente. De todas formas, puedes intentar separar los Scripts en dos.
Windws 1♂ Pro 64-Bits I make scripts for AHKv2 (my v2 compiler) & WIN_7+ Spanish Argentina SublimeText 3 & AHKv2 My GDI+ Library
carlosgnx
Posts: 3
Joined: 23 Apr 2018, 14:44
Facebook: CarlosGnx
Google: asfsaf
GitHub: afsaf

Re: Alternativas a SLEEP

26 Jun 2018, 05:50

No se para que es tu Script así que necesitaría saber cual es el problema en detalle. Que es lo que te hace el Script actualmente y como debería funcionar correctamente. De todas formas, puedes intentar separar los Scripts en dos.
Ya Habia separado los scripts, pero aun asi no tienen defectos trabajando juntos, Los scripts pues lo que hacen es basico, leyendo el codigo te darias cuenta facilmente, si quieres puedes intentar probarlos, el problema que tengo es que cuando los uso muy rapidamente aveces el macro de la Q deja de funcionar, o el macro del 1 deja de hacer lo que deberia y no hace nada es facil darte cuenta cuando lo pruebas y no veo ningun problema en el codigo que pueda estarlo causando

Return to “Automatización de Juegos”

Who is online

Users browsing this forum: No registered users and 2 guests