#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ #--▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ #--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ #-- #--▒█▀▀▀█ ▒█▀▀█ ▒█▀▀█ ▀█▀ ▒█▀▀█ ▀▀█▀▀   ▒█▀▄▀█ ░█▀▀█ ▒█▀▀▄ ▒█▀▀▀   ▒█▀▀█ ▒█░░▒█ #--░▀▀▀▄▄ ▒█░░░ ▒█▄▄▀ ▒█░ ▒█▄▄█ ░▒█░░   ▒█▒█▒█ ▒█▄▄█ ▒█░▒█ ▒█▀▀▀   ▒█▀▀▄ ▒█▄▄▄█ #--▒█▄▄▄█ ▒█▄▄█ ▒█░▒█ ▄█▄ ▒█░░░ ░▒█░░   ▒█░░▒█ ▒█░▒█ ▒█▄▄▀ ▒█▄▄▄   ▒█▄▄█ ░░▒█░░ #-- #--░█▀▀█ ▒█░░▒█ ▒█░▒█ ░█▀▀█ ▒█▀▄▀█   ░█▀▀█ ▒█░░░ ░█▀▀█ ▒█░░░ ▀█▀ #--▒█▄▄█ ▒█▄▄▄█ ▒█▀▀█ ▒█▄▄█ ▒█▒█▒█   ▒█▄▄█ ▒█░░░ ▒█▄▄█ ▒█░░░ ▒█░ #--▒█░▒█ ░░▒█░░ ▒█░▒█ ▒█░▒█ ▒█░░▒█   ▒█░▒█ ▒█▄▄█ ▒█░▒█ ▒█▄▄█ ▄█▄ #-- #--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ #--▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ #--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ # #--▒█▀▄▀█ ░█▀▀█ ▒█▀▀▄ ▒█▀▀▀   ▒█▀▀▀ ▒█▀▀▀█ ▒█▀▀█ #--▒█▒█▒█ ▒█▄▄█ ▒█░▒█ ▒█▀▀▀   ▒█▀▀▀ ▒█░░▒█ ▒█▄▄▀ #--▒█░░▒█ ▒█░▒█ ▒█▄▄▀ ▒█▄▄▄   ▒█░░░ ▒█▄▄▄█ ▒█░▒█ #-- #--▒█▀▀▀█ ▒█▀▀█ ▒█▀▀█ ░█▀█░ ▒█▀▄▀█ ▒█▀▀▀ ▒█▀▀█ ▒█▀▀▀█ #--▒█░░▒█ ▒█▄▄█ ▒█░▄▄ █▄▄█▄ ▒█▒█▒█ ▒█▀▀▀ ▒█▄▄▀ ░▀▀▀▄▄ #--▒█▄▄▄█ ▒█░░░ ▒█▄▄█ ░░░█░ ▒█░░▒█ ▒█▄▄▄ ▒█░▒█ ▒█▄▄▄█ #-- #--▒█▀▀▀█ ▒█▀▀▀ ▒█▀▀█ ▒█░░▒█ ▒█▀▀▀ ▒█▀▀█ #--░▀▀▀▄▄ ▒█▀▀▀ ▒█▄▄▀ ░▒█▒█░ ▒█▀▀▀ ▒█▄▄▀ #--▒█▄▄▄█ ▒█▄▄▄ ▒█░▒█ ░░▀▄▀░ ▒█▄▄▄ ▒█░▒█ #-- #--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ #--▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ #--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ # 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 ❤ # Advanced Launch Pads [Custom] :) options: # Say Hi to Options :D # DO NOT CHANGE console: &a&l&oLaunchPads&7> ver: 1.4.2 # DO NOT CHANGE.. otherwise skript might not work probably # Configuration (Changable) CheckUpdate: true p: &a&l&oLaunchPads&7» TopBlock: emerald block # Must be a block not a plate + you can use any plate on top of the block and it will work ButtomBlock: redstone block or air or emerald block # Must be a block not a plate worlds: "world1" or "world2" or "world3" # Use [ or "World-name" ] to add more worlds (Enabled worlds) PushForward: 0.7 PushUp: 0.6 PushForwardVIP: 0.8 PushUpVIP: 0.7 # Ver 1.2 LaunchPadsRegister: false # True/False #- Default: false # Messages (Changable) # Ver 1.2 NoPermLaunch: &c&oOops! You don't have permissions to use LaunchPads. NoPerm: &c&oOops! no permissions brah. # Command Configurations [LaunchPad] (Changable) # Ver 1.2 CmdName: launchpad CmdPerm: calp.cmd.launchpad CmdDesc: &aRegister the block below player as a LaunchPad. CmdAliases: lp, launchp, lpad # Permissions: You can Change them (Changable) perm: calp.can permvip: calp.can.vip # Ver 1.2 UpdateCheckPerm: calp.updatecheck # Particles: Particle name & Particles count (Changable) # Don't have vip permission Particle: cloud # Search in SkUnity for particles list. ParticleCount: 10 # how many particle will spawn when the event happen. # Just for vip permission (Changable) ParticleVIP1: cloud # Particles List https://gist.github.com/eyesniper2/07f5c0955af05c0782ad ParticleVIP2: flame ParticleVIPCount1: 20 ParticleVIPCount2: 20 # Sounds (Changable) Sound: mob.enderdragon.wings # NEW» http://www.minecraftforum.net/forums/mapping-and-modding/mapping-and-modding-tutorials/1571574-all-minecraft-playsound-file-names SoundVIP: mob.wither.shoot # Cooldown (Changable) # Ver 1.1 Cooldown: 2 # Changelog: # Version 1.4: 3.7.2017 # - Added message when you do "/lp info" and there is no LP below you. √ # - Fixed Duplicated IDs, so now you can make launchpads with id test, tes, te and t .. and more with no errors √ # - Added Help message "/lp help" √ # - Added Teleport feature (Note: if you have some registered launchpads before version 1.4 you will have to unregister and register them again to use the teleport feature on them) (to set the location of them)√ # - Registered LPs will not break if anything tried to damage it like creeper or explosion √ # - Can't break Redstone(@ButtomBlock) below registered LP √ # - Fixed glitch where player can't break the block in launchpad exact location (This situation happen using WorldEdit (//set) or in some other situations) # - More coming soon :) # Version 1.4.1: 3.16.2017 # - Fixed No Permission to use LP again becuase i edited the wrong version in the last update (v1.4) # Version 1.4.2: 6.20.2017 # - Removed old sounds, and added new sounds which will be played for near players (at player's location) (that means other players will hear the jumping sounds) # ---- # # DO NOT CHANGE THE CODE, Otherwise the Skript might not work probably. # # ---- # Say Hi to Code :D on load: send "&a//&7----&b/ &a&l&oAdvanced LaunchPads&b /&7----&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//&7----&b/ &a&l&oAdvanced LaunchPads&b /&7----&a//" to console set {_NewVer} to text from "http://pastebin.com/raw/bdn5ncE6" set {_UpdateInfo} to text from url "http://pastebin.com/raw/dvCG3pTc" 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 "&7()&c---------&7()" to console send "{@console} &aThere is a new update for &cAdavanced LaunchPads&7, &aYou are using version &c{@ver}&7, &aNew version&7 > &c%{_NewVer}%" to console send "{@console} &aUpdate info: %colored {_UpdateInfo}%" to console send "&7()&c---------&7()" 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 "{@UpdateCheckPerm}": if "%{_NewVer}%" is not "{@ver}": replace all "[nl]" with new line in {_UpdateInfo} replace all "[p]" with "{@p}" in {_UpdateInfo} send "&7()&c---------&7()" to loop-player send "{@p} &aThere is a new update for &cAdvanced LaunchPads&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 "&7()&c---------&7()" 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 on join: if {Launching.%uuid of player%} is not set: set {Launching.%uuid of player%} to false if {LaunchingVIP.%uuid of player%} is not set: set {LaunchingVIP.%uuid of player%} to false if {LaunchPad.%uuid of player%} is not set: set {LaunchPad.%uuid of player%} to false if {countdown.%uuid of player%} is not set: set {countdown.%uuid of player%} to false if {flightdis.%uuid of player%} is not set: set {flightdis.%uuid of player%} to false if {flightena.%uuid of player%} is not set: set {flightena.%uuid of player%} to false command /{@CmdName} [] []: permission: {@CmdPerm} permission message: {@NoPerm} description: {@CmdDesc} aliases: {@CmdAliases} executable by: players trigger: if arg-1 is "help": send "&a&l«&2&m---------&a&l LaunchPads &2&m---------&a&l»" send "" send "{@p} Help page.." send "{@p} &a/{@CmdName}&2 &7- Register a new launchpad (if LaunchPadsRegister is enabled)" send "{@p} &a/{@CmdName} &2info &7- Show the info of the LP below you" send "{@p} &a/{@CmdName} &2list &7- Show the Resgistered Launchpads list" send "{@p} &a/{@CmdName} &2help &7- Show this message" send "{@p} &a/{@CmdName} &2teleport&7/&2tp &7- Teleport to launchpad using LP-ID" send "" send "&a&l«&2&m------------------------------&a&l»" stop if arg-1 is "teleport" or "tp": if arg-2 is set: if {Loc.%arg-2%} is set: teleport player to {Loc.%arg-2%} send "{@p} &aTeleported to Launchpad ID: &c%arg-2%" stop else if {Loc.%arg-2%} is not set: send "{@p} &7There os no Launchpad with ID: &c%arg-2%" stop else: send "{@p} &7Usage: &a/{@CmdName} tp " stop if "{@LaunchPadsRegister}" is "false": send "{@p} &7LaunchPadsRegister: &c&l{@LaunchPadsRegister}" stop else if "{@LaunchPadsRegister}" is "true": if arg-1 is not set: send "{@p} &c&oLaunchPad ID is missing." stop if arg-1 is "info": if {launchpadtoggle.%location of block below player%} is true: send "&7LaunchPad Registered:&a&l %{launchpadtoggle.%location of block below player%}%" send "&7LaunchPad Info:&a&l %{launchpadinfo.%location of block below player%}%" stop else: send "{@p} &7This is not a luanchpad!" stop if arg-1 is "list": if "{@LaunchPadsRegister}" is "false": send "{@p} &7LaunchPadsRegister: &c&l{@LaunchPadsRegister}" stop else if "{@LaunchPadsRegister}" is "true": if {launchpads::*} is set: send "{@p} &7LaunchPads List:%nl%&a %{LaunchPads::*}%" stop if {launchpads::*} is not set: send "{@p} &cThere is no Registered LaunchPads." stop if arg-1 is not "info" or "list" or "help" or "teleport" or "tp": if block below player is {@TopBlock}: set {_TopB} to block below player if block below {_TopB} is {@ButtomBlock}: if {launchpadtoggle.%location of block below player%} is not set: if {launchpadsid::ids::*} is not set: set {launchpadtoggle.%location of block below player%} to true set {launchpadinfo.%location of block below player%} to "&aID: &c%arg-1%&7, &aWorld: &c%world%&7, &aLoc: &c%location of block below player%%nl%" add {launchpadinfo.%location of block below player%} to {LaunchPads::*} add arg-1 to {launchpadsid::ids::*} set {Loc.%arg-1%} to location of player # of Block will tp him inside the block send "{@p} &aThe LaunchPad below you has been &l&oEnabled." stop else: loop {launchpadsid::ids::*}: if "%loop-value%" = "%arg-1%": send "{@p} &c&oID:&b&o %arg-1%&c&o is used&7,&c&o try another one." #stop if "%loop-value%" != "%arg-1%": set {launchpadtoggle.%location of block below player%} to true set {launchpadinfo.%location of block below player%} to "&aID: &c%arg-1%&7, &aWorld: &c%world%&7, &aLoc: &c%location of block below player%%nl%" add {launchpadinfo.%location of block below player%} to {LaunchPads::*} add arg-1 to {launchpadsid::ids::*} set {Loc.%arg-1%} to location of player # of Block will tp him inside the block send "{@p} &aThe LaunchPad below you has been &l&oEnabled." stop loop if {launchpadtoggle.%location of block below player%} is false: if {launchpadsid::ids::*} is not set: set {launchpadtoggle.%location of block below player%} to true set {launchpadinfo.%location of block below player%} to "&aID: &c%arg-1%&7, &aWorld: &c%world%&7, &aLoc: &c%location of block below player%%nl%" add {launchpadinfo.%location of block below player%} to {LaunchPads::*} set {Loc.%arg-1%} to location of block below player add arg-1 to {launchpadsid::ids::*} send "{@p} &aThe LaunchPad below you has been &l&oEnabled." stop else: loop {launchpadsid::ids::*}: if "%loop-value%" = "%arg-1%": send "{@p} &c&oID:&b&o %arg-1%&c&o is used&7,&c&o try another one." stop else if "%loop-value%" != "%arg-1%": set {launchpadtoggle.%location of block below player%} to true set {launchpadinfo.%location of block below player%} to "&aID: &c%arg-1%&7, &aWorld: &c%world%&7, &aLoc: &c%location of block below player%%nl%" add {launchpadinfo.%location of block below player%} to {LaunchPads::*} set {Loc.%arg-1%} to location of player # of Block will tp him inside the block add arg-1 to {launchpadsid::ids::*} send "{@p} &aThe LaunchPad below you has been &l&oEnabled." stop loop else if {launchpadtoggle.%location of block below player%} is true: set {_RemoveLPI.%location of block below player%} to "&aID: &c%arg-1%&7, &aWorld: &c%world%&7, &aLoc: &c%location of block below player%%nl%" if "%{launchpadinfo.%location of block below player%}%" is "%{_RemoveLPI.%location of block below player%}%": set {launchpadtoggle.%location of block below player%} to false remove {launchpadinfo.%location of block below player%} from {LaunchPads::*} remove arg-1 from {launchpadsid::ids::*} clear {Loc.%arg-1%} clear {launchpadinfo.%location of block below player%} clear {_RemoveLPI.%location of block below player%} send "{@p} &cThe LaunchPad below you has been &l&odisabled." stop else if "%{launchpadinfo.%location of block below player%}%" is not "%{_RemoveLPI.%location of block below player%}%": send "{@p}&c This LaunchPad is already Registered." send "{@p}&7 To remove it type &c/{@CmdName} info" send "{@p}&7 then type &c/{@CmdName} " stop else: send "{@p} &c&oBlock below you is not the LaunchPad Buttom Block &7( &b&o{@ButtomBlock} &7)" stop else: send "{@p} &c&oBlock below you is not the LaunchPad Top Block &7( &b&o{@TopBlock} &7)" stop on break: if event-block is {@TopBlock}: if {launchpadtoggle.%location of event-block%} is true: cancel event send "{@p} &c&oYou have to Unregister this Launchpad first&7," send "{@p} &c&odo &b&o/{@CmdName} info&c&o to see the info of this LaunchPad " send "{@p} &c&odo &b&o/{@CmdName} &c&o to Remove it" if event-block is {@ButtomBlock}: if {launchpadtoggle.%location of block above event-block%} is true: cancel event send "{@p} &c&oYou have to Unregister this Launchpad first&7," send "{@p} &c&odo &b&o/{@CmdName} info&c&o to see the info of this LaunchPad " send "{@p} &c&odo &b&o/{@CmdName} &c&o to Remove it" on explode: loop exploded blocks: if loop-block is {@TopBlock}: if {launchpadtoggle.%location of loop-block%} is true: cancel event if loop-block is {@ButtomBlock}: if {launchpadtoggle.%location of block above loop-block%} is true: cancel event on fly toggle: if {LaunchingVIP.%uuid of player%} is true: cancel event else if {Launching.%uuid of player%} is true: cancel event on any move: if player has permission "{@perm}": if player's world is {@worlds}: if "{@LaunchPadsRegister}" is "true": if {launchpadtoggle.%location of block below player%} is true: if block below player is {@TopBlock}: set {_Block1} to block below player if block below {_Block1} is {@ButtomBlock}: if player has permission "{@permvip}": if {countdown.%uuid of player%} is false: if player's flight state is false: set {flightdis.%uuid of player%} to true set player's flight state to true else if player's flight state is true: set {flightena.%uuid of player%} to true play raw sound "{@SoundVIP}" at location of player with pitch 10 volume 1 #skellett play "{@SoundVIP}" to player at volume 1 and pitch 10 set {LaunchingVIP.%uuid of player%} to true push player upwards at speed {@PushUpVIP} wait 3 ticks push player forwards at speed {@PushForwardVIP} set {countdown.%uuid of player%} to true wait {@Cooldown} seconds set {countdown.%uuid of player%} to false else if player doesn't have permission "{@permvip}": if {countdown.%uuid of player%} is false: if player's flight state is false: set {flightdis.%uuid of player%} to true set player's flight state to true else if player's flight state is true: set {flightena.%uuid of player%} to true play raw sound "{@Sound}" at location of player with pitch 10 volume 1 #skellett play "{@Sound}" to player at volume 1 and pitch 10 set {Launching.%uuid of player%} to true push player upwards at speed {@PushUp} wait 3 ticks push player forwards at speed {@PushForward} set {countdown.%uuid of player%} to true wait {@Cooldown} seconds set {countdown.%uuid of player%} to false else if "{@LaunchPadsRegister}" is "false": if block below player is {@TopBlock}: set {_Block1} to block below player if block below {_Block1} is {@ButtomBlock}: if player has permission "{@permvip}": if {countdown.%uuid of player%} is false: if player's flight state is false: set {flightdis.%uuid of player%} to true set player's flight state to true else if player's flight state is true: set {flightena.%uuid of player%} to true play raw sound "{@SoundVIP}" at location of player with pitch 10 volume 1 #skellett play "{@SoundVIP}" to player at volume 1 and pitch 10 set {LaunchingVIP.%uuid of player%} to true push player upwards at speed {@PushUpVIP} wait 3 ticks push player forwards at speed {@PushForwardVIP} set {countdown.%uuid of player%} to true wait {@Cooldown} seconds set {countdown.%uuid of player%} to false else if player doesn't have permission "{@permvip}": if {countdown.%uuid of player%} is false: if player's flight state is false: set {flightdis.%uuid of player%} to true set player's flight state to true else if player's flight state is true: set {flightena.%uuid of player%} to true play raw sound "{@Sound}" at location of player with pitch 10 volume 1 #skellett play "{@Sound}" to player at volume 1 and pitch 10 set {Launching.%uuid of player%} to true push player upwards at speed {@PushUp} wait 3 ticks push player forwards at speed {@PushForward} set {countdown.%uuid of player%} to true wait {@Cooldown} seconds set {countdown.%uuid of player%} to false else: # Ver 1.3 and 1.4.1 if player doesn't have permission "{@perm}": if player's world is {@worlds}: if block below player is {@TopBlock}: set {_Block1} to block below player if block below {_Block1} is {@ButtomBlock}: send "{@NoPermLaunch}" on any move: if {LaunchingVIP.%uuid of player%} is true: show {@ParticleVIPCount1} "{@ParticleVIP1}" Particle at location of player for player offset by 0, 0.2, 0 show {@ParticleVIPCount2} "{@ParticleVIP2}" Particle at location of player for player offset by 0, 0.2, 0 else if {Launching.%uuid of player%} is true: show {@ParticleCount} "{@Particle}" Particle at location of player for player offset by 0, 0.2, 0 on any move: player is on ground: if {LaunchingVIP.%uuid of player%} is true: set {LaunchingVIP.%uuid of player%} to false if {Launching.%uuid of player%} is true: set {Launching.%uuid of player%} to false if {damage.%uuid of player%} is true: wait 2 ticks set {damage.%uuid of player%} to false if {flightdis.%uuid of player%} is true: set player's flight state to false set {flightdis.%uuid of player%} to false else if {flightena.%uuid of player%} is true: set player's flight state to true set {flightena.%uuid of player%} to false on damage: damage cause is fall: if {damage.%uuid of victim%} is true: cancel event # ------ # # The End of the Skript :) # Ayham Alali. # # ------