카테고리 없음

돌키우기 매크로 스크립트 공유 (오토잇)

시스이 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번누른다 끝!

답글