何ゴールド持ってたらというシステムを作りたい
一応今は特定のコマンドを実行した時1200個金インゴッドを持っていたらコマンドを正常に実行、持っていなければキャンセルというところまで書いててエラーもなく動いたんですが次の問題として1200個の “金インゴッド”でないといけないので金インゴッドと金ブロックを合わせてなどができません。そしてできればシュルカーボックスの中に入っている金も検知できるようにしたいです。
現在の構文:
command /Moon:
trigger:
remove 1200 of Gold Ingot from player's inventory
execute player command "/mvtp Moon" ←1200個プレイヤーのインベントリに金インゴッドがあれば/mvtp Moonを実行
on command "/Moon":
If the player does not have 1200 Gold Ingots in their inventory: ←もしプレイヤーインベントリに1200個金インゴッドがなければイベントをキャンセルし、メッセージを送信する
cancel event
send "&4 I don't have enough gold ingots, I need 1200 gold to go to the moon!"
on command "/Moon": ←ここからは気にしなくて大丈夫だと思います。
If the player has 1200 Gold Ingots in their inventory:
execute player command "/mvtp Moon" execute player command "/mvconfirm"
execute player command "/mvtp Moon" execute player command "/mvconfirm"
7 Replies
まず初めにSkriptを用いたコマンドの作成方法についてお話します
Skriptでコマンドを作成する場合、その処理の実装にon commandを使う必要はありません。
また、過度に処理を分割すると不具合の原因となるので避けるべきです
したがって
このようなコードで同様の動作をします
次に金の換算について、
とりあえず金ブロックを考慮するにはこのコードで大丈夫です
シュルカーボックス内のアイテムはこの関数を用いて取得できます
https://discord.com/channels/545926404785569793/587090563074097199/1072855822121570324
ご回答ありがとうございます!
やり方が違うのかもしれないのですがskunityで試してみて以下のようなエラーが出てきます…エラーの意味がよくわからないです
'{_var1} をプレイヤーのインベントリのゴールドインゴットの数に設定する' はエントリではありません (例: '名前 : 値')
{_var1} をプレイヤーの所持品にあるゴールドインゴットの数に設定します
エラーオン
12号線
'{_var2}をプレイヤーのインベントリのゴールドブロックの数に設定します'はエントリではありません(「名前:値」など)
{_var2} をプレイヤーのインベントリ内のゴールドブロックの数に設定します
エラーオン
14号線
'{_var3} を {_var1} + {_var2}9' に設定 はエントリではありません ('名前 : 値' など)
{_var3} を {_var1} + {_var2}9 に設定します。
構文
skunityは
かなり信用できないので
実際に動かしてみましょう
このようなエラーが出てきました。(翻訳)
予期しないエントリ「{_ver1} をプレイヤーのインベントリ内のゴールド インゴットの数に設定」。スペルが正しいことを確認し、すべてのコード情報をトリガーに設定していることを確認してください。
英語のままにしてほしいです
単純にtriggerと同じインデントのところに置いてるからだと思います
使う構文はそれだけどコピペで動くわけが無い
条件文は適切な場所に書きましょう