쫄 교체?방식은 1,2,3 번 슬롯 확인후 레벨이 30이 넘거나 슬롯이 비어있는 경우 해당 슬롯의 영웅 교체입니다.
작업한 블루스택의 해상도는 960, 600 입니다. 이미지서치는 모바게님께서 함수 만들어 주신거 응용했습니다.
?
방금전에 만들어서 혹시 오류있을수도 있는데 혹시 보충 사항이나 더 좋은 방법 있으면 댓글 부탁드립니다.
?
ChangeHero()
{
?
?TrayTip, , 쫄 교체 시작
?hero1 := false
?hero2 := false
?hero3 := false
?
?;1번 슬롯 영웅 레벨 확인
?;1번 슬롯이 비어 있는 경우에도 영웅 교체
?if(imageSearcher("영웅관리_1번슬롯.png", "F") = false) {
??x:=210?? ;1번 슬롯?X,Y 좌표 값,
??y:=160
??N:=x|y<<16
??PostMessage, 0x201, 1, %N%, , BlueStacks App Player
??PostMessage, 0x202, 0, %N%, , BlueStacks App Player
??sleep, 2000
??
??if(imageSearcher("영웅관리_레벨30.png", "F") = true)?{
???;팀 해제 버튼 클릭
???imageSearcher("영웅관리_팀해제.png", "C")
??}
??else?{
???imageSearcher("영웅관리_정보창닫기.png", "C")
???hero1 := true
??}
??sleep, 2000
?}
?;2번 슬롯 영웅 레벨 확인
?;2번 슬롯이 비어 있는 경우에도 영웅 교체
?if(imageSearcher("영웅관리_2번슬롯.png", "F") = false) {
??x:=210?? ;2번 슬롯 X,Y 좌표값
??y:=260
??N:=x|y<<16
??PostMessage, 0x201, 1, %N%, , BlueStacks App Player
??PostMessage, 0x202, 0, %N%, , BlueStacks App Player
??sleep, 2000
??
??if(imageSearcher("영웅관리_레벨30.png", "F") = true)
??{
???;팀 해제 버튼 클릭
???imageSearcher("영웅관리_팀해제.png", "C")
??}
??else?{
???imageSearcher("영웅관리_정보창닫기.png", "C")
???hero2 := true
??}
??sleep, 2000
?}
?
?;3번 슬롯 영웅 레벨 확인
?;3번 슬롯이 비어 있는 경우에도 영웅 교체
?if(imageSearcher("영웅관리_3번슬롯.png", "F") = false) {
??x:=210?? ;3번?슬롯 X,Y 좌표값
??y:=360
??N:=x|y<<16
??PostMessage, 0x201, 1, %N%, , BlueStacks App Player
??PostMessage, 0x202, 0, %N%, , BlueStacks App Player
??sleep, 2000
??
??if(imageSearcher("영웅관리_레벨30.png", "F") = true)
??{
???;팀 해제 버튼 클릭
???imageSearcher("영웅관리_팀해제.png", "C")
??}
??else?{
???imageSearcher("영웅관리_정보창닫기.png", "C")
???hero3 := true
??}
??sleep, 2000
?}
?
?loop, 10{
??if(hero1 = false) {
???if (imageSearcher("영웅_해피_1성_레벨1.png", "Hero") = true){
????hero1 := true
???}
???else if (imageSearcher("영웅_해피_2성_레벨1.png", "Hero") = true){
????hero1 := true
???}
???else if(imageSearcher("영웅_해피_3성_레벨1.png", "Hero") = true){
????hero1 := true
???}
???
???if(hero1 = true){
????sleep, 2000
????imageSearcher("영웅관리_팀배치.png", "C")
????sleep, 2000
????imageSearcher("영웅관리_1번슬롯.png", "C")
????sleep, 1000
???}
??}
??sleep, 200
??if(hero2 = false) {
???if (imageSearcher("영웅_아론_2성_레벨1.png", "Hero") = true){
????hero2 := true
???}
???else if(imageSearcher("영웅_아론_3성_레벨1.png", "Hero") = true){
????hero2 := true
???}
???
???if(hero2 = true){
????sleep, 2000
????imageSearcher("영웅관리_팀배치.png", "C")
????sleep, 2000
????imageSearcher("영웅관리_2번슬롯.png", "C")
????sleep, 1000
???}
??}
??sleep, 200
??
??if(hero3 = false) {
???if (imageSearcher("영웅_바론_2성_레벨1.png", "Hero") = true){
????hero3 := true
???}
???else if(imageSearcher("영웅_바론_3성_레벨1.png", "Hero") = true){
????hero3 := true
???}
???
???if(hero3 = true)
???{
????sleep, 2000
????imageSearcher("영웅관리_팀배치.png", "C")
????sleep, 2000
????imageSearcher("영웅관리_3번슬롯.png", "C")
????sleep, 1000
???}
??}
??sleep, 200
??
??if(hero1 = true && hero2 = true && hero3 = true){
???TrayTip, , 쫄교체완료
???break
??}
??
??DragHero()
??sleep, 100
?}
?
?imageSearcher("영웅관리_나가기.png", "C")
?sleep, 2000
?
?return
}
?
DragHero()
{
?TrayTip,,Drag
?X:= 620
?Y:= 480
?N1:=X|Y<<16
?X:= 620
?Y:= 340
?N2:=X|Y<<16
?PostMessage, 0X201, 0, %N1%, , BlueStacks App Player??;마우스 다운
?Sleep, 100
?PostMessage, 0X200, 1, %N2%, , BlueStacks App Player??;마우스 이동
?PostMessage, 0X202, 0, %N2%, , BlueStacks App Player??;마우스 업
?
return
}
?
imageSearcher(img, mode){
?
?; mode 파라미터? F 찾기,? C 클릭, Hero 영웅(오차값 150)
?WinGetPos,x,y,w,h,BlueStacks App Player
?;Windows 7 64비트
?;Screen??775, 601
?;Relative?597, 513
?;Client??594, 488
?SysGet,wFrame,3 ; 현재 시스템의 Border값 (창 테두리 두께)
?SysGet,wCaption,22 ; 현재 시스템의 Caption값 (제목 표시줄 높이)
?posX:=x+wFrame
?posY:=y+wFrame+wCaption
?width:=w-wFrame*2
?height:=h-wCaption-wFrame*2
?edgeX := posX + width
?edgeY := posY? + height
?if(mode = "Hero") {
??msg = %img% %mode%
??;WriteLog(msg)
??ImageSearch, oX, oY, posX, posY, edgeX, edgeY, *150 %A_ScriptDir%\img\%img%
??;MouseMove,oX,oY???????? ;마우스 위치 확인
?}
?else {
??ImageSearch, oX, oY, posX, posY, edgeX, edgeY, *40 %A_ScriptDir%\img\%img%
?}
?;x2:=oX-posX
?;y2:=oY-posY
?;MsgBox, x : %oX%? y : %oY%, x2 : %x2%? y2: %y2%, posX : %posX%? posY: %posY%
?
?if(ErrorLevel = 0){
??;WriteImgLog(img, 0)
??
??;마우스 위치 확인
??;MouseMove,oX,oY
??
??if(mode="C" || mode="Hero")
??{
???;WriteImgLog("클릭",0)
???imgX := oX + 14
???imgY := oY - 8
???x:=imgX-posX
???y:=imgY-posY
???N:=x|y<<16
???
???PostMessage, 0x201, 1, %N%, , BlueStacks App Player
???PostMessage, 0x202, 0, %N%, , BlueStacks App Player
???sleep, 100
??}
??return true
?}
?else if (ErrorLevel = 1){
??;WriteImgLog(img, 1)
??;Msgbox, 못찾음
?return false
?}
}
덕분에 잘보고 갑니다