Auto toàn tập - Đọc kỹ trang 1

nghĩ ra cách auto skill QV :D
cách làm như sau:
1. Kiểm tra xem đã vào trận chưa bằng cách kiểm tra vị trí cột HP (hoặc 1 vị trí đặc biệt nào đó chỉ xuất hiện khi vào trận :D)
2. Kiểm tra đã đến turn mình đánh chưa bằng cách kiểm tra sự xuất hiện của bảng chọn lệnh
3. Bấm phím F2 hoặc click vào vị trí F2 sau đó click lần lượt từng vị trí từ pos 1 đến 10 (ai chơi TS sẽ biết vị trí các pos ;)) )
việc kiểm tra sự xuất hiện của bảng chọn lệnh được thực hiện suốt trận đấu nên nếu bấm F2 mà click trúng vị trí ko có quái hoặc quái die thì bảng chọn lệnh vẫn không mất đi do đó sẽ click từng vị trí đến khi nào trúng quái thì thôi.
----------------
ai có thời gian thì làm thử nha. chiều mình đi làm nên tối nay sẽ post script lên :D

Ông lại muốn đi theo vết xe đổ của lão KentNguyen à, ông ấy làm hôm qua post lên bị tui chê quá trời vì cái ý nghĩ dở ẹc đó còn gì, nếu cứ click từ pos 1 đến pos 10 thì đúng là bị hâm, hôm qua chạy cái đó thì QV ko thể nào skill đc vì nó cứ chạy từ 1 - 10 nên turn khác là nó đánh vào quái = đánh thường :)
Ông cứ làm như tui nói nè, cứ cho QV ấn vào con pos 3, rồi pet alt + Q, sau khi đến turn 2 có phải QV cũng mất 1 lượt ko, nó click miss kệ nó, pet vẫn alt + Q bình thường và trận đấu diễn ra rất bình thường mà ;;)


Tớ share cái script này lên cho mọi ng dùng nhé, nó chỉ là script thôi, nhưng nó cực kì thông minh đó, các cậu dùng thử nhé, tớ cũng chỉ lấy của 1 người bạn thôi, nhưng vì auto của bạn ấy nên tớ phát triển thêm 1 chút để làm nó thông minh hơn ;)

Quá trình làm việc của auto:
- Đầu tiên bạn ko phải mở bảng auto lên rồi ấn vào bắt đầu rồi mới chạy script làm gì cả, bạn cứ mở script lên và nó tự bấm vào đôi giày, bấm vào start và tắt bảng đó đi.
- Sau đó, nó bắt đầu đếm giờ từ acc thứ 1 đến acc thứ 5 , khi đến acc thứ 5 nó sẽ tự động đếm xem là bao nhiêu giây rồi, nếu chưa đủ 3600 giây thì lại quay về acc 1 và tiếp tục qua các acc khác auto, nhưng khi đã đủ 3600 giây thì nó sẽ quay về acc đầu tiên và click vào đôi giày và auto tiếp ( trong trận vẫn thoải mái)
- Còn phần send alt+ Z và auto Quỷ vực đây, tớ lấy khoảng màu là cái số chạy giây đếm ngược từ 20 về 0 trọng trận đấu, các bạn để ý nhé, chỉ có trong trận đấu mới có cái số đếm ngược đó, và khi đã bắt đầu đánh quái rồi cái số đó cũng biến mất đúng ko ? Vậy tớ sẽ để nếu có cái số đếm ngược đó, thì nó qua từng cửa sổ và send nhanh alt Z với thời gian là 0,1 giây thôi, vì thế, cứ khi vào trận đấu nó sẽ di chuyển nhanh hết các cửa sổ để đến con QUỷ vực, và nó sẽ làm thao tác auto ( click chuột phải vào skill ở F1, ấn vào quái, và send alt + Q cho pet , đến turn 2 kể cả quái vật chết, thì pet vẫn send alt + Q như thường ) => như vậy, 1 trận đánh của bạn cũng vẫn đều đều là 18 giây, chậm hơn thì 16 giây là hết cỡ, ko tốn time cho các bạn chuyển từ từ các acc. Nếu ko có giây đếm ngược, nó vẫn di chuyển từ từ 3 giây 1 lần qua các cửa sổ nhé :)
CHúc các bạn vui vẻ !!!



WinActivate,C? Long Online LýH?ngT?u[UID: 3164] (Trich Boi-Kênh 4),
MouseClick, left, 798, 551
Sleep, 500
MouseClick, left, 564, 472
Sleep, 500
MouseClick, left, 798, 551
Sleep, 500

Loop
{
StartTime := A_TickCount
Goto, Key1
Key1:
loop
{
WinActivate,C? Long Online LýH?ngT?u[UID: 3164] (Trich Boi-Kênh 4),
PixelSearch, Px, Py, 358, 79, 460, 172, 0xFEFEFE
IF Errorlevel
{
Sleep 3000

}
else
{
Send,!z
Sleep 100

}



WinActivate,C? Long Online HardKiss[UID: 2769] (Trich Boi-Kênh 4),
PixelSearch, Px, Py, 358, 79, 460, 172, 0xFEFEFE
IF Errorlevel
{
Sleep 3000

}
else
{
Send,!z
Sleep 100

}



WinActivate,C? Long Online _Hard Kiss_[UID: 6010] (Trich Boi-Kênh 4),
PixelSearch, Px, Py, 358, 79, 460, 172, 0xFEFEFE
IF Errorlevel
{
Sleep 3000

}
else
{
MouseClick, right, 412, 555
Sleep, 500
MouseClick, left, 229, 177
Sleep, 500
Send,!q
Sleep, 500
}

WinActivate,C? Long Online S?LuuHuong[UID: 3020] (Trich Boi-Kênh 4),
PixelSearch, Px, Py, 358, 79, 460, 172, 0xFEFEFE
IF Errorlevel
{
Sleep 3000

}
else
{
Send,!z
Sleep 100

}

WinActivate,C? Long Online TôDungDung[UID: 3219] (Trich Boi-Kênh 4),
PixelSearch, Px, Py, 358, 79, 460, 172, 0xFEFEFE
IF Errorlevel
{
Sleep 3000

}
else
{
Send,!z
Sleep 100

}
Goto, Key5
}
Key5:
PlayTime := A_TickCount - StartTime
If PlayTime < 3600000
Goto, Key1
Else
Goto, Key6

Key6:
WinActivate,C? Long Online LýH?ngT?u[UID: 3164] (Trich Boi-Kênh 4),
MouseClick, left, 798, 551
Sleep, 500
MouseClick, left, 564, 472
Sleep, 500
MouseClick, left, 798, 551
Sleep, 500

}


F5::Pause ;
 
Mã:
	WinActivate,C? Long Online LýH?ngT?u[UID: 3164] (Trich Boi-Kênh 4),
		MouseClick, left, 798, 551					;[B][COLOR="Red"] Vi trí đôi giày Click lần 1[/COLOR][/B]
		Sleep, 500
		MouseClick, left, 564, 472					;[B][COLOR="Red"] Vị trí chữ "Bắt đầu" hỏi bạn MắtBuồnViAnh xem đăt bảng ntn ?[/COLOR][/B]
		Sleep, 500
		MouseClick, left, 798, 551					; [B][COLOR="Red"]Vi trí đôi giày Click lần 1[/COLOR][/B]
		Sleep, 500

Loop
{
StartTime := A_TickCount
Goto, Key1
Key1:
loop
{
	WinActivate,C? Long Online LýH?ngT?u[UID: 3164] (Trich Boi-Kênh 4),
	PixelSearch, Px, Py, 360,111,365,111,0xFEFEFE,Fast           	             ; [B][COLOR="Red"]Đã thu hẹp lại khoảng Pixel search giảm thời gian Activate các cửa số khác[/COLOR][/B]
IF Errorlevel
	Goto, Key1
else
{
		Send,!z							
		Sleep 100
	WinActivate,C? Long Online _Hard Kiss_[UID: 6010] (Trich Boi-Kênh 4),	;[B][COLOR="Red"] Acc Quỉ Vực cần Skill điền tên vào đây ()	[/COLOR][/B]
		MouseClick, right, 412, 555					;[B][COLOR="Red"] Skill để Vi trí F1 thì fải (Hỏi MắtBuồnVìAnh )	[/COLOR][/B]
		Sleep, 500
		MouseClick, left, 229, 177
		Sleep, 500
		Send,!q
		Sleep, 100
	WinActivate,C? Long Online S?LuuHuong[UID: 3020] (Trich Boi-Kênh 4),
		Send,!z
		Sleep 100
	WinActivate,C? Long Online TôDungDung[UID: 3219] (Trich Boi-Kênh 4),
		Send,!z
		Sleep 100		
	WinActivate,C? Long Online HardKiss[UID: 2769] (Trich Boi-Kênh 4),
		Send,!z
		Sleep 100


	Goto, Key5
}


Key5:
	PlayTime := A_TickCount - StartTime
	If PlayTime < 3600000
	Goto, Key1
	Else
	Goto, Key6

Key6:
	WinActivate,C? Long Online LýH?ngT?u[UID: 3164] (Trich Boi-Kênh 4),
		MouseClick, left, 798, 551
		Sleep, 100
		MouseClick, left, 564, 472
		Sleep, 100
		MouseClick, left, 798, 551
		Sleep, 100

}


F5::Pause


Lưu Ý :
Vì bạn MBVA tích hợp thêm đoạn Start ngay từ lúc đầu nên các bạn nào sài thì trước khi sài nên dẫn chạy bộ để gặp quái và đánh quái qua 1 lần để chỉnh skill rồi từ lần thứ 2 các bạn hãy nhấn Auto .
Các bạn nên thay Alt + Z = 2 lần Alt+ Q sẽ hoạt động hiệu quả hơn và nhanh hơn là cứ fải đợi tới 18s
@ MBVA : Thêm thông tin cho người dùng gồm : Vi trí chữ Start + Vi trí để skill của QV di bạn .
Mình đã thu ngắn khoảng cách các mã màu rồi để cửa sổ Active không hoạt động nhiều cụ thể là sau 1 lựơt (Mất số 20 )sẽ h0k Active nữa


Và đây cũng là Auto mình dang dùng


ak ! Do nhiều màn hình có thiết kế khác nhau nên các bạn nào h0k Auto dc thì nên chụp 1 tấm hình khi vào trận oánh có số đếm lùi rồi kiểm tra xem dúng mã màu h0k . (LCD Dell hình như có mã màu khác)
 
Ông lại muốn đi theo vết xe đổ của lão KentNguyen à, ông ấy làm hôm qua post lên bị tui chê quá trời vì cái ý nghĩ dở ẹc đó còn gì, nếu cứ click từ pos 1 đến pos 10 thì đúng là bị hâm, hôm qua chạy cái đó thì QV ko thể nào skill đc vì nó cứ chạy từ 1 - 10 nên turn khác là nó đánh vào quái = đánh thường :)
Ông cứ làm như tui nói nè, cứ cho QV ấn vào con pos 3, rồi pet alt + Q, sau khi đến turn 2 có phải QV cũng mất 1 lượt ko, nó click miss kệ nó, pet vẫn alt + Q bình thường và trận đấu diễn ra rất bình thường mà ;;)

ko hiểu ý tôi à...nếu auto click vào pos 3 mà trúng thì nó ko click tiếp pos khác nữa vì bảng chọn lệnh biến mất rồi ==> làm sao có chuyện click loạn lên được :))
nếu chỉ click pos 3 thôi mà đến turn 3 chưa hết quái thì sao ????
-------------------------------------------------------------------------------------------
auto send Alt+Z cho tất cả cửa sổ game không cần chuyển cửa sổ nè:
http://www.mediafire.com/?gdzwkd4mwnj
ai muốn tự compile thì code đây:
Mã:
Global $n, $hwnd
Global $gametitle="Cổ Long Online"
Global $Pause=0

HotKeySet("{Pause}","TogglePause")
HotKeySet("^{Pause}","TogglePause")
HotKeySet("!{Pause}","TogglePause")
HotKeySet("+{Pause}","TogglePause")
HotKeySet("{ESC}","Terminate")
HotKeySet("!{ESC}","Terminate")

;Opt("SendCapslockMode", 0)
Opt("SendKeyDelay", 9)          ;9 milliseconds
Opt("SendKeyDownDelay", 9)      ;9 millisecond

While Not $Pause
		If $Pause=1 And WinActive($gametitle) Then
			ToolTip("Auto Paused",0,0)
			ToolTip(
		EndIf
		If $Pause=0 And WinActive($gametitle) Then
			ToolTip("Auto Running",0,0)
		EndIf
		$aWin=WinList("Cổ Long Online")
		For $n = 1 To $aWin[0][0]
			;ControlSend($aWin[$n][1],"","","!z")
			ControlSendPlus($aWin[$n][1],"","","!z",4)

		Next
		Sleep(5000); thời gian dừng giữa các lần send key
	WEnd
Func TogglePause()
	$Pause=Not $Pause
EndFunc
Func Terminate()
	MsgBox(0,"Bye bye","Auto Co Long Online by HEROSE")
	Exit
EndFunc

Func ControlSendPlus($title, $text, $className, $string, $flag)
;VERSION 2.0.3 (06/13/2004)
Local $ctrl=0,$alt=0,$upper,$start,$end,$i,$char,$and,$Chr5Index,$isUpper,$ret
If $flag = 2 OR $flag = 3 Then $ctrl = 1
If $flag = 2 OR $flag = 4 Then $alt = 1
If $flag <> 1 Then $flag = 0;set the flag to the default function style
$upper = StringSplit('~!@#$%^&*()_+|{}:"<>?ABCDEFGHIJKLMNOPQRSTUVWXYZ', "")

If $flag <> 1 Then;don't replace special chars if it's raw mode
;replace {{} and {}} with +[ and +] so they will be displayed properly
  $string = StringReplace($string, "{{}", "+[")
  $string = StringReplace($string, "{}}", "+]")
;replace all special chars with Chr(5)
;add the special char to an array.  each Chr(5) corresponds with an element
  Local $Chr5[StringLen($string) / 2 + 1]
  For $i = 1 To StringLen($string)
    $start = StringInStr($string, "{")
    If $start = 0 Then ExitLoop;no more open braces, so no more special chars
    $end = StringInStr($string, "}")
    If $end = 0 Then ExitLoop;no more close braces, so no more special chars
;parse inside of braces:
    $Chr5[$i] = StringMid($string, $start, $end - $start + 1)
;replace with Chr(5) leaving the rest of the string:
    $string = StringMid($string, 1, $start - 1) & Chr(5) & _
     StringMid($string, $end + 1, StringLen($string))
  Next
;take out any "!", "^", or "+" characters
;add them to the $Modifiers array to be used durring key sending
  Local $Modifiers[StringLen($string) + 1]
  For $i = 1 To StringLen($string)
    $char = StringMid($string, $i, 1)
    $and = 0
    If $char = "+" Then
      $and = 1
    ElseIf $char = "^" Then
      $and = 2
    ElseIf $char = "!" Then
      $and = 4
    ElseIf $char = "" Then
      ExitLoop
    EndIf
    If $and <> 0 Then
      $Modifiers[$i] = BitOR($Modifiers[$i], $and)
      $string = StringMid($string, 1, $i - 1) & _
       StringMid($string, $i + 1, StringLen($string))
      $i = $i - 1
    EndIf
  Next
Else;it is raw mode, so set up an all-0 modifier array
  Local $Modifiers[StringLen($string) + 1]
EndIf

;now send the chars
$Chr5Index = 1
For $i = 1 To StringLen($string)
  $char = StringMid($string, $i, 1)
  If $char = Chr(5) Then
    $char = $Chr5[$Chr5Index]
    $Chr5Index = $Chr5Index + 1
  EndIf
  $isUpper = 0
  For $j = 1 To UBound($upper) - 1
    If $char == $upper[$j] Then $isUpper = 1
  Next
;1 SHIFT, 2 CTRL, 4 ALT (programmer note to keep the bits straight)
  If $isUpper = 1 OR BitAND($Modifiers[$i], 1) = 1 Then Send("{SHIFTDOWN}")
  If BitAND($Modifiers[$i], 4) = 4 AND NOT $alt Then $char = "!" & $char
  If BitAND($Modifiers[$i], 2) = 2 AND NOT $ctrl Then $char = "^" & $char
  If BitAND($Modifiers[$i], 4) = 4 AND $alt Then Send("{ALTDOWN}")
  If BitAND($Modifiers[$i], 2) = 2 AND $ctrl Then Send("{CTRLDOWN}")
  $ret = ControlSend($title, $text, $className, $char, $flag)
  If BitAND($Modifiers[$i], 4) = 4 AND $alt Then Send("{ALTUP}")
  If BitAND($Modifiers[$i], 2) = 2 AND $ctrl Then Send("{CTRLUP}")
  If $isUpper = 1 OR BitAND($Modifiers[$i], 1) = 1 Then Send("{SHIFTUP}")
  If NOT $ret Then return 0;window or control not found
Next
return 1
EndFunc
 
bác Chủ "Thớt" ơi ! sao chưa thấy bác ra bản auto mới vậy:(! Nhanh Lên Nha :D
 
rồiiiiii.....xong !
auto skill F2 dành cho QV hoặc TYL ngon lành :D
test với TYL đi Diệt Thanh 2h ko thấy lỗi ;))
http://www.mediafire.com/?zfktmyzjdty
------------------
đặt skill cần đánh ở ô F2 và chạy auto
 
rồiiiiii.....xong !
auto skill F2 dành cho QV hoặc TYL ngon lành :D
test với TYL đi Diệt Thanh 2h ko thấy lỗi ;))
http://www.mediafire.com/?zfktmyzjdty
------------------
đặt skill cần đánh ở ô F2 và chạy auto

Các auto khác của ông xài bình thường, riêng auto skill F1 F2 của ông ko bao giờ tôi xài đc, kể cả bạn tui cũng thế :-w
mở auto lên, xong! Nó cứ trơ ra như vậy ko làm gì hết :|
Tui thử các máy rồi đều ko đc, mọi ng cho ý kiến !!
Và mong ông làm auto thay cái icon nào đẹp đẹp 1 tí, ông để cái đó có thể là ng yêu ông hoặc gì đó của ông ông thấy thích, nhưng tôi nghĩ người ta sẽ ko thích đâu ;)
 
rồiiiiii.....xong !
auto skill F2 dành cho QV hoặc TYL ngon lành :D
test với TYL đi Diệt Thanh 2h ko thấy lỗi ;))
http://www.mediafire.com/?zfktmyzjdty
------------------
đặt skill cần đánh ở ô F2 và chạy auto

Ko Được Bác Ơi :| em Để skill f2 hay f1 nó vẫn chả làm gì =.=

Bác Xem Lại Dùm Em =.=

Và Hỏi Tiện tHể Bác Nào Có Thể Cho Em Xin 1 Auto Chỉ QV 3 Mt đc ko

Em Xin Cám Ơn Nhiều :P
 
Các auto khác của ông xài bình thường, riêng auto skill F1 F2 của ông ko bao giờ tôi xài đc, kể cả bạn tui cũng thế :-w
mở auto lên, xong! Nó cứ trơ ra như vậy ko làm gì hết :|
Tui thử các máy rồi đều ko đc, mọi ng cho ý kiến !!
Và mong ông làm auto thay cái icon nào đẹp đẹp 1 tí, ông để cái đó có thể là ng yêu ông hoặc gì đó của ông ông thấy thích, nhưng tôi nghĩ người ta sẽ ko thích đâu ;)

hơ....không dùng được thật sao
vậy thì thử down file này rồi extract vào thư mục Data của game xem nào
test giúp tôi nha :|
 

Attachments

Cái Scrip của bác MBVA cho em hỏi là skill đặt ở ô f mấy thế ạ
 
mình nghĩ bạn auto phải nên có tự động ăn keo cho trợ thủ , cứ trian nữa đêm dậy ăn kẹo cho pet thì khá mệt đúng không!!!
 
mình nghĩ bạn auto phải nên có tự động ăn keo cho trợ thủ , cứ trian nữa đêm dậy ăn kẹo cho pet thì khá mệt đúng không!!!

đc voi đòi tiên =.="
cái tự động ăn kẹo rất khó viết
nuốt cục bích tâm đan đi bạn :)
 
Cái Scrip của bác MBVA cho em hỏi là skill đặt ở ô f mấy thế ạ

Skill đặt ở F1 bạn à .
Bảng auto chạy thì đặt ở góc mặc định
Click vào quái là con quái ở giữa bên trên
 
đc voi đòi tiên =.="
cái tự động ăn kẹo rất khó viết
nuốt cục bích tâm đan đi bạn :)


chài đã nói auto pro thì phải đa năng chứ [-X!!! mình có ý tưởng thế này tại sao mình không bật sẵn cái bảng dùng đồ cho trợ thủ tại một vị trí cố định nào đó(nhớ là phải chọn trợ thủ đang dùng ), sau đó đặt (Kẹo) tại 1 ô cố định chẳng hạn như trên cùng về phía bên phải , sau đó cho auto cứ mỗi 30 phút kich 1 lần để ăn (Kẹo). Như vậy mình nghĩ auto cũng có thể tự động ăn (Kẹo ) được đó ;)
 
chài đã nói auto pro thì phải đa năng chứ [-X!!! mình có ý tưởng thế này tại sao mình không bật sẵn cái bảng dùng đồ cho trợ thủ tại một vị trí cố định nào đó(nhớ là phải chọn trợ thủ đang dùng ), sau đó đặt (Kẹo) tại 1 ô cố định chẳng hạn như trên cùng về phía bên phải , sau đó cho auto cứ mỗi 30 phút kich 1 lần để ăn (Kẹo). Như vậy mình nghĩ auto cũng có thể tự động ăn (Kẹo ) được đó ;)
ngồi đó mà chờ sung rụng T_T ... nói thật là cái ăn kẹo rất rắc rối chứ ko fải dễ như bơm máu đâu
 
Có Auto mà dùng là tốt rồi ! Nếu Không cứ Auto trong game mà xài :)) ! Đánh Được 25 lượt :))
 
Kỳ Lạ Thật :-s . Em Dùng Scrip Của Bác MBVA =.= Tại Sao Ko Auto Đc 3 MT QV :-s .

Hix =.= . Liệu Có Phải Là Cấu Trúc Pixel của máy LCD khác =.=
 
auto cho trợ thủ ăn keo hả có luôn 20k đây tớ chỉ cho :D
 
mò đc cách ko chiếm chụt chưa :p ^^
 
ko hiểu ý tôi à...nếu auto click vào pos 3 mà trúng thì nó ko click tiếp pos khác nữa vì bảng chọn lệnh biến mất rồi ==> làm sao có chuyện click loạn lên được :))
nếu chỉ click pos 3 thôi mà đến turn 3 chưa hết quái thì sao ????
-------------------------------------------------------------------------------------------
auto send Alt+Z cho tất cả cửa sổ game không cần chuyển cửa sổ nè:
http://www.mediafire.com/?gdzwkd4mwnj
ai muốn tự compile thì code đây:
Mã:
Global $n, $hwnd
Global $gametitle="Cổ Long Online"
Global $Pause=0

HotKeySet("{Pause}","TogglePause")
HotKeySet("^{Pause}","TogglePause")
HotKeySet("!{Pause}","TogglePause")
HotKeySet("+{Pause}","TogglePause")
HotKeySet("{ESC}","Terminate")
HotKeySet("!{ESC}","Terminate")

;Opt("SendCapslockMode", 0)
Opt("SendKeyDelay", 9)          ;9 milliseconds
Opt("SendKeyDownDelay", 9)      ;9 millisecond

While Not $Pause
		If $Pause=1 And WinActive($gametitle) Then
			ToolTip("Auto Paused",0,0)
			ToolTip(
		EndIf
		If $Pause=0 And WinActive($gametitle) Then
			ToolTip("Auto Running",0,0)
		EndIf
		$aWin=WinList("Cổ Long Online")
		For $n = 1 To $aWin[0][0]
			;ControlSend($aWin[$n][1],"","","!z")
			ControlSendPlus($aWin[$n][1],"","","!z",4)

		Next
		Sleep(5000); thời gian dừng giữa các lần send key
	WEnd
Func TogglePause()
	$Pause=Not $Pause
EndFunc
Func Terminate()
	MsgBox(0,"Bye bye","Auto Co Long Online by HEROSE")
	Exit
EndFunc

Func ControlSendPlus($title, $text, $className, $string, $flag)
;VERSION 2.0.3 (06/13/2004)
Local $ctrl=0,$alt=0,$upper,$start,$end,$i,$char,$and,$Chr5Index,$isUpper,$ret
If $flag = 2 OR $flag = 3 Then $ctrl = 1
If $flag = 2 OR $flag = 4 Then $alt = 1
If $flag <> 1 Then $flag = 0;set the flag to the default function style
$upper = StringSplit('~!@#$%^&*()_+|{}:"<>?ABCDEFGHIJKLMNOPQRSTUVWXYZ', "")

If $flag <> 1 Then;don't replace special chars if it's raw mode
;replace {{} and {}} with +[ and +] so they will be displayed properly
  $string = StringReplace($string, "{{}", "+[")
  $string = StringReplace($string, "{}}", "+]")
;replace all special chars with Chr(5)
;add the special char to an array.  each Chr(5) corresponds with an element
  Local $Chr5[StringLen($string) / 2 + 1]
  For $i = 1 To StringLen($string)
    $start = StringInStr($string, "{")
    If $start = 0 Then ExitLoop;no more open braces, so no more special chars
    $end = StringInStr($string, "}")
    If $end = 0 Then ExitLoop;no more close braces, so no more special chars
;parse inside of braces:
    $Chr5[$i] = StringMid($string, $start, $end - $start + 1)
;replace with Chr(5) leaving the rest of the string:
    $string = StringMid($string, 1, $start - 1) & Chr(5) & _
     StringMid($string, $end + 1, StringLen($string))
  Next
;take out any "!", "^", or "+" characters
;add them to the $Modifiers array to be used durring key sending
  Local $Modifiers[StringLen($string) + 1]
  For $i = 1 To StringLen($string)
    $char = StringMid($string, $i, 1)
    $and = 0
    If $char = "+" Then
      $and = 1
    ElseIf $char = "^" Then
      $and = 2
    ElseIf $char = "!" Then
      $and = 4
    ElseIf $char = "" Then
      ExitLoop
    EndIf
    If $and <> 0 Then
      $Modifiers[$i] = BitOR($Modifiers[$i], $and)
      $string = StringMid($string, 1, $i - 1) & _
       StringMid($string, $i + 1, StringLen($string))
      $i = $i - 1
    EndIf
  Next
Else;it is raw mode, so set up an all-0 modifier array
  Local $Modifiers[StringLen($string) + 1]
EndIf

;now send the chars
$Chr5Index = 1
For $i = 1 To StringLen($string)
  $char = StringMid($string, $i, 1)
  If $char = Chr(5) Then
    $char = $Chr5[$Chr5Index]
    $Chr5Index = $Chr5Index + 1
  EndIf
  $isUpper = 0
  For $j = 1 To UBound($upper) - 1
    If $char == $upper[$j] Then $isUpper = 1
  Next
;1 SHIFT, 2 CTRL, 4 ALT (programmer note to keep the bits straight)
  If $isUpper = 1 OR BitAND($Modifiers[$i], 1) = 1 Then Send("{SHIFTDOWN}")
  If BitAND($Modifiers[$i], 4) = 4 AND NOT $alt Then $char = "!" & $char
  If BitAND($Modifiers[$i], 2) = 2 AND NOT $ctrl Then $char = "^" & $char
  If BitAND($Modifiers[$i], 4) = 4 AND $alt Then Send("{ALTDOWN}")
  If BitAND($Modifiers[$i], 2) = 2 AND $ctrl Then Send("{CTRLDOWN}")
  $ret = ControlSend($title, $text, $className, $char, $flag)
  If BitAND($Modifiers[$i], 4) = 4 AND $alt Then Send("{ALTUP}")
  If BitAND($Modifiers[$i], 2) = 2 AND $ctrl Then Send("{CTRLUP}")
  If $isUpper = 1 OR BitAND($Modifiers[$i], 1) = 1 Then Send("{SHIFTUP}")
  If NOT $ret Then return 0;window or control not found
Next
return 1
EndFunc

sao tui copy code của bác về mà không chạy được nhỉ? Nó không thể list đc cửa sổ game. Trong khi down file exe về lại chạy ngon, lạ thật. Bác xem lại tí được không?
 
sao tui copy code của bác về mà không chạy được nhỉ? Nó không thể list đc cửa sổ game. Trong khi down file exe về lại chạy ngon, lạ thật. Bác xem lại tí được không?

xem lại các ký tự tiếng Việt có hiển thị đúng không
 
Back
Top