매크로

조회 수 11527 추천 12 댓글 104


안녕하세요~ 바람처럼 입니다...


프렙이 버전업 되면서 기존에 있던 버그들이 잡히고 몇몇 새로운 기능들이 추가 되었습니다.


오늘은 추가된 기능을 중심으로 프렙 3.8 의 새로운 기능을 살펴보도록 하겠습니다.






1. 해결된 버그들


이번에 해결된 버그중 가장 중요한 것은 고질적이었던 임포트시 시퀀스/인덱스 깨짐현상 입니다.


기존에 이런 문제때문에 훌륭한 임포트/익스포트 기능을 두고 DB를 따로 복사했었죠.


제가 사용해본 바로는 이제는 임포트시 깨짐현상이 없어진듯 보입니다.


개발진의 말에 따르면 확실하게 해결했다니 한번 믿어 보도록 하지요~^^



또한가지 중요한건, (String).length 변경자가 이제는 올바른 값을 리턴해 줍니다.


예전에는 \ " 등의 문자까지 모두 포함해 길이를 리턴하던 문제가 있었죠.


이것또한 제가 테스트 해본 바로는 훌륭하게 작동하는 것 같습니다.



이밖에도 소소한 문제들이 많이 해결되었습니다.?


제가 개발자에게 리포팅 했던 버그들도 모두 잡혔고, 제가 미처 몰랐던 버그들도 잡혔다는군요.


확실히 예전보다 소소한 문제가 없어져 코딩하기에도 많이 편해진 듯 합니다~^^






2. 새로 추가된 기능들 - 형변환


이 기능은 정확히 3.7patched2 버전부터 추가된 기능입니다.


예전 제가 ?작성한 응용편에서 언급했듯이 문자/숫자를 서로 변환하는 일이 대단히 많고 중요하기 때문에


따로 프로시져를 작성해서 사용했던걸 기억하시는 분들이 있을겁니다.


저를 비롯한 많은 사람들의 요구와 협박(?)을 못이긴 탓인지, 아니면 개발자도 중요성을 실감했기 때문인지 모르겠지만


아뭏든 이 기능이 추가 되었습니다. 정말 반길일이죠~^^


추가된 새로운 형변환자는 .asstr / .asnum / .asrect 입니다.


순서대로 숫자->문자, 문자->숫자, 문자->영역형으로 변환하는 기능을 갖고 있습니다.


사용법은 아주 간단합니다. 문자/숫자/영역형 변수에 변경자를 추가하면 바로 변환이 이루어 집니다.


예들들어, 숫자 123을 문자 "123"으로 변환하고자 한다면 다음과 같이 하면 됩니다.


n=num:123

s=str:n.asstr


반대의 경우도 마찬가지로 아주 간단합니다.


s=str:"123"

n=num:s.asnum



어때요? 아주 쉽죠? 영역형 또한 마찬가지 방법으로 변환하면 됩니다.







2. 새로 추가된 기능들 - 시간계산


드디어 프렙에 시간계산과 관련된 함수 및 연산자들이 추가 되었습니다.


이 기능이 추가됨으로써 예전에 루프와 웨이트를 이용해 어렴풋이 계산하던 시간을


실시간으로 정확한 계산이 가능하게 되었습니다. 여러모로 많은 곳에 유용할듯 보입니다.


관련된 함수로는 @start / @now 가 있고, 연산자는 .asdate / .astime 이 있습니다.


@start 는 프렙이 시작된 시각을 밀리초(ms) 단위로 리턴해 줍니다.


@now 는 현재 시각을 역시 밀리초(ms) 단위로 리턴해 줍니다.


이때의 시간 기준은 1970년 1월 1일 0시를 기점으로 그후 얼마나 시간이 흘렀는지 입니다.


날짜범위는 1970년 1월 1일에서 약 285,616년 입니다.. 뭐 이정도면 아직까진 충분하겠죠? ^^;;


이 두가지 함수를 이용하면, 프렙이 시작한 이후 얼마의 시간이 흘렀는지


혹은, 특정 시각을 기준으로 얼마의 시간이 흘렀는지 정확히 계산할 수 있습니다.


반대로 이야기 하자면, 특정 시간 이후에 이루어질 어떤 동작을 판단하는 기준이 될 수도 있습니다.


예를들어, 30분마다 수행해야 하는 동작이 있다고 할 때, 다음과 같은 방식으로 처리할 수 있습니다.



start=num:@now


.....(이런저런 동작들).....


delta=num:@now-start


if delta >=?1800000 ?(30*60*1000 = 30분)


.....(필요한 동작수행).....



이 방식의 장점은, 루프를 통해 시간조절을 하는 경우 반드시 해당 루프와 판단문이 같은 레코드/프로시져 내부에


함께 위치해야 한다는 한계가 없다는 점입니다. 즉, 판단부분은 어느곳에 위치해도 상관없다는 이야기죠...




이와 더불어, 시간정보를 우리가 알아보기 쉽게 날짜와 시간으로 표현해 주는 연산자도 추가되었습니다.


.asdate 는 "yyyy/MM/dd hh:mm:ss" 형태로 변환해 줍니다. 즉, "2015/07/10 18:15:34" 처럼 되겠죠.


.astime 은 "hour:min:sec.ms" 형태로 변환해 줍니다. 즉, "321343:15:34.547" 과 같은 형태입니다.



이를 이용하여, 특정날짜 특정시간에만 수행하는 기능을 작성하는 것이 가능하게 되었습니다.


게임을 예로 들자면, 푸시가 오는 시간에 재접속을 한다거나 하는것을 할 수 있겠죠...


또는, 일정시간 간격으로 수행해야 하는 이벤트 같은 것들을 예로 들 수 있겠습니다.





프렙이 나날이 발전하고 있습니다. 덕분에 조금 더 무거워지긴 했지만 그래도 감사한 일이죠.


아무쪼록, 프렙을 이용해 매크로를 작성하는 모든 분들께 제 강좌가 조금이나마 도움이 되었으면 합니다.



감사합니다~^^









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

전체 최신 인기글

전체 주간 인기글