Minecraft 1.5~実装! scoreboard システムの解説
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

Minecraft 1.5~実装! scoreboard システムの解説

2013-02-06 02:16
  • 13
  • 38
この記事にはMinecraft Version 1.5までの情報が含まれています。
今後、仕様変更や調整等でコマンドの追加や変更が行われる可能性があります。


Minecraft1.5では、様々な要素が追加されましたが、その中の1つが
「scoreboard」システムというものです。
基本的にはマルチでもPvP補助機能的な要素を兼ねそろえており、バニラのサーバーで割と安易にPvPを楽しむことができます。
また、Minecraft 英語Wiki情報ですが、Capture the Flag的PvPができるような要素も今後も追加されるようです。

今回は、このscoreboardシステムについて解説します。
サーバー内の表示のみでは、絶対にパラメーターが把握できません。
英語Wikiと自身の検証を元にまとめましたので、参考になればと思います。

まず、基本としてスコアボードシステムのコマンドは
/scoreboard
となっています。ここから半角を開けて次々とパラメータを記述していくのです。

<>で囲まれている部分は、コマンドを使用する皆さんが任意で入力する部分です。
入力する際は、<>で囲んではいけません。
例えば、次に紹介するコマンドでは、<name> <criteria> <display name>とありますが、実際に使う際は<>を外し
/scoreboard objectives add killcounter playerKillCount killcounter
というように入力してコマンドを実行します。


/scoreboard objectives 系コマンド
objectives系のコマンドは add,remove,list,setdisplay という4つのパラメーターがありますので、これらを順番に紐解いて行きましょう。
objectivesは、プレイヤーの行動から数をカウントし、スコアとして表示するものを追加します。addコマンドで追加した時点からカウントを開始します。

/scoreboard objectives add <name> <criteria> <display name>
何を入力すればいいのかはこちら。
nameオブジェクトの名前を決定します。
任意なため、自分のわかりやすいものを適当に入力して構いません。
criteria表示するパラメーターを決定します。
詳しくは下のcriteriaの欄を参照して下さい。
display nameディスプレイネームを決定します。
任意です。nameと同じにするとわかりやすいかもしれません。

なお、criteriaのパラメータは以下の中から選択することになります。
dummyKillをしても、Deathをしてもスコアが変わりません。
コマンドブロックを利用してスコアの値を変更するなどの仕組みを利用して、ポイント取得制のゲームなどを作るのに利用できます。
deathCount死んだ数をカウントします。
プレイヤーにキルされた場合、落下死、溶岩死など種類は問いません。
/killでの死亡もカウントされます。
playerKillCountプレイヤーをキルした数をカウントします。
totalKillCountプレイヤー及びmobをキルした数をカウントします。
healthプレイヤーの体力を表示します。1=ハート0.5個分で、Max20で表示されます。

記入例
1.オブジェクト名「killcounter」ディスプレイ名「killcounter」でプレイヤーキルカウント
/scoreboard objectives add killcounter playerKillCount killcounter

2.オブジェクト名「hp」ディスプレイ名「hp」で体力を表示
/scoreboard objectives add hp health hp



/scoreboard objectives remove <name>
addで追加したobjectivesを削除するときに使います。
nameは追加した時のnameを指定してやればいいです。


/scoreboard objectives list
追加したobjectivesをリスト表示します。

追加したオブジェクティブの一覧が
- <name>: displays as '<display name>' and is type '<criteria>'

のように表示されています。


/scoreboard objectives setdisplay <slot> <display name>
カウントしているobjectivesの値を画面上に表示します。
<slot>は、sidebar,list,belownameの3つから選ぶことができますが、各スロットに1つのobjectivesしか表示できず、コマンドを使った際にそのslotが埋まっている際は、前の表示は消され新しい表示が上書きされます。
belownameは名前の下、listとsidebarの位置はご覧のとおりです。



/scoreboard players 系コマンド
players系のコマンドは主にobjectivesでカウントされている値の変更などを行う物が多いです。list,set,add,remove,resetのコマンドがありますので見ていきましょう。

/scoreboard players list <player>
指定したプレイヤーがどのobjectiveでどの値になっているかの一覧を表示します。

この画面では、icerisuというユーザーが
test03というobjectiveで6、test04というobjectiveで20という値を出しています。


/scoreboard players set <player> <name(objective)> <score>
指定したobjectiveにおいて、指定したプレイヤーの値を設定します。
例えば、先程の画像において、test01というobjectiveの値を8から20に変更したい場合は、
/scoreboard players set icerisu test01 20
と入力してあげれば設定が可能です。


/scoreboard players add <player> <name(objective)> <count>
指定したobjectiveにおいて、指定したプレイヤーの値を現在の値から指定数加えます。
例えば、先程の画像において、test03というobjectiveの6の値に10を加えたい場合は
/scoreboard players add icerisu test03 10
と入力します。この場合、10を加えたのでtest03の値は16になります。


/scoreboard players remove <player> <name(objective)> <count>
指定したobjectiveにおいて、指定したプレイヤーの値を現在の値から指定数減らします。
例えば、先程の画像において、test04というobjectiveの20の値から7引きたい場合は、
/scoreboard players remove icerisu test04 7
と入力します。この場合、20から7引いたのでtest04の値は13になります。


/scoreboard players reset <player>
指定したプレイヤーの全スコアをリセットします。icerisuさんのスコアをリセットした場合、
test03,test04,test01,test02の全ての値が0になります。


/scoreboard teams 系コマンド

teamsのコマンドは主にチーム関連に関するコマンドが含まれています。
list,add,remove,empty,join,leave,optionがあります。

/scoreboard teams list <teamname>
指定したチームのメンバーのリストを表示します。
teamnameが空欄の場合、チームの一覧を表示します。


/scoreboard teams add <teamname>
チームを追加します。チーム名は任意です。日本語が使えるかは未検証・・・。


/scoreboard teams remove <teamname>
addで追加したチームを消去します。チーム名は追加した時と同じものを入れます。


/scoreboard teams empty <teamname>
指定したチームを誰もいない状態にします。(所属していたプレイヤーは除外されます。)
Minecraft英語wikiにはemptyではなくclearではないか?と記述されているため、
emptyが使えない場合、その部分にclearをいれてあげるといいかもしれません。


/scoreboard teams join <teamname> <player>
指定したプレイヤーを指定したチームに加えます。
まずはaddコマンドでチームを追加しないと動作しません。
1人のプレイヤーを複数のチームに入れることもできません。


/scoreboard teams leave <player>
指定したプレイヤーを所属しているチームから除外します。


/scoreboard teams option <teamname> seeFriendlyInvisibles <param>
指定したチームにおいて、この設定を有効にすると、透明化ポーションを飲んだ
同じチームのプレイヤーが、完全に透明化ではなく半透明で表示されるようになります。
別のチームのプレイヤー視点では、完全に透明化して表示されます。
有効にするならばtrue、無効にするならばfalseを<param>に代入します。


/scoreboard teams option <teamname> friendlyfire <param>
指定したチームにおいて、フレンドリーファイア(FF)の有無を設定します。
FF有の設定にするならばtrue、FF無の設定にするならばfalseを<param>に代入します。


/scoreboard teams option <teamname> color <value>
指定したチームの色を決定します。そのチームに所属している場合、名前が指定した色に変わり、チームがよりわかりやすくなります。
色は black , dark_blue , dark_green , dark_aqua , dark_red , dark_purple
gold , gray , dark_gray , blue , green , aqua , red , light_purple
yellow , white から選ぶことができます。<value>に代入します。
(aqua,yellow,whiteは見やすさのために背景を黒くしています)


今回の解説は以上になります。
最後に全てのコマンドを書いておくので、内容はわかったけどコマンドを覚えきれない…という方はご活用下さい。

/scoreboard objectives add <name> <criteria> <display name>
/scoreboard objectives remove <name>
/scoreboard objectives list
/scoreboard objectives setdisplay <slot> <display name>

/scoreboard players list <player>
/scoreboard players set <player> <name(objective)> <score>
/scoreboard players add <player> <name(objective)> <count>
/scoreboard players remove <player> <name(objective)> <count>
/scoreboard players reset <player>

/scoreboard teams list <teamname>
/scoreboard teams add <teamname>
/scoreboard teams remove <teamname>
/scoreboard teams join <teamname> <player>
/scoreboard teams leave <player>
/scoreboard teams option <teamname> seeFriendlyInvisibles <param>
/scoreboard teams option <teamname> friendlyfire <param>
/scoreboard teams option <teamname> color <value>


如何でしたでしょうか。これでBukkitでプラグインを入れずにPvPを開催しやすくなりましたね!
皆さんの楽しいイベント企画の手助けになれたら幸いでございます。
なお、修正すべき点、質問等ありましたらお構い無しにコメントをお願いします。

2013/02/06 投稿
2013/03/14 追記


広告
他3件のコメントを表示
×
ありがとうございます!活用させていただいております!
ただ、もしかしてミスかもしれないのでご報告を。
名前の下のスコア表示は「abovename」ではなく「belowname」ではないでしょうか?
ご確認お願いします><
38ヶ月前
×
>>4
確認の上修正しました、ご報告ありがとうございます!
38ヶ月前
×
解説ありがとうございます
細かな指摘ですが、「/scoreboard teams option 」の説明文の最後の文、
「有効にするならば"treu"、…」は"true"ですよね?読んでいて見つけたので報告させていただきます
38ヶ月前
×
名前の下に表示でbelownameをいれたらそのスロットは存在しませんといわれました
36ヶ月前
×
これはありがたい。企画しているイベントでこういうのが使いたかったので助かりました。
35ヶ月前
×
PvPMapの参考にさせていただきます!!
30ヶ月前
×
「belowname」→「belowName」
プログラミングでは2語以上の熟語を変数名にする場合
1語目の頭文字は小文字、2語目の頭文字を大文字にする慣例があるので
こうなるのでしょうか
しかしscoreboardのコマンドで数値に変数を代入できるようにしてほしいですね
25ヶ月前
×
すごくわかりやすかったです
25ヶ月前
×
チームの名前に日本語が使えました!!
18ヶ月前
×
これを使って電卓作りました。
13ヶ月前
コメントを書く
コメントをするには、
ログインして下さい。