(解決済み)【Skriot】Level Ranking作りたい

サーバー運用される方はこちらで情報交換されてはいかがでしょうか?
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.311376)

(解決済み)【Skriot】Level Ranking作りたい

投稿記事by Neko_S96S » 2017年12月14日(木) 12:32

レベルランキング自体は作れたのですがコマンド等で一気に2レベ上げたりするとバグ出てしまうのと表示方法がダサいので変えたいのですがイマイチ分かりません。
それと5位までのみ表示にしたいです。
コード: 全て選択
on level change:
   set {_r} to player's level
   set {_r} to {_r} - 1
   set {_r} to "&e&l%player% Lv%{_r}%"
   set {level.%player%} to player's level
   set {level.%player%} to "&e&l%player% Lv%{_l}%"
   add {level.%player%} to {level.top::*}
   remove {_r} from {level.top::*}
   broadcast "Debug: %{level.top::*}%"

表示方法は下みたいにしたいです
コード: 全て選択
1位: %player% Lv{level.%player%}
2位: %player% Lv{level.%player%}
3位: %player% Lv{level.%player%}
4位: %player% Lv{level.%player%}

Spigot 1.8.8 Skript 2.1.2
最後に編集したユーザー Neko_S96S [ 2017年12月14日(木) 22:23 ], 累計 2 回
RPG鯖制作中!参加可能!
画像
ビルダー募集アイディア募集しております(*- -)(*_ _)ペコリ
Discord: https://discord.gg/X8CqXXT
Skype: https://join.skype.com/F8lfNCvS6bIL
Neko_S96S
ID:7cd10949
木を殴ってる
 
記事: 39
登録日時: 2017年9月08日(金) 01:09

  • (PostNo.311382)

Re: 【Skriot】Level Ranking作りたい

投稿記事by mcgo » 2017年12月14日(木) 16:47

どこに表示したいとかなど、もう少し具体的に説明があればさらに詳しく回答出来たりバージョンの記載が無いとどのバージョンでテストすればいいか分からないので
次回からは具体的な説明とバージョンの記載をしてください。

コード: 全て選択
on level change:
   set {_n} to 1
   loop 5 times:
      if level of player is more than or equal to {ranking%{_n}%}:
         set {_c} to 5 - {_n}
         set {_n} to 5
         loop {_c} times:
            set {_m} to {_n} - 1
            set {ranking%{_n}%} to {ranking%{_m}%}
            add -1 to {_n}
         set {ranking%{_m}%} to level of player
         stop loop
      else:
         add 1 to {_n}

command /rank:
   trigger:
      set {_n} to 1
      loop 5 times:
         broadcast "%{ranking%{_n}%}%"
         add 1 to {_n}

あらかじめランキングの1位~5位までの変数を用意しておきます。
簡単にコードの説明をすると、最初に1位とプレイヤーのレベルを比べてイコール又は以上の場合は
5位に4位の値、4位に3位の値、3位に2位の値、2位に1位の値を入れて最後に1位にプレイヤーのレベルを入れています。
もしプレイヤーのレベルが2位に相当するなら、2位~5位まで下に一個ずつずらして2位にプレイヤーのレベルを入れるみたいな感じです。

1.8.8でSkript2.1.2でテストしています。
主にSkriptのトピックに出現中・・・
個人的に話したければプライベートメッセージいつでも送ってね♪
最近少しだけプラグイン開発に手を出し始めました^p^
どっかのサーバーでSkriptでお仕事したいなぁ~
【Skript自作コード公開中】
アバター
mcgo
ID:41fdeb47
鉄鉱掘り
 
記事: 277
登録日時: 2016年11月04日(金) 00:05
お住まい: Minecraft

  • (PostNo.311387)

Re: 【Skriot】Level Ranking作りたい

投稿記事by Neko_S96S » 2017年12月14日(木) 22:12

mcgo さんが書きました:どこに表示したいとかなど、もう少し具体的に説明があればさらに詳しく回答出来たりバージョンの記載が無いとどのバージョンでテストすればいいか分からないので
次回からは具体的な説明とバージョンの記載をしてください。

コード: 全て選択
on level change:
   set {_n} to 1
   loop 5 times:
      if level of player is more than or equal to {ranking%{_n}%}:
         set {_c} to 5 - {_n}
         set {_n} to 5
         loop {_c} times:
            set {_m} to {_n} - 1
            set {ranking%{_n}%} to {ranking%{_m}%}
            add -1 to {_n}
         set {ranking%{_m}%} to level of player
         stop loop
      else:
         add 1 to {_n}

command /rank:
   trigger:
      set {_n} to 1
      loop 5 times:
         broadcast "%{ranking%{_n}%}%"
         add 1 to {_n}

あらかじめランキングの1位~5位までの変数を用意しておきます。
簡単にコードの説明をすると、最初に1位とプレイヤーのレベルを比べてイコール又は以上の場合は
5位に4位の値、4位に3位の値、3位に2位の値、2位に1位の値を入れて最後に1位にプレイヤーのレベルを入れています。
もしプレイヤーのレベルが2位に相当するなら、2位~5位まで下に一個ずつずらして2位にプレイヤーのレベルを入れるみたいな感じです。

1.8.8でSkript2.1.2でテストしています。

プレイヤーの名前も表示するようにしたら自分が思っていたものが出来ました!
ありがとうございます!
バージョンの件は以後きおつけます(*- -)(*_ _)ペコリ
RPG鯖制作中!参加可能!
画像
ビルダー募集アイディア募集しております(*- -)(*_ _)ペコリ
Discord: https://discord.gg/X8CqXXT
Skype: https://join.skype.com/F8lfNCvS6bIL
Neko_S96S
ID:7cd10949
木を殴ってる
 
記事: 39
登録日時: 2017年9月08日(金) 01:09


Return to 質問:マルチサーバー運用

x