평소처럼 매크로 제작 작업을 하고 있는데

왠지 예전에 작업해 놓은 것들에 새로 만든 걸 연결시켜 보려고 하니까

제대로 작동을 안 하더라???



ㅅㅂ 뭔 일인가 하고 이것저것 테스트해 보고,

Roll20 패치 로그도 읽어보고 했는데

대충 원인이 무료 계정에서도 가능한 API 커맨드 응용 관련 부분이더라.



느낌표로 시작하는 문장들은 Roll20이 죄다 API 커맨드로 인식하고

설사 그 내용에 해당하는 스크립트가 없더라도,

사용자가 프로 계정이 아니여서 애초에 스크립트를 실행시킬 수 없다 하더라도

그 문장들을 채팅창에 '출력하지 않는' 식으로 동작했거든?



그래서 한 천재가 이걸 이용하면 쿼리들을 출력하지 않고도 내부적으로 할당할 수 있다는 걸 알아냈고

나도 좀 유저친화적인 쿼리 순서를 만들려고 이 기능을 엄청 떡칠해 놨었단 말임.


! ?{사용 총기|@{selected|주무장_이름}, @{selected|주무장_스킬}|}
! ?{신뢰성|@{selected|주무장_신뢰성} }
! ?{거리별 명중 수정|%{MacroCalc|MAIN_WEAPON_RANGE} }
! ?{사격 모드|단발, 1[단발]|점사, 3[점사]|연사, 5[연사]|2점사, 2[2점사]}
! ?{사격 횟수|3|2|1}
! ?{사수의 이동 방법|%{MacroCalc|MOVING_MODIFIER} }
! ?{목표의 이동 방법|%{MacroCalc|TARGET_MOVING_MODIFIER} }
! ?{사격 시의 수정|%{MacroCalc|FIRE_MODIFIER} }

&{template:default}{{name=@{selected|token_name}의 *@{selected|주무장_이름}* 사격
}} %{MacroCalc|drawSingleTargetFire}

%{MacroCalc|rollSingleTargetFire} {{ =[대미지 굴림](~MacroCalc|inflictFireDamageMain" style="%{MacroCalc|STYLE_BUTTON_RED}) [사격 펌블표](~MacroCalc|rollFireFumble" style="%{MacroCalc|STYLE_BUTTON_GRAY})
}}


이런 식으로 사용 총기, 신뢰성, 거리별 명중 수정... 순으로 쿼리를 입력받을 수 있었음.



그런데 이제 이 기능이 예전과 다르게 작동한다.

이제는 채팅창에 한꺼번에 입력하는 여러 줄(매크로던 그냥 타이핑을 줄바꿈 하면서 입력한 것이든) 중에

API 커맨드가 존재하면


그냥 그 입력 전체를 출력하지 않도록 처리해버린다.



?{test}
! ?{test2}
?{test3}



시범삼아 이 구문을 채팅창에 복붙해 보는 것도 좋을듯.

쿼리는 정상적으로 3개가 나오지만, 두 번째 줄은 값은 물론

첫 번째와 세 번째 줄도 나오지 않고, 채팅창에 아무런 일도 일어나지 않는 걸 확인할 수 있을 거임.




그래도 예전처럼 쿼리가 입력되면서 출력이 이루어지지 않게 처리하는 방법은 API 말고도 꽤 있을 거 같으니

(지금 당장 생각나는 건 CSS의 position 써서 모니터 저편으로 쿼리를 치워버리는 방법이네)

나로서는 좀 귀찮아지고 마는 거에 불과하니, 불평할 만한 일은 아니고...



정확히 무슨 이유로 이런 패치를 단행한 건지는 모르겠다만

아마 보안상의 문제가 될 수 있다는 판단이지 않았을까?

이런 패치가 이루어진다는 사실 자체는 긍정적으로 봐야 한다 생각함.




여러분의 프로 계정 구독료는 놀랍게도 개발에 재투자되고 있었습니다...





호옥시 자신이 쓰고 있던 매크로에서 이 API Query ordering이 적용되어 있었다면

플레이 전에 꼭 수정해주셔야겠고


호오오옥시 영어를 잘 하면서

해외 매크로쟁이들이 시간낭비하는 걸 막아주고 싶다 생각하시는 마음 따뜻한 분이 계시다면

포럼에 패치로 막혔다고 보고해주시는 것도 좋을 듯합니다...

제가 영어를 잘 못 해서 이거 막혔다고 설명하는 것도 못해요...



그러면 다음에는 진짜 제압사격 매크로 완성본으로 돌아오겠음!