個人のSidebarを変更する方法
コード
このSkriptでAさんのSidebarはAさんのデータを、BさんのSidebarにはBさんのデータを表示したいのですが、
全員のSidebarにAさんのデータが行ってしまいました。(一人の時はちゃんとできてました)
→最後に入ってきた人のデータが全員に
個人のSidebarにするにはどうすればいいですか?
履歴をあさったり調べたりしても解決法がよくわかんなかったのでおしえてください...
環境↓
19 Replies
1.12.2 PlayerRealmsです。
全部 loop value を loop-player にしてみてください
結果変わりませんでした
どこのデータが同じなの?
set name of sidebar of loop-player to "&7-= < &f%loop-player% &7> =-"です
SkRayFallのFastScoreboardはfalseにしてあります
trueでも変わんなかったです
バージョンあってかなぁ
SkriptのバージョンとSkRayFallのバージョンはいろいろ試してみましたがだめでした
SkRayFallのスコアボードは経験上
他の人のスコアボードが表示されてしまうバグがあります。
これはマジで何をしても直せなかったです。突然直ったりもします。
SkellettのStylish Scoreboardを利用してみてはどうでしょうか?
* 私作テンプレートです。ご自由にお使いください。
Skellettでやってみようと思います
ちなみに、Skellettのsidebarってチカチカします?
SkRayFallほどにはしませんが、少しはします。
リセットするからじゃないの
行変わらないなら差し替えだけで行けるから問題ないと思うんだけど
どっかに関数だけで処理できるようにしたsk作ったはずなんだけど見つからん
ここからよくわからなくなったのでSkRayFallで進めることにしました。すみません
HealthBarというPLがなぜか干渉していてそれを抜いたら解決しました。(arufoさんの協力もあって)
違う方法でやってしまいましたが、相談に乗ってくれてありがとうございました!
解決したのならよかったです。
まぁ一応解説します。
まず第1として、update text (内容をwipeせずに更新)という方法を使うには、事前に行と内容を関連づけるIDを登録する必要があります。
また、登録する際には必ず文字列も一緒に登録しなければなりません。
そこで、マイクラから見たら見えませんが、プログラム上は文字列として認識されるカラーコードを1~12番として順番に割り振っています ( 6,7,8,9,10行目 )
※また、ここで毎回別の色を指定しているのは同じ色だと同じ文字列と認識されてその行が消えるからです。
(逆に{color::*}の数を減らすとサイドバーの数も減る)
その際に、
<プレイヤー>.<番号>
というidでスコアを記録します。
every 1 tickからに関しては上のスコアを記録するために用意したidで文字列を変えるテンプレートです。
で行を作って
でその行の文字を変えるってことですか?
そういうことです!
ありがとうございます