#Name: JumpMore #Version 0.75 Beta. #Author : Technik / Karingijs #New #Types #Edit command #{JUMPMORE::%loop-number%::NAME} #{JUMPMORE::%{EDITMAP}%::SPAWN} #{JUMPMORE::%{EDITMAP}%::END} #{JUMPMORE::%{EDITMAP}%::START} #{JUMPMORE::%{EDITMAP}%::XP} #{JUMPMORE::%loop-number%::TYPE::none} #{TYPES::%Types%} #{JUMPMORELIST::%List%} #{JUMPMORE::%{EDITMAP}%::FAILBLOCKS::1} #{XXX::%player%} #{STATUS::%player%} #{TIME::%player%} #{XP::%player%} #{TYP::%player%} #{NR::%player%} #{TOPTIME::%{XXX::%player%}%::%player%} #{TEMPLATE::%arg 2%::XP} #{NEXTXP::%loop-number%} on load: set {_xp} to 10 loop 200 times: add 1 to {_int} add {_xp} to {_xpall} set {NEXTXP::%loop-number%} to {_xpall} if {_int} is 10: set {_int} to 0 add 10 to {_xp} on quit: set {_player::%player%} to true loop {_player::*}: set {_p} to "%loop-index%" set yaml value "XP" from file "jumpmore/players/%{_p}%/%{_p}%" to "%{XP::%player%}%" set yaml value "LVL" from file "jumpmore/players/%{_p}%/%{_p}%" to "%{LVL::%player%}%" wait 2 tick delete {XXX::%player%} delete {STATUS::%player%} delete {TIME::%player%} delete {TYP::%player%} delete {NR::%player%} reset stylish scoreboard of player delete stylish scoreboard named "%player%" on join: set {_player::%player%} to true loop {_player::*}: set {_p} to "%loop-index%" wait 3 tick set {XP::%player%} to yaml value "XP" from file "jumpmore/players/%{_p}%/%{_p}%" set {LVL::%player%} to yaml value "LVL" from file "jumpmore/players/%{_p}%/%{_p}%" wait 3 tick if "%{XP::%player%}%" is "none" or "": set {XP::%player%} to 0 if "%{LVL::%player%}%" is "none" or "": set {LVL::%player%} to 1 set {XP::%player%} to "%{XP::%player%}%" parsed as number set {LVL::%player%} to "%{LVL::%player%}%" parsed as number send "%{VARIABLE::%player%}%" send "&6&l=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*" send "&e » &6Witaj na najlepszym serwerze parkour JumpMore" send "&6&l=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*" teleport player to {LOBBY} command /lvl: trigger: send "LVL:%{LVL::%player%}%" send "XP: %{XP::%player%}%/%{NEXTXP::%{LVL::%player%}%}%" options: name: &4[&3&lJM&4]&c on hunger bar change: cancel event on damage: cancel event every 1 hour: loop 999 times: loop 15 times: delete {_NICK::%{_amount}%} delete {_TIME::%{_amount}%} loop 15 times: set {_NICK::%loop-number-2%} to "brak" set {_TIME::%loop-number-2%} to "brak" loop {TOPTIME::%loop-number-1%::*}: set {_TOPS::%loop-index%} to "%loop-value%" parsed as string loop 15 times: set {_first} to 99999 loop {_TOPS::*}: set {_second} to "%{TOPTIME::%loop-number-1%::%loop-index%}%" parsed as number if {_first} is greater or equal to {_second}: set {_first} to {_second} set {_tag} to "%loop-index%" set {_lvl} to "%{TOPTIME::%loop-number-1%::%loop-index%}%" parsed as number delete {_TOPS::%{_tag}%} if "%{_tag}%" is "%{_bufor}%": exit loop add 1 to {_amount} if "%{_tag}%" is not "brak": set {_NICK::%{_amount}%} to "%{_tag}%" parsed as string set {_TIME::%{_amount}%} to "%{_lvl}%" parsed as number set {_bufor} to "%{_tag}%" parsed as string loop {_NICK::*}: set {TOPTIME::%loop-number-1%::%{_NICK::%loop-index%}%} to {_TIME::%loop-index%} command /jumpmore [] [] [] [] []: aliases: jm trigger: if player is op: if arg 1 is not set: send "&3* &9/jm &acreate" send "&3* &9/jm &asetspawn" send "&3* &9/jm &asetstart/setend" send "&3* &9/jm &asetfailblocks " send "&3* &9/jm &atype " send "&3* &9/jm &asettings" send "&3* &9/jm &atemplate" send "&3* &9/jm &eedit " send "&3* &9/jm &einfo " send "&3* &9/jm &elist" send "&3* &9/jm &esetlobby" send "&3* &9/jm &cdelete" send "&3* &9/jm &ctopremove or player " if arg 1 is "create": loop 999 times: if {JUMPMORE::%loop-number%::NAME} is not set: set {JUMPMORE::%loop-number%::NAME} to "%loop-number%" parsed as number set {JUMPMORELIST::%loop-number%} to "%loop-number%" parsed as number set {EDITMAP} to "%loop-number%" parsed as number send "{@name} map ID: %loop-number% Created!!" set {_map} to "%loop-number%" parsed as number execute player command "jm topremove %loop-number%" exit loop loop 999 times: if {JUMPMORE::%loop-number%::TYPE::none} is not set: set {JUMPMORE::%loop-number%::TYPE::none} to "%{_map}%" parsed as number add 1 to {TYPES::none} exit loop if arg 1 is "setspawn": set {JUMPMORE::%{EDITMAP}%::SPAWN} to location of player send "{@name} spawn is been set!" if arg 1 is "setstart": set {JUMPMORE::%{EDITMAP}%::START} to location of player send "{@name} start is been set!" if arg 1 is "setend": set {JUMPMORE::%{EDITMAP}%::END} to location of player send "{@name} end is been set!" if arg 1 is "edit": if arg 2 is set: if {JUMPMORE::%arg 2%::NAME} is set: set {EDITMAP} to "%arg 2%" parsed as number send "{@name} You editing map %arg 2%" if arg 1 is "list": loop {TYPES::*}: send "&5> &d%loop-index% &7- &a%loop-value%" if arg 1 is "setlobby": set {LOBBY} to location of player send "{@name} Lobby location saved all players will spawn here" if arg 1 is "setfailblocks": delete {JUMPMORE::%{EDITMAP}%::FAILBLOCKS::1} delete {JUMPMORE::%{EDITMAP}%::FAILBLOCKS::2} delete {JUMPMORE::%{EDITMAP}%::FAILBLOCKS::3} delete {JUMPMORE::%{EDITMAP}%::FAILBLOCKS::4} if arg 2 is set: set {JUMPMORE::%{EDITMAP}%::FAILBLOCKS::1} to "%arg 2%" parsed as item if arg 3 is set: set {JUMPMORE::%{EDITMAP}%::FAILBLOCKS::2} to "%arg 3%" parsed as item if arg 4 is set: set {JUMPMORE::%{EDITMAP}%::FAILBLOCKS::3} to "%arg 4%" parsed as item if arg 5 is set: set {JUMPMORE::%{EDITMAP}%::FAILBLOCKS::4} to "%arg 5%" parsed as item send "{@name} fail blocks are been set" if arg 1 is "topremove": if {JUMPMORE::%arg 2%::NAME} is set: loop {TOPTIME::%arg 2%::*}: delete {TOPTIME::%arg 2%::%loop-index%} send "{@name} tops are removed" if arg 2 is "player": if arg 3 is set: loop 999 times: delete {TOPTIME::%loop-number%::%arg 3%} send "{@name} Tops of %arg 3% are removed" if arg 1 is "type": if arg 2 is set: loop {TYPES::*}: loop 999 times: if "%{JUMPMORE::%loop-number%::TYPE::%loop-index%}%" is "%{EDITMAP}%": subtract 1 from {TYPES::%loop-index%} delete {JUMPMORE::%loop-number%::TYPE::%loop-index%} add 1 to {TYPES::%arg 2%} loop 999 times: if {JUMPMORE::%loop-number%::TYPE::%arg 2%} is not set: set {JUMPMORE::%loop-number%::TYPE::%arg 2%} to "%{EDITMAP}%" parsed as number send "{@name} map TYPE: %arg 2%" exit loop if arg 1 is "info": if arg 2 is set: if {JUMPMORE::%arg 2%::NAME} is set: if {JUMPMORE::%arg 2%::FAILBLOCKS::1} is set: set {_failblocks} to "&c%{JUMPMORE::%arg 2%::FAILBLOCKS::1}%" if {JUMPMORE::%arg 2%::FAILBLOCKS::2} is set: set {_failblocks} to "&c{_failblocks}, %{JUMPMORE::%arg 2%::FAILBLOCKS::2}%" if {JUMPMORE::%arg 2%::FAILBLOCKS::3} is set: set {_failblocks} to "&c{_failblocks}, %{JUMPMORE::%arg 2%::FAILBLOCKS::3}%" if {JUMPMORE::%arg 2%::FAILBLOCKS::4} is set: set {_failblocks} to "&c{_failblocks}, %{JUMPMORE::%arg 2%::FAILBLOCKS::4}%" loop {TYPES::*}: loop 999 times: if "%{JUMPMORE::%loop-number%::TYPE::%loop-index%}%" is "%arg 2%": set {_type} to "%loop-index%" parsed as string set {_nr} to "%loop-number%" parsed as number exit loop send "&6ID : &e%arg 2%" send "&6Type : &e%{_type}% %{_nr}%" send "&5FailBlocks: (%{_failblocks}%)" if arg 1 is "delete": if {JUMPMORE::%{EDITMAP}%::NAME} is set: delete {JUMPMORE::%{EDITMAP}%::NAME} delete {JUMPMORE::%{EDITMAP}%::SPAWN} delete {JUMPMORE::%{EDITMAP}%::END} delete {JUMPMORE::%{EDITMAP}%::START} delete {JUMPMORELIST::%{EDITMAP}%} loop 4 times: delete {JUMPMORE::%{EDITMAP}%::FAILBLOCKS::%loop-number%} loop {TYPES::*}: loop 999 times: if "%{JUMPMORE::%loop-number%::TYPE::%loop-index%}%" is "%{EDITMAP}%": subtract 1 from {TYPES::%loop-index%} delete {JUMPMORE::%loop-number%::TYPE::%loop-index%} loop {TOPTIME::%{EDITMAP}%::*}: delete {TOPTIME::%{EDITMAP}%::%loop-index%} send "{@name} Map ID:%{EDITMAP}% is deleted" if arg 1 is "settings": if arg 2 is not set: send "&3* &9/jm &asettings setxp " if arg 2 is "setxp": if arg 3 parsed as number is set: set {JUMPMORE::%{EDITMAP}%::XP} to "%arg 3%" parsed as number send "{@name} XP: %arg 3% is been set" if arg 1 is "template": if arg 2 is not set: send "&3* &9/jm &atemplate setxp " if arg 3 is "setxp": if arg 4 parsed as number is set: set {TEMPLATE::%arg 2%::XP} to "%arg 4%" parsed as number send "{@name} XP: %arg 3% is been set" else: send "&cOnly ops can use it" command /join [] []: trigger: if arg 1 is not set: send "&a/join " if arg 1 is set: if arg 2 is set: if {JUMPMORE::%arg 2%::TYPE::%arg 1%} is set: set {_map} to "%{JUMPMORE::%arg 2%::TYPE::%arg 1%}%" parsed as number if arg 2 is not set: if {JUMPMORE::%arg 1%::NAME} is set: set {_map} to "%arg 1%" parsed as number if {_map} is not set: send "{@name} this map does not exist" stop loop {TYPES::*}: loop 999 times: if "%{JUMPMORE::%loop-number%::TYPE::%loop-index%}%" is "%{_map}%": set {_type} to "%loop-index%" parsed as string set {_nr} to "%loop-number%" parsed as number exit loop set {TYP::%player%} to "%{_type}%" parsed as string set {NR::%player%} to "%{_nr}%" parsed as number teleport player to {JUMPMORE::%{_map}%::SPAWN} set {STATUS::%player%} to false set {XXX::%player%} to "%{_map}%" parsed as number send "{@name} Welcome to map %{_map}%" execute player command "startmap %{_map}% 227" while "%{XXX::%player%}%" is "%{_map}%": wait a tick show 2 "Fireworks Spark" particles at {JUMPMORE::%{XXX::%player%}%::END} for player offset by 0.2, 1.1, 0.2 if distance between location of player and {JUMPMORE::%{XXX::%player%}%::END} is smaller than 1.6: if {STATUS::%player%} is true: set {STATUS::%player%} to false teleport player to {JUMPMORE::%{XXX::%player%}%::SPAWN} send "{@name} You finished the parkour" delete {_difference} delete {_seconds} set {_difference} to difference between {TIME::%player%} and now delete {TIME::%player%} if {_difference} is greater than 1 seconds: loop 60 times: if {_difference} is greater than 1 minute: subtract 1 minute from {_difference} add 60 to {_seconds} set {_difference} to "%{_difference}%" parsed as string replace all "seconds" with " " in {_difference} set {_difference} to "%{_difference}%" parsed as number add {_difference} to {_seconds} send "{@name} ►► TIME: > %{_seconds}% < Seconds." if {TOPTIME::%{XXX::%player%}%::%player%} is not set: set {TOPTIME::%{XXX::%player%}%::%player%} to "%{_seconds}%" parsed as number if {TOPTIME::%{XXX::%player%}%::%player%} is greater or equal to {_seconds}: set {TOPTIME::%{XXX::%player%}%::%player%} to "%{_seconds}%" parsed as number if {JUMPMORE::%{XXX::%player%}%::XP} is set: add {JUMPMORE::%{XXX::%player%}%::XP} to {XP::%player%} send "{@name} You won %{JUMPMORE::%{XXX::%player%}%::XP}% XP" else if {TEMPLATE::%{TYP::%player%}%::XP} is set: add {TEMPLATE::%{TYP::%player%}%::XP} to {XP::%player%} send "{@name} You won %{TEMPLATE::%{TYP::%player%}%::XP}% XP" loop 20 times: if {XP::%player%} is greater or equal to {NEXTXP::%{LVL::%player%}%}: subtract {NEXTXP::%{LVL::%player%}%} from {XP::%player%} add 1 to {LVL::%player%} send "&9&m=======================================" send "&6 - Gratulacje awansowales na kolejny poziom" send "&6 - LEVEL: &a%{LVL::%player%}%" send "&9&m=======================================" loop {LVL::%player%} times: wait 4 tick launch flickering ball firework colored red and green and black and yellow at player's location timed 0 if {XP::%player%} is smaller than {NEXTXP::%{LVL::%player%}%}: stop command /leave: trigger: delete {STATUS::%player%} delete {XXX::%player%} send "{@name} You left the map" teleport player to {LOBBY} command /startmap [] []: trigger: if "%arg 2%" is "227": while "%{XXX::%player%}%" is "%arg 1%": wait 1 tick show 2 "Flame" particles at {JUMPMORE::%{XXX::%player%}%::START} for player offset by 0.2, 1.1, 0.2 if distance between location of player and {JUMPMORE::%{XXX::%player%}%::START} is smaller than 1.6: if {STATUS::%player%} is false: set {STATUS::%player%} to true set {TIME::%player%} to now send "{@name} You started the parkour" loop {JUMPMORE::%{XXX::%player%}%::FAILBLOCKS::*}: if "%loop-value%" is "%block below player%": set {STATUS::%player%} to false teleport player to {JUMPMORE::%{XXX::%player%}%::SPAWN} send "{@name} You failed the run!" command /top: trigger: set {_num} to size of {TOPTIME::%{XXX::%player%}%::*} loop {_num} times: loop {TOPTIME::%{XXX::%player%}%::*}: {_v.%loop-number%} is not set: set {_v.%loop-number%} to loop-value set {_n.%loop-number%} to loop-index loop-value is smaller than {_v.%loop-number%}: set {_v.%loop-number%} to loop-value set {_n.%loop-number%} to loop-index remove {_v.%loop-number%} from {TOPTIME::%{XXX::%player%}%::*} loop {_num} times: loop-number is less than or equal to 15: set {_m} to "%loop-number%" loop-number is more than 19: set {_m} to loop-number {_v.%loop-number%} is more than 0: send "&c%{_m}%. &6%{_n.%loop-number%}% &a%{_v.%loop-number%}%" set {TOPTIME::%{XXX::%player%}%::%{_n.%loop-number%}%} to {_v.%loop-number%} {_num} is less than 15: set {_r} to {_num}+1 loop 6 - {_num} times: set {_m} to "0%{_r}%" {_r} is more than 19: set {_m} to {_r} add 1 to {_r}