ここから本文です

マイクラのコマンドについてです(バニラ) AチームのプレイヤーBがCというアイテ...

t0h********さん

2019/3/2319:13:31

マイクラのコマンドについてです(バニラ)
AチームのプレイヤーBがCというアイテムを持ちながらボタンをクリックすると正常に起動、持っていない場合は、「アイテムを持っていません。

」等のメッセージが出る。
Cというアイテムを持ちながらボタンをクリックすると、そのクリックした人はDのいう場所にTPされる。っていうコマンドをしたいんですが、教えていただけませんか?

バージョンは1.12.2です。<(_ _)>よろしくお願いします。

閲覧数:
19
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

tka********さん

2019/3/2402:33:37

一点だけ誤動作しかねない点がありますが(理由は後述)可能です

「ボタン」の座標:60 64 60とする
Cというアイテムを持ちながら:「名前が”C”という石」がメインハンドにある状態
Dという場所:100 64 100

①/execute @p[x=60,y=64,z=60] ~ ~ ~ scoreboard players tag @s[team=A] add judge {SelectedItem:{id:"minecraft:stone",tag:{display:{Name:"C"}}}}
②/execute @p[x=60,y=64,z=60] ~ ~ ~ tellraw @s[tag=!judge] {"アイテムを持っていません"}
③/execute @p[x=60,y=64,z=60] ~ ~ ~ tp @s[tag=judge] 100 64 100
④/scoreboard players tag @a[tag=judge] remove judge


①で「メインハンドがC持ちかどうか」と「チームA所属か」を確認
②は上記確認に失敗したもの(アイテムが違うorチームが違う)にチャット表示
③は確認成功者をtp
④は確認成功者からtagを剥奪(次回以降の誤認識防止)


誤動作しかねない点とは「ボタンを押したプレイヤー」が実は検知できないことです
提示したコマンドでは「ボタンの座標に一番近いプレイヤー」を選んでいますが、マルチプレイの場合「ボタンには一番近いけど押したのは別人」がありえてしまいます
しかし、1.13.2現在でさえ「ボタンを押したプレイヤー」の判定はできないのです
そのためボタンではなく感圧板であれば「感圧板の座標」=「感圧板を押したプレイヤー」が確定することになりますので誤動作は防げます

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる