Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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======================"
Advertisement
Add Comment
Please, Sign In to add comment