2015年9月16日水曜日

【コマンドブロック】セレクタと引数の使い方(1)「セレクタとは?」【マインクラフト】

セレクタと引数の使い方(1)「セレクタとは?」

 scoreboardを使いこなすことがミニゲーム制作において必須であることは
同時に、セレクタや引数についてもマスターすることでもあります。
scoreboard編「setの使い方」に行く前にセレクタや引数について解説します。

覚えてしまえば難しくはないのですが、わかるようになるまでとても苦労します。

セレクタとは何か?

 そもそもセレクタとは何でしょうか。
 セレクタとは呼びだされたコマンドの対象を決めるものです。

記法:
/kill <プレイヤー名>
記入例:
/kill あなたの名前
/kill @p
/kill @a
/kill @r
/kill @e

記入例をシングルで試すと、すべて自分自身をキルするコマンドになっています。
これはコマンドを呼び出した当人がコマンド対象であるものと、そうでないものがあります。
つまり、結果として自分がキルされていますがセレクタによって内容が異なります。

セレクタは全4種。@p、@a、@r、@e

@p
 コマンドを呼び出した相対位置(距離)から最も近いプレイヤーを一人選ぶ
 @pを使うのは個室にしてチームを各自に選ばせたりするときなどです。
 @pはコマンドを呼び出した人が選ばれるように思われがちですが異なります。
コマンドブロックに/kill @pと入れてAさんがボタンを押したとします。
その時コマンドブロックにBさんが乗っていれば、Bさんがコマンドブロック(呼びだされた距離)から最も近いためキルされます。
 コマンドブロックではなくチャット欄である場合、呼び出した本人が対象になります。

@a
 ワールドに居る全てのプレイヤーを選ぶ

 @aはコマンドの呼び出し位置に関わらず全てのプレイヤーを対象とするセレクタです。
使い方としてはチームの全員、ミニゲームの参加者を一斉にテレポートなどです。
ここで疑問に思うのはチームをどのようにしてセレクタでわけるのか? という点です。
それには後述する引数が必要になってきます。

@r
ワールドに居る全てのプレイヤーの中からランダムで一人選ぶ

 このコマンドの使い方はほぼ1つしかありません。ランダムによるチーム編成時のみです。
テレポートコマンドと併用して使われます。

@e
すべてのエンティティが対象です。

もっとも利用し、もっとも難しいセレクタです。
引数と併用することが前提となるセレクタです。

シングル環境でこれらの違いを/killコマンドで体感するのは難しいです。
処理結果が等しく自分自身のキルだからです。
ですが、処理内容は違うということは把握しておきましょう。

次回は引数についてです。



にほんブログ村 ゲームブログ Minecraftへ

0 件のコメント:

フィード