Gui, 2: Add, DropDownList, x62 y35 w50 v주맵선택, 숲|호수|사막|늪|얼음|폐허|무한산|해저|마을|인근
Gui, 2: Add, DropDownList, x122 y35 w40 v주스테이지, 1|2|3|4|5|6|7|8|9|10
Global 주맵선택
Global 주스테이지
Gui,2:Submit,Nohide
;DropDownList 주맵선택을 해저로 선택했어요
If 주맵선택 = %주맵선택%
{
If(IsMapCheck(ClickX, ClickY, "이미지\맵\%주맵선택%.bmp",60,0))
{
Msgbox, %Clickx%, %clicky% , %주맵선택%
}
}
;메세지박스 결과 : , , 해저
If 주스테이지 = %주스테이지%
{
If(IsMapCheck(ClickX, ClickY, "이미지\스테이지\%주맵선택%\%주맵선택%%주스테이지%.bmp",60,0))
{
msgbox, %맵선택%, %스테이지% , %ClickX% %ClickY%
GuiControl,,로그,【맵선택】 ★ %주맵선택% ★ 선택
Click(ClickX, ClickY)
Sleep,500
}
}
;메세지박스결과 : 해저, 2, , ,
;여긴 이미지서치........
IsMapCheck(ByRef clickX, ByRef clickY, MapName, errorRange, trans, sX = 0, sY = 0, eX = 0, eY = 0)
{
WinGet, Title , ID, BlueStacks App Player
if(Gdip_ImageSearchWithHwnd(Title, clickX, clickY,MapName,errorRange,trans, sX, sY, eX, eY))
{
GuiControlGet, 주맵선택, 2:
GuiControlGet, 주스테이지, 2:
Gui,2: Submit, Nohide
If(MapName = "이미지\맵\%주맵선택%.bmp"
|| MapName = "이미지\맵\해저.bmp"
|| MapName = "이미지\맵\마을.bmp"
|| MapName = "이미지\맵\인근.bmp"
|| MapName = "이미지\맵\숲.bmp"
|| MapName = "이미지\맵\호수.bmp"
|| MapName = "이미지\맵\사막.bmp"
|| MapName = "이미지\맵\늪.bmp"
|| MapName = "이미지\맵\얼음.bmp"
|| MapName = "이미지\맵\폐허.bmp"
|| MapName = "이미지\맵\무한산.bmp"
|| MapName = "이미지\스테이지\%주스테이지%\%주맵선택%%주스테이지%.bmp")
{
return true
}
}
else
return
}
요기에 해저 2 를 넣으면
이미지\맵\해저.bmp 서치해서 클릭하고
이미지\스테이지\해저\해저2.bmp 서치해서 클릭하는걸 만들려고하는데
뭐가문제일까요? ㅜㅜ ClickX, ClickY 좌표가 안나오는걸로봐서는 이미지경로에 문제가 있어보이는데...
예전에 만들던거에선 잘됬는데 뭔가 꼬여버렸네요... 3시간째 이리저리 메세지박스넣어봤는데 해답이 안나와요 흑
도움좀주세용 ㅜㅜ
If 주맵선택 = %주맵선택% ;이거 뭘 비교하자는건가요?
if문에서는 인용부호로 지정하지 않은 문자는 모두 변수로 취급합니다.
그렇기 때문에 '주맵선택' 이나 '%주맵선택%' 은 같은 변수값입니다.
If(IsMapCheck(ClickX, ClickY, "이미지\맵\" 주맵선택 ".bmp",60,0)) ;문자와 변수를 구분지어 사용해야 합니다.