BrckJ6un
Język: Skript
|
Autor: Anonimowy
# ####################################################################################### # # JAK DAWAÆ EXPA ZA WYKONANIE OKREŒLONEJ CZYNNOŒCI ? # # Umieœæ w swoim oddzielnym skrypcie linijkê, która bêdzie wywo³ywaæ komendê: # # execute console command "/exp-give <gracz> <iloœæ> [-s] [-n] [-c]" # # UWAGA: do tego celu musisz mieæ opanowan¹ podstawow¹ znajomoœæ Skripta! # # # # ####################################################################################### # # ####################################################################################### # # USTAWIENIA # # # # Ustaw tryb ustawiania progu maksymalnego expa w zale¿noœci od poziomu u graczy: # # 1 (AUTOMATYCZNIE) = maks. exp bêdzie ustawiany za pomoc¹ dzia³ania matematycznego. # # 2 (RÊCZNIE) = maksymalny exp bêdzie ustawiany rêcznie indywidualnie dla ka¿dego # # poziomu. Ustawienia te znajdziesz na samym dole kodu skryptu! # max-exp-mode: 2 # # # Maksymalny level, który mo¿na zdobyæ. W zale¿noœci od powy¿szego ustawienia: # # - Jeœli MAX-EXP-MODE: 1, to mo¿esz zrobiæ "nieskoñczony" level podaj¹c np 1000. # # - Jeœli MAX-EXP-MODE: 2, to lepiej ograniczyæ level, aby nie przesadziæ (np 30, 50, # # 100). To ustawienie wi¹¿e siê z ustawieniem na samym dole skryptu! UWAGA: zmniej- # # szenie max levela skutkuje cofniêciem leveli u graczy, którzy zdobyli wiêkszy. # max-lvl: 120 # # # [Jeœli MAX-EXP-MODE: 1] Skonstruuj w³asne dzia³anie matematyczne, które bêdzie # # przydziela³o maksymalny exp w zale¿noœci od poziomu. OBJAŒNIENIA: # # - {_lvl} - zmienna z informacj¹ o poziomie gracza. # # - {_maxexp} - zmienna z informacj¹ o bie¿¹cym maksymalnym expie gracza. # # - "+" "-" "*" "/" "(" ")" - operatory do dzia³ania matematycznego. # max-exp-math: 100+({_lvl}-1)*150 # # # [Jeœli MAX-EXP-MODE: 1] Czy maksymalny exp z powy¿szego dzia³ania ma byæ zaokr¹glany? # # Zalecane w przypadku, jeœli dzia³anie matematyczne bêdzie ustawiaæ maksymalny exp # # z liczbami po przecinku (typu 2530.66). # max-exp-math-rounding: false # # # Ustaw funkcjê przydzielania expa podczas zdobycia awansu na kolejny poziom: # # 1 = Reszta expa przechodzi na kolejny poziom. Dodatkowo zapewnione jest wsparcie, # # podczas gdy gracz wbije o 2 lub wiêcej poziomów. Zalecane ustawienie. # # 2 = Exp zostaje wyzerowany. Niezale¿nie od iloœci zdobytego expa, poziom mo¿na # # zwiêkszyæ tylko o 1. # large-exp-mode: 1 # # # Ustaw najwa¿niejsze wiadomoœci wyœwietlane na czacie. Staraj siê nie ruszaæ # # zmiennych. Resztê wiadomoœci mo¿na ustawiæ ni¿ej w kodzie skryptu. # msg-no-perm: &4Nie masz dostêpu do tej komendy. msg-not-found: &4Nie odnaleziono gracza. msg-lvl-set: &7[&8Lvl %{_p}%&7] &aUstawiono na: &e%{lv::%{_p}%}% &6[&c%{xp::%{_p}%}%&9/&3%{mxp::%{_p}%}%&6] msg-lvl-set-prev: &7[&8Lvl %{_p}%&7] &8Poprzednio: &7%{_lv::%{_p}%}% &8[&7%{_xp::%{_p}%}%&8/&7%{_mxp::%{_p}%}%&8] msg-exp: &7[&8%{_exp}%&7] %{_znak}%%{_ilosc}% &6[&c%{xp::%{_p}%}%&9/&3%{mxp::%{_p}%}%&6] msg-exp-other: &7[&8%{_exp}% %{_p}%&7] %{_znak}%%{_ilosc}% &6[&c%{xp::%{_p}%}%&9/&3%{mxp::%{_p}%}%&6] &2Poziom: &e%{lv::%{_p}%}% msg-lvl-up: &6&lLVL &8» &2Awansowales na poziom: &e%{lv::%{_p}%}% msg-lvl-change: &5&lTwój poziom zosta³ zmieniony na: &6&l%{lv::%{_p}%}%&5&l. msg-lvl-up-bc: &6&lLVL &8» &2%{_p}% &7awansowal na poziom &e%{lv::%{_p}%}%! msg-multiplier-warn-on: &eFunkcja %{_exp}% teraz jest &aaktywna&e. msg-multiplier-warn-off: &eFunkcja %{_exp}% teraz jest &cnieaktywna&e. msg-multiplier-on: &8&l&fMinelo kolejne 1440 minut! &6&l msg-multiplier-off: &7&l%{_exp}% &7zosta³ &czdezaktywowany&7! # # # [Ustawienie odwo³uje do opcji MSG-EXP i MSG-EXP-OTHER] Ustaw formatowanie znaków "+" # # i "-" dla zmiennej {_znak} w zale¿noœci czy exp zosta³ dodany lub zabrany u gracza. # # UWAGA: dla expa ujemnego nie ma koniecznoœci wpisywania "-" bo jest ju¿ wyœwietlany! # exp-give-plus: &2+ exp-give-minus: &4 # # # [Ustawienie odwo³uje do opcji z pocz¹tkowymi nazwami MSG] Ustaw nazwy trybów mno¿nika # # expa dla zmiennej {_exp}. # exp-name: Exp multiplier-1-name: DoubleExp multiplier-2-name: TripleExp # # # Ustaw przez ile ma byæ mno¿ony exp, gdy mno¿nik expa jest w³¹czony. Dozwolone # # wiêksze od 1 (np. 1.25, 1.5, 2, 3). # exp-multiplier-1: 2 exp-multiplier-2: 3 # # # Czy administracja po wejœciu na serwer ma byæ informowana o w³¹czonym mno¿niku expa? # multiplier-warn: true # # # Czy wszyscy gracze maj¹ byæ poinformowani o w³¹czanym lub wy³¹czanym mno¿niku expa? # multiplier-bc: false # # # Ustaw, czy mno¿nik expa 2 ma byæ aktywowany u gracza, jeœli gracz posiada # # indywidualny mno¿nik expa oraz mno¿nik expa globalny jest w³¹czony. # allow-multiplier-2: false # # # Czy ma byæ wyœwietlana wiadomoœæ do wszystkich graczy, gdy gracz awansowa³ na poziom? # # Czy ka¿dy poziom ma byæ wyró¿niany? Jeœli nie to wska¿, które poziomy maj¹ byæ # # wyró¿niane. Zamiast przecinka u¿yj "or". # broadcast-lvlup: true bc-each-level: false distinction-levels: 15 or 30 or 40 or 50 # # # Czy po zdobyciu kolejnego poziomu ma byæ u¿yty efekt (nieszkodliwego) pioruna? # lvlup-lighting-effect: true # # # Ustaw ograniczenie dla komendy /exp-give dotycz¹ce maksymalnej liczby expa. # max-exp-give-limit: 4999999999999999999 # # # Ustaw maksymalny ujemny exp wpisuj¹c liczbê mniejsz¹ ni¿ 0 (np. -100). Wartoœæ 0 # # (domyœlnie) wy³¹cza t¹ funkcjonalnoœæ. Ta funkcja mo¿e nieco zwiêkszyæ trudnoœæ # # zdobywania expa, jeœli decydujesz siê na zabieranie expa za np. przegranie walki. # max-negative-exp: 0 # # # Ustaw, czy mno¿nik expa ma podwajaæ tak¿e expa ujemnego. Jeœli tak, to mo¿e zwiêkszyæ # # trudnoœæ zdobywania expa, choæ jest równowaga, jeœli gracz zdobywa te¿ dodatni exp. # multiplier-negative-exp: false # # # Ustaw, czy exp ma byæ zaokr¹glany podczas przydzielania dla gracza. # exp-rounding: false # # # Czy Minecraftowy pasek poziomu ma wskazywaæ poziom oraz exp ze skryptu? Zalecane # # ustawienie, jeœli na twoim serwerze nie funkcjonuj¹ zielone kulki expa. UWAGA: w³¹- # # czenie ustawienia spowoduje utratê Minecraftowego levela u wszystkich graczy! # use-levels-bar: false # # # [Jeœli USE-LEVELS-BAR: true] Czy dropienie zielonych kulek expa ma byæ wy³¹czone? Czy # # u¿ywanie enchantu i kowad³a ma byæ zablokowane? Nie dotyczy to trybu gry creative. # disable-xp-orb: true disable-enchant: true disable-anvil: true # # # Czy formatowanie nicków na TAB liœcie ma byæ u¿ywane? Ustaw tak¿e formatowanie. # # UWAGA: W starszych wersjach MC wystêpuje ograniczenie znaków do 16! # tab-list-nick-enabled: false tab-list-nick-format: &8[&7%{lv::%player-arg%}%&8] &r # # # Czy formatowanie nicku nad g³ow¹ graczy ma byæ u¿ywane? Ustaw tak¿e formatowanie. # # UWAGA: domyœlnie ta funkcja jest zablokowana, poniewa¿ wymaga dodatku WildSkript, a # # nastêpnie odblokowania wy³¹czonych linijek w kodzie w wyznaczonym miejscu! # # UWAGA: W starszych wersjach MC wystêpuje ograniczenie znaków do 16! # head-nick-enabled: false head-nick-format: &8[&7%{lv::%player-arg%}%&8] &r # # # Ustaw, czy level ma byæ wyœwietlany nad g³ow¹ graczy, ale w linijce pod nazw¹ gracza. # # UWAGA: ta funkcja wykorzystuje funkcjê scoreboard z Minecrafta, wiêc level mo¿e nie # # byæ od razu wyœwietlany. W celu prawid³owego dzia³ania nicki graczy musz¹ byæ odœwie- # # ¿ane dziêki funkcji dostêpnej z pod opcji HEAD-NICK-ENABLED (niezale¿nie od wartoœci # # TRUE lub FALSE), która wymaga WildSkript. Ustaw tak¿e skrót, który bêdzie oznacza³ # # poziom - kolory nieobs³ugiwane! UWAGA: jeœli zmieniasz nazwê tego skrótu, to prze³¹cz # # opcjê na FALSE (restart) i ponownie na TRUE (restart) w celu zastosowania zmian! # # UWAGA: ta funkcja mo¿e stwarzaæ spam w konsoli w zale¿noœci od iloœci graczy!!! # head-level-enabled: false head-level-suffix: Lvl # # # Ustaw co ile sekund nicki nad g³ow¹ gracza i na TAB liœcie maj¹ byæ odœwie¿ane. # nick-refresh: 1 # # # Ustaw, czy chcesz u¿ywaæ formatowania czatu ze skryptu (umo¿liwiaj¹ce wyœwietlanie # # levela obok nicku)? Dodatkowo nale¿y ustawiæ formatowania czatu poni¿ej. # use-Levels-chat: true # # # Ustaw format czatu, aby level by³ wyœwietlany obok nicku ze zmiennej {lvl::%player%}. # # Ustaw dla ka¿dej z rang formatowanie czatu, a tak¿e nadaj uprawnienie, które wykorzy- # # stasz w pluginie na uprawniena (np. PermissionsEx). UWAGA: proszê nadawaæ priorytet # # rangi definiuj¹c w kolejnoœci rosn¹cej - do najwy¿szego stopnia (admin). Jeœli gracz # # posiada wiele rang, to ma przydzielany format czatu z rangi o wy¿szym priorytecie. # # * GRUPA 1 [Zwykli gracze, którzy nie potrzebuj¹ dodatkowych uprawnieñ] # chat-default: &8[&4Lv. &c%{lv::%player%}%&8] &7%player% &8» &7%{_message}% # * GRUPA 2 # chat-group-2: &8[&4Lv. &c%{lv::%player%}%&8] &6✖ PREMIUM ✖ &6%player% &8» &6%{_message}% permission-group-2: premium.sk # * GRUPA 3 # chat-group-3: &8[&4Lv. &c%%{lv::%player%}%&8] &d✖ HELPER ✖ &d%player% &8» &f%{_message}% permission-group-3: helper.sk # * GRUPA 4 # chat-group-4: &8[&4Lv. &c%{lv::%player%}%&8] &f&8[&2BudMod&8] &f&a%player% &8>> &f&2%{_message}% permission-group-4: budowniczy.sk # * GRUPA 5 # chat-group-5: &8[&4Lv. &c%{lv::%player%}%&8] &A✖ KIDMOD ✖ &A%player% &8» &f%{_message}% permission-group-5: kidmod.sk # * GRUPA 6 # chat-group-6: &8[&4Lv. &c%{lv::%player%}%&8] &2✖ MODERATOR ✖ &2%player% &8» &f%{_message}% permission-group-6: mod.sk # * GRUPA 7 # chat-group-7: &8[&7%{lv::%player%}%&8] &2&l[&a&lModerator+&2&l] &f&2%player% &8>> &f&a%{_message}% permission-group-7: mod+.sk # * GRUPA 8 # chat-group-8: &8[&4Lv. &c%lv::%player%&8] &9✖ OPIEKUN ✖ &9%player% &8» &f%{_message}% permission-group-8: opiekun.sk # * GRUPA 10 [Domyœlnie OP (g³ówni administratorzy), którzy posiadaj¹ ju¿ uprawnienia] # chat-op: &8[&4Lv. &c%lv::%player%&8] &4✖ WLASCICIEL ✖ &4%player% &8» &4%{_message}% # # # Ustaw, jakie rangi 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. Jeœli # # ¿adna z rang nie bêdzie u¿ywaæ kolorów, to podaj uprawnienie, które nie bêdzie u¿yte. # allow-use-colors-for-groups: "administrator" or "moderator" # * Czy domyœlni gracze (bez uprawnieñ) mog¹ u¿ywaæ kolorów? # allow-use-colors-for-default-players: false # * 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: false # # # ####################################################################################### # # ############################# # # Zmienne, czat, zabezpieczenia # # i inne funkcje # # ############################# # # *** RESETOWANIE POSTÊPÓW GRACZY *** # Odblokuj poni¿sz¹ czêœæ kodu, aby zresetowaæ WSZYSTKIE postêpy graczy, zrestartuj skrypt, # a nastêpnie zablokuj ten kod i ponownie zrestartuj skrypt. Rekomendowany restart serwera. #on load: # delete {lv::*} # delete {xp::*} # delete {mxp::*} # wait 3 second # execute console command "restart" # ################################################################################## # # OBJAŒNIENIA ZMIENNYCH # # {lv::%player%} - poziom {xp::%player%} - exp {mxp::%player%} - max exp # # ################################################################################## # variables: {expmultiplier} = false on chat: if {klasa.%player%} is set: cancel event broadcast "&8[&4Lv. &c%{lv::%player%}%&8] &e&o%{klasa.%player%}% %colored display name of player% &8» &f%colored message%" stop else: cancel event broadcast "&8[&4Lv. &c%{lv::%player%}%&8] %colored display name of player% &8» &f%colored message%" every 10 tick: loop all players: {@use-levels-bar} is true {lv::%loop-player%} is set if loop-player's level progress is not {xp::%loop-player%}/{mxp::%loop-player%}: if {xp::%loop-player%} <= 0: set loop-player's level progress to 0 else: set loop-player's level progress to {xp::%loop-player%}/{mxp::%loop-player%} if loop-player's level is not {lv::%loop-player%}: set the loop-player's level to {lv::%loop-player%} every 3 second: loop all players: if {lv::%loop-player%} is not set: set {xp::%loop-player%} to 0 set {lv::%loop-player%} to 1 execute console command "/maxexpchange %loop-player%" if {lv::%loop-player%} > {@max-lvl}: set {lv::%loop-player%} to {@max-lvl}-1 execute console command "/maxexpchange %loop-player%" set {xp::%loop-player%} to {mxp::%loop-player%} set {lv::%loop-player%} to {@max-lvl} else if {lv::%loop-player%} is not {@max-lvl}: if {xp::%loop-player%} = {mxp::%loop-player%}: set {xp::%loop-player%} to 0 execute console command "/maxexpchange %loop-player%" if {dxppl.%loop-player%} < now: delete {dxppl.%loop-player%} on join: if {lv::%player%} is not set: set {xp::%player%} to 0 set {lv::%player%} to 1 execute console command "/maxexpchange %player%" if {@head-level-enabled} is true: execute console command "/scoreboard players set %player% Levels %{lv::%player%}%" if {@multiplier-warn} is true: player has permission "admin" wait 1 second {expmultiplier} is true set {_exp} to "{@multiplier-1-name}" send "{@msg-multiplier-warn-on}" to player on experience spawn: if {@use-levels-bar} is true: if {@disable-xp-orb} is true: cancel event on rightclick: {@use-levels-bar} is true player's gamemode is not creative if {@disable-enchant} is true: if "%id of clicked block%" is "116": cancel event if {@disable-anvil} is true: if "%id of clicked block%" is "145": cancel event every {@nick-refresh} second: loop all players: execute console command "/levels-set-nick %loop-player%" command /levels-set-nick [<player>]: 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 %{lv::%loop-player%}%" if {@head-level-enabled} is false: execute console command "/scoreboard objectives remove Levels" command /levels [<text>] [<text>]: permission: admin permission message: {@msg-no-perm} executable by: console and player trigger: if arg 1 is not set: send "&5&l&m===================&r&5&l[&2&lLevels&5&l]&5&l&m===================" send "&c/poziom [gracz] &9- &3Wyœwietla aktualny poziom i postêp expa." send "&c/exp-multiplier [sprawdŸ] &9- &3Aktywuje/dezaktywuje mno¿nik expa x{@exp-multiplier-1}." send "&c/exp-multiplier-player <gracz> <on|off|czas w minutach|sprawdŸ> &9- &3Aktywuje mno¿nik expa indywidualnie u gracza." send "&c/level-set <gracz> <poziom> [-s] &9- &3Zmienia aktualny poziom gracza. Wpisanie &l-s &3wy³¹cza informacjê u docelowego gracza." send "&c/exp-give <gracz> <iloœæ> [-s] [-n] [-c] &9- &3Dodaje expa u gracza. Wpisanie &l-s &3wy³¹cza informacjê na czacie, &l-n &3ignoruje DoubleExpa, &l-c &3wymusza wyœwietlenie informacji dla konsoli." send "&5&l&m=============================================" command /poziom [<text>]: 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 offlineplayer else: send "{@msg-no-perm}" stop if executor is console: set {_p} to arg 1 parsed as offlineplayer if arg 1 is not set: if executor is player: set {_p} to player if executor is console: send "&f/poziom &c<gracz>" stop if {lv::%{_p}%} is set: # Tutaj sformatuj wygl¹d wyœwietlania statystyk # send "&5&l&m===============================" send "&6Statystyki %{_p}%:" send " &2Poziom: &e%{lv::%{_p}%}%" send " &2Exp: &c%{xp::%{_p}%}%&9/&3%{mxp::%{_p}%}%" if {lv::%{_p}%} < {@max-lvl}: send " &2Do awansu potrzeba: &c%{mxp::%{_p}%}-{xp::%{_p}%}% &2expa" send "&5&l&m===============================" if {dxppl.%{_p}%} < now: delete {dxppl.%{_p}%} else: send "{@msg-not-found}" command /exp-multiplier [<text>]: aliases: /double-exp, /doubleexp, /double permission: admin permission message: {@msg-no-perm} executable by: console and player trigger: set {_exp} to "{@multiplier-1-name}" if arg 1 is not set: if {expmultiplier} is false: set {expmultiplier} to true if {@multiplier-bc} is false: send "{@msg-multiplier-on}" else: broadcast "{@msg-multiplier-on}" stop else: set {expmultiplier} to false if {@multiplier-bc} is false: send "{@msg-multiplier-off}" else: broadcast "{@msg-multiplier-off}" else: if arg 1 is "sprawdz" or "sprawdŸ" or "check": if {expmultiplier} is false: send "{@msg-multiplier-warn-off}" else: send "{@msg-multiplier-warn-on}" else: send "&f/exp-multiplier &c[sprawdŸ]" command /exp-multiplierr [<text>]: aliases: /double-exp, /doubleexp, /double permission: admin permission message: {@msg-no-perm} executable by: console and player trigger: set {_exp} to "{@multiplier-1-name}" if arg 1 is not set: if {expmultiplier} is false: set {expmultiplier} to true if {@multiplier-bc} is false: send "{@msg-multiplier-on}" else: broadcast "{@msg-multiplier-on}" stop else: set {expmultiplier} to false if {@multiplier-bc} is false: send "{@msg-multiplier-off}" else: broadcast "{@msg-multiplier-off}" else: if arg 1 is "sprawdz" or "sprawdŸ" or "check": if {expmultiplier} is false: send "{@msg-multiplier-warn-off}" else: send "{@msg-multiplier-warn-on}" else: send "&f/exp-multiplier &c[sprawdŸ]" command /exp-multiplier-player [<text>] [<text>]: aliases: /dxppl, /double-exp-player, /doubleexp-player permission: admin permission message: {@msg-no-perm} executable by: console and player trigger: if arg 1 is not set: send "&f/exp-multiplier-player &c<gracz> &f<on|off|czas w minutach|sprawdŸ>" stop set {_p} to arg 1 parsed as offlineplayer if {lv::%{_p}%} is not set: send "{@msg-not-found}" stop if {dxppl.%{_p}%} < now: delete {dxppl.%{_p}%} if arg 2 is not set: send "&f/exp-multiplier-player <gracz> &c<on|off|czas w minutach|sprawdŸ>" stop if arg 2 is "on" or "true" or "enable": set {dxppl.%{_p}%} to -1 executor is player send "&aAktywowano indywidualny mno¿nik expa dla %{_p}% na sta³e." if arg 2 is "off" or "false" or "disable": if {dxppl.%{_p}%} is set: delete {dxppl.%{_p}%} send "&aZdezaktywowano indywidualny mno¿nik expa dla %{_p}%." else: send "&c%{_p}% nie u¿ywa indywidualnego mno¿nika expa." if arg 2 is "sprawdz" or "sprawdŸ" or "check": if {dxppl.%{_p}%} is not set: send "&e%{_p}% nie u¿ywa indywidualnego mno¿nika expa." else: if {dxppl.%{_p}%} is -1: send "&e%{_p}% ma aktywowany mno¿nik expa na sta³e." if {dxppl.%{_p}%} is not -1: send "&e%{_p}% ma aktywowany mno¿nik expa do %{dxppl.%{_p}%}%." if arg 2 is not "on" or "true" or "enable" or "off" or "false" or "disable" or "sprawdz" or "sprawdŸ" or "check": set {_arg2} to arg 2 parsed as integer if {_arg2} is integer: if {_arg2} is not between 1 and 525600: send "&cPodany czas w minutach musi byæ w zakresie od 1 do 525600." stop if {dxppl.%{_p}%} is not set: set {dxppl.%{_p}%} to now if {dxppl.%{_p}%} is -1: set {dxppl.%{_p}%} to now set {_time} to "%{_arg2}% minutes" parsed as timespan add {_time} to {dxppl.%{_p}%} send "&aAktywowano indywidualny mno¿nik expa dla %{_p}% do %{dxppl.%{_p}%}%." else: send "&f/exp-multiplier-player <gracz> &c<on|off|czas w minutach|sprawdŸ>" command /level-set [<text>] [<text>] [<text>]: aliases: /lvl-set, /lv-set usage: /level-set <gracz> <poziom> [-s] permission: admin permission message: {@msg-no-perm} executable by: console and player trigger: if arg 1 is not set: send "&f/level-set &c<gracz> &f<poziom> [-s]" stop set {_p} to arg 1 parsed as offlineplayer if {lv::%{_p}%} is not set: send "{@msg-not-found}" stop if arg 2 is not set: send "&f/level-set <gracz> &c<poziom> &f[-s]" stop set {_i} to arg 2 parsed as integer if {_i} is not between 1 and {@max-lvl}: send "&cPodany level musi byæ w zakresie od 1 do {@max-lvl}." stop if {dxppl.%{_p}%} < now: delete {dxppl.%{_p}%} set {_lv::%{_p}%} to "%{lv::%{_p}%}%" set {_xp::%{_p}%} to {xp::%{_p}%} set {_mxp::%{_p}%} to {mxp::%{_p}%} set {lv::%{_p}%} to {_i} if {lv::%{_p}%} = {@max-lvl}: set {lv::%{_p}%} to {lv::%{_p}%}-1 execute console command "/maxexpchange %{_p}%" set {xp::%{_p}%} to {mxp::%{_p}%} set {lv::%{_p}%} to {@max-lvl} else: execute console command "/maxexpchange %{_p}%" set {xp::%{_p}%} to 0 send "{@msg-lvl-set}" if {_lv::%{_p}%} is not "<none>": send "{@msg-lvl-set-prev}" if {@head-level-enabled} is true: execute console command "/scoreboard players set %{_p}% Levels %{lv::%{_p}%}%" if arg 3 is "-s": stop if executor is player: if player is not {_p}: send "{@msg-lvl-change}" to {_p} if executor is console: send "{@msg-lvl-change}" to {_p} command /exp-give [<text>] [<number>] [<text>] [<text>] [<text>]: usage: /exp-give <gracz> <iloœæ> [-s] [-n] [-c] permission: admin permission message: {@msg-no-perm} executable by: console and player trigger: if arg 1 is not set: send "&f/exp-give &c<gracz> &f<iloœæ> [-s] [-n] [-c]" stop set {_p} to arg 1 parsed as offlineplayer if {lv::%{_p}%} is not set: send "{@msg-not-found}" stop if arg 2 is not set: send "&f/exp-give <gracz> &c<iloœæ> &f[-s] [-n] [-c]" stop if arg 2 > {@max-exp-give-limit}: send "&cPodana iloœæ expa jest zbyt du¿a." stop if arg 2 < -{@max-exp-give-limit}: send "&cPodana iloœæ expa jest zbyt du¿a." stop if {dxppl.%{_p}%} < now: delete {dxppl.%{_p}%} {lv::%{_p}%} < {@max-lvl} set {_arg2} to arg 2 if {@exp-rounding} is true: set {xp::%{_p}%} to round {xp::%{_p}%} set {_arg2} to round up {_arg2} if {expmultiplier} is false: if arg 3 or arg 4 or arg 5 is "-n": set {_x2} to 1 set {_exp} to "{@exp-name}" else: set {_x2} to 1 set {_exp} to "{@exp-name}" if {dxppl.%{_p}%} is set: set {_x2} to {@exp-multiplier-1} set {_exp} to "{@multiplier-1-name}" if {expmultiplier} is true: if arg 3 or arg 4 or arg 5 is "-n": set {_x2} to 1 set {_exp} to "{@exp-name}" else: set {_x2} to {@exp-multiplier-1} set {_exp} to "{@multiplier-1-name}" if {@allow-multiplier-2} is true: if {dxppl.%{_p}%} is set: set {_x2} to {@exp-multiplier-2} set {_exp} to "{@multiplier-2-name}" if {_arg2} < 0: if {@multiplier-negative-exp} is false: set {_x2} to 1 set {_exp} to "{@exp-name}" set {_prexp::%{_p}%} to {xp::%{_p}%} if {xp::%{_p}%} < {mxp::%{_p}%}: add {_arg2}*{_x2} to {xp::%{_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 {xp::%{_p}%} < 0: if {@max-negative-exp} <= 0: if {xp::%{_p}%} < {@max-negative-exp}: if {_prexp::%{_p}%} < {@max-negative-exp}: set {xp::%{_p}%} to {_prexp::%{_p}%} else: set {xp::%{_p}%} to {@max-negative-exp} if {xp::%{_p}%} >= {mxp::%{_p}%}: if {@large-exp-mode} is 1: set {_iloscgl.%{_p}%} to {_ilosc}-{mxp::%{_p}%}-{xp::%{_p}%} add 1 to {lv::%{_p}%} execute console command "/maxexpchange %{_p}%" loop {@max-lvl} times: if {_iloscgl.%{_p}%} >= {mxp::%{_p}%}: set {_iloscgl.%{_p}%} to {_iloscgl.%{_p}%}-{mxp::%{_p}%} add 1 to {lv::%{_p}%} execute console command "/maxexpchange %{_p}%" if {lv::%{_p}%} >= {@max-lvl}: stop loop if {_iloscgl.%{_p}%} < {mxp::%{_p}%}: set {xp::%{_p}%} to {_iloscgl.%{_p}%} stop loop if {@large-exp-mode} is 2: add 1 to {lv::%{_p}%} execute console command "/maxexpchange %{_p}%" if {lv::%{_p}%} >= {@max-lvl}: set {xp::%{_p}%} to {mxp::%{_p}%} set {lv::%{_p}%} to {@max-lvl} else: if {@large-exp-mode} is 2: set {xp::%{_p}%} to 0 send "{@msg-lvl-up}" to {_p} if {@lvlup-lighting-effect} is true: strike lightning effect at location of {_p} if {@head-level-enabled} is true: execute console command "/scoreboard players set %{_p}% Levels %{lv::%{_p}%}%" if {@broadcast-lvlup} is true: if {@bc-each-level} is true: set {_bclvlup} to true if {lv::%{_p}%} is {@distinction-levels}: set {_bclvlup} to true if {_bclvlup} is set: loop all players: if {_p} is not loop-player: send "{@msg-lvl-up-bc}" to loop-player if {xp::%{_p}%} is -0: set {xp::%{_p}%} to 0 if executor is player: if player is not {_p}: send "{@msg-exp-other}" if arg 3 or arg 4 or arg 5 is "-c": if executor is console: send "{@msg-exp-other}" if arg 3 or arg 4 or arg 5 is "-s": stop else: send "{@msg-exp}" to {_p} command /maxexpchange [<text>]: executable by: console trigger: set {_p} to arg 1 parsed as offlineplayer {lv::%{_p}%} is set if {@max-exp-mode} is 1: set {_lvl} to "%{lv::%{_p}%}%" parsed as integer set {_maxexp} to "%{mxp::%{_p}%}%" parsed as number set {mxp::%{_p}%} to {@max-exp-math} if {@max-exp-math-rounding} is true: set {mxp::%{_p}%} to round {@max-exp-math} stop if {@max-exp-mode} is 2: if {lv::%{_p}%} = 1: set {mxp::%{_p}%} to 50 if {lv::%{_p}%} = 2: set {mxp::%{_p}%} to 100 if {lv::%{_p}%} = 3: set {mxp::%{_p}%} to 150 if {lv::%{_p}%} = 4: set {mxp::%{_p}%} to 200 if {lv::%{_p}%} = 5: set {mxp::%{_p}%} to 250 if {lv::%{_p}%} = 6: set {mxp::%{_p}%} to 300 if {lv::%{_p}%} = 7: set {mxp::%{_p}%} to 350 if {lv::%{_p}%} = 8: set {mxp::%{_p}%} to 400 if {lv::%{_p}%} = 9: set {mxp::%{_p}%} to 450 if {lv::%{_p}%} = 10: set {mxp::%{_p}%} to 500 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 10 Poziom!!" if {lv::%{_p}%} = 11: set {mxp::%{_p}%} to 600 if {lv::%{_p}%} = 12: set {mxp::%{_p}%} to 700 if {lv::%{_p}%} = 13: set {mxp::%{_p}%} to 800 if {lv::%{_p}%} = 14: set {mxp::%{_p}%} to 900 if {lv::%{_p}%} = 15: set {mxp::%{_p}%} to 1000 if {lv::%{_p}%} = 16: set {mxp::%{_p}%} to 1100 if {lv::%{_p}%} = 17: set {mxp::%{_p}%} to 1200 if {lv::%{_p}%} = 18: set {mxp::%{_p}%} to 1300 if {lv::%{_p}%} = 19: set {mxp::%{_p}%} to 1500 if {lv::%{_p}%} = 20: set {mxp::%{_p}%} to 2000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 20 Poziom!!" if {lv::%{_p}%} = 21: set {mxp::%{_p}%} to 3000 if {lv::%{_p}%} = 22: set {mxp::%{_p}%} to 4000 if {lv::%{_p}%} = 23: set {mxp::%{_p}%} to 5000 if {lv::%{_p}%} = 24: set {mxp::%{_p}%} to 6000 if {lv::%{_p}%} = 25: set {mxp::%{_p}%} to 7000 if {lv::%{_p}%} = 26: set {mxp::%{_p}%} to 8000 if {lv::%{_p}%} = 27: set {mxp::%{_p}%} to 9000 if {lv::%{_p}%} = 28: set {mxp::%{_p}%} to 10000 if {lv::%{_p}%} = 29: set {mxp::%{_p}%} to 20000 if {lv::%{_p}%} = 30: set {mxp::%{_p}%} to 30000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 30 Poziom!!" if {lv::%{_p}%} = 31: set {mxp::%{_p}%} to 40000 if {lv::%{_p}%} = 32: set {mxp::%{_p}%} to 50000 if {lv::%{_p}%} = 33: set {mxp::%{_p}%} to 60000 if {lv::%{_p}%} = 34: set {mxp::%{_p}%} to 70000 if {lv::%{_p}%} = 35: set {mxp::%{_p}%} to 80000 if {lv::%{_p}%} = 36: set {mxp::%{_p}%} to 90000 if {lv::%{_p}%} = 37: set {mxp::%{_p}%} to 100000 if {lv::%{_p}%} = 38: set {mxp::%{_p}%} to 200000 if {lv::%{_p}%} = 39: set {mxp::%{_p}%} to 300000 if {lv::%{_p}%} = 40: set {mxp::%{_p}%} to 400000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 40 Poziom!!" if {lv::%{_p}%} = 41: set {mxp::%{_p}%} to 500000 if {lv::%{_p}%} = 42: set {mxp::%{_p}%} to 600000 if {lv::%{_p}%} = 43: set {mxp::%{_p}%} to 700000 if {lv::%{_p}%} = 44: set {mxp::%{_p}%} to 800000 if {lv::%{_p}%} = 45: set {mxp::%{_p}%} to 900000 if {lv::%{_p}%} = 46: set {mxp::%{_p}%} to 1000000 if {lv::%{_p}%} = 47: set {mxp::%{_p}%} to 2000000 if {lv::%{_p}%} = 48: set {mxp::%{_p}%} to 3000000 if {lv::%{_p}%} = 49: set {mxp::%{_p}%} to 4000000 if {lv::%{_p}%} = 50: set {mxp::%{_p}%} to 5000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 50 Poziom!!" if {lv::%{_p}%} = 51: set {mxp::%{_p}%} to 6000000 if {lv::%{_p}%} = 52: set {mxp::%{_p}%} to 7000000 if {lv::%{_p}%} = 53: set {mxp::%{_p}%} to 8000000 if {lv::%{_p}%} = 54: set {mxp::%{_p}%} to 9000000 if {lv::%{_p}%} = 55: set {mxp::%{_p}%} to 9000000 if {lv::%{_p}%} = 56: set {mxp::%{_p}%} to 10000000 if {lv::%{_p}%} = 57: set {mxp::%{_p}%} to 20000000 if {lv::%{_p}%} = 58: set {mxp::%{_p}%} to 30000000 if {lv::%{_p}%} = 59: set {mxp::%{_p}%} to 40000000 if {lv::%{_p}%} = 60: set {mxp::%{_p}%} to 50000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 60 Poziom!!" if {lv::%{_p}%} = 61: set {mxp::%{_p}%} to 60000000 if {lv::%{_p}%} = 62: set {mxp::%{_p}%} to 70000000 if {lv::%{_p}%} = 63: set {mxp::%{_p}%} to 80000000 if {lv::%{_p}%} = 64: set {mxp::%{_p}%} to 90000000 if {lv::%{_p}%} = 65: set {mxp::%{_p}%} to 100000000 if {lv::%{_p}%} = 66: set {mxp::%{_p}%} to 200000000 if {lv::%{_p}%} = 67: set {mxp::%{_p}%} to 300000000 if {lv::%{_p}%} = 68: set {mxp::%{_p}%} to 400000000 if {lv::%{_p}%} = 69: set {mxp::%{_p}%} to 500000000 if {lv::%{_p}%} = 70: set {mxp::%{_p}%} to 600000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 70 Poziom!!" if {lv::%{_p}%} = 71: set {mxp::%{_p}%} to 700000000 if {lv::%{_p}%} = 72: set {mxp::%{_p}%} to 800000000 if {lv::%{_p}%} = 73: set {mxp::%{_p}%} to 900000000 if {lv::%{_p}%} = 74: set {mxp::%{_p}%} to 1000000000 if {lv::%{_p}%} = 75: set {mxp::%{_p}%} to 2000000000 if {lv::%{_p}%} = 76: set {mxp::%{_p}%} to 3000000000 if {lv::%{_p}%} = 77: set {mxp::%{_p}%} to 4000000000 if {lv::%{_p}%} = 78: set {mxp::%{_p}%} to 5000000000 if {lv::%{_p}%} = 79: set {mxp::%{_p}%} to 6000000000 if {lv::%{_p}%} = 80: set {mxp::%{_p}%} to 7000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 80 Poziom!!" if {lv::%{_p}%} = 81: set {mxp::%{_p}%} to 8000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 81 Poziom!!" if {lv::%{_p}%} = 82: set {mxp::%{_p}%} to 9000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 82 Poziom!!" if {lv::%{_p}%} = 83: set {mxp::%{_p}%} to 10000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 83 Poziom!!" if {lv::%{_p}%} = 84: set {mxp::%{_p}%} to 20000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 84 Poziom!!" if {lv::%{_p}%} = 85: set {mxp::%{_p}%} to 30000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 85 Poziom!!" if {lv::%{_p}%} = 86: set {mxp::%{_p}%} to 40000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 86 Poziom!!" if {lv::%{_p}%} = 87: set {mxp::%{_p}%} to 50000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 87 Poziom!!" if {lv::%{_p}%} = 88: set {mxp::%{_p}%} to 60000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 88 Poziom!!" if {lv::%{_p}%} = 89: set {mxp::%{_p}%} to 70000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 89 Poziom!!" if {lv::%{_p}%} = 90: set {mxp::%{_p}%} to 80000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 90 Poziom!!" if {lv::%{_p}%} = 91: set {mxp::%{_p}%} to 90000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 91 Poziom!!" if {lv::%{_p}%} = 92: set {mxp::%{_p}%} to 100000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 92 Poziom!!" if {lv::%{_p}%} = 93: set {mxp::%{_p}%} to 200000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 93 Poziom!!" if {lv::%{_p}%} = 94: set {mxp::%{_p}%} to 300000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 94 Poziom!!" if {lv::%{_p}%} = 95: set {mxp::%{_p}%} to 400000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 95 Poziom!!" if {lv::%{_p}%} = 96: set {mxp::%{_p}%} to 500000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 96 Poziom!!" if {lv::%{_p}%} = 97: set {mxp::%{_p}%} to 600000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 97 Poziom!!" if {lv::%{_p}%} = 98: set {mxp::%{_p}%} to 700000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 98 Poziom!!" if {lv::%{_p}%} = 99: set {mxp::%{_p}%} to 800000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 99 Poziom!!" if {lv::%{_p}%} = 100: set {mxp::%{_p}%} to 900000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 100 Poziom!!" if {lv::%{_p}%} = 101: set {mxp::%{_p}%} to 1000000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 101 Poziom!!" if {lv::%{_p}%} = 102: set {mxp::%{_p}%} to 2000000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 102 Poziom!!" if {lv::%{_p}%} = 103: set {mxp::%{_p}%} to 3000000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 103 Poziom!!" if {lv::%{_p}%} = 104: set {mxp::%{_p}%} to 4000000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 104 Poziom!!" if {lv::%{_p}%} = 105: set {mxp::%{_p}%} to 5000000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 105 Poziom!!" if {lv::%{_p}%} = 106: set {mxp::%{_p}%} to 6000000000000 send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 106 Poziom!!" if {lv::%{_p}%} = 107: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 107 Poziom!!" if {lv::%{_p}%} = 108: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 108 Poziom!!" if {lv::%{_p}%} = 109: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 109 Poziom!!" if {lv::%{_p}%} = 110: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 110 Poziom!!" if {lv::%{_p}%} = 111: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 111 Poziom!!" if {lv::%{_p}%} = 112: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 112 Poziom!!" if {lv::%{_p}%} = 113: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 113 Poziom!!" if {lv::%{_p}%} = 114: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 114 Poziom!!" if {lv::%{_p}%} = 115: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 115 Poziom!!" if {lv::%{_p}%} = 116: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 116 Poziom!!" if {lv::%{_p}%} = 117: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 117 Poziom!!" if {lv::%{_p}%} = 118: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 118 Poziom!!" if {lv::%{_p}%} = 119: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 119 Poziom!!" if {lv::%{_p}%} = 120: send all players title "&4&l%{_p}%" with subtitle "&6&lOsiagnal wlasnie 120 Poziom!!" options: refresh: 1 every {@refresh} second: loop all players: set loop-player's level to {lv::%loop-player%} command /tag <text>: trigger: set player's tag to "%arg 1%"