Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Options:
- # +-+ These options will change how things look
- P: &e&LEclipse
- PP: &e&LEclipse &8»&7
- PS: &8(&4SpecMode&8)&7
- PSS: &8(&4SpecMode&8) &8»&7
- PI: &8(&6SpecInfo&8)
- PII: &8(&6SpecInfo&8) &8»&7
- PSC: &8(&bSpec&8)
- PSC: &8(&bSpec&8) &8»&7
- A: &8»
- AA: &8«
- C: &6
- N: &7
- (: &8(
- ): &8)
- Line: &8»&M-----------------------------------&R&8«
- e: &7is now &aenabled&7.
- d: &7is now &cdisabled&7.
- SI: &8(&bS&8)
- GoldColour: &6
- DiaColour: &3
- Ore.Text: &8(&5Ore&8)
- PvP.Text: &8(&4PvP&8)
- PvE.Text: &8(&1PvE&8)
- Craft.Text: &8(&2Craft&8)
- CmdSpy.Text: &8(&6CmdSpy&8)
- Reach.Text: &8(&cReach&8)
- Near.Text: &8(&aNear&8)
- iPvP.Text: &8(&3iPvP&8)
- Ore.Size: Size
- Ore.Total: Tot
- # +-+ important stuff - true = will show, false = wont show
- ore: true
- pvp: true
- pve: true
- craft: false
- cmdspy: true
- reach: true
- near: true
- ipvp: true
- left.click: true
- right.click: true
- # +-+ the amount of ticks before the invsee gui updates
- InvUpdate: 3
- DancingTeams: true
- # ------ functions -----------
- # DONT TOUCH UNLESS YOU KNOW WHAT YOU ARE DOING!
- function SpecOn(p: player):
- if {SI::on::%{_p}%} is set:
- send "{@PSS} Your {@PI}{@N} is already &aenabled{@N}." to {_p}
- stop
- set {_uuid} to uuid of {_p}
- command "van %{_p}%"
- if {Van::%{_uuid}%} is not set:
- make {_p} execute command "vanflag +chat"
- make {_p} execute command "vanflag +interact"
- set {Van::%{_uuid}%} to true
- command "gamemode 3 %{_p}%"
- set {SI::on::%{_p}%} to true
- set {spec::%{_p}%} to true
- set {SI::cmdspy::%{_p}%} to true
- send "{@Line}" to {_p}
- send "{@PSS} Your {@PI} {@e}" to {_p}
- send "{@Line}" to {_p}
- send "&7&o[&o%{_p}%: &oEnabled &oSpecInfo.]" to all ops
- function SpecOff(p: player):
- if {SI::on::%{_p}%} is not set:
- send "{@PSS} Your {@PI}{@N} is already &cdisabled{@N}." to {_p}
- stop
- delete {SI::on::%{_p}%}
- delete {spec::%{_p}%}
- command "reappear %{_p}%"
- command "gamemode 0 %{_p}%"
- teleport {_p} to {spawn::location}
- delete {SI::cmdspy::%{_p}%}
- remove night vision from {_p}
- send "{@Line}" to {_p}
- send "{@PSS} Your {@PI} {@d}" to {_p}
- send "{@Line}" to {_p}
- send "&7&o[%{_p}%: Disabled SpecInfo.]" to all ops
- function Capital(t: text) :: text:
- set {_t} to 1st char in each word of "%{_t}%" to caps
- return {_t}
- function TeamColour(p: player) :: text:
- if {@DancingTeams} is not true:
- set {_colour} to "{@N}"
- else if {TeamColor::%{TeamNumber::%{_p}%}%::Reference} is set:
- set {_colour} to {TeamColor::%{TeamNumber::%{_p}%}%::Reference}
- else:
- set {_colour} to "&f"
- return {_colour}
- # ---------- spec on/off -------------
- command /spec [<text>] [<player>]:
- usage: /spec <on/off/reset> [<player>]
- trigger:
- if arg-1 is "on" or "enable":
- sender has permission "skript.op"
- if arg 2 is not set:
- SpecOn(sender)
- else:
- SpecOn(arg-player)
- else if arg-1 is "off" or "disable":
- sender has permission "skript.op"
- if arg 2 is not set:
- SpecOff(sender)
- else:
- SpecOff(arg-player)
- else if arg 1 is "reset":
- sender has permission "skript.op"
- loop all players:
- {SI::on::%loop-player%} is true
- SpecOff(loop-player)
- delete {SI::*}
- send "&7&o[%sender%: Reset SpecInfo.]" to all ops
- else if arg 1 is "help":
- if {SI::on::%player%} is not set:
- send "{@PSS} You need to &aenable{@N} SpecMode first."
- stop
- open chest with 3 rows named "{@PSS} Help" to player
- loop integers from 0 to 26:
- if loop-integer is 0 or 2 or 4 or 6 or 8 or 10 or 12 or 14 or 16 or 18 or 20 or 22 or 24 or 26:
- format slot loop-integer of player with light blue stained glass pane named " " to be unstealable
- else:
- format slot loop-integer of player with red stained glass pane named " " to be unstealable
- format slot 10 of player with golden carrot named "{@PSS} Night Vision" with lore "{@A} &aEnable {@N}Night Vision {@AA}" to run "effect %sender% 16 3600"
- format slot 11 of player with glass bottle named "{@PSS} Clear Effects" with lore "{@A} {@N}Clear all Effects {@AA}" to run "effect %sender% clear"
- format slot 12 of player with golden apple:0 named "{@PSS} 0,0!" with lore "{@A} {@N}Go to 0,0 {@AA}" to close then run "tp %sender% 0 100 0"
- format slot 13 of player with nether wart item named "{@PSS} Nether!" with lore "{@A} {@N}Go to the &cNether {@AA}" to close then run "mw move %sender% %{TargetWorld}%_Nether"
- format slot 14 of player with iron sword named "{@PSS} Player" with lore "{@A} {@N}TP to Random Player {@AA}" to close then run [execute sender command "t"]
- format slot 15 of player with spider eye named "{@PSS} Nearby" with lore "{@A} {@N}Near Players {@AA}" to run [execute sender command "near"]
- format slot 16 of player with paper named "{@PSS} Help!" with lore "{@A} {@N}Helpful Commands {@AA}||{@Line}|||| {@A} {@C}/inv|| {@A}{@N} Check someone's inventory|||| {@A} {@C}/t|| {@A}{@N} Teleport to Random Player|||| {@A}{@C}/d|| {@A}{@N} Teleport to last Diamonds Mined|||| {@A}{@C}/g|| {@A}{@N} Teleport to last Gold Mined|||| {@A}{@C}/c|| {@A}{@N} Teleport to PvP Action|||| {@A}{@C}/spec list|| {@A}{@N} Lists all Specs||||{@Line}" to be unstealable
- else if arg 1 is "list":
- if {SI::on::%player%} is not set:
- send "{@PSS} You need to &aenable{@N} SpecMode first."
- stop
- else:
- loop all players:
- {si::on::%loop-player%} is true
- add "{@C}%loop-player%&8" to {_specs::*}
- add 1 to {_specs}
- if {_specs} is greater than 0:
- send "{@Line}" to sender
- send "{@PSS} Currently Spectating {@A} %{_specs::*}%" to sender
- send "{@Line}" to sender
- delete {_specs}
- delete {_specs::*}
- else if arg 1 is "help":
- if {SI::on::%player%} is not set:
- send "{@PSS} You need to &aenable{@N} SpecMode first."
- stop
- else if arg 1 is not set:
- send "{@PP} Valid arguments {@A} <{@C}on&8/{@C}off&8/{@C}list&8/{@C}reset&8/{@C}help&8>"
- # -------- invsee -----------
- on rightclick on player:
- {@right.click} is true
- {SI::on::%player%} is true
- cancel event
- if player's target is a player:
- make player execute command "inv %player's target%"
- command /inv <player>:
- trigger:
- {SI::on::%sender%} is true
- set {_c} to TeamColour(arg-1)
- open chest with 6 rows named "&8(&bInv&8)&7 %arg 1%" to player
- loop integers from 0 to 17:
- format slot loop-integer of player with red stained glass pane named " " to be unstealable
- while inventory name of player's current inventory is "&8(&bInv&8)&7 %arg 1%":
- loop integers from 0 to 35:
- add (slot loop-integer of arg-1) to {SI::inv::invent::%arg 1%::*}
- format slot 0 of player with helmet of arg-1 to be unstealable
- format slot 1 of player with chestplate of arg-1 to be unstealable
- format slot 2 of player with leggings of arg-1 to be unstealable
- format slot 3 of player with boots of arg-1 to be unstealable
- format slot 4 of player with tool of arg-1 to be unstealable
- set {SI::inv::potions::*} to all of the active potion effects on argument-1
- if {mute::%uuid of arg-player%::mins} is set:
- set {_muted} to "&aTrue &8(&a%{mute::%uuid of arg-player%::mins}%&8)"
- else:
- set {_muted} to "&cFalse"
- if {SI::inv::potions::*} is not set:
- set {_pots} to "{@C}None"
- else:
- set {_pots} to Capital("%{SI::inv::potions::*}%")
- format slot 6 of player with grass block named "{@PSS} Player Info" with lore "{@Line}|||| {@N}Muted {@A} %{_muted}%|||| {@N}World {@A} {@C}%world of arg-player%|||| {@N}Ping {@A} {@C}%arg-player's ping%||||{@Line}" to be unstealable
- format slot 7 of player with book named "{@PSS} Info" with lore "{@Line}|||| {@N}Health {@A} {@C}%health of arg-player*10%%%|| {@N}Food Level {@A} {@C}%food level of arg-1%&8/{@C}10|| {@N}Position {@A} {@C}%location of arg-1%|| {@N}XP {@A} {@C}%level of arg-1%{@N}/{@C}%{SI::levels::%uuid of arg-player%}%||||{@N}Potion Effects:|| {@A} {@C}%{_pots}%|||| {@DiaColour}Diamonds {@A} {@DiaColour}%{SI::Mined::Diamond::%uuid of arg-1%}%|| {@GoldColour}Gold {@A} {@GoldColour}%{SI::Mined::Gold::%uuid of arg-1%}%||||{@Line}" to be unstealable
- if {Teams.InTeam::%arg-1%} is true:
- set {_lore} to " {@N}Number {@A} {@C}%{TeamNumber::%arg-1%}%|| {@N}Size {@A} {@C}%(size of {Team.%{TeamNumber::%arg-1%}%::*})%|| {@N}Teammates {@A} {@C}%{Team.%{TeamNumber::%arg-1%}%::*}%|| {@N}Colour {@A} %{TeamColor::%{TeamNumber::%arg-1%}%::Reference}%%{TeamColor::%{TeamNumber::%arg-1%}%::Color}%"
- else:
- set {_lore} to " {@A} &cFalse"
- format slot 8 of player with wool:14 named "{@PSS} Teams" with lore "{@Line}||||%{_lore}%||||{@Line}" to be unstealable
- set {_c} to 18
- loop {SI::inv::invent::%arg 1%::*}:
- format slot {_c} of player with loop-value to be unstealable
- add 1 to {_c}
- delete {SI::inv::invent::%arg 1%::*}
- delete {SI::inv::potions::*}
- wait {@InvUpdate} ticks
- loop integers from 18 to 53:
- format slot loop-integer of player with air to be unstealable
- every 30 seconds:
- loop all players:
- if {SI::levels::%uuid of loop-player%} is set:
- if level of loop-player is greater than {SI::levels::%uuid of loop-player%}:
- set {SI::levels::%uuid of loop-player%} to level of loop-player
- else:
- set {SI::levels::%uuid of loop-player%} to level of loop-player
- # --------- Spec info -------------
- on mine of gold ore:
- {@ore} is true
- wait 1 tick
- {SI::Gold::%x-coordinate of event-block%.%y-coordinate of event-block%.%z-coordinate of event-block%} is not set
- set {_c} to 1
- loop blocks in radius 2 around event-block:
- loop-block is equal to gold ore
- add 1 to {_c}
- set {SI::Gold::%x-coordinate of loop-block%.%y-coordinate of loop-block%.%z-coordinate of loop-block%} to true
- add {_c} to {SI::mined::gold::%uuid of player%}
- loop all players:
- {SI::on::%loop-player%} is true
- send "{@SI} {@N}%player% {@A} {@GoldColour}Gold {@AA} {@(}{@N}{@Ore.Size}:{@GoldColour}%{_c}%{@)} {@(}{@N}{@Ore.Total}:{@GoldColour}%{SI::mined::gold::%uuid of player%}%{@)}" to loop-player
- set {SI::Last::Gold} to player
- on mine of diamond ore:
- {@ore} is true
- wait 1 tick
- {SI::Diamond::%x-coordinate of event-block%.%y-coordinate of event-block%.%z-coordinate of event-block%} is not set
- set {_c} to 1
- loop blocks in radius 2 around event-block:
- loop-block is equal to diamond ore
- add 1 to {_c}
- set {SI::Diamond::%x-coordinate of loop-block%.%y-coordinate of loop-block%.%z-coordinate of loop-block%} to true
- add {_c} to {SI::mined::diamond::%uuid of player%}
- loop all players:
- {SI::on::%loop-player%} is true
- send "{@SI} {@N}%player% {@A} {@DiaColour}Diamond {@AA} {@(}{@N}{@Ore.Size}:{@DiaColour}%{_c}%{@)} {@(}{@N}{@Ore.Total}:{@DiaColour}%{SI::mined::diamond::%uuid of player%}%{@)}" to loop-player
- set {SI::Last::Diamond} to player
- command /d:
- permission: skript.op
- trigger:
- {SI::on::%player%} is true
- teleport sender to {SI::Last::Diamond}
- command /g:
- permission: skript.op
- trigger:
- {SI::on::%player%} is true
- teleport sender to {SI::Last::Gold}
- command /v:
- permission: skript.op
- trigger:
- {SI::on::%player%} is true
- teleport sender to {SI::Last::Damage}
- command /c:
- permission: skript.op
- trigger:
- {SI::on::%player%} is true
- teleport sender to {SI::Last::Hit}
- on damage:
- {@reach} is true
- set {_c} to TeamColour(attacker)
- attacker is a player
- projectile does not exist
- attacker's gamemode is not creative
- if distance between attacker and victim is greater than 4.9:
- set {_distance} to the distance between attacker and victim
- set {_ms} to attacker's ping
- {_ms} is less than 200
- loop all players:
- {SI::on::%loop-player%} is true
- send "{@SI} {@Reach.Text} %{_c}%%attacker% {@A} {@C}%{_distance}% {@N}blocks {@A} {@C}%{_ms}% {@N}ping" to loop-player
- on damage of player:
- victim's gamemode is not creative
- if {SI::LastDamage::%victim%} is set:
- if {SI::LastDamage::%victim%} was less than 0.15 seconds ago:
- stop
- set {SI::LastDamage::%victim%} to now
- set {_d} to (health of victim)
- wait 1 tick
- set {_d} to {_d}-(health of victim)
- if {_d} is equal to 0:
- stop
- set {SI::Last::Damage} to victim
- if {TeamColor::%{TeamNumber::%victim%}%::Reference} is set:
- set {_cv} to {TeamColor::%{TeamNumber::%victim%}%::Reference}
- else:
- set {_cv} to "&c"
- if attacker is a player:
- if {TeamColor::%{TeamNumber::%attacker%}%::Reference} is set:
- set {_ca} to {TeamColor::%{TeamNumber::%attacker%}%::Reference}
- else:
- set {_ca} to "&a"
- set {SI::Last::Hit} to attacker
- {@pvp} is true
- if damage was caused by projectile:
- if projectile is an arrow:
- set {_type} to "B"
- else:
- set {_type} to "B?"
- else:
- if damage was caused by attack:
- set {_type} to "M"
- else:
- set {_type} to "M?"
- loop all players:
- {SI::on::%loop-player%} is true
- send "{@SI} {@PvP.Text} &a%{_ca}%%attacker% &8-&7%{_type}%&8» &c%{_cv}%%victim% {@(}&a%health of attacker%&8:&c%health of victim%&8:&6%{_d}%{@)}" to loop-player
- else if attacker is not set:
- {@pve} is true
- set {_t} to Capital("%damage cause%")
- loop all players:
- {SI::on::%loop-player%} is true
- send "{@SI} {@PvE.Text} &c%{_cv}%%victim% &8« &d%{_t}% {@(}&c%health of victim%&8:&6%{_d}%{@)}" to loop-player
- else:
- {@pve} is true
- set {_t} to Capital("%attacker%")
- loop all players:
- {SI::on::%loop-player%} is true
- send "{@SI} {@PvE.Text} &c%{_cv}%%victim% &8« &d%{_t}% {@(}&c%health of victim%&8:&6%{_d}%{@)}" to loop-player
- on craft:
- {@craft} is true
- "%event-item%" contains "diamond" or "apple" or "anvil" or "enchant"
- set {_t} to Capital("%event-item%")
- set {_c} to TeamColour(player)
- loop all players:
- {SI::on::%loop-player%} is true
- send "{@SI} {@Craft.Text} %{_c}%%player% &8« &d%{_t}%" to loop-player
- on mine of stone:
- {@ore} is true
- set {_c} to TeamColour(player)
- if player's y-coordinate is smaller than 32:
- loop blocks in radius 1 of event-block:
- loop-block is diamond ore or gold ore:
- block north of loop-block is air:
- stop
- block south of loop-block is air:
- stop
- block east of loop-block is air:
- stop
- block west of loop-block is air:
- stop
- block above loop-block is air:
- stop
- block below loop-block is air:
- stop
- loop all players:
- if {SI::on::%loop-player%} is true:
- set {SI::Last::UnExOre} to player
- send "{@SI} {@Ore.Text} %{_c}%%player% {@AA} {@N}Unexposed Ore {@(}{@N}/u{@)}" to loop-player
- stop
- command /u:
- permission: skript.op
- trigger:
- {SI::on::%player%} is true
- teleport sender to {SI::Last::UnExOre}
- on inventory click:
- if player is sneaking:
- set {_c} to TeamColour(player)
- loop all players:
- {SI::on::%loop-player%} is true
- send "{@SI} %{_c}%%player% {@AA} {@C}Togglesneak" to loop-player
- on chat:
- if player is sneaking:
- set {_c} to TeamColour(player)
- loop all players:
- {SI::on::%loop-player%} is true
- send "{@SI} %{_c}%%player% {@AA} {@C}Togglesneak" to loop-player
- command /commandspy <text>:
- aliases: /socialspy, /cspy, /sspy
- permission: skript.op
- trigger:
- if {SI::on::%sender%} is not set:
- send "{@PSS} You must be in Spec Mode to &aEnable {@N}Command Spy."
- stop
- if arg 1 is "on":
- set {SI::cmdspy::%sender%} to true
- send "{@PSS}{@N} Command Spy {@e}" to sender
- send "&7&o[%sender%: %sender% enabled Command Spy.]" to all ops
- else if arg 1 is "off":
- delete {SI::cmdspy::%sender%}
- send "{@PSS}{@N} Command Spy {@d}" to sender
- send "&7&o[%sender%: %sender% enabled Command Spy.]" to all ops
- else if arg 1 is "reset":
- delete {SI::cmdspy::*}
- send "{@PSS}{@N} Command Spy has been &creset{@N}." to sender
- send "&7&o[%sender%: %sender% reset Command Spy.]" to all ops
- on command:
- {@cmdspy} is true
- command is not "ac" or "helpop" or "sc" or "pmc" or "tl" or "pmcoords" or "ms" or "ping" or "t" or "uhc" or "ti"
- player is online
- loop all players:
- {SI::cmdspy::%loop-player%} is true
- if loop-player is the same as command sender:
- stop
- else if player is op:
- send "{@SI} {@CmdSpy.Text} &4%player% {@A} {@N}/%full command%" to loop-player
- else:
- send "{@SI} {@CmdSpy.Text} &E%player% {@A} {@N}/%full command%" to loop-player
- on command "/tp":
- if "%arguments%" contains " ":
- stop
- else:
- {SI::on::%sender%} is true
- cancel the event
- sender command "/t %arguments%"
- command /sc <text>:
- aliases: /specchat, /specc
- trigger:
- if {SI::on::%sender%} is not set:
- send "{@PSS} You are not spectating!"
- stop
- loop all players:
- {SI::on::%loop-player%} is true
- send "{@PSC} %sender% {@A} &b%arg-1%" to loop-player
- on gamemode change:
- {SI::on::%event-player%} is set
- cancel the event
- on quit:
- {SI::on::%player%} is true
- SpecOff(player)
- command /t [<player>]:
- usage: /t [<player>]
- trigger:
- if {SI::on::%sender%} is true:
- if arg-1 is not set:
- loop all players:
- {spec::%loop-player%} is not set
- add loop-player to {_tp::*}
- set {_player} to (a random element out of {_tp::*})
- if {_player} is not set:
- send "{@PSS} Nobody to teleport to."
- set {_c} to TeamColour({_player})
- send "{@PSS} Teleported to %{_c}%%{_player}%"
- teleport command sender to {_player}
- else:
- set {_c} to TeamColour(arg-1)
- teleport command sender to arg-1
- else:
- send "{@PSS} You are not spectating!"
- on left click:
- {@left.click} is true
- {SI::on::%sender%} is true
- loop all players:
- {spec::%loop-player%} is not set
- loop-player is not in world "spawn" or "world"
- add loop-player to {_tp::*}
- set {_player} to (a random element out of {_tp::*})
- teleport command sender to {_player}
- set {_c} to TeamColour({_player})
- send "{@PSS} Teleported to %{_c}%%{_player}%"
- command /near [<int=200>]:
- trigger:
- {@near} is true
- {si::on::%sender%} is true
- loop all players in radius arg-1 around player:
- loop-player is not sender
- set {_c} to TeamColour(loop-player)
- send "{@Near.Text} %{_c}%%loop-player% &8({@C}%distance between loop-player and sender% {@N}blocks&8)" to sender
- function iPvP(p: player, cause: text):
- {@ipvp} is true
- {ipvp} is true
- loop all players in radius 7 around {_p}:
- loop-player is not {_p}
- set {_c} to TeamColour(loop-player)
- add "%{_c}%%loop-player%{@N}" to {_ipvp::%{_p}%::*}
- if {_ipvp::%{_p}%::*} is set:
- set {_c} to TeamColour({_p})
- loop all players:
- {si::on::%loop-player%} is true
- send "{@SI} {@iPvP.Text} %{_c}%%{_p}% {@A} &c%{_ipvp::%{_p}%::*}% {@(}{@C}%{_cause}%{@)}" to loop-player
- delete {_ipvp::%{_p}%::*}
- on place of lava:
- iPvP(player, "Lava")
- on place of fire:
- iPvP(player, "FnS")
- on place of cactus:
- iPvP(player, "Cactus")
Advertisement
Add Comment
Please, Sign In to add comment