Advertisement
fleft17

Untitled

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