Advertisement
Zeldaboy111

Skript #257 - Lobby

Oct 29th, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.32 KB | None | 0 0
  1. options:
  2. logo: &6Server &7▬ &2
  3. lobby: &cLobby &7► &2
  4. lcompass: &9C&3ompass
  5. cGuiName: &9M&3inigames
  6.  
  7.  
  8. #alt + 15 = ☼
  9. #alt + 26 = →
  10. #alt + 16 = ►
  11. #alt + 22 = ▬
  12.  
  13. #------------------- Functions -------------------
  14. function openCompass(p: Player):
  15. if {lobby.compassRows} is not set:
  16. set {lobby.compassRows} to 1
  17.  
  18. open chest with {lobby.compassRows} rows named "{@cGuiName}" to {_p}
  19.  
  20. loop {lobby.minigames.list::*}:
  21. if {lobby.minigames.%loop-value%.slot} starts with "-":
  22. stop
  23. else:
  24. if ({lobby.minigames.%loop-value%.slot} parsed as a number) is set:
  25.  
  26. if {lobby.minigames.%loop-value%.item} is "&cGeen":
  27. set {_item} to paper
  28.  
  29. else if ({lobby.minigames.%loop-value%.item} parsed as an item) is not set:
  30. set {_item} to paper
  31.  
  32. else:
  33. set {_item} to {lobby.minigames.%loop-value%.item}
  34.  
  35.  
  36. set {_slot} to ({lobby.minigames.%loop-value%.slot} parsed as a number)
  37.  
  38. if {lobby.minigames.%loop-value%.name} is set:
  39. if {lobby.minigames.%loop-value%.name} is not "&cGeen":
  40. set {_name} to {lobby.minigames.%loop-value%.name}
  41. replace "&" in {_name} with "§"
  42. if {lobby.minigames.%loop-value%.lore} is set:
  43. if {lobby.minigames.%loop-value%.lore} is not "&cGeen":
  44. set {_lore} to {lobby.minigames.%loop-value%.lore}
  45. replace "&" in {_lore} with "§"
  46. format gui slot {_slot} of {_p} with "%{lobby.minigames.%loop-value%.item}%" parsed as an item named "%{_name}%" with lore "%{_lore}%" to do nothing
  47. else:
  48. format gui slot {_slot} of {_p} with "%{lobby.minigames.%loop-value%.item}%" parsed as an item named "%{_name}%" to do nothing
  49. else:
  50. format gui slot {_slot} of {_p} with "%{lobby.minigames.%loop-value%.item}%" parsed as an item named "%{_name}%" to do nothing
  51. else:
  52. format gui slot {_slot} of {_p} with "%{lobby.minigames.%loop-value%.item}%" parsed as an item to do nothing
  53. else:
  54. format gui slot {_slot} of {_p} with "%{lobby.minigames.%loop-value%.item}%" parsed as an item to do nothing
  55.  
  56.  
  57. function changeName(p: Player, s: String):
  58. open chest with 3 rows named "&4Naam &c%{_s}%" to {_p}
  59.  
  60. format gui slot 12 of {_p} with green_wool named "&aVeranderen" to run:
  61. close {_p}'s inventory
  62. send "{@lobby} &2Klik <suggest command:/lcompass setname %{_s}% [naam]>&ahier<reset> &2om de naam aan te passen." to {_p}
  63.  
  64.  
  65. format gui slot 14 of {_p} with red_wool named "&cWeigeren" to run:
  66. close {_p}'s inventory
  67. send "{@lobby} &4Je hebt ervoor gekozen om de minigame%nl%&c%{_s}% &4geen andere naam te geven." to {_p}
  68.  
  69. function changeLore(p: Player, s: String):
  70. open chest with 3 rows named "&4Lore &c%{_s}%" to {_p}
  71.  
  72. format gui slot 12 of {_p} with green_wool named "&aVeranderen" to run:
  73. close {_p}'s inventory
  74. send "{@lobby} &2Klik <suggest command:/lcompass setlore %{_s}% [lore]>&ahier<reset> &2om de lore aan te passen." to {_p}
  75.  
  76. format gui slot 14 of {_p} with red_wool named "&cWeigeren" to run:
  77. close {_p}'s inventory
  78. send "{@lobby} &4Je hebt ervoor gekozen om de minigame%nl%&c%{_s}% &4geen andere lore te geven" to {_p}
  79.  
  80. function changeItem(p: Player, s: String):
  81. open chest with 3 rows named "&4Item &c%{_s}%" to {_p}
  82.  
  83. format gui slot 12 of {_p} with green_wool named "&aVeranderen" to run:
  84. close {_p}'s inventory
  85. send "{@lobby} &2Klik <suggest command:/lcompass setitem %{_s}% [item]>&ahier<reset> &2om het item aan te passen." to {_p}
  86.  
  87. format gui slot 14 of {_p} with red_wool named "&cWeigeren" to run:
  88. close {_p}'s inventory
  89. send "{@lobby} &4Je hebt ervoor gekozen om de minigame%nl%&c%{_s}% &4geen ander item te geven." to {_p}
  90.  
  91. function setSlot(p: Player, s: String):
  92. open chest with 3 rows named "&4Slot &c%{_s}%" to {_p}
  93.  
  94. format gui slot 12 of {_p} with green_wool named "&aVeranderen" to run:
  95. close {_p}'s inventory
  96. send "{@lobby} &2Klik <suggest command:/lcompass slot %{_s}% [slot]>&ahier<reset> &2om het slot aan te passen." to {_p}
  97.  
  98. format gui slot 14 of {_p} with red_wool named "&cWeigeren" to run:
  99. close {_p}'s inventory
  100. send "{@lobby} &4Je hebt ervoor gekozen om de minigame%nl%&c%{_s}% &4geen ander slot te geven." to {_p}
  101.  
  102.  
  103. function setSpawn(p: Player, s: String):
  104. open chest with 3 rows named "&4Spawn &c%{_s}%" to {_p}
  105.  
  106. format gui slot 12 of {_p} with green_wool named "&aZet spawn" to run:
  107. close {_p}'s inventory
  108. send "{@lobby} &2Klik <command:/lcompass setspawn %{_s}%>&ahier<reset> &2om de spawn te zetten." to {_p}
  109.  
  110. format gui slot 14 of {_p} with red_wool named "&cWeigeren" to run:
  111. close {_p}'s inventory
  112. send "{@lobby} &4Je hebt vervoor gekozen om de minigame%nl%&c%{_s}% &4geen andere spawn te geven." to {_p}
  113.  
  114.  
  115. function deleteMinigame(p: Player, s: String):
  116. open chest with 3 rows named "&4Verwijder &c%{_s}%" to {_p}
  117.  
  118. format gui slot 12 of {_p} with green_wool named "&aAccepteren" to run:
  119. close {_p}'s inventory
  120. execute player command "/lcompass delete %{_s}%"
  121.  
  122. format gui slot 14 of {_p} with red_wool named "&cWeigeren" to run:
  123. close {_p}'s inventory
  124. send "{@lobby} &4Je hebt ervoor gekozen om de minigame%nl%&c%{_s}% &4niet te verwijderen." to {_p}
  125.  
  126.  
  127.  
  128. #------------------- Periotic Events -------------------
  129.  
  130.  
  131.  
  132.  
  133.  
  134. #------------------- Events -------------------
  135. on join:
  136. if {lobby.location} is set:
  137. teleport player to {lobby.location}
  138. set join message to ""
  139. wait 10 ticks
  140.  
  141. clear player's inventory
  142. send "{@lobby} &fDe speler %player% is gejoined!" to all players in world of player
  143. set slot 4 of player to a compass named "{@lcompass}"
  144.  
  145.  
  146. on inventory click:
  147. if player is in world of {lobby.location}:
  148. if clicked item is a compass named "{@lcompass}":
  149. cancel event
  150. close player's inventory
  151. openCompass(player)
  152.  
  153. on click:
  154. if player is in world of {lobby.location}:
  155. if player's held item is a compass named "{@lcompass}":
  156. cancel event
  157. openCompass(player)
  158.  
  159.  
  160. on command:
  161. command is "plugins" or "pl":
  162. cancel event
  163.  
  164. if player is not op:
  165. stop
  166.  
  167. else:
  168. set {_list::*} to list of plugins
  169. set {_count} to 0
  170. loop {_list::*}:
  171. add 1 to {_count}
  172. send "{@logo} Plugins lijst:%nl%&f(&a%{_count}%&f) &2%list of plugins%"
  173.  
  174. else:
  175. set {cmd} to "%command to lower case%"
  176.  
  177.  
  178. #------------------- Commands -------------------
  179. command /lobby [<text>] [<text>]:
  180. aliases: /hub
  181. trigger:
  182. if player has permission "lobby.*":
  183. if arg-1 is set:
  184. if arg-1 is "help":
  185. send "&2----------[ &a%{cmd}% &2]----------"
  186. send "&e&o/%{cmd}% help &d→ &fKrijg help pagina"
  187. send "&e&o/%{cmd}% set &d→ &fZet de lobby"
  188. send "&2----------[ &a%{cmd}% &2]----------"
  189.  
  190. else if arg-1 is "set":
  191. send "{@logo} &2Succesvol de &a%{cmd}% &2gezet naar je locatie!"
  192. set {lobby.location} to location of player
  193.  
  194. else:
  195. if {lobby.location} is set:
  196. if world of player is not "%world of {lobby.location}%":
  197. teleport player to {lobby.location}
  198. send "{@lobby} &fDe speler %player% is naar de lobby gegaan!" to all players in world of player
  199. clear player's inventory
  200. set slot 4 of player to a compass named "{@lcompass}"
  201.  
  202. else:
  203. teleport player to {lobby.location}
  204.  
  205.  
  206. else:
  207. send "{@lobby} &cDe %{cmd}% is nog niet gezet!"
  208.  
  209.  
  210. else if {lobby.location} is set:
  211. if world of player is not "%world of {lobby.location}%":
  212. teleport player to {lobby.location}
  213. send "{@lobby} &fDe speler %player% is naar de lobby gegaan!" to all players in world of player
  214. clear player's inventory
  215. set slot 4 of player to a compass named "{@lcompass}"
  216.  
  217. else:
  218. teleport player to {lobby.location}
  219.  
  220. else:
  221. send "{@lobby} &cDe %{cmd}% is nog niet gezet!"
  222.  
  223.  
  224. command /lobbycompass [<text>] [<text>] [<text>]:
  225. aliases: /lcomp, /lcompass
  226. trigger:
  227. if player has permission "lobbycompass.*":
  228. if arg 1 is not set:
  229. send "{@lobby} &4Doe &c&o/%{cmd}% help &4voor meer info."
  230.  
  231. else if arg 1 is set:
  232. if arg 1 is "help":
  233. send "&2----------[ &a%{cmd}% &2]----------"
  234. send "&e&o/%{cmd}% help &d→ &fKrijg help pagina"
  235. send "&e&o/%{cmd}% create <minigame> &d→ &fCreate een minigame"
  236. send "&e&o/%{cmd}% remove/delete <minigame> &d→ &fDelete een minigame"
  237. send "&e&o/%{cmd}% setspawn <minigame> &d→ &fZet een minigame spawn"
  238. send "&e&o/%{cmd}% slot <minigame> <nummer> &d→ &fZet het gui slot van een minigame"
  239.  
  240. send "&e&o/%{cmd}% setname <minigame> <naam> &d→ &fZet een naam"
  241. send "&e&o/%{cmd}% deletename <minigame> &d→ &fVerwijder een minigame naam"
  242. send "&e&o/%{cmd}% setlore <minigame> <lore> &d→ &fZet een lore"
  243. send "&e&o/%{cmd}% deletelore <minigame> <minigame> &d→ &fVerwijder een minigame lore"
  244. send "&e&o/%{cmd}% setitem <minigame> <item> &d→ &fZet het icoon van de minigame"
  245. send "&e&o/%{cmd}% list &d→ &fKrijg een lijst van alle minigames"
  246. send "&e&o/%{cmd}% setrows <nummer> &d→ &fZet het aantal rijen in het compass gui"
  247. send "&e&o/%{cmd}% gui <minigame> &d→ &fOpen het config-gui"
  248. send "&2----------[ &a%{cmd}% &2]----------"
  249.  
  250. else if arg 1 is "create":
  251. if arg 2 is set:
  252. if {lobby.minigames.%arg 2%} is not set:
  253. set {lobby.minigames.%arg 2%} to true
  254. set {lobby.minigames.%arg 2%.name} to "&cGeen"
  255. set {lobby.minigames.%arg 2%.lore} to "&cGeen"
  256. set {lobby.minigames.%arg 2%.item} to "&cGeen"
  257. set {lobby.minigames.%arg 2%.slot} to "&cGeen"
  258. set {lobby.minigames.%arg 2%.spawn} to "&cGeen"
  259. add arg 2 to {lobby.minigames.list::*}
  260.  
  261. send "{@lobby} &2Succesvol de minigame &a%arg 2% &2gemaakt."
  262.  
  263. else:
  264. send "{@lobby} &4De minigame &c%arg 2% &4bestaat al."
  265. else:
  266. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1% <minigame>&4."
  267.  
  268. else if arg 1 is "delete" or "remove":
  269. if arg 2 is set:
  270. if {lobby.minigames.%arg 2%} is set:
  271. delete {lobby.minigames.%arg 2%}
  272. delete {lobby.minigames.%arg 2%.name}
  273. delete {lobby.minigames.%arg 2%.lore}
  274. delete {lobby.minigames.%arg 2%.item}
  275. delete {lobby.minigames.%arg 2%.slot}
  276. delete {lobby.minigames.%arg 2%.spawn}
  277. remove arg 2 from {lobby.minigames.list::*}
  278.  
  279. send "{@lobby} &2Succesvol de minigame &a%arg 2% &2verwijderd."
  280.  
  281. else:
  282. send "{@lobby} &4De minigame &c%arg 2% &4bestaat niet."
  283. else:
  284. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% <minigame>&4."
  285.  
  286.  
  287. else if arg 1 is "setspawn":
  288. if arg 2 is set:
  289. if {lobby.minigames.%arg 2%} is set:
  290. set {lobby.minigames.%arg 2%.spawn} to location of player
  291. send "{@lobby} &2Succesvol de spawn van de minigame%nl%&a%arg 2% &2gezet op &a%location of player%&2!"
  292.  
  293. else:
  294. send "{@lobby} &4De minigame &c%arg 2% &4bestaat niet!"
  295. else:
  296. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% <minigame>&4."
  297.  
  298. else if arg 1 is "slot":
  299. if arg 2 is set:
  300. if {lobby.minigames.%arg 2%} is set:
  301. if arg 3 is set:
  302. if (arg 3 parsed as a number) is set:
  303. if {lobby.compassRows} is not set:
  304. set {lobby.compassRows} to 1
  305.  
  306. if {lobby.compassRows} < 1:
  307. set {lobby.compassRows} to 1
  308.  
  309.  
  310. if {lobby.compassRows}*9-1 < arg-3 parsed as a number:
  311. send "{@lobby} &4Het aantal &c%arg 3% &4is te groot omdat het maximaal aantal slots &c%{lobby.compassRows}*9+1% &4is!"
  312.  
  313. else:
  314. loop {lobby.minigames.list::*}:
  315. if {lobby.minigames.%loop-value%.slot} is arg 3:
  316. set {_set} to loop-value
  317. stop loop
  318.  
  319. if {_set} is set:
  320. send "{@lobby} &4Het slot &c%arg 3% &4is al in gebruik voor de minigame &c%{_set}%&4!"
  321. else:
  322. set {lobby.minigames.%arg 2%.slot} to arg 3
  323. send "{@lobby} &2Succesvol het slot van &a%arg 2% &2gezet naar &a%arg 3%&2!"
  324. else:
  325. send "{@lobby} &c%arg 3% &4is geen nummer!"
  326. else:
  327. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% %arg 2% <nummer>&4."
  328. else:
  329. send "{@lobby} &4De minigame &c%arg 2% &4bestaat niet!"
  330. else:
  331. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% <minigame> <nummer>&4."
  332.  
  333.  
  334. else if arg 1 is "setname":
  335. if arg 2 is set:
  336. if {lobby.minigames.%arg 2%} is set:
  337. if arg 3 is set:
  338. set {lobby.minigames.%arg 2%.name} to arg 3
  339. send "{@lobby} &2Succesvol de naam van de minigame &a%arg 2% &2gezet naar &a%arg 3%&2!"
  340.  
  341. else:
  342. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% %arg 2% <naam>&4."
  343. else:
  344. send "{@lobby} &4De minigame &c%arg 2% &4bestaat niet!"
  345. else:
  346. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% <naam>&4."
  347.  
  348. else if arg 1 is "delname" or "deletename":
  349. if arg 2 is set:
  350. delete {lobby.minigames.%arg 2%.name}
  351. send "{@lobby} &2Succesvol de naam van de minigame &a%arg 2% &2verwijderd!"
  352.  
  353. else:
  354. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% <minigame>&4."
  355.  
  356. else if arg 1 is "setlore":
  357. if arg 2 is set:
  358. if {lobby.minigames.%arg 2%} is set:
  359. if arg 3 is set:
  360. set {lobby.minigames.%arg 2%.lore} to arg 3
  361. send "{@lobby} &2Succesvol de lore van de minigame &a%arg 2% &2gezet naar &a%arg 3%&2!"
  362.  
  363. else:
  364. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% %arg 2% <lore>&4."
  365. else:
  366. send "{@lobby} &4De minigame &c%arg 2% &4bestaat niet!"
  367. else:
  368. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% <minigame> <lore>&4."
  369.  
  370. else if arg 1 is "dellore" or "deletelore":
  371. if arg 2 is set:
  372. if {lobby.minigames.%arg 2%} is set:
  373. delete {lobby.minigames.%arg 2%.lore}
  374. send "{@lobby} &2Succesvol de lore van de minigame &a%arg 2% &2verwijderd!"
  375.  
  376. else:
  377. send "{@lobby} &4De minigame &c%arg 2% &4bestaat niet!"
  378. else:
  379. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% <naam>&4."
  380.  
  381. else if arg 1 is "setitem":
  382. if arg 2 is set:
  383. if {lobby.minigames.%arg 2%} is set:
  384. if arg 3 is set:
  385. if (arg 3 parsed as an item) is set:
  386. set {lobby.minigames.%arg 2%.item} to arg 3 parsed as an item
  387. send "{@lobby} &2Succesvol het item van de minigame &a%arg 2% &2gezet naar &a%arg 3%&2!"
  388.  
  389. else:
  390. send "{@lobby} &c%arg 3% &4is geen item!"
  391. else:
  392. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% %arg 2% <item>&4."
  393. else:
  394. send "{@lobby} &4De minigame &c%arg 2% &4bestaat niet!"
  395. else:
  396. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% <minigame> <item>&4."
  397.  
  398.  
  399. else if arg 1 is "list":
  400.  
  401.  
  402.  
  403. if {lobby.minigames.list::*} is not empty:
  404. loop {lobby.minigames.list::*}:
  405. if {_list} is set:
  406. add "&2, &a" to {_list}
  407. add loop-value to {_list}
  408.  
  409.  
  410. else:
  411. set {_list} to "Geen"
  412.  
  413. send "{@lobby} &2Dit is de lijst met alle minigames:%nl%&a%{_list}%"
  414.  
  415.  
  416. else if arg 1 is "setrows":
  417. if arg 2 is set:
  418. if (arg 2 parsed as a number) is set:
  419. if (arg-2 parsed as a number) < 7:
  420. set {lobby.compassRows} to (arg-2 parsed as a number)
  421. send "{@lobby} &2Succesvol het aantal rijen gezet naar &a%arg 2%&2!"
  422.  
  423. else:
  424. send "{@lobby} &4Het maximaal aantal rijen is &c6&4!"
  425. else:
  426. send "{@lobby} &c%arg 2% &4is geen nummer!"
  427. else:
  428. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% <nummer>&4."
  429.  
  430.  
  431. else if arg 1 is "gui":
  432. if arg 2 is set:
  433. if {lobby.minigames.%arg 2%} is set:
  434. open chest with 2 rows named "&7Config GUI" to player
  435.  
  436. set {_name} to {lobby.minigames.%arg 2%.name}
  437. replace "&" in {_name} with "§"
  438.  
  439. set {_lore} to {lobby.minigames.%arg 2%.lore}
  440. replace "&" in {_lore} with "§"
  441.  
  442.  
  443. format gui slot 2 of player with a book named "&2Minigame: &a%arg 2%" to do nothing
  444. format gui slot 3 of player with a name tag named "&2Naam: &f%{_name}%" to close then run function changeName(player, "%arg 2%")
  445. format gui slot 4 of player with a paper named "&2Lore: &f%{_lore}%" to close then run function changeLore(player, "%arg 2%")
  446. format gui slot 5 of player with a item frame named "&2Item: &a%{lobby.minigames.%arg 2%.item}%" to close then run function changeItem(player, "%arg 2%")
  447. format gui slot 6 of player with a clock named "&2Slot: &a%{lobby.minigames.%arg 2%.slot}%" to close then run function setSlot(player, "%arg 2%")
  448.  
  449. format gui slot 12 of player with a paper named "&2Spawn: &a%{lobby.minigames.%arg 2%.spawn}%" to close then run function setSpawn(player, "%arg 2%")
  450. format gui slot 13 of player with a barrier named "&cClose menu" to close
  451. format gui slot 14 of player with redstone named "&4Verwijderen" to close then run function deleteMinigame(player, "%arg 2%")
  452.  
  453.  
  454. else:
  455. send "{@lobby} &4De minigame &c%arg 2% &4bestaat niet!"
  456. else:
  457. send "{@lobby} &4Command niet goed gebruikt! &c&o/%{cmd}% %arg 1 to lower case% <minigame>&4."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement