Guest User

Untitled

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