Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pętla, jak powtażać czynność z input1


lexox

Rekomendowane odpowiedzi

Opublikowano

Witam.

Chciałem sobie z nudów napisać bocika do gf2 za pomocą Image Search.

Wszystko co chce mam oprócz tego że chcę aby button1, button2, button3 powtarzał daną czynność tyle razy ile jest w input 1.

Oto mój kodzik:

 

 

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ImageSearch.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Gf2|FB|BOT|by lexox", 222, 183, 192, 124)
$Button1 = GUICtrlCreateButton(">>Skrec lolka<<", 8, 8, 91, 25)
$Button2 = GUICtrlCreateButton(">Spal 5 lolkow<", 8, 40, 91, 25)
$Button3 = GUICtrlCreateButton(">Spal 1 lolka<", 8, 72, 91, 25)
$Input1 = GUICtrlCreateInput("", 8, 120, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
$Label1 = GUICtrlCreateLabel("Ile razy bot ma powtórzyć wybraną funkcje:", 8, 104, 207, 17)
$Button4 = GUICtrlCreateButton("Zamknij bota.", 8, 152, 203, 25)
$Button5 = GUICtrlCreateButton("Info", 112, 8, 91, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

Case $Button1
Global $x, $y
$result = _ImageSearch("GFX/lui.bmp", 1, $x, $y, 10)
If $result = 1 Then
    Do
    MouseClick("left", $x, $y)
    Sleep ( 100 )
Until ( $Input1 )
Else
    MsgBox ( 0, "Gf2 Bot", "Upewnij sie czy okno gry jest wlaczone." )
EndIf
sleep ( 250 )
Global $x, $y
$result = _ImageSearch("GFX/zwin.bmp", 1, $x, $y, 10)
If $result = 1 Then
    MouseClick("left", $x, $y)
EndIf
Case $Button2
Global $x, $y
$result = _ImageSearch("GFX/spal.bmp", 1, $x, $y, 10)
If $result = 1 Then
    MouseClick("left", $x, $y)
Else
    MsgBox ( 0, "Gf2 Bot", "Upewnij sie czy okno gry jest wlaczone." )
EndIf
sleep ( 250 )
Global $x, $y
$result = _ImageSearch("GFX/5.bmp", 1, $x, $y, 10)
If $result = 1 Then
    MouseClick("left", $x, $y)
EndIf
Case $Button3
Global $x, $y
$result = _ImageSearch("GFX/spal.bmp", 1, $x, $y, 10)
If $result = 1 Then
    MouseClick("left", $x, $y)
Else
    MsgBox ( 0, "Gf2 Bot", "Upewnij sie czy okno gry jest wlaczone." )
EndIf
sleep ( 250 )
Global $x, $y
$result = _ImageSearch("GFX/jaram.bmp", 1, $x, $y, 10)
If $result = 1 Then
    MouseClick("left", $x, $y)
EndIf
    EndSwitch
WEnd

1372687195-U932691.png

Created by

. Gentleman .

Opublikowano

To co jest wpisane w inpucie odczytasz tak:

$ilerazy = GUICtrlRead($Input1)

Wlepiasz to do każdego Case od potrzebnych buttonów, a odpowiednie funkcje dajesz w pętle for. Nie taką jaką podał ballas, tylko taką:

For $i = 0 to $ilerazy
; TUTAJ MA BYĆ KOD KTÓRY BĘDZIE POWTÓRZANY
Next
Opublikowano

Pokażę na przykładzie przycisku pierwszego. Tylko pamiętaj aby dodać do Sleep odstęp czasowy między kliknięciami(Sleep(1000) - jedna sekunda, Sleep(2000) - dwie sekundy itd.).

 

 

Case $Button1
Global $x, $y
$result
= _ImageSearch("GFX/lui.bmp", 1, $x, $y, 10)
If $result = 1 Then
    Do
    MouseClick("left", $x, $y)
    Sleep ( 100 )
Until ( $Input1 )
Else
    MsgBox ( 0, "Gf2 Bot", "Upewnij sie czy okno gry jest wlaczone." )
EndIf
sleep ( 250 )
Global $x, $y
$result
= _ImageSearch("GFX/zwin.bmp", 1, $x, $y, 10)
If $result = 1 Then

    $ilerazy = GUICtrlRead($Input1)

    for $i = 0 to $ilerazy
    MouseClick("left", $x, $y)

    Sleep()

    next
EndIf

 

 

@lexox

Opublikowano

Musi dzialac.. Zapodaj jak wprowadziles petle z odczytaniem inputu.

 

Case $Button1
Global $x, $y
$result = _ImageSearch("GFX/lui.bmp", 1, $x, $y, 10)
If $result = 1 Then
    Do
    MouseClick("left", $x, $y)
    Sleep ( 100 )
Until ( $Input1 )
Else
    MsgBox ( 0, "Gf2 Bot", "Upewnij sie czy okno gry jest wlaczone." )
EndIf
sleep ( 250 )
Global $x, $y
$result = _ImageSearch("GFX/zwin.bmp", 1, $x, $y, 10)
 If $result = 1 Then
 $ilerazy = GUICtrlRead($Input1)
    for $i = 0 to $ilerazy
    MouseClick("left", $x, $y)
    Sleep( 1000 )
    next
EndIf

@IZZER4

1372687195-U932691.png

Created by

. Gentleman .

Opublikowano

 

 

Case $Button1
Global $x, $y
$result
= _ImageSearch("GFX/lui.bmp", 1, $x, $y, 10)
If $result = 1 Then
    Do
    MouseClick("left", $x, $y)
    Sleep ( 100 )
Until ( $Input1 )
Else
    MsgBox ( 0, "Gf2 Bot", "Upewnij sie czy okno gry jest wlaczone." )
EndIf
sleep ( 250 )
Global $x, $y
$result
= _ImageSearch("GFX/zwin.bmp", 1, $x, $y, 10)
If $result = 1 Then

    $ilerazy = GUICtrlRead($Input1)

    ConsoleWrite("input: "&$ilerazy&@CLRF)

    for $i = 0 to $ilerazy
    MouseClick("left", $x, $y)

    ConsoleWrite("i: "&$i&@CRLF)

    Sleep()

    next
EndIf

 

 

Podmień na takie coś(pamiętaj o wpisaniu wartości do Sleep) i sprawdź co wypisze tutaj(tam gdzie wskazuje strzałka): http://scr.hu/2vr2/ygzmu

Opublikowano

Wybacz, durna literówka. Poprawna wersja, pamiętaj o ustaleniu wartości Sleepa:

 

 

Case $Button1
Global $x, $y
$result
= _ImageSearch("GFX/lui.bmp", 1, $x, $y, 10)
If $result = 1 Then
    Do
    MouseClick("left", $x, $y)
    Sleep ( 100 )
Until ( $Input1 )
Else
    MsgBox ( 0, "Gf2 Bot", "Upewnij sie czy okno gry jest wlaczone." )
EndIf
sleep ( 250 )
Global $x, $y
$result
= _ImageSearch("GFX/zwin.bmp", 1, $x, $y, 10)
If $result = 1 Then

    $ilerazy = GUICtrlRead($Input1)

    ConsoleWrite("input: "&$ilerazy&@CRLF)

    for $i = 0 to $ilerazy
    MouseClick("left", $x, $y)

    ConsoleWrite("i: "&$i&@CRLF)

    Sleep()

    next
EndIf

 

 

Opublikowano

Case $Button1

$ilerazy = GUICtrlRead($Input1)

for $i = 0 to $ilerazy

Global $x, $y
$result
= _ImageSearch("GFX/lui.bmp", 1, $x, $y, 10)
If $result = 1 Then
    Do
    MouseClick("left", $x, $y)
    Sleep ( 100 )
Until ( $Input1 )
Else
    MsgBox ( 0, "Gf2 Bot", "Upewnij sie czy okno gry jest wlaczone." )
EndIf
sleep ( 250 )
Global $x, $y
$result
= _ImageSearch("GFX/zwin.bmp", 1, $x, $y, 10)
If $result = 1 Then

    MouseClick("left", $x, $y)
EndIf

Sleep()
next

 

Jak chcesz aby powtarzał całość... Pamiętaj o ustaleniu wartości dla Sleepa.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...