1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

Hỏi đáp Vòng lặp click nhiều điều kiện

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi Đặng Anh Tài, 15/2/19.

  1. Đặng Anh Tài

    Đặng Anh Tài Thành viên mới
    • 3/6

    Tham gia ngày:
    13/2/19
    Bài viết:
    3
    Đã được thích:
    1
    Em đang học autoit và làm 1 auto game.
    Hiện nay em đang gặp vấn đề với vòng lặp click nhiều điều kiện. cụ thể như sau:
    Khi gặp đk 1 sẽ click vào giá trị 1 nhưng chuột sẽ dưng lại tại vị trí đó luôn mà ko click tiếp vào các giá trị tiếp theo.
    Khi ko ở trong vòng lặp nếu chạy 5 lần thì click vào 5 giá trị
    Nhờ các bác giúp đỡ em với
    Cám ơn!

    Mã (AutoIt):

    Local $x1 = 0, $y1 = 0
    Local $x2 = 0, $y2 = 0
    Local $x3 = 0, $y3 = 0
    Local $x4 = 0, $y4 = 0
    Local $x5 = 0, $y5 = 0

    Local $ds = _ImageSearch(@ScriptDir&'\Image\DS.bmp',1,$x1,$y1,0)
    Local $hom = _ImageSearch(@ScriptDir&'\Image\HoM.bmp',1,$x2,$y2,0)
    Local $fs = _ImageSearch(@ScriptDir&'\Image\FS.bmp',1,$x3,$y3,0)
    Local $wc = _ImageSearch(@ScriptDir&'\Image\WC.bmp',1,$x4,$y4,0)
    Local $sc = _ImageSearch(@ScriptDir&'\Image\SC.bmp',1,$x5,$y5,0)

    While 1
        Select
            Case $ds = 1
                MouseClick('left',$x1,$y1,1)
                Sleep(100)
            Case $hom = 1
                MouseClick('left',$x2,$y2,1)
                Sleep(100)
            Case $fs = 1
                MouseClick('left',$x3,$y3,1)
                Sleep(100)
            Case $wc = 1
                MouseClick('left',$x4,$y4,1)
                Sleep(100)
            Case $sc = 1
                MouseClick('left',$x5,$y5,1)
                Sleep(100)
        EndSelect
    WEnd
     
     
    Nguyen Hau thích bài này.
  2. Đặng Anh Tài

    Đặng Anh Tài Thành viên mới
    • 3/6

    Tham gia ngày:
    13/2/19
    Bài viết:
    3
    Đã được thích:
    1
    Help me, plz
     
  3. LVT491

    LVT491 Thành viên
    • 18/23

    Tham gia ngày:
    22/12/16
    Bài viết:
    46
    Đã được thích:
    26
    Có thể imagesearch ko tìm được tọa độ ở các đk khác, bạn thử lần lượt từng đk xem nó click ok hay ko chưa đã
     
  4. Chính đỗ

    Chính đỗ Thành viên mới
    • 3/6

    Tham gia ngày:
    12/2/19
    Bài viết:
    4
    Đã được thích:
    2
    Bạn đánh dấu ;vào các dầu dòng. từ dòng while cho đến cuối code. Chèn vào trước while những Msgbox(0," ", "ds là:" &$ds)......để xem kết quả thế nào đã
     
  5. Chính đỗ

    Chính đỗ Thành viên mới
    • 3/6

    Tham gia ngày:
    12/2/19
    Bài viết:
    4
    Đã được thích:
    2
    Có thể viết thêm những Msgbox với việc thay $ds bằng $ds[0] &";" & $ds[1] để xem imagesearch làm việc thế nào đã
     
  6. Đặng Anh Tài

    Đặng Anh Tài Thành viên mới
    • 3/6

    Tham gia ngày:
    13/2/19
    Bài viết:
    3
    Đã được thích:
    1
    chạy từng điệu kiện sẽ chạy bình thường. nếu ko chạy vòng lặp mình f5 5 lần thì sẽ thoả mãn các điều kiện từ 1 tới 5. nhưng khi vào vòng lặp thì sẽ bị kẹt tại điều kiện 1 mà ko chạy các điều kiện tiếp theo
     
  7. Chính đỗ

    Chính đỗ Thành viên mới
    • 3/6

    Tham gia ngày:
    12/2/19
    Bài viết:
    4
    Đã được thích:
    2
    While 1
    Local $ds = 1
    Local $hom = 1
    Local $fs = 1
    Local $wc = 1
    Local $sc = 1
    if $ds =1 Then
    MsgBox(0, " ", "click vao 1")
    Sleep(100)
    EndIf

    if $hom = 1 Then
    MsgBox(0, " ", "click vao 2")
    Sleep(100)
    EndIf
    if $fs = 1 then
    MsgBox(0, " ", "click vao 3")
    Sleep(100)
    EndIf
    If $wc = 1 Then
    MsgBox(0, " ", "click vao 4")
    Sleep(100)
    EndIf
    If $sc = 1 Then
    MsgBox(0, " ", "click vao 5")
    Sleep(100)
    EndIf
    WEnd
    ;mình thấy như vậy code sẽ chạy ok, tùy ý bạn chỉnh sửa code này
     

Chia sẻ trang này

Đang tải...