#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ #--▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ #--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ #-- #--▒█▀▀▀█ ▒█▀▀█ ▒█▀▀█ ▀█▀ ▒█▀▀█ ▀▀█▀▀   ▒█▀▄▀█ ░█▀▀█ ▒█▀▀▄ ▒█▀▀▀   ▒█▀▀█ ▒█░░▒█ #--░▀▀▀▄▄ ▒█░░░ ▒█▄▄▀ ▒█░ ▒█▄▄█ ░▒█░░   ▒█▒█▒█ ▒█▄▄█ ▒█░▒█ ▒█▀▀▀   ▒█▀▀▄ ▒█▄▄▄█ #--▒█▄▄▄█ ▒█▄▄█ ▒█░▒█ ▄█▄ ▒█░░░ ░▒█░░   ▒█░░▒█ ▒█░▒█ ▒█▄▄▀ ▒█▄▄▄   ▒█▄▄█ ░░▒█░░ #-- #--░█▀▀█ ▒█░░▒█ ▒█░▒█ ░█▀▀█ ▒█▀▄▀█   ░█▀▀█ ▒█░░░ ░█▀▀█ ▒█░░░ ▀█▀ #--▒█▄▄█ ▒█▄▄▄█ ▒█▀▀█ ▒█▄▄█ ▒█▒█▒█   ▒█▄▄█ ▒█░░░ ▒█▄▄█ ▒█░░░ ▒█░ #--▒█░▒█ ░░▒█░░ ▒█░▒█ ▒█░▒█ ▒█░░▒█   ▒█░▒█ ▒█▄▄█ ▒█░▒█ ▒█▄▄█ ▄█▄ #-- #--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ #--▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ #--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ # #--▒█▀▄▀█ ░█▀▀█ ▒█▀▀▄ ▒█▀▀▀   ▒█▀▀▀ ▒█▀▀▀█ ▒█▀▀█ #--▒█▒█▒█ ▒█▄▄█ ▒█░▒█ ▒█▀▀▀   ▒█▀▀▀ ▒█░░▒█ ▒█▄▄▀ #--▒█░░▒█ ▒█░▒█ ▒█▄▄▀ ▒█▄▄▄   ▒█░░░ ▒█▄▄▄█ ▒█░▒█ #-- #--▒█▀▀▀█ ▒█▀▀█ ▒█▀▀█ ░█▀█░ ▒█▀▄▀█ ▒█▀▀▀ ▒█▀▀█ ▒█▀▀▀█ #--▒█░░▒█ ▒█▄▄█ ▒█░▄▄ █▄▄█▄ ▒█▒█▒█ ▒█▀▀▀ ▒█▄▄▀ ░▀▀▀▄▄ #--▒█▄▄▄█ ▒█░░░ ▒█▄▄█ ░░░█░ ▒█░░▒█ ▒█▄▄▄ ▒█░▒█ ▒█▄▄▄█ #-- #--▒█▀▀▀█ ▒█▀▀▀ ▒█▀▀█ ▒█░░▒█ ▒█▀▀▀ ▒█▀▀█ #--░▀▀▀▄▄ ▒█▀▀▀ ▒█▄▄▀ ░▒█▒█░ ▒█▀▀▀ ▒█▄▄▀ #--▒█▄▄▄█ ▒█▄▄▄ ▒█░▒█ ░░▀▄▀░ ▒█▄▄▄ ▒█░▒█ #-- #--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ #--▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ #--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ # Skript made by Ayham Alali [iTzAyhamHD] YT: ayham5131 # Made for OPG4MERS server by the OWNER Ayham Alali ^_^ # It can be used for other servers as well :) # please support me if you can by donating: http://opg4mers.buycraft.net/category/859689 # Thank you for Downloading/Using my Skripts ❤ # Sign Command Plus [Custom] :) # ----- # ToDo: # Ver 1.1: # - Fix Permissions √ # - Delete unused codes √ # - Add Sounds to the event (use) √ # - Add Particles to the event (use) √ # - True/False for Sounds √ # - True/False for Particles √ # + New Requirements ( SkRayFall, Skellett ) # Ver 1.2: (3/8/2017) # • Fixed Duplicated IDs, Now you can use any id with no errors like (test, tes, te, t) √ # • Fixed bug Same ID can be used on two signs, only happen if you have some signs commands already! √ # • Add Sounds for who have access & who don't have √ # • Add Particles for who have access & who don't have √ # • Remove by ID X (Maybe later, need to reset the variables!) # • Teleport Particle √ # • Teleport Sound √ # • Remove Particle √ # • Remove Sound √ # • Create Particle √ # • Create Sound √ # • New Sounds list URL line: 100, 101 √ # • SignCmd break msg (True/False) # • Create Msg changed # • Permissions changed (from "signcmd.access.signcmd" to "signcmd.cmd.signcmd") (Command permission) # • New Permissions added: # ○ signcmd.cmd.signcmd.tp # ○ signcmd.cmd.signcmd.remove # ○ signcmd.cmd.signcmd.create # ○ signcmd.cmd.signcmd.info # ○ signcmd.cmd.signcmd.list # ♦ (Buy me a coffee ❤) Help me keep updating my resources by donating here » paypal.me/ayhamalali # ----- options: # Say Hola to Options # DON'T CHANGE (Not Changable) console: &a&lSignCmd&7> ver: 1.2 # Configurations (Changable) p: &9&l&oSignCmd&7» CheckUpdate: true TFLine1: true # Line 1 of the sign (Changable) line1: SignCmd # Console/Player command execute (Changable) # IMPORTANT: Can't set both to true of false, one of them must be true and the other false ConsoleExecute: true PlayerExecute: false # True/False for Sounds and Particles # Sounds List https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html # Sounds for mc1.8: https://github.com/Attano/Spigot-1.8/blob/master/org/bukkit/Sound.java # Particles List https://gist.github.com/eyesniper2/07f5c0955af05c0782ad TFSounds: true # Sounds TFParticles: true # Particles # v1.2 TFNoPermSound: true TFNoPermParticle: true # - Remove Sounds/Particles TFRemoveSound: true TFRemoveParticle: true # - Create Sounds/Particles TFCreateSound: true TFCreateParticle: true # - Teleport Sounds/Particles TFTPSound: true TFTPParticle: true # Configurations UseSound: CLICK UseParticles: smoke normal UseParticlesCount: 10 # v1.2 # - NoPerm NoPermSound: VILLAGER_HURT # ENTITY_VILLAGER_HURT NoPermParticle: Villager Angry NoPermParticlesCount: 10 # - Create CreateSound: VILLAGER_YES CreateParticle: Villager Happy CreateParticlesCount: 10 # - Remove RemoveSound: VILLAGER_NO #ITEMFRAME_REMOVE_ITEM RemoveParticle: Smoke Normal RemoveParticlesCount: 10 # - Teleport TPSound: ENDERDRAGON_WINGS TPParticle: cloud TPParticlesCount: 20 # Commands Stuff (Changable) SignCmdCommand: signcmd CmdAliases: signc, sc # v1.2 Permission changed from "signcmd.access.signcmd" to "signcmd.cmd.signcmd" # To give any player all command permissions use "signcmd.cmd.*" CmdPerm: signcmd.cmd.signcmd # v1.2 To see Help msg # v1.2 New Cmd Permissions CmdTPPerm: signcmd.cmd.signcmd.tp # To Teleport CmdRemovePerm: signcmd.cmd.signcmd.remove # To Remove sign CmdCreatePerm: signcmd.cmd.signcmd.create # To Create CmdListPerm: signcmd.cmd.signcmd.list # To see List CmdInfoPerm: signcmd.cmd.signcmd.info # To see Info CmdDesc: &e&oApply a command on a sign # Messages NoPerm: &c&oLooks like you don't have enough permissions! # v1.2 TFSignBreakPermMsg: true # When player try to break CmdSign with no permissions this msg will be sent - You can set it to false if you don't want it.. maybe WorldGuard Msg is better it's back to you :) (Default: true) # Permissions (Changable) UsePerm: signcmd.access.use SignBreakPerm: signcmd.access.break UpdatePerm: csc.updatecheck # --- # DON'T PLAY WITH THE CODE if you don't know what are you doing, # Otherwise the skript might not work probably. # --- # Say Hola to Code function helpMsg(p: player): send "&7&m---------&7&o[ &9&l&oSignCmd Plus &7&o]&7&m---------" to {_p} send " " to {_p} send " &a/signcmd &e- &7Add a &9&l&ocommand &7& &9&l&oid &7to the targeted sign" to {_p} send " &a/signcmd help&7/&ah &e- &7Show this message" to {_p} send " &a/signcmd teleport&7/&atp &e- &7Teleport to the given &9&l&oID" to {_p} send " &a/signcmd info&7/&ai &e- &7Show the info of &9&l&oID&7/&9&l&otargeted sign" to {_p} send " &a/signcmd remove&7/&are &e- &7Remove &9&l&oid &7& &9&l&ocommand&7 of targeted sign" to {_p} send " &a/signcmd list&7/&al &e- &7Show the list of &9&l&ocreated Signs" to {_p} send " " to {_p} send "&7&m---------&7&o[ &9&l&oSignCmd Plus &7&o]&7&m---------" to {_p} on load: send "&a[&e-&7----&b[ &a&l&oSignCmd Plus&b ]&7----&e-&a]" to console send " " to console send "{@console} &aRunning on version &c{@ver}" to console send "{@console} &bThank you for downloading/using my skripts :)" to console send "{@console} &eSkript made by &aAyham Alali &cYT&7:&a@ayham5131" to console send " " to console send "&a[&e-&7----&b[ &a&l&oSignCmd Plus&b ]&7----&e-&a]" to console send " " to console # Set.. if {signcmd.id.count} is not set: set {signcmd.id.count} to 0 set {_NewVer} to text from "http://pastebin.com/raw/YWwAwgwn" set {_UpdateInfo} to text from url "http://pastebin.com/raw/9zksEVWj" if "{@CheckUpdate}" is "true": send "{@console} &eChecking for update..." to console if "{@CheckUpdate}" is "true": if "%{_NewVer}%" is not "{@ver}": replace all "[nl]" with new line in {_UpdateInfo} replace all "[p]" with "{@p}" in {_UpdateInfo} send "&8&l!&c---------&8&l!" to console send "{@console} &aThere is a new update for &cSignCmd Plus&7, &aYou are using version &c{@ver}&7, &aNew version&7 > &c%{_NewVer}%" to console send "{@console} &aUpdate info: %colored {_UpdateInfo}%" to console send "&8&l!&c---------&8&l!" to console else if "%{_NewVer}%" is "{@ver}": send "{@console}&a is up to date&7, &aNo new updates." to console loop all players: if loop-player has permission "{@UpdatePerm}": if "%{_NewVer}%" is not "{@ver}": replace all "[nl]" with new line in {_UpdateInfo} replace all "[p]" with "{@p}" in {_UpdateInfo} send "&8&l!&c---------&8&l!" to loop-player send "{@p} &aThere is a new update for &cSignCmd Plus&7, &aYou are using version &c{@ver}&7, &aNew version&7 > &c%{_NewVer}%" to loop-player send "{@p} &aUpdate info: &c%colored {_UpdateInfo}%" to loop-player send "&8&l!&c---------&8&l!" to loop-player else if "%{_NewVer}%" is "{@ver}": send "{@p}&a is up to date&7, &aNo new updates." to loop-player wait 1 ticks send "{@console} &ahas been loaded successfully." to console on unload: send "{@console} &chas been unloaded successfully." to console command /{@SignCmdCommand} [] []: permission: {@CmdPerm} permission message: {@NoPerm} description: {@CmdDesc} aliases: {@CmdAliases} trigger: if arg-1 is not set: if arg-2 is not set: helpMsg(player) stop if arg-1 is "teleport" or "tp": if player has permission "{@CmdTPPerm}": if arg-2 is set: loop {signcmd::ids::*}: if "%loop-value%" = "%arg-2%": send "{@p} &aTeleported to ID: &9&l&o%arg-2%" to player teleport player to {loc.%arg-2%} if "{@TFTPSound}" = "true": skellett play "{@TPSound}" to player at volume 1 and pitch 10 if "{@TFTPParticle}" = "true": wait 2 ticks show {@TPParticlesCount} "{@TPParticle}" particles at {loc.%arg-2%} for player stop else: send "{@p} &cThere is no used ID with this id: &9&l&o%arg-2%" to player stop else: send "{@p} &7The &9&l&oID&7 of the sign is missing." stop else: send "{@p} {@NoPerm}" if "{@TFNoPermSound}" = "true": skellett play "{@NoPermSound}" to player at volume 1 and pitch 10 if "{@TFNoPermParticle}" = "true": show {@NoPermParticlesCount} "{@NoPermParticle}" particles at location of player for player stop if arg-1 is "remove" or "re": if player has permission "{@CmdRemovePerm}": if arg-2 is not set: if targeted block is sign: if {id.%targeted block%} is set: send "{@p} &cRemoved Sign Command:" send "{@p} &7ID: &7( &9&l&o%{id.%targeted block%}% &7)" send "{@p} &7Cmd: &7( &9&l&o%{cmd.%targeted block%}% &7)" wait 1 tick remove "%{id.%targeted block%}%" from {signcmd::ids::*} remove 1 from {signcmd.id.count} clear {loc.%{id.%targeted block%}%} clear {id.cmd.%{id.%targeted block%}%} wait 1 tick clear {id.%targeted block%} clear {cmd.%targeted block%} if "{@TFRemoveSound}" = "true": skellett play "{@RemoveSound}" to player at volume 1 and pitch 10 if "{@TFRemoveParticle}" = "true": show {@RemoveParticlesCount} "{@RemoveParticle}" particles at location of targeted block for player stop else: send "{@p} &c&oThis sign has no commands." stop else: send "{@p} &c&oYou must look at a sign." stop else: send "{@p} &7Removing Sign using there ID is not supported yet" stop else: send "{@p} {@NoPerm}" if "{@TFNoPermSound}" = "true": skellett play "{@NoPermSound}" to player at volume 1 and pitch 10 if "{@TFNoPermParticle}" = "true": show {@NoPermParticlesCount} "{@NoPermParticle}" particles at location of player for player stop if arg-1 is "help" or "h": if arg-2 is not set: helpMsg(player) stop if arg-1 is "info" or "i": if player has permission "{@CmdInfoPerm}": if arg-2 is not set: if targeted block is sign: if {cmd.%targeted block%} is set: send "{@p} &7&oID: &9&l&o%{id.%targeted block%}%" to player send "{@p} &7&oCmd: &9&l&o%{cmd.%targeted block%}%" to player stop else: send "{@p} &c&oThis sign has no commands" stop else: send "{@p} &7&oYou need to look at a &9&l&osign!" stop else if arg-2 is set: loop {signcmd::ids::*}: #set {_allinfo::ids::*} to loop-value if "%loop-value%" = "%arg-2%": send "{@p} &7Showing info of &9&l&o%arg-2%&7:" send "%{id.cmd.%{id.%arg-2%}%}%" stop loop else: send "{@p} &cThere is no used ID with this id: &9&l&o%arg-2%" stop loop else: send "{@p} {@NoPerm}" if "{@TFNoPermSound}" = "true": skellett play "{@NoPermSound}" to player at volume 1 and pitch 10 if "{@TFNoPermParticle}" = "true": show {@NoPermParticlesCount} "{@NoPermParticle}" particles at location of player for player stop if arg-1 is "list" or "l": if player has permission "{@CmdListPerm}": if arg-2 is not set: if {signcmd.id.count} < 1: send "&7There are no signs created." stop else: send "&8&m-----" send "&7There is/are (count): &9%{signcmd.id.count}%" send "&7There is/are (names): &9%{signcmd::ids::*}%" send "&8&m-----" stop else: send "{@p} {@NoPerm}" if "{@TFNoPermSound}" = "true": skellett play "{@NoPermSound}" to player at volume 1 and pitch 10 if "{@TFNoPermParticle}" = "true": show {@NoPermParticlesCount} "{@NoPermParticle}" particles at location of player for player if arg-1 is not "info" or "help" or "teleport" or "list" or "remove" or "tp" or "i" or "h" or "re" or "l": if player has permission "{@CmdCreatePerm}": if arg-2 is set: if targeted block is sign: if {signcmd::ids::*} is not set: if {id.%targeted block%} is not set: if {cmd.%targeted block%} is not set: set {id.%targeted block%} to arg-1 # ID set {cmd.%targeted block%} to arg-2 # Command wait 1 tick set {id.cmd.%{id.%arg-1%}%} to "{@p} &7ID:&9&l&o %arg-1%%nl%{@p} &7Cmd:&9&l&o %arg-2%" # List data add 1 to {signcmd.id.count} # Counter add arg-1 to {signcmd::ids::*} # IDs numbers # Location set {loc.%{id.%targeted block%}%} to location of targeted block # Line 1 set {_line1} to uncolored "{@line1}" # Line1 # Sounds/Particles if "{@TFCreateSound}" = "true": skellett play "{@CreateSound}" to player at volume 1 and pitch 10 if "{@TFCreateParticle}" = "true": show {@CreateParticlesCount} "{@CreateParticle}" particles at location of targeted block for player if "{@TFLine1}" is "true": if line 1 of targeted block is not "{@line1}": send "{@p} &7Command has been &9&l&oapplied&7 at the &9&l&oTargeted Sign&7,&7 To make it work type in the first line:&r %{_line1}% %newline%{@p} ID: &c%{id.%targeted block%}% %newline%{@p} &7Cmd: /&c%{cmd.%targeted block%}%" stop else: send "{@p} &7Command has been &9&l&oapplied&7 at the &9&l&oTargeted Sign %newline%{@p} ID: &c%{id.%targeted block%}% %newline%{@p} &7Cmd: /&c%{cmd.%targeted block%}%" stop else if "{@TFLine1}" is "false": send "{@p} &7Command has been &9&l&oapplied&7 at the &9&l&oTargeted Sign %newline%{@p} ID: &c%{id.%targeted block%}% %newline%{@p} &7Cmd: /&c%{cmd.%targeted block%}%" stop else: send "{@p} &c&oThis sign has a command already." stop else: send "{@p} &c&oThis sign has a command already." stop else: if {id.%targeted block%} is not set: if {cmd.%targeted block%} is not set: loop {signcmd::ids::*}: if "%loop-value%" = "%arg-1%": send "{@p} &7This id is used, use another one." stop else if "%loop-value%" != "%arg-1%": if {id.%targeted block%} is not set: if {cmd.%targeted block%} is not set: set {id.%targeted block%} to arg-1 # ID set {cmd.%targeted block%} to arg-2 # Command wait 1 tick set {id.cmd.%{id.%arg-1%}%} to "{@p} &7ID:&9&l&o %arg-1%%nl%{@p} &7Cmd:&9&l&o %arg-2%" # List data add 1 to {signcmd.id.count} # Counter add arg-1 to {signcmd::ids::*} # IDs numbers # Location set {loc.%arg-1%} to location of targeted block # Line 1 set {_line1} to uncolored "{@line1}" # Line1 # Sounds/Particles if "{@TFCreateSound}" = "true": skellett play "{@CreateSound}" to player at volume 1 and pitch 10 if "{@TFCreateParticle}" = "true": show {@CreateParticlesCount} "{@CreateParticle}" particles at location of targeted block for player if "{@TFLine1}" contains "true": if line 1 of targeted block is not "{@line1}": send "{@p} &7Command has been &9&l&oapplied&7 at the &9&l&oTargeted Sign&7,&7 To make it work type in the first line:&r %{_line1}% %newline%{@p} ID: &c%{id.%targeted block%}% %newline%{@p} &7Cmd: /&c%{cmd.%targeted block%}%" stop else: send "{@p} &7Command has been &9&l&oapplied&7 at the &9&l&oTargeted Sign %newline%{@p} ID: &c%{id.%targeted block%}% %newline%{@p} &7Cmd: /&c%{cmd.%targeted block%}%" stop else if "{@TFLine1}" contains "false": send "{@p} &7Command has been &9&l&oapplied&7 at the &9&l&oTargeted Sign %newline%{@p} ID: &c%{id.%targeted block%}% %newline%{@p} &7Cmd: /&c%{cmd.%targeted block%}%" stop else: send "{@p} &c&oThis sign has a command already." stop else: send "{@p} &c&oThis sign has a command already." stop else: send "{@p} &c&oThis sign has a command already." stop else: send "{@p} &c&oThis sign has a command already." stop else: if targeted block is not sign: send "{@p} &7You must look at a &9&l&oSign&7." stop else: send "{@p} &7Usage:&9&l&o {@SignCmdCommand} " stop else: send "{@p} {@NoPerm}" if "{@TFNoPermSound}" = "true": skellett play "{@NoPermSound}" to player at volume 1 and pitch 10 if "{@TFNoPermParticle}" = "true": show {@NoPermParticlesCount} "{@NoPermParticle}" particles at location of player for player stop on rightclick on sign: if {id.%targeted block%} is set: if "{@TFLine1}" contains "true": if line 1 of targeted block is "{@line1}": if player has permission "{@UsePerm}": set {_cmd} to {cmd.%targeted block%} replace all "$p" with player's name in {_cmd} if {cmd.%targeted block%} is set: if "{@ConsoleExecute}" = "true": execute console command "%{_cmd}%" # Sounds/Particles if "{@TFSounds}" = "true": skellett play "{@UseSound}" to player at volume 1 and pitch 10 if "{@TFParticles}" is "true": show {@UseParticlesCount} "{@UseParticles}" particles at location of targeted block for player else if "{@PlayerExecute}" = "true": make player execute command "%{_cmd}%" # Sounds/Particles if "{@TFSounds}" = "true": skellett play "{@UseSound}" to player at volume 1 and pitch 10 if "{@TFParticles}" is "true": show {@UseParticlesCount} "{@UseParticles}" particles at location of targeted block for player else: send "{@NoPerm}" to player if "{@TFNoPermSound}" = "true": skellett play "{@NoPermSound}" to player at volume 1 and pitch 10 if "{@TFNoPermParticle}" = "true": show {@NoPermParticlesCount} "{@NoPermParticle}" particles at location of targeted block for player else if "{@TFLine1}" contains "false": if player has permission "{@UsePerm}": set {_cmd} to {cmd.%targeted block%} replace all "$p" with player's name in {_cmd} if {cmd.%targeted block%} is set: if "{@ConsoleExecute}" contains "true": execute console command "%{_cmd}%" # Sounds/Particles if "{@TFSounds}" is "true": skellett play "{@UseSound}" to player at volume 1 and pitch 10 if "{@TFParticles}" is "true": show {@UseParticlesCount} "{@UseParticles}" particles at location of targeted block for player else if "{@PlayerExecute}" contains "true": make player execute command "%{_cmd}%" # Sounds/Particles if "{@TFSounds}" is "true": skellett play "{@UseSound}" to player at volume 1 and pitch 10 if "{@TFParticles}" is "true": show {@UseParticlesCount} "{@UseParticles}" particles at location of targeted block for player else: send "{@NoPerm}" to player if "{@TFNoPermSound}" = "true": skellett play "{@NoPermSound}" to player at volume 1 and pitch 10 if "{@TFNoPermParticle}" = "true": show {@NoPermParticlesCount} "{@NoPermParticle}" particles at location of targeted block for player on break of sign: if {cmd.%targeted block%} is set: if player has permission "{@SignBreakPerm}": cancel event send "{@p} &7This Sign has a command on, to remove it:" send "{@p} &9&l&o1&7: look at the sign and execute &9&l&o/{@SignCmdCommand} info" send "{@p} &9&l&o2&7: keep looking at it and execute &9&l&o/{@SignCmdCommand} remove " send "{@p} &f&l&oBeware&7: after doing these steps the sign, id and the command on will be removed." stop else: if "{@TFSignBreakPermMsg}" = "true": send "{@p} {@NoPerm}" if "{@TFNoPermSound}" = "true": skellett play "{@NoPermSound}" to player at volume 1 and pitch 10 if "{@TFNoPermParticle}" = "true": show {@NoPermParticlesCount} "{@NoPermParticle}" particles at location of player for player # ------ # # End of Skript # By Ayham alali # # ------