Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- options:
- P : &8[&aSuperheroes&8]&b
- IS : &e/superheroes <fall/set/apply/reset>
- command /superheroes [<text>]:
- permission: skript.superheroes
- aliases: /super
- trigger:
- if arg 1 is not set:
- message "{@P}{@IS}"
- else if arg 1 is equal to "set":
- # Makes sure every team is a To6
- if {Teams::*} is not set:
- message "{@P} There are no teams!"
- stop trigger
- else:
- loop {Teams::*}:
- if (size of ({Team.%loop-value%::*})) is not equal to 6:
- message "{@P} &eTeam %loop-value% &9does not have 6 people!"
- stop trigger
- # Removes all effects from previous superheroes
- loop {Super.SpeedOfTeam::*}:
- set {_SpeedPlayer} to ("%loop-value%" parsed as offlineplayer)
- if {_SpeedPlayer} is online:
- remove speed from {_SpeedPlayer}
- remove haste from {_SpeedPlayer}
- else:
- set {Speed.Schedule.RemoveEffect::%loop-value%} to true
- loop {Super.StrengthOfTeam::*}:
- set {_StrengthPlayer} to ("%loop-value%" parsed as offlineplayer)
- if {_StrengthPlayer} is online:
- remove strength from {_StrengthPlayer}
- else:
- set {Strength.Schedule.RemoveEffect::%loop-value%} to true
- loop {Super.HealthOfTeam::*}:
- set {_HealthPlayer} to ("%loop-value%" parsed as offlineplayer)
- if {_HealthPlayer} is online:
- set maximum health of {_HealthPlayer} to 10
- set health of {_HealthPlayer} to 10
- else:
- set {Health.Schedule.RemoveEffect::%loop-value%} to true
- loop {Super.JumpOfTeam::*}:
- set {_JumpPlayer} to ("%loop-value%" parsed as offlineplayer)
- if {_JumpPlayer} is online:
- remove jump boost from {_JumpPlayer}
- remove haste from {_JumpPlayer}
- remove saturation from {_JumpPlayer}
- else:
- set {Jump.Schedule.RemoveEffect::%loop-value%} to true
- loop {Super.InvisOfTeam::*}:
- set {_InvisPlayer} to ("%loop-value%" parsed as offlineplayer)
- if {_InvisPlayer} is online:
- remove invisibility from {_InvisPlayer}
- remove water breathing from {_InvisPlayer}
- else:
- set {Invis.Schedule.RemoveEffect::%loop-value%} to true
- loop {Super.ResOfTeam::*}:
- set {_ResPlayer} to ("%loop-value%" parsed as offlineplayer)
- if {_ResPlayer} is online:
- remove resistance from {_ResPlayer}
- remove fire resistance from {_ResPlayer}
- else:
- set {Res.Schedule.RemoveEffect::%loop-value%} to true
- # Deletes the superheroes completely
- delete {Super.SpeedOfTeam::*}
- delete {Super.IsSpeed::*}
- delete {Super.StrengthOfTeam::*}
- delete {Super.IsStrength::*}
- delete {Super.HealthOfTeam::*}
- delete {Super.IsHealth::*}
- delete {Super.JumpOfTeam::*}
- delete {Super.IsJump::*}
- delete {Super.InvisOfTeam::*}
- delete {Super.IsInvis::*}
- delete {Super.ResOfTeam::*}
- delete {Super.IsRes::*}
- delete {Fall::*}
- delete {Super.Fall}
- # Sets new superheroes
- broadcast "{@P} Setting Superheroes!"
- loop {Teams::*}:
- # Creates replicas of team, so it can choose different superheroes
- set {_Temp.%loop-value%::*} to {Team.%loop-value%::*}
- # Picks a random speed hero
- set {_Speed} to (random element out of {_Temp.%loop-value%::*})
- set {Super.IsSpeed::%{_Speed}%} to loop-value
- set {Super.SpeedOfTeam::%loop-value%} to {_Speed}
- remove {_Speed} from {_Temp.%loop-value%::*}
- # Picks a random strength hero
- set {_Strength} to (random element out of {_Temp.%loop-value%::*})
- set {Super.IsStrength::%{_Strength}%} to loop-value
- set {Super.StrengthOfTeam::%loop-value%} to {_Strength}
- remove {_Strength} from {_Temp.%loop-value%::*}
- # Picks a random health hero
- set {_Health} to (random element out of {_Temp.%loop-value%::*})
- set {Super.IsHealth::%{_Health}%} to loop-value
- set {Super.HealthOfTeam::%loop-value%} to {_Health}
- remove {_Health} from {_Temp.%loop-value%::*}
- # Picks a random jump hero
- set {_Jump} to (random element out of {_Temp.%loop-value%::*})
- set {Super.IsJump::%{_Jump}%} to loop-value
- set {Super.JumpOfTeam::%loop-value%} to {_Jump}
- remove {_Jump} from {_Temp.%loop-value%::*}
- # Picks a random invis hero
- set {_Invis} to (random element out of {_Temp.%loop-value%::*})
- set {Super.IsInvis::%{_Invis}%} to loop-value
- set {Super.InvisOfTeam::%loop-value%} to {_Invis}
- remove {_Invis} from {_Temp.%loop-value%::*}
- # Picks a random res hero
- set {_Res} to (random element out of {_Temp.%loop-value%::*})
- set {Super.IsRes::%{_Res}%} to loop-value
- set {Super.ResOfTeam::%loop-value%} to {_Res}
- remove {_Res} from {_Temp.%loop-value%::*}
- # Messages the team their heroes
- loop {Team.%loop-value%::*}:
- set {_Player} to ("%loop-value-2%" parsed as offlineplayer)
- if {_Player} is online:
- message "&8[&aSuperheroes&8]&9 Speed: &e%{_Speed}%" to {_Player}
- message "&8[&aSuperheroes&8]&9 Strength: &e%{_Strength}%" to {_Player}
- message "&8[&aSuperheroes&8]&9 Health: &e%{_Health}%" to {_Player}
- message "&8[&aSuperheroes&8]&9 Jump: &e%{_Jump}%" to {_Player}
- message "&8[&aSuperheroes&8]&9 Invis: &e%{_Invis}%" to {_Player}
- message "&8[&aSuperheroes&8]&9 Res: &e%{_Res}%" to {_Player}
- else if arg 1 is equal to "apply":
- loop {Teams::*}:
- set {_Speed} to ({Super.SpeedOfTeam::%loop-value%} parsed as offlineplayer)
- set {_Strength} to ({Super.StrengthOfTeam::%loop-value%} parsed as offlineplayer)
- set {_Health} to ({Super.HealthOfTeam::%loop-value%} parsed as offlineplayer)
- set {_Jump} to ({Super.JumpOfTeam::%loop-value%} parsed as offlineplayer)
- set {_Invis} to ({Super.InvisOfTeam::%loop-value%} parsed as offlineplayer)
- set {_Res} to ({Super.ResOfTeam::%loop-value%} parsed as offlineplayer)
- if {_Speed} is online:
- apply speed 2 to {_Speed} for 999 days
- apply haste 2 to {_Speed} for 999 days
- else:
- set {Super.Speed.Scheduler::%{_Speed}%} to true
- if {_Strength} is online:
- apply strength 1 to {_Strength} for 999 days
- else:
- set {Super.Strength.Scheduler::%{_Strength}%} to true
- if {_Health} is online:
- set maximum health of {_Health} to 20
- set health of {_Health} to 20
- else:
- set {Super.Health.Scheduler::%{_Health}%} to true
- if {_Jump} is online:
- apply jump boost 4 to {_Jump} for 999 days
- apply saturation 10 to {_Jump} for 999 days
- apply haste 2 to {_Jump} for 999 days
- else:
- set {Super.Jump.Scheduler::%{_Jump}%} to true
- if {_Invis} is online:
- apply invisibility 1 to {_Invis} for 999 days
- apply water breathing 1 to {_Invis} for 999 days
- else:
- set {Super.Invis.Scheduler::%{_Invis}%} to true
- if {_Res} is online:
- apply resistance 2 to {_Res} for 999 days
- apply fire resistance 1 to {_Res} for 999 days
- else:
- set {Super.Res.Scheduler::%{_Res}%} to true
- broadcast "{@P} Applied Effects!"
- loop {Super.JumpOfTeam::*}:
- set {Fall::%loop-value%} to true
- set {Super.Fall} to true
- else if arg 1 is equal to "reset":
- # Removes all effects from previous superheroes
- loop {Super.SpeedOfTeam::*}:
- set {_SpeedPlayer} to ("%loop-value%" parsed as offlineplayer)
- if {_SpeedPlayer} is online:
- remove speed from {_SpeedPlayer}
- remove haste from {_SpeedPlayer}
- else:
- set {Speed.Schedule.RemoveEffect::%loop-value%} to true
- loop {Super.StrengthOfTeam::*}:
- set {_StrengthPlayer} to ("%loop-value%" parsed as offlineplayer)
- if {_StrengthPlayer} is online:
- remove strength from {_StrengthPlayer}
- else:
- set {Strength.Schedule.RemoveEffect::%loop-value%} to true
- loop {Super.HealthOfTeam::*}:
- set {_HealthPlayer} to ("%loop-value%" parsed as offlineplayer)
- if {_HealthPlayer} is online:
- set maximum health of {_HealthPlayer} to 10
- set health of {_HealthPlayer} to 10
- else:
- set {Health.Schedule.RemoveEffect::%loop-value%} to true
- loop {Super.JumpOfTeam::*}:
- set {_JumpPlayer} to ("%loop-value%" parsed as offlineplayer)
- if {_JumpPlayer} is online:
- remove jump boost from {_JumpPlayer}
- remove haste from {_JumpPlayer}
- remove saturation from {_JumpPlayer}
- else:
- set {Jump.Schedule.RemoveEffect::%loop-value%} to true
- loop {Super.InvisOfTeam::*}:
- set {_InvisPlayer} to ("%loop-value%" parsed as offlineplayer)
- if {_InvisPlayer} is online:
- remove invisibility from {_InvisPlayer}
- remove water breathing from {_InvisPlayer}
- else:
- set {Invis.Schedule.RemoveEffect::%loop-value%} to true
- loop {Super.ResOfTeam::*}:
- set {_ResPlayer} to ("%loop-value%" parsed as offlineplayer)
- if {_ResPlayer} is online:
- remove resistance from {_ResPlayer}
- remove fire resistance from {_ResPlayer}
- else:
- set {Res.Schedule.RemoveEffect::%loop-value%} to true
- loop all players:
- execute console command "/effect %loop-player% reset"
- broadcast "{@P} Reset Superheroes!"
- delete {Super.Fall}
- delete {Fall::*}
- else:
- message "{@P}{@IS}"
- on death of player:
- {Super.Fall} is true
- execute console command "/effect %victim% clear"
- set maximum health of player to 10
- on login:
- if {Super.Speed.Scheduler::%player%} is true:
- apply speed 2 to the player for 999 days
- apply haste 2 to the player for 999 days
- delete {Super.Speed.Scheduler::%player%}
- else if {Super.Strength.Scheduler::%player%} is true:
- apply strength 1 to the player for 999 days
- delete {Super.Strength.Scheduler::%player%}
- else if {Super.Health.Scheduler::%player%} is true:
- set maximum health of player to 20
- set health of player to 20
- delete {Super.Health.Scheduler::%player%}
- else if {Super.Jump.Scheduler::%player%} is true:
- apply jump boost 4 to player for 999 days
- apply haste 2 to player for 999 days
- apply saturation 10 to player for 999 days
- delete {Super.Jump.Scheduler::%player%}
- else if {Super.Invis.Scheduler::%player%} is true:
- apply invisibility 1 to player for 999 days
- apply water breathing 1 to player for 999 days
- delete {Super.Invis.Scheduler::%player%}
- else if {Super.Res.Scheduler::%player%} is true:
- apply resistance 2 to the player for 999 days
- apply fire resistance 1 to the player for 999 days
- delete {Super.Res.Scheduler::%player%}
- on login:
- if {Speed.Schedule.RemoveEffect::%player%} is true:
- remove speed from the player
- remove haste from the player
- delete {Speed.Schedule.RemoveEffect::%player%}
- if {Strength.Schedule.RemoveEffect::%player%} is true:
- remove strength from the player
- delete {Strength.Schedule.RemoveEffect::%player%}
- if {Health.Schedule.RemoveEffect::%player%} is true:
- set maximum health of player to 10
- set health of player to 10
- delete {Health.Schedule.RemoveEffect::%player%}
- if {Jump.Schedule.RemoveEffect::%player%} is true:
- remove jump boost from the player
- remove haste from the player
- remove saturation from the player
- delete {Jump.Schedule.RemoveEffect::%player%}
- if {Invis.Schedule.RemoveEffect::%player%} is true:
- remove invisibility from the player
- remove water breathing from the player
- delete {Invis.Schedule.RemoveEffect::%player%}
- if {Res.Schedule.RemoveEffect::%player%} is true:
- remove resistance from the player
- remove fire resistance from the player
- delete {Res.Schedule.RemoveEffect::%player%}
- on damage:
- {Fall::%victim%} is true
- damage cause is fall
- cancel the event
- on consume of milk bucket:
- {Super.Fall} is true
- cancel the event
- remove milk bucket from inventory of player
- give player 1 milk bucket
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement