총합<input type="number" name="attr_total_stat" value="[[@{math}+@{language}+@{social}+@{nature}+@{body}+@{machine}+@{living}+@{birth}]]" disabled>
<button class="sheet-secroll" type="roll" name="music_roll" value="&{template:quartett} {{name=@{character_name}}} {{check=음악 판정}} {{roll=[[@{music}+2d6]]}}" title="음악적인 재능입니다. 청각의 예민함도 포함.">음악</button><input type="text" name="attr_music" value="">
<button type="roll" name="math_roll" value="&{template:quartett} {{name=@{character_name}}} {{check=수학 판정}} {{roll=[[@{math}+2d6]]}}" title="계산을 하고 논리적인 과제를 달성하기 위한 능력">수학</button><input type="text" name="attr_math">
<button type="roll" name="language_roll" value="&{template:quartett} {{name=@{character_name}}} {{check=어학 판정}} {{roll=[[@{language}+2d6]]}}" title="의사소통 능력, 언어 능력, 언어적 표현력을 종합한 능력">어학</button><input type="text" name="attr_language">
<button type="roll" name="social_roll" value="&{template:quartett} {{name=@{character_name}}} {{check=사회 판정}} {{roll=[[@{social}+2d6]]}}" title="정치, 경제, 역사, 지리 등 사회적 지식의 양">사회</button><input type="text" name="attr_social">
<button type="roll" name="nature_roll" value="&{template:quartett} {{name=@{character_name}}} {{check=자연 판정}} {{roll=[[@{nature}+2d6]]}}" title="화학, 물리, 생물, 천문 등 이과 학문 지식의 양">자연</button><input type="text" name="attr_nature">
<button type="roll" name="body_roll" value="&{template:quartett} {{name=@{character_name}}} {{check=신체 판정}} {{roll=[[@{body}+2d6]]}}" title="운동 신경, 지구력, 순발력, 집중력, 건강, 청각 이외의 오감의 예민함 등을 종합한 능력">신체</button><input type="text" name="attr_body">
<button type="roll" name="machine_roll" value="&{template:quartett} {{name=@{character_name}}} {{check=기계 판정}} {{roll=[[@{machine}+2d6]]}}" title="도구와 기계의 취급, 차량 운전 등 음악에 관련되지 않은 일반적인 기구의 취급 능력">기계</button><input type="text" name="attr_machine">
<button type="roll" name="living_roll" value="&{template:quartett} {{name=@{character_name}}} {{check=생활 판정}} {{roll=[[@{living}+2d6]]}}" title="취사, 세탁, 청소, 정리, 재봉, 생활 용품의 지식 등 생활을 편안하게 하는 능력">생활</button><input type="text" name="attr_living">
<button type="roll" name="birth_roll" value="&{template:quartett} {{name=@{character_name}}} {{check=출생 판정}} {{roll=[[@{birth}+2d6]]}}" title="부모, 친척 등의 후원자의 사회적, 경제적, 음악적 위상을 종합 한 수치">출생</button><input type="text" name="attr_birth">
이렇게 작성하면, 대강 이런 모양이 됩니다. 음악의 input에만 value를 기입하지 않았어요.
총합
여기서 우리가 자동으로 계산시키도록 할 것은, 총합 부분이 됩니다. input 태그 안의 마지막 속성에 disabled를 적어 주어서, 입력칸을 클릭해도 직접 수정하거나 입력할 수 없는 상태라는 것을 알 수 있습니다.
수학+언어+사회+자연+신체+기계+생활+출생을 적기 위해서, 각각의 능력치를 @{능력치}의 형태로 받아올 수 있습니다. 이것은 캐릭터 시트에 attributes값이 존재한다면, 능력치가 아니라 장문의 텍스트 등 어떤 것이라도 가능합니다. 예를 들어, input의 name="attr_Untitled"라면 다음과 같이 데이터가 저장되는 것을 확인할 수 있고, 채팅창에서 @{Oosreck Niigreto|Untitled}라고 적으면 해당 값으로 치환하여 출력됩니다.
그렇게 해서 현재값을 가져올 수 있고, 우리가 하려는 부분에는 최대값이 필요하지 않지만 @{능력치|max}의 형태로 최대치를 가져오는 것도 가능합니다. 물론 채팅창에서 호출할 수도 있는데, 이 때는 @{pc이름|능력치|max}가 됩니다.
그래서 value="[[@{math}+@{language}+@{social}+@{nature}+@{body}+@{machine}+@{living}+@{birth}]]"가 되었네요.
roll20에서 값을 자동계산 하거나 주사위를 굴릴 때 [[1d6+3]]과 같이 채팅창에 보내서 결과를 알 수 있잖아요? 그런 형태로 대괄호를 2개 쓰고 그 안에 내용을 적으면 되는 겁니다. 그리고 반드시 disabled를 덧붙여야, roll20에서 이것은 평범한 입력칸이 아니라 자동계산을 수행하기 위한 것임을 인식합니다. 이것이 auto calc의 전부입니다. 간단하죠?
실제로 이것을 시트에 넣고 나머지 항목을 입력하면 자동계산되어 나오는 total값을 확인할 수 있는데, 그것을 attributes에서 확인하려 하면 total이 존재하지 않습니다. disabled이기 때문에 실제로 사용하는 값은 아니라고 생각한다는 것이죠. 그래서 음악의 value에 [[round((100-@{total})/5)]]라고 써도, @{total}이 없기 때문에 제대로 된 계산을 해 주지 못합니다. 그러므로 auto calc는 어떤 값들을 처리하는 최종적인 단계에서만 즉각적으로 보여주고 싶을 때 쓰는 것이 좋습니다. 하지만 이렇게 종종, 중간에도 자동계산을 하고 나중에 또 자동계산으로 처리를 했으면 좋겠다 싶은 부분들이 있다면 어떻게 해야 할까요? 그것은 다음 글, js를 통한 자동 계산에서 설명하겠습니다. 안녕~
댓글 없음:
댓글 쓰기
본문과 관련이 적은 댓글은 삭제될 수 있습니다.