Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- command /setsapertp:
- permission: gmod
- trigger:
- set {saper.tploc} to location at player
- send "&aPomyslnie ustawiono lokalizacje docelowa sapera na &7%player's location%"
- function getMobs(x: integer, y: integer, p: player) :: integer:
- set {_moby} to 0
- set {_x1} to {_x} -1
- loop 3 times:
- set {_y1} to {_y} -1
- loop 3 times:
- if {saper.pos.%{_p}%::%{_x1}%.%{_y1}%} is set:
- add 1 to {_moby}
- add 1 to {_y1}
- add 1 to {_x1}
- set {_moby} to "%{_moby}%" parsed as integer
- return {_moby}
- command /saper:
- permission: mod
- trigger:
- delete {saper.pos.%player%::*}
- set {_pozostale} to random integer between 6 and 7
- loop {_pozostale} times:
- set {_x} to random integer between 1 and 9
- set {_y} to random integer between 1 and 5
- while {saper.pos.%player%::%{_x}%.%{_y}%} is set:
- set {_x} to random integer between 1 and 9
- set {_y} to random integer between 1 and 5
- set {saper.pos.%player%::%{_x}%.%{_y}%} to true
- open chest with 6 rows named "&6&lRundka w Sapera!" to player
- set player's current inventory's slot 0 to 1 of 426 named " "
- set player's current inventory's slot 8 to 1 of 426 named " "
- set player's current inventory's slot 1 to 1 of 160:15 of sharpness 10 named " "
- set player's current inventory's slot 7 to 1 of 160:15 of sharpness 10 named " "
- set player's current inventory's slot 2 to {_pozostale} of skeleton head named "&ePozostalo flag:&f %{_pozostale}%"
- set player's current inventory's slot 6 to 76 named "&4Sprawdz pole"
- set player's current inventory's slot 3 to 1 of 160:15 of sharpness 10 named " "
- set player's current inventory's slot 5 to 1 of 160:15 of sharpness 10 named " "
- set player's current inventory's slot 4 to 213 named "&6&lSwiatlo Mordoru"
- loop 45 times:
- set player's current inventory's slot loop-number+8 to 1 gray glass named " "
- function empty(x: integer, y: integer, p: player):
- wait 2 ticks
- set {_x1} to {_x} -1
- if {bezpiecznik} > 30:
- delete {bezpiecznik}
- stop
- else:
- add 1 to {bezpiecznik}
- set {_x1} to "%{_x} -1%" parsed as integer
- loop 3 times:
- set {_y1} to "%{_y} -1%" parsed as integer
- loop 3 times:
- if getMobs({_x1}, {_y1}, {_p}) != -1:
- set {_slot} to getSlot({_x1}, {_y1})
- if {_slot} = -1:
- else if current inventory of {_p}'s slot {_slot} is gray glass:
- set {_moby} to getMobs({_x1}, {_y1}, {_p})
- if {_moby} is 0:
- set {_p}'s current inventory's slot {_slot} to 1 of light gray stained glass named " "
- wait 1 tick
- empty({_x1}, {_y1}, {_p})
- else:
- if {_moby} is 1:
- set {_p}'s current inventory's slot {_slot} to 1 of cyan rug named "&3&l1"
- if {_moby} is 2:
- set {_p}'s current inventory's slot {_slot} to 2 of green rug named "&2&l2"
- if {_moby} is 3:
- set {_p}'s current inventory's slot {_slot} to 3 of red rug named "&4&l3"
- if {_moby} is 4:
- set {_p}'s current inventory's slot {_slot} to 4 of blue rug named "&1&l4"
- if {_moby} is 5:
- set {_p}'s current inventory's slot {_slot} to 5 of brown rug named "&5&l5"
- if {_moby} is 6:
- set {_p}'s current inventory's slot {_slot} to 6 of magenta rug named "&d&l6"
- if {_moby} is 7:
- set {_p}'s current inventory's slot {_slot} to 7 of orange rug named "&6&l7"
- if {_moby} is 8:
- set {_p}'s current inventory's slot {_slot} to 8 of gray rug named "&7&l8"
- add 1 to {_y1}
- add 1 to {_x1}
- function getSlot(x: integer , y: integer) :: integer:
- if {_x} > 9:
- return -1
- if {_y} >5:
- return -1
- if {_x} < 1:
- return -1
- if {_y} < 1:
- return -1
- set {_s} to {_y} * 9 + {_x} - 1
- set {_s} to "%{_s}%" parsed as integer
- return {_s}
- on place of 213:
- "%region at event-block%" contains "rpg_saper":
- name of player's tool is "&6&lSwiatlo Mordoru":
- set {_i} to 10
- loop 5 times:
- show {_i} portal on player
- wait 5 ticks
- set {_i} to {_i} * 10
- wait 10 ticks
- set block at location of event-block to air
- teleport player to {saper.tploc}
- on rightclick on enderman:
- if name of clicked entity is "&e&lStraznik":
- cancel event
- if metadata value "saper.win" of player is not set:
- run player command "saper" as op
- else:
- send "&cGdzie ci tak spieszno ze znowu chcesz wziac jedyne swiatlo Mordoru?" to player
- on inventory click:
- if inventory name of current inventory of player is "&6&lRundka w Sapera!":
- cancel event
- if clicked slot is 6:
- if current inventory of player's slot 6 is tnt:
- set player's current inventory's slot 6 to 1 of 76 named "&4Sprawdz pole"
- else:
- set player's current inventory's slot 6 to tnt named "&4Postaw flage"
- else:
- set {_slot} to clicked slot
- # replace all " " with "" in {_slot}
- # set {_slot} to {_slot} parsed as integer
- if {_slot} is bigger than 8:
- set {_x} to ({_slot} mod 9)+1
- set {_x} to "%{_x}%" parsed as integer
- set {_y} to ({_slot}-({_slot} mod 9))/9
- set {_y} to "%{_y}%" parsed as integer
- if current inventory of player's slot 6 is tnt:
- if current inventory of player's slot {_slot} is 1 of 425:1:
- set player's current inventory's slot {_slot} to gray glass named " "
- set {_a} to number of skeleton head in player's current inventory +1
- set player's current inventory's slot 2 to {_a} of skeleton head named "&ePozostalo flag:&f %{_a}%"
- else:
- if number of skeleton head in player's current inventory is bigger than 0:
- set player's current inventory's slot {_slot} to 425:1 named "&cOflagowane"
- set {_a} to number of skeleton head in player's current inventory -1
- set player's current inventory's slot 2 to {_a} of skeleton head named "&ePozostalo flag:&f %{_a}%"
- else:
- if current inventory of player's slot {_slot} is gray glass:
- if {saper.pos.%player%::%{_x}%.%{_y}%} is set:
- set player's current inventory's slot {_slot} to creeper head named "&4&lPrzegrales"
- close player's inventory
- endparkour(player)
- stop
- set {_moby} to getMobs({_x}, {_y}, player)
- if {_moby} is 1:
- set player's current inventory's slot {_slot} to 1 of cyan rug named "&3&l1"
- if {_moby} is 2:
- set player's current inventory's slot {_slot} to 2 of green rug named "&2&l2"
- if {_moby} is 3:
- set player's current inventory's slot {_slot} to 3 of red rug named "&4&l3"
- if {_moby} is 4:
- set player's current inventory's slot {_slot} to 4 of blue rug named "&1&l4"
- if {_moby} is 5:
- set player's current inventory's slot {_slot} to 5 of brown rug named "&5&l5"
- if {_moby} is 6:
- set player's current inventory's slot {_slot} to 6 of magenta rug named "&d&l6"
- if {_moby} is 7:
- set player's current inventory's slot {_slot} to 7 of orange rug named "&6&l7"
- if {_moby} is 8:
- set player's current inventory's slot {_slot} to 8 of gray rug named "&7&l8"
- if {_moby} is 0:
- set player's current inventory's slot {_slot} to 1 of light gray stained glass named " "
- empty({_x}, {_y}, player)
- if number of gray stained glass in player's current inventory is 0:
- send "&a&lWygrales!"
- set {_magma} to 1 of 213 named "&6&lSwiatlo Mordoru" with lore "&eNiezwykle w swej potedze.||&eTak potezne ze nawet||&eczarna dziora nie jest||&ew stanie go wessac!"
- set player's current inventory's slot 4 to {_magma}
- set player's current inventory's slot 4 to red stained glass named " "
- set player's current inventory's slot 13 to {_magma}
- wait 10 ticks
- set player's current inventory's slot 13 to red stained glass named " "
- set player's current inventory's slot 22 to {_magma}
- wait 10 ticks
- set player's current inventory's slot 22 to red stained glass named " "
- set player's current inventory's slot 31 to {_magma}
- wait 10 ticks
- set player's current inventory's slot 31 to red stained glass named " "
- set player's current inventory's slot 40 to {_magma}
- wait 10 ticks
- set player's current inventory's slot 40 to red stained glass named " "
- set player's current inventory's slot 49 to {_magma}
- wait 10 ticks
- open chest with 6 rows named "&6&lOdbierz nagrode" to player
- set player's current inventory's slot 49 to {_magma}
- set metadata value "saper.win" of player to true
- function endparkour(p: player):
- if metadata value "saper.pozostalo" of {_p} >= 4:
- send {_p} title "&4&lIdz precz!" with subtitle "&fStraznik nie bedzie tracic na Ciebie wiecej czasu" for 5 seconds
- run {_p} command "warp katedra" as op
- else:
- set {_m} to metadata value "saper.pozostalo" of {_p}
- add 1 to {_m}
- set metadata value "saper.pozostalo" of {_p} to {_m}
- send {_p} title "&4&lPrzegrales" with subtitle "&eZostalo Ci %5 - {_m}% szans" for 5 seconds
- on exit region "saper_quest":
- clear metadata value "saper.pozostalo" of player
- clear metadata value "saper.win" of player
- on disconnect:
- clear metadata value "saper.pozostalo" of player
- clear metadata value "saper.win" of player
Add Comment
Please, Sign In to add comment