Zeldaboy111

Skript #99 Function + LCrates

Feb 4th, 2019
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.17 KB | None | 0 0
  1. #Function
  2. function newFile(floc: text) :: text:
  3. if file "%{_floc}%" doesn't exist:
  4. create file "%{_floc}%"
  5.  
  6. function varFile(path: text, file: text) :: texts:
  7. if file "%{_file}%" exists:
  8. set {_var::*} to yaml list "%{_path}%" of file "%{_file}%"
  9. return {_var::*}
  10.  
  11. function capitalizeFirst(text: texts) :: texts:
  12.  
  13. loop {_text::*}:
  14. set {_first-char} to first character of loop-value
  15. set {_remaining} to last (length of loop-value - 1) characters of loop-value
  16.  
  17. set {_output::%loop-index%} to "%{_first-char} in upper case%%{_remaining}%"
  18.  
  19. return {_output::*}
  20.  
  21. #{crate::rinfo::Basic::*}
  22. #{crate::rinfo::Epic::*}
  23. #{crate::rinfo::Legendary::*}
  24.  
  25. function openCrate(p: player, t: string, n: string):
  26. loop {crate::rinfo::%{_t}%::*}:
  27. add {crate::%{_t}%::%loop-index%} to {_roll::*}
  28.  
  29. open chest with 3 rows named {_n} to {_p}
  30. wait a tick
  31. set {_speedFinal} to 1
  32. set {_Selector1} to 4
  33. set {_Selector2} to 22
  34. loop 9 times:
  35. set slot loop-number - 1 of {_p}'s current inventory to black stained glass pane named " "
  36. set slot loop-number + 17 of {_p}'s current inventory to black stained glass pane named " "
  37.  
  38. #LCrates
  39. on load:
  40. set {crate::title} to "&2[&aCrates&2] &a&k::&2"
  41. set {crate::nep} to "%{crate::title}% &4Je hebt &c&lonvoldoende permissies &4om deze command uit te voeren."
  42.  
  43. if file "Files\Crates\list.yml" doesn't exist:
  44. create file "Files\Crates\list.yml"
  45.  
  46. if file "Files\Crates\loc.yml" doesn't exist:
  47. create file "Files\Crates\loc.yml"
  48.  
  49. if file "Files\Crates\rewards.yml" doesn't exist:
  50. create file "Files\Crates\rewards.yml"
  51.  
  52. every 1 tick:
  53. delete {crate::list::*}
  54. set {crate::list::*} to yaml list "crates.list" of file "Files\Crates\list.yml"
  55.  
  56. command /key [<text>] [<player>]:
  57. trigger:
  58. if player has permission "crate.key.give" OR "crate.*":
  59. if arg 1 is set:
  60. if arg 1 is "help":
  61. send "&2========&2[&aCrates&2]========"
  62. json("%player%", "&a&l/key list||ttp:&7Krijg een lijst met alle keys||cmd:/key list")
  63. json("%player%", "&a&l/key <keynaam>||ttp:&7Geef jezelf een key||sgt:/key <keynaam>|| &a&l[speler]||ttp:&7Geef een key aan een speler||sgt:/key <keynaam> [speler]")
  64. send "&2========&2[&aCrates&2]========"
  65. stop
  66. if arg 1 is "list":
  67. send "%{crate::title}% Dit zijn alle crates:"
  68. send "&a&l%{crate::list::*}%"
  69. stop
  70. if {crate::list::*} doesn't contain arg 1:
  71. json("%player%", "%{crate::title}% Dit is geen key, doe:|| &a&l/key help||ttp:&7Krijg help menu||cmd:/key help|| &2voor meer info.")
  72. stop
  73. else:
  74.  
  75. set {%arg 1%::low::*} to arg 1
  76. set {%arg 1%::up::*} to capitalizeFirst({%arg 1%::low::*})
  77.  
  78. delete {crate::kinfo::%arg 1%::*}
  79. set {crate::kinfo::%arg 1%::*} to yaml list "crates.info.%{%arg 1%::up::*}%.kname" of file "Files\Crates\list.yml"
  80.  
  81. if arg 2 is set:
  82. if arg 2 is online:
  83.  
  84. send "%{crate::title}% Je hebt een &a&lkey &2gegeven aan &a&l%arg 2%&2."
  85. send "%{crate::title}% Veel plezier met je key!" to arg 2
  86.  
  87. give 1 tripwire hook named "%{crate::kinfo::%arg 1%::*}%" with lore "&5&kl" to arg 2
  88. stop
  89. else:
  90. send "%{crate::title}% &4Deze speler is niet online."
  91. stop
  92. else:
  93. send "%{crate::title}% Veel plezier met je key!"
  94. give 1 tripwire hook named "%{crate::kinfo::%arg 1%::*}%" with lore "&5&kl" to player
  95. stop
  96.  
  97.  
  98. else:
  99. json("%player%", "%{crate::title}% Doe:|| &a&l/key help||ttp:&7Krijg help menu||cmd:/key help|| &2voor meer info.")
  100. stop
  101.  
  102. else:
  103. send "%{crate::nep}%"
  104. stop
  105.  
  106. command /crate [<text>] [<text>]:
  107. trigger:
  108. if player has permission "crate.give" OR "crate.*":
  109. if arg 1 is set:
  110. if arg 1 is "help":
  111. send "&2========&2[&aCrates&2]========"
  112. json("%player%", "&a&l/crate list||ttp:&7Krijg een lijst met alle keys||cmd:/crate list")
  113. json("%player%", "&a&l/crate add <cratenaam>||ttp:&7Maak een crate||sgt:/crate add <cratenaam>")
  114. json("%player%", "&a&l/crate delete/remove||ttp:&7Remove een crate||sgt:/crate delete")
  115. send "&2========&2[&aCrates&2]========"
  116. stop
  117.  
  118. if arg 1 is "list":
  119. send "%{crate::title}% Dit zijn alle crates:"
  120. send "&a&l%{crate::list::*}%"
  121. stop
  122.  
  123. if arg 1 is "add":
  124. if targeted block is a chest:
  125. if {crate::list::*} doesn't contain "%arg 2%":
  126. json("%player%", "%{crate::title}% Dit is geen crate, doe:|| &a&l/crate list||ttp:&7Krijg crate list||cmd:/crate list|| &2voor de lijst met alle crates.")
  127. stop
  128.  
  129. else:
  130.  
  131. delete {crate::info::loc::*}
  132. add {crate::info::bloc::*} to {crate::info::loc::*}
  133. add {crate::info::eloc::*} to {crate::info::loc::*}
  134. add {crate::info::lloc::*} to {crate::info::loc::*}
  135.  
  136. if {crate::info::loc::*} contains "%location of targeted block%":
  137. json("%player%", "%{crate::title}% &4Dit is al een &ccrate&4, doe:|| &c&l/crate delete/remove||ttp:&7Delete een crate||sgt:/crate delete|| %nl%&4om deze crate te verwijderen.")
  138. stop
  139.  
  140. else:
  141.  
  142. send "&2===========&2[&aCrates&2]==========="
  143. send "&2Crate succesvol toegevoegd met%nl%de volgende eigenschappen:"
  144. send "&2Crate naam: &a&l%arg 2%"
  145. send "&2Locatie: &a&l%location of targeted block%"
  146. send "&2===========&2[&aCrates&2]==========="
  147.  
  148. set {%arg 2%::low::*} to arg 2
  149. set {%arg 2%::up::*} to capitalizeFirst({%arg 2%::low::*})
  150.  
  151. add "%location of targeted block%" to yaml list "Crates.info.%{%arg 2%::up::*}%.loc" of file "Files\Crates\loc.yml"
  152. stop
  153.  
  154. else:
  155. send "%{crate::title}% &4Dit is geen &ckist&4."
  156. stop
  157.  
  158. if arg 1 is "delete" OR "remove":
  159.  
  160. delete {crate::info::loc::*}
  161. add {crate::info::bloc::*} to {crate::info::loc::*}
  162. add {crate::info::eloc::*} to {crate::info::loc::*}
  163. add {crate::info::lloc::*} to {crate::info::loc::*}
  164.  
  165. if {crate::info::loc::*} doesn't contain "%location of targeted block%":
  166. json("%player%", "%{crate::title}% &4Dit is geen &ccrate&4, doe:|| &c/crate add <cratenaam>||ttp:&7Maak een crate||sgt:/crate add <cratenaam>|| %nl%&4om een crate te maken.")
  167. stop
  168.  
  169. else:
  170. remove "%location of targeted block%" from yaml list "Crates.info.Basic.loc" of file "Files\Crates\loc.yml"
  171. remove "%location of targeted block%" from yaml list "Crates.info.Epic.loc" of file "Files\Crates\loc.yml"
  172. remove "%location of targeted block%" from yaml list "Crates.info.Legendary.loc" of file "Files\Crates\loc.yml"
  173.  
  174. send "%{crate::title}% &2Succesvol de crate verwijderd."
  175. stop
  176.  
  177. else:
  178. json("%player%", "%{crate::title}% Doe:|| &a&l/crate help||ttp:&7Krijg help menu||cmd:/crate help|| &2voor meer info.")
  179. stop
  180.  
  181. else:
  182. json("%player%", "%{crate::title}% Doe:|| &a&l/crate help||ttp:&7Krijg help menu||cmd:/crate help|| &2voor meer info.")
  183. stop
  184.  
  185. else:
  186. send "%{crate::nep}%"
  187. stop
  188.  
  189.  
  190. #================================================
  191. #Locatie: "Files\Crates\loc.yml"
  192.  
  193. every 1 tick:
  194.  
  195. delete {crate::info::bloc::*}
  196. delete {crate::info::eloc::*}
  197. delete {crate::info::lloc::*}
  198.  
  199. delete {crate::kinfo::Basic::*}
  200. delete {crate::kinfo::Epic::*}
  201. delete {crate::kinfo::Legendary::*}
  202.  
  203. delete {crate::rinfo::Basic::*}
  204. delete {crate::rinfo::Epic::*}
  205. delete {crate::rinfo::Legendary::*}
  206.  
  207. set {crate::info::bloc::*} to yaml list "Crates.info.Basic.loc" of file "Files\Crates\loc.yml"
  208. set {crate::info::eloc::*} to yaml list "Crates.info.Epic.loc" of file "Files\Crates\loc.yml"
  209. set {crate::info::lloc::*} to yaml list "Crates.info.Legendary.loc" of file "Files\Crates\loc.yml"
  210.  
  211. set {crate::kinfo::Basic::*} to yaml list "crates.info.Basic.kname" of file "Files\Crates\list.yml"
  212. set {crate::kinfo::Epic::*} to yaml list "crates.info.Epic.kname" of file "Files\Crates\list.yml"
  213. set {crate::kinfo::Legendary::*} to yaml list "crates.info.Legendary.kname" of file "Files\Crates\list.yml"
  214.  
  215. set {crate::rinfo::Basic::*} to yaml list "crates.info.Basic.rewards" of file "Files\Crates\rewards.yml"
  216. set {crate::rinfo::Epic::*} to yaml list "crates.info.Epic.rewards" of file "Files\Crates\rewards.yml"
  217. set {crate::rinfo::Legendary::*} to yaml list "crates.info.Legendary.rewards" of file "Files\Crates\rewards.yml"
  218.  
  219. on click on a chest:
  220. set {_loc} to location of clicked block
  221. if {crate::info::bloc::*} contains "%{_loc}%":
  222. cancel event
  223. if player is holding a tripwire hook named "%{crate::kinfo::Basic::*}%" with lore "&5&kl":
  224. openCrate(player, "Basic", "Basic Crate")
  225.  
  226. if {crate::info::eloc::*} contains "%{_loc}%":
  227. cancel event
  228. if player is holding a tripwire hook named "%{crate::kinfo::Epic::*}%" with lore "&5&kl":
  229. send "Epic"
  230.  
  231. if {crate::info::lloc::*} contains "%{_loc}%":
  232. cancel event
  233. if player is holding a tripwire hook named "%{crate::kinfo::Legendary::*}%" with lore "&5&kl":
  234. send "Legendary"
  235.  
  236. on rightclick:
  237. player is holding a tripwire hook named "%{crate::kinfo::Basic::*}%" with lore "&5&kl":
  238. cancel event
  239.  
  240. player is holding a tripwire hook named "%{crate::kinfo::Epic::*}%" with lore "&5&kl":
  241. cancel event
  242.  
  243. player is holding a tripwire hook named "%{crate::kinfo::Legendary::*}%" with lore "&5&kl":
  244. cancel event
Add Comment
Please, Sign In to add comment