:HP+10 や /roll 1d20 など、 チャットや置いた部品のボタンで使うコマンドの一覧です。 条件分岐 (/if) やくり返し (/loop) も書けます。コマンドとは
決まった書き方の文で、 キャラクターや物を動かせます。
| 始まりの文字 | 使い道 | 例 |
|---|---|---|
| 「:」 | キャラクターのステータスとパラメーターを変えます。 | :HP-3 |
| 「/」 | ダイス・物・シート・動画など、 いろいろな操作をします。 | /roll 2d6 |
打つ所
| 場所 | 動き方 |
|---|---|
| チャット欄 | 打って送ると動きます。 コマンドの文は、 ほかの人には流れません。 結果 (ステータスの変化・ダイスの結果など) だけが出ます。 |
| チャットパレット | 行を押すと動きます (チャットパレット)。 |
| 置いた部品 (ボタン・入力欄・仕掛けの箱など) | 押した・触れた・持った時に、 決めておいたコマンドが順に動きます (置いた部品のコマンド)。 |
- 打ち間違いや、 動かせなかった時は、 打った人の履歴にだけ赤い行で知らせます。
- 「:)」のような顔文字や「/1d6」は、 コマンドではなく、 ふつうの発言として流れます。 「/」の次が英字の時だけ、 コマンドになります。
- デスクトップでは、 / を押すと、 「/」が入った状態でチャット欄を打ち始められます。
対象の書き方
多くのコマンドは、 最後に「どれに効かせるか」を書けます。 書かない時は、 自分 (自分が参加しているキャラクター) に効きます。
| 書き方 | 対象 |
|---|---|
name:アリス | その名前のキャラクター |
tag:warrior | そのタグを持つキャラクターや物の全部 |
user:PlayerA | その VRChat の名前の人が参加しているキャラクター。 名前の中の半角スペースは ____ (下線 4 つ) に変えて書きます。 |
{this} {hit_object} {last_created} | 置いた部品の中で使う、 物の指定 (変数)。 |
GM だけのコマンド
表の「GM」のコマンドは、 チャット欄とチャットパレットでは GM だけが使えます。 置いた部品の中のコマンドは、 誰が押しても動きます (部品を置いた人が、 そう決めたと見なします)。 ただし、 「チャット欄だけ」と書いたコマンドは、 置いた部品からは動きません。
ステータスを変える「:」
ステータスとパラメーターの値を変えます。
| 書き方 | 働き |
|---|---|
:HP=10 | HP を 10 にします。 パラメーター (文字の値) は「=」だけ使えます。 |
:HP+5 | HP を 5 増やします。 |
:HP-3 | HP を 3 減らします。 |
:HP-3 name:アリス | アリスの HP を 3 減らします (対象の書き方)。 |
:{name:アリス.HP}+10 | アリスの HP を 10 増やします。 :HP+10 name:アリス と同じです。 |
:HP+20 tag:warrior warrior のタグを持つ全員の HP を 20 増やす
:MP-10 name:アリス アリスの MP を 10 減らす
:class=戦士 自分のパラメーター「class」を「戦士」にする
ステータスの最大値・名前・表示などは、 キャラクターのコマンドで変えます。
ダイスとチャット
| コマンド | 働き | 使える人 |
|---|---|---|
/roll 2d6+3 | ダイスボットで振ります。 /roll "CoC" 1d100 のように、 ダイスボットを選んで振ることもできます。 | 全員 |
/dice 2D6 | 本物のダイスを、 目の前に投げます (メインメニューの[ダイスロール]と同じ)。 2D6+1D4 で何種類も、 -1D6 で引き算のダイスも投げられます。 1 種類 20 個までです。 | 全員 |
/dice-clear | 自分のダイスを片付けます。 /dice-clear all は全員のダイスを片付けます (GM)。 | 全員 |
/quick 1 | クイックロールの[設定 1]〜[設定 4]を振ります。 | 全員 |
/favorite 2 3D6 | 自分のお気に入りの[設定 2]を「3D6」にします。 | 全員 |
/dice-skin 青 D6 | ダイスの見た目を変えます。 青・緑・橙・赤・黄から選びます。 種類 (D4〜D20) を書かないと、 全部の種類に付けます。 | 自分の設定 |
/dice-fx on | 自分のダイスの演出 (音と光) を On / Off にします。 | 自分の設定 |
/system Cthulhu | 自分のチャット欄のダイスボットを選びます。 入り直すと、 卓の既定に戻ります。 | 全員 |
/system-help | 選んでいるダイスボットの[使い方]を出します。 | 自分の画面 |
/message 文 | 文を、 全員の吹き出しと履歴に出します。 | 全員 |
/log off | 履歴を隠します (on で出す)。 | 自分の画面 |
/log-filter dice off | 履歴に出す行の種類を切り替えます。 種類は chat (発言)・dice・system・status です。 チャット欄で打った時だけ動きます。 | 自分の設定 |
/debug on | 開発者向けの表示 (履歴の[DBG]) を出します。 チャット欄で打った時だけ動きます。 | 自分の設定 |
ダイスボットの名前は、 一覧に出る名前・id (Cthulhu など)・略称 (CoC など) のどれでも通ります。
キャラクター
対象を書かない時は、 自分が参加しているキャラクターに効きます。
| コマンド | 働き | 使える人 |
|---|---|---|
/join name:アリス | そのキャラクターに参加します。 チャット欄で打った時は、 ほかの人のキャラクターと[プライベートキャラ]には参加できません (GM を除く)。 | 全員 |
/exit | 参加しているキャラクターから抜けます。 | 全員 |
/char-new ゴブリン | キャラクターを作ります。 参加はしません。 | 全員 |
/char-copy | キャラクターを複製します。 | 全員 |
/char-delete name:ゴブリン | キャラクターを消します。 確かめはありません。 | GM と、 そのキャラクターで参加している人 |
/char-name 新しい名前 | 名前を変えます。 | 全員 |
/char-memo 文 | メモを書き換えます。 <br> で改行します。 | 全員 |
/char-private on | [プライベートキャラ]を On / Off にします。 | 全員 |
/char-hide on | [キャラクターリストから隠す]を On / Off にします。 | 全員 |
/char-sheet | キャラクターシートを目の前に置きます。 | 全員 |
/char-info | 置き物「キャラクター情報」を目の前に置きます。 | 全員 |
/status-add 気力 10 10 | ステータスを足します (名前・今の値・最大値)。 | 全員 |
/status-max HP +5 | 最大値を変えます。 20 でその値、 +5 -5 で増減、 =-5 でマイナスの値にします。 | 全員 |
/status-rename HP 体力 | ステータスの名前を変えます。 | 全員 |
/status-show HP off | ステータスの[表示]を On / Off にします。 | 全員 |
/status-del 気力 | ステータスを消します。 | 全員 |
/param-add 職業 戦士 | パラメーターを足します。 | 全員 |
/param-rename 職業 クラス | パラメーターの名前を変えます。 | 全員 |
/param-del 職業 | パラメーターを消します。 | 全員 |
/init 12 | イニシアチブを変えます。 +1 -1 で増減します。 | 全員 |
/tag-add name:アリス hero | タグを足します。 空白で区切って何個も足せます。 物にも使えます。 | 全員 |
/tag-del name:アリス hero | タグを消します。 | 全員 |
/tag-clear name:アリス | タグを全部消します。 | 全員 |
置き物
物の指定は tag:タグ、 または変数 ({this} など) で書きます。
| コマンド | 働き | 使える人 |
|---|---|---|
/create 282 0,1,0 | 置き物の一覧の番号で、 その座標に物を出します。 向き (0,90,0)・size:1.5・collider:off も書けます。 | 全員 |
/create データ | オブジェクトセーブのデータで、 物を出します。 /create tag:spawn データ で、 そのタグの物の所に出します。 | 全員 |
/object-save tag:chest | 物のデータ (オブジェクトセーブと同じ文字) を、 チャット欄に入れます。 | 全員 |
/delete tag:enemy | 物を消します。 | 全員 |
/duplicate tag:item | 物を複製します。 | 全員 |
/call tag:item | 物を自分の前に呼び寄せます。 | 全員 |
/move tag:ball 0,10,0 2.0 | 物を、 その座標 (または tag: の物の所) へ、 2 秒かけて動かします。 秒を書かないと、 すぐ動きます。 | 全員 |
/rotate tag:door 0,90,0 2.0 | 物の向きを変えます。 | 全員 |
/scale tag:item 2,2,2 1.5 | 物の大きさを変えます。 | 全員 |
/stop tag:ball | 動いている途中の物を止めます。 /stop all で全部止めます。 | 全員 |
/color tag:wall #886644 | 色を変えます。 #RRGGBBAA で透明度も決めます。 clear で色を外します。 | GM |
/collision tag:door off | 当たり判定を On / Off にします。 | 全員 |
/gravity tag:ball on | 重力を On / Off にします。 | 全員 |
/hide-on tag:secret | 物を見えなくします。 /hide-off で見えるようにします。 | 全員 |
/group tag:parts | 物をまとめます ([Group])。 /ungroup でばらします。 | 全員 |
/parent tag:lid tag:box | 親子にします。 親が動くと、 子も一緒に動きます。 /unparent で外します。 | 全員 |
/fixed tag:wall | 固定オブジェクトにします。 /unfixed で動かせる物に戻します。 | GM |
/set-string tag:sign {"text":"..."} | 物の文字の設定 (置いた部品のコマンド) を書き込みます。 | GM |
/get tag:sign | 物の番号・タグ・色・位置・文字の設定を、 自分の履歴に出します。 | GM |
/press tag:button | 置いたボタンを押します (そのボタンのコマンドが動きます)。 | 全員 |
/timer tag:timer start | 置いたタイマーを動かします。 pause で一時停止、 stop で止めます。 | 全員 |
/image 表のURL 裏のURL | 画像の板を作ります。 裏の URL は書かなくても使えます。 | 全員 |
/image URL sphere | 画像の球を作ります。 360 度の画像 (横 2 : 縦 1) を、 直径 10 m の球の内側に貼ります (画像の球)。 | 全員 |
/image-clear-all | 画像の板と球を全部消します。 | GM |
/pen | ペンを 1 本、 目の前に出します。 /pen-clear で、 全部のペンの線を消します (GM)。 | 全員 |
/slide 対象 next /slide 対象 prev | 置いたスライドの板のページを、 次・前へ送ります (板のページ送りのボタンと同じ)。 読み込みが終わった板だけで、 最後のページより先・最初のページより前へは送りません。 | 全員 |
/show-grab on | 物のつかむ所を見せます ([Pickup判定表示])。 | 自分の画面 |
/resync-fixed | 固定オブジェクトを読み直します ([再読込み])。 | 自分の画面 |
- 座標の数字は、 マップの座標です。 原点がずれていても、 同じ数字で同じ場所を指します (原点のずれ)。
/create データのデータには、 空白を入れられません。
シート
シートは、 シートリストに出る題で指定します。
| コマンド | 働き | 使える人 |
|---|---|---|
/sheet-new memo 題 | シートを作って、 目の前に置きます。 種類は memo・cell・resource・chat (チャットパレット) です。 | 全員 |
/sheet-add cell 題 | シートを作って、 シートリストに足すだけにします (置きません)。 | 全員 |
/sheet-place 題 | そのシートを目の前に置きます。 | 全員 (GM 専用のシートは GM だけ) |
/sheet-call | 自分の[召喚可能シート]を手元に呼び寄せます。 | 全員 |
/sheet-copy 題 | シートを複製します。 | 全員 |
/sheet-delete 題 | シートを一覧から消します。 確かめはありません。 | 全員 |
/sheet-unplace 題 | 置いたシートを全部片付けます。 | GM |
/sheet-flag 題 public on | public は[テキスト全体公開](GM)、 callable は[召喚可能シート]、 gm は[GM 専用シート](GM) を切り替えます。 | 左のとおり |
/sheet-link 題 name:アリス | シートをキャラクターに紐づけます。 /sheet-unlink 題 で外します。 | 全員 |
/sheet-text 題 = 文 | メモのシートの中身を書き換えます。 <br> で改行します。 | 全員 |
/resource 題 行の名前 12 | リソースのシートの行の値を変えます。 +1 -1 で増減します。 | 全員 |
カードと鞄
山札は deck:ID、 カードは card:ID で指定します。 ID は /showid で調べます。
| コマンド | 働き | 使える人 |
|---|---|---|
/draw deck:main | 山札から 1 枚引いて、 手元に出します。 /draw deck:main deck:hand で別の山札へ移します (top bottom で上か下か)。 | 全員 |
/insert card:ID deck:main | カードを山札に入れます。 bottom で一番下に入れます。 | 全員 |
/shuffle deck:main | 山札を切ります。 | 全員 |
/showid deck | 一番近い山札の ID を出します。 /showid card 5 は 5 番目のカードの ID を出します。 | 全員 |
/deck-release deck:ID | 山札のカードを全部出します。 | 全員 |
/deck-delete deck:ID | 山札を消します。 | GM |
/hand-hide deck:ID on | 手札の[ほかの人には伏せる]を切り替えます。 | 全員 |
/deck-new /holder-new | 空の山札・カードホルダーを目の前に出します。 | 全員 |
/cards-preset trump | トランプを出します。 | GM |
/cards-clear | カスタムカードを全部消します。 | GM |
/bag | 自分の鞄を出します。 /bag off で隠し、 /bag all で全部の鞄を呼びます (GM)。 | 全員 |
動画と効果音
番号は、 0 が[ビデオ 1]、 1 が[ビデオ 2]、 2 が[SE]です。
| コマンド | 働き | 使える人 |
|---|---|---|
/video-play 0 URL | その URL を流します。 | 全員 |
/video-stop 0 /video-pause 0 /video-resume 0 | 止める・一時停止・再開します。 | 全員 |
/video-loop 0 on | くり返しを On / Off にします。 | 全員 |
/video-next 0 /video-prev 0 | プレイリストの次の曲・前の曲へ移ります。 | 全員 |
/video-speed 0 1.5 /video-seek 0 90 | 速さ・再生する位置 (秒) を変えます。 | 全員 |
/video-volume 0 0.5 /video-resync 0 | 自分に聞こえる音量を変えます・再生位置を合わせ直します。 | 自分の画面 |
/se-play 0 "吹雪" | SE のボタンの名前で効果音を鳴らします。 最初の数を 1 にすると、 くり返して鳴らします。 | 全員 |
/se-stop | 効果音を止めます。 | 全員 |
移動と場所
| コマンド | 働き | 使える人 |
|---|---|---|
/teleport name:アリス 0,10,0 | 人を、 その座標へ移動させます。 行き先は座標・tag:・name:・user:・scene:ポータルの行の名前 で書けます。 座標の後に向き (0,90,0) も書けます。 | GM |
/teleport me user:PlayerB | 自分を、 その人のいる所へ移動させます (プレイヤーリストの[テレポート]と同じ)。 | 全員 |
/party-move 森の入口 | [ポータル]の窓の[皆で移動]と同じです。 GM と周り 5 m の人が、 その場所へ移動します。 | GM (チャット欄だけ) |
/scene-add 名前 | 今いる所を、 [ポータル]の一覧に足します。 | GM |
/scene-set 名前 /scene-delete 名前 | その行を、 今いる所で上書き・消します。 | GM |
/portal scene:名前 on | その行のポータルを開きます (off で閉じる)。 | GM |
/origin-move scene:名前 | [世界を移動]と同じです。 その場所 (または座標) が、 GM の足元に来ます。 | GM (チャット欄だけ) |
/origin-recenter /origin-reset | [原点の付け直し][元の原点に戻す]と同じです。 | GM (チャット欄だけ) |
/fly on | 飛行モードを On / Off にします。 | 自分 |
/shout on | 拡声器を On / Off にします。 | 全員 |
/guest-voice off | キャラクターに参加していない人 (ゲスト) の声が、 自分には近くでしか聞こえなくなります (メインメニューの[GUEST]を On にするのと同じ)。 on で元に戻します。 | GM |
場の効果・ルーム設定・セーブ
| コマンド | 働き | 使える人 |
|---|---|---|
/effect 晴天 | シーン効果の[無効][晴天][夕暮れ][曇り]を選びます。 | 全員 |
/effect-set fog-density 0.3 | シーン効果の値を変えます。 名前は fog (on / off)・fog-density・fog-color・bloom・bloom-threshold・saturation・contrast・exposure・temperature・ambient・chromatic です。 | 全員 |
/skybox URL | 空の絵を変えます。 /skybox reset で元に戻します。 | GM |
/sun on /sun off | 太陽を点けます・消します。 GM メニューの[太陽光調整]で出す球を、 持ってクリックするのと同じです (太陽)。 点いているかどうかもセーブに入り、 ロードするとそのとおりになります。 | 全員 |
/sun 50,-30,0 | 太陽の向きを度で決めます。 x は高さで、 0 なら水平線から、 90 なら真上から照らします。 y は方位です。 z は向きに効かないので、 /sun 50,-30 と 2 つだけでも書けます。 数字の間に空白は入れません。 | 全員 |
/sun ambient 1.5 | 太陽の明るさを決めます。 0〜8 で、 球を持って ↑ ↓ で変える明るさと同じです。 /sun on 30,40 ambient 2 のように、 ほかの言葉と 1 行に並べても書けます。 2026-10-18 からの CatsUdon で使えます。 それより前のワールドでは、 使い方が出るだけです。 | 全員 |
/sun reset | 最初の向きと明るさに戻して、 点けます。 /sun reset off や /sun on 10,90,0 のように、 1 行に並べても書けます。 並べる順番は自由で、 reset が先に効きます。 ほかの人が球を持っている間は、 太陽は変わりません。 /undo で元に戻せます。 | 全員 |
/sun | 今の向きと明るさ、 点いているかどうかを、 自分の履歴に出します。 球を手で回して決めた向きを、 数字で書き写す時に使います。 置いた部品から呼んだ時は、 何も出ません。 | 全員 |
/grid on | マス目を出します。 hold で決め、 off で消します。 | 全員 |
/grid-size 2.5 /grid-pin | マスの大きさを変えます・ピンを呼び出します。 | 全員 |
/scene-load 名前 | シーンリストのシーンを、 名前で読み込みます。 確かめは出ません。 | GM |
/load データ | セーブの文字のデータを読み込みます。 | GM |
/clear-world | [ワールド削除]と同じです。 消す種類は、 [削除]の窓のチェックのままです。 | GM |
/web-save ID パスワード /web-load ID | Web セーブ・Web ロードをします。 | GM |
/autosave /autosave on /autosave off | オートセーブの今の状態を、 自分の履歴に出します・セーブの窓の[オートセーブ]を On / Off にします。 Web セーブが使えるワールドだけで使えます (オートセーブ)。 | GM |
/autosave-restore | セーブの窓の[復元]と同じです。 オートセーブから戻します。 確認は出ません。 | GM |
/load-stop | ロード中の[STOP]と同じです。 自分が始めたロードを止めます (ロード)。 | 全員 (止まるのは自分のロードだけ) |
/system-default Cthulhu7th | 卓の既定のダイスボットを決めます。 none で外します。 | GM |
/system-force | 全員のダイスボットを、 卓の既定にそろえます。 元に戻せません。 | GM |
/favorite-default 1D20 2D6 3D6 2D10 | ダイスのお気に入り 1〜4 の既定を決めます。 none で取り消します。 | GM |
/favorite-force | 全員のお気に入りを、 既定にそろえます。 元に戻せません。 | GM |
/room-settings | 今のルーム設定を、 自分の履歴に出します。 | GM |
/gm-add user:名前 /gm-remove user:名前 | GM にする・GM から外します。 | GM |
自分の設定と元に戻す
| コマンド | 働き | 使える人 |
|---|---|---|
/option | オプションの名前の一覧を、 自分の履歴に出します。 | 自分の設定 |
/option 名前 on | オプションを切り替えます。 名前は画面の文字か、 短い英語 (overhead key-help wrist-menu ui-sound など) です。 | 自分の設定 |
/option overhead-height 0.2 | 頭上の情報の高さを変えます。 /option wrist-hand 右 で、 手首のボタン列を出す手を変えます。 | 自分の設定 |
/whisper | 今の秘話の相手を、 自分の履歴に出します。 | 自分の設定 |
/whisper user:名前 /whisper user:名前 off | その人を秘話の相手に足します・外します。 プレイヤーリストで相手を選ぶのと同じです (プレイヤーリスト)。 名前に半角スペースがある時は ____ にします。 | 自分の設定 |
/whisper off | 秘話をやめます (相手を全員外します)。 | 自分の設定 |
/undo | 自分の操作を 1 つ元に戻します。 20 回前まで戻せます。 | 全員 |
/redo | 元に戻した操作を、 もう一度します。 | 全員 |
1 回のコマンドでいくつも変えた時は、 /undo 1 回でまとめて戻ります (元に戻す・やり直す)。
置いた部品のコマンド
ボタン・入力欄・仕掛けの箱などに、 動かすコマンドを決めておけます。
決め方
- クリエイトガンで、 「アイテム」→「ゲーム道具」→「UI」か「道具」から、 部品を出します。
- コントロールガンの「属性変更」→「コマンド設定」→「文字設定適応」を選び、 欄に設定の文字を入れます。
- 部品にガンを向けて、 トリガーを押します。
設定の文字は、 次のように { } で囲んで書きます。 "proc" に、 動かすコマンドを順に並べます。
{"text":"攻撃","proc":["/roll 1d20+5","/wait diceroll",":HP-{dice_result} tag:enemy"]}
- 人が触れて動く仕掛けの箱は、 コントロールガンの「属性変更」→「衝突有効」で、 当たり判定を付けておきます。
- コマンドは、 押した人 (触れた人・持った人) の画面で動きます。 対象を書かない
:HP+20は、 その人が参加しているキャラクターに効きます。 - コマンドは 1 行ずつ、 上から順に動きます。
どの部品にも書ける項目
| 項目 | 働き |
|---|---|
"proc" | 動かすコマンド。 1 つなら "proc":"/roll 1d20" のように文字だけでも書けます。 |
"tag" | 部品に付けるタグ。 カンマで区切って何個も付けます ("tag":"trap,once")。 タグに空白は使えません。 |
"enable" | false にすると、 コマンドが動かなくなります。 |
部品ごとの項目
| 部品 | コマンドが動く時 | 書ける項目 |
|---|---|---|
| UI_Button (ボタン) | 押した時 | text (文字)、 size (文字の大きさ)、 width height (幅と高さ)、 color (文字の色)、 input-color (ボタンの色)、 alignment (文字の位置) |
| UI_InputFiled (入力欄) | 打って決めた時。 打った文字は {text} に入ります。 | ボタンの項目と、 line-type (0 1 行、 1 何行でも打てて Enter で決める、 2 Enter で改行) |
| UI_Toggle (チェック) | 押して切り替えた時。 {text} は True か False です。 | toggle (初めの状態、 true / false)、 width height、 input-color |
| UI_Text (文字) | なし (文字を出すだけ) | ボタンと同じ (input-color を除く) |
| CollisionTriggerBox (触れる箱) | "enter": 入った時、 "exit": 出た時 | {"enter":{"proc":[...]},"exit":{"proc":[...]}} |
| PickupTriggerBox (持つ箱) | "pickup": 持った時、 "drop": 放した時、 "use-down": 使うボタンを押した時、 "use-up": 使うボタンを離した時 | {"pickup":{"proc":[...]}} のように書きます。 |
- 色は
"#FF0000"(赤・緑・青) か、"#FF000080"(最後の 2 けたが透明度) で書きます。 書き方を間違えると、 色が透明になって見えなくなります。 alignmentは、 文字の位置を 0〜8 の数で書きます。 0 左上・1 上・2 右上・3 左・4 真ん中・5 右・6 左下・7 下・8 右下です。- UI_Text と UI_InputFiled の
textを"=HP"にすると、 自分の HP の値が出ます。"=HP name:アリス"でアリスの値、"=deck:main"で山札の残りの枚数が出ます。 - 設定を書き直す時は、 全部の項目を書きます。 書かなかった項目は、 初めの値に戻ります。
待つ
| コマンド | 働き |
|---|---|
/wait 2 | 2 秒待ってから、 次の行へ進みます。 |
/wait diceroll | ダイスの結果が出るまで待ちます。 結果は {dice_result} に入ります。 結果が来ない時は、 30 秒 (/roll の後) か 300 秒 (手で投げるダイスを待つ時) で先へ進み、 {dice_result} は 0 になります。 |
{dice_result} を使う時は、 振った後に必ず /wait diceroll を入れます。 2 回続けて振る時も、 間に入れます。
条件で分ける (/if)
/roll 1d20
/wait diceroll
/if {dice_result}==20
/message 大成功
/elseif {dice_result}>=10
/message 成功
/else
/message 失敗
/endif
/ifの条件が合えば、 その下の行が動きます。 合わなければ、/elseifの条件を順に見て、 どれも合わなければ/elseの下が動きます。 最後に必ず/endifを書きます。- 比べ方は
==(同じ)・!=(違う)・>=<=><です。 両側に変数を書けます ({name:アリス.HP}>={name:ボブ.HP})。 /if tag:warriorは、 自分のキャラクターが warrior のタグを持っている時です。/if not tag:deadは、 持っていない時です。- タグを
==で比べると、 タグが何個もある時でも、 その中にあれば合います ({hit_character.tag}=="warrior"は、 タグが「warrior,undead」でも合います)。 /ifの中に/ifを入れられます。/ifと/loopは、 置いた部品の中だけで使えます (チャット欄では使えません)。
くり返す (/loop)
/loop 3
:HP+10
/wait 1
/endloop
/loop 回数と/endloopの間の行を、 その回数くり返します。 回数には{dice_result}なども書けます。 1000 回までです。/breakでくり返しを抜けます。/continueで、 その回の残りを飛ばして次の回へ進みます。
部品を止める (/enable)
/enable false を書くと、 その部品のコマンドが、 それから動かなくなります。 1 回だけ開く宝箱などに使います。 置いた部品の中だけで使えます。
変数
{ } で囲んだ名前は、 動く時にその値に置き換わります。
| 変数 | 置き換わる値 |
|---|---|
{HP} {ステータス名} | 自分が参加しているキャラクターの値。 参加していない時は、 そのコマンドは動きません。 |
{name:アリス.HP} | アリスの HP。 tag: user: でも書けます ({tag:warrior.HP} は、 そのタグの最初のキャラクター)。 .tag でタグ、 パラメーターの名前でその値になります。 |
{character_name} {my_char} | 自分が参加しているキャラクターの名前。 {my_char} は name:名前 の形で、 対象の書き方に使えます。 |
{user_name} | 自分の VRChat の名前 |
{dice_result} | 最後に振ったダイスの合計 |
{text} | 入力欄に打った文字、 ボタンの文字、 チェックの状態 (True / False) |
{this} {this.tag} | その部品自身 / その部品のタグ |
{last_created} {last_duplicate} | 最後に /create で出した物 / /duplicate で複製した物 |
{hit_character} {hit_player} | 触れる箱に入った人のキャラクター / その人。 {hit_character.HP} {hit_character.tag} で値も読めます。 |
{hit_object} {hit_object.tag} | 触れる箱に入った物 / その物のタグ |
{hit_...}は、 触れる箱 (CollisionTriggerBox) の中だけで使えます。- [プライベートキャラ]の値は、 GM とそのキャラクターで参加している人のほかは、 チャット欄から
{name:...}で読めません。
例
例の player や warrior は、 キャラクターのタグです。 キャラクターシートの Tag の欄か、 /tag-add で付けます。 safe_zone などの物のタグは、 その物の文字の設定に {"tag":"safe_zone"} と書いて付けます (コントロールガンの「文字設定適応」)。
踏むとダメージを受ける罠
触れる箱 (CollisionTriggerBox) に設定します。 player のタグを持つキャラクターが入ると、 2D6 のダメージを受けます。
{"enter":{"proc":[
"/if {hit_character.tag}==\"player\"",
"/roll 2d6",
"/wait diceroll",
":HP-{dice_result} {hit_character}",
"/endif"
]}}
1 回だけ開く宝箱
{"text":"宝箱を開ける","proc":[
"/message 宝箱を開けました",
":gold+100",
"/enable false"
]}
開いて閉じる扉
扉に door のタグを付けておき、 ボタンに設定します。
{"text":"扉を開ける","proc":[
"/rotate tag:door 0,90,0 2",
"/wait 5",
"/rotate tag:door 0,0,0 2"
]}
持つと回復する薬
持つ箱 (PickupTriggerBox) に設定します。 持った人のキャラクターの HP が増え、 薬は消えます。
{"pickup":{"proc":[
"/roll 3d4+4",
"/wait diceroll",
":HP+{dice_result}",
"/message 薬を飲んで HP が {dice_result} 回復しました",
"/delete {this}"
]}}
打った数だけダメージ
入力欄 (UI_InputFiled) に設定します。 打った数だけ、 自分の HP が減ります。
{"text":"ダメージを入力","proc":[":HP-{text}"]}
拾うと消えるアイテム
触れる箱 (CollisionTriggerBox) に設定します。 player のタグを持つキャラクターが入ると、 その人の HP が 20 回復して、 箱は消えます。
{"enter":{"proc":[
"/if {hit_character.tag}==\"player\"",
"/message ポーションを見つけました",
":HP+20",
"/delete {this}",
"/endif"
]}}
入ると戻される罠 (1 回だけ)
触れる箱に設定します。 入った人は HP が 5 減り、 safe_zone のタグを付けた物の所へ移動します。 1 回動くと、 箱は消えます。
{"enter":{"proc":[
"/if {hit_character.tag}==\"player\"",
"/message 罠にかかった!",
":HP-5",
"/teleport {my_char} tag:safe_zone",
"/delete {this}",
"/endif"
]}}
戦士だけが使える剣
ボタン (UI_Button) に設定します。 押した人のキャラクターが warrior のタグを持つ時だけ、 enemy のタグを持つキャラクター全員に 1D8+2 のダメージを与え、 自分の MP を 5 減らします。
{"text":"魔法の剣","proc":[
"/if tag:warrior",
"/roll 1d8+2",
"/wait diceroll",
":HP-{dice_result} tag:enemy",
":MP-5",
"/else",
"/message この剣は戦士にしか使えません",
"/endif"
]}
レベルアップのボタン
ボタンに設定します。 押した人のキャラクターの level を 1 増やし、 XP を 0 にします。 キャラクターに、 level と XP のステータスを作っておきます。
{"text":"レベルアップ","proc":[
":level+1",
":XP=0",
"/message {character_name} のレベルが上がりました"
]}
物を呼び出すボタン
ボタンに設定します。 summon_point のタグを付けた物の所に物を出し、 出した物に summoned のタグを付けます。 出す物のデータは、 コントロールガンの「オブジェクトセーブ」で作ります (物をデータにする)。 データには空白を入れられません。
{"text":"召喚","proc":[
"/create tag:summon_point (物のデータ)",
"/tag-add {last_created} summoned",
"/message {user_name} が呼び出しました"
]}
呼び出した物は、 後から /delete tag:summoned でまとめて消せます。
古い書き方
前の版の部品にある "cond":{"tag":"warrior"} は、 今も動きます。 新しく作る時は、 代わりに /if を使います。
| 古い書き方 | 今の書き方 |
|---|---|
触れる箱の "cond":{"tag":"warrior"} | /if {hit_character.tag}=="warrior" 〜 /endif |
ボタンの "cond":{"tag":"warrior"} | /if tag:warrior 〜 /endif |