AutoIt Help bằng tiếng Việt

Admin

Tổng tư lệnh
Staff member
Re: AutoIt Help = tiếng Việt

WinWaitActive là nếu chạy auto mà chưa thấy cửa sổ priston tale thì nó sẽ chờ cho priston tale active mới bắt đầu . IfWinActive là nếu cửa sổ đó ở trên cùng
 

willrock777

ChampionClan
Staff member
Re: AutoIt Help = tiếng Việt

cái hàm WinWaitActive , IfWinActive, IfWinNoActive có ý nghĩa gì vậy hả will?
WinwaitActive : Cửa sổ ...được chọn chờ để ... làm việc . ( hoặc chế độ màn hình , Win )
IfWinActive : Hàm If : Nếu điều kiện ....Active : đúng với điều mình đặt ra .
IfWinNonActive : Nếu điều kiện ... NonActive : không đúng với điều mình đặt ra .
PS : chỉ có thể giải thích như vậy .
 

willrock777

ChampionClan
Staff member
Re: AutoIt Help = tiếng Việt

******** P VIII :
6. GUI

6.1. Thiết kế GUI

Nếu như các script viết bằng AutoIt có thể hoạt động một cách hoàn toàn âm thầm, nghĩa là click và chạy mà người dùng ko biết j` (mở ngoặc: giống "virus" YM nhờ ), thì đôi khi bạn lại muốn tạo một GUI cho script cho giống một soft hoàn chỉnh

Khả năng tạo GUI trong AutoIt góp phần làm cho nó trở nên phổ biến và tiện dụng hơn

Trong GUI, bạn có thể tạo label, button, checkbox, radiobox, list, progress bar, context menu... nói chung là tất tần tật những j` mà một GUI có thể có.

Để tạo một ứng dụng có GUI, bạn có thể tạo bằng cách tự viết code lấy - Cái này chả khác j` với việc làm đồ họa bằng Pascal. Phải căn ke từng mili trên màn hình, sửa đổi vị trí cho hợp nhãn,... túm lại là rất phiền

Thử ví dụ một GUI cho dễ hình dung nhé:

Code:

; GUI

GuiCreate("Sample GUI", 400, 400)

GuiSetIcon(@SystemDir & "\mspaint.exe", 0)





; MENU

GuiCtrlCreateMenu("Menu&One")

GuiCtrlCreateMenu("Menu&Two")

GuiCtrlCreateMenu("MenuTh&ree")

GuiCtrlCreateMenu("Menu&Four")



; CONTEXT MENU

$contextMenu = GuiCtrlCreateContextMenu()

GuiCtrlCreateMenuItem("Context Menu", $contextMenu)

GuiCtrlCreateMenuItem("", $contextMenu) ;separator

GuiCtrlCreateMenuItem("&Properties", $contextMenu)



; PIC

GuiCtrlCreatePic("logo4.gif",0,0, 169,68)

GuiCtrlCreateLabel("Sample pic", 75, 1, 53, 15)

GuiCtrlSetColor(-1,0xffffff)





; AVI

GuiCtrlCreateAvi("sampleAVI.avi",0, 180, 10, 32, 32, $ACS_AUTOPLAY)

GuiCtrlCreateLabel("Sample avi", 170, 50)



; GUI MESSAGE LOOP

GuiSetState()


Một cách khác, thuận tiện hơn, đó là sử dụng một soft dạng GUI Builder. Có nhiều GUI Builder dành cho AutoIt, nhưng theo quan điểm cá nhân, có lẽ Koda là khá nhất. Công cụ này có thể tại về từ trang web: http://www.autoitscript.com/fileman/...ormdesign.html

Phiên bản mới nhất là 1.6, cập nhật ngày 19/9.

Koda cho phép bạn dễ dàng tạo GUI chỉ bằng cách drag-and-drop vào form, sau đó sẽ tự động sinh code AutoIt để bạn đưa vào script của mình. Rất rất tiện lợi nếu so sánh với việc code từ đầu bằng tay.

6.2. Gắn GUI với code

Có GUI rồi, là đến lúc bạn muốn gắn nó với các mã AutoIt thực thi các lệnh đã viết từ trước.

AutoIt hỗ trợ 2 chế độ tương tác với GUI: OnEvent và MessageLoop. Có thể đảo qua lại 2 chế độ bằng cách dùng lệnh:

Code:

Opt("GUIOnEventMode", 1)


Ở chế độ OnEvent, ta sẽ gắn từng "sự kiện" với một hàm tương ứng. Ví dụ, ta gắn "sự kiện" người dùng click nút Close với hàm Close():

Code:

GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE")

Func CLOSE()

MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting...")

Exit

EndFunc


Ở chế độ MessageLoop, ta có một cách tiếp cận hoàn toàn khác. AutoIt sẽ tạo một vòng lặp vô hạn, liên tục kiểm tra xem có sự kiện nào xảy ra với GUI ko - thông qua một hàm mang tên GUIGetMsg.

Toàn bộ việc gắn code với GUI được thực hiện qua một vòng lặp While:

Code:

While 1

$msg = GUIGetMsg()



Select

Case $msg = $GUI_EVENT_CLOSE

MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting...")

ExitLoop

EndSelect

WEnd





Identical(UDS)


 

ptv_secondlife

New Member
Re: AutoIt Help = tiếng Việt

cám ơn bạn đã post bài, cũng đang muốn tìm hiểu về autoit, nhưng lâu quá kô đụng đến tiếng anh ,nên hơi ngại, h bạn pót tiếng Việt tui copy về hết rồi , để khi rảnh từ từ đọc, h thì bận auto con mech. nhờ có cái source auto ver 2.0, h mech tui có thể cast được 6skill, auto ổn định ở chiến trường cổ (vùng 55 ). để hôm nay về thử auto o DS xem.


tui đã click vô icon "THANKS" rồi :)
 

willrock777

ChampionClan
Staff member
Trả lời: AutoIt Help = tiếng Việt

hì . còn 2 phần nữa . có người ủng hộ . mừng quá post luôn cho bạn . Ngoài nhưng cơ bản này bạn có thể ghé thăm 4rum của web autohotkey tham khảo thêm . trên ấy có dường như đầy đủ . và có thể mua 1 cuốn sách full về AUtoIT .
 

willrock777

ChampionClan
Staff member
Trả lời: AutoIt Help = tiếng Việt

*******P IX :
7. Chạy thử, biên dịch, đóng gói và phân phối

Có script hoàn chỉnh. Có GUI hoàn hảo. Đó là lúc bạn nghĩ đến việc tiếp theo. Phân phối tới càng nhiều người càng tốt (nhưng đừng dùng cách phát tán qua YM nhé )

Để chạy script viết bằng AutoIt, bạn hãy mở file AutoIt3.exe và chọn đến file .au3 tương ứng.

Để biên dịch thành file exe và đem đi phân phối, bạn cần đến công cụ Aut2Exe. Bạn cần chỉ định file mã nguồn, tên exe sẽ tạo, icon (nếu thích) và bấm Convert.

Nếu bạn muốn mình có thể dịch ngược từ exe về au3 trong trường hợp đánh mất file .au3 gốc , hãy chọn Allow decompilation và gõ vào password của mình. Pass này sẽ dùng để tránh người khác dịch ngược file script của bạn.

Nếu để ý kỹ, bạn sẽ thấy khi kích phải chuột vào file exe đã tạo + chọn properties, sẽ có thông tin File Version là phiên bản của AutoIt. Bạn rất có thể sẽ muốn loại bỏ thông tin này + đưa thông tin của riêng mình vào cho personal

Điều đó hoàn toàn có thể thực hiện được khi bạn dùng Resource Editor.

Tuy nhiên, nếu cố edit file exe đã biên dịch, bạn sẽ thấy mình phí công vô ích, bởi file exe mới sẽ ko hoạt động

Hãy edit file AutoItSC.bin cùng thư mục với Aut2Exe.exe với những thông tin mà bạn thích, sau đó mới tiến hành biên dịch. Lần này, kết quả sẽ như mong đợi

Bạn sẽ có một file .exe của riêng mình, với icon tùy ý, info ở mục properties tùy ý. Khó có thể nhận ra đó là script viết bằng AutoIt
Identical(UDS)
*****P X :
8. Phụ lục 1: AutoIt or not AutoIt?

Có thể nói ko ngoa, AutoIt là một con dao 2 lưỡi. Nó được tạo ra để giúp người dùng làm các script tự động hóa, giúp mình dễ thở hơn . Tuy vậy, AutoIt cũng có thể được dùng để tạo một con trojan, một con virus, whatever

Phát tán con "virus" này là quá đơn giản. Hãy nhìn những j` các "virus" YM đã làm.

Như đã nói ở trên, một file exe có thể được edit để khi mới nhìn vào, bạn khó có thể biết nó có phải là một script AutoIt hay ko.

Nhưng, điều đó thực ra cũng ko hoàn toàn đúng. Một script viết bằng AutoIt, cho dù có được biên dịch với toàn bộ info trong file .bin bị luộc mất, vẫn có thể bị lộ danh tính, bằng chính một script AutoIt.

Đây là hàm nhận diện script viết bằng AutoIt, được tớ sưu tầm từ forum của nó:

Code:

Func _IsAutoItExe($hFile)

Local $hNew = StringTrimRight($hFile, 4) & 'verify.exe'

FileCopy($hFile, $hNew)

RunWait('"' & @ProgramFilesDir & '\AutoIt3\Aut2Exe\UPX.exe" -d "' & $hNew & '"', '', @SW_HIDE)

Local $sString = String(BinaryString(FileRead($hNew)))

FileDelete($hNew)

Local $sFind = '3C6465736372697074696F6E3E4175746F497420333C2F6465736372697074696F6E3E'

If StringInStr($sString, $sFind) Then Return 1

Return SetError(1, 0, 0)

EndFunc

__________________



Identical(UDS)
*****P XI : Kết thúc :
9. Phụ lục 2: Công cụ xem thông tin về các cửa sổ - Au3Info.exe

Tự động hóa các công việc - đó cũng là lý do AutoIt có khả năng tương tác với các chương trình khác. Nhận diện một cửa sổ, xác định tọa độ chuột để giả lập việc click,... đó là những ứng dụng của Au3Info.exe.

Bạn chỉ việc chạy file này, trỏ đến cửa sổ cần xem thông tin. Mọi điều cần biết - title, class, mouse position, pixel color, control info... sẽ hiện lên. Bạn có thể bấm Ctrl + Alt + F để giữ nguyên trạng thái của cửa sổ thông tin, và copy những thông tin đó vào script mình đang viết để dùng.

10. Kết

Trên đây là tut dài nhất, mất công nhất mà tớ từng viết. Hết vụ này xin phép nghỉ viết tut dài hạn

Hãy coi đây là cái nhìn tổng quan về AutoIt, về ngôn ngữ AutoIt, các công cụ đi kèm, những thứ cần thiết, những điều mà bạn có thể quan tâm...

Xin hết
Identical(UDS)
PS : tất cả lấy từ ebook_echip .
 

willrock777

ChampionClan
Staff member
Trả lời: AutoIt Help = tiếng Việt

Trong đây đọc đáo nhất là GUI . bạn có thể từ GUI để viết ra 1 chương trình Auto với cửa sổ thông số tùy chọn đầy đủ và có thêm nhiều tính năng mở khác . tuy nhiên nó đòi hỏi khá là chặc chẽ .
Có thể tham khảo về GUI rõ hơn tại link sau :
http://www.autoitscript.com/fileman/users/lookfar/formdesign.html
 

willrock777

ChampionClan
Staff member
Trả lời: Re: AutoIt Help = tiếng Việt

Em đọc mà kô hiểu àh
hic có cái Link cho em down thì hay
Down cái gì thế . Đây là phần dịch ra tiếng Việt của phần Help trong AutoHotKey . Chứ có cái gì đâu mà down . Chỉ là đọc để hiểu thêm về nó .
Nghiên cứu sâu hơn các bạn có thể tự làm cho bản thân mình AutoPlay Game như mong muốn .
 

kisudu

New Member
Re: AutoIt Help = tiếng Việt

Hay đó Will tiếp tục đi chứ. Mà có lập trình giao diện giống như VB được không đấy
 

fortheman

New Member
Ðề: AutoIt Help = tiếng Việt

chùi chùi, autohotkey bị khóa rồi thì auto It làm sao lập trình để viết autoplay nữa, ác ác
 

dataru

New Member
Re: AutoIt Help = tiếng Việt

willrock có thể nói thêm cho mình về cách lấy pixel không. Ví dụ như:

getMau()

{
PixelGetColor, color, 686, 716,Slow
StringMid, H, color,7,1


if (H="1")
Mau:=0
else if (H="0")
Mau:=0
else
Mau :=1
return Mau
}

Đây là lệnh check máu từ ngăn portion 1 khi hết máu thì bấm core, bây giờ mình muốn chuyển sang check máu từ vị trí trong thùng đồ (ngăn đầu tiên trên cùng bên trái) thì getpixel lấy thế nào?
 

willrock777

ChampionClan
Staff member
Trả lời: Re: AutoIt Help = tiếng Việt

willrock có thể nói thêm cho mình về cách lấy pixel không. Ví dụ như:

getMau()

{
PixelGetColor, color, 686, 716,Slow
StringMid, H, color,7,1


if (H="1")
Mau:=0
else if (H="0")
Mau:=0
else
Mau :=1
return Mau
}

Đây là lệnh check máu từ ngăn portion 1 khi hết máu thì bấm core, bây giờ mình muốn chuyển sang check máu từ vị trí trong thùng đồ (ngăn đầu tiên trên cùng bên trái) thì getpixel lấy thế nào?
Trước hết là đoạn :
PixelGetColor, color, 686, 716,Slow
Lấy màu tại vị trí x : 686 ; y : 716 .
Với lệnh lấy màu như thế nó sẽ hiểu và đọc bằng ngôn ngữ Hex vd : 0xFFFFFFFF ( Trắng ) ; 0x0000000 ( Đen ) ; .v.v.
*************************************

Và kế đến là
StringMid, H, color,7,1
Đây là dòng lệnh theo mình hiểu là ... "lấy tóm gọn" . vd như ở trên sau khi GetPixel ta sẽ được 1 dãy chữ và số gồm 6>>>8 kí tự 0xFFFFFFFFF hoặc Có thể vd : 0234FF0FFC . Với dòng lệnh trên thì hiểu nôm na như sau : Trong số các kí tự được hiểu ở GetPixel ta chọn ra tên H đại diện cho ... những kí tự từ vị trí thứ 7 , ở đây là 1 kí tự .
***************************************

vd tại vị trí trên ta GetPixel được giá trị Hex ( ngôn ngữ ) như sau : 0234FF0FFC
Sau đó "StringMid, M, color,5,3" giá trị trên thì cho ra kết quả " tóm gọn " : FF0 và gán cho nhóm 3 kí tự trên với tên đại diện là M
***************************************

Doạn code sau
if (H="1")
Mau:=0
else if (H="0")
Mau:=0
else
Mau :=1
return Mau
If : Nếu .... như thỏa điều kiện như mình đạt thì .... làm theo điều mình gán .
***************************************


Thật ra đây là cách dùng để người viết code hiểu cho gọn gàng . Lệnh StringMid đôi khi không cần dùng . Ta có thể chỉ điểm chính xác giá trị HEx mà GetPixel lấy được .
***************************************
Các bạn có thể vào trang chủ của AutoIt (
AutoIt v3 - Downloads) Down về 2 phần : thứ 1 là Download AutoItV3 ; thứ 2 là Download Editor .
Với P1 : cài đặt nền cơ bản của AUtoIt3 . P2 : Thêm những tính năng khác hỗ trợ : Tự động viết code ( Autoi R..... ) ; File Help ( Func....) .v.v. Đặc biệt là viết code với chế độ Func Editor sẽ giúp ta hoàn thành code chính xác hơn .

pS : Những gì mình viết trên cũng chỉ là đọc hiểu của bản thân . Chứ không phải qua lớp học nào . nên nếu có gì sai sót mong các bạn giúp mình điều chỉnh lại .
 

kisudu

New Member
Re: AutoIt Help = tiếng Việt

Will Cho mình hỏi tại sao lệnh sau không hoạt động nhỉ?

MouseGetPos, MouseX, MouseY
PixelGetColor, color, %MouseX%, %MouseY%
tooltip, The color at the current cursor position is %color%

Mục đích là mình muốn trích màu tai điểm bất kì trong cửa sổ PTV mà sao không được, kết quả màu không thay đổi, nó ra 0x000000
Ai biết chỉ dùm, thanks nhiều.
 

willrock777

ChampionClan
Staff member
Trả lời: Re: AutoIt Help = tiếng Việt

Will Cho mình hỏi tại sao lệnh sau không hoạt động nhỉ?

MouseGetPos, MouseX, MouseY
PixelGetColor, color, %MouseX%, %MouseY%
tooltip, The color at the current cursor position is %color%

Mục đích là mình muốn trích màu tai điểm bất kì trong cửa sổ PTV mà sao không được, kết quả màu không thay đổi, nó ra 0x000000
Ai biết chỉ dùm, thanks nhiều.
Trong database của PTV ( client) có File HShield mang các lệnh cấm thi hành các lệnh dành cho Auto như : GetPixel , GetMess , Get ... , Send . File trên không chỉ có đối với PTV mà nó còn có ở 1 vài Game khác vd : AUdition ; Game Guard ; Xtrap hiện nay .
Do đó bạn không thể nào vừa mở cửa sổ vừa dùng lệnh PixelGetColor hoặc PixelSearch .
Bạn có thể lấy màu gián tiếp bằng cách : dùng phần mềm chụp cả màn hình destop . Sau đó đưa cái hình đó ra màn hình nền . Và bây giờ bạn có thể lấy được màu chính xác trên cái hình nền PTV ấy rồi đấy . Nhớ là Exit PTV trước khi lấy màu .

Thật sự thì cái này ... đối với Xtrap hiện nay hoặc GG thì AutoIT và AutoHotkey là ... không tác dụng .
 

xuanbach258

New Member
Re: AutoIt Help = tiếng Việt

Ac ac !! Chỉ thêm nha !! ko hiểu j hết !! Mà Bác WILLROCK ơi !! Chỉ mình học C++ đi !! Mình mới tập tành hà !! chỉ rõ rõ nha !!! :D
 

fortheman

New Member
Ðề: AutoIt Help bằng tiếng Việt

bài viết của will hay lắm, nhưng hơi ngắn gọn, chỉ những ai đã từng biết 1 chút về IT thì mới có thể hiểu và viết code dc
 

fortheman

New Member
Ðề: AutoIt Help bằng tiếng Việt

quên mất, will cho hỏi đã có cách khắc phụ auto pro3.x chưa, theo mình biết đã có người khắc phục đc lênh chặn hàm send rồi
 

caoboidance

New Member
đọc tới đọc lui em hem hiểu miếng nào cu. thể hơn 1 ti đc hem các pác chứ gặp dân trình độ học hết lớp 1 theo vọ nghỉ học như em sao hiểu đc mấy từ cao siêu này :sonnb_ech01:
 
Top