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ướng dẫn PixelSearch - Quét (hay kiểm tra) điểm ảnh

Thảo luận trong 'Hướng dẫn - Bài tập nâng cao' bắt đầu bởi Phú Chuối, 11/9/15.

  1. Phú Chuối

    Phú Chuối Thành viên mới
    • 3/6

    Tham gia ngày:
    6/9/15
    Bài viết:
    6
    Đã được thích:
    13
    PixelSearch

    Quét (hay kiểm tra) tất cả các tọa độ trong một vùng, trả về các tọa độ tại điểm có mã màu trùng với mã màu cần kiểm tra .

    PixelSearch ( left, top, right, bottom, color [, shade-variation [, step [, hwnd]]] )

    Tham số

    left: tọa độ X phía trên bên trái của vùng cần quét
    top: tọa độ Y phía trên bên trái của vùng cần quét
    right: tọa độ X phía dưới bên phải của vùng cần quét
    bottom: tọa độ Y phía dưới bên phải của vùng cần quét
    -> Vùng cần quét là hình chữ nhật tạo bởi điểm phía trên bên trái và điểm phía dưới bên phải
    color: mã màu cần kiểm tra (mã thập phân hoặc thập lục)
    shade-variation [optional] Một số từ 0 đến 255 chỉ định mức độ sai số màu của điểm với màu cần kiểm tra. Mặc định là 0 tức là phải y chang cái mã màu cần kiểm tra.
    -> VD như màu đỏ , màu đỏ hơi nhạt, màu đỏ nhạt, có màu xét ở mã thập phân hơn kém nhau không nhiều . Nếu ta set tham số shade-variation là 5, tất cả những điểm mà có mã màu so khớp với mã màu cần kiểm tra không quá 5 đơn vị thì đều được chọn. Thực tế thì mã màu chỉ hơn kém nhau 5 đơn vị nhìn mắt thường khó nhận ra lắm.
    step [optional]: Thay vì mỗi lần quét chỉ trả về một điểm trùng màu rồi dừng thì với lựa chọn này bạn có thế tăng số điểm trả về thỏa điều kiện trùng màu . Mặc định là 1 ( cái này xem ví dụ là hiểu liền không giải thích thêm nhé !)

    hwnd [optional]: Dùng handle của Window. Hi hi, không dám giải thích chỗ này

    Giá trị trả về:

    Success: Trả về 2 thuộc tính của một tọa độ vào một mảng giả sử tên là Array . Khi đó, Array[0] = tọa độ x, Array[1] = tọa độ y ( sẽ có thêm Array[2], Array[3],... được gán giá trị nếu tham số step [optional] được set 2, 3,.... )
    Failure: Gán @error là 1 nếu không tìm thấy điểm có màu trùng với màu cần kiểm tra

    Ví dụ của chúng ta sẽ là scrip nho nhỏ , tự động chuột trái vào những điểm có mã màu 0xCC6600 trên màn hình
    Mã (AutoIt):
    ; Gán phím tắt cho các hàm
    HotKeySet("{F9}","ShootOnOff")
    HotKeySet("{F10}","ExitApp")

    Tooltip("F9 = Shoot, F10 = Exit bot", 0, 0)
    Dim $shoot = False


    ; Thay đổi trạng thái của biến $shoot
    Func ShootOnOff()
    If $shoot = False Then
    $shoot = True
    ToolTip("Shooting",0,0)
    Else
    $shoot = False
    Tooltip("F9 = Shoot, F10 = Exit bot", 0, 0)
    EndIf
    EndFunc

    ; Thoát chương trình
    Func ExitApp()
    Exit
    EndFunc

    While True

    If $shoot = True Then
    ; Khai báo biến mảng $cordinates.
    ; Với các tham số mà hàm PixelSearch trong ví dụ này nhận thì nó sẽ quét hết cả màn hình và trả về các tọa độ có mã màu 0xCC6600
    ; Hàm PixelSearch trả về tọa độ (x,y) sau đó truyền vào mảng $cordinates nên $cordinates[0] lưu tọa độ x, $cordinates[1] lưu tọa độ y
    Dim $cordinates = PixelSearch( 0, 0, @DesktopWidth, @DesktopHeight, 0xCC6600)

    If Not @error Then
    MouseClick( "left", $cordinates[0], $cordinates[1], 1, 0)
    EndIf
    EndIf

    Sleep(500)
    WEnd
     
    Autoitviet.forumvi.com
     
    Phan Dong and lllvlllrdevil like this.
  2. Vĩ Kha AutoIT

    Vĩ Kha AutoIT Trial Moderator Trial Moderator
    • 8/11

    Tham gia ngày:
    7/9/15
    Bài viết:
    39
    Đã được thích:
    97
    Bài viết rất hay (y).
     
    Phan Dong thích bài này.
  3. lllvlllrdevil

    lllvlllrdevil Thành viên mới
    • 1/6

    Tham gia ngày:
    17/7/16
    Bài viết:
    1
    Đã được thích:
    1
    em newbie muốn tạo 1 tool click theo ảnh bác hd chi tiết được không
     
    kamsamita1 thích bài này.
  4. phuong11111

    phuong11111 Thành viên
    • 18/23

    Tham gia ngày:
    7/1/17
    Bài viết:
    51
    Đã được thích:
    54
    ngon dùng auto game
     
    kamsamita1 thích bài này.
  5. meomeo192

    meomeo192 Thành viên mới
    • 3/6

    Tham gia ngày:
    11/2/17
    Bài viết:
    4
    Đã được thích:
    5
    hwnd [optional]: Là Handle của cửa sổ cần tìm điểm màu, nếu không để thì sẽ tìm toàn màn hình.
    Tuy nhiên mình thấy
    1. Nếu cửa sổ bị tìm nằm dưới 1 cửa sổ khác và đoạn nằm dưới chứa màu mình cần tìm thì hình như hàm không làm tốt
    2. Nếu cửa sổ bị ẩn bằng hàm WinSetState ( "title", "text", @SW_HIDE) thì cũng không hoạt động luôn.
    Mình chưa giải thích được mong bạn nào mở rộng thêm.
     
    kamsamita1 thích bài này.

Chia sẻ trang này

Đang tải...