options: top: 5 path: "plugins/Variables-Of-Players-TheMinecraft/stats.yml" on script load: import "java.lang.Math" import "java.lang.Long" import "java.lang.System" function STAT_addScore(t: text, p: player, i: integer = 1): if yaml value "top.%{_t}%.%{_p}%" from {@path} is not set: set yaml value "top.%{_t}%.%{_p}%" from {@path} to {_i} stop set {_x} to yaml value "top.%{_t}%.%{_p}%" from {@path} set {_x} to {_x} parsed as integer add {_i} to {_x} set yaml value "top.%{_t}%.%{_p}%" from {@path} to {_x} function STAT_getTime(i: number) :: string: set {_sec} to 1000 set {_min} to 60 * {_sec} set {_hour} to 60 * {_min} set {_day} to 24 * {_hour} set {_ms} to {_i} set {_res} to "" if {_ms} > {_day}: set {_res} to "%{_res}% %floor({_ms} / {_day})% dni " set {_ms} to {Math}.floorMod({_ms} and {_day}) if {_ms} > {_hour}: set {_res} to "%{_res}%%floor({_ms} / {_hour})% godz. " set {_ms} to {Math}.floorMod({_ms} and {_hour}) if {_ms} > {_min}: set {_res} to "%{_res}%%floor({_ms} / {_min})% min. " set {_ms} to {Math}.floorMod({_ms} and {_min}) if {_ms} > {_sec}: set {_res} to "%{_res}%%floor({_ms} / {_sec})% sek." set {_ms} to {Math}.floorMod({_ms} and {_sec}) if {_res} is "": set {_res} to "0 sek." return {_res} function STAT_getLore(t: text) :: string: loop yaml nodes "top.%{_t}%" from {@path}: set {_list::%loop-value%} to yaml value "top.%{_t}%.%loop-value%" from {@path} set {_num} to size of {_list::*} loop {_num} times: loop {_list::*}: if {_v.%loop-number%} is not set: set {_v.%loop-number%} to loop-value-2 set {_n.%loop-number%} to loop-index if loop-value-2 is larger than {_v.%loop-number%}: set {_v.%loop-number%} to loop-value-2 set {_n.%loop-number%} to loop-index remove {_v.%loop-number%} from {_list::*} loop {@top} times: if {_v.%loop-number%} is set: if {_t} is "time": set {_lore::%loop-number%} to "%loop-number%. %{_n.%loop-number%}% -> %STAT_getTime({_v.%loop-number%})%" else: set {_lore::%loop-number%} to "%loop-number%. %{_n.%loop-number%}% -> %{_v.%loop-number%}%" else: set {_lore::%loop-number%} to "%loop-number%. Brak" return (join {_lore::*} with "||") on join: set {czas.%player%} to (now).getTimestamp() on quit: set {_difference} to (now).getTimestamp() - {czas.%player%} set {_conf} to yaml value "top.time.%player%" from {@path} set yaml value "top.time.%player%" from {@path} to {_conf}+{_difference} clear {czas.%player%} on break of stone: STAT_addScore("stone", player) on break of obsidian: STAT_addScore("obsidian", player) on death: if "%victim%" parsed as offlineplayer is online: if "%attacker%" parsed as offlineplayer is online: STAT_addScore("kill", attacker) STAT_addScore("death", victim) command /top []: trigger: open chest with 1 rows named "Staty" to player wait 2 tick set player's current inventory's slot 0 to stone named "Stone" with lore STAT_getLore("stone") set player's current inventory's slot 1 to obsidian named "Obsydian" with lore STAT_getLore("obsidian") set player's current inventory's slot 2 to clock named "Czas" with lore STAT_getLore("time") set player's current inventory's slot 3 to diamond sword named "Kille" with lore STAT_getLore("kills") #Itd. #Reszte wytłumaczyliśmy se na discord.