前回の記事で、%player%というものが出てきました。
今回は、
-
%で囲われたplayerとは何なのか -
%で囲うと何ができるのか -
{_n}や{list::*}といった変数とはどういう物なのか
について解説します。
この部分は説明が難しく、わかりにくいかもしれません。
なんとなく「そういうものなんだな」と理解して頂ければokです。
playerと%って何なの?
この、playerはSkriptの Expression と呼ばれる物の一つです。
翻訳すると、 表現 になります。
このExpressionは、イベント発生時等に値が設定されます。
if player's gamemode is survival:
send "あなたはサバイバルモードです。" to player
これを%で囲むとどうなるかというと、このplayerに含まれた値を表示できます。
主にメッセージを送信するsendで使う事が多いと思います。
send "あなたのゲームモードは%player's gamemode%です。" to player
変数とは
このExpressionには変数というものも含まれます。
...といっても、変数の説明がまだなので分からないでしょう。
変数とは、値を{ }のようなもので保存するものです。
いくつか種類があります。
# 変数名はabcとしています。
変数 -> {abc}
一時変数 -> {_abc}
リスト変数 -> {abc::*}
一時リスト変数 -> {_abc::*}
変数とリスト変数 - {abc}, {abc::*}
サーバー内の全ての場所で使える変数です。
変数には1つの値しか入りません。
しかし、リスト変数は複数の値を入れられます。
つまり、
変数はAとBとCのどれかしか入りませんが、リスト変数であれば全て入れられるわけです。
例文 (abc.sk)
# 例文です
set {abc} to A #{abc}にAをセット
set {abc::*} to A, B, and C #{abc::*}にAとBとCをセット
add A to {abc::*} #Aを{abc::*}に追加
remove A from {abc::*} #Aを{abc::*}から削除
delete {abc} #{abc}を削除
delete {abc::} #{abc::*}を削除
一時変数と一時リスト変数 - {_abc}, {_abc::*}
イベント内でのみで使える変数です。
変数の最初に_が付き、処理が終わった後に変数のデータが消去されます。
それ以外は変数とリスト変数と同じです。
例文
on join:
set {ip.%player%} to player's ip
参加時にプレイヤーのIP(player's ip)を{ip.%player%}に保存します。
変数名を見ると、%player%がありますね...
つまり、%player%にはプレイヤー名が代入されます。
MCIDがringo360xdなら、{ip.ringo360xd}となります。
そして、{ip.ringo360xd}にはringo360xdのIPが代入されます。
(192.168.1.100など)
command /saveloc:
trigger:
set {loc.%player%} to player's location
command /loadloc:
trigger:
teleport player to {loc.%player%}
これは、/savelocで{loc.%player%}という変数にプレイヤーの位置を保存し、
/loadlocで保存した変数の位置にテレポートするというものです。
コマンドの詳しい作り方は、また今度解説します。
今回はここまで!
良いSkriptライフを!