Advertisement
Guest User

Untitled

a guest
Dec 6th, 2014
1,052
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.82 KB | None | 0 0
  1. options:
  2. P : &8[&aSuperheroes&8]&b
  3. IS : &e/superheroes <fall/set/apply/reset>
  4.  
  5. command /superheroes [<text>]:
  6. permission: skript.superheroes
  7. aliases: /super
  8. trigger:
  9. if arg 1 is not set:
  10. message "{@P} {@IS}"
  11. else if arg 1 is equal to "fall":
  12. if {Super.Fall} is true:
  13. delete {Super.Fall}
  14. loop all players:
  15. loop-player has permission "skript.superheroes":
  16. message "{@P} &e%command sender%&b: Fall Damage enabled!" to loop-player
  17. else:
  18. message "{@P} Fall Damage enabled!" to loop-player
  19. else:
  20. set {Super.Fall} to true
  21. loop all players:
  22. loop-player has permission "skript.superheroes":
  23. message "{@P} &e%command sender%&b: Fall Damage disabled!" to loop-player
  24. else:
  25. message "{@P} Fall Damage disabled!" to loop-player
  26. else if arg 1 is equal to "set":
  27. # Makes sure every team is a To6
  28. if {Teams::*} is not set:
  29. message "{@P} There are no teams!"
  30. stop trigger
  31. else:
  32. loop {Teams::*}:
  33. if (size of ({Team.%loop-value%::*})) is not equal to 6:
  34. message "{@P} &eTeam %loop-value% &bdoes not have 6 people!"
  35. stop trigger
  36.  
  37. # Removes all effects from previous superheroes
  38. loop {Super.SpeedOfTeam::*}:
  39. set {_SpeedPlayer} to ("%loop-value%" parsed as offlineplayer)
  40. if {_SpeedPlayer} is online:
  41. remove speed from {_SpeedPlayer}
  42. else:
  43. set {Speed.Schedule.RemoveEffect::%loop-value%} to true
  44. loop {Super.StrengthOfTeam::*}:
  45. set {_StrengthPlayer} to ("%loop-value%" parsed as offlineplayer)
  46. if {_StrengthPlayer} is online:
  47. remove strength from {_StrengthPlayer}
  48. else:
  49. set {Strength.Schedule.RemoveEffect::%loop-value%} to true
  50. loop {Super.HealthOfTeam::*}:
  51. set {_HealthPlayer} to ("%loop-value%" parsed as offlineplayer)
  52. if {_HealthPlayer} is online:
  53. set maximum health of {_HealthPlayer} to 10
  54. set health of {_HealthPlayer} to 10
  55. else:
  56. set {Health.Schedule.RemoveEffect::%loop-value%} to true
  57. loop {Super.JumpOfTeam::*}:
  58. set {_JumpPlayer} to ("%loop-value%" parsed as offlineplayer)
  59. if {_JumpPlayer} is online:
  60. remove jump boost from {_JumpPlayer}
  61. else:
  62. set {Jump.Schedule.RemoveEffect::%loop-value%} to true
  63. loop {Super.InvisOfTeam::*}:
  64. set {_InvisPlayer} to ("%loop-value%" parsed as offlineplayer)
  65. if {_InvisPlayer} is online:
  66. remove invisibility from {_InvisPlayer}
  67. else:
  68. set {Invis.Schedule.RemoveEffect::%loop-value%} to true
  69. loop {Super.ResOfTeam::*}:
  70. set {_ResPlayer} to ("%loop-value%" parsed as offlineplayer)
  71. if {_ResPlayer} is online:
  72. remove resistance from {_ResPlayer}
  73. else:
  74. set {Res.Schedule.RemoveEffect::%loop-value%} to true
  75.  
  76. # Deletes the superheroes completely
  77. delete {Super.SpeedOfTeam::*}
  78. delete {Super.IsSpeed::*}
  79. delete {Super.StrengthOfTeam::*}
  80. delete {Super.IsStrength::*}
  81. delete {Super.HealthOfTeam::*}
  82. delete {Super.IsHealth::*}
  83. delete {Super.JumpOfTeam::*}
  84. delete {Super.IsJump::*}
  85. delete {Super.InvisOfTeam::*}
  86. delete {Super.IsInvis::*}
  87. delete {Super.ResOfTeam::*}
  88. delete {Super.IsRes::*}
  89.  
  90. # Sets new superheroes
  91. loop all players:
  92. loop-player has permission "skript.superheroes":
  93. message "{@P} &e%command sender%&b: Setting superheroes!" to loop-player
  94. else:
  95. message "{@P} Setting superheroes!" to loop-player
  96. loop {Teams::*}:
  97. # Creates replicas of team, so it can choose different superheroes
  98. set {_Temp.%loop-value%::*} to {Team.%loop-value%::*}
  99.  
  100. # Picks a random speed hero
  101. set {_Speed} to (random element out of {_Temp.%loop-value%::*})
  102. set {Super.IsSpeed::%{_Speed}%} to loop-value
  103. set {Super.SpeedOfTeam::%loop-value%} to {_Speed}
  104. remove {_Speed} from {_Temp.%loop-value%::*}
  105.  
  106. # Picks a random strength hero
  107. set {_Strength} to (random element out of {_Temp.%loop-value%::*})
  108. set {Super.IsStrength::%{_Strength}%} to loop-value
  109. set {Super.StrengthOfTeam::%loop-value%} to {_Strength}
  110. remove {_Strength} from {_Temp.%loop-value%::*}
  111.  
  112. # Picks a random health hero
  113. set {_Health} to (random element out of {_Temp.%loop-value%::*})
  114. set {Super.IsHealth::%{_Health}%} to loop-value
  115. set {Super.HealthOfTeam::%loop-value%} to {_Health}
  116. remove {_Health} from {_Temp.%loop-value%::*}
  117.  
  118. # Picks a random jump hero
  119. set {_Jump} to (random element out of {_Temp.%loop-value%::*})
  120. set {Super.IsJump::%{_Jump}%} to loop-value
  121. set {Super.JumpOfTeam::%loop-value%} to {_Jump}
  122. remove {_Jump} from {_Temp.%loop-value%::*}
  123.  
  124. # Picks a random invis hero
  125. set {_Invis} to (random element out of {_Temp.%loop-value%::*})
  126. set {Super.IsInvis::%{_Invis}%} to loop-value
  127. set {Super.InvisOfTeam::%loop-value%} to {_Invis}
  128. remove {_Invis} from {_Temp.%loop-value%::*}
  129.  
  130. # Picks a random res hero
  131. set {_Res} to (random element out of {_Temp.%loop-value%::*})
  132. set {Super.IsRes::%{_Res}%} to loop-value
  133. set {Super.ResOfTeam::%loop-value%} to {_Res}
  134. remove {_Res} from {_Temp.%loop-value%::*}
  135.  
  136. # Messages the team their heroes
  137. loop {Team.%loop-value%::*}:
  138. set {_Player} to ("%loop-value-2%" parsed as offlineplayer)
  139. if {_Player} is online:
  140. message "{@P} Speed: &e%{_Speed}%" to {_Player}
  141. message "{@P} Strength: &e%{_Strength}%" to {_Player}
  142. message "{@P} Health: &e%{_Health}%" to {_Player}
  143. message "{@P} Jump: &e%{_Jump}%" to {_Player}
  144. message "{@P} Invis: &e%{_Invis}%" to {_Player}
  145. message "{@P} Res: &e%{_Res}%" to {_Player}
  146.  
  147. else if arg 1 is equal to "apply":
  148. loop {Teams::*}:
  149. set {_Speed} to ({Super.SpeedOfTeam::%loop-value%} parsed as offlineplayer)
  150. set {_Strength} to ({Super.StrengthOfTeam::%loop-value%} parsed as offlineplayer)
  151. set {_Health} to ({Super.HealthOfTeam::%loop-value%} parsed as offlineplayer)
  152. set {_Jump} to ({Super.JumpOfTeam::%loop-value%} parsed as offlineplayer)
  153. set {_Invis} to ({Super.InvisOfTeam::%loop-value%} parsed as offlineplayer)
  154. set {_Res} to ({Super.ResOfTeam::%loop-value%} parsed as offlineplayer)
  155.  
  156. if {_Speed} is online:
  157. apply speed 2 to {_Speed} for 999 days
  158. apply haste 2 to {_Speed} for 999 days
  159. else:
  160. set {Super.Speed.Scheduler::%{_Speed}%} to true
  161.  
  162. if {_Strength} is online:
  163. apply strength 1 to {_Strength} for 999 days
  164. else:
  165. set {Super.Strength.Scheduler::%{_Strength}%} to true
  166.  
  167. if {_Health} is online:
  168. set maximum health of {_Health} to 20
  169. set health of {_Health} to 20
  170. else:
  171. set {Super.Health.Scheduler::%{_Health}%} to true
  172.  
  173. if {_Jump} is online:
  174. apply jump boost 4 to {_Jump} for 999 days
  175. apply saturation 10 to {_Jump} for 999 days
  176. apply haste 2 to {_Jump} for 999 days
  177. else:
  178. set {Super.Jump.Scheduler::%{_Jump}%} to true
  179.  
  180. if {_Invis} is online:
  181. apply invisibility 1 to {_Invis} for 999 days
  182. apply water breathing 1 to {_Invis} for 999 days
  183. else:
  184. set {Super.Invis.Scheduler::%{_Invis}%} to true
  185.  
  186. if {_Res} is online:
  187. apply resistance 2 to {_Res} for 999 days
  188. apply fire resistance 1 to {_Res} for 999 days
  189. else:
  190. set {Super.Res.Scheduler::%{_Res}%} to true
  191.  
  192. loop all players:
  193. loop-player has permission "skript.superheroes":
  194. message "{@P} &e%command sender%&b: Applied Effects!" to loop-player
  195. else:
  196. message "{@P} Applied Effects!" to loop-player
  197. else if arg 1 is equal to "reset":
  198. # Removes all effects from previous superheroes
  199. loop {Super.SpeedOfTeam::*}:
  200. set {_SpeedPlayer} to ("%loop-value%" parsed as offlineplayer)
  201. if {_SpeedPlayer} is online:
  202. remove speed from {_SpeedPlayer}
  203. else:
  204. set {Speed.Schedule.RemoveEffect::%loop-value%} to true
  205. loop {Super.StrengthOfTeam::*}:
  206. set {_StrengthPlayer} to ("%loop-value%" parsed as offlineplayer)
  207. if {_StrengthPlayer} is online:
  208. remove strength from {_StrengthPlayer}
  209. else:
  210. set {Strength.Schedule.RemoveEffect::%loop-value%} to true
  211. loop {Super.HealthOfTeam::*}:
  212. set {_HealthPlayer} to ("%loop-value%" parsed as offlineplayer)
  213. if {_HealthPlayer} is online:
  214. set maximum health of {_HealthPlayer} to 10
  215. set health of {_HealthPlayer} to 10
  216. else:
  217. set {Health.Schedule.RemoveEffect::%loop-value%} to true
  218. loop {Super.JumpOfTeam::*}:
  219. set {_JumpPlayer} to ("%loop-value%" parsed as offlineplayer)
  220. if {_JumpPlayer} is online:
  221. remove jump boost from {_JumpPlayer}
  222. else:
  223. set {Jump.Schedule.RemoveEffect::%loop-value%} to true
  224. loop {Super.InvisOfTeam::*}:
  225. set {_InvisPlayer} to ("%loop-value%" parsed as offlineplayer)
  226. if {_InvisPlayer} is online:
  227. remove invisibility from {_InvisPlayer}
  228. else:
  229. set {Invis.Schedule.RemoveEffect::%loop-value%} to true
  230. loop {Super.ResOfTeam::*}:
  231. set {_ResPlayer} to ("%loop-value%" parsed as offlineplayer)
  232. if {_ResPlayer} is online:
  233. remove resistance from {_ResPlayer}
  234. else:
  235. set {Res.Schedule.RemoveEffect::%loop-value%} to true
  236. loop all players:
  237. loop-player has permission "skript.superheroes":
  238. message "{@P} &e%command sender%&b: Reset superheroes!" to loop-player
  239. else:
  240. message "{@P} Reset superheroes!" to loop-player
  241. execute console command "/effect %loop-player% reset"
  242. else:
  243. message "{@P} {@IS}"
  244.  
  245. on death of player:
  246. {Super.Fall} is true
  247. execute console command "/effect %victim% clear"
  248. set maximum health of player to 10
  249.  
  250.  
  251. on login:
  252. if {Super.Speed.Scheduler::%player%} is true:
  253. apply speed 1 to the player for 999 days
  254. delete {Super.Speed.Scheduler::%player%}
  255. else if {Super.Strength.Scheduler::%player%} is true:
  256. apply strength 1 to the player for 999 days
  257. delete {Super.Strength.Scheduler::%player%}
  258. else if {Super.Health.Scheduler::%player%} is true:
  259. set maximum health of player to 16
  260. set health of player to 16
  261. delete {Super.Health.Scheduler::%player%}
  262. else if {Super.Jump.Scheduler::%player%} is true:
  263. apply jump boost 4 to player for 999 days
  264. delete {Super.Jump.Scheduler::%player%}
  265. else if {Super.Invis.Scheduler::%player%} is true:
  266. apply invisibility 1 to player for 999 days
  267. delete {Super.Invis.Scheduler::%player%}
  268. else if {Super.Res.Scheduler::%player%} is true:
  269. apply resistance 1 to the player for 999 days
  270. delete {Super.Res.Scheduler::%player%}
  271.  
  272. on login:
  273. if {Speed.Schedule.RemoveEffect::%player%} is true:
  274. remove speed from the player
  275. delete {Speed.Schedule.RemoveEffect::%player%}
  276. if {Strength.Schedule.RemoveEffect::%player%} is true:
  277. remove strength from the player
  278. delete {Strength.Schedule.RemoveEffect::%player%}
  279. if {Health.Schedule.RemoveEffect::%player%} is true:
  280. set maximum health of player to 10
  281. set health of player to 10
  282. delete {Health.Schedule.RemoveEffect::%player%}
  283. if {Jump.Schedule.RemoveEffect::%player%} is true:
  284. remove jump boost from the player
  285. delete {Jump.Schedule.RemoveEffect::%player%}
  286. if {Invis.Schedule.RemoveEffect::%player%} is true:
  287. remove invisibility from the player
  288. delete {Invis.Schedule.RemoveEffect::%player%}
  289. if {Res.Schedule.RemoveEffect::%player%} is true:
  290. remove resistance from the player
  291. delete {Res.Schedule.RemoveEffect::%player%}
  292.  
  293. on damage:
  294. {Super.Fall} is true
  295. damage cause is fall
  296. cancel the event
  297.  
  298. on consume of milk bucket:
  299. {Super.Fall} is true
  300. cancel the event
  301. remove milk bucket from inventory of player
  302. give player 1 milk bucket
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement