건독 매크로 만들던 중
크리티컬/배어리(01 성공)/펌블마다 다르게 표시하면 가독성이 좋겠다 싶어
간단하게 만들어본 기능.
[[1d[[?{value|} + 1]]r<[[?{value}]]cf1cf2cs2cs21 - 1]]
이 구문을 걍 채팅창에 복붙한 다음
value에 20을 넣으면 녹색, 1을 넣으면 파란색, 0을 넣으면 빨간색이 나온다.
예전 버전이 10의 배수에서 판정에 실패한 것과, 펌블이 같은 색으로 표시되던 게
영 짜증나서 만들어봤다.
대충 봐도 알겠지만 별로 어려운 방식은 아님... 실제로 금방 완성했고.
1d0는 0으로 나오지만 1d0r<-1이 1로 나오는 걸 몰라서 좀 당황했지.
단점은 value 값을 cf, cs 구문 안으로 가져오는 걸 1d[[value + 1]]r[[value]]로 구현하다 보니
이론적으로는 무한히 주사위를 리롤하면서 렉을 가중시킬 수 있다는 것과
(일단 건독 달성치는 20까지밖에 안 되므로 렉이 거의 체감되지 않는다.
100을 시험삼아 넣어봤는데 렉이 걸린다는 체감 정도는 있다. 덥크에서는 못 쓰겠다 이거.)
본인이 제작 중인 매크로는 roll index manipulation을 쓰다 보니,
value + 1과 value를 직접 계산할 수 없고 별개의 인덱싱으로 접근해야 해서
내부구조 상 주사위를 100개쯤 더 굴려야 한다는 점...???;
이미 알고 쓰고 있던 분들도 많지 싶은데
Roll20 Dice reference에 익숙지 않은 분들을 위해 올려봄.
이런 글은 무지성 개추 ㅇㅇ
능력추
이거 원리가 어케 되는지 물어봐도됨?
별 거 아님, [[mdnr(조건)]]은 조건을 만족 못 한 모든 주사위를 만족할 때까지 다시 굴리는 굴림 명령인데, 그래서 [[1dnr<(n-1)]]은 그냥 n이 나올 때까지 죽어라 1dn을 다시 굴리는 짓을 반복하게 됨. 설사 1d20을 굴려도 대개는 50번이 되지 않아서 20을 뱉어내게 되어 있고, 그래서 Roll query ?{}로 임의의 입력값을 넣어서 [[1dnr<(n-1)]], 내가 만든 상황은 0이 들어가다 보니 예외적으로 [[1d(n+1)r
짤렸네;; [[1d(n+1)rn - 1]]을 굴려서 n을 뱉어내게 만든 거. cs와 cf는 각각 크리티컬과 펌블의 조건을 수동설정하는 조항인데, 이게 [[ [+]cs10 ]] 이딴 식으로는 동작 안 하고, 꼭 실제로 주사위가 굴러가야만 작동하거든? 근데 이거는 항상 입력값을 뱉어내는 거라도 Roll20 내부적으로는 주사위가 굴러가니까 크리와 펌블을 정해진 숫자대로 할당해 줄 수 있는 거. 크리는 녹색, 펌블은 빨간색, 크리와 펌블이 겹치면 파란색으로 굴림 상자 테두리를 칠해주니까 임의 숫자에 펌블이나 크리를 집어넣는 식으로 쓸 수 있는 거임...
오타에 이모티콘 자동변환에 총체적 난국이네, 두 번째 대댓에서 [[1d(n+1)rn - 1]]은 [[1d(n+1)r
아씨 닫는 구문이 되는구나 씨바, <붙이고n]을 닫는 구문으로 인식하네;;; [[1d(n+1)r< 붙이고 n - 1]]으로, [[ [+]cs10 ]]은 [[ [[ 10 ]]cs10 ]]으로 바꿔서 읽으면 됨. 혹시나 해서 말하는 건데 Roll20에서 <는 미만이 아니라 이하라는 거 헷갈리지 말고, 이걸 좀 응용하면 10의 배수가 입력되면 크리티컬로 표시해 주는 구문 같은 것도 만들 수 있음. [[1d?{value|}r<[[(?{value} - 1)]]cs[[?{value} - [[?{value} % 10]] ]] ]] 같은 식으로.
오우 자세한 설명 ㄱㅅㄱㅅ