예전에 이 글에서 Turn tracker를 포인터로 사용해서
Roll20 내에서 각종 데이터를 전달하는 데 쓸 수 있다고 했었지?
읽기 귀찮은 사람들을 위해 다시 한 번 간략히 설명하자면
target으로 선택할 토큰과 연동할 시트에
이런 attribute를 넣고
마찬가지로 매크로 시트에도 이런 속성을 넣어둔 다음
코드를 이렇게 짜면
Roll20에서는 해당 코드를
해당 순서대로 해석해서
이렇게 Turn tracker에 기록된 시로코의 이니시 값 2를 받아낸다.
이유는 모르지만 target의 속성을 불러내는 것과
selected 및 시트를 직접 호출해서 속성을 불러내는 것에
순서 차이가 있어서, 이런 다소 번거로운 과정을 거쳐야만 함.
이걸 응용해서, 2^53-1까지의 값을 턴 트래커에 저장하고 불러내는 식으로
매크로를 작동시키고 있는데...
여기서 조금 문제가 되는 게,
매크로를 만들다 보면 이런 식으로 트래커 값을 몇십 개 불러와야 할 때가 있단 말임???
그런데 이런 식으로, target의 속성 호출이 100번을 찍어버리면
이렇게, 마지막 변환이 제대로 되지 않는 문제가 생김.
이건 아무래도 Roll20에서 속성 호출 계산 단계를
최대 99번까지만 반복하게 설계된 것과 밀접한 관계가 있는 거 같음.
실제로 비슷한 이유로 Query도 100개 이상 불러낼 수가 없어서
애로사항이 많은 게 사실이지...
아무튼 그래서, 이거 답이 없는 건가... 하고 생각했는데
사실, 단순 속성 호출 한 '단계'에서 처음부터 모두 변환이 끝나기 때문에
100개건 200개건 100'단계'를 거치지 않으면 문제가 없어야 정상인 게 맞거든?
그래서 이게 대체 왜 그런가 싶어서 이것저것 해 봤는데
이렇게, 200개의 변환을 시키건, 그 이상의 변환을 시키건
맨 마지막에서만 변환이 중단되고 그 앞에서는 멀쩡히 작동한다는 것을 알아냈음!
그래서, 그냥 맨 마지막에 사용하지 않는 @{target|test|trackerPrefix}
한 줄만 더 붙이면 대부분의 문제는 해결된다.
...근데 대체 왜 이걸로 해결이 되는 건지는 잘 모르겠음;;
댓글 0