Tìm hình

Không xem được? Mở trên YouTube

Macro chỉ gồm nhấn tọa độ và đợi rất dễ chạy sai khi game lag, lỗi hay văng. Lệnh Tìm hình ảnh của C-Auto Ultra khắc phục điều đó: kịch bản nhìn màn hình, thấy hình nào thì xử lý theo hình đó. Đây là bài rất quan trọng vui lòng xem kỹ, không tua.

Video dài gần một tiếng đi qua toàn bộ lệnh: cách tìm trong ảnh chụp màn hình, số lần tìm, nguồn ảnh, độ chính xác, vùng tìm và loại trừ, các thao tác chuột sau khi tìm thấy, tìm nhiều hình, tọa độ ngẫu nhiên và lệnh phụ lồng nhiều cấp. Bài viết dưới đây tóm tắt từng phần kèm mốc thời gian.

Bạn sẽ học được
  • Vì sao lệnh tìm hình luôn tìm trong ảnh chụp màn hình gần nhất
  • Dùng số lần tìm và giãn cách để chờ ảnh xuất hiện, và khi nào không nên
  • Đặt tên hình, khoanh hình trực tiếp, lấy hình từ biến cho người dùng tự thay
  • Chỉnh độ chính xác khi nền thay đổi hoặc game nhiều hiệu ứng
  • Tìm trong vùng, chỉ lấy tọa độ trong các khoảng, loại trừ tọa độ
  • Nhấn, nhấn tọa độ khác, vuốt, nhấn giữ, kéo thả sau khi tìm thấy
  • Tìm nhiều hình, lặp hành động cho từng hình, tọa độ lệch và ngẫu nhiên
  • Lệnh phụ lồng nhiều cấp và sửa nhánh nhanh

Mục lục video

  1. 00:00Giới thiệu lệnh tìm hình ảnh
  2. 01:11Tìm trong ảnh chụp màn hình mới nhất
  3. 03:17Số lần tìm và khoảng cách tìm
  4. 06:07Chờ ảnh xuất hiện và xử lý nhiều tình huống
  5. 09:50Ảnh mới và nguồn ảnh
  6. 12:29Ảnh từ biến
  7. 15:53Độ chính xác
  8. 19:17Tìm toàn màn hình và tìm trong vùng
  9. 24:10Loại trừ tọa độ
  10. 25:17Tìm ảnh và click, click tọa độ khác
  11. 26:32Vuốt và nhấn giữ
  12. 29:37Lưu tọa độ tìm được vào biến
  13. 31:08Nếu đúng / nếu sai
  14. 33:47Tìm nhiều hình ảnh
  15. 38:03Số ảnh tối thiểu và tối đa
  16. 39:36Lưu ảnh tìm được vào biến, sửa biến
  17. 41:06Click lệch tọa độ và dừng tìm
  18. 43:58Tọa độ ngẫu nhiên
  19. 46:35Lệnh phụ
  20. 55:15Điều khiển lệnh
  21. 56:27Nhảy tới lệnh và lồng 10 cấp

Vì sao cần lệnh tìm hình ▶ 00:00

Các thao tác chuột, đợi, nhấn tọa độ chỉ chạy đúng khi mọi thứ diễn ra như dự tính. Chỉ cần lag, lỗi hay văng game là kịch bản chạy sai. Với lệnh tìm hình, sau mỗi lần chụp màn hình, kịch bản kiểm tra hàng loạt hình và tự chạy đúng logic của hình tìm thấy hoặc không tìm thấy.

Tìm trong ảnh chụp màn hình mới nhất ▶ 01:11

Lệnh tìm hình tìm trong ảnh chụp màn hình gần nhất của tab, mỗi tab có ảnh chụp riêng. Lệnh không tự chụp lại mỗi lần tìm; bạn cần lệnh Chụp màn hình để cập nhật ảnh.

Lý do: hình ảnh không thay đổi liên tục, phải khoảng nửa giây đến một giây mới thực sự đổi. Nếu tìm hơn chục hình mà hình nào cũng tự chụp lại thì rất tốn CPU. Chụp một lần có thể tìm rất nhiều hình trong cùng ảnh đó.

⚠️ Lưu ý:Khi màn hình đã thay đổi, phải cho kịch bản chạy lại lệnh chụp màn hình (hoặc thêm một lệnh chụp) thì lệnh tìm mới tìm trên ảnh mới nhất.

Số lần tìm và giãn cách tìm ▶ 03:17

Mặc định lệnh tìm một lần; không thấy thì thoát ra ngay. Khi tăng số lần tìm, ví dụ 10 lần, giãn cách tối thiểu tự tăng lên 100 mili giây: mỗi lần không thấy, lệnh chờ hết giãn cách rồi tìm lại, cho đến khi hết số lần. Nếu tìm thấy giữa chừng thì thoát vòng lặp ngay.

Điểm khác biệt: khi tìm nhiều lần, sau mỗi lần tìm lệnh tự chụp ảnh màn hình mới, nên lần tìm sau luôn dùng ảnh mới nhất. Trong ví dụ của video, tác giả chạy lệnh rồi mới mở ứng dụng, gỡ lỗi cho thấy hình chỉ được tìm thấy ở lần thứ ba.

Chờ ảnh xuất hiện và xử lý nhiều tình huống ▶ 06:07

Tìm nhiều lần tiện để chờ một hình xuất hiện, nhưng không đa năng: trong lúc chờ, lệnh chỉ tìm đúng một hình. Ví dụ đang chờ nút vào game mà lúc load lại hiện lỗi mất kết nối hay tải dữ liệu, lệnh sẽ kẹt trong vòng lặp và không xử lý được hình khác.

Cách đa năng hơn: chia quy trình thành từng bước (ví dụ tự động đăng nhập gồm năm bước, mỗi bước một tập lệnh), đặt trong một vòng lặp, mỗi vòng chụp màn hình một lần rồi thấy hình nào xử lý hình đó. Kịch bản chỉ vài chục dòng nhưng xử lý được rất nhiều nhánh, kể cả khi lag hay lỗi.

💡 Mẹo:Chỉ dùng tìm nhiều lần để chờ hình khi chắc chắn trong thời gian chờ không có hình nào khác xuất hiện. Còn lại, hãy dùng vòng lặp chụp màn hình + nhiều lệnh tìm hình.

Đặt tên hình và chọn nguồn ảnh ▶ 09:50

Hãy đặt tên cho hình: lâu ngày nhìn một hình bé tí sẽ không nhớ nó là gì. Tên hình hiển thị cả trong dòng lệnh và trong gỡ lỗi.

Có thể chọn hình đã cắt từ trước, hoặc khoanh hình trực tiếp:

  1. Nhấn vào ô hình trong lệnh để viền vàng hiện lên.
  2. Mở tab chụp màn hình.
  3. Dùng chuột trái khoanh hình cần tìm; hình tự đẩy sang dòng lệnh, không cần lưu file hay cắt hình riêng.

⚠️ Lưu ý:Nếu nhấn ra ngoài làm viền vàng tắt thì không cắt được, vì tool cần có ô đích để đẩy ảnh sang.

Lấy hình từ biến ▶ 12:29

Khi muốn người dùng cuối tự thay hình mà không phải mở lệnh ra sửa, hãy cho lệnh lấy hình từ biến. Trong video, các hình được đặt vào biến tùy chọn (Tùy chọn 1, Tùy chọn 2…), lệnh tìm hình lấy ảnh từ biến đó.

Người dùng chỉ cần mở phần tùy chọn bạn quy định và kéo thả để cắt lại hình. Chi tiết về biến chung, biến riêng xem trong bài hướng dẫn biến.

Độ chính xác ▶ 15:53

Độ chính xác 99% gần như yêu cầu giống tuyệt đối. Khi nền phía sau hình thay đổi, hoặc game có nhiều hình động, hãy giảm độ chính xác. Trong ví dụ, hình chỉ đổi một chút nền thì để 90% vẫn tìm được.

Cách khác nếu vẫn muốn độ chính xác cao: chỉ khoanh phần ít thay đổi của hình.

💡 Mẹo:Mắt thường thấy giống nhưng máy vẫn không tìm ra? Hình hiển thị ở vị trí khác nhau có thể khác vài điểm ảnh do khử răng cưa khi render. Giảm độ chính xác xuống một chút là tìm được.

Tìm toàn màn hình và tìm trong vùng ▶ 19:17

Tìm toàn màn hình: hình xuất hiện ở đâu cũng nhận ra, và trả về hình đầu tiên tìm thấy. Muốn tìm đúng một hình ở vị trí cụ thể, chọn tìm trong khoảng, nhấn vào ô khoảng rồi dùng chuột phải khoanh vùng mong muốn.

Chỉ lấy tọa độ trong các khoảng ▶ 20:45

Khi hình có thể xuất hiện ở nhiều vùng, thay vì tạo nhiều lệnh tìm (tốn CPU), tích Chỉ lấy tọa độ trong các khoảng và khoanh nhiều khoảng bằng chuột trái. Một lệnh, tìm một lần, chỉ lấy kết quả trong các vùng đã khoanh.

💡 Mẹo:Hữu ích với màn hình cài đặt có nhiều nút giống nhau, hoặc khi quái có thể đứng ở nhiều chỗ: chỉ khoanh vùng trống để không nhấn nhầm vào nút trong game.

Loại trừ tọa độ ▶ 24:10

Ngược lại với lấy trong khoảng: khoanh bằng chuột phải những vùng không muốn tìm, kết quả nằm trong vùng đó sẽ bị bỏ qua.

Tìm thấy hình rồi thao tác chuột ▶ 25:17

Khi tìm thấy, lệnh lấy hình đầu tiên tìm được và chạy các thao tác bạn cài bên dưới. Bảng thao tác chuột có đầy đủ như lệnh thao tác chuột riêng.

  • Nhấn vào hình: nhấn đúng vị trí tìm thấy.
  • Nhấn tọa độ khác: nhấn vào ô tọa độ cho viền vàng hiện lên, rồi nhấn chuột trái lên ảnh để chọn điểm cần nhấn.
  • Vuốt: dùng tọa độ theo hình hoặc tọa độ khác.

Nhấn giữ và kéo hình ▶ 26:32

Có thể nhấn giữ vào hình tìm được trong một khoảng thời gian. Muốn kéo hình sang chỗ khác: hạ chuột tại hình, đợi, di chuyển chuột từ vị trí tìm thấy đến vị trí mới, rồi nâng chuột lên.

Lưu tọa độ tìm được vào biến ▶ 29:37

Lệnh tìm hình và hầu hết lệnh tìm kiếm khác (tìm màu, khối màu, văn bản, phần tử) tự cập nhật hai biến tọa độ hình X và tọa độ hình Y. Không cần lệnh lưu riêng.

⚠️ Lưu ý:Nếu không tìm thấy, hai biến này được điền giá trị 0. Có thể dùng chúng cho lệnh so sánh dữ liệu, chỉnh sửa số hoặc tính tọa độ khác.

Nếu đúng / nếu sai ▶ 31:08

Nhánh không thấy hình nằm ở Nếu sai. Ví dụ trong video: tìm chữ Codezy, thấy thì nhấn vào; nếu sai thì chạy lệnh phụ tìm icon ứng dụng để mở, đợi rồi di chuyển về dòng 1. Lần sau kịch bản tìm thấy Codezy, nhấn vào và thoát.

⚠️ Lưu ý:Sau khi đổi hành động nhớ nhấn Sửa lệnh, nếu không nhánh mới sẽ chưa được lưu.

Tìm nhiều hình ảnh ▶ 33:47

Dùng điều kiện Nếu số hình tìm thấy trong khoảng, ví dụ từ 1 đến 100. Ở nhánh này, hành động có thêm chế độ vòng lặp: bật lên thì hành động chạy một lần cho mỗi tọa độ tìm thấy, ví dụ nhấn vào tất cả ô tích.

⚠️ Lưu ý:Nếu ứng dụng không nhận vì nhấn quá nhanh, thêm lệnh đợi ngắn (ví dụ 100 mili giây) và nhớ đưa lệnh đợi vào trong vòng lặp; nếu không lệnh sẽ nhấn hết rồi mới đợi. Cũng nên loại trừ những hình không muốn nhấn, như ô “Chọn tất cả”.

Số ảnh tối thiểu và tối đa ▶ 38:03

Số hình có thể lấy từ biến. Đặt tối thiểu 1, tối đa 1 thì lệnh tự chuyển về “Nếu thấy hình”; đặt 0 và 0 thì về “không thấy hình”.

Lưu kết quả và sửa biến ▶ 39:36

  • Lưu tất cả tọa độ tìm thấy vào chuỗi: mỗi tọa độ thành một phần tử; bật ghi đè để mỗi lần chạy ghi đè chuỗi đã chọn.
  • Lưu hình vừa tìm vào biến: lưu hình vào biến ảnh để xử lý sau.
  • Chỉnh sửa biến: tương tự chỉnh sửa số, ví dụ lấy số hình tìm được cộng 0 rồi lưu vào biến để biết đã tìm thấy bao nhiêu hình.

Nhấn lệch tọa độ và dừng tìm ▶ 41:06

Khi nhiều hình giống nhau (như các ô tích), hãy tìm một hình đặc trưng bên cạnh rồi nhấn lệch. Ví dụ trong video: tìm biểu tượng Chrome rồi nhấn vào hình nhưng cộng thêm -50 vào tọa độ X để trúng ô tích bên cạnh.

Kết hợp: nếu thấy Chrome thì nhấn ô tích rồi thoát khỏi lệnh; nếu không thấy thì vuốt lên và di chuyển về dòng 1 để tìm tiếp.

Tọa độ ngẫu nhiên ▶ 43:58

Không bật ngẫu nhiên thì giá trị X+, Y+ được cộng thẳng vào tọa độ tìm thấy (X là trục ngang). Bật ngẫu nhiên thì tọa độ được cộng trừ ngẫu nhiên trong khoảng bạn nhập, ví dụ nhập 5 thì lệch từ -5 đến 5.

💡 Mẹo:Một số game, ứng dụng có thể phát hiện macro nhấn liên tục vào một vị trí tuyệt đối. Thêm tọa độ ngẫu nhiên giúp tránh bị phát hiện.

Chạy tập lệnh con và lệnh phụ ▶ 45:01

Tìm thấy hình thì vào nhánh đúng và chạy tập lệnh con ở đó; thêm nhánh Nếu sai để chạy một tập lệnh con khác.

Lệnh phụ: kiểm tra thêm trước khi nhấn ▶ 46:35

Ví dụ trong video: tìm thấy Chrome thì chỉ nhấn ô tích nếu ô đó chưa được tích. Cách làm: dùng chỉnh sửa số để tính bốn biến tọa độ quanh ô tích từ tọa độ hình X, Y, rồi trong lệnh phụ tìm hình ô chưa tích trong đúng khoảng đó. Ô đã tích thì không tìm thấy nên không bị nhấn lại.

💡 Mẹo:Khi lệnh lồng nhiều cấp trông rối, chuột phải vào một nhánh để đẩy nó sang khung lệnh đơn lẻ, sửa xong nhấn Sửa là nhánh được cập nhật.

Điều khiển lệnh và nhảy tới lệnh ▶ 55:15

Nhánh điều khiển lệnh có các hành động như thoát khỏi lệnh hiện tại hoặc dừng hẳn tab hiện tại khi thấy hình. Chi tiết có trong video riêng về điều khiển lệnh.

Nhảy tới lệnh và lồng 10 cấp ▶ 56:27

Nhánh di chuyển tương tự lệnh go to nhưng không có điều kiện để ngừng dịch chuyển, nên gọn hơn. Muốn kiểm tra điều kiện trước khi di chuyển thì dùng chạy lệnh phụ.

Lệnh phụ gán được mọi loại lệnh trong hộp lệnh và lồng được nhiều cấp, tối đa 10 cấp, tạo ra số nhánh khổng lồ cho một dòng lệnh. Theo video, bản Pro không có chạy lệnh phụ.

Câu hỏi thường gặp

Vì sao lệnh tìm hình không thấy hình dù hình đã hiện trên màn hình?

Lệnh tìm trong ảnh chụp màn hình gần nhất, không tự chụp lại. Hãy chạy lại lệnh Chụp màn hình trước khi tìm. Nếu vẫn không thấy, có thể nền đã thay đổi hoặc hình bị khác vài điểm ảnh; hãy giảm độ chính xác hoặc chỉ khoanh phần ít thay đổi.

Có nên dùng số lần tìm để chờ hình xuất hiện không?

Được, nếu chắc chắn trong lúc chờ không có hình nào khác xuất hiện. Nếu có thể xảy ra lỗi như mất mạng, lệnh sẽ kẹt chờ một hình. Khi đó nên dùng vòng lặp chụp màn hình rồi thấy hình nào xử lý hình đó.

Làm sao nhấn vào tất cả các hình giống nhau trên màn hình?

Dùng điều kiện Nếu số hình tìm thấy trong khoảng và bật chế độ vòng lặp cho hành động để chạy một lần với mỗi tọa độ. Nếu ứng dụng không nhận vì nhấn quá nhanh, thêm lệnh đợi ngắn bên trong vòng lặp.

Không tìm thấy hình thì biến tọa độ hình X, Y có giá trị gì?

Cả hai được tự điền 0. Khi tìm thấy, chúng được cập nhật thành tọa độ hình tìm được.

Nội dung video (phụ đề)

Giới thiệu lệnh tìm hình ảnh

Chào mọi người nhá. Thì cái bài tìm hình này đó là cái bài rất là quan trọng, các bạn à, sẽ sử dụng nó trong rất nhiều cái dòng lệnh. Các bạn nên theo dõi cẩn thận, không tua ở cái bài này nha. Có thể bỏ qua nhiều cái quan trọng như những cái macro bình thường. Chủ yếu là chúng ta dùng những thao tác chuột này, đợi này, nhấn tọa độ các thứ. Tuy nhiên là khi mà áp dụng vào thực tế thì những cái dòng lệnh đấy chỉ cần lag hay là lỗi hay văng game các thứ ấy thì nó sẽ chạy sai bản. Thì chúng ta dùng cái lệnh tìm hình này thì nó có thể khắc phục được những cái vấn đề. Đấy, như này mình đang để cái vòng lặp này lặp lại 120 lần này. Thì khi nó chụp màn hình xong, nó kiểm tra hàng loạt hình, nhảy vào điều kiện nào, nhảy vào hình nào ấy, tìm thấy hoặc không tìm thấy hình nào thì nó sẽ tự chạy cái logic của cái hình đấy tương ứng.

Tìm trong ảnh chụp màn hình mới nhất

Thì về bản chất của lệnh tìm hình là nó sẽ tìm trong cái ảnh chụp màn hình gần nhất. Vì vậy là các bạn sẽ phải à có một cái lệnh à chụp màn hình để nó cập nhật cái ảnh chụp màn hình của cái tab. Mỗi tab này nó có ảnh chụp màn hình riêng mà. Thì khi bạn chụp màn hình, ví dụ như đây, và tìm cái hình này chẳng hạn thì nó sẽ tìm trong cái ảnh đã chụp này. Đấy, và các bạn có thể tìm nhiều hình trong cái ảnh đã chụp này chứ nó không tự chụp mỗi lần tìm nhá. Bởi vì là khi các bạn chụp màn hình này và các bạn tìm hơn chục hình này, với mỗi một hình mà nó lại tự chụp một cái nữa thì có phải nó lãng phí không? Vì là cái hình ảnh này nó thay đổi đâu phải là liên tục đâu. Khoảng nửa giây hay 1 giây thì hình ảnh nó mới thay đổi thực sự. Đấy, mà các bạn mỗi một lệnh tìm hình này mà chúng ta lại phải thêm cái lệnh chụp vào nữa thì nó rất là tiêu tốn CPU đúng không? Vì vậy là chúng ta sẽ sử dụng cái lệnh chụp màn hình này. Nó sẽ tự lưu vào trong cái biến ảnh chụp màn hình. Và những cái lệnh tìm này nó sẽ tìm trong cái biến đấy. Ví dụ như là đây, đây là cái ảnh lệnh chụp màn hình này. Và chúng ta sẽ tìm trong ảnh này. Khi cái màn hình nó thay đổi mà chúng ta muốn tìm cái hình Ner này chẳng hạn thì các bạn sẽ phải cập nhật lại cái ảnh chụp màn hình bằng cách để cho nó chạy đến cái ảnh chụp màn hình này hoặc là thêm cái lệnh… thêm cái lệnh chụp màn hình vào phía dưới chẳng hạn. Đấy, thì nó mới cập nhật cái ảnh chụp màn hình để chúng ta tìm. Thì cái ảnh chụp màn hình này chỉ cần chụp một lần, có thể tìm hàng nghìn hình luôn trong cái ảnh đấy. Tuy nhiên là muốn nó tìm trong cái ảnh mới nhất thì chúng ta phải cập nhật. Đấy, lưu ý ở điểm đấy. Rồi, bây giờ đến cái tham số.

Số lần tìm và khoảng cách tìm

Tham số thì chúng ta có cái số lần tìm và giãn cách tìm này thì là như thế nào? Đây, ví dụ như là mình sẽ tìm cái chữ Codezy này. Nếu thấy thì nhấn vào hình. Đấy. Đây mình để mặc định trước. Tìm toàn màn hình này, tức là nhấn tìm thử này. Rồi, nếu thấy thì nhấn vào hình. Đây, lệnh đơn giản, tìm một lần. Đó, nó đã tìm và nhấn được vào cái chữ này. Thì tại sao lại có tìm nhiều lần và cái giãn cách này? Ví dụ như các bạn tìm một lần mà nó không thấy hình đấy thì nó thoát luôn ra ngoài đúng không? Thì chúng ta có thể áp dụng này vào chờ hình xuất hiện. Ở cái chờ hình xuất hiện này, ví dụ như để cái tìm 10 lần, nó sẽ tự tăng cái giãn cách tối thiểu lên là 100 này, thì mỗi lần tìm nó không thấy thì nó lại sẽ vào cái giãn cách này, nó chờ 100 mili giây, và nó tìm hết 10 lần thì nó mới thoát khỏi lệnh. Nếu trong 10 lần này mà nó tìm thấy hình thì nó cũng sẽ thoát khỏi vòng lặp này. Nghĩa là nó chờ hình xuất hiện rồi thôi, không tìm nữa. Đấy, thì cái thằng tìm nhiều lần này thì nó sẽ có khác biệt là sau mỗi một cái lần tìm nó sẽ tự chụp cái ảnh chụp màn hình mới để cho cái lần tìm sau nó sẽ tìm trong cái ảnh mới nhất. Ví dụ như mình xóa đi này, mình chỉnh tìm 10 lần, giãn cách 1 giây. Sửa này. Giờ ta sẽ chạy thử. Đây, cái gỡ lỗi nó sẽ nằm bên tab chính này. Đó. Đây, nó sẽ đợi, nó tìm lại. Khi nào tìm thấy thì nó sẽ không tìm nữa. Giờ mình sẽ chạy. Sau đó mình mở cái ứng dụng lên. Đó. Đã tìm thấy một hình. Có nghĩa là trong 2 giây đầu này chưa thấy hình. Đây, kiểm tra này, cái ảnh chụp màn hình lúc dòng lệnh đã chạy này. Đó, khi đến cái lần thứ ba đã tìm thấy, nó báo hiện ảnh trên màn hình cho chúng ta, thì đấy là có thể áp dụng cho cái chờ hình xuất hiện.

Chờ ảnh xuất hiện và xử lý nhiều tình huống

Tuy nhiên là các bạn không nên lạm dụng cái này, bởi vì nó tiện nhưng mà nó lại không có đa năng, bởi vì là trong cái thời gian vòng lặp này, mỗi một vòng nó sẽ chụp màn hình và nó chỉ tìm một cái hình duy nhất, chờ cái hình duy nhất xuất hiện. Thì nếu mà trong cái thời gian chờ mà nó lại xuất hiện cái hình khác chẳng hạn, ví dụ như đang chờ cái vào game, nhưng mà nó… các bạn tìm cái nút vào game rồi, nhưng mà trong cái thời gian load game nó lại có những cái lỗi như là mất kết nối mạng hay là tải dữ liệu, là chúng ta cứ tìm cái nút đã vào game thì cái lệnh này nó sẽ bị kẹt cứng trong cái vòng lặp này. Nó không thể xử lý được những hình khác. Thì lúc đấy là các bạn sẽ phải thêm cái… thêm từng bước vào như thế này. Đấy, thấy hình nào thì xử lý hình đấy. Và chỉ tiêu tốn một lệnh chụp màn hình thôi. Có thể xử lý được tất cả những cái… những cái biến số mà nó xảy ra. Đấy, thì các bạn sẽ thêm mỗi một cái bước, hoặc các bạn cho nó vào một cái dòng lệnh à… tập lệnh khác nhau. Ví dụ như cái đây, tự động đăng nhập này. Chúng ta có năm bước này thì các bạn thêm nó thành năm cái file khác nhau. Mỗi một file nó sẽ xử lý một cái bước riêng. Đấy. Đây mình sẽ mở những cái này đây. Số lượng lớn lên cho nó năm cái bước lên. Rồi mỗi một cái bước này sẽ lưu vào một cái tập lệnh riêng. Và chúng ta có thể xử lý những cái biến số của từng bước. Đấy, rất nhiều biến số. Còn nếu mà chúng ta sử dụng cái lệnh này, nó cũng có thể hoạt động trong một số trường hợp nó chỉ có xuất hiện cái hình đó thôi. Ví dụ như là các bạn chắc chắn là mở game này, như cái thằng này, nó không có lỗi gì chẳng hạn, thì các bạn phải chắc chắn là trong cái khoảng thời gian chờ đấy, nó sẽ xuất hiện thằng này. Đấy, thì các bạn dùng nó sẽ nhanh hơn. Còn cái thằng này thì nó đa năng hơn: cho nó vào mỗi bước, vào một cái vòng lặp như thế này. Thấy hình nào xử lý hình đấy, thì kể cả có lag, lỗi hay như nào ạ, nó đều xử lý được. Đây, ví dụ mình mở rộng toàn bộ nhánh ra này. Đó, các cái lệnh nó nhìn thì nó đơn giản như này thôi. Nó chỉ có vài chục dòng thôi, nhưng mà khi mà xem cái logic thực tế của nó đây, nó xử lý những cái hành động các cái này… đấy, chỉ vài chục dòng thôi nhưng mà nó ra hàng nghìn nghìn nhánh như này, các bạn có thể thấy này, xử lý được toàn bộ những cái logic mà chúng ta nếu mà dùng cái lệnh đơn này sẽ không xử lý được. Đấy là cái tham số đầu. Còn tham số sau này là cái gì? Ví dụ như là cái hình mới này

Ảnh mới và nguồn ảnh

thì chúng ta có thể đặt tên cái hình đây. Các bạn nhìn cái tên hình này. Khi các bạn tạo lệnh lâu rồi, ví dụ như cái hình bé tẹo này thì làm sao biết nó là cái hình gì đúng không? Khi mới tạo thì có thể nhớ, nhưng mà sau này muốn sửa lại, không biết là cái hình này lấy ở đâu, thì các bạn có thể thêm cái tên nó vào để nó hiển thị trong dòng lệnh này. Sau khi các bạn à muốn gỡ lỗi, à muốn chỉnh sửa, gỡ lỗi đấy, nó sẽ hiển thị trong cả gỡ lỗi và trong dòng lệnh này, chúng ta có thể biết đó là cái hình nào. Cái chọn hình ảnh này thì các bạn có thể chọn một cái hình, và đây này, chọn hình cắt từ trước cũng được, hoặc là các bạn có thể khoanh cái hình. Ta khoanh hình ở đâu? Khoanh hình… để khoanh hình trực tiếp thì các bạn nhấn vào cái hình này nhá, khi nào cái viền vàng này nó hiển thị này, và các bạn mở cái tab chụp màn hình lên đấy và nhấn vào đây, cái viền vàng xuất hiện thì chúng ta sẽ dùng chuột trái để chúng ta khoanh cái hình cần tìm. Đó, thì không cần phải lưu file hay là cắt hình các thứ mất thời gian. Khoanh trực tiếp, nó sẽ tự đẩy hình sang cái dòng lệnh. Tạo một cái tab mới đi. Lệnh mới để chúng ta kiểm thử cho nó dễ. Tìm thằng Codezy này. Khi các bạn nhấn ra ngoài ấy, cái viền này nó không sáng thì các bạn không cắt được đâu nha. Nó phải có cái mục… mục tiêu để đẩy ảnh sang. Đấy, tìm toàn màn hình này. Đấy là cái đặt tên… đặt tên và cắt hình. Đây, tab Codezy vào này. Sửa lại cái hành động đã. Đó, gỡ lỗi là hiển thị này: tìm hình tab Codezy đấy, đã thấy và nhấn chuột vào hình đấy.

Ảnh từ biến

Còn cái hình từ biến là như thế nào? Ví dụ như là các bạn à có lệnh tìm hình, à các bạn à muốn cái hình này nó có thể thay đổi cho người dùng chọn chẳng hạn, mà người dùng thì không thể… các bạn bảo người dùng nếu mà muốn đổi hình thì các bạn mở lệnh lên, các bạn tự cắt hình được. Người dùng cuối này người ta không biết những cái đấy. Các bạn có thể thêm nó vào cái… như cái thằng treo bán đồ này đây, các bạn chỉ cần người dùng thêm cái ảnh vào đây, vào trong những cái biến tùy chọn này, thì nó có thể tìm và nó… Đây mình sẽ làm một cái ví dụ, ví dụ tìm cái danh sách ứng dụng nhé. Rồi mình sẽ cắt một cái hình này thêm lại. Nó Tùy chọn 1 đúng không? Mình sẽ hướng dẫn một cái biến này thì các bạn có thể dùng nó từ biến này. Hình từ biến, tìm thằng Tùy chọn 1 này. Nếu thấy thì nhấn vào hình. Sửa này. Giờ ta sẽ chạy thử. Đó, thì nó đã tự lấy được cái hình từ cái thằng Tùy chọn 1 này. Lấy được hình này, nó đã lấy từ cái thằng Tùy chọn 1 ra để nó đưa vào cái ảnh cần tìm. Biến này có rất nhiều các biến, chúng ta có thể lưu được biến chung, biến riêng ấy. Thì các bạn xem cái bài hướng dẫn chi tiết biến ấy thì sẽ rõ ràng hơn. Đây mình sẽ thêm một thằng nữa. Ví dụ như mình vào danh sách ứng dụng rồi đây. Này, tí nữa hướng dẫn tìm nhiều hình dễ hơn. Thêm một cái hình là kiểm tra IP chẳng hạn. Cái thằng này nó là cái thằng Tùy chọn 2. Tùy chọn 2 này. Sửa này thành Tùy chọn 2 chẳng hạn. Đó, để nó tự lấy hình trong biến ra để là đưa vào trong cái dòng lệnh này. Thì khi người dùng người ta muốn thay hình ấy, người ta không cần phải vào lệnh người ta sửa, người ta chỉ cần sửa cái mà các bạn quy định ở đây. Đấy, hình nào áp à… để dùng cho cái lệnh nào đấy thì chỉ cần mở lên, người ta cắt hình thôi. Cắt hình thì người ta chỉ cần kéo thả như này thôi. Nhấn vào cái… nhấn vào cái dòng nào ấy thì nó hiện viền xanh lên này. Chúng ta có thể cắt thả này. Đấy, thì là rất là đơn giản.

Độ chính xác

Còn cái độ chính xác này là như thế nào? Đây, mình sẽ lấy cái hình nút này đi. Tìm thử này. Ví dụ như là mình sẽ để lên độ chính xác 99%. Cái hình này nó dễ tìm nên là nó vẫn cứ tìm thấy, mặc dù là cái độ chính xác mình để cao nữa. Bây giờ mình sẽ khoanh cái thằng này và mình sẽ đưa nó ra cái vị trí khác. Nền nó khác chẳng hạn. Đây, khoanh nhiều nhiều nền một chút đi để mô tả trong cái điều kiện trong game ấy. Những cái hình này nó vẫn dễ tìm nhưng có thể nó sẽ… nó sẽ tìm thấy được. Rồi, bây giờ là cái nền của nó đã bị thay đổi đúng không? Mà để tìm cái độ chính xác 99 là gần như là tuyệt đối, là phải giống nhau hoàn toàn ấy. Thì khi một vài cái nền các thứ ấy, thì như các bạn à chạy game với là ảnh động rất nhiều thì các bạn sẽ phải giảm cái độ chính xác đi để nó có thể tìm ra được cái hình. Đấy, như cái hình này nó chỉ có một vài cái nền nhỏ nó thay đổi thôi thì để 90% nó cũng tìm được. Khi mà nó… nền nó thay đổi quá nhiều ấy, xem có cái nền nào không? À, khi mà nền nó thay đổi quá nhiều thì các bạn có thể giảm độ chính xác đi để các bạn tìm. Đấy, hoặc là cách khác nữa, ví dụ như là các bạn vẫn muốn 99% mà để tìm được nó ra thì chúng ta sẽ phải khoanh cái phần mà nó ít thay đổi. Đấy, ví dụ trong cái thằng này đấy, nó không thay đổi viền, hoặc là viền nó ít thay đổi thì chúng ta có thể tìm thấy nó đây. Sang đây thì nó vẫn lệch một chút rồi. Áp dụng cả hai nha. Đấy. Đây, nó không phải nó thay đổi viền mà một cái hình này, các bạn có thể thấy này, khi ở nhiều cái vị trí khác nhau ấy, khi nó render hình này thì nó có thể có những cái thay đổi nó rất là nhỏ mà chúng ta không nhìn thấy. Những thay đổi nhỏ này máy nhận biết được thôi, chúng ta không nhận biết được. Ví dụ như cái viền răng cưa này. Đấy, về những cái khử răng cưa của đồ họa ấy, nó có thể làm cho một cái điểm, một vài điểm khác biệt nhỏ thôi. Mắt thường chúng ta thấy nó giống giống nhau mà, nhưng mà tại sao nó tìm không ra thì nó ở cái lý do đấy, thì các bạn cần giảm độ chính xác xuống để nó có thể tìm thấy nha. Đấy, nó là phần độ chính xác.

Tìm toàn màn hình và tìm trong vùng

Còn bên dưới này, tìm toàn màn hình và tìm trong khoảng là như thế nào? Ví dụ như bây giờ mình tìm này, đây là tìm toàn màn hình đúng không? Thì cái hình nó xuất hiện ở bất kỳ vị trí nào thì nó vẫn nhận biết được. Còn ví dụ như vào trong đây, vào trong cái danh sách ứng dụng này, ví dụ như thằng Android này chẳng hạn, thằng Android này để 90 thôi cho dễ tìm, mà các bạn muốn tìm cái thằng bên dưới này thôi. Nhưng mà khi nhấn tìm này, để toàn màn hình mặc định, nó ra thằng đầu tiên này. Đấy, thì các bạn phải sang tìm trong khoảng này, các bạn nhấn vào khoảng này và dùng cái chuột phải để khoanh cái vị trí mong muốn mà ảnh xuất hiện ấy. Có nghĩa là chỉ tìm trong cái vị trí này thôi. Đấy. Vị trí khác là không phải, thì nó phải qua điều kiện là nó trong cái khoảng này. Đó. Đấy là cái tìm trong khoảng. Nếu mà ta khoanh cái khoảng ngoài này: không thấy. Đấy. Đấy là tìm à trong khoảng. Còn ví dụ như các bạn… ừ, đây, ra ngoài màn hình chính này. Ví dụ như thằng này nó có thể xuất hiện trong khoảng này đúng không? Cũng có thể xuất hiện trong khoảng này. Hai hàng bên trên này các bạn muốn… không muốn tìm nó trong cái vị trí này sao? Nếu mà chúng ta chỉ dùng cái thuần trong khoảng này thì các bạn sẽ phải này tạo hai lệnh, mà nó tìm hai lần, tốn CPU đúng không? Các bạn tích vào "Chỉ lấy tọa độ trong các khoảng", để mình sẽ cắt một cái khoảng chính nữa. Đấy. Vào con này, ví dụ cho nó dễ đi. Cắt một cái khoảng chính này. "Chỉ lấy tọa độ" có nghĩa là chỉ khi nó xuất hiện ở đây. Đây, dùng chuột trái nhá, chuột phải nó sang loại bỏ rồi. Đó, tìm thử này. Đấy, có nghĩa là chỉ tìm trong cái khoảng này và chỉ lấy tọa độ trong đây. Thì cái này nó sẽ có tác dụng là chúng ta có thể… ví dụ như những cái lệnh tìm nhiều hình này chẳng hạn, bỏ cái lọc khoảng đi. Đó, nó sẽ ra cho chúng ta bốn hình này, mà chúng ta chỉ muốn lấy hình trên cùng và hình phía dưới thôi. Chúng ta sẽ vào cái lọc này đây. Xóa đi. Rồi, bây giờ mình sẽ tìm thử. Đó, thì chúng ta có thể khoanh được nhiều khoảng. Khoanh nhiều khoảng này để chủ yếu là ví dụ như những cái cài đặt mà nó nhiều cái nút giống nhau đấy. Các bạn chỉ cần một lệnh thôi là có thể tìm những cái hình tích vào cài đặt và nhấn tích vào theo vị trí mong muốn. Hoặc là ví dụ như đây, ví dụ như đây nó là con quái chẳng hạn, nó có thể ở những cái vị trí khác nhau trên màn hình. Đấy, những cái phần mà viền… viền này nó có thể là những cái nút bấm trong game, mà khi con quái nó ở vị trí như này, vị trí xen kẽ như này, mà tìm toàn màn hình ấy, thì khi các bạn nhấn vào nó có thể nhấn nhầm những nút trong game. Các bạn chỉ muốn nó tìm trong khoảng rỗng này, trống này thôi. Đấy, thì các bạn có thể khoanh cái khoảng tìm kiếm để cho nó không nhấn vào cái vị trí có dính nút hay các thứ ấy. Bình thường nó sẽ phải tạo hai lệnh này đúng không? Đấy, bình thường thì phải tạo hai lệnh này. Nhưng mà bây giờ chúng ta sẽ chỉ cần một cái lệnh tổng này thôi. Chúng ta khoanh cái tọa độ muốn tìm vào, chúng ta sẽ chỉ cần tìm một lần, tiết kiệm CPU cho chúng ta. Đấy, ví dụ như nó là ở vị trí này chẳng hạn. Đó.

Loại trừ tọa độ

Còn cái loại bỏ tọa độ này thì nó ngược lại. Ví dụ trong khoảng này, nhưng mà người ta lại muốn nó không tìm ở cái khoảng này chẳng hạn. Đấy, thì nó sẽ không tìm thấy, cho nó ra bên cạnh này. Mọi người có thể áp dụng để lọc tọa độ, bớt những cái công đoạn tìm nhiều lần ấy. Thì sau khi chúng ta tìm được hình rồi thì chúng ta sẽ có thể dùng những cái nhánh này để quyết định những cái hành động tiếp theo. Đây, cho nó về đơn giản đây để làm những cái hướng dẫn cho nó dễ. Rồi, về cái tìm thấy hình này thì nó sẽ tìm cái hình đầu tiên mà nó tìm thấy, và nó thực hiện những cái thao tác mà chúng ta cài bên dưới này.

Tìm ảnh và click, click tọa độ khác

Ví dụ như là tìm cái nút tích này và nhấn vào nó. Chạy thử này. Đó. Đấy. Đấy là tìm và nhấn vào hình, hoặc là tìm thấy hình này nhưng mà lại không nhấn vào hình. À, nhấn vào tọa độ khác thì sao? Đây, các bạn chọn cái thao tác chuột này. Cái tọa độ tìm được này thì vẫn là nhấn vào hình thôi. Chúng ta sẽ chọn cái tọa độ khác này. Tìm thấy hình và nhấn vào tọa độ khác. Thì các bạn nhấn, khi nào cái viền vàng nó hiển thị này thì các bạn nhấn chuột trái sang bên này để chọn tọa độ. Nó sẽ tự đẩy sang cái ô mà có viền vàng này nhá. Đây, nếu thấy hình này thì nhấn vào cái kiểm tra IP này. Sửa, chạy thử này. Đó. Đấy là tìm thấy hình nhưng mà lại nhấn vào cái tọa độ khác,

Vuốt và nhấn giữ

hoặc là tìm thấy hình và vuốt thì sao? Tìm thấy hình và vuốt nó lên. Ừ. Có thể dùng tọa độ khác hoặc là tọa độ theo hình cũng được. Đó, tìm thấy hình và thao tác vuốt, thì cái thao tác chuột này nó sẽ đầy đủ những cái như là cái thao tác… lệnh thao tác chuột bên này, đầy đủ luôn. Các bạn có thể à tìm thấy hình, sau đó áp dụng một cái lệnh à nhấn giữ vào hình. Ví dụ như đây, nhấn giữ thì nó sẽ ra như này đúng không? Rồi, ta sẽ áp dụng cái lệnh nhấn giữ vào hình tìm được này. Nhấn giữ trong vòng 2 giây đi. Rồi, cái hình nhá. Chúng ta đang cắt cái hình nút tích kia. Giờ ta cắt lại cái hình. Ok. Đó, nhấn giữ trong vòng 2 giây chắc… hoặc là ta có thể áp dụng cái tìm cái hình này, nhấn giữ, sau nó kéo ra chỗ khác thì làm như nào? Chúng ta sẽ hạ chuột xuống. Hạ chuột. Sau đó chúng ta sẽ đợi… ừ, đợi khoảng 2 giây đi. Đợi 2 giây, sau đó chúng ta sẽ thao tác chuột. Ừ. Di chuyển chuột từ cái vị trí vừa tìm thấy được này. Vị trí thứ hai này dùng chuột phải, cho nó xuống dưới này. À, từ vị trí tìm được này di chuyển xuống. Rồi sau đó chúng ta lại thao tác chuột 745, 340 đúng không? Này, chúng ta sẽ phải nâng chuột lên. Bây giờ mình sẽ ghép thử xem những cái thao tác này nó sẽ được cái gì nhỉ. Đó, đây là tìm thấy hình và kéo hình ra chỗ khác. Chỉ cần áp dụng hàng loạt những thao tác thôi. Đây, tìm được nó sẽ lưu cái tọa độ đã tìm thấy. Đấy, ở cái lệnh tìm hình này thì nó có một cái sẽ tự động hoạt động.

Lưu tọa độ tìm được vào biến

Đây, nó chính là cái này: "Lưu tọa độ tìm được vào biến". Hầu hết là những cái lệnh có tìm kiếm: tìm màu, khối màu, văn bản hoặc là tìm phần tử. Khi tìm thấy nó sẽ tự cập nhật cái biến tọa độ hình X và tọa độ hình Y này, thì chúng ta sau này chúng ta có thể áp dụng vào để chạy những lệnh so sánh dữ liệu, hoặc là chỉnh sửa số, hoặc tìm tọa độ các thứ, thì phần này nó sẽ tự động áp dụng nha. Nếu tìm thấy thì nó sẽ tự điền các cái tọa độ vào biến. Còn nếu không tìm thấy thì nó sẽ tự điền cái tọa độ bằng 0 vào trong hai biến này. Thì đây là hai cái biến động. Không cần các bạn dùng cái lệnh lưu, nó sẽ tự lưu khi chạy đến những cái lệnh tìm. Các bạn chú ý hai thằng biến này. Đấy là thế. Nếu thấy hình, nếu không thấy hình thì tương tự. Ví dụ như là ta sẽ làm một cái lệnh lồng nhau chẳng hạn. Đây nhá. Ừ. Nếu thấy cái chữ Codezy này thì nhấn vào hình. Đây, nếu thấy này. Thì cái thằng không thấy này nó tương tự với

Nếu đúng / nếu sai

cái thằng nếu thấy nhưng mà nó ngược nhau, thì thằng không thấy nó sẽ nằm bên "Nếu sai" này. Ví dụ như nếu sai ta lại tìm một cái lệnh, ta chạy lệnh phụ, ta lại tìm hình tiếp lồng bên trong này. Ừ, nếu sai thì ta sẽ tìm cái thằng icon ứng dụng này để ta mở lên. Nếu sai này: tìm hình, nếu thấy thì nhấn vào hình. Rồi, đơn giản như này thôi. Chạy thử này. Đó. Đây là chạy một vòng. Rồi ta có thể nhấn vào hình và đợi khoảng 2 giây… 2 giây đi. Đợi 2 giây, sau đó di chuyển lại lên cái dòng 1 này. Thử nha. Đây, xem gỡ lỗi này nó như nào. Gỡ lỗi này: "Nếu sai"… à, do mình chưa sửa nhá. Mình chưa nhấn sửa lệnh đấy. Nó chưa có cái nhánh di chuyển này. Đó, các bạn thấy này, cùng một lệnh thôi. Chúng ta có thể có nhiều cái xử lý khác nhau. Tìm hình Codezy: nếu thấy hình, nhấn chuột vào hình. Đây, nếu không thấy… nếu không thấy này thì tìm cái hình này, nếu thấy hình thì nhấn chuột vào hình, sau đó di chuyển… di chuyển lại cái dòng 1 này để đợi 2 giây. Khi hết 2 giây nó nhảy xuống dưới và nó tìm thấy cái thằng Codezy này, và nó nhấn vào hình đấy, đi vào nhánh đúng này, nhấn vào hình xong là nó bên dưới không gì nữa, nó sẽ thoát. Đấy là cái xử lý đúng sai. Tương tự thì thằng à "sai" này thì nó sẽ là ngược lại của thằng đúng. Đấy.

Tìm nhiều hình ảnh

Còn cái thằng tìm nhiều hình này ra. Tìm nhiều hình thì các bạn dùng "Nếu số hình tìm thấy trong khoảng". Mình sẽ vào cái danh sách ứng dụng này. Mình sẽ tìm cái thằng à nút tích này đi. Rồi, từ 1 đến 100. Nếu thấy thì nhấn vào hình. Đơn giản này thôi. Đấy, bỏ thằng đợi đi, đỡ mất thời gian. Rồi, thì ở cái thằng tìm thấy trong khoảng này, bên dưới hành động này nó sẽ không chỉ có bật và tắt mà là có thêm một cái nữa, thì bạn nhấn vào này, khi nó chuyển sang cái này, dạng vòng lặp này, thì nó sẽ thực hiện với mỗi một tọa độ tìm thấy, nó sẽ chạy một lần hành động. Ví dụ như này, sửa này. Đây, đây nó hiện cái biểu tượng vòng lặp lên, là cái hành động này nó sẽ lặp lại với mỗi hình nhìn thấy. Thì trong cái… trong cái ngữ cảnh này thì nó sẽ tìm đấy và nó nhấn vào tất cả các check này đúng không? Chạy thử nha. Rồi, vấn đề là đây, đây nó có nhấn nhưng mà nó lại nhấn quá nhanh, nên là cái app này nó không nhận… không nhận biết được cái thao tác, thì chúng ta sẽ phải làm như thế nào? Chúng ta sẽ phải thêm cái lệnh đợi vào. Đấy, nhấn xong đợi khoảng 100 mili giây, 1/10 giây đấy. Sau đó mới nhấn vào thằng tiếp theo đúng không? Nếu các bạn để như này thì nó sẽ nhấn vào toàn bộ hình nó mới đợi. Các bạn phải tích nó vào thêm, và đấy, cho nó vào trong cái vòng lặp này. Sửa này. Bây giờ ta sẽ thử lại. Rồi, đã nhấn. Tuy nhiên là vẫn cứ nhanh, cái app này nó không hỗ trợ cái thao tác cùng lúc, nhưng một số game này ta có thể nhấn nhiều nút, hay là nó kiểu nó hỗ trợ chuột à đa điểm đấy, thao tác đa điểm, thì các bạn nhấn cùng lúc tất cả các nút này nó vẫn nhận. À không, như vừa nãy là nó cũng có thể… có thể nhấn được với cái app này, nó vẫn có thể nhấn được, nhưng mà do nhấn luôn vào cái thằng "Chọn tất cả" này đây, nhấn vào thằng này nên là nó bị lệch đi. Bây giờ mình sẽ phải thêm cái loại bỏ hai thằng nữa đi. Không tìm thằng này nữa rồi. Sửa lại xem nào. Đó, bỏ luôn thằng đợi đi, xem nó có chạy được không nhỉ. Rồi, chạy được nhá. Đấy là nó có thể nhấn vào những cái hình mà chúng ta tìm như thế này. Nhiều hình luôn. Với mỗi một cái hình này chúng ta có một cái điều kiện khác nhau. Nếu mà dùng theo cái vòng lặp này thì các bạn có thể áp dụng vào cái vòng lặp tìm hình, và xử lý với mỗi một hình, chạy một cái lệnh con hay là lệnh phụ như nào đấy. Các cái phần à số hình này cũng có thể sử dụng bằng biến được. Có thể lấy được cái dữ liệu biến văn bản ra để ghi vào đây.

Số ảnh tối thiểu và tối đa

Tối thiểu và tối đa đây. Nếu các bạn để nó về, ví dụ như là tối thiểu 1, tối đa bằng 1, thì nó sẽ tự đẩy về cái "Nếu thấy hình" nha. Thì tìm thấy một hình này nó cũng là cái tìm nhiều hình nhưng mà chỉ lấy một hình. 0 này chẳng hạn, nếu mà 0, min 0, max 0 thì nó về "không thấy hình" đấy. Cái này tự thay đổi theo cái cài đặt. Còn hành động, chúng ta có ví dụ như "Lưu tất cả tọa độ tìm thấy vào chuỗi". Nếu thấy nhá. À, chạy thử lại. Trong cái gỡ lỗi này nó đang không hiển thị đây, à, không hiển thị ghi chú đây các bạn à. Rồi, theo dõi các cái tọa độ này, nó sẽ lưu vào trong cái chuỗi này. Mỗi một tọa độ nó sẽ lưu vào một phần tử của chuỗi. Khi các bạn bật ghi đè lên thì mỗi lần chạy này nó sẽ ghi đè cái chuỗi mà chúng ta chọn ra đây. Từ cái chuỗi thì các bạn có thể ghép ra những cái danh sách khác nhau. Danh sách thì các bạn à sử dụng cho những cái đa điểm hay là làm cái gì đấy thì tùy theo nhu cầu các bạn.

Lưu ảnh tìm được vào biến, sửa biến

"Lưu hình tìm được", à, "vừa tìm vào biến" này ra, thì nó sẽ lưu cái hình này vào trong cái biến ảnh để các bạn xử lý sau này. Đợi thì các bạn đã biết rồi. Chỉnh sửa biến này… chỉnh sửa biến này thì nó tương tự với thằng chỉnh sửa số này thôi, nhưng mà nó có một vài cái được thiết kế riêng cho thằng chỉnh sửa biến, như là cộng 0 này. Đó, đã tìm thấy năm hình, thì số hình tìm được này nó sẽ bằng 5, nó sẽ cộng với 0, lưu vào cái văn bản. Đấy, thì cái thằng à văn bản đấy nó sẽ có giá trị là 5 sau cái lệnh này. Đây, nhấn vào hình các bạn biết rồi. Nhấn vào hình này nó có một cái khác nữa này. Ví dụ như là mình… cái hình nút tích này, mình không muốn tìm hình nút tích này. Mình muốn tìm cái hình Android này cơ. Đây, tìm thằng Android này. À không. Rồi, này nó trùng nhau quá. Rồi, bây giờ mình muốn tìm cái thằng… muốn tích vào thằng Chrome này ra.

Click lệch tọa độ và dừng tìm

Muốn tích vào thằng Chrome này, nếu mà tìm cái nút tích này, mà bây giờ không biết thằng Chrome nó ở cái dòng nào, mà muốn tìm tích của nó mà tìm nút tích này, nó giống nhau rất nhiều, sẽ là khó tìm đúng không? Giờ mình tìm cái thằng Chrome này. Tìm cái hình thằng Chrome này. Đấy. Nếu tìm thấy mà nhấn vào cái giữa hình này thì nó sẽ ra cái tọa độ là 88, 303. Các bạn có thể nhìn cái bên dưới này. Đấy, để nó xem là cái tọa độ con chuột đấy. Đây, 90, 300 đi, thì các bạn sẽ áp dụng cũng nhấn vào hình nhưng các bạn nhấn lệch một bên này. Lệch sang bên này một chút. Đấy, ta sẽ trừ đi 50 đúng không? Đây, các bạn sẽ nhấn lệch cái tọa độ một chút. À, dùng cái tìm thấy hình, nhánh đúng. Sửa này. Rồi, bây giờ ta sẽ làm một cái lệnh để vuốt lên. Khi nào thấy cái thằng Chrome này thì nhấn vào nút tích và không tìm nữa đây. Rồi, mình sẽ làm cái lệnh nhấn vào hình, sau đó thoát khỏi lệnh. Tức là khi nào tìm được cái thằng Chrome này thì mới nhấn vào hình. Và khi nhấn vào được nó rồi thì không tìm nữa. Rồi, thêm cái lệnh đợi vào để chờ cái hình nó thay đổi. Đấy. Tìm hình này. Nếu thấy thì nhấn vào nút tích mà không tìm nữa. Còn nếu không thấy thì sao? Chúng ta có thể thêm vào bên dưới này cái lệnh vuốt chẳng hạn. Có thể thêm trực tiếp vào thằng này. Vuốt từ dưới này vuốt lên trên này. Sửa này. Vuốt, sau đó di chuyển lên cái dòng 1 này để nó tiếp tục đợi. Rồi, chạy thử. Đấy. Đó, nó đã nhấn được vào cái thằng Chrome này và nó thoát khỏi lệnh đây. Nhánh thoát khỏi lệnh này… di chuyển hay là cái thoát khỏi lệnh thì các bạn theo dõi cái đường đi của nó. Nó sẽ thoát khỏi cái lệnh trên cùng này. Đấy, còn di chuyển lên dòng 1 này nó sẽ như thế này. Đấy là tìm, nhấn lệch ra.

Tọa độ ngẫu nhiên

Nếu mà các bạn không bật cái ngẫu nhiên tọa độ này thì nó sẽ áp dụng cái tọa độ X+, Y+ này, sẽ cộng với cái tọa độ chúng ta nhập vào. Như đây mình cộng với -50 thì nó sẽ thành trừ đi 50. Tọa độ X này là cái tọa độ ngang này. Tọa độ đây, X và Y này. Đấy, thì có thể các bạn căn chỉnh cho tọa độ mong muốn. Còn nếu mà tích vào ngẫu nhiên này thì nó sẽ tương tự với thằng thao tác chuột này. Đấy, bật ngẫu nhiên lên này thì nó sẽ ngẫu nhiên trong cái khoảng chúng ta điền ở đây. Nếu chúng ta điền 5 chẳng hạn, nó sẽ cộng trừ theo cái tọa độ từ -5 đến 5, ngẫu nhiên trong khoảng đấy, vào trong cái tọa độ tìm thấy hình này. Đấy, thì khi các bạn à sử dụng à trong một số những cái app game mà nó yêu cầu là cái… à nó có chặn cái macro mà nhấn vào cái vị trí tuyệt đối liên tục ấy, nó có thể phát hiện ra, thì các bạn thêm cái ngẫu nhiên vào thì nó sẽ tránh được cái phát hiện đấy. Đấy, thao tác chuột thì nó… hành động của nó tương tự với cái phần lệnh chuột này, thì nó cũng có thu gọn một chút nhưng về cơ bản là nó tương tự, thì các bạn xem cái bài đấy để rõ hơn. Chạy tập lệnh con này sao? Đấy, tập lệnh con đây, ví dụ như thế này. Đây, đây là cái lệnh tìm thấy hình và chạy tập lệnh con, có nghĩa là khi tìm thấy hình nó sẽ nhảy vào cái nhánh đúng này. Nếu ở cái nhánh đúng này nó có cái lệnh con này, nó tiếp tục chạy thằng lệnh con này đấy, cứ từ trên xuống dưới và theo nhánh đấy. À, nếu ta thêm cái lệnh "Nếu sai" vào, nếu sai thì dùng cái lệnh… lệnh khác, chạy tập lệnh con khác. Đấy, thì nó sẽ có hai cái nhánh này. Nếu đúng thì nhảy vào cái bên này. Đấy, nếu sai thì nhảy sang cái nhánh bên này. Đấy, thì đấy là tập lệnh con. Lệnh con thì nó là cái lệnh đây, các bạn có thể xem cái bài về chạy tập lệnh này. Cái phần này khá đơn giản thôi. Cái chạy lệnh phụ này như nào?

Lệnh phụ

Thì cái bản mới này nó có cái chạy lệnh phụ này rất là mạnh. Chúng ta có thể tìm nhiều cái hình lồng vào nhau. Để xem nó có cái lệnh nào nó ví dụ sẵn. Đây, mình sẽ tạo luôn một cái lệnh… ừ… lồng vào nhau. Ví dụ như chúng ta… chúng ta tìm thấy thằng Chrome này rồi và chúng ta nhấn vào tọa độ như cái hình này. Đó, các bạn có thể thấy này, nó chỉ biết là nó tìm thấy thằng Chrome này và nó nhấn vào cái tọa độ bên cạnh thôi. Nhưng chúng ta muốn nó kiểm tra thêm là cái thằng bên cạnh này của nó đã tích hay chưa thì mới nhấn vào, thì chúng ta làm như thế nào? Cái này thì nó khá là phức tạp đấy nhỉ. Rồi, mình sẽ làm cái ví dụ "Nếu thấy" này. Ừ, cho nó xuống dưới đi. Để phía trên mình sẽ có một vài cái lệnh về chỉnh sửa biến, tìm hình trong khoảng. Bây giờ mình sẽ phải… đây, như cái tìm thấy nó đã lưu vào tọa độ hình X, tọa độ hình Y rồi. Bây giờ mình phải từ cái khoảng này mình tính ra được cái… cái ô vuông này. Đấy, để mình tìm cái hình à nút tích này. Bây giờ mình sẽ phải làm một cái lệnh con chỉnh sửa biến này. Chỉnh sửa số đi. Đầu mình sẽ làm cái tọa độ hình X này. X này mình sẽ trừ đi 70, lưu vào biến 1 này. Đây, mình sẽ tương tự Y này. Y này… Y này được chưa? Còn 45 này, trừ đi 30, dịch lên trên này, ta sẽ được cái tọa độ ở góc này nha. Trừ đi 30, lưu vào cái biến 2 đi. Rồi, chỉ cần thêm một cái thằng Y này cộng xuống dưới này nữa. Thằng X này giữ nguyên đây cũng được. Này nó khá phức tạp. Mình làm ví dụ này thì các bạn sau dần dần là các bạn sẽ áp dụng được. Ví dụ như là tìm cái thằng… đây, thằng Y này cộng thêm… cộng thêm 30, vào biến 3 này. Rồi làm luôn bốn cái tọa độ đi cho… Đấy, sau các bạn áp dụng cho nó dễ. Đây này. X này, 90 trừ đi 30, vào biến 3 này. Y cộng thêm 30, vào biến 4. Rồi, dưới này tìm hình. Nếu như… đây, nếu như chưa tích thì sẽ nhấn tích vào. Rồi tìm cái nút tích này trong cái khoảng mà chúng ta vừa có ở đây này: biến 1, biến 2, biến 3, biến 4 này. Đây. Nếu đúng thì nhấn vào hình. Sửa, thử. Đây, vạch lại cái hình này nha. Rồi, chạy thử này. Ok. Bây giờ mình sẽ thử lại để xem là khi nó đã tích rồi nó có nhấn không nha. Đó, như cái lệnh cũ là nó cứ tìm thấy hình này. Nó không còn biết thằng này có tích hay chưa. Nó cứ tích vào. Nhưng mà đến cái thằng này đây. Đây là chúng ta đã tính cái tọa độ theo cái biến này để tìm cái nút… nút này. Đấy, như trên này là nó tìm thấy này. Nó tìm thấy và nó nhấn tích, ở dưới này thì nó tìm không thấy thì nó không nhấn nữa. Chúng ta không bị này, nó nhấn hai lần ha. Thì với cái lệnh phụ này chúng ta có thể áp dụng được rất nhiều. Ví dụ như là cái lệnh phụ này ở trong đây này. Thì khi mà nó quá nhiều cấp, nó dài như thế này, nhìn nó rối mắt thôi. Thì các bạn sẽ theo dõi sang bên này, các bạn có thể sửa… sửa từng lệnh một. Đây, ví dụ như đây mình thêm cái… mình muốn sửa cái dòng chi tiết này thôi. Dòng hành động này thôi. Mình có thể nhấn chuột phải vào thì nó đẩy sang cái card này. Đấy, sửa thành 20 chẳng hạn. Đó, và nhấn sửa, nó sẽ tự sửa luôn cái bên này. Hoặc là khi các bạn muốn thay nó bằng cái khác chẳng hạn. Thay nó bằng cái kết nối Internet chẳng hạn. Đấy, bạn nhấn sửa, nó tự sửa hành động. Ta không cần phải sửa trong cái này nhá. Không cần phải sửa trong này, nó rất là lâu đúng không? Chúng ta có thể sửa luôn ngoài này. Đấy, Hoặc là cái lệnh tìm hình nhiều cấp này. Đấy, các bạn nhấn chuột phải sang, tự đẩy những cái nhánh hành động sang cái lệnh đơn lẻ này, và chúng ta có thể sửa đơn lẻ được, chứ không nhất thiết là phải sửa trong lệnh lớn này nhá. Đấy, chạy lệnh phụ. Còn cái nhánh kiểm soát lệnh này sao?

Điều khiển lệnh

Kiểm soát lệnh này thì nó gồm tất cả những cái hành động của cái thằng à kiểm soát lệnh này, thì các bạn sẽ xem cái video về cái thằng kiểm soát lệnh này thì sẽ rõ hơn. Mình thêm vào đây nó lặp lại, cái trùng hợp cái video, mà nó khiến cho video này nó dài quá. Mọi người xem video kia để xem kiểm soát lệnh. Đó, kiểm tra điều kiện, nếu thấy hình thì thoát khỏi tính năng hiện tại hay dừng hẳn cái tab hiện tại. Đấy, rất nhiều cái chúng ta có thể kiểm soát được. Thoát khỏi lệnh hay sao? Đây, ví dụ như cái thằng này, nếu thấy này, nhấn vào hình cho nó thoát khỏi lệnh hiện tại này. Đó, khi nó nhấn xong thì nó sẽ vào nhánh thoát khỏi lệnh hiện tại đây, sẽ đi dọc theo đường đỏ này, nó thoát ra ngoài, nó không chạy cái lệnh này nữa. Đấy là thoát khỏi lệnh.

Nhảy tới lệnh và lồng 10 cấp

Di chuyển đến lệnh này ra. Đây, nhánh di chuyển đây. Nó tương tự với thằng di chuyển kia thôi. Nhưng mà nó có thể… nó sẽ… đây, nó tương tự với thằng go to này, nhưng mà nó lại không có những cái kiểm tra điều kiện để ngừng dịch chuyển. Thì khi các bạn dùng cái này thì nó gọn hơn. Còn các bạn muốn kiểm tra điều kiện trước khi dịch chuyển ấy thì các bạn sẽ dùng cái chạy lệnh phụ di chuyển này. Đó, tương tự này thôi nhưng mà chúng ta sẽ kiểm tra biến này, thực hiện trước khi di chuyển các thứ, nó sẽ đa năng hơn. Đấy, cái thằng chạy lệnh phụ này, chạy lệnh phụ này thì nó có thể gán vào những cái điều kiện này. Tất cả những cái tập lệnh có trong hộp lệnh này. Đấy, chính là cái đa năng của nó. Nó có thể lồng nhau nhiều cấp. Các bạn có thể thấy là như một cái… cái thằng này thôi. Đây là mình mới có lồng có một cấp thôi mà nó đã dài như này. Thì các bạn có thể hình dung là với mỗi một cái lệnh này nó có năm cái hành động. Mỗi hành động này mà các bạn để chạy lệnh phụ vào, nó lại rẽ ra năm hành động tiếp. Đấy, thì hai nhánh là 10 hành động đúng không? Mà mình đang để cho nó tối đa là 10 cấp, thì các bạn có thể thấy 10 mũ 10 thì nó ra hàng tỷ cái tham số cho một cái dòng lệnh duy nhất. Đấy, thì cái thằng chạy lệnh phụ này nó rất là mạnh ở điểm đấy. Thì như cái phiên bản Pro thì nó không có chạy lệnh phụ đâu. Đấy, thì mọi người có thể áp dụng những cái logic của riêng mình, tạo ra những cái tập lệnh nó chạy theo cái kịch bản khác nhau.

Video hướng dẫn liên quan

Xem trọn bộ video hướng dẫn C-Auto Ultra trên YouTube →

MessengerZaloTelegramPhone