CustomCmdConfirm.sk

Created by Ayham

Just so you know, we don't know the file format for every file. If it's just a bunch of random characters, it's probably a .zip or .jar.

#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ 
#--▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ 
#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ 
#--
#--▒█▀▀▀█ ▒█▀▀█ ▒█▀▀█ ▀█▀ ▒█▀▀█ ▀▀█▀▀   ▒█▀▄▀█ ░█▀▀█ ▒█▀▀▄ ▒█▀▀▀   ▒█▀▀█ ▒█░░▒█ 
#--░▀▀▀▄▄ ▒█░░░ ▒█▄▄▀ ▒█░ ▒█▄▄█ ░▒█░░   ▒█▒█▒█ ▒█▄▄█ ▒█░▒█ ▒█▀▀▀   ▒█▀▀▄ ▒█▄▄▄█ 
#--▒█▄▄▄█ ▒█▄▄█ ▒█░▒█ ▄█▄ ▒█░░░ ░▒█░░   ▒█░░▒█ ▒█░▒█ ▒█▄▄▀ ▒█▄▄▄   ▒█▄▄█ ░░▒█░░ 
#--
#--░█▀▀█ ▒█░░▒█ ▒█░▒█ ░█▀▀█ ▒█▀▄▀█   ░█▀▀█ ▒█░░░ ░█▀▀█ ▒█░░░ ▀█▀ 
#--▒█▄▄█ ▒█▄▄▄█ ▒█▀▀█ ▒█▄▄█ ▒█▒█▒█   ▒█▄▄█ ▒█░░░ ▒█▄▄█ ▒█░░░ ▒█░ 
#--▒█░▒█ ░░▒█░░ ▒█░▒█ ▒█░▒█ ▒█░░▒█   ▒█░▒█ ▒█▄▄█ ▒█░▒█ ▒█▄▄█ ▄█▄ 
#--
#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ 
#--▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ 
#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ 
#
#--▒█▀▄▀█ ░█▀▀█ ▒█▀▀▄ ▒█▀▀▀   ▒█▀▀▀ ▒█▀▀▀█ ▒█▀▀█ 
#--▒█▒█▒█ ▒█▄▄█ ▒█░▒█ ▒█▀▀▀   ▒█▀▀▀ ▒█░░▒█ ▒█▄▄▀ 
#--▒█░░▒█ ▒█░▒█ ▒█▄▄▀ ▒█▄▄▄   ▒█░░░ ▒█▄▄▄█ ▒█░▒█ 
#--
#--▒█▀▀▀█ ▒█▀▀█ ▒█▀▀█ ░█▀█░ ▒█▀▄▀█ ▒█▀▀▀ ▒█▀▀█ ▒█▀▀▀█ 
#--▒█░░▒█ ▒█▄▄█ ▒█░▄▄ █▄▄█▄ ▒█▒█▒█ ▒█▀▀▀ ▒█▄▄▀ ░▀▀▀▄▄ 
#--▒█▄▄▄█ ▒█░░░ ▒█▄▄█ ░░░█░ ▒█░░▒█ ▒█▄▄▄ ▒█░▒█ ▒█▄▄▄█ 
#--
#--▒█▀▀▀█ ▒█▀▀▀ ▒█▀▀█ ▒█░░▒█ ▒█▀▀▀ ▒█▀▀█ 
#--░▀▀▀▄▄ ▒█▀▀▀ ▒█▄▄▀ ░▒█▒█░ ▒█▀▀▀ ▒█▄▄▀ 
#--▒█▄▄▄█ ▒█▄▄▄ ▒█░▒█ ░░▀▄▀░ ▒█▄▄▄ ▒█░▒█ 
#--
#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ 
#--▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ 
#--░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ 

# 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: https://www.paypal.me/ayhamalali
# Thank you for Downloading/Using my Skripts ❤
# Command Confirmation [Custom] :)



# $-------$
# --
# Buy me a Coffee: https://www.paypal.me/ayhamalali
# To let me keep working on my skripts/plugins please donate
# Also if you want to help me to run my server (OPG4MERS) again just donate ❤
# --
# $-------$

# Updates:
#  • v1.1 
#   - Fixed message of command "/commandconfirm <player> (to disable it)"


options: # Say Halo Boi to Options

	# DO NOT EDIT
	ver: 1.1
	console: &a&lCmdConfirm&7>

	 # Configurations
	p: &a&lCmdConfirm&7»
	UpdateCheckPerm: cmdconfirm.updatecheck # in Seconds

	 # Exempt Stuff
	ExemptedCmds: "say" or "broadcast" or "commandconfirm" or "cmdc" # Syntax: "cmd1" or "cmd2" or "cmd3" ...
	ExemptPerm: cmdconfirm.exempt

	 # GUI Stuff
	GUIName: &a&lConfirmation
	ConfirmItemName: &a&lConfirm
	DenyItemName: &c&lDeny

	 # Command Stuff
	CmdName: commandconfirm
	CmdPerm: cmdconfirm.cmd.commandconfirm
	CmdDesc: &aEnable&7/&cDisable&a Command Confirmation for &2you&7/&2specific player&a.
	CmdAliases: cmdc # cmd1, cmd2, cmd3 ...

	 # Msgs
	NoPerm: &cNo enough permissions!
	EnabledMsg: &7Command Confirmation: &a&lENABLED&7 for &a[target] # Variables: [target] = is the target (player, argument)
	DisabledMsg: &7Command Confirmation: &c&lDISABLED&7 for &a[target] # Variables: [target] = is the target (player, argument)
	DenyMsg: &cYou Denied the confirmation.
	ExtraMsg: &7To disable this feature, type '&c/[cmd]&7' # Variables: [cmd] = the command


on load: # Say Halo Boi to Code
	send "&7!&a&l*&7!----- &a&l&oCmd Confirmation &7-----!&a&l*&7!" 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 "&7!&a&l*&7!----- &a&l&oCmd Confirmation &7-----!&a&l*&7!" to console
	set {_NewVer} to text from "http://pastebin.com/raw/GwzBnKfa"
	set {_UpdateInfo} to text from url "http://pastebin.com/raw/yeUekSkN"
	send "{@console} &eChecking for update..." to console
	if "%{_NewVer}%" is not "{@ver}":
		replace all "[nl]" with new line in {_UpdateInfo}
		replace all "[p]" with "{@p}" in {_UpdateInfo}
		send "&7!&c&l*&7!&8---------&7!&c&l*&c!" to console
		send "{@console} &aThere is a new update for &cCmd Confirmation&7, &anew version&7 > &c%{_NewVer}% &7(Running: &c{@ver}&7)" to console
		send "{@console} &aUpdate info: %colored {_UpdateInfo}%" to console
		send "&7!&c&l*&7!&8---------&7!&c&l*&c!" to console
	else if "%{_NewVer}%" is "{@ver}":
		send "{@console}&a Plugin is up to date." 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&l*&7!&8---------&7!&c&l*&c!" to loop-player
				send "{@console} &aThere is a new update for &cCmd Confirmation&7, &anew version&7 > &c%{_NewVer}% &7(Running: &c{@ver}&7)" to loop-player
				send "{@p} &aUpdate info: &c%colored {_UpdateInfo}%" to loop-player
				send "&7!&c&l*&7!&8---------&7!&c&l*&c!" to loop-player
			else if "%{_NewVer}%" is "{@ver}":
				send "{@p}&a Plugin is up to date." to loop-player
	wait 1 tick
	send "{@console} &ahas been loaded successfully." to console

on unload:
	send "{@console} &chas been unloaded successfully." to console


command /{@CmdName} [<text>]:
	permission: {@CmdPerm}
	permission message: {@NoPerm}
	description: {@CmdDesc}
	aliases: {@CmdAliases}
	trigger:
		if arg-1 is not set:
			if {CmdConfirm::%player%} is not set:
				set {CmdConfirm::%player%} to true
				set {_Msg} to "{@EnabledMsg}"
				replace all "[target]" with "%player%" in {_Msg}
				send "{@p} %{_Msg}%"
				stop

			if {CmdConfirm::%player%} is false:
				set {CmdConfirm::%player%} to true
				set {_Msg} to "{@EnabledMsg}"
				replace all "[target]" with "%player%" in {_Msg}
				send "{@p} %{_Msg}%"
				stop

			if {CmdConfirm::%player%} is true:
				set {CmdConfirm::%player%} to false
				set {_Msg} to "{@DisabledMsg}"
				replace all "[target]" with "%player%" in {_Msg}
				send "{@p} %{_Msg}%"
				stop

		if arg-1 is set:
			if {CmdConfirm::%arg-1%} is not set:
				set {CmdConfirm::%arg-1%} to true
				set {_Msg} to "{@EnabledMsg}"
				replace all "[target]" with "%arg-1%" in {_Msg}
				send "{@p} %{_Msg}%"
				stop

			if {CmdConfirm::%arg-1%} is false:
				set {CmdConfirm::%arg-1%} to true
				set {_Msg} to "{@EnabledMsg}"
				replace all "[target]" with "%arg-1%" in {_Msg}
				send "{@p} %{_Msg}%"
				stop

			if {CmdConfirm::%arg-1%} is true:
				set {CmdConfirm::%arg-1%} to false
				set {_Msg} to "{@DisabledMsg}"
				replace all "[target]" with "%arg-1%" in {_Msg}
				send "{@p} %{_Msg}%"
				stop



on command:
	if {CmdConfirm::%player%} is true:
		if {exempt.%player%} is not set:
			if player has permission "{@ExemptPerm}":
				if command != {@ExemptedCmds}:
					open chest with 3 rows named "{@GUIName}" to player
					format slot 4 of player with 1 of yellow stained glass pane named "&aCommand: &e/%full command%" to be unstealable
					format slot 9 of player with 1 of gray stained glass pane named "&7" to be unstealable
					format slot 10 of player with 1 of gray stained glass pane named "&7" to be unstealable
					format slot 11 of player with 1 of gray stained glass pane named "&7" to be unstealable
					format slot 12 of player with 1 of light green stained glass pane named "{@ConfirmItemName}" to close then run [set {exempt.%player%} to true]->[make player execute command "/%full command%"]->[clear {exempt.%player%}]
					format slot 13 of player with 1 of gray stained glass pane named "&7" to be unstealable
					format slot 14 of player with 1 of red stained glass pane named "{@DenyItemName}" to close then run [send "{@p} {@DenyMsg}" to player]
					format slot 15 of player with 1 of gray stained glass pane named "&7" to be unstealable
					format slot 16 of player with 1 of gray stained glass pane named "&7" to be unstealable
					format slot 17 of player with 1 of gray stained glass pane named "&7" to be unstealable
					set {_Ex} to "{@ExtraMsg}"
					replace all "[cmd]" with "{@CmdName}" in {_Ex}
					format slot 22 of player with 1 of purple stained glass pane named "%{_Ex}%" to be unstealable
					cancel event

			if player doesn't have permission "{@ExemptPerm}":
				open chest with 3 rows named "{@GUIName}" to player
				format slot 4 of player with 1 of yellow stained glass pane named "&aCommand: &e/%full command%" to be unstealable
				format slot 9 of player with 1 of gray stained glass pane named "&7" to be unstealable
				format slot 10 of player with 1 of gray stained glass pane named "&7" to be unstealable
				format slot 11 of player with 1 of gray stained glass pane named "&7" to be unstealable
				format slot 12 of player with 1 of light green stained glass pane named "{@ConfirmItemName}" to close then run [set {exempt.%player%} to true]->[make player execute command "/%full command%"]->[clear {exempt.%player%}]
				format slot 13 of player with 1 of gray stained glass pane named "&7" to be unstealable
				format slot 14 of player with 1 of red stained glass pane named "{@DenyItemName}" to close then run [send "{@p} {@DenyMsg}" to player]
				format slot 15 of player with 1 of gray stained glass pane named "&7" to be unstealable
				format slot 16 of player with 1 of gray stained glass pane named "&7" to be unstealable
				format slot 17 of player with 1 of gray stained glass pane named "&7" to be unstealable
				set {_Ex} to "{@ExtraMsg}"
				replace all "[cmd]" with "{@CmdName}" in {_Ex}
				format slot 22 of player with 1 of purple stained glass pane named "%{_Ex}%" to be unstealable
				cancel event





# !-------!
# 
# <> End of CODE
# By Ayham Al-Ali <>
# 
# !-------!