すべての記事

DiscordのキャラシBot:RPGのキャラクターシートをサーバーで管理する方法

CordBaseチーム

Discordサーバーでキャラクターシートを管理するいちばん簡単な方法は、キャラクター1人につき1行のテーブルを作り、プレイヤーがスラッシュコマンドで更新することです。そうすれば能力値は、ピン留めしたメッセージや共有ドキュメントや誰かの記憶ではなく、セッションが行われているチャンネルに置かれます。戦闘中にHPが減り、セッションのあとにレベルが上がり、誰でもDiscordから離れずにキャラクターを確認できます。

チャンネルに貼るシートが欲しいだけなら、無料のキャラシテンプレート作成ツールで、D&D 5e、ロールプレイ、ファンタジー、SF向けのコピペ用シートを、記入済みでも空欄でも作れます。このガイドの残りは、全プレイヤーのシートを検索できる一か所にまとめたい人向けです。

このガイドでは、私たちが開発しているCordBaseで設定します。5分ほどで終わり、列は自分で決めるので、D&DでもPathfinderでも自作システムでも使えます。

完成するもの

  • add、query、view、update、delete、leaderboardの操作を備えた/character-sheetコマンド。
  • キャラクター1人につき1行:名前、クラス、レベル、HP、筋力、メモ。あるいはシステムに必要な項目。
  • GMがすべてのシートを一度に見て編集できるWebのテーブル。

ステップ1:CordBaseを追加してテンプレートをインストールする

  1. cordbase.ggにDiscordでログインし、サーバーを選びます。
  2. ダッシュボードに案内されたら、Botをサーバーに追加します。
  3. テンプレートライブラリを開いてキャラクターシートをインストールします。name(テキスト、必須)、class(選択肢:Warrior、Mage、Rogue、Cleric、Ranger、Bard、必須)、level(数値、必須)、HP、strength、notesの列が入っています。

使っているシステムのクラスや能力値はおそらく違うはずです。ダッシュボードでテーブルを開いて列を編集してください。クラスの選択肢を変えたり、strengthの名前を変えたり、敏捷力、アーマークラス、所持金を追加したりできます。1テーブルには最大25列まで持てて、各列は自動的にコマンドのオプションになります。

ステップ2:誰が編集できるかを決める

権限は行単位ではなくテーブル単位で働きます。テーブルを更新できる人は、その中のどのキャラクターでも更新できます。これはシートの運用に実際に影響します。

  • グループ内で信頼し合えているなら、プレイヤーのロールに編集を与えます。全員が自分のキャラクターを更新できます(理屈の上では、ほかの人のキャラクターも)。
  • 数値を変えるのはGMだけにしたいなら、プレイヤーには閲覧、GMには編集を与えます。プレイヤーはシートを確認し、変更はGMに頼みます。

テーブルにロールをひとつでも設定すると、それらのロールを持たないメンバーはテーブルをまったく使えなくなります。Discordの「管理者」権限を持つ人は、どちらの場合でもすべての操作ができます。

ステップ3:キャラクターを作る

/character-sheet add name:Mara class:Mage level:3 hp:18 strength:8 notes:Owes the guild 50 gold

Discordは各列をオプションとして表示し、classはメニューから選べるので、誰かが「Wizzard」と打ち間違えることはありません。

ステップ4:プレイ中に更新する

rowオプションに入力し始めて、リストからキャラクターを選びます。数値をどう変えるかは_modeオプションで決まります。

  • 減算は現在の値から引きます。/character-sheet update row:Mara hp:5 _mode:DecrementでHPが5減ります。
  • 加算は足します。/character-sheet update row:Mara level:1 _mode:Incrementでレベルアップです。
  • デフォルトの設定は値を置き換えます。/character-sheet update row:Mara hp:18で全回復です。

2人が同時にHPを変えても、両方の変更が反映されます。Botは前に読み取った数値で上書きするのではなく、保存されている値に変更を適用するからです。

ステップ5:確認する

  • /character-sheet view row:Maraは1人分のシートをすべて表示します。
  • /character-sheet query class:MageはMageをすべて一覧表示します。
  • /character-sheet query level:5は指定したレベルのキャラクターを探します。
  • /character-sheet leaderboard column:levelはパーティーをレベル順に並べます。

ほかのツールのほうが向いている場合

CordBaseは値を保存するだけです。ダイスを振る、修正値を計算する、呪文スロットを管理する、ルールを適用する、といったことはしません。Botにルール処理をさせたいなら、AvraeのようなTRPG向けBotを使うか、完全なシートが必要ならFoundryやRoll20のようなオンラインセッションツールを使ってください。テーブルが向いているのは、Discordで誰でも見られる軽くて共有しやすい記録が欲しいときです。パーティーの名簿、West Marches形式のキャラクター一覧、既製のツールがない自作システムなどです。

知っておきたい上限

  • Free:テーブル2個、それぞれ100行まで。大きなキャンペーンでも足ります。Pro($8/月)ではテーブル無制限、1テーブルあたり10,000行になります。CSV・JSONエクスポートはすべてのプランで使えます。
  • 1テーブルあたり最大25列。
  • テーブルはWebで設計します。プレイヤーがDiscordから新しいテーブルを作ることはできません。
  • 現時点ではCSVインポートがないので、既存のシートはaddかダッシュボードで入力します。

よくある質問

Botでダイスを振ったり修正値を計算したりできますか?

できません。CordBaseは値を記録して更新するだけです。ダイスやルールの自動処理には、AvraeのようなTRPG向けBotを使ってください。

プレイヤーが自分のキャラクターだけを編集できるようにできますか?

権限としてはできません。権限はテーブル単位なので、テーブルを更新できる人はどの行でも更新できます。グループを信頼して任せるか、編集権限をGMだけに与えてください。

D&D以外のシステムでも使えますか?

使えます。キャラクターシートテンプレートは出発点です。どんなシステムでも、列の名前を変えたり、列を追加したり、クラスの選択肢を変えたりできます。