#アーグメントについて・・・
無理やり日本語にしてみましたが、正式にはargument
と書き、Skriptではarg
と略すことが可能です。
まあ、何に使うのかというとコマンドです。
きっとMinecraftをやっている人でよくコマンドを使う方はわかると思いますが、/give @a stone 5
とすれば石をすべてのプレイヤーに5つ渡すというコマンドです。
そしてこの中にargumentは含まれています。
それは@a
stone
5
です。
まあ、単純に言えば/give
などの主体部分のあとの部分がargumentです。
そしてカスタムコマンドにもこれはできます。
デフォルトコマンドだとわかりずらいかもですが、よくプラグインなどで、コマンドの主体はすべて同じというものを見かけませんか?
じつはそれをSkriptでもできるのです。
command /test <text>:
trigger:
if arg-1 is "close":
execute console command "/whitelist on"
loop all players:
if loop-player is not an op:
kick the loop-player due to "サーバーが非公開になりました"
send "サーバーを非公開にしました" to player
stop
if arg-1 is "open":
execute console command "/whitelist off"
send "サーバーを公開しました" to player
stop
else:
send "&cそのようなコマンドは存在しません" to player
はい、IF
とELSE
を使って、コマンドを増やしました。
今回追加したコマンドは/test close
と/test open
です。
/test close
は以前紹介したコードですし、/test open
はホワリスを解除して、メッセージを流してるだけなので説明はいりませんね。
ここで理解していただきたいのは、arg-1
という部分です。
このarg-1
はargumentのことでこのコマンドでいうと<text>
の部分ですね。
まあ、それ以外argumentはないのですが・・・
ってって何?って方が多いのではないでしょうか?
コマンドにargumentは追加したいときは<~~~>を追加すると覚えていてください。
<~~~>
このように記した理由なんですが、すべてにしてもいいのですが、それだとコードを見ただけで理解しにくいんです。
argumentにはのほかに、、・・・などなど。あらゆる形式があります。
例えば、カウントアップコマンドを作ってみましょう。
command /cu <int>:
permission: skript.admin
trigger:
loop arg-1 times:
if loop-number is arg-1:
send "%loop-number%" to player
execute console command "/playsound entity.enderdragon.ambient master %player% ~ ~ ~ 1 0.7 1"
else:
send "%loop-number%" to player
execute console command "/playsound entity.experience_orb.pickup master %player% ~ ~ ~ 1 0.5 1"
wait 1 seconds
はい。
また新しいもの出しちゃったけど先にについて説明します。
といいたいけど、そこまで重要じゃないので興味がある方はコチラを見てください。(変数についても書いています)
それではloop time
について説明しましょう。
#Loop timeについて・・・
loop timeというのは「指定した回数実行しまっせ」というコード。
Skriptでの使い方はloop 5 times:
のように書きます。
今回は5をarg-1として/cu 5
というコマンドを実行することになり、入力した回数によってカウントする数を変えれるのです。
そして、今回はカウントアップということで数字を出さなければならないのですが、それはとても単純なんです。
それはloop-number
を使うというものです。
先ほどloop-number
でカウントアップしたように表示できるのです。
「今、何回目のループですよ~」ってね。
#waitコードについて・・・
wait 1 seconds
というものがあったのを覚えていますか?
これは1秒間待つというコードです。
この他にもwait 1 tick
という1tick待つというものもありますが、今は気にしなくてもいいでしょう。
これで1秒ごとにカウントアップするようになります。
execute console command
で音がでるようにしています。
実はSkriptで音を出せるのですがバグなのかうまくいかないことがあるので今回は紹介しません。
そしてカウントアップ終了時、入力した数値と同じになった場合、別の音声を流すようにしています。
次はコチラ
前はコチラ