Advertisement
xNawi

Case opening 2.2 alpha

Jul 6th, 2015
547
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.33 KB | None | 0 0
  1. # Author: Nawo
  2. # Presentation: http://skript.pl/topic/7891-case-opening/
  3.  
  4. options:
  5. tag: &8[&6Case&8]
  6. chance key: 20
  7. chance chest: 30
  8.  
  9. function close(player: player):
  10. if {case::player::%{_player}%::open} is true:
  11. set {case::player::%{_player}%::open} to false
  12. send "{@tag} &7Zamknieto podglad losowania." to {_player}
  13. if {case::player::%{_player}%::openedit} is set:
  14. clear {case::%{case::player::%{_player}%::openedit}%::itemlist::*}
  15. loop 27 times:
  16. if slot "%loop-number - 1%" parsed as an integer of current inventory of {_player} is not air:
  17. set {_item} to slot loop-number - 1 of current inventory of {_player}
  18. add {_item} to {case::%{case::player::%{_player}%::openedit}%::itemlist::*}
  19. clear {case::player::%{_player}%::openedit}
  20. send "{@tag} &7Zapisano." to {_player}
  21. function list(player: player):
  22. open chest with 6 rows named "&6Lista skrzynek:" to {_player}
  23. wait 1 tick
  24. set {_slot} to 0
  25. loop {case::chestlist::*}:
  26. if loop-value contains "<none>":
  27. remove loop-value from {case::chestlist::*}
  28. set {_lore} to "%{case::%loop-value%}%::itemlist::*}%"
  29. replace all ", " with "|| &8- &c" in {_lore}
  30. replace all "and " with "|| &8- &c" in {_lore}
  31. format slot {_slot} of {_player} with 1 of chest named "&6%loop-value%}%" with lore " || &6W tej skrzyni mozesz zdobyc: || || &8- &c%{_lore}% || " to close then run "case opening %loop-value% %{_player}%"
  32. add 1 to {_slot}
  33. command /case [<text="null">] [<text>] [<text>]:
  34. trigger:
  35. if player has permission "case.*":
  36. if arg 1 is not "add" or "remove" or "edit" or "give" or "list" or "debug" or "opening":
  37. send "{@tag}"
  38. send "&6/case add <name> &8- &7Dodaje nowa skrzynke."
  39. send "&6/case remove <name> &8- &7Usuwa skrzynke."
  40. send "&6/case edit <name> &8- &7Edytuje zawartosc skrzyni."
  41. send "&6/case give <name> [<player>] &8- &7Daje nam klucz i skrzynie."
  42. send "&6/case list &8- &7Lista skrzyn w gui."
  43. send "&6/case debug &8- &7Debug skryptu."
  44. if arg 1 is "add":
  45. if arg 2 is set:
  46. loop {case::chestlist::*}:
  47. if loop-value is arg 2:
  48. send "{@tag} &7Taka skrzynia juz istnieje!"
  49. stop
  50. add arg 2 to {case::chestlist::*}
  51. send "{@tag} &7Dodano skrzynie o nazwie &6%arg 2%&7."
  52. else:
  53. send "&6/case add <name>"
  54. if arg 1 is "remove":
  55. if arg 2 is set:
  56. loop {case::chestlist::*}:
  57. if loop-value is arg 2:
  58. remove arg 2 from {case::chestlist::*}
  59. delete {case::%arg 2%::itemlist::*}
  60. send "{@tag} &7Usunieto skrzynie o nazwie &6%arg 2%&7."
  61. stop
  62. send "{@tag} &7Taka skrzynia nie istnieje!"
  63. else:
  64. send "&6/case remove <name>"
  65. if arg 1 is "edit":
  66. if arg 2 is set:
  67. loop {case::chestlist::*}:
  68. if loop-value is arg 2:
  69. open chest with 3 rows named "&6Edytujesz: &c%arg 2%" to player
  70. wait 1 tick
  71. set {_slot} to 0
  72. loop {case::%arg 2%::itemlist::*}:
  73. set slot {_slot} of current inventory of player to loop-value
  74. add 1 to {_slot}
  75. set {case::player::%player%::openedit} to "%arg 2%"
  76. send "{@tag} &7Edytujesz zawartosc skrzyni &6%arg 2%&7."
  77. while inventory name of player is "&6Edytujesz: &c%arg 2%":
  78. set {case::player::%player%::openedit} to "%arg 2%"
  79. wait 5 tick
  80. stop
  81. send "{@tag} &7Taka skrzynia nie istnieje!"
  82. else:
  83. send "&6/case additem <name>"
  84. if arg 1 is "give":
  85. if arg 2 is set:
  86. loop {case::chestlist::*}:
  87. if loop-value is arg 2:
  88. if arg 3 is set:
  89. set {_player} to arg 3 parsed as offlineplayer
  90. else:
  91. set {_player} to player
  92. if {_player} is online:
  93. set {_lore} to "%{case::%arg 2%::itemlist::*}%"
  94. replace all ", " with "|| &8- &c" in {_lore}
  95. replace all "and " with "|| &8- &c" in {_lore}
  96. add 64 chest named "&6%arg 2%" with lore " || &6W tej skrzyni mozesz zdobyc: || || &8- &c%{_lore}% || " to {_player}'s inventory
  97. add 64 tripwire hook named "&6Klucz do skrzyni &c%arg 2%" to {_player}'s inventory
  98. else:
  99. send "{@tag} &7Tego gracza nie ma na serwerze!"
  100. stop
  101. send "{@tag} &7Taka skrzynia nie istnieje!"
  102. else:
  103. send "&6/case give <name> <player>"
  104. if arg 1 is "list":
  105. list(player)
  106. if arg 1 is "debug":
  107. send "{@tag} &7Opcja tymczasowo niedostepna."
  108. if arg 1 is "opening":
  109. set {_player} to arg 3 parsed as player
  110. if {_player}'s inventory contains tripwire hook named "&6Klucz do skrzyni &c%arg 2%":
  111. set {_lore} to "%{case::%arg 2%::itemlist::*}%"
  112. replace all ", " with "|| &8- &c" in {_lore}
  113. replace all "and " with "|| &8- &c" in {_lore}
  114. if {_player}'s inventory contains chest named "&6%arg 2%" with lore " || &6W tej skrzyni mozesz zdobyc: || || &8- &c%{_lore}% || ":
  115. wait 3 tick
  116. if {case::player::%{_player}%::openwait} is true:
  117. send "{@tag} &7Juz otwierasz skrzynie!" to {_player}
  118. else:
  119. set {_size} to size of {case::%arg 2%::itemlist::*}
  120. if {_size} > 0:
  121. remove 1 tripwire hook named "&6Klucz do skrzyni &c%arg 2%" from {_player}'s inventory
  122. set {_lore} to "%{case::%arg 2%::itemlist::*}%"
  123. replace all ", " with "|| &8- &c" in {_lore}
  124. replace all "and " with "|| &8- &c" in {_lore}
  125. remove 1 chest named "&6%arg 2%" with lore " || &6W tej skrzyni mozesz zdobyc: || || &8- &c%{_lore}% || " from {_player}'s inventory
  126. set {case::player::%{_player}%::openwait} to true
  127. set {case::player::%{_player}%::open} to true
  128. open chest with 6 rows named "&6Skrzynia &c%arg 2%" to {_player}
  129. wait 1 tick
  130. loop {case::%arg 2%::itemlist::*}:
  131. set {_skin%loop-index%} to loop-value
  132. replace all " " with " of " in {_skin%loop-index%}
  133. loop (size of {case::%arg 2%::itemlist::*}) times:
  134. format slot loop-number + 26 of {_player} with {_skin%loop-number%} to be unstealable
  135. loop 9 times:
  136. set {_item%loop-number%} to random element out of {case::%arg 2%::itemlist::*}
  137. replace all " " with " of " in {_item%loop-number%}
  138. format slot loop-number + 8 of {_player} with {_item%loop-number%} to be unstealable
  139. format slot loop-number - 1 of {_player} with 1 of black stained glass pane to be unstealable
  140. format slot loop-number + 17 of {_player} with 1 of black stained glass pane to be unstealable
  141. format slot 4 of {_player} with 1 of hopper to be unstealable
  142. set {_random} to random integer between 20 and 25
  143. wait 1 seconds
  144. loop {_random} times:
  145. if loop-number > 15:
  146. loop loop-number - 12 times:
  147. wait 1 tick
  148. else:
  149. wait 3 tick
  150. play raw sound "mob.skeleton.death" at {_player} with pitch 8 volume 1
  151. loop 8 times:
  152. set {_item%loop-number-2%} to {_item%loop-number-2 + 1%}
  153. if {case::player::%{_player}%::open} is true:
  154. format slot loop-number-2 + 8 of {_player} with {_item%loop-number-2%} to be unstealable
  155. set {_item9} to random element out of {case::%arg 2%::itemlist::*}
  156. replace all " " with " of " in {_item9}
  157. if {case::player::%{_player}%::open} is true:
  158. format slot 17 of {_player} with 1 of {_item9} to be unstealable
  159. set {case::player::%{_player}%::open} to false
  160. wait 3 seconds
  161. open chest with 1 rows named "&6Wygrales:" to {_player}
  162. send "{@tag} &7Odbierz swoja nagrode." to {_player}
  163. wait 1 tick
  164. set slot 4 of current inventory of {_player} to {_item5}
  165. play raw sound "mob.endermen.portal" at {_player} with pitch 0.1 volume 1
  166. set {case::player::%{_player}%::openwait} to false
  167. else:
  168. send "{@tag} &7W tej skrzyni nie mozna nic wylosowac!" to {_player}
  169. else:
  170. send "{@tag} &7Nie posiadasz tej skrzyni!" to {_player}
  171. else:
  172. send "{@tag} &7Nie posiadasz klucza do tej skrzyni!" to {_player}
  173. on inventory close:
  174. close(player)
  175. on quit:
  176. close(player)
  177. on death:
  178. close(player)
  179. on right click:
  180. if player's tool is chest:
  181. loop {case::chestlist::*}:
  182. if loop-value is uncolored name of player's tool:
  183. cancel event
  184. set {_lore} to "%{case::%loop-value%::itemlist::*}%"
  185. replace all ", " with "|| &8- &c" in {_lore}
  186. replace all "and " with "|| &8- &c" in {_lore}
  187. set lore of player's tool to " || &6W tej skrzyni mozesz zdobyc: || || &8- &c%{_lore}% || "
  188. execute player command "case opening %uncolored name of player's tool% %player%"
  189. if player's tool is tripwire hook:
  190. if name of player's tool contains "Klucz do skrzyni":
  191. cancel event
  192. list(player)
  193. on mine of stone:
  194. chance of {@chance chest}%:
  195. set {_element} to random element out of {case::chestlist::*}
  196. set {_lore} to "%{case::%{_element}%::itemlist::*}%"
  197. replace all ", " with "|| &8- &c" in {_lore}
  198. replace all "and " with "|| &8- &c" in {_lore}
  199. drop chest named "&6%{_element}%" with lore " || &6W tej skrzyni mozesz zdobyc: || || &8- &c%{_lore}% || "
  200. play raw sound "mob.endermen.portal" at player with pitch 0.1 volume 1
  201. send "{@tag} &7Zdobyles skrzynie &6%{_element}%&7!"
  202. chance of {@chance key}%:
  203. set {_element} to random element out of {case::chestlist::*}
  204. drop tripwire hook named "&6Klucz do skrzyni &c%{_element}%"
  205. play raw sound "mob.endermen.portal" at player with pitch 0.1 volume 1
  206. send "{@tag} &7Zdobyles klucz do skrzyni &6%{_element}%&7!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement