카테고리 없음
돌키우기 매크로 스크립트 공유 (오토잇)
시스이
2017. 11. 30. 13:45
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <WinAPI.au3>
#include <ScreenCapture.au3>
global $y = 0, $x = 0, $Input[39],$title
If WinGetTitle('NoxPlayer')<> '' Then
$title=WinGetTitle('NoxPlayer')
Else
$title=WinGetTitle('Bộ giả lập android Nox')
EndIf
#Region ### START Koda GUI section ### Form=c:\users\administrator\desktop\growstone\form1.kxf
$Form1 = GUICreate("Form1", 283, 139, 192, 124)
$Button1 = GUICtrlCreateButton("2.RUN | Ctrl+Q = stop", 56, 88, 139, 41)
$Button2 = GUICtrlCreateButton("1.Move", 8, 88, 43, 41)
$Label1 = GUICtrlCreateLabel("", 200, 104, 36, 17, $WS_BORDER)
$Label2 = GUICtrlCreateLabel("", 246, 104, 36, 17, $WS_BORDER)
$Label3 = GUICtrlCreateLabel("", 200, 120, 36, 17, $WS_BORDER)
$Label4 = GUICtrlCreateLabel("", 246, 120, 36, 17, $WS_BORDER)
$Label5 = GUICtrlCreateLabel("", 200, 0, 84, 81, $WS_BORDER)
$Label6 = GUICtrlCreateLabel("", 200, 84, 65, 17, $WS_BORDER)
;~ $Label7 = GUICtrlCreateLabel("00", 268, 84, 16, 17, $WS_BORDER)
$Input[00] = GUICtrlCreateInput("", 8, 8, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[01] = GUICtrlCreateInput("", 32, 8, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[02] = GUICtrlCreateInput("", 56, 8, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[03] = GUICtrlCreateInput("", 80, 8, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[04] = GUICtrlCreateInput("", 104, 8, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[05] = GUICtrlCreateInput("", 128, 8, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[06] = GUICtrlCreateInput("", 152, 8, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[07] = GUICtrlCreateInput("", 176, 8, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[10] = GUICtrlCreateInput("", 8, 32, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[11] = GUICtrlCreateInput("", 32, 32, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[12] = GUICtrlCreateInput("", 56, 32, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[13] = GUICtrlCreateInput("", 80, 32, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[14] = GUICtrlCreateInput("", 104, 32, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[15] = GUICtrlCreateInput("", 128, 32, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[16] = GUICtrlCreateInput("", 152, 32, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[17] = GUICtrlCreateInput("", 176, 32, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[20] = GUICtrlCreateInput("", 8, 56, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[21] = GUICtrlCreateInput("", 32, 56, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[22] = GUICtrlCreateInput("", 56, 56, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[23] = GUICtrlCreateInput("", 80, 56, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[24] = GUICtrlCreateInput("", 104, 56, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[25] = GUICtrlCreateInput("", 128, 56, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[26] = GUICtrlCreateInput("", 152, 56, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$Input[27] = GUICtrlCreateInput("", 176, 56, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
HotKeySet("^q",'dung')
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button2
WinMove(WinGetTitle($title),'',0,0,511,708)
MouseClickDrag('left',70,0,70,20,1)
MouseClickDrag('left',70,20,70,0,1)
Case $Button1
GUICtrlSetBkColor($Label5,0x00FF00)
reset()
For $i=3 to 21
Switch $i
Case 3
lv($i,0x3C3C3C,0x3C3C3C,0x3C3C3C)
Case 4
lv($i,0x443C48,0x443C48,0x443C48)
Case 5
lv($i,0x8A4122,0x71310E,0x7B3716)
Case 6
lv($i,0xFFFFFF,0xFFFFFF,0xFFFFFF)
Case 7
lv($i,0xC66518,0xC66518,0xC66518)
Case 8
lv($i,0x215942,0x143427,0x194231)
Case 9
lv($i,0x7CCD3C,0x89D745,0x6ABE30)
Case 10
lv($i,0x0FB0FD,0x0FB0FD,0x0FB0FD)
Case 11
lv($i,0x6D2E0B,0x6D2E0B,0x4B1F08)
Case 12
lv($i,0x9F5534,0x743411,0x85401F)
Case 13
lv($i,0x9F9F9F,0x9F9F9F,0x9F9F9F)
;~ Case 5
;~ lv($i,)
EndSwitch
Next
GUICtrlSetBkColor($Label5,0xFF3333)
Sleep(800)
ControlClick('Form1','',3,'left',2,54, 21)
EndSwitch
WEnd
func lv($i,$color1,$color2,$color3)
GUICtrlSetData($Label6,'LV '&$i)
chupanh($title)
For $i2=0 to 7
Switch $i
case 3 ;========333==========
$search1 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(529+(0*53)))
$search2 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(529+(1*53)))
$search3 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(529+(2*53)))
If $search1= $color1 Then GUICtrlSetData($Input[0&$i2],$i)
If $search2= $color2 Then GUICtrlSetData($Input[1&$i2],$i)
If $search3= $color3 Then GUICtrlSetData($Input[2&$i2],$i)
case 4 ;========111==========
$search1 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(514+(0*53)))
$search2 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(514+(1*53)))
$search3 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(514+(2*53)))
If $search1= $color1 Then GUICtrlSetData($Input[0&$i2],$i)
If $search2= $color2 Then GUICtrlSetData($Input[1&$i2],$i)
If $search3= $color3 Then GUICtrlSetData($Input[2&$i2],$i)
case 5 ;========222==========
$search1 =_PixelGetColorKhongTask($title,Abs(54+($i2*53)), Abs(521+(0*53)))
$search2 =_PixelGetColorKhongTask($title,Abs(54+($i2*53)), Abs(521+(1*53)))
$search3 =_PixelGetColorKhongTask($title,Abs(54+($i2*53)), Abs(521+(2*53)))
If $search1= $color1 Then GUICtrlSetData($Input[0&$i2],$i)
If $search2= $color2 Then GUICtrlSetData($Input[1&$i2],$i)
If $search3= $color3 Then GUICtrlSetData($Input[2&$i2],$i)
case 6 ;========222==========
$search1 =_PixelGetColorKhongTask($title,Abs(54+($i2*53)), Abs(521+(0*53)))
$search2 =_PixelGetColorKhongTask($title,Abs(54+($i2*53)), Abs(521+(1*53)))
$search3 =_PixelGetColorKhongTask($title,Abs(54+($i2*53)), Abs(521+(2*53)))
If $search1= $color1 Then GUICtrlSetData($Input[0&$i2],$i)
If $search2= $color2 Then GUICtrlSetData($Input[1&$i2],$i)
If $search3= $color3 Then GUICtrlSetData($Input[2&$i2],$i)
Case 7 ;========222==========
$search1 =_PixelGetColorKhongTask($title,Abs(54+($i2*53)), Abs(521+(0*53)))
$search2 =_PixelGetColorKhongTask($title,Abs(54+($i2*53)), Abs(521+(1*53)))
$search3 =_PixelGetColorKhongTask($title,Abs(54+($i2*53)), Abs(521+(2*53)))
If $search1= $color1 Then GUICtrlSetData($Input[0&$i2],$i)
If $search2= $color2 Then GUICtrlSetData($Input[1&$i2],$i)
If $search3= $color3 Then GUICtrlSetData($Input[2&$i2],$i)
case 8 ;========444==========
$search1 =_PixelGetColorKhongTask($title,Abs(39+($i2*53)), Abs(521+(0*53)))
$search2 =_PixelGetColorKhongTask($title,Abs(39+($i2*53)), Abs(521+(1*53)))
$search3 =_PixelGetColorKhongTask($title,Abs(39+($i2*53)), Abs(521+(2*53)))
If $search1= $color1 Then GUICtrlSetData($Input[0&$i2],$i)
If $search2= $color2 Then GUICtrlSetData($Input[1&$i2],$i)
If $search3= $color3 Then GUICtrlSetData($Input[2&$i2],$i)
case 9 ;========333==========
$search1 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(529+(0*53)))
$search2 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(529+(1*53)))
$search3 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(529+(2*53)))
If $search1= $color1 Then GUICtrlSetData($Input[0&$i2],$i)
If $search2= $color2 Then GUICtrlSetData($Input[1&$i2],$i)
If $search3= $color3 Then GUICtrlSetData($Input[2&$i2],$i)
case 10 ;========333==========
$search1 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(529+(0*53)))
$search2 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(529+(1*53)))
$search3 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(529+(2*53)))
If $search1= $color1 Then GUICtrlSetData($Input[0&$i2],$i)
If $search2= $color2 Then GUICtrlSetData($Input[1&$i2],$i)
If $search3= $color3 Then GUICtrlSetData($Input[2&$i2],$i)
case 11 ;========111==========
$search1 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(514+(0*53)))
$search2 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(514+(1*53)))
$search3 =_PixelGetColorKhongTask($title,Abs(46+($i2*53)), Abs(514+(2*53)))
If $search1= $color1 Then GUICtrlSetData($Input[0&$i2],$i)
If $search2= $color2 Then GUICtrlSetData($Input[1&$i2],$i)
If $search3= $color3 Then GUICtrlSetData($Input[2&$i2],$i)
Case 12 ;========444==========
$search1 =_PixelGetColorKhongTask($title,Abs(39+($i2*53)), Abs(521+(0*53)))
$search2 =_PixelGetColorKhongTask($title,Abs(39+($i2*53)), Abs(521+(1*53)))
$search3 =_PixelGetColorKhongTask($title,Abs(39+($i2*53)), Abs(521+(2*53)))
If $search1= $color1 Then GUICtrlSetData($Input[0&$i2],$i)
If $search2= $color2 Then GUICtrlSetData($Input[1&$i2],$i)
If $search3= $color3 Then GUICtrlSetData($Input[2&$i2],$i)
Case 13 ;========444==========
$search1 =_PixelGetColorKhongTask($title,Abs(39+($i2*53)), Abs(521+(0*53)))
$search2 =_PixelGetColorKhongTask($title,Abs(39+($i2*53)), Abs(521+(1*53)))
$search3 =_PixelGetColorKhongTask($title,Abs(39+($i2*53)), Abs(521+(2*53)))
If $search1= $color1 Then GUICtrlSetData($Input[0&$i2],$i)
If $search2= $color2 Then GUICtrlSetData($Input[1&$i2],$i)
If $search3= $color3 Then GUICtrlSetData($Input[2&$i2],$i)
EndSwitch
Next
For $qw=0 to 10
mousedrag($i)
Next
EndFunc
Func mousedrag($i)
Local $a=WinGetPos($title,'')
for $1=0 to 2
for $2=0 to 7
If GUICtrlRead($Input[$1&$2]) = $i Then
GUICtrlSetData($Input[$1&$2],'')
GUICtrlSetData($Label1,Abs($a[0]+45+($2*53)))
GUICtrlSetData($Label2,Abs($a[1]+521+($1*53)))
ExitLoop(2)
EndIf
Next
Next
for $1=2 to 0 Step -1
for $2=7 to 0 Step -1
If GUICtrlRead($Input[$1&$2]) = $i Then
GUICtrlSetData($Input[$1&$2],'')
GUICtrlSetData($Label3,Abs($a[0]+45+($2*53)) )
GUICtrlSetData($Label4,Abs($a[1]+520+($1*53)) )
ExitLoop(2)
EndIf
Next
Next
If GUICtrlRead($Label3)<>'' Then
If GUICtrlRead($Label1)<> GUICtrlRead($Label3) and GUICtrlRead($Label2)<> GUICtrlRead($Label4) then
MouseClickDrag('left',GUICtrlRead($Label3),GUICtrlRead($Label4),GUICtrlRead($Label1),GUICtrlRead($Label2),2)
GUICtrlSetData($Label1,'')
GUICtrlSetData($Label2,'')
GUICtrlSetData($Label3,'')
GUICtrlSetData($Label4,'')
EndIf
EndIf
MouseMove(100,400,2)
EndFunc
func reset()
For $i1=0 to 2
For $i2=0 to 7
GUICtrlSetData($Input[$i1&$i2],"")
Next
Next
EndFunc
Func dung()
Exit
EndFunc
Func chupanh($cs)
$img = "C:\y.png"
FileDelete($img)
_GDIPlus_Startup()
$hWnd = WinGetHandle($cs)
$iWidth = _WinAPI_GetWindowWidth($hWnd)
$iHeight = _WinAPI_GetWindowHeight($hWnd)
Local $iH, $iW, $hDDC, $hCDC, $hBMP
If $iWidth = -1 Then $iWidth = _WinAPI_GetWindowWidth($hWnd)
If $iHeight = -1 Then $iHeight = _WinAPI_GetWindowHeight($hWnd)
$hDDC = _WinAPI_GetDC($hWnd)
$hCDC = _WinAPI_CreateCompatibleDC($hDDC)
$hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iWidth, $iHeight)
_WinAPI_SelectObject($hCDC, $hBMP)
DllCall("User32.dll", "int", "PrintWindow", "hwnd", $hWnd, "hwnd", $hCDC, "int", 0)
_WinAPI_BitBlt($hCDC, 0, 0, $iW, $iH, $hDDC, 0, 0, 0x00330008)
_WinAPI_ReleaseDC($hWnd, $hDDC)
_WinAPI_DeleteDC($hCDC)
_ScreenCapture_SaveImage($img, $hBMP, False)
Global $iposget = WinGetPos($cs) , $gamegreen = WinGetClientSize($cs) , $toadoxi =$iposget[2] - $gamegreen[0] , $toadoyi =$iposget[3] - $gamegreen[1] , $toadoxxi = $toadoxi/2 , $toadoyyi = $toadoyi-$toadoxi/2
;=
_GDIPlus_ShutDown()
EndFunc
Func _PixelGetColorKhongTask($cs,$iX,$iY)
_GDIPlus_Startup()
Local $tArgb, $pArgb, $aRet,$ghGDIPDll = "gdiplus.dll"
$img = "C:\y.png"
$hBitmap = _GDIPlus_ImageLoadFromFile($img)
$tArgb = DllStructCreate("dword Argb")
$pArgb = DllStructGetPtr($tArgb)
$aRet = DllCall($ghGDIPDll, "int", "GdipBitmapGetPixel", "hwnd", $hBitmap, "int", $iX-$toadoxxi, "int", $iY-$toadoyyi, "ptr", $pArgb)
_GDIPlus_ImageDispose($hBitmap)
;=
_GDIPlus_ShutDown()
Return "0x" & Hex(DllStructGetData($tArgb, "Argb"), 6)
EndFunc ;==>_WinCapture
어떤 베트남인이 공유한겁니다
픽셀서치로 해서 그런가 잘 안되네요 조금 손보면 그럭저럭 쓸만할듯
녹스 800x600으로 해야된다네요
사용방법은 1번 누르고 2번누른다 끝!