Other available versions. Ordered by newest to oldest versions:
Just so you know, we don't know the file format for every file. If it's just a bunch of random characters, it's probably a .zip or .jar.
options:
#Messages
#Use [exp],[level],[something] as placeholders and || as new line
msg.levelUp: "&7======================||&7 || &aLEVEL UP! ||&7You are now at level &a[level]||&7 ||&7======================"
msg.addXp: "&9+[exp] experience"
msg.levelCmdOutput: "&7======================||&7 ||&7You have level &e[level]||&7You have &a[exp]&7/&e[levelup-exp] &7experience||&7 ||&7======================"
#Settings
st.startLevel: 0
st.levelUpXpBase: 25
st.levelUpXpMultiplier: 2
variables:
#Permissions(like default,vip,ultra,premium
#{lsk.booster::default} = 1
{lsk.booster::vip} = 2
{lsk.booster::ultra} = 3
{lsk.booster::premium} = 5
on join:
if {level::%player%} isn't set:
set {level::%player%} to {@st.startLevel}
set {level.exp::%player%} to 0
set {levelup.exp::%player%} to {@st.levelUpXpBase}
function addLevelExp(p: player,a: integer):
set {_msg1} to {@msg.addXp}
loop {lsk.booster::*}:
if player has permission "lsk.%loop-index%":
if {_b} is less than loop-value:
set {_b} to loop-value
set {_n} to {_a} * {_b}
replace all "[exp]" with "%{_a}%" in {_msg1}
send {_msg1} to {_p}
loop {_a} times:
add 1 to {level.exp::%{_p}%}
if {level.exp::%{_p}%} is more than ({levelup.exp::%{_p}%} - 1):
set {levelup.exp::%{_p}%} to {levelup.exp::%{_p}%} * {@st.levelUpXpMultiplier}
set {level::%{_p}%} to {level::%{_p}%} + 1
set {_msg2} to {@msg.levelUp}
replace all "[level]" with "%{level::%{_p}%}%" in {_msg2}
message {_msg2 to {_p}
function getLevel(p: player) :: integer:
return {level::%{_p})
function getLevelExp(p: player) :: integer:
return {level.exp::%{_p})
function getLevelUpExp(p: player) :: integer:
return {levelup.exp::%{_p})
function wipeLevelStats(p: player):
delete {level::%{_p}%}
delete {level.exp::%{_p}%}
delete {levelup.exp::%{_p}%}
command /level:
trigger:
set {_p} to player
set {_msg} to {@msg.levelCmdOutput}
replace all "[level]" with "%{level::%{_p}%}%" in {_msg}
replace all "[exp]" with "%{level.exp::%{_p}%}%" in {_msg}
replace all "[levelup-exp]" with "%{levelup.exp::%{_p}%}%" in {_msg}
message {_msg} to player
command /leveltop [text] [integer]:
trigger:
if arg-1 is "level" or "lvl":
set {_v} to "level"
set {_vl} to "Level"
else if arg-1 is "experience" or "exp" or "xp":
set {_v} to "level.exp"
set {_vl} to "Exp"
else:
send "&cWrong argument error - use &e/leveltop (level/lvl|exp/xp/experience)"
stop trigger
loop {%{_v}%::*}:
{_l} is less than arg-2
add 1 to {_size}
if {_sorted.list::%loop-value%} is not set:
set {_sorted.list::%loop-value%} to loop-index
else:
set {_n} to 0
loop {_size} times:
set {_n} to {_n}+1
{_sorted.list:%loop-value-1%.%{_n}%} is not set
set {_sorted.list::%loop-value-1%.%{_n}%} to loop-index
stop loop
add 1 to {_l}
wait 1 tick
set {_n} to size of {_sorted.list::*}
loop {_sorted.list::*}:
set {_sorted.list::%{_n}%} to loop-value
set {_n} to {_n}-1
wait 1 tick
set {_i} to 0
send "&7======================"
send " Top %arg-2% Players"
loop {_sorted.list::*}:
add 1 to {_topnumber}
set {_player} to "%loop-value%" parsed as offlineplayer
send "&e%{_topnumber}%&7.&e%{_player}% &7- &e%{%{_v}%::%loop-value%}% %{_vl}"
add 1 to {_i}
if {_topnumber} is more than (arg-1 - 1)
stop
send "&7======================"