skriptで分と秒表記のタイマーを作りたい

{timer}という変数に、タイマーの時間の秒数が入っていてこの変数の秒数を分と秒の表記に直してアクションバーに表示させるようなskriptを製作したいのですがやり方がわからず。。。。
10 Replies
PAKOM
PAKOMOP6d ago
環境はPaper1.16.5 skript2.5.3 Skellett v2.0.10 skRayFall v1.9.28 SkQuery v4.1.10 です
月猫ch
月猫ch6d ago
秒数というのは、単純にnumber? loop ~times: add 1 to {timer} wait 1 seconds みたいなことしてる感じ? もしそうなら 普通に/60して 解は分 余りは秒 にすればいいだけなきガス
Yeahn
Yeahn6d ago
floor({timer} / 60)mod({timer}, 60) 秒かな
PAKOM
PAKOMOP6d ago
そうですね現時点では
set {timer} to 1000
if {timer} is not 0:
subtract 1 from {timer}
loop all players:
wait 1 tick
set action bar of loop-player to "&l%{timer}%"
set {timer} to 1000
if {timer} is not 0:
subtract 1 from {timer}
loop all players:
wait 1 tick
set action bar of loop-player to "&l%{timer}%"
という感じです
月猫ch
月猫ch6d ago
ほなYeahn氏のやり方で行けると思う
PAKOM
PAKOMOP6d ago
ありがとうございます!
set action bar of loop-player to "&l%floor({timer} / 60)%:%mod({timer}, 60)%"
set action bar of loop-player to "&l%floor({timer} / 60)%:%mod({timer}, 60)%"
こんな形でしょうか?
Yeahn
Yeahn6d ago
一応解説すると floor(%number%) 括弧内の数字を小数点以下切り捨てにする関数。 ex) floor(30) → 30, floor(30.3) → 30, floor(30.99) → 30 mod(%number%, %number%) 割り算のあまりを出す関数。 ex) mod(50, 5) → 0, mod(5, 3) → 2 今回の場合は{timer} / 60 を小数点以下切り捨てして分単位を出し、残りの秒をあまりで出す流れです。スマホで打ってるので間違ってたらごめん それで動くと思う。試してみて
PAKOM
PAKOMOP6d ago
ありがとうございます! 無事動きました! もう一つお聞きしたいことがあるのですがその場合はスレッドを変えた方がよろしいでしょうか?
Yeahn
Yeahn6d ago
せやな タイトルと乖離する場合は分けた方が良さげかと
PAKOM
PAKOMOP6d ago
了解しました! まとめ次第スレッドを立てさせていただきます! タイマーの件ありがとうございました! 半日ほど困っていたのでとても助かりました!
Want results from more Discord servers?
Add your server