Post by Gio » 29 Mar 2018, 14:24
Boa tarde Zanusso.
Se entendi o que você disse, você quer que quando o usuário escolha "S" no combobox, o código da hotkey F1 seja executado independente do F1 correto?
Você pode fazer usando criando uma label na primeira linha dentro da hotkey e chamando ela na g-label do combobox quando o valor escolhido e gravado na variável for S.
Code: Select all
ListBox:="S|"
Gui, Add, DropDownList,x10 w200 Sort vDDL5 gSubmit_ALL, % "N||"ListBox
Gui, Font, 000000
Gui, Show, AutoSize Center
Return
Submit_ALL:
Gui, Submit, NoHide
If (DDL5 = "S")
{
Gosub, EXECUTAR_COM_COMBOBOX_S
}
; COMENTEI AS LINHAS ABAIXO PORQUE TOOLTIP SEM NÚMERO SOBRESCREVE O ANTERIOR (LOGO, O VALOR DE DDL5 NÃO ESTAVA APARECENDO, POIS DEPOIS CHAMAVA UM COM DDL6, CUJO VALOR É NULO)
;ToolTip, % DDL1
;ToolTip, % DDL2
;ToolTip, % DDL3
;ToolTip, % DDL4
ToolTip, % DDL5
;ToolTip, % DDL6
;ToolTip, % DDL7
;ToolTip, % DDL8
return
!r:: ;;;; ---- define cordenada e começa a executar o loop de pesca
MouseGetPos,a,b, xpos,ypos
MsgBox, Sua Cordenada Foi Definida!
Loop
{
sleep 1500
Send ^z
sleep 1000
MouseClick, left, %a%, %b%
sleep 23000
Send ^z
sleep 1000
sleep 1000
Send {%DDL1%}
sleep 500
Send {%DDL2%}
sleep 500
Send {%DDL3%}
sleep 500
Send {%DDL4%}
sleep 500
if (DDL5 = "S")
{
SendLevel 1
Send {F1}
SendLevel 0
}
else
{
continue
}
sleep 1000
}
return
$F1:: ; Faz a tecla F1 uma tecla de acesso (hotkey) (o símbolo $ facilita o modo "P" do GetKeyState abaixo).
EXECUTAR_COM_COMBOBOX_S:
Loop ; Visto que nenhum número é especificado nele, isso é um loop infinito a menos que o "break" ou "return" sejam encontrados dentro dele.
{
if not GetKeyState("F1", "p") ; Se essa declaração é verdadeira, o usuário soltou fisicamente a tecla F1.
{
If !(DDL5 = "S") ; Adicionamos um segundo nível de verificação antes do break, de modo que se o combobox contém S, continuamos a executar.
{
break ; Para o loop.
}
}
; Caso contrário (já que o "break" acima não foi executado), mantenha o clique do mouse
MouseGetPos,a,b, xpos,ypos
;Msgbox, %a% %b%
MouseClick, right, 1777, 250
sleep 180
Send, ^x
sleep 180
MouseClick, left, 1753, 142
sleep 210
MouseClick, right, 1753, 142
MouseMove, a, b
}
return
Boa tarde Zanusso.
Se entendi o que você disse, você quer que quando o usuário escolha "S" no combobox, o código da hotkey F1 seja executado independente do F1 correto?
Você pode fazer usando criando uma label na primeira linha dentro da hotkey e chamando ela na g-label do combobox quando o valor escolhido e gravado na variável for S.
[code]
ListBox:="S|"
Gui, Add, DropDownList,x10 w200 Sort vDDL5 gSubmit_ALL, % "N||"ListBox
Gui, Font, 000000
Gui, Show, AutoSize Center
Return
Submit_ALL:
Gui, Submit, NoHide
If (DDL5 = "S")
{
Gosub, EXECUTAR_COM_COMBOBOX_S
}
; COMENTEI AS LINHAS ABAIXO PORQUE TOOLTIP SEM NÚMERO SOBRESCREVE O ANTERIOR (LOGO, O VALOR DE DDL5 NÃO ESTAVA APARECENDO, POIS DEPOIS CHAMAVA UM COM DDL6, CUJO VALOR É NULO)
;ToolTip, % DDL1
;ToolTip, % DDL2
;ToolTip, % DDL3
;ToolTip, % DDL4
ToolTip, % DDL5
;ToolTip, % DDL6
;ToolTip, % DDL7
;ToolTip, % DDL8
return
!r:: ;;;; ---- define cordenada e começa a executar o loop de pesca
MouseGetPos,a,b, xpos,ypos
MsgBox, Sua Cordenada Foi Definida!
Loop
{
sleep 1500
Send ^z
sleep 1000
MouseClick, left, %a%, %b%
sleep 23000
Send ^z
sleep 1000
sleep 1000
Send {%DDL1%}
sleep 500
Send {%DDL2%}
sleep 500
Send {%DDL3%}
sleep 500
Send {%DDL4%}
sleep 500
if (DDL5 = "S")
{
SendLevel 1
Send {F1}
SendLevel 0
}
else
{
continue
}
sleep 1000
}
return
$F1:: ; Faz a tecla F1 uma tecla de acesso (hotkey) (o símbolo $ facilita o modo "P" do GetKeyState abaixo).
EXECUTAR_COM_COMBOBOX_S:
Loop ; Visto que nenhum número é especificado nele, isso é um loop infinito a menos que o "break" ou "return" sejam encontrados dentro dele.
{
if not GetKeyState("F1", "p") ; Se essa declaração é verdadeira, o usuário soltou fisicamente a tecla F1.
{
If !(DDL5 = "S") ; Adicionamos um segundo nível de verificação antes do break, de modo que se o combobox contém S, continuamos a executar.
{
break ; Para o loop.
}
}
; Caso contrário (já que o "break" acima não foi executado), mantenha o clique do mouse
MouseGetPos,a,b, xpos,ypos
;Msgbox, %a% %b%
MouseClick, right, 1777, 250
sleep 180
Send, ^x
sleep 180
MouseClick, left, 1753, 142
sleep 210
MouseClick, right, 1753, 142
MouseMove, a, b
}
return[/code]