프렙 커뮤니티

조회 수 11409 추천 18 댓글 114


안녕하세요~ 바람처럼 입니다..?오랫만에 강좌란에서 뵙게 되는군요...^^


이번 강좌에서는 업그레이드된?프렙 3.7 의 강력한 기능들을 몇번에 나누어 소개하고자 합니다....


이번에 업그레이된 프렙은 예전의 프렙과는 사뭇 다른 모습을 보여줍니다.


프렙을 이용하면서 아쉬웠던 기능들이 대거 지원되면서 신세계가 열렸다고 할수 있겠죠...


저와함께 차근차근 강력한 프렙의 세계로 떠날 준비가 되셨나요?


당연한 말이지만 아래 설명드리는 내용들은 모두 프렙 3.7 이상에서만 동작합니다~^^





1. 변수의 정의 (Variables)


스크립트를 포함한 모든 프로그래밍 언어의 기본은 변수 입니다.?


이 기본적인 변수를 프렙은 이제서야 드디어 지원하네요~ㅎㅎ


변수는 고정된 값이 아닌 변화하는 값을 보관하기 위한 장소라고 정의할 수 있겠죠.


따라서 우리가 지정하려고 하는 값이 다양하게 변화하더라도 변수를 이용하면 쉽게 처리할 수 있습니다.


또한, 변수를 이용해 사칙연산을 비롯한 다양한 연산이 가능하므로 좀더 편리하게 시퀀스를 구현할 수 있습니다.





2. 변수명 (Naming Convention)


프렙에서 변수명 규칙은, 영문 및 숫자, _(언더바) 그리고 특수한 경우에 사용하는 @ 로 구성되어 있습니다.


아쉽게도 한글변수명은 사용 하지 못하며, @로 시작하는 특수한 환경변수는 사용자가 지정할 수 없습니다.


변수의 첫번째 문자로 숫자가 올 수 없으며, 영문 대소문자는 구분됩니다.


예를 들자면 다음과 같은 변수명을 이용할 수 있습니다.


Test123 ?/ ?this_means_war ?/ ?DoYouKnowKimchi ?/ One2Three4Five





3. 변수정의 (Definition)


변수의 정의는 기존과 마찬가지로 컨트롤 항목에서 찾아볼 수 있습니다.


https://i.imgur.com/yGMNzDX.png


이 항목을 클릭해서 다양한 변수를 정의 합니다.


https://i.imgur.com/tnkBIJC.png


이 때, 변수정의 왼쪽 - 는 삭제, 오른쪽 + 는 위에 한줄을 더 삽입하는 역할을 합니다.





4. 변수형식 (Type)


프렙은 3가지 종류의 변수형태를 지원하며, 아래 표와 같습니다.


https://i.imgur.com/zTBuFkU.png



Number ? ?: 숫자형 입니다. 양수/음수 및 정수/실수값을 지정합니다.


Rectangle : 영역형 입니다. (x1 y1 x2 y2) 의 4개 좌표값으로 사각형 모양의 영역을 지정합니다.


String ? ? ? ?: 문자형 입니다. 한글을 포함한 모든 문자 지정이 가능하며,?

? ? ? ? ? ? ? ? ? ?ESC 문자 \ 을 이용하여 탭, 리턴, 백스페이스 등의 특수문자도 지정가능 합니다.





5, 환경변수 (Special Variables)


앞서 변수명 설명에서 @ 로 시작하는 특수한 변수가 있다고 말씀 드렸던 것이 바로 환경변수 입니다.


https://i.imgur.com/h4NmiBR.png



@repeat ? ? : 현재 레코드 반복횟수를 저장합니다.


@loop ? ? ? ?: 현재 루프 카운트를 저장합니다.


@lastif ? ? ? ?: 마지막 if 문의 성공/실패 여부를 저장합니다.


@rotation ? ?: 현재 디바이스의 회전방향을 저장합니다.


@cpuusage: 현재 디바이스의 CPU 부하를 저장합니다.


@lastmatch : 마지막 성공한 wait image 의 좌표를 저장합니다.


@screen ? ? : 현재 디바이스의 화면 크기를 저장합니다.


@clipboard ?: 클립보드 내용을 저장합니다.





6. 변수변경자 (Modifier)


기본적으로 변수명은 한단어로 구성되는게 원칙 입니다만, 프렙에선 몇가지 변경자를 두어 . 으로 구분하고 있습니다.


주로 영역 및 좌표와 관계되는 영역형식의 변수에서 사용됩니다.


https://i.imgur.com/EgrycpN.png


앞서 설명드린 Rectangle 형식의 변수는 4개의 좌표로 구성되어 있습니다.


이 값들을 따로 참조할때 사용되는 용도로 많이 사용됩니다.



https://i.imgur.com/2QHfwzy.png

알기쉽게 설명 드리자면, var=rect:(10 20 30 40) 로 정의된 var 라는 변수가 있다고 할 때


각각의 변경자 값은 다음과 같습니다.


var.left == 10 ?/ var.top == 20 ?/ ?var.right == 30 ?/ ?var.bottom == 40


var.x == 20 ?/ ?var.y == 30


var.width == 20 ?/ ?var.height == 20



String 형식의 변수 길이를 구하는 length 변경자도 있습니다.


문자열 길이는 영문/한글 구분없이 한글자를 1로 계산 합니다.


예를 들자면, var=str:"대한민국" ?일경우 var.length 값은 4 가 됩니다.


마찬가지로 var=str:"Test Length" 일경우 var.length 값은 11 이 됩니다.



추가적으로, 문자열을 숫자로 바꿔주는 asnum 과, 문자열을 영역으로 바꿔주는 asrect 가 있습니다.


또한 반대로 숫자,영역을 문자열로 바꿔주는 asstr 도 있으니 필요에 따라 사용해 주시면 되겠습니다.





7. Number 형식 변수의 연산자


숫자형 변수에서 사용 가능한 연산자 입니다.


https://i.imgur.com/ul1Z4d0.png


기본적인 사칙연산과 비트연산자 등을 지원하고 있습니다.





8. Rectangle 형식 변수의 연산자


영역형식의 변수에서 사용 가능한 연산자 입니다.


https://i.imgur.com/ODdyD8R.png


마찬가지로 사칙연산을 제공하고 있습니다만?한가지 특이한 사항은, 전체 변수에 한번에 연산을 할 수도 있고


위에서 설명드린 각각의 구성요소에 따로따로 연산을 할 수도 있다는 점입니다.


또한, 영역을 다루는 만큼 & | 연산자는 비트연산을 수행하는 것이 아닌


교집합 및 합집합 개념으로 영역 연산이 이루어 진다는 점은 꼭 명심하고 사용하셔야 합니다.





9. String 형식 변수의 연산자


문자형 변수에서 사용 가능한 연산자 입니다.


https://i.imgur.com/MybTVB7.png


+ 연산자는 두개의 문자열을 합칠때 사용하는 연산자 입니다.


sub 연산자는 substring, 즉 문자열 안에서 원하는 부분만을 발췌할 때 사용하는 연산자 입니다.


문자열은 행단위 혹은 열단위로 구분지어 발췌할 수 있으며, 뒷쪽에서 역으로 발췌도 가능합니다.


idx 연산자는 index, 즉 특정 문자열 내에 찾고자 하는 문자열이 몇번째 위치하는지 알아내는 연산자 입니다.


read 연산자는 파일내용을 읽어 변수에 대입하는 연산자 입니다.





10. 기타함수


다양한 용도로 사용가능한 부가적인 함수들 입니다.


https://i.imgur.com/G2joxEO.png ?


toast ?: 해당 변수값을 화면에 출력합니다. 모든 형태의 변수를 사용가능 합니다.


clean : 정의된 모든 변수를 모두 초기화 합니다. 단, @로 시작하는 환경변수는 예외 입니다.







어떠셨나요? 프렙의 변수는 단순한 변수가 아닌것 같죠?


OOP 언어인 C++ 이나 자바등의 클래스와 메소드를 보는 듯한 기분입니다.


덕분에 엄청 강력한 기능들로 프렙을 마음껏 작성할 수 있게 되었네요~


다음편 강좌인 응용편에서는, 이런 변수의 강력한 기능을 실제로 어떻게 이용할 수 있는지


다양한 경우의 예제를 가지고 진행하도록 하겠습니다.


여기까지 따라 오시느라 고생 많으셨습니다....



감사합니다~^_^




  • profile
    채원 2015.03.26 16:38

    프렙이 많이 새로워졌군요.

    과연 어떤식으로 응용을 하실지 궁금해집니다 ^^

  • profile
    바람처럼 2015.03.26 16:43
    프렙이 엄청 강력해 졌죠~^^

    덕분에 새로운 기능 하나하나 공부하고 연구하느라 정신없네요..ㅎㅎ

    의문점이나 소소한 버그도 몇개 발견해서 프렙 개발자랑 열심히 편지질(?) 중인데

    이러다 개발자랑 정분나는거 아닌지 모르겟어요.. 일본인 이더라구요..ㅋㅋ
  • profile
    채원 2015.03.26 16:51
    정분 ㅋㅋㅋㅋㅋㅋ
    개발자 홈페이지 떙스투에 바람님 아이디 적히는거 아닌가 모르겠군요 ㅋㅋㅋㅋㅋㅋ
  • jpadkw 2015.03.26 16:43

    아직은 한정적인 것들만 제 머리속에 그려지는데 고수 분들은 어떤식으로 응용해서 코딩할지 (말그대로 이제 단순 매크로 작업이 아니라 코딩이 되었네요.) 기대가 많이 됩니다.

    깔끔한 좋은 정보 감사합니다.

  • 소고기탕수육 2015.03.26 16:48

    항상 변수가 없는것이 아쉬웠는데 드디어 사용이 가능해졌군요! 좋은 정보 얻어갑니다~

  • profile
    옹스컴 2015.03.26 17:38

    개발자가 일본인 ... 깜놀이네요. 의외로 가깝.... ㅋ


    변수 아직 분석이 덜 되서 그런지 적용할 곳을 찾고 있는 중인데

    별로 안 보이네요.


    저 같은 경우(세나)는 열쇠 구매시에 0~1개 구매시 실패, 2개 이상 구매시 성공

    하도록 프로시저 수정해서 잘 쓰고 있습니다.

    [if[and:@loop == 0 or:@loop==1] on success : abort ]

    구문처럼 써서요

    (이상하게 <= 비교는 안되서 저렇게 쓰고 있습니다 ㅎㅎ)


    여튼 좀 더 찾아보면 적용할 곳이 많겠지요.


    그리고 강좌 잘 보고 있습니다?

    :)


  • 방랑문어 2015.03.26 18:46

    당췌 뭔 소린지 모르겠네요.. @.@

    지금부터 정독 100번 들어갑니다~~

  • wotjd1 2015.03.27 00:39
    ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
    멋잇어요
  • 선지해장국 2015.03.27 00:54

    강좌 고맙습니다... 조금 머리가 띵하네요 ㅎㅎ

    응용편에서 띵한머리를 조금 개운하게좀 해주세요 ^^

  • 오마이야야야 2015.03.27 03:26

    ㅋㅋㅋ 저한테는 외계어네요;;

    명령어 써서 매크로를 짜본적이 없어서 그런지 어렵군요.


    그래도 공부해서 써먹고싶네요.

    좋은 강좌 감사합니다^^

  • dkdzpf 2015.03.27 09:40

    감사합니다~~잘 봤습니다

  • 골목 2015.03.27 11:33

    어렵네요...이걸로 짤라면 머리아프겠다.. 로직은 히로매크로가 좀 더 쉬운거 같네요..

  • 호쪼니 2015.03.27 19:28

    으아 난 무슨말인지 전혀 모르겠어..

  • Works 2015.03.27 21:00

    활용의 폭이 두터워져서 좋네유.. 추가로 pc에서 편집가능한 스크립트 형태만 되어주면 정말 더 바랄게 없겠네유..?

  • 푸니다 2015.03.28 10:49

    강좌 감사합니다. 자료찾고 공부하시느라 고생하셨겠어요

  • 네넵 2015.03.29 11:48

    이걸 실제로 어떻게 세븐나이츠 에서 사용가능한지 궁금합니다. ^^

  • 프렙열공 2015.03.30 10:05

    게임 메크로에서 사용할 일이 있을지 의문이네요. 사용예 있으시면 공유부탁합니다.

  • 락샤타 2015.03.30 11:39

    우와.. 역시 어렵네요.. 이해를 하려면 여러 번 읽어보면서 테스트를 해봐야 겠네요..

    응용편이 궁금해지네요 ㅎㅎ 감사합니다~

  • profile
    달콤아빠 2015.03.31 09:27

    헉....터치만 사용하는 제가 이해하기엔 너무 어려운 기능이네요...ㅠㅠ 그래도 열시미 정독정독 하겠씁니다

  • 루싱 2015.03.31 09:45

    초보자인 저로서는 어려운 내용이네요..ㅠ.ㅠ?

  • 필맨 2015.04.01 16:18

    대단한 프로그램인것 같아요^^

  • 졸라킹 2015.04.05 17:01

    매크로 만들어 보려고 왔는데 너무 어렵네요~~^^ 그래도 차근차근 하면 잘 되겠죠??

  • 열공 2015.04.05 22:44

    초보에겐 너무나 먼 글이군요 ㅋㅋㅋ

    이해하려면 공부를 많이 해야 할것 같네요...

  • 일루앵교 2015.04.06 10:26

    진짜 프로그램 짜는것 처럼 진화 했네요 ㅎㅎ?

  • 신지호 2015.04.07 02:52

    으아 코딩이라니 공부가필요한시점이네요

  • 부소로 2015.04.08 11:12

    변수선언후 변수를 불러오는건 어떻게하나요?

  • profile
    바람처럼 2015.04.08 21:51

    연산이나 if 문에서 사용하면 됩니다...

    예를 들자면, int=num:int + 1 혹은 if and:int < 4 뭐 이런식이죠~

  • 윤슬이랑 2015.04.08 13:02

    어렵다.. 맨붕이네여. 고생하셨습니다.

  • FREEST 2015.04.08 15:07

    외계어가 난무하기 시작하네요 ㅠㅠ

  • profile
    혼담구라 2015.04.08 16:07

    MAIN 에서 선언한 변수를 PROC 에서도 사용할 수 있나요?

    글로벌 변수인지 아니면 로컬 변수인지가 궁굼하네요.

    저도 잠깐씩 해보고 있는데 잘 안되네요 ^^;;;

  • profile
    바람처럼 2015.04.08 21:49
    모든 변수는 글로벌 입니다...^^
  • profile
    혼담구라 2015.04.08 23:48
    그렇군요... 감사합니다.
    덕분에 이것 저것 제가 필요한 부분 고쳐서 잘 사용하고 있습니다 ^^
  • 응응s 2015.04.09 10:20

    어렵지만 정독정독

  • 안양백알 2015.04.10 11:49

    어렵군요..ㄷㄷ;

  • 하늘보기 2015.04.10 21:47

    대박...이런기능도...

  • 추앙 2015.04.10 23:01

    변수는 어렵네요 ㅠㅠ

    ?

    다음편엔 활용방법이 나올것같아서 기다리고 있습니다!

    ?

    바람처럼님 모든글 정독하니깐 어느정도 개념잡혀서 너무 감사합니다

  • 강만규 2015.04.11 02:39

    아직 변수는 넘사벽 저한테는 ㅜㅜ

  • 디비입니다 2015.04.11 10:44

    3종류 이상의?분기후 이미지가 있다고 가정할 때 선택해서 적용이 가능한건가요?

  • profile
    바람처럼 2015.04.11 13:13
    가능합니다.. 위 설명에는 없지만 3.7 버전부터 이미지 검색시 영역을 정해서 할수도 있고

    검색 성공한 이미지가 어느위치인지 쉽게 알수도 있습니다...

    이런 기능들을 조합하면 쉽게 가능하겠죠~
  • 검은징징이 2015.04.11 18:07

    어렵다 ㅠ ㅠ

  • 아겅이 2015.04.12 00:34

    덕분에 이번에 프렙에 새롭게 생긴 기능에 대해서 더 잘알수 있게되었네요.?

    관련된 일을 해서 용어가 어렵지는 않은데 무슨 기능을 하는지 정확하게 알지 못했는데.. ^^

    감사합니다~!

  • profile
    홍런볼 2015.04.14 13:51

    잘 사용하고 있습니다. 아직 응용이 자유롭지는 않치만요... ^_^

    ㅎㅎㅎ

  • mongilgg 2015.04.16 08:33

    역시 바람님의 강좌가 짱이네요. 또다시 좋은자료 배우고갑니다 감사해요~

  • ryin 2015.04.17 10:37

    아아.... 변수와 코딩이라니... 관련된 기본 지식이 없는사람은 슬프기만 하네요 ㅠ.ㅠ


    재밌긴한데 너무 어려운거 같습니다 ㅠㅠ

  • 행이요 2015.04.23 21:11

    지금 본 편도 그렇지만, 앞으로 강좌 기대됩니다.

    감사합니다.

  • 저기너머에 2015.04.23 22:13

    우왓. 변수와 if구문이 생기다니.;; 프렙이 단순히 게임메크로를 벗어나 쓰일데가 많겠군요 ㄷㄷ

  • profile
    긔여븐앙마 2015.04.27 12:16
    궁금한게 있어요!
    1. 시퀀스나 컨트롤버튼(시퀀스속 웨이트이미지, 탭, 웨이트)앞에 있는 숫자를 변수로 지정할수있나요?

    2. 문자열이라 하믄 시퀀스나 컨트롤버튼 라벨인가요..?
  • 매크로좋아 2015.05.05 14:37

    와우..완전 신세계이네요..프렙 스크립트 제작할 때 안드로이드 폰 환경에서 제작하나요? 아니면 일반 PC에서 제작후 옴기나요?

  • 빵삼이 2015.05.08 00:21

    내용은 조금 어렵지만 좋은 정보 감사 합니다ㅎㅎ

  • 럽띵 2015.05.11 04:16

    좋은정보감사요ㅎㅎ


List of Articles
제목 글쓴이 최근변경 추천
프렙으로 페이스북 복사한글 붙히기 1 kakasi78 2018.11.27 3/0
프렙에서 타이머를 써보자~! 179 바람처럼 2023.01.16 17/0
프렙에서 다이나믹 변수를 써보자~! 67 바람처럼 2023.11.14 6/0
프렙 3.8 의 새로운 기능들 104 바람처럼 2023.05.26 12/0
프렙 3.7 의 새로운 기능... 응용편 #2 (영역 & 이미지) 155 바람처럼 2023.07.20 19/0
프렙 3.7 의 새로운 기능... 응용편 #1 (루프 & 스트링) 107 바람처럼 2021.07.19 11/0
밖에서 frep이 무슨 아이템을 먹고 있나 확인을 해보자... 117 쉐브 2022.11.08 8/0
[Frep] 세나-쫄작 스퀸즈 만들기 방법(엑셀자료) 115 두환애비 2023.01.22 19/0
프렙 3.7 의 새로운 기능... 조건문(If), 로그(Error, ... 95 바람처럼 2020.12.25 16/0
프렙 3.7 의 새로운 기능... 변수(Variables) 기초편 114 바람처럼 2021.01.04 18/0
[몬길] frep 매크로 아주 간단하게 따라하며 만들기 2편 94 오렌지케이크 2024.01.04 10/0
[몬길] frep 매크로 아주 간단하게 따라하며 만들기 1편 195 오렌지케이크 2021.05.25 24/0
세나] 프렙으로 대동단결 2탄 - 프렙 강좌(1) 19 옹스컴 2023.07.27 1/0
[Frep] 쫄교체 매크로 동영상 강좌 2 76 제이먼청 2023.07.21 6/0
[Frep] 쫄교체 매크로 동영상 강좌 1 101 제이먼청 2023.01.22 15/0
간단하게 만드는 7-9쫄 기반 세븐나이츠 3쫄 교체(3) 76 제이먼청 2020.12.24 9/0
간단하게 만드는 7-9쫄 기반 세븐나이츠 3쫄 교체(2) 41 제이먼청 2020.12.24 8/0
간단하게 만드는 7-9쫄 기반 세븐나이츠 3쫄 교체(1) 77 제이먼청 2023.07.27 10/0
세나 프랩 간단하게..강좌 117 김부관 2020.12.24 19/0
프렙의 단순작업 도우미... 프로시져 (Procedure) 123 바람처럼 2020.12.23 20/0
Board Pagination Prev 1 2 Next
/ 2

전체 최신 인기글

전체 주간 인기글