command /labirent <integer> <integer> <integer> <text> <text> <text> <text> [<integer>]:
usage : /maze <uzunluk> <genislik> <yukseklik> <zemin> <duvarlar> <tavan> <yol> <## Kat>
trigger:
if arg 1 is not divisible by 2:
message "&cSayi Yetersiz"
stop trigger
else:
if {mazegen::*} contains player:
message "&c&oZaten bir labirent urettin!"
stop trigger
if arg 2 is not divisible by 2:
message "&cSayi Yetersiz"
stop trigger
else:
add player to {mazegen::*}
set {_floor.type.%player%} to arg 4 parsed as item type
set {_walls.type.%player%} to arg 5 parsed as item type
set {_ceiling.type.%player%} to arg 6 parsed as item type
set {_path.type.%player%} to arg 7 parsed as item type
set {_maze.p1.%player%} to block at player's location
set {_maze.p2.%player%} to location of block arg 1 north of arg 2 east of block at player's location
set {_maze.p3.%player%} to block 1 north of block 1 east of {_maze.p1.%player%}
set {_maze.p4.%player%} to block 1 south of block 1 west of {_maze.p2.%player%}
if arg 8 is more than 1:
set {_times.%player%} to arg 8
else:
set {_times.%player%} to 1
message "&7&oLabirent olusturma zamanı: %{_times.%player%}% "
loop {_times.%player%} times:
add 1 to {_floor.numb.%player%}
play raw sound "random.pop" at player with pitch 1 volume .6
message "&7&oZemin olusturuluyor..."
loop blocks within {_maze.p1.%player%} to {_maze.p2.%player%}:
set loop-block to {_floor.type.%player%}
add 1 to {_batch.%player%}
if {_batch.%player%} is more than 15:
clear {_batch.%player%}
wait 1 tick
loop blocks within {_maze.p3.%player%} to {_maze.p4.%player%}:
add 1 to {_batch.%player%}
set loop-block to {_floor.type.%player%}
add location of loop-block to {_maze.blocks.%player%::*}
if {_batch.%player%} is more than 15:
clear {_batch.%player%}
wait 1 tick
wait 2 ticks
set {_maze.point.%player%} to random element of {_maze.blocks.%player%::*}
message "&7&oYol Olusturuluyor..."
play raw sound "random.pop" at player with pitch 1 volume .6
loop arg 1 * arg 2 times:
show monster spawner flames on block above {_maze.point.%player%}
loop 4 times:
set {_maze.num.%player%} to 1, 2, 3, or 4
if {_maze.num.%player%} is 1:
set {_maze.check.%player%} to block 2 north of {_maze.point.%player%}
else if {_maze.num.%player%} is 2:
set {_maze.check.%player%} to block 2 east of {_maze.point.%player%}
else if {_maze.num.%player%} is 3:
set {_maze.check.%player%} to block 2 south of {_maze.point.%player%}
else if {_maze.num.%player%} is 4:
set {_maze.check.%player%} to block 2 west of {_maze.point.%player%}
{_maze.check.%player%} isn't air
if {_maze.check.%player%} isn't {_path.type.%player%}:
block 1 north of {_maze.check.%player%} isn't air
if block 1 north of {_maze.check.%player%} isn't {_path.type.%player%}:
block 1 south of {_maze.check.%player%} isn't air
if block 1 south of {_maze.check.%player%} isn't {_path.type.%player%}:
block 1 east of {_maze.check.%player%} isn't air
if block 1 east of {_maze.check.%player%} isn't {_path.type.%player%}:
block 1 west of {_maze.check.%player%} isn't air
if block 1 west of {_maze.check.%player%} isn't {_path.type.%player%}:
add {_maze.check.%player%}'s location to {_maze.possible.%player%::*}
if size of {_maze.possible.%player%::*} is less than 1:
chance of 96.4%:
if {_floor.numb.%player%} is less than {_times.%player%}:
chance of 1%:
set block at {_maze.point.%player%} to ladder
set {_num.%player%} to size of {_maze.path.%player%::*}
remove {_maze.path.%player%::%{_num.%player%}%} from {_maze.path.%player%::*}
set {_num.%player%} to size of {_maze.path.%player%::*} - 1
remove {_maze.path.%player%::%{_num.%player%}%} from {_maze.path.%player%::*}
set {_num.%player%} to size of {_maze.path.%player%::*}
set {_maze.point.%player%} to {_maze.path.%player%::%{_num.%player%}%}
if size of {_maze.path.%player%::*} is less than 1.5:
stop loop
else:
set {_maze.num.%player%} to 1, 2, 3, or 4
if {_maze.num.%player%} is 1:
set {_maze.check.%player%} to block 2 north of {_maze.point.%player%}
else if {_maze.num.%player%} is 2:
set {_maze.check.%player%} to block 2 east of {_maze.point.%player%}
else if {_maze.num.%player%} is 3:
set {_maze.check.%player%} to block 2 south of {_maze.point.%player%}
else if {_maze.num.%player%} is 4:
set {_maze.check.%player%} to block 2 west of {_maze.point.%player%}
{_maze.check.%player%} isn't air
if {_maze.check.%player%} is {_path.type.%player%}:
loop blocks from block at {_maze.point.%player%} to block at {_maze.check.%player%}:
set loop-block to {_path.type.%player%}
else:
set {_maze.choice.%player%} to a random element of {_maze.possible.%player%::*}
clear {_maze.possible.%player%::*}
loop blocks from block at {_maze.point.%player%} to block at {_maze.choice.%player%}:
set loop-block to {_path.type.%player%}
add loop-block's location to {_maze.path.%player%::*}
set {_maze.point.%player%} to {_maze.choice.%player%}
clear {_maze.possible.%player%::*}
wait 1 tick
message "&7&oDuvarlar ve tavan oluşturuluyor ..."
play raw sound "random.pop" at player with pitch 1 volume .6
loop blocks within {_maze.p1.%player%} to {_maze.p2.%player%}:
add 1 to {_batch.%player%}
if loop-block isn't {_path.type.%player%}:
set {_high.%loop-block%} to location of block 1 above loop-block
loop arg 3 times:
set block at {_high.%loop-block%} to {_walls.type.%player%}
increase y location of {_high.%loop-block%} by 1
set block at {_high.%loop-block%} to {_ceiling.type.%player%}
else:
set {_num.%player%} to arg 3 + 1
set {_high.%loop-block%} to location of block {_num.%player%} above loop-block
set block at {_high.%loop-block%} to {_ceiling.type.%player%}
if {_batch.%player%} is more than 15:
clear {_batch.%player%}
wait 1 tick
increase y location of {_maze.p1.%player%} by arg 3 + 2
increase y location of {_maze.p2.%player%} by arg 3 + 2
increase y location of {_maze.p3.%player%} by arg 3 + 2
increase y location of {_maze.p4.%player%} by arg 3 + 2
clear {_maze.blocks.%player%::*}
wait 10 ticks
if {_times.%player%} is more than 1:
set {_x.%player%} to (arg 3 + 2)*{_times.%player%}
remove {_x.%player%} from y location of {_maze.p1.%player%}
remove {_x.%player%} from y location of {_maze.p2.%player%}
set {_x2.%player%} to {_x.%player%}-1
loop blocks within {_maze.p1.%player%} to {_maze.p2.%player%}:
add 1 to {_batch.%player%}
if loop-block is ladder:
set {_high.%loop-block%} to location of block 1 above loop-block
loop {_x2.%player%} times:
set block at {_high.%loop-block%} to ladder
increase y location of {_high.%loop-block%} by 1
set loop-block to {_path.type.%player%}
if {_batch.%player%} is more than 15:
clear {_batch.%player%}
wait 1 tick
message "&e&oLabirent Olusturuldu!"
send "&3&oLabirent Skripti Ceviren: Secret_wither" to all players
play raw sound "random.levelup" at player with pitch 1 volume .6
remove player from {mazegen::*}
on skript load:
clear {mazegen::*}