Guest User

Untitled

a guest
Jul 28th, 2018
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.96 KB | None | 0 0
  1. # Author: Nawo
  2. # Contact: [email protected]
  3. # Presentation: http://www.mpcforum.pl/topic/1423401-skrypt-na-case-opening/
  4. # Launge: Polish
  5.  
  6. options:
  7. tag: &e&lDROP &8ยป
  8. important: &6
  9. general: &7
  10. leere: &8
  11. lore: &c
  12.  
  13. command /case [<text="help">] [<text>] [<text>] [<text>]:
  14. trigger:
  15. if player has permission "case.*":
  16. if arg 1 is "help":
  17. send "{@tag}"
  18. send "{@important}/case add <name> <type(zwykla/magiczna)> {@leere}- {@general}Dodaje nowa skrzynke."
  19. send "{@important}/case remove <name> {@leere}- {@general}Usuwa skrzynke."
  20. send "{@important}/case edit <name> {@leere}- {@general}Edytuje zawartosc skrzyni."
  21. send "{@important}/case give <name> [<player/all>] [<number>] {@leere}- {@general}Daje nam skrzynie."
  22. send "{@important}/case list {@leere}- {@general}Lista skrzyn."
  23. send "{@important}/case open <name> [<player>] {@leere}- {@general}Otwiera skrzynie."
  24. if arg 1 is "add":
  25. if arg 2 is set:
  26. set {_name} to arg 2
  27. replace all "_" with " " in {_name}
  28. loop {case::chestlist::*}:
  29. if loop-value is {_name}:
  30. send "{@tag} {@general}Taka skrzynia juz istnieje!"
  31. stop
  32. if arg 3 is set:
  33. if arg 3 is "zwykla" or "magiczna":
  34. add {_name} to {case::chestlist::*}
  35. send "{@tag} {@general}Dodano skrzynie o nazwie {@important}%{_name}%{@general}."
  36. if arg 3 is "zwykla":
  37. set {case::type::%{_name}%} to "zwykla"
  38. send "{@tag} {@general}Dodano zwykla skrzynke."
  39. if arg 3 is "magiczna":
  40. set {case::type::%{_name}%} to "magiczna"
  41. send "{@tag} {@general}Dodano magiczna skrzynke."
  42. else:
  43. send "{@tag} {@important}/case add <name> <type=""zwykla""or""magiczna""> "
  44. stop
  45. else:
  46. send "{@tag} {@important}/case add <name> <type=""zwykla""or""magiczna""> "
  47. stop
  48. if arg 1 is "remove":
  49. if arg 2 is set:
  50. set {_name} to arg 2
  51. replace all "_" with " " in {_name}
  52. loop {case::chestlist::*}:
  53. if loop-value is {_name}:
  54. remove {_name} from {case::chestlist::*}
  55. delete {case::%{_name}%::itemlist::*}
  56. delete {case::type::%{_name}%}
  57. send "{@tag} {@general}Usunieto skrzynie o nazwie {@important}%{_name}%{@general}."
  58. stop
  59. send "{@tag} {@general}Taka skrzynia nie istnieje!"
  60. else:
  61. send "{@tag} {@important}/case remove <name>"
  62. stop
  63. if arg 1 is "edit":
  64. if arg 2 is set:
  65. set {_name} to arg 2
  66. replace all "_" with " " in {_name}
  67. loop {case::chestlist::*}:
  68. if loop-value is {_name}:
  69. open chest with 6 rows named "{@important}Edit menu case" to player
  70. wait 1 tick
  71. set {_slot} to 0
  72. loop {case::%{_name}%::itemlist::*}:
  73. set slot {_slot} of current inventory of player to loop-value-2
  74. add 1 to {_slot}
  75. set {case::player::%player%::openedit} to "%{_name}%"
  76. send "{@tag} {@general}Edytujesz zawartosc skrzyni {@important}%{_name}%{@general}." to player
  77. while inventory name of player is "{@important}Edit menu case":
  78. set {case::player::%player%::openedit} to "%{_name}%"
  79. wait 5 tick
  80. stop
  81. send "{@tag} {@general}Taka skrzynia nie istnieje!"
  82. else:
  83. send "{@tag} {@important}/case additem <name>"
  84. stop
  85. if arg 1 is "give":
  86. if arg 2 is set:
  87. set {_name} to arg 2
  88. replace all "_" with " " in {_name}
  89. loop {case::chestlist::*}:
  90. if loop-value is {_name}:
  91. if arg 3 is set:
  92. if arg 4 is set:
  93. set {_number} to arg 4 parsed as integer
  94. else:
  95. set {_number} to 64
  96. if arg 3 is "all":
  97. loop all players:
  98. if {case::type::%{_name}%} is "zwykla":
  99. add {_number} of chest named "{@important}%{_name}%" to loop-player's inventory
  100. else if {case::type::%{_name}%} is "magiczna":
  101. add {_number} of ender chest named "{@important}%{_name}%" to loop-player's inventory
  102. if arg 3 is not "all":
  103. set {_player} to arg 3 parsed as offlineplayer
  104. if {case::type::%{_name}%} is "zwykla":
  105. add {_number} of chest named "{@important}%{_name}%" to {_player}'s inventory
  106. else if {case::type::%{_name}%} is "magiczna":
  107. add {_number} of ender chest named "{@important}%{_name}%" to {_player}'s inventory
  108. else:
  109. if {case::type::%{_name}%} is "zwykla":
  110. add 64 of chest named "{@important}%{_name}%" to player's inventory
  111. else:
  112. add 64 of ender chest named "{@important}%{_name}%" to player's inventory
  113. stop
  114. send "{@tag} {@general}Taka skrzynia nie istnieje!"
  115. else:
  116. send "{@tag} {@important}/case give <name> [<type=""%%player%%""or""all"">] [<number>]"
  117. stop
  118. if arg 1 is "list":
  119. set {_2} to "%arg-2%" parsed as integer
  120. remove 1 from {_2}
  121. if arg-2 is not set:
  122. set {_2} to 0
  123. open chest with 6 rows named "{@important}Lista skrzynek:" to player
  124. wait 1 tick
  125. set {_slot} to 0
  126. loop 54 times:
  127. set {_22} to 54 * {_2}
  128. set {_ln} to loop-number + {_22}
  129. if "%{case::chestlist::%{_ln}%}%" doesn't contain "<none>":
  130. set player's current inventory's slot {_slot} to chest named "{@important}%{case::chestlist::%{_ln}%}%"
  131. add 1 to {_slot}
  132. wait 0.2 tick
  133. if arg 1 is "open":
  134. if arg 2 is set:
  135. if arg 3 is set:
  136. if player has permission "case.*":
  137. set {_player} to arg 3 parsed as player
  138. else:
  139. send "{@tag} {@general}Nie posiadasz uprawnien!"
  140. else:
  141. set {_player} to player
  142. set {_name} to arg 2
  143. replace all "_" with " " in {_name}
  144. loop {case::chestlist::*}:
  145. if loop-value is {_name}:
  146. if {case::type::%{_name}%} is "zwykla":
  147. if {_player}'s inventory contains chest named "{@important}%{_name}%":
  148. if (size of {case::%{_name}%::itemlist::*}) > 0:
  149. chance of 10%:
  150. remove 1 chest named "{@important}%{_name}%" from {_player}'s inventory
  151. send "{@tag} {@general}Skrzynia jest pusta!" to {_player}
  152. else:
  153. set {_item} to random element out of {case::%{_name}%::itemlist::*}
  154. if "%{_item}%" is "cauldron item":
  155. remove 1 chest named "{@important}%{_name}%" from {_player}'s inventory
  156. send "{@tag} {@general}Skrzynia jest pusta!" to {_player}
  157. stop
  158. remove 1 chest named "{@important}%{_name}%" from {_player}'s inventory
  159. wait 3 ticks
  160. add {_item} to {_player}'s inventory
  161. send "{@tag} {@general}Otworzyles skrzynie!" to {_player}
  162. else:
  163. send "{@tag} {@general}W tej skrzyni nie mozna nic wylosowac!" to {_player}
  164. else:
  165. send "{@tag} {@general}Nie posiadasz tej skrzyni!" to {_player}
  166. else:
  167. if {_player}'s inventory contains ender chest named "{@important}%{_name}%":
  168. if (size of {case::%{_name}%::itemlist::*}) > 0:
  169. chance of 10%:
  170. remove 1 ender chest named "{@important}%{_name}%" from {_player}'s inventory
  171. send "{@tag} {@general}Skrzynia jest pusta!" to {_player}
  172. else:
  173. set {_item} to random element out of {case::%{_name}%::itemlist::*}
  174. if "%{_item}%" is "cauldron item":
  175. remove 1 ender chest named "{@important}%{_name}%" from {_player}'s inventory
  176. send "{@tag} {@general}Skrzynia jest pusta!" to {_player}
  177. stop
  178. remove 1 ender chest named "{@important}%{_name}%" from {_player}'s inventory
  179. wait 3 ticks
  180. add {_item} to {_player}'s inventory
  181. send "{@tag} {@general}Otworzyles skrzynie!" to {_player}
  182. else:
  183. send "{@tag} {@general}W tej skrzyni nie mozna nic wylosowac!" to {_player}
  184. else:
  185. send "{@tag} {@general}Nie posiadasz tej skrzyni!" to {_player}
  186. stop
  187. send "{@tag} {@general}Taka skrzynia nie istnieje!" to {_player}
  188. on inventory close:
  189. if {case::player::%player%::openedit} is set:
  190. clear {case::%{case::player::%player%::openedit}%::itemlist::*}
  191. loop 54 times:
  192. if slot "%loop-number - 1%" parsed as an integer of current inventory of player is not air:
  193. set {_item} to slot loop-number - 1 of current inventory of player
  194. add {_item} to {case::%{case::player::%player%::openedit}%::itemlist::*}
  195. clear {case::player::%player%::openedit}
  196. send "{@tag} {@general}Zapisano."
  197. on inventory click:
  198. if "%inventory name of player's current inventory%" contains "Lista Skrzynek:":
  199. cancel event
  200. set {_T} to "%uncoloured name of player's current inventory's slot slot%"
  201. replace all " " with "_" in {_t}
  202. close player's inventory
  203. make player execute command "case edit %{_T}%"
  204. on quit:
  205. clear {case::player::%player%::openedit}
  206. on right click:
  207. if player's tool is chest or ender chest:
  208. cancel event
  209. loop {case::chestlist::*}:
  210. if uncolored name of player's tool is loop-value:
  211. cancel event
  212. set {_name} to uncolored name of player's tool
  213. replace all " " with "_" in {_name}
  214. execute player command "case open %{_name}%"
  215. stop
Advertisement
Add Comment
Please, Sign In to add comment