options: max-exp-mode: 2 max-lvl: 70 max-exp-math: 100+({_lvl}-1)*150 max-exp-math-rounding: false large-exp-mode: 1 msg-no-perm: &4Nie masz dostępu do tej komendy. msg-offline: &4Ten gracz jest offline. msg-lvl-set: &aUstawiono level %{_p}% na: &e%{lvl.%{_p}%}% &6[&c%{exp.%{_p}%}%&9/&3%{exp.max.%{_p}%}%&6] msg-lvl-set-prev: &8Poprzedni level: &7%{_lvl.%{_p}%}% &8[&7%{_exp.%{_p}%}%&8/&7%{_exp.max.%{_p}%}%&8] msg-exp: &7[&8%{_prefix}%&7] %{_znak}%%{_ilosc}% &6[&c%{exp.%{_p}%}%&9/&3%{exp.max.%{_p}%}%&6] msg-lvl-up: &5&lGratulacje! Awansujesz na &6&l%{lvl.%{_p}%}% &5&lpoziom! msg-lvl-change: &5&lTwój poziom został zmieniony na: &6&l%{lvl.%{_p}%}%&5&l msg-lvl-up-bc: &2%{_p}% awansował na &6&l%{lvl.%{_p}%}% &2poziom! msg-doubleexp-warn-on: &eFunkcja %{_prefix}% teraz jest &aaktywna&e. msg-doubleexp-warn-off: &eFunkcja %{_prefix}% teraz jest &cnieaktywna&e. msg-doubleexp-on: &7&l%{_prefix}% &7został &aaktywowany&7! msg-doubleexp-off: &7&l%{_prefix}% &7został &czdezaktywowany&7! exp-give-plus: &2+ exp-give-minus: &4 prefix-exp: Exp prefix-doubleexp: DoubleExp prefix-tripleexp: TripleExp doubleexp-warn: true doubleexp-bc: false allow-tripleexp: false broadcast-lvlup: false distinction-levels: 15 or 30 or 40 or 50 lvlup-lighting-effect: false max-exp-give-limit: 1000000 max-negative-exp: 100 doubleexp-negative-exp: false exp-rounding: false use-levels-bar: true disable-xp-orb: true disable-enchant: true disable-anvil: true tab-list-nick-enabled: true tab-list-nick-format: &8[&7%{lvl.%player-arg%}%&8] &r head-nick-enabled: true head-nick-format: &8[&7%{lvl.%player-arg%}%&8] &r head-level-enabled: true head-level-suffix: Lvl nick-refresh: 10 use-Levels-chat: true # * GRUPA 1 [Zwykli gracze, którzy nie potrzebują dodatkowych uprawnień] # chat-default: &8[&7%{lvl.%player%}%&8] &f<%player%> &f%{_message}% # * GRUPA 2 # chat-group-2: &8[&7%{lvl.%player%}%&8] &f<&b[VIP] &f%player%> &f%{_message}% permission-group-2: vip # * GRUPA 3 # chat-group-3: &8[&7%{lvl.%player%}%&8] &f<&6[SuperVIP] &f%player%> &f%{_message}% permission-group-3: supervip # * GRUPA 4 # chat-group-4: &8[&7%{lvl.%player%}%&8] &f<&9[Budowniczy] &f%player%> &f%{_message}% permission-group-4: budowniczy # * GRUPA 5 # chat-group-5: &8[&7%{lvl.%player%}%&8] &f<&c[KidMod] &f%player%> &f%{_message}% permission-group-5: kidmod # * GRUPA 6 # chat-group-6: &8[&7%{lvl.%player%}%&8] &f<&c[Moderator] &f%player%> &f%{_message}% permission-group-6: moderator # * GRUPA 7 # chat-group-7: &8[&7%{lvl.%player%}%&8] &f<&4[Admin] &f%player%> &f%{_message}% permission-group-7: administrator # * GRUPA 8 # chat-group-8: &8[&7%{lvl.%player%}%&8] &f<&7[Ranga] &f%player%> &f%{_message}% permission-group-8: uprawnienie # * GRUPA 9 # chat-group-9: &8[&7%{lvl.%player%}%&8] &f<&7[Ranga] &f%player%> &f%{_message}% permission-group-9: uprawnienie # * GRUPA 10 [Domyślnie OP (główni administratorzy), którzy posiadają już uprawnienia] # chat-op: &8[&7%{lvl.%player%}%&8] &f&4[Zalozyciel] &f%player%> &f%{_message}% # # # Ustaw, jakie rangi nie mogą używać kolorów. Podaj uprawienia ustawione już wyżej. # # Główni administratorzy (OP) obsługują pisanie kolorem i nie dotyczy ich ta opcja. # deny-use-colors-for-groups: "vip" or "uprawnienie" # * Czy domyślni gracze (bez uprawnień) nie mogą używać kolorów? # deny-use-colors-for-default-players: true # * UWAGA: jeśli występuje bug, że kolory nadal działają w wykluczonych rangach, to # # ustaw tą opcję na "true" - wyłącza całkowite używanie znaczka "&". # force-disable-colors: true # # # ####################################################################################### # # ############################# # # Zmienne, czat, zabezpieczenia # # i inne funkcje # # ############################# # variables: {lvl.%player%} = 1 {exp.%player%} = 0 {exp.max.%player%} = 0 {doubleexp} = false on chat: {@use-Levels-chat} is true cancel event set {_message} to coloured message if player is op: broadcast "{@chat-op}" else: if player has permission {@deny-use-colors-for-groups}: set {_message} to message if {@force-disable-colors} is true: replace all "&" with "" in {_message} if player has permission "{@permission-group-9}": broadcast "{@chat-group-9}" stop if player has permission "{@permission-group-8}": broadcast "{@chat-group-8}" stop if player has permission "{@permission-group-7}": broadcast "{@chat-group-7}" stop if player has permission "{@permission-group-6}": broadcast "{@chat-group-6}" stop if player has permission "{@permission-group-5}": broadcast "{@chat-group-5}" stop if player has permission "{@permission-group-4}": broadcast "{@chat-group-4}" stop if player has permission "{@permission-group-3}": broadcast "{@chat-group-3}" stop if player has permission "{@permission-group-2}": broadcast "{@chat-group-2}" stop if {@deny-use-colors-for-default-players} is true: set {_message} to message if {@force-disable-colors} is true: replace all "&" with "" in {_message} broadcast "{@chat-default}" every 1 second: loop all players: if {lvl.%loop-player%} > {@max-lvl}: set {lvl.%loop-player%} to {@max-lvl} set {lvl.%loop-player%} to {lvl.%loop-player%}-1 execute console command "/maxexpchange %loop-player%" set {exp.%loop-player%} to {exp.max.%loop-player%} set {lvl.%loop-player%} to {@max-lvl} if {exp.%loop-player%} < {@max-negative-exp}: set {exp.%loop-player%} to {@max-negative-exp} if {@max-negative-exp} > 0: set {exp.%loop-player%} to 0 if {dxppl.%loop-player%} < now: delete {dxppl.%loop-player%} every 5 tick: loop all players: if {@use-levels-bar} is true: if {lvl.%loop-player%} is not {@max-lvl}: if loop-player's level is not {lvl.%loop-player%}: set the loop-player's level to {lvl.%loop-player%} if {lvl.%loop-player%} is {@max-lvl}: if loop-player's level is not {lvl.%loop-player%}-1: set the loop-player's level to {lvl.%loop-player%}-1 if loop-player's level progress is not {exp.%loop-player%}/{exp.max.%loop-player%}: if {exp.%loop-player%} <= 0: set loop-player's level progress to 0 else: set loop-player's level progress to {exp.%loop-player%}/{exp.max.%loop-player%} on join: if {lvl.%player%} is 1: if {exp.%player%} is 0: execute console command "/maxexpchange %player%" if {@head-level-enabled} is true: execute console command "/scoreboard players set %player% Levels %{lvl.%player%}%" if {@doubleexp-warn} is true: player has permission "admin" wait 1 second {doubleexp} is true set {_prefix} to "{@prefix-doubleexp}" send "{@msg-doubleexp-warn-on}" to player on experience spawn: if {@use-levels-bar} is true: if {@disable-xp-orb} is true: cancel event on skript start: send "[Skript] Skrypt Levels v{@version} zostal uruchomiony!" to console on skript stop: send "[Skript] Skrypt Levels v{@version} zostal wylaczony!" to console # ############################# # # Level nad głową gracza i # # na TAB liście # # ############################# # every {@nick-refresh} second: loop all players: execute console command "/levels-set-nick %loop-player%" command /levels-set-nick []: executable by: console trigger: if {@tab-list-nick-enabled} is true: set player-arg's tablist name to "{@tab-list-nick-format}%player-arg%" if {@tab-list-nick-enabled} is false: set player-arg's tablist name to "%player-arg%" # Odblokuj ten fragment kodu usuwając "#", jeśli używasz dodatku WildSkript # if {@head-nick-enabled} is true: set player-arg's tag to "{@head-nick-format}" if {@head-nick-enabled} is false: set player-arg's tag to "" on load: if {@head-level-enabled} is true: execute console command "/gamerule sendCommandFeedback false" execute console command "/scoreboard objectives add Levels dummy {@head-level-suffix}" execute console command "/scoreboard objectives setdisplay belowName Levels" loop all players: execute console command "/scoreboard players set %loop-player% Levels %{lvl.%loop-player%}%" if {@head-level-enabled} is false: execute console command "/scoreboard objectives remove Levels" # ############################# # # Sprawdzanie aktualnego # # poziomu # # ############################# # command /poziom []: aliases: /exp, /stats, /staty, /statystyki, /lvl, /level, /lv executable by: console and player trigger: if arg 1 is set: if executor is player: if player has permission "admin": set {_p} to arg 1 parsed as player else: send "{@msg-no-perm}" stop if executor is console: set {_p} to arg 1 parsed as player if arg 1 is not set: if executor is player: set {_p} to player if executor is console: send "&f/poziom &c" stop if {_p} is online: if {exp.%{_p}%} is not set: set {exp.%{_p}%} to 0 if {lvl.%{_p}%} is not set: set {lvl.%{_p}%} to 1 if {exp.max.%{_p}%} is not set: execute console command "/maxexpchange %{_p}%" # Tutaj sformatuj wygląd wyświetlania statystyk # send "&5&l&m====================================" send "&6Statystyki %{_p}%:" send " &2Poziom: &e%{lvl.%{_p}%}%" send " &2Punky doświadczenia: &c%{exp.%{_p}%}%&9/&3%{exp.max.%{_p}%}%&6" send "&5&l&m====================================" else: send "{@msg-offline}" # ############################# # # Dawanie expa + główny # # system leveli # # ############################# # command /exp-give [] [] [] []: usage: /exp-give [-s] [-n] permission: admin permission message: {@msg-no-perm} executable by: console and player trigger: if arg 1 is set: set {_p} to arg 1 parsed as player if {_p} is online: if arg 2 is set: if arg 2 > {@max-exp-give-limit}: send "&cPodana ilość expa jest zbyt duża." stop if {exp.%{_p}%} is not set: set {exp.%{_p}%} to 0 if {lvl.%{_p}%} is not set: set {lvl.%{_p}%} to 1 if {exp.max.%{_p}%} is not set: execute console command "/maxexpchange %{_p}%" if {lvl.%{_p}%} >= {@max-lvl}: stop else: set {_arg2} to arg 2 if {@exp-rounding} is true: set {_arg2} to round {_arg2} if {doubleexp} is false: if arg 3 or arg 4 is "-n": set {_x2} to 1 set {_prefix} to "{@prefix-exp}" else: set {_x2} to 1 set {_prefix} to "{@prefix-exp}" if {dxppl.%{_p}%} is set: set {_x2} to 2 set {_prefix} to "{@prefix-doubleexp}" if {doubleexp} is true: if arg 3 or arg 4 is "-n": set {_x2} to 1 set {_prefix} to "{@prefix-exp}" else: set {_x2} to 2 set {_prefix} to "{@prefix-doubleexp}" if {@allow-tripleexp} is true: if {dxppl.%{_p}%} is set: set {_x2} to 3 set {_prefix} to "{@prefix-tripleexp}" if {_arg2} < 0: if {@doubleexp-negative-exp} is false: set {_x2} to 1 set {_prefix} to "{@prefix-exp}" if {exp.%{_p}%} < {exp.max.%{_p}%}: add {_arg2}*{_x2} to {exp.%{_p}%} set {_ilosc} to "%{_arg2}*{_x2}%" if {_arg2} > 0: set {_znak} to "{@exp-give-plus}" if {_arg2} <= 0: set {_znak} to "{@exp-give-minus}" if {exp.%{_p}%} < 0: if {@max-negative-exp} < 0: if {exp.%{_p}%} < {@max-negative-exp}: set {exp.%{_p}%} to {@max-negative-exp} if {@max-negative-exp} >= 0: set {exp.%{_p}%} to 0 if {exp.%{_p}%} >= {exp.max.%{_p}%}: if {@large-exp-mode} is 1: set {_iloscgl.%{_p}%} to {_ilosc}-{exp.max.%{_p}%}-{exp.%{_p}%} add 1 to {lvl.%{_p}%} execute console command "/maxexpchange %{_p}%" loop {@max-lvl} times: if {_iloscgl.%{_p}%} >= {exp.max.%{_p}%}: set {_iloscgl.%{_p}%} to {_iloscgl.%{_p}%}-{exp.max.%{_p}%} add 1 to {lvl.%{_p}%} execute console command "/maxexpchange %{_p}%" if {lvl.%{_p}%} >= {@max-lvl}: stop loop if {_iloscgl.%{_p}%} < {exp.max.%{_p}%}: set {exp.%{_p}%} to {_iloscgl.%{_p}%} stop loop if {@large-exp-mode} is 2: add 1 to {lvl.%{_p}%} execute console command "/maxexpchange %{_p}%" if {lvl.%{_p}%} >= {@max-lvl}: set {exp.%{_p}%} to {exp.max.%{_p}%} else: if {@large-exp-mode} is 2: set {exp.%{_p}%} to 0 send "{@msg-lvl-up}" to {_p} if {@lvlup-lighting-effect} is true: strike lightning effect at {_p} if {@head-level-enabled} is true: execute console command "/scoreboard players set %{_p}% Levels %{lvl.%{_p}%}%" if {@broadcast-lvlup} is true: if {lvl.%{_p}%} is {@distinction-levels}: loop all players: if {_p} is not loop-player: send "{@msg-lvl-up-bc}" to loop-player if {exp.%{_p}%} is -0: set {exp.%{_p}%} to 0 if arg 3 or arg 4 is "-s": stop else: send "{@msg-exp}" to {_p} else: send "&f/exp-give &c &f[-s] [-n]" else: send "{@msg-offline}" else: send "&f/exp-give &c &f [-s] [-n]" # ############################# # # TEJ KOMENDY NIE WOLNO # # UŻYWAĆ RĘCZNIE!!! # # ############################# # command /maxexpchange []: executable by: console trigger: if {@max-exp-mode} is 1: set {_lvl} to "%{lvl.%player-arg%}%" parsed as number set {_expmax} to "%{exp.max.%player-arg%}%" parsed as number set {exp.max.%player-arg%} to {@max-exp-math} if {@max-exp-math-rounding} is true: set {exp.max.%player-arg%} to round {@max-exp-math} stop if {@max-exp-mode} is 2: # ########################################################################### # # # # [Jeśli MAX-EXP-MODE: 2] # # Tu znajdują się ręczne ustawienia maksymalnego expa do następnego levela. # # PRZYKŁAD: # # Na poziomie 1 do awansu potrzeba 100 expa. # # Na poziomie 2 do awansu potrzeba 250 expa. # # Na poziomie 49 do awansu potrzeba 7300 expa. # # Na poziomie 50 jeśli jest maksymalny [ exp: 7300 / exp-max: 7300 ]. # # # # ########################################################################### # if {lvl.%player-arg%} = 1: set {exp.max.%player-arg%} to 100 if {lvl.%player-arg%} = 2: set {exp.max.%player-arg%} to 250 if {lvl.%player-arg%} = 3: set {exp.max.%player-arg%} to 400 if {lvl.%player-arg%} = 4: set {exp.max.%player-arg%} to 550 if {lvl.%player-arg%} = 5: set {exp.max.%player-arg%} to 700 if {lvl.%player-arg%} = 6: set {exp.max.%player-arg%} to 850 if {lvl.%player-arg%} = 7: set {exp.max.%player-arg%} to 1000 if {lvl.%player-arg%} = 8: set {exp.max.%player-arg%} to 1150 if {lvl.%player-arg%} = 9: set {exp.max.%player-arg%} to 1300 if {lvl.%player-arg%} = 10: set {exp.max.%player-arg%} to 1450 if {lvl.%player-arg%} = 11: set {exp.max.%player-arg%} to 1600 if {lvl.%player-arg%} = 12: set {exp.max.%player-arg%} to 1750 if {lvl.%player-arg%} = 13: set {exp.max.%player-arg%} to 1900 if {lvl.%player-arg%} = 14: set {exp.max.%player-arg%} to 2050 if {lvl.%player-arg%} = 15: set {exp.max.%player-arg%} to 2200 if {lvl.%player-arg%} = 16: set {exp.max.%player-arg%} to 2350 if {lvl.%player-arg%} = 17: set {exp.max.%player-arg%} to 2500 if {lvl.%player-arg%} = 18: set {exp.max.%player-arg%} to 2650 if {lvl.%player-arg%} = 19: set {exp.max.%player-arg%} to 2800 if {lvl.%player-arg%} = 20: set {exp.max.%player-arg%} to 2950 if {lvl.%player-arg%} = 21: set {exp.max.%player-arg%} to 3100 if {lvl.%player-arg%} = 22: set {exp.max.%player-arg%} to 3250 if {lvl.%player-arg%} = 23: set {exp.max.%player-arg%} to 3400 if {lvl.%player-arg%} = 24: set {exp.max.%player-arg%} to 3550 if {lvl.%player-arg%} = 25: set {exp.max.%player-arg%} to 3700 if {lvl.%player-arg%} = 26: set {exp.max.%player-arg%} to 3850 if {lvl.%player-arg%} = 27: set {exp.max.%player-arg%} to 4000 if {lvl.%player-arg%} = 28: set {exp.max.%player-arg%} to 4150 if {lvl.%player-arg%} = 29: set {exp.max.%player-arg%} to 4300 if {lvl.%player-arg%} = 30: set {exp.max.%player-arg%} to 4450 if {lvl.%player-arg%} = 31: set {exp.max.%player-arg%} to 4600 if {lvl.%player-arg%} = 32: set {exp.max.%player-arg%} to 4750 if {lvl.%player-arg%} = 33: set {exp.max.%player-arg%} to 4900 if {lvl.%player-arg%} = 34: set {exp.max.%player-arg%} to 5050 if {lvl.%player-arg%} = 35: set {exp.max.%player-arg%} to 5200 if {lvl.%player-arg%} = 36: set {exp.max.%player-arg%} to 5350 if {lvl.%player-arg%} = 37: set {exp.max.%player-arg%} to 5500 if {lvl.%player-arg%} = 38: set {exp.max.%player-arg%} to 5650 if {lvl.%player-arg%} = 39: set {exp.max.%player-arg%} to 5800 if {lvl.%player-arg%} = 40: set {exp.max.%player-arg%} to 5950 if {lvl.%player-arg%} = 41: set {exp.max.%player-arg%} to 6100 if {lvl.%player-arg%} = 42: set {exp.max.%player-arg%} to 6250 if {lvl.%player-arg%} = 43: set {exp.max.%player-arg%} to 6400 if {lvl.%player-arg%} = 44: set {exp.max.%player-arg%} to 6550 if {lvl.%player-arg%} = 45: set {exp.max.%player-arg%} to 6700 if {lvl.%player-arg%} = 46: set {exp.max.%player-arg%} to 6850 if {lvl.%player-arg%} = 47: set {exp.max.%player-arg%} to 7000 if {lvl.%player-arg%} = 48: set {exp.max.%player-arg%} to 7150 if {lvl.%player-arg%} = 49: set {exp.max.%player-arg%} to 7300 if {lvl.%player-arg%} = 49: set {exp.max.%player-arg%} to 7800 if {lvl.%player-arg%} = 49: set {exp.max.%player-arg%} to 8100 if {lvl.%player-arg%} = 50: set {exp.max.%player-arg%} to 8900 if {lvl.%player-arg%} = 51: set {exp.max.%player-arg%} to 9500 if {lvl.%player-arg%} = 52: set {exp.max.%player-arg%} to 13000 if {lvl.%player-arg%} = 53: set {exp.max.%player-arg%} to 19000 if {lvl.%player-arg%} = 54: set {exp.max.%player-arg%} to 20000 if {lvl.%player-arg%} = 55: set {exp.max.%player-arg%} to 20900 if {lvl.%player-arg%} = 56: set {exp.max.%player-arg%} to 21500 if {lvl.%player-arg%} = 57: set {exp.max.%player-arg%} to 21999 if {lvl.%player-arg%} = 58: set {exp.max.%player-arg%} to 20330 if {lvl.%player-arg%} = 59: set {exp.max.%player-arg%} to 20500 if {lvl.%player-arg%} = 60: set {exp.max.%player-arg%} to 21000 if {lvl.%player-arg%} = 61: set {exp.max.%player-arg%} to 21600 if {lvl.%player-arg%} = 62: set {exp.max.%player-arg%} to 22200 if {lvl.%player-arg%} = 63: set {exp.max.%player-arg%} to 22900 if {lvl.%player-arg%} = 64: set {exp.max.%player-arg%} to 23600 if {lvl.%player-arg%} = 65: set {exp.max.%player-arg%} to 24789 if {lvl.%player-arg%} = 66: set {exp.max.%player-arg%} to 25300 if {lvl.%player-arg%} = 67: set {exp.max.%player-arg%} to 26000 if {lvl.%player-arg%} = 68: set {exp.max.%player-arg%} to 27500 if {lvl.%player-arg%} >= 69: set {exp.max.%player-arg%} to 99999 # #################################### # # W razie zmiany ustawienia maksymal- # # nego poziomu, to należy dodać lub # # usunąć powyższą część kodu jak # # według wzoru. # # UWAGA: ostatnia linijka musi mieć # # znak >= dla niezawodności. # # #################################### # command /exp-ungive [] [] [] []: usage: /exp-give [-s] [-n] permission: admin permission message: {@msg-no-perm} executable by: console and player trigger: if arg 1 is set: set {_p} to arg 1 parsed as player if {_p} is online: if arg 2 is set: if arg 2 > {@max-exp-give-limit}: send "&cPodana ilość expa jest zbyt duża." stop if {exp.%{_p}%} is not set: set {exp.%{_p}%} to 0 if {lvl.%{_p}%} is not set: set {lvl.%{_p}%} to 1 if {exp.max.%{_p}%} is not set: execute console command "/maxexpchange %{_p}%" if {lvl.%{_p}%} >= {@max-lvl}: stop else: set {_arg2} to arg 2 if {@exp-rounding} is true: set {_arg2} to round {_arg2} if {doubleexp} is false: if arg 3 or arg 4 is "-n": set {_x2} to 1 set {_prefix} to "{@prefix-exp}" else: set {_x2} to 1 set {_prefix} to "{@prefix-exp}" if {dxppl.%{_p}%} is set: set {_x2} to 2 set {_prefix} to "{@prefix-doubleexp}" if {doubleexp} is true: if arg 3 or arg 4 is "-n": set {_x2} to 1 set {_prefix} to "{@prefix-exp}" else: set {_x2} to 2 set {_prefix} to "{@prefix-doubleexp}" if {@allow-tripleexp} is true: if {dxppl.%{_p}%} is set: set {_x2} to 3 set {_prefix} to "{@prefix-tripleexp}" if {_arg2} < 0: if {@doubleexp-negative-exp} is false: set {_x2} to 1 set {_prefix} to "{@prefix-exp}" if {exp.%{_p}%} < {exp.max.%{_p}%}: add {_arg2}*{_x2} to {exp.%{_p}%} set {_ilosc} to "%{_arg2}*{_x2}%" if {_arg2} > 0: set {_znak} to "{@exp-give-plus}" if {_arg2} <= 0: set {_znak} to "{@exp-give-minus}" if {exp.%{_p}%} < 0: if {@max-negative-exp} < 0: if {exp.%{_p}%} < {@max-negative-exp}: set {exp.%{_p}%} to {@max-negative-exp} if {@max-negative-exp} >= 0: set {exp.%{_p}%} to 0 if {exp.%{_p}%} >= {exp.max.%{_p}%}: if {@large-exp-mode} is 1: set {_iloscgl.%{_p}%} to {_ilosc}-{exp.max.%{_p}%}-{exp.%{_p}%} add 1 to {lvl.%{_p}%} execute console command "/maxexpchange %{_p}%" loop {@max-lvl} times: if {_iloscgl.%{_p}%} >= {exp.max.%{_p}%}: set {_iloscgl.%{_p}%} to {_iloscgl.%{_p}%}-{exp.max.%{_p}%} add 1 to {lvl.%{_p}%} execute console command "/maxexpchange %{_p}%" if {lvl.%{_p}%} >= {@max-lvl}: stop loop if {_iloscgl.%{_p}%} < {exp.max.%{_p}%}: set {exp.%{_p}%} to {_iloscgl.%{_p}%} stop loop if {@large-exp-mode} is 2: add 1 to {lvl.%{_p}%} execute console command "/maxexpchange %{_p}%" if {lvl.%{_p}%} >= {@max-lvl}: set {exp.%{_p}%} to {exp.max.%{_p}%} else: if {@large-exp-mode} is 2: set {exp.%{_p}%} to 0 send "{@msg-lvl-up}" to {_p} if {@lvlup-lighting-effect} is true: strike lightning effect at {_p} if {@head-level-enabled} is true: execute console command "/scoreboard players set %{_p}% Levels %{lvl.%{_p}%}%" if {@broadcast-lvlup} is true: if {lvl.%{_p}%} is {@distinction-levels}: loop all players: if {_p} is not loop-player: send "{@msg-lvl-up-bc}" to loop-player if {exp.%{_p}%} is -0: set {exp.%{_p}%} to 0 if arg 3 or arg 4 is "-s": stop else: send "{@msg-exp}" to {_p} else: send "&f/exp-give &c &f[-s] [-n]" else: send "{@msg-offline}" else: send "&f/exp-give &c &f [-s] [-n]"