Advertisement
Randall123459

Kings

Jan 6th, 2017
600
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.16 KB | None | 0 0
  1. # such variables, woooow!
  2.  
  3. # {Kings.IsKing::%player%} - team id/not set
  4. # {Kings.KingOfTeam::%team%} - name of player
  5.  
  6. # {Kings.Schedule.GiveEffect::%player%} - true/not set
  7. # {Kings.Schedule.RemoveEffect::%player%} - true/not set
  8. # {Kings.Schedule.Death::%player%} - true/not set
  9.  
  10.  
  11. # /kings set
  12. # /kings list
  13. # /kings change [<team>] [<name>]
  14. # /kings delete
  15.  
  16.  
  17. options:
  18. P: &f[&bKings&f]&b
  19.  
  20. command /kings [<text>] [<text>] [<text>] [<text>]:
  21. trigger:
  22. if arg 1 is not set:
  23. message "/kings set"
  24. message "/kings list"
  25. message "/kings change"
  26. message "/kings delete"
  27.  
  28. else if arg 1 is equal to "list":
  29. if {Kings.KingOfTeam::*} is not set:
  30. message "{@P} No Kings defined."
  31. else:
  32. loop {Kings.KingOfTeam::*}:
  33. message "&bKing of Team &f%loop-index%: &f&l%loop-value%"
  34.  
  35. else if arg 1 is equal to "set" or "on":
  36. if command sender does not have the permission "kings.set":
  37. message "{@P} You'd like to do that, right..."
  38. else:
  39. # remove effects from previous kings
  40. loop {Kings.KingOfTeam::*}:
  41. set {_KingPlayer} to ("%loop-value%" parsed as offlineplayer)
  42. if {_KingPlayer} is online:
  43. set maximum health of {_KingPlayer} to 10
  44. set health of {_KingPlayer} to 10
  45. remove speed from {_KingPlayer}
  46. remove strength from {_KingPlayer}
  47. remove resistance from {_KingPlayer}
  48. remove haste from {_KingPlayer}
  49. else:
  50. set {Kings.Schedule.RemoveEffect::%loop-value%} to true
  51.  
  52. delete {Kings.IsKing::*}
  53. delete {Kings.KingOfTeam::*}
  54.  
  55. # set new kings
  56. broadcast "{@P} &f%command sender%: &bSetting Kings!"
  57. loop {Teams::*}:
  58. set {_King} to (random element out of {Team.%loop-value%::*})
  59. broadcast "{@P} &bKing of Team &f%loop-value%: &f&l%{_King}%&f!"
  60. set {Kings.IsKing::%{_King}%} to loop-value
  61. set {Kings.KingOfTeam::%loop-value%} to {_King}
  62.  
  63. set {_KingPlayer} to ("%{_King}%" parsed as offlineplayer)
  64. if {_KingPlayer} is online:
  65. set maximum health of {_KingPlayer} to 20
  66. set health of {_KingPlayer} to 20
  67. apply speed 1 to {_KingPlayer} for 999 days
  68. apply strength 1 to {_KingPlayer} for 999 days
  69. apply resistance 1 to {_KingPlayer} for 999 days
  70. apply haste 1 to {_KingPlayer} for 999 days
  71. else:
  72. set {Kings.Schedule.GiveEffect::%{_King}%} to true
  73.  
  74. else if arg 1 is equal to "change":
  75. if command sender does not have the permission "kings.change":
  76. message "{@P} You'd like to do that, right..."
  77. else if arg 2 is not set:
  78. message "{@P} Too less arguments."
  79. else if arg 3 is not set:
  80. message "{@P} Too less arguments."
  81. else:
  82. set {_Team} to ("%arg 2%" parsed as integer)
  83. if {_Team} is not set:
  84. message "{@P} Invalid Team!"
  85. else if {Kings.KingOfTeam::%{_Team}%} is not set:
  86. message "{@P} Team does not have a King!"
  87. else if {Team.%{TeamNumber::%arg-3%}%} is not equal to {_Team}:
  88. message "{@P} %arg 3% is not in Team %arg 2%!"
  89. else:
  90. set {_PreviousKing} to {Kings.KingOfTeam::%{_Team}%}
  91. set {_PreviousKing.Player} to ("%{_PreviousKing}%" parsed as offlineplayer)
  92. if {_PreviousKing.Player} is online:
  93. set maximum health of {_PreviousKing.Player} to 10
  94. set health of {_PreviousKing.Player} to 10
  95. remove speed from {_PreviousKing.Player}
  96. remove strength from {_PreviousKing.Player}
  97. remove resistance from {_PreviousKing.Player}
  98. remove haste from {_PreviousKing.Player}
  99. else:
  100. set {Kings.Schedule.RemoveEffect::%{_PreviousKing}%} to true
  101.  
  102. delete {Kings.IsKing::%{_PreviousKing}%}
  103.  
  104. set {_NewKing} to arg 3
  105. set {_NewKing.Player} to ("%arg 3%" parsed as offlineplayer)
  106. if {_NewKing.Player} is online:
  107. set maximum health of {_NewKing.Player} to 20
  108. set health of {_NewKing.Player} to 20
  109. apply speed 1 to {_NewKing.Player} for 999 days
  110. apply strength 1 to {_NewKing.Player} for 999 days
  111. apply resistance 1 to {_NewKing.Player} for 999 days
  112. apply haste 1 to {_NewKing.Player} for 999 days
  113. else:
  114. set {Kings.Schedule.GiveEffect::%{_NewKing}%} to true
  115.  
  116. set {Kings.IsKing::%{_NewKing}%} to {_Team}
  117. set {Kings.KingOfTeam::%{_Team}%} to {_NewKing}
  118.  
  119. broadcast "{@P} &f%command sender% &bchanged King of Team &f%arg 2% &bto &f%arg 3%"
  120.  
  121. else if arg 1 is equal to "delete" or "off":
  122. if command sender does not have the permission "kings.delete":
  123. message "{@P} You'd like to do that, right..."
  124. else:
  125. loop {Kings.KingOfTeam::*}:
  126. set {_ThisKing} to ("%loop-value%" parsed as offlineplayer)
  127. if {_ThisKing} is online:
  128. set maximum health of {_ThisKing} to 10
  129. set health of {_ThisKing} to 10
  130. remove speed from {_ThisKing}
  131. remove strength from {_ThisKing}
  132. remove resistance from {_ThisKing}
  133. remove haste from {_ThisKing}
  134. else:
  135. set {Kings.Schedule.RemoveEffect::%loop-value%} to true
  136.  
  137. delete {Kings.IsKing::*}
  138. delete {Kings.KingOfTeam::*}
  139.  
  140. broadcast "&f[&bKings] &bKings &fDisabled"
  141.  
  142. else if arg 1 is equal to "reapply":
  143. if command sender does not have the permission "kings.reapply":
  144. message "{@P} You'd like to do that, right..."
  145. else:
  146. loop {Kings.KingOfTeam::*}:
  147. set {_ThisKing} to ("%loop-value%" parsed as offlineplayer)
  148. if {_ThisKing} is online:
  149. set maximum health of {_ThisKing} to 20
  150. set health of {_ThisKing} to 20
  151. apply speed 1 to {_ThisKing} for 999 days
  152. apply strength 1 to {_ThisKing} for 999 days
  153. apply resistance 1 to {_ThisKing} for 999 days
  154. apply haste 1 to {_ThisKing} for 999 days
  155. else:
  156. set {Kings.Schedule.GiveEffect::%loop-value%} to true
  157.  
  158. broadcast "{@P} &e%command sender% &rreapplied King effects"
  159.  
  160. else:
  161. message "/kings set"
  162. message "/kings list"
  163. message "/kings change"
  164. message "/kings delete"
  165.  
  166.  
  167.  
  168. on join:
  169. wait 1 tick
  170. if {Kings.Schedule.RemoveEffect::%player%} is true:
  171. delete {Kings.Schedule.RemoveEffect::%player%}
  172. set maximum health of player to 10
  173. set health of player to 10
  174. remove speed from player
  175. remove strength from player
  176. remove resistance from player
  177. remove haste from player
  178. if {Kings.Schedule.GiveEffect::%player%} is true:
  179. delete {Kings.Schedule.GiveEffect::%player%}
  180. set maximum health of player to 20
  181. set health of player to 20
  182. apply speed 1 to player for 999 days
  183. apply strength 1 to player for 999 days
  184. apply resistance 1 to player for 999 days
  185. apply haste 1 to player for 999 days
  186. if {Kings.Schedule.Death::%player%} is true:
  187. delete {Kings.Schedule.Death::%player%}
  188. apply wither 2 to player for 999 days
  189.  
  190. on death of player:
  191. {Kings.IsKing::%player%} is set
  192. remove (name of player) from {Kings.KingOfTeam::*}
  193. delete {Kings.IsKing::%player%}
  194. set maximum health of player to 10
  195. set {_Team} to {Teams.InTeam::%player%}
  196. loop {Team.%{_Team}%::*}:
  197. set {_player} to ("%loop-value%" parsed as offlineplayer)
  198. if {_player} is online:
  199. apply wither 2 to {_player} for 999 days
  200. else:
  201. set {Kings.Schedule.Death::%loop-value%} to true
  202.  
  203. on eat of milk bucket:
  204. cancel event
  205. remove (tool of player) from player
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement