Advertisement
_omga

Kits Skript Release

Feb 24th, 2021
1,907
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.25 KB | None | 0 0
  1. options:
  2. prefix: &6Kits&e+ &8▪
  3. secondary: &7
  4. permission: kits.admin
  5. dropKits: false # If the player drop's their kit when they die.
  6.  
  7. # The kit creating command
  8. # Usage:
  9. # /kits.create placeholderKit
  10. # Creates a kit with the player's current inventory.
  11. command kits.create <string>:
  12. usage: {@prefix} {@secondary}/kits.create <name>
  13. permission: {@permission}
  14. trigger:
  15. set {_id} to 1
  16. while {kits::%{_id}%::*} is set:
  17. add 1 to {_id}
  18. loop indices of {kits::*}:
  19. uncolored {kits::%loop-value%::name} is uncolored arg 1
  20. send "{@prefix} {@secondary}A kit with the name &e%uncolored arg 1% {@secondary}already exists."
  21. stop
  22. loop player's inventory:
  23. loop-value is not air
  24. set {kits::%{_id}%::contents::%index of loop-slot%} to loop-slot
  25. set {kits::%{_id}%::name} to arg 1 in proper case
  26. send "{@prefix} {@secondary}Created kit &e%uncolored arg 1 in proper case% {@secondary}."
  27.  
  28. # The kit deleting command
  29. # Usage:
  30. # /kits.delete placeholderKit
  31. # Deletes a kit.
  32. command kits.delete <string>:
  33. usage: {@prefix} {@secondary}/kits.delete <kit name>
  34. permission: {@permission}
  35. trigger:
  36. loop indices of {kits::*}:
  37. uncolored {kits::%loop-value%::name} is uncolored arg 1
  38. set {_id} to loop-value
  39. if {_id} is not set:
  40. send "{@prefix} {@secondary}A kit with the name &e%uncolored arg 1 in proper case% {@secondary}does not exist."
  41. stop
  42. delete {kits::%{_id}%::*}
  43. send "{@prefix} {@secondary}Deleted kit &e%uncolored arg 1 in proper case%{@secondary}."
  44.  
  45. # The kit editting command
  46. # Usage:
  47. # /kits.edit placeholderKit
  48. # Sets a kits contents to your inventory.
  49. command kits.edit <string>:
  50. usage: {@prefix} {@secondary}/kits.edit <kit name>
  51. permission: {@permission}
  52. trigger:
  53. loop indices of {kits::*}:
  54. uncolored {kits::%loop-value%::name} is uncolored arg 1
  55. set {_id} to loop-value
  56. if {_id} is not set:
  57. send "{@prefix} {@secondary}A kit with the name &e%uncolored arg 1 in proper case% {@secondary}does not exist."
  58. stop
  59. delete {kits::%{_id}%::contents::*}
  60. loop player's inventory:
  61. loop-value is not air
  62. set {kits::%{_id}%::contents::%index of loop-slot%} to loop-slot
  63. send "{@prefix} {@secondary}Editted kit &e%uncolored arg 1 in proper case%{@secondary} to your inventory."
  64.  
  65. # The main kit getting command
  66. # Usage:
  67. # /kit placeholderKit
  68. # Gives the player a kit and clears their inventory.
  69. command kit <string>:
  70. usage: {@prefix} {@secondary}/kit <kit name>
  71. trigger:
  72. if {received::%player's uuid%} is true:
  73. send "{@prefix} {@secondary}You already have a kit active. Die to get a new kit."
  74. stop
  75. loop indices of {kits::*}:
  76. uncolored {kits::%loop-value%::name} is uncolored arg 1
  77. set {_id} to loop-value
  78. if {_id} is not set:
  79. send "{@prefix} {@secondary}A kit with the name &e%uncolored arg 1 in proper case% {@secondary}does not exist."
  80. stop
  81. clear player's inventory
  82. loop indices of {kits::%{_id}%::contents::*}:
  83. set slot loop-value parsed as integer of player's inventory to {kits::%{_id}%::contents::%loop-value%}
  84. send "{@prefix} {@secondary}Recieved kit &e%uncolored arg 1 in proper case%{@secondary}."
  85. set {received::%player's uuid%} to true
  86.  
  87.  
  88. # The kits GUI command
  89. # Usage:
  90. # /kits
  91. # /kits 1 filterThis
  92. # Displays a GUI with all of the kits. Change this to whatever you want / need.
  93. command kits [<integer = 1>] [<string = "">]:
  94. usage: {@prefix} {@secondary}/kits [page] [name filter]
  95. trigger:
  96. if {received::%player's uuid%} is true:
  97. send "{@prefix} {@secondary}You already have a kit active. Die to get a new kit."
  98. stop
  99. if arg 2 != "":
  100. loop indices of {kits::*}:
  101. add loop-value to {_results::*} if {kits::%loop-value%::name} contains uncolored arg 2
  102. set {_results::*} to indices of {kits::*} if size of {_results::*} <= 0
  103. set {_offset} to arg 1
  104. remove 1 from {_offset}
  105. set {_offset} to 0 if {_offset} < 0
  106. set (metadata "kits" of player) to chest inventory with 6 rows named "Kits | Page %{_offset} + 1%"
  107. set {_itemsPerPage} to 45
  108. set {_slot} to 0
  109. loop integers between ({_offset} * {_itemsPerPage}) + 1 and ({_offset} * {_itemsPerPage}) + {_itemsPerPage}:
  110. if loop-value <= size of {_results::*}:
  111. set slot {_slot} of metadata "kits" of player to 1 of map named "&e%{kits::%loop-value%::name}%" with lore " ", "{@secondary}Click to Recieve Kit"
  112. add 1 to {_slot}
  113. set slot 45 of metadata "kits" of player to prismarine shard named "&bPrevious Page"
  114. set slot 53 of metadata "kits" of player to feather named "&bNext Page"
  115. open metadata "kits" of player to player
  116.  
  117. # The inventory click for the kits GUI
  118. # Gives the player the kit on inventory click.
  119. on inventory click:
  120. if name of event-inventory contains "kits":
  121. cancel event
  122. if event-slot is not feather or prismarine shard:
  123. player command "kit %uncolored name of event-slot%"
  124. close player's inventory
  125. else:
  126. set {_page} to "%2nd element of (name of event-inventory split at ""Page "")%" parsed as integer
  127. if event-slot is feather:
  128. player command "kits %{_page} + 1%"
  129. else if event-slot is prismarine shard:
  130. player command "kits %{_page} - 1%"
  131.  
  132. # The event to delete the received variable
  133. on death:
  134. victim is player
  135. delete {received::%victim's uuid%}
  136. remove drops from the drops if {@dropKits} is false
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement