매크로

자유
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
분류 제목 글쓴이 최근변경 추천
자유 안녕하세요 오토핫키를 너무나 배우고 싶은 1인입니다, 4 땡중아 2015.02.12 0/0
자유 오핫 참 배우고 싶은데요 .. 2 오스카 2015.02.02 0/0
자유 희한하네요... 2 보득 2015.02.02 0/0
자유 세븐 나이츠 3쫄 교체 소스 6 보득 2015.03.19 0/0
자유 외치기님, 모바게님은 오핫계의 신의 영역이십니다... 3 파더 2015.02.05 0/0
자유 게임가드로 인하여 오토핫키 안먹히는거... 5 캔디염 2015.02.20 0/0
자유 오토핫키로 제작한 온라인게임 툴 9 예지력1 2015.03.04 0/0
자유 설 휴일이네요! 2 예지력1 2015.02.17 0/0
자유 하 오늘일과도 이제 끝났네요! 2 예지력1 2015.02.23 0/0
자유 별되 오토핫키 공부중 입니다.도와주세요 ㅠ 6 naminx 2015.03.13 0/0
자유 알고싶은 정보가 있으신가요? 9 예지력1 2016.01.09 0/0
자유 쿠키런 매크로 없나요? 2 펄엔젤 2015.03.13 0/0
자유 월요일이네요!! 1 안양_문군 2015.03.09 0/0
자유 헐.... 1 GOLD 2015.03.10 0/0
자유 대상 프로그램 인식 질문 드립니다 5 나를대적할자 2015.03.12 0/0
자유 테일스타 정말 좋네요.. 18 슝뿡슝뿡 2017.05.16 0/0
자유 히로매크로 사용중입니다. 1 매끄로 2015.03.16 0/0
자유 오토핫키가 매크로 제작만 될줄알았는데... 7 다람쥐짱 2015.11.03 0/0
자유 허허...이거 힘드네요..ㅠ 1 한평의해안선 2015.03.27 0/0
자유 푸념글쓰고있었더니 디비가 반응하나봐요 ㅋㅋ 4 외치기 2015.03.30 0/0
Board Pagination Prev 1 ... 456789101112 ... 28 Next
/ 28

전체 최신 인기글

전체 주간 인기글