바람의나라 비활성 테스트















'프로그램 영상' 카테고리의 다른 글

메이플 매크로 영상  (7) 2018.01.07
버블팡 매크로 영상  (0) 2018.01.07
메이플 룬 매크로 영상  (6) 2018.01.07
클럽오디션 매크로 영상  (8) 2018.01.07
Posted by Khan64
,

메이플 사냥 매크로

















메이플 사냥 매크로




Posted by Khan64
,

메이플 채집 매크로 만들기



안녕하세요.


오늘은 메이플 채집매크로 만들기에 관한

포스팅을 하도록 하겠습니다.



포스팅은 채집 매크로에 이용 될

타겟 추적및 이동코드 구현에 대해서

작성및 코드 안내를 하도록 하겠습니다.



시작하기전 당부의 말씀을 드리면 본 포스팅에서 프로그램 배포는 하지않습니다.

제작방법을 알려드리는 포스팅 이며 제작방법에 대한 강의나 스크립트 의뢰는 가능합니다 :D


메이플스토리 채집 매크로


메이플스토리 채집 매크로

메이플 채집 매크로 만들기


[타겟 추적및 이동 코드 구현하기]



기본적으로 채집 매크로를 만들기 위해서는 타겟까지 찾아가도록 코드를 작성해야 합니다.

여러가지의 채집 대상중에서도 특정 타겟만을 채집하기 위함입니다.


다양한 방법이 있지만 해당 게임과 같이 직교좌표 에서는 메모리를 따는것보다

이미지 서치를 활용하는것이 더 간결하게 코드를 작성 할 수 있습니다.




여기서 이용되는 3개의 이미지가 있습니다.


첫번째, 화면내에서 타겟이 되는 이미지. 01.bmp

두번째, 화면내에서 자신의 기준이 되는 이미지. 02.bmp

세번째, 미니맵내에서 자신의 위치를 좌표화 하기위한 기준 이미지. 03.bmp


첫번째 조건은 화면내 타겟이미지가 있는가 입니다.

굳이 화면에 찾아갈곳이 없는데 쓰레드를 낭비할 필요는 없습니다.

때문에 화면내 타겟이미지가 있을경우 원하는 좌표화를 진행 할수있도록 조건문을 작성합니다.


두번째는 미니맵 내에서 자신의 좌표 위치를 찾고, 타겟이미지를 미니맵 내에 자신과 같이

좌표화를 진행하여 실제 미니맵내 타겟위치가 표시가 되는것처럼 작업을 할겁니다.


사실 이부분은 굳이 미니맵내에 자신과, 룬을모두 좌표화 

하지않고도 직접 이동을 하게 해주어도 무방 합니다. 


다만 이렇게좌표화를 특정공간에 진행하는 이유는 타겟위치까지 찾아가기 위해 

매번 이미지서치하는것보다 한번에 원하는 위치를 찍고 이동할때까지는 이동만 하도록 하게하면

코드는 좀더 내부적으로 간결해지고 구성상 조금더 깔끔한 구성이 될수 있습니다.




아래는 실제 채집 매크로를 만들면서 작성하였던 타겟이동및 추적에 관한 실제 코드중 일부입니다.



  ImageSearch, lx, ly, stx1, sty1, stx2, sty2, *80 %A_ScriptDir%/Image/01.bmp

  If Errorlevel = 0

  {

    ImageSearch, tx, ty, 7, 40, 170, 140, *60 %A_ScriptDir%/Image/03.bmp

    If Errorlevel = 0

    {

      ImageSearch, cx, cy, 5, 30, 1020, 680, *100 %A_ScriptDir%/Image/02.bmp

      If Errorlevel = 0

      {

        If (cx>lx)

          Setx:=cx-35

        If (cx<lx)

          Setx:=cx+10

      }

      Rxv1:=tx+floor((lx-Setx-65)/16.1)

      Rxv2:=tx+floor((lx-Setx+75)/16.1)

    }

  

  ....




      Rxv1:=tx+floor((lx-Setx-65)/16.1)

      Rxv2:=tx+floor((lx-Setx+75)/16.1)


목표위치는 하나인데 위 코드와 같이 두개의 지점을 둔이유는

멈추는 지점을 다르게 하고, 오차범위를 미리 설정해주기 위함입니다.

목표 지점은 하나이나 타겟으로부터 어디에 위치해있는지에 따라 조금 앞에서 멈추도록 말입니다.


위 계산식의 16.1은 좌표화 되는거리와 실제거리차의 비율 입니다.

SetX 를 설정한 이유는 타겟이미지로부터 어떤 방향에 있는지에따라 

기준치를 좀더 세밀하게 조정하기 위해 설정해둔 변수입니다.


계산식을 풀이하자면 미니맵내 자신의위치(tx) 로부터 얼만큼 떨어져있는지 계산하여 

변수 Rxv1~2 에 저장한다는 뜻입니다.





메이플스토리 채집 매크로


메이플스토리 채집 매크로

메이플 채집 매크로 만들기


위 영상은 실제 완성된 코드의 영상으로 

사실 하나의 완벽한 채집 매크로를 만들기 위해서는 다른 요소의 코드작성이 필요합니다.


문제의 소지가 있을수있어 전체 코드공개는 못하지만 작성된 코드의 원리는 같습니다.

그래픽 개체의 이용과 이미지서치의 활용 입니다.


추후 기회가 되면 더많은 오픈소스와 자료로 포스팅 하도록 하겠습니다 :)



코드 작성에 대해 궁금한점이 있으시거나 

오토핫키 스크립트 작성법 혹은 다른 스크립트 제작의뢰 요청시 아래 메일로 연락주세요.

이메일 : cai6452@naver.com



Posted by Khan64
,

메이플 매크로 영상













아래 영상은 룬 매크로 영상입니다.


스크립트 작성법 , 코드 작성에 관하여 궁금한점이 있으시면 아래 메일로 연락주세요.

이메일 : cai6452@naver.com




'프로그램 영상' 카테고리의 다른 글

바람의나라 비활성 매크로 테스트.  (11) 2018.11.01
버블팡 매크로 영상  (0) 2018.01.07
메이플 룬 매크로 영상  (6) 2018.01.07
클럽오디션 매크로 영상  (8) 2018.01.07
Posted by Khan64
,

버블팡 매크로 영상












아래 영상은 버블팡 매크로 영상입니다.


코드 작성에 관하여 궁금한점이 있으시거나 스크립트 작성법, 코드의뢰시 아래 메일로 연락주세요.

이메일 : cai6452@naver.com




'프로그램 영상' 카테고리의 다른 글

바람의나라 비활성 매크로 테스트.  (11) 2018.11.01
메이플 매크로 영상  (7) 2018.01.07
메이플 룬 매크로 영상  (6) 2018.01.07
클럽오디션 매크로 영상  (8) 2018.01.07
Posted by Khan64
,

메이플 룬 매크로 영상












아래 영상은 룬 매크로 영상입니다.


스크립트 작성법 , 코드 작성에 관하여 궁금한점이 있으시면 아래 메일로 연락주세요.

이메일 : cai6452@naver.com


2018/01/11

메이플 룬 매크로 영상



2018/09/12

'프로그램 영상' 카테고리의 다른 글

바람의나라 비활성 매크로 테스트.  (11) 2018.11.01
메이플 매크로 영상  (7) 2018.01.07
버블팡 매크로 영상  (0) 2018.01.07
클럽오디션 매크로 영상  (8) 2018.01.07
Posted by Khan64
,

클럽오디션 매크로 영상












아래 영상은 클럽오디션 매크로 영상입니다.


코드 작성에 관하여 궁금한점이 있으시거나 스크립트 작성법, 코드의뢰시 아래 메일로 연락주세요.

이메일 : cai6452@naver.com




'프로그램 영상' 카테고리의 다른 글

바람의나라 비활성 매크로 테스트.  (11) 2018.11.01
메이플 매크로 영상  (7) 2018.01.07
버블팡 매크로 영상  (0) 2018.01.07
메이플 룬 매크로 영상  (6) 2018.01.07
Posted by Khan64
,

룬 해제 매크로 만들기



안녕하세요 :D


오늘은 메이플 룬해제 매크로를

만들어 보려 합니다.


특수한 경우에 미니게임처럼 등장하는 것으로,

지난 포스팅에서 소개했던 클럽오디션 게임과 

방법은 유사하나 좀더 단순한 구조인듯 합니다.


포스팅 순서는 간략한 설명글과 코드작성시

사용하였던 함수소개후 마무리 하도록 하겠습니다.



시작하기 전 당부의 말씀을 드리면 본 포스팅은 프로그램을 판매하거나 배포하지 않습니다.

제작 방법을 알려드리는 포스팅이며 제작방법에 대한 강의나 기타 스크립트 의뢰는 가능합니다 :D



특정 방향키를 정해진 순서에 따라 입력하여 플레이 하는게임들.



메이플 룬해제 미니게임 매크로 만들기


지난 포스팅 에선 Sort2DArray 함수를 이용하여 서치 하였던 이미지를 순서대로 나열하도록

알고리즘을 구성 하였지만, 이번 적용 대상은 보다 조금 단순한 구조 이기 때문에 해당 함수는

사용하지 않았습니다.


다만 이번 포스팅에서 다루는 부분은 GDI (Graphic Device Interface) 라는 그래픽 구현장치를

이용하려 합니다. GDI 란 그래픽 디바이스를 이용하여 그림을 그릴수있도록 AP에게 제공하는

모든 기능을 통틀어 GDI라고 하며, AP는 GDI를 이용하여 그래픽을 구현하는것입니다.



이것이 필요한 이유는, 어떠한 이미지를 서치하는데 있어 색이 변하거나, 혹은 크기가 변하거나

하는 경우에 따라서 해당이미지를 받아 우리가 원하는 그림으로 그려줄 수 있기 때문입니다.



2018/10/19


2018/01/02


2018/01/05


[메이플 룬 매크로]


2018/09/12



사용된 명령어



문제가 될 수 있는부분이 있어 구체적인 코드는 생략하도록 하겠습니다.


기본적인 이미지의 분류 방법은 픽셀서치를 사용하여도,

이미지서치를 사용하여도 상관은없습니다.


영상과 같이 흑백화한 이미지를 통해 원하는 값을 찾아내는것도

위에 언급한 GDI 장치를 이용한것이구요.


혹은 픽셀값을 이용해도 무방 합니다. 아래와 같은 단순한 코드를

이용해서도 원하는 키패드를 찾을 수도 있습니다.



GetCCD(code, stnd)
{
  Loop, 3 {
    StringMid,gcd,code,stnd,2
    If gcd<=ff
      result=3
    If gcd<=af
      result=2
    If gcd<=45
      result=1
   
BMPH =
( Join
%BMPH%
%result%
)

stnd+=2
}
return BMPH
}


지난번  Sort2DArray 함수를 이용하여 키패드를 검색하고

입력받는 방법에 관한 부분은 아래 포스팅을 참고하시면 됩니다.


http://haha92.tistory.com/36



오토핫키 스크립트 작성법이나 다른 스크립트 제작 의뢰도 같이 받고 있습니다.

이메일 : cai6452@naver.com






Posted by Khan64
,

한글 2350자

정보 포스팅 2017. 11. 29. 03:11

한글 2350자



11172자 한글에 대해서 완성형 한글인
'가'~'힝' 까지 2350 자 입니다.

우클릭 및 드래그 방지 때문에 혹시
필요하신분은 아래 텍스트 파일을 받아주세요.


한글 2350자 : 

한글 2350.txt


가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝





Posted by Khan64
,

피싱마스터 매크로 만들기



안녕하세요 :)


이번 포스팅은 피싱마스터 모바일 게임

매크로만들기에 관한 포스팅을 하겠습니다.


피싱마스터 모바일 게임은 낚시 게임으로

낚시의 캐스팅, 챔질, 릴링의 요소가 잘갖추어진 

게임으로 실제 낚시형태와 유사한듯합니다.



포스팅순서는 피싱마스터 게임에대한 간략한 소개와

비활성 이미지서치에대한 포스팅을 하도록 하겠습니다.


시작하기전 당부의 말씀을 드리면 본 포스팅은 프로그램 배포는 하지않습니다.

제작방법을 알려드리는 포스팅 이며 제작방법에 대한 강의나 스크립트 의뢰는 가능합니다 :D


피싱마스터 매크로 만들기 피싱마스터 매크로 만들기

피싱마스터 매크로 만들기 피싱마스터 매크로 만들기


피싱마스터 모바일 게임 



게임빌에서 개발한 모바일 낚시 게임으로 , 에너지를 소모하여 플레이 할 수 있습니다.

에너지는 일정시간이후 회복이 되거나, 캐시 구매를 통해 얻을수 있는 스타로 구매할 수 있습니다.


기본 조작은 낚시대를 물가로 던지는 캐스팅과, 낚아올리는 챔질, 물고기를 끌고오는 릴링으로

구성되어 있으며 물고기의 상태에 따라 게이지등 공략에 약간의 차이가 있습니다.


낚시 게임이지만 특유의 그래픽적인 요소도 잘 살려낸 게임 입니다.

각 캐릭터마다 다양한 코스튬을 장착 할 수 있으며 다양한 미끼를 사용할 수 있습니다.



피싱마스터 매크로 만들기 피싱마스터 매크로 만들기


피싱마스터 매크로 만들기 피싱마스터 매크로 만들기

피싱 마스터 매크로 제작 - 매크로 제작 방법은 ?


전체 소스를 공개하기에는 무리가 있어 

제작방법에 대한 안내의 포스팅으로 진행하겠습니다.


아래는 피싱마스터 매크로를 제작할때 사용한 비활성 이미지서치 함수와에 대한

안내가 있으니 직접 제작해보실 분들은 관련 함수를 참고하시면 좋을듯합니다.



오토핫키 스크립트 작성법이나 다른 스크립트 제작의뢰도 같이 받고있습니다.

이메일 : cai6452@naver.com


피싱마스터 매크로 만들기 피싱마스터 매크로 만들기

피싱마스터 매크로 - 스크립트 제작방법



물론 이미지서치는 굳이 비활성 이미지서치를 사용할 필요는 없습니다.

활성 ImageSearch 명령어로도 충분히 제작이 가능하며 

오히려 더 쉽게 코드를 작성 할 수 있습니다.


* Gdip ImageSearch를 사용하기 위해서는 Gdip 라이브러리가 필요합니다.


1.    먼저 반복구문의 형태를 구성해야 합니다. 

Loop 문으로 할건지, Settimer 로 할건지 Goto 로 할건지 정한이후

반복구문안에 이미지서치 함수를 사용하여 조건문을 구성합니다.


2.    이미지서치 성공의 경우 ControlClick 혹은 MouseClick 명령어를 사용해서 

클릭이벤트를 발생 합니다. 끊김이나 오류없는 반복을 위해서는 예외로 나타날수있는

팝업 메세지나 문구에대한 이미지 반응도 염두하여 코드를 작성해야 합니다.



Gdip_ImageSearch(pBitmapHaystack,pBitmapNeedle,ByRef OutputList=""

,OuterX1=0,OuterY1=0,OuterX2=0,OuterY2=0,Variation=0,Trans=""

,SearchDirection=1,Instances=1,LineDelim="`n",CoordDelim=",") {


    ; Some validations that can be done before proceeding any further

    If !( pBitmapHaystack && pBitmapNeedle )

        Return -1001

    If Variation not between 0 and 255

        return -1002

    If ( ( OuterX1 < 0 ) || ( OuterY1 < 0 ) )

        return -1003

    If SearchDirection not between 1 and 8

        SearchDirection := 1

    If ( Instances < 0 )

        Instances := 0


    ; Getting the dimensions and locking the bits [haystack]

    Gdip_GetImageDimensions(pBitmapHaystack,hWidth,hHeight)

    ; Last parameter being 1 says the LockMode flag is "READ only"

    If Gdip_LockBits(pBitmapHaystack,0,0,hWidth,hHeight,hStride,hScan,hBitmapData,1)

    OR !(hWidth := NumGet(hBitmapData,0))

    OR !(hHeight := NumGet(hBitmapData,4))

        Return -1004


    ; Careful! From this point on, we must do the following before returning:

    ; - unlock haystack bits


    ; Getting the dimensions and locking the bits [needle]

    Gdip_GetImageDimensions(pBitmapNeedle,nWidth,nHeight)

    ; If Trans is correctly specified, create a backup of the original needle bitmap

    ; and modify the current one, setting the desired color as transparent.

    ; Also, since a copy is created, we must remember to dispose the new bitmap later.

    ; This whole thing has to be done before locking the bits.

    If Trans between 0 and 0xFFFFFF

    {

        pOriginalBmpNeedle := pBitmapNeedle

        pBitmapNeedle := Gdip_CloneBitmapArea(pOriginalBmpNeedle,0,0,nWidth,nHeight)

        Gdip_SetBitmapTransColor(pBitmapNeedle,Trans)

        DumpCurrentNeedle := true

    }


    ; Careful! From this point on, we must do the following before returning:

    ; - unlock haystack bits

    ; - dispose current needle bitmap (if necessary)


    If Gdip_LockBits(pBitmapNeedle,0,0,nWidth,nHeight,nStride,nScan,nBitmapData)

    OR !(nWidth := NumGet(nBitmapData,0))

    OR !(nHeight := NumGet(nBitmapData,4))

    {

        If ( DumpCurrentNeedle )

            Gdip_DisposeImage(pBitmapNeedle)

        Gdip_UnlockBits(pBitmapHaystack,hBitmapData)

        Return -1005

    }

    

    ; Careful! From this point on, we must do the following before returning:

    ; - unlock haystack bits

    ; - unlock needle bits

    ; - dispose current needle bitmap (if necessary)


    ; Adjust the search box. "OuterX2,OuterY2" will be the last pixel evaluated

    ; as possibly matching with the needle's first pixel. So, we must avoid going

    ; beyond this maximum final coordinate.

    OuterX2 := ( !OuterX2 ? hWidth-nWidth+1 : OuterX2-nWidth+1 )

    OuterY2 := ( !OuterY2 ? hHeight-nHeight+1 : OuterY2-nHeight+1 )


    OutputCount := Gdip_MultiLockedBitsSearch(hStride,hScan,hWidth,hHeight

    ,nStride,nScan,nWidth,nHeight,OutputList,OuterX1,OuterY1,OuterX2,OuterY2

    ,Variation,SearchDirection,Instances,LineDelim,CoordDelim)


    Gdip_UnlockBits(pBitmapHaystack,hBitmapData)

    Gdip_UnlockBits(pBitmapNeedle,nBitmapData)

    If ( DumpCurrentNeedle )

        Gdip_DisposeImage(pBitmapNeedle)


    Return OutputCount

}



피싱마스터 매크로 만들기 피싱마스터매크로 매크로 피싱마스터

Posted by Khan64
,