오토핫키 커뮤니티

자유
2015.02.04 01:41

세븐 나이츠 3쫄 교체 소스

조회 수 830 추천 0 댓글 6

쫄 교체?방식은 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
?}
}


  • 붕붕검 2015.02.05 09:52

    덕분에 잘보고 갑니다

  • 칼츠테일 2015.02.13 15:28

    혹시 스킬소스도 있나요? 지금 현재 스킬에서 완전 막혀서 멘붕상태 ㅠㅠ

  • 보득 2015.02.18 13:57
    스킬은 쉬워요. 스킬쪽 영웅 얼굴 잘라서 이미지서치해서 클릭하면 됩니다. 스킬 이미지로 찾지말고 영웅 얼굴 잘라서 찾아서 하심됩니다ㅡ
  • 내붕알용문신 2015.03.02 19:02

    잘보고가요 ^^?

  • 까르민 2015.03.03 13:50

    잘 봤습니다.... 근데 구조상 지연시간이 너무많네요 ..


    1. 블택 화면 전체에서 ?이미지를 찾으므로 지연

    2.슬립이 너무 많아요.?


    서치 함수를 만들어 쓰시니 거기다가 루프문의 더해서 찾으면 바로 분기되게 하는게 좋죠.


    모험끝나고 30업 확인창 누르고 30쫄위치 확인하고 영웅관리 창들어가서 오른쪽에서 영웅선택해서 변경하고

    변경 확인하고 나와서 모험시작창 확인하는데 까지(1마리 교환시) 걸리는 시간이 10초이내로는 힘들듯하네요~

    8~10초정도는 나와야 시간당 60+-2회 정도 돌아져요(제 매클 기준상....)


    아참 그리고?hero1,2,3 번을 gosub 쫄교환 으로 분기하면 코드를 좀 줄일 수 있겠네요.



    그러는 나도 귀찮아서 대충 ..털썩....아닙니다.....


  • profile
    다람쥐짱 2015.03.19 22:14

    알고리즘이 이렇게 되군요. 잘보고 배웁니다.


List of Articles
분류 제목 글쓴이 최근변경 추천
자유 히트2는 오토핫키 없을까요 1 매매매핫키 2022.12.07 0/0
자유 히로매크로 사용중입니다. 1 매끄로 2015.03.16 0/0
자유 희한하네요... 2 보득 2015.02.02 0/0
자유 흠냐 오토핫키와 c++ 연관성 34f35 2015.10.09 0/0
자유 흠.. 안녕들 하세요.. 13 폐이니즘 2015.01.16 0/0
자유 흠 gdip 안쓰고도 비활성 이미지 서치가 가능하네요 4 루뽕 2015.11.19 0/0
질문 흑백화를 시킨 후 이미지를 저장 하였습니다. 이후 이... 1 haegu 2018.09.11 0/0
질문 흑백화 이미지서치 참고할만한 글 있나요?? 3 급홍어감별사 2018.07.02 0/0
질문 흑백 비활성 이미지 검색 구현하신 분 계세요? 4 프리 2019.05.23 0/0
자유 후.. 검은거 한번 만들어 볼까 합니다 쟈브 2018.11.14 0/0
질문 후 문의 2번째.. 드립니다......... 4 문의드립니다 2015.06.10 0/0
자유 효율적인 쫄작교체방법이 없을까요? 3 세나블텍 2015.08.06 0/0
질문 활성화된 프로세스 죽이는법 kill 3 리엔니케니스타 2017.03.29 0/0
정보 활성화된 창으로 esc보내는 라이브러리. 1 헐키 2015.06.19 0/0
질문 활성과 비활성의 차이가 무엇인가요~? 1 배고파3000 2018.09.04 0/0
질문 활성 ? 비활성 질문.. 2 아카드 2014.11.04 0/0
자유 확장자 변환기 3 없어돌아가 2015.04.01 0/0
질문 확장모니터에서 controlclick질문드립니다 레나류륜 2016.10.27 0/0
질문 확율을 결과물로 출력중입니다. 특수문자 출력을 못해요 3 가족오락관 2016.11.08 0/0
자유 확실히 오토핫키가... 16 아카드 2014.11.09 0/0
Board Pagination Prev 1 2345678910 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글