マクロ & コマ・アクションは、頻繁に繰り返されるコマンド用のカスタムショートカットです。 マクロはゲームに属する。 コマ・アクションは個々のキャラクターに属する。 それ以外は同じ技術です。 詳細はこちらをご覧ください。
例えば、キャラクターに戦闘の掛け声を叫ばせ、よく使うスキルを自動的に発動させるショートカットを作成できます。 素早くアクセスするには、これらのコマンドをクイックバーまたはコマ・アクションに追加できます。
最初のマクロの作成
VTTの「コレクション」タブに移動してください。 マクロヘッダーの横にある「 +追加」ボタン をクリックしてください。 ここで最初の簡単なマクロを書くことができます。
まずは非常にシンプルなマクロから始めましょう。チャットに一行のテキストを送信し、d20を振るだけのものです。
名前: 初めてのマクロ
行動:
これが私の初めてのマクロです!
/ロール 1d20 + 5
では、より高度なマクロを試してみましょう。 このマクロは、D&D5Eのいずれのゲームでも、選択したコマのスキルチェックをロールするために使用できます。 PCにもNPCにも同様に機能するため、GMがダイスを振るためにキャラクターシートを開く必要は一切ない。
名前: スキルチェック
行動:
/w gm @{selected|token_name} 試みる ?{スキル選択|
アクロバット (@{selected|acrobatics_bonus}), アクロバット判定 [[1d20 + @{selected|acrobatics_bonus}]]|
動物調教 (@{selected|animal_handling_bonus}), 動物調教判定 [[1d20 + @{selected|animal_handling_bonus}]]|
秘術 (@{selected|arcana_bonus}), 秘術判定 [[1d20 + @{selected|arcana_bonus}]]|
運動 (@{selected|athletics_bonus}), 運動判定 [[1d20 + @{selected|athletics_bonus}]]|
欺瞞 (@{selected|deception_bonus}), 欺瞞判定 [[1d20 + @{selected|deception_bonus}]]|
歴史 (@{selected|history_bonus}), 歴史判定 [[1d20 + @{selected|history_bonus}]]|
洞察 (@{selected|insight_bonus}), 洞察判定 [[1d20 + @{selected|insight_bonus}]]|
威嚇 (@{selected|intimidation_bonus}), 威嚇判定 [[1d20 + @{selected|intimidation_bonus}]]|
調査 (@{selected|investigation_bonus}), 調査判定 [[1d20 + @{selected|investigation_bonus}]]|
医学 (@{selected|medicine_bonus}), 医学判定 [[1d20 + @{selected|medicine_bonus}]]|
自然 (@{selected|nature_bonus}), 自然判定 [[1d20 + @{selected|nature_bonus}]]|
知覚 (@{selected|perception_bonus}), 知覚判定 [[1d20 + @{selected|perception_bonus}]]|
演技 (@{selected|performance_bonus}), 演技判定 [[1d20 + @{selected|performance_bonus}]]|
説得 (@{selected|persuasion_bonus}), 説得力チェック [[1d20 + @{selected|persuasion_bonus}]]|
宗教 (@{selected|religion_bonus}), 宗教チェック [[1d20 + @{selected|religion_bonus}]]|
手品 (@{selected|sleight_of_hand_bonus}), 手品チェック [[1d20 + @{selected|sleight_of_hand_bonus}]]|
隠密行動 (@{selected|stealth_bonus}), 隠密行動チェック [[1d20 + @{selected|stealth_bonus}]]|
生存 (@{selected|survival_bonus}), 生存チェック [[1d20 + @{selected|survival_bonus}]]}
初めてのコマ・アクションの作成
コマ・アクションは、個々のキャラクターに属するマクロの一種である。 コマンドは基本的に同じで、コンテキストだけが異なります。 各キャラクターシートの「詳細ツール/能力値」→「 & 」→「技能」タブでそれらを確認・管理できます。
ショートカット! Roll20のD&D 2024シートを使用している場合、コマ・アクションの作成は非常に簡単です。 キャラクターシートを開き、任意のアクションまたは技能のモーダルに入り、「トークンバーに追加」を選択してください。
それ以外の方法として、キャラクターシートの「詳細ツール」タブから「+ 新規マクロ」ボタンを押すことができます。 D&D5Eゲームで、キャラクターのイニシアチブを自動でロールし、Roll20のターントラッカーに追加するスクリプトを作成します。
名称:イニシアチブ
マクロ:
@{selected|token_name} イニシアチブ判定!
/roll 1d20 + @{selected|initiative_bonus} &{tracker}
マクロの使用 & コマ・アクション
マクロは、クイックバーの関連ボタンを押すか、チャットに直接入力することで発動できます! チャットでマクロを呼び出すには、#とコマンド(例:#test)を入力し、Enter キーを押します。
コマ・アクションは、トークンアクションバーの関連するボタンを押すことで起動できます。
複数コマンド
マクロシステムの強みのひとつは、単一のコマンドで複数のアクションを実行する技能である。 これを行うには、各アイテムを別々の行に配置するだけで、マクロを実行するとアクションが順番に実行されます。
例
エモートに加え、攻撃とダメージロールを含めるマクロを作成したい場合、そのマクロは次のようになります:
名前: ダガー
マクロ:
/me 短剣を突き刺す
/roll 1d20+10 vs AC
/roll 1d4+9 Damage
マクロにはコマンド行と非コマンド行を混在させることもできます。例えば:
/me モラディンの力を呼び起こす!
おまえを打ち砕く!
/反射神経判定 1d20+4 対抗
/ダメージ判定 1d8+4
まず感情を表現し、次に「おまえを打ち砕く!」と送るチャットに追加し、その後で二つのロールを作成する。
ネストされたマクロ
マクロは互いにネストすることができ、これによりマクロを組み合わせたり、単一の操作で複数のマクロを呼び出したりすることが可能になります。 マクロをネストするには、呼び出したいマクロの名前を、そのマクロ内の単独行に記述するだけです。
例
この例では、3つのマクロを用意します:#damage、#attack、#both
マクロ #damage = /roll 1d4+11
マクロ #attack = /roll 1d20+9
マクロ #both =
#attack
#damage
ダイスロールクエリ内でのネスト
ロールクエリ内でマクロをネストする場合、マクロ名の後にスペースを必ず入れてください。そうすることで正しく認識されます。
?{どのマクロ?|攻撃,#use-sword |防御,#use-shield }
トラブルシューティング
演算順序により 演算順序、ダイスロールクエリ内にネストされたマクロ呼び出しは、クエリ全体が実行される前に完全に展開されます。 これは、ダイスロールクエリ内にネストされたマクロが、クエリ構文と競合する「問題となるキャラクター」(「}」「,」「|」など)を含む場合、そのマクロがクエリ全体を破損させる可能性があることを意味します。 その理由は、クエリが参照されたマクロ内の問題のあるキャラクターを元の構文の一部として扱うためです。
この場合、問題のあるキャラクターを(呼び出されたマクロ内部で)削除するか、HTMLエンティティに置換する必要があるかもしれません。
HTMLエンティティ置換を含むマクロは、ロールクエリ外では機能しなくなる可能性があります。 保存されるべきです 技能として保存してください。
コレクションマクロを再度開くとHTMLエンティティが元に戻ります。その後そのマクロを保存すると、それらの復元も同様に保存されます。 この挙動は 技能では発生しません。
営巣技能
技能とは、特定のキャラクターに固有のマクロの別名であり、ジャーナルタブにあるキャラクターシートで作成されます。 マクロと同様に、技能は互いにネストすることができ、これにより技能を連鎖させたり、単一のアクションで複数の技能を呼び出したりすることが可能になります。
技能のネストはマクロのネストに似ているが、少し異なる点がある。 マクロのように、呼び出したい技能の名前を、呼び出す技能の内部で単独の行に記述するだけです。 ただし、さらに番号記号(#)をパーセント記号(%)に変更し、技能名の前にキャラクター名を記載する必要があります。その際、縦棒(|)で区切ってください。
縦棒キーは、ほとんどのキーボードでバックスラッシュキー(\)の上にあります。 このキーは通常、米国キーボードではEnterキーの近く、欧州キーボードでは数字キー列にあります。
注意
現在、関数参照記号(%)は、能力値参照記号(@)やマクロ参照記号(#)のように自動補完されません。 コマンド全体を手動で入力する必要があります。
例
この例では、3つの技能を設定します:%damage(ダメージ)%atack(攻撃)%both(その他)そして、キャラクターはバグベアと名付けます。
技能%damage = /roll 1d4+11
技能%attack = /roll 1d20+9
技能%both =
%{Bugbear|attack}
%{Bugbear|damage}
技能コマンドボタン
技能コマンドボタンは、 技能 (またはシートボタンロール)を呼び出すことができます。 それらは非常に密接に関連しています Mods (API) コマンドボタン。
その構文は以下の通りです:
[ラベル](~<キーワード>|<技能名>)
同様に 能力値 および 技能 呼び出しと同様に、キーワードはselected、target、または character_name から選択します。 character_id をキーワードとして使用することもできます。
もしキャラクターウィンドウのいずれかのタブ内に技能コマンドボタンが保存されている場合 キャラクターウィンドウに保存されている場合、キーワードを省略する選択が可能です:
[ラベル](~<技能名>)
前の例を続けて 技能の例を継続すると、ボブ・ザ・スレイヤーは[斧を振るう!!](~マッシブ・アックス)を自身の別の技能に組み込むことで、敵をより手軽に切り刻むことができるようになるかもしれない。
能力値マクロ
能力値マクロは上記の例を組み合わせたものです。 キャラクターに割り当てられた能力値を変数修飾子として利用することで、そのキャラクターに基づいた複雑なマクロを作成できます。 マクロ内の変数がキャラクター能力値にリンクされているため、キャラクターエディタで行った変更は自動的に値を更新します。
選択したコマをマクロで使用する
選択したキーワードにより、ロール/マクロ実行時に画面上で現在選択されている要素から情報を取得できます。 例えば、ロール中に選択されたコマからゲージ1の値を取得したい場合、次のように記述できます:
/roll 1d20 + @{selected|bar1}
「bar1」、「bar2」、または「bar3」を使用できます。 さらに、そのトークンに関連付けられたキャラクターから能力値を取得できます:
/roll 1d20 + @{selected|Intelligence}
現在選択されているトークンの名前は「token_name」変数を使用して取得できます:
/em @{selected|token_name} 銃を撃つ!
選択したトークンにキャラクタージャーナルが紐付けられている場合、"character_name"変数を使用する代わりに、そのキャラクタージャーナルから名前を取得できます:
/em @{selected|character_name} 盾でブロック!
リンクされたキャラクタージャーナルから、能力名を変数として使用することで能力を発動できます:
>%{selected|Attack}
最後に、変数に対する3つ目の引数を導入しました。これにより、ゲージや属性値の「最大値」を取得できるようになりました:
/roll 1d20 + @{Guard|Intelligence|max}
/roll 1d20 + @{selected|bar2|max}
キャラクター名、能力値名、技能名を含むすべての名称は、使用時に大文字小文字を区別しません。 これは「GUARD」と「guard」の両方がキャラクター名「Guard」に一致することを意味します。
注意
キャラクターの属性一覧を確認するには、そのキャラクターのシートを開き、「属性 & 技能」タブをクリックしてください。 「+ 追加」をクリックするだけで、マクロで使用される独自の能力値を簡単に追加できます。
能力値とキャラクターシート
キャラクターシートでは、カスタムマクロで参照したいと思われる多数の属性が導入されています。 オート計算式能力値について知っておくべきことが一つあります。 キャラクターシートには、他の属性に基づく数式で計算された属性が記載されていることが多い. その属性を参照すると、値ではなく数式が表示されます。
@{selected|character_name} には @{selected|action_points} ポイントが残っています。
ロルフの残りのポイントは((ceil(((13+0)+(14+0))/12)+0)+0)です。
この問題を回避するには、属性参照をインラインロールでラップする必要があります:
@{selected|character_name} には [[@{selected|action_points}]] ポイントが残っています。
ロルフはあと3ポイント残っている。
マクロでのターゲット指定コマの使用
選択されたコマから情報を取得するために「selected」キーワードを使用するのと同様に、「target」キーワードを使用すると、対象コマの変数や技能にアクセスできます。 このコマンドにより、プレイヤーは通常選択できないコマから選択できるようになり、敵に対するロールに有用です。 例えば、プレイヤーに「知力」能力値を持つ対象に対して1d20を1回振るよう指示した場合、そのロールは以下のように表示されます:
/roll 1d20 - @{target|intelligence}
これにより、プレイヤーがどのコマ対象に対してダイスを振るかを選択するためのプロンプト画面が表示されます:
ターゲットキーワードは、前述の選択キーワードと同様に使用されますが、主に2つの違いがあります。 第一に、「対象」キーワードにより、プレイヤーは自身がコントロールしていないコマの値を利用できます。第二に、属性の「最大値」部分を参照する構文が若干異なります。 完全な構文の詳細については、以下の「高度な使用法」のサブセクションを参照してください。
ターゲット能力値呼び出しの高度な使用法
ターゲット変数の完全な構文は次のとおりです:
@{target|<target_name>|<attribute_name>|<optional_flags>}
(注:「target_name」は任意の名前で、スペースを含めることも可能です。)
したがって、マクロ内で複数のターゲットを設定したい場合は、次のようにできます:
@{target|Target1|HP} vs @{target|Target2|AC}
能力値の最大値を使用したい場合:
@{target|Target1|HP|max}
属性の「最大値」を使用したい場合は、たとえ上記のように「target1」だけを設定する場合でも、必ず属性名を指定する必要があることに注意してください。
さらに、複数の能力値クエリで同じtarget_nameを使用する場合、その入力は一度だけ求められ、同じコマがすべての能力値クエリの処理に使用されます。 これは複数行のマクロやコマンドの場合にも適用されます:
/me が @{target|foe|character_name}を攻撃!
命中判定:[[1d20+3]] vs. @{target|foe|npc_AC} AC
繰り返し能力値の参照
行インデックスによる
繰り返し行の能力値は、その行インデックス(RowIndex)によって参照できます。 能力値のRowIndexは0から始まる(インデックスは先頭からのオフセットを意味する)。したがって、最初の行は$0、2番目の行は$1、3番目の行は$2、以下同様となる。
Itemsという名前の繰り返しセクションにおいて、キャラクターの2番目のアイテムのItemBonus能力値には、以下の構文でアクセスできます:
@{selected|repeating_items_$1_itembonus}
注記:
行IDによる
能力値を参照するにはRowIDを使用することもできます。 RowIDを使用する利点は、順序の変更(行の削除または再配置による)の影響を受けないことです。 RowIDを取得するには(キャラクターシート作成者が何らかの方法で提供していない場合)、シートのソースを確認する必要があります。 HTMLを上に辿って、data-reprowid という名前の属性を持つタグを見つけるまで進みます。 このプロパティの値はRowID です:
<div class="repitem" data-reprowid="-KC0zCLum1Rq3V5wssyE">
RowIDはその後、RowIndexの代わりに使用されます:
@{selected|repeating_items_-KC0zCLum1Rq3V5wssyE_itembonus}
ダイスロールのオプション
ダイスロールオプションは、ダイスロール内で使用されるフラグであり、ロール結果に対して実行される特別なアクションを示すために用いられる。
先制行動の判定
ロール結果を直接ターントラッカーに送信するには、コマまたはイニシアチブを選択し、マクロに以下のロールオプションを含めてください:
/ロール 1d20 + 5 &{tracker}
Roll20の「トラッカー」ダイスロールオプションは、ロール結果を表示し、その結果をターントラッカーの値として使用します。 選択されたコマがターン順番にターンを持っていない場合、新しいターンが追加されます。 既にターンがある場合、それらは新しい値で更新されます。
さらに、以下のフラグを使用することで、選択したコマの現在のターン値からダイスロールの結果を加算または減算できます:
/roll 1d20 + 5 &{tracker:+}
/roll 1d20 + 5 &{tracker:-}
シャドウランのようなゲームで、毎ターン終了後に現在のイニシアチブから10を引く必要がある場合、次のようなグローバルマクロを用意できます:
/me @{selected|token_name} のターンが終了します。 [[10 &{tracker:-}]]
トラッカーフラグは通常のロールとインラインロールの両方で機能することに注意してください。
これらの値は、能力値と同じ方法で参照できます。次の構文を使用します:@{tracker|Item Name}
エラーメッセージの抑制
「noerror」ロールオプションは、ロール中のあらゆるエラー(変数が見つからないエラーなど)を抑制します。
/roll 1d20 + @{selected|nonexistent_attribute} &{noerror}
変数とマクロの使用
マクロの実行時に指定する変数を組み込む最も簡単な方法は、ロールクエリを使用することです。 例えば、ロールに変数修飾子を追加したい場合、次のようなマクロを作成できます:
/roll 2d20 + ?{Modifier|0}
マクロが実行されると、含める修飾子を尋ねるプロンプトが表示されます。 修飾子が指定されていない場合、クエリの「|0」部分はデフォルト値として0を使用するよう指示します。
ロールクエリの詳細については、ダイスリファレンスを参照してください。
チャットで変数を指定する
マクロロールに変数修飾子を使用したい場合は、マクロコマンドの末尾に修飾子を指定し、マクロ呼び出し時にその修飾子を明示してください。
例えば:1d20+x(xは私の変数値)のマクロを作成したい場合、以下のマクロを作成できます:
#d20 /1d20をロール+
マクロを実行するときは、次のように入力してください:#d204
このマクロは結果を生成します /roll 1d20+4ロールクエリ用ドロップダウンプロンプト
プレイヤーに提示できるオプションのリストを指定できます。自由形式のテキストフィールドだけではなく。
構文は以下の通りです:
?{Name of Query|Option1|Option2|Option3|Option4|Option5}
また、結果に対してラベル以外の値を次のように指定することもできます:
?{Name of Query|Label 1, value1|Label 2, value2}
例
特殊攻撃:
... + [[ ?{奇襲攻撃?|いいえ, 0|はい, 3d6} ]] + ?{パワーアタック?|いいえ, 0|はい, 6 [パワーアタック!]}
D&D 5e 攻撃ロール:
[[ ?{攻撃タイプ|標準、1d20|有利、2d20kh1|不利、2d20kl1} ]]
治癒の呪文:
?{呪文|
軽傷治療、**軽傷治療** 対象は[[1d8+5]] HPを回復する。
中程度の傷を癒す、**中程度の傷を癒す**対象は[[2d8+8]]のHPを回復する。
深刻な傷を癒す、**深刻な傷を癒す**対象は[[3d8+8]]のHPを回復する。
}
例(ロールクエリのネスト)
?{クエリ名|
ラベル1, ?{値1|
ラベル1A, 値1A |
ラベル1B, 値1B
} |
ラベル2, ?{value2|value2}
}
HTMLエンティティを「積み重ねる」ことで、さらに深いネストレベルを実現することが可能です:
| キャラクター | 代替 |
|---|---|
| & | & |
例
?{クエリ名|
ラベル1, ?{value1|
ラベル1A, ?{value1A|
ラベル1Ai, value1Ai |
ラベル 1Aii, value1Aii
} |
ラベル 1B, ?{value1B|
ラベル 1Bi, value1Bi |
ラベル 1Bii, value1Bii
}
} |
ラベル 2, ?{value2|value2}
}
マクロゲージ
画面下部のバーに表示される、任意のマクロ用のクイックアクセスボタンを作成できます。 まず、通常通りマクロを作成します。 マクロ・クイック・バーを有効にするには、設定メニューで「マクロ・クイック・バーを表示」にチェックを入れてください。
ゲージにマクロを追加するには、マクロ名の横にある「ゲージに追加」オプションをチェックするだけです。 マクロ・クイック・バーの表示を忘れた場合、マクロを有効にするとクイックバーが自動的に表示されます。
クイックバーと選択されたマクロは、画面下部のキャラクターポートレートの下に表示されます。 ボタンを再配置するには、ボタンにカーソルを合わせ、右側に表示されるハンドルを使ってドラッグします。 ハンドルをクリックしてボタンを再配置するか、ドラッグして外すことで削除できます。
マクロ・クイック・バーでマクロをShiftキーを押しながらクリックすると、その特定のマクロのエディターが開きます。
マクロメニュー
プレイヤーまたはGMとして、マクロクイックバーの マクロボタンを右クリックすると設定メニューが表示され、マクロの表示方法に影響するいくつかの簡易機能にアクセスできます。
名前変更
「名前の変更」エントリを選択すると、マクロに表示する新しい名前を入力するダイアログが表示されます。 これは特に、キャラクターシートからボタンをドラッグして作成したマクロに有用です。
色
カラー項目を選択すると、カラーピッカーが表示されます。 これにより、マクロボタンの背景色を変更でき、視覚的に異なるボタンを区別しやすくなります。 ボタンのテキストの色は、選択した背景色とのコントラストを維持するために変更されます。
オートコンプリート
Roll20の一部のテキストエリアでは オートコンプリート に対応しています:
オートコンプリート機能により、マクロ、能力値、または技能の完全な名前を入力しなくても、素早く参照できます。
適用範囲
オートコンプリートは以下の言語で利用可能です:
-
The アクション マクロの作成または編集時の
-
The アクション フィールドの 技能 (キャラクターの能力値 & の技能タブ上)
-
テキストチャット テキストチャット ウィンドウ
仕組み
-
記号の#、@、または%のいずれかを入力し、その後ろに数文字または数字を入力してください。
-
Roll20は、挿入可能な一致するマクロ、能力値、または技能のリストを表示します。
-
使用してください 上下矢印キー でリストを移動し、 Enter を押して選択します。
アクセス規則
-
マクロのみ マクロは あなたの コレクション タブで表示できる
-
のみ 能力値と技能 から あなたがコントロールしているキャラクター のみが表示されます。
例
知性という能力値を備えたキャラクターを操作している場合、次のように入力してください:
@int
このリストには「int」を含むすべての能力値(例:@intelligence)が表示されます。
ヒント
チャットでは、キャラクターシートから何かをロールした後、 上矢印 キーを押してください。
ロールを生成したコードを公開します。 複数のロールを1つのカスタムマクロボタンにまとめるのに最適です。
ロール表
マクロはロール表を使用できます。 プレイヤーがマクロで使用できるようにするには、GMがそれらを作成し、プレイヤーに表示させる必要があります。
ダイスロールテンプレートの使用
キャラクターシートを使用する際は、ダイスロールボタンをクリックするか、マクロや能力でシートロールを呼び出すことで、ロールテンプレートを使用することになるでしょう。 シート作成者が事前に設定済みですので、追加の操作は不要です。
ロールテンプレートを独自のマクロで使用したり、独自のカスタムテンプレートを作成したい場合は、さらに読み進めてください。
ロールテンプレートの使用は簡単です。 ロールテンプレートの使用を示すフラグをチャットメッセージに含め、必要なデータを提供してください。 以下はデフォルトテンプレートの使用例です。システムやキャラクターシートに関係なく、すべてのゲームで使用可能です:
&{template:default} {{name=テスト攻撃}} {{attack=[[1d20]]}} {{damage=[[2d6]]}}
&{template:<template_name>} は、指定された名前でロールテンプレートを使用することを指定します。 テンプレートのデータはすべて、以下の形式で提供してください:{{<propertyname>= <value>}}。 使用する「プロパティ名」はテンプレートによって異なります。キャラクターシートのドキュメントで利用可能なプロパティを確認できます。また、以下にすべての組み込みテンプレートのドキュメントを用意しています。 「値」はテキストまたはインラインロール(マクロ、技能などを含む)のいずれかである。 マクロや技能を使用する場合、必ずインラインロールとし、「/roll」コマンドは使用しないでください。
以下は「%{Character|attack}」技能を使用した例です:
&{template:default} {{name=技能で試す}}{{attack= %{Character_Name|attack} }}{{damage= #damagemacro }}
ロールテンプレートはいつ使用できますか?
ロールテンプレートは、一般的なメッセージ(「/desc」や「/emote」などのコマンドなし)やささやきで使用できます。 「/roll」コマンドではロールテンプレートを使用できません。代わりに、ロールテンプレートはインラインロールで使用することを意図しています。 インラインロールを使用している限り、ロールテンプレートをマクロやキャラクター能力と併用でき、シート作成者はシート内のロールボタン内でそれらを使用できます。