オンラインのプレイヤーがMCのホワイトリストに加入しているかどうか判定したい
オンラインのプレイヤーがMCのホワイトリストに加入しているかどうか判定したいです。
MC 1.20.2
purpur #2083
Skript 2.7.0
配信用スクリプトとして、配信中は誰でもログインでき、非配信中はホワイトリスト加入者のみログインできる仕様を作ろうとしています。
配信中から非配信への切り替え時に対象者をキックしたいのですが、MCのホワイトリストを使おうとすると難しいでしょうか?
素直に{whitelist::*}変数を作るか迷っています。ご助言お願いします。
20 Replies
https://skripthub.net/docs/?id=4529
聞く前に調べましょう
バニラに標準搭載されているものに関してはSkriptに搭載されている場合が多いです
https://skripthub.net/docs/
Skript Hub - Documentation
Whitelist (Expression) - Skript
A server's whitelist.This expression can be used to add/remove players to/from the whitelist, to enable it and disable it (set whitelist to true / set whitelist to false), and to empty it (reset whitelist)
Skript Hub - Documentation
Skript Hub - Documentation
Skript Hub is the best place to get the latest Skript and Addon Documentation. Skript Hub has the fastest documentation system with offline and mobile support for the best Minecraft development experience.
回答する前に読みましょう
ここ見たんですけど、プレイヤーの判定をどうすれば良いのか書いてありますか?
どうすれば判定になるのかわかりません。
nennnekoの貼った奴間違ってます
理解できてないので聞いてるので、調べてないと決めつけるのは良くないと思いました。
正しくはこっちです
https://skripthub.net/docs/?id=4509
Skript Hub - Documentation
Is Whitelisted (Condition) - Skript
Whether or not the server or a player is whitelisted.
あ、これならわかりやすいです!ありがとうございます。やってみます!
oh
でもこっちでも一応できる
if whitelist contain %player%:で
眠くてよく読めなかった
ごめんなさい🙇
こちらも口調荒くなりすみません。教えて頂いてることはすごく感謝してます。ありがとうございます。
player is whitelisted の構文は動きました!ありがとうございます。
プレイヤーがホワイトリストに加入していない場合はnotをつければいいと思うのですが、
player is not whitelisted
player dose not whitelisted
いずれも動作しませんね・・・構文いくつか確かめてみます。
isnt かな?
isの否定はisn'tです
できましたか?
if arg-1 is "test":
player is not whitelisted
send "test"
これだと違うんですかね・・・?むずかしいな・・・
are notでできますか?
isn't に変えても、エラーは出ないんですが、動作はしません。
are notでもsendが動作しません・・・
該当のプレイヤーはホワリスに登録されていませんか
先程解除して検証してます。
確認しましたが正常に解除されてるようです・・・。
if arg-1 is "test":
if player is whitelisted:
send "加入者"
else if player is whitelisted:
send "非加入者"
else:
send "エラー"
この構文だとエラーでsendされるみたいです・・・構文が違うのかな・・・
あnotが入ってなかった。訂正して確認します。
結果変わらず・・・こっちのほうがいいとおもいます
`if arg-1 is "test":
if player is whitelisted:
send "加入者"
else:
send "非加入者"
whitelist加入者側は動作しているようです。
なるほど・・・加入者側が動作していればelseで逆転できますね。
一応動作するようになりました。is notが効かないのちょっと不思議ですが、if 〜: else: 〜 で代替できますね。ありがとうございます。
GitHub
"player is not whitelisted" is not working? · SkriptLang Skript · D...
command /test: trigger: if player is whitelisted: send "member" else if player is not whitelisted: send "not member" else: send "error" Why does "member" app...
is notが効かないのはバグらしいです・・・
回答してくださったかたありがとうございました。