던전에서 방찾는것에 대한 스크립트 주석으로...?
풀어드릴께요 혹시 보시고 궁금하신게 있으셔서 물어보시면 간간히 확인해보고 답변 달아드릴께용?
:dun
//던전 안인지 확인1
getcolor #cmpcolor1 #dunx #duny
//던전 안인지 확인2
getcolor #cmpcolor2 #dunx2 #duny2
//팝업창이 떠있는지 확인1?
getcolor #cmpcolor3 #dunsccx2 #dunsccy2
//팝업창이 떠있는지 확인2
getcolor #cmpcolor4 #dunsccx2 #dunsccy2
//팝업창이 떠있는지 확인3
getcolor #cmpcolor5 #scx #scy
#orgcolor1 = #duncolor
#orgcolor2 = #duncolor2
#orgcolor3 = #dunsc21
#orgcolor4 = #dunsc22
#orgcolor5 = #sc
#cmpnum = 5
#goto = 46
#checkstatu = 0
goto :compare1234
:goto46
if #debugmod == 1
log #result1 :dun
log #cmpcolor1 :dun
endif
if #result1 == 1 and #result2 == 1
goto :dun1
elseif #result3 == 1 and #result4 == 1
touchpress 0 #bcfx #bcfy
goto :dun
elseif #result5 == 1
touchpress 0 #fclosex #fclosey
goto :dun
endif
//던전 팝업창이 떠있는지 최초 던전 진입시 확인하는 이유는 간혹 팝업창으로 오류가 발생해서 넣어놨습니다.?
//크게 오류가 없으시면 삭제하셔도 문제 없는 부분입니다.
:dun1
#goto2 = 0
#goto = 0
if #debugmod == 1
log 방찾기 시작
endif
//방9개인 던전을 기준으로 최초 6~9번방 스캔한 후?
//열린 방이 없으면 5~2번방 재 스캔 후?
//열린 방이 없으면 1번으로 들어가도록 설정해놨습니다.
//찾아 들어가는걸로는 방이 5/7/9 전혀 상관없이 해놨습니다.?
if #duncheck = 0
getcolor #cmpcolor1 #9rx #9ry
getcolor #cmpcolor2 #8rx #8ry
getcolor #cmpcolor3 #7rx #7ry
getcolor #cmpcolor4 #6rx #6ry
#orgcolor1 = #dunopen
#orgcolor2 = #dunopen
#orgcolor3 = #dunopen
#orgcolor4 = #dunopen
#goto = 47
#duncheck = 1
#cmpnum = 4
#checkstatu = 0
log #cmpcolor1 #cmpcolor2 #cmpcolor3 #cmpcolor4 9876번방
#checkstatu = 0
goto :compare1234
elseif #duncheck = 1
getcolor #cmpcolor1 #5rx #5ry
getcolor #cmpcolor2 #4rx #4ry
getcolor #cmpcolor3 #3rx #3ry
getcolor #cmpcolor4 #2rx #2ry
#orgcolor1 = #dunopen
#orgcolor2 = #dunopen
#orgcolor3 = #dunopen
#orgcolor4 = #dunopen
#goto = 48
#cmpnum = 4
#duncheck = 0
#checkstatu = 0
log #cmpcolor1 #cmpcolor2 #cmpcolor3 #cmpcolor4 5432번방
#checkstatu = 0
goto :compare1234
endif
:goto47
if #result1 == 1
#stage = 9
goto :dun2
elseif #result2 == 1
#stage = 8
goto :dun2
elseif #result3 == 1
#stage = 7
goto :dun2
elseif #result4 == 1
#stage = 6
goto :dun2
else
goto :dun1
endif
:goto48
if #result1 == 1
#stage = 5
goto :dun2
elseif #result2 == 1
#stage = 4
goto :dun2
elseif #result3 == 1
#stage = 3
goto :dun2
elseif #result4 == 1
#stage = 2
goto :dun2
else
#stage = 1
goto :dun2
endif
//var #stage 값에 의해 1~9번방 찾아 들어가는 그냥 뭐.. 단순한...
:dun2
toast #dif #map #zone #dun #stage 난이도,지도,위치,던전,스태이지
#duncheck = 0
#key = 0
if #stage == 1
touchpress 0 #1rx #1ry
//log 1라운드
elseif #stage == 2
touchpress 0 #2rx #2ry
//log 2라운드
elseif #stage == 3
touchpress 0 #3rx #3ry
//log 3라운드
elseif #stage == 4
touchpress 0 #4rx #4ry
//log 4라운드
elseif #stage == 5
touchpress 0 #5rx #5ry
//log 5라운드
elseif #stage == 6
touchpress 0 #6rx #6ry
//log 6라운드
elseif #stage == 7
touchpress 0 #7rx #7ry
//log 7라운드
elseif #stage == 8
touchpress 0 #8rx #8ry
//log 8라운드
elseif #stage == 9
touchpress 0 #9rx #9ry
//log 9라운드
else
#stage = 1
#dun = #dun + 1
toast #dun dun
goto :fin4
endif
:dunpu
sleep #sleeptype3
//던전 팝업창 확인입니다.?
//기존 스크립트에서 약간 수정했습니다. (별.. 의미는 없습니다. )
:dunpopup1
getcolor #cmpcolor1 #dunsccx1 #dunsccy1
#cmpcolor2 = #cmpcolor1
getcolor #cmpcolor3 #dunsccx2 #dunsccy2
#cmpcolor4 = #cmpcolor3
getcolor #cmpcolor5 #scx #scy
#orgcolor1 = #dunsc11
#orgcolor2 = #dunsc12
#orgcolor3 = #dunsc21
#orgcolor4 = #dunsc22
#orgcolor5 = #sc
#cmpnum = 5
#goto = 67
#checkstatu = 0
goto :compare1234
:goto67
if #result1 == 1 and #result3 == 1
toast 동료꽉참
goto :end
elseif #result1 == 1 and #result4 == 1
toast 전 단계
#stage = #stage - 1
touchpress 0 #bcfx #bcfy
sleep 600
goto :dun2
elseif #result2 == 1 and #result3 == 1
toast 가방꽉참
touchPress 0 #dunclickx #dunclicky2
//log 꽉 찼네 ~
sleep 700
goto :inven
elseif #result2 == 1 and #result4 == 1
toast 신발부족
touchpress 0 #bcfx #bcfy
#keycheck = 1
goto :key
elseif #result5 == 1
goto :dunstart
else
//여기 부분이 방을 클릭했는데 아무런 창이 뜨지 않게되면 다음 방으로 자동 진행하는 코드입니다.?
//예를 들면 방이 5/7개 인경우 스테이지 넘기기 위해서 넣어놨습니다.?
#stage = #stage + 1
goto :dun2
endif
//던전 시작하러 가는 단계에서 좌표 찾아 눌르기..
:dunstart
touchPress 0 #selfnx #selfny
sleep #sleeptype3
touchpress 0 #scx #scy
sleep #sleeptype3
touchPress 0 #scx2 #scy2
sleep #sleeptype6
//이 이후로는 뭐 던전 도는거 확인중..
//아이템 획득 동료 획득 , 업적화면 확인 이 이루어져 있습니다.?
:dunwait
sleep #sleeptype4
//던전 종료 확인
getcolor #cmpcolor1 #fcx #fcy
getcolor #cmpcolor2 #fcx #fcy
#orgcolor1 = #fc
#orgcolor2 = #gc
#goto = 49
#cmpnum = 2
#checkstatu = 0
goto :compare1234
:goto49
if #result1 == 1
goto :fin2
elseif #result2 == 1
goto :fin1
else
goto :dunwait
endif
:fin1
//log 동료 나왔다
touchPress 0 #gcx #gcy
sleep #sleeptype3
//던전 끝남 화면 터치
:fin2
//log #stage 던전 끝
touchPress 0 #dfx #dfy
sleep #sleeptype2
// 아이템 획득 버튼 확인
getcolor #cmpcolor1 #icx #icy
#orgcolor1 = #ic
#cmpnum = 1
#goto = 50
#checkstatu = 0
goto :compare1234
:goto50
if #result1 == 1
touchPress 0 #icx #icy
sleep #sleeptype2
else
goto :fin2
endif
sleep #sleeptype4
//다음 스태이지로
#stage = #stage + 1
// 업적 및 퀘스트 넘기기 ------------------
:dunachi
sleep #sleeptype2
getcolor #cmpcolor1 #backx #backy
getcolor #cmpcolor2 #keyoutx #keyouty
#orgcolor1 = #back
#orgcolor2 = #keyout
#cmpnum = 2
#goto = 51
goto :compare1234
:goto51
if #result1 == 1
goto :dunachi2
elseif #result2 == 1
touchpress 0 #keyoutx #keyouty
goto :start
else
touchpress 0 #icx #icy
sleep #sleeptype2
goto :dunachi
endif
:dunachi2
sleep #sleeptype2
getcolor #cmpcolor1 #backx #backy
getcolor #cmpcolor2 #keyoutx #keyouty
#orgcolor1 = #back
#orgcolor2 = #keyout
#cmpnum = 2
#goto = 511
goto :compare1234
:goto511
if #result1 == 1
goto :dun2
elseif #result2 == 1
touchpress 0 #keyoutx #keyouty
goto :start
else
touchpress 0 #icx #icy
sleep #sleeptype2
goto :dunachi
endif
:fin4
getcolor #cmpcolor1 #backx #backy
#orgcolor1 = #back
#goto = 52
#cmpnum = 1
goto :compare1234
:goto52
if #result1 == 1
touchpress 0 #backx #backy
sleep #sleeptype2
goto :fin4
else
goto :start
1~9ry
이렇게 좌표가 참조 되잇는건 확인 햇습니다
1~5rx
1~5ry
1~7rx
1~7ry
이런식으로 참조가 되어 잇어야 하지 않나 생각해서요