예전에 이 글에서 Turn tracker를 포인터로 사용해서

Roll20 내에서 각종 데이터를 전달하는 데 쓸 수 있다고 했었지?



읽기 귀찮은 사람들을 위해 다시 한 번 간략히 설명하자면



viewimage.php?id=39afc021&no=24b0d769e1d32ca73dea8efa11d02831c5a13172a783ed9d276af118494e34a81cbc7521213fc47e62c88b6ad3af9828d0c74929ab509004b17c42d1ad2aeb80

target으로 선택할 토큰과 연동할 시트에

이런 attribute를 넣고



viewimage.php?id=39afc021&no=24b0d769e1d32ca73dea8efa11d02831c5a13172a783ed9d276af118494e34a81cbc7521213fc47e62c88b6ad3af9828d0c74929ad029a50b07511d3ad2aeb80

마찬가지로 매크로 시트에도 이런 속성을 넣어둔 다음


viewimage.php?id=39afc021&no=24b0d769e1d32ca73dea8efa11d02831c5a13172a783ed9d276af118494e34a81cbc7521213fc47e62c88b6ad3af9828d0c74929a2569b51b67a42d1ad2aeb80


코드를 이렇게 짜면



Roll20에서는 해당 코드를


viewimage.php?id=39afc021&no=24b0d769e1d32ca73dea8efa11d02831c5a13172a783ed9d276af118494e34a81cbc7521213fc47e62c88b6ad3af9828d0c74929fe549005ea7a13daad2aeb80


해당 순서대로 해석해서


viewimage.php?id=39afc021&no=24b0d769e1d32ca73dea8efa11d02831c5a13172a783ed9d276af118494e34a81cbc7521213fc47e62c88b6ad3af9828d0c74929f800cc53b62946d1ad2aeb80


이렇게 Turn tracker에 기록된 시로코의 이니시 값 2를 받아낸다.


이유는 모르지만 target의 속성을 불러내는 것과

selected 및 시트를 직접 호출해서 속성을 불러내는 것에

순서 차이가 있어서, 이런 다소 번거로운 과정을 거쳐야만 함.



이걸 응용해서, 2^53-1까지의 값을 턴 트래커에 저장하고 불러내는 식으로

매크로를 작동시키고 있는데...




여기서 조금 문제가 되는 게,

매크로를 만들다 보면 이런 식으로 트래커 값을 몇십 개 불러와야 할 때가 있단 말임???



viewimage.php?id=39afc021&no=24b0d769e1d32ca73dea8efa11d02831c5a13172a783ed9d276af118494e34a81cbc7521213fc47e62c88b6ad3af9828d0c74929a8509e04eb2e45d7ad2aeb80


그런데 이런 식으로, target의 속성 호출이 100번을 찍어버리면


viewimage.php?id=39afc021&no=24b0d769e1d32ca73dea8efa11d02831c5a13172a783ed9d276af118494e34a81cbc7521213fc47e62c88b6ad3af9828d0c74929a2559154e67b4280ad2aeb80


이렇게, 마지막 변환이 제대로 되지 않는 문제가 생김.




a16505aa193676b660b8f68b12d21a1dfc43cdaec30c


이건 아무래도 Roll20에서 속성 호출 계산 단계를 

최대 99번까지만 반복하게 설계된 것과 밀접한 관계가 있는 거 같음.

실제로 비슷한 이유로 Query도 100개 이상 불러낼 수가 없어서 

애로사항이 많은 게 사실이지...



아무튼 그래서, 이거 답이 없는 건가... 하고 생각했는데



사실, 단순 속성 호출 한 '단계'에서 처음부터 모두 변환이 끝나기 때문에

100개건 200개건 100'단계'를 거치지 않으면 문제가 없어야 정상인 게 맞거든?


그래서 이게 대체 왜 그런가 싶어서 이것저것 해 봤는데



viewimage.php?id=39afc021&no=24b0d769e1d32ca73dea8efa11d02831c5a13172a783ed9d276af118494e34a81cbc7521213fc47e62c88b6ad3af9828d0c74929a2049156eb751ed4ad2aeb80



이렇게, 200개의 변환을 시키건, 그 이상의 변환을 시키건

맨 마지막에서만 변환이 중단되고 그 앞에서는 멀쩡히 작동한다는 것을 알아냈음!



그래서, 그냥 맨 마지막에 사용하지 않는 @{target|test|trackerPrefix} 

한 줄만 더 붙이면 대부분의 문제는 해결된다.




...근데 대체 왜 이걸로 해결이 되는 건지는 잘 모르겠음;;